Save window size and position on close
And Remove some extraneous references.
This commit is contained in:
parent
a77591dfa7
commit
5ffdaca762
@ -27,11 +27,29 @@ class Main extends GtkWindow {
|
|||||||
public function __construct()
|
public function __construct()
|
||||||
{
|
{
|
||||||
parent::__construct();
|
parent::__construct();
|
||||||
|
|
||||||
//Resize to a sane size
|
|
||||||
$this->set_size_request(640, 480);
|
|
||||||
|
|
||||||
$this->set_position(Gtk::WIN_POS_CENTER);
|
$this->settings =& Settings::get_instance();
|
||||||
|
|
||||||
|
|
||||||
|
if ( ! is_null($this->settings->width) && ! is_null($this->settings->height))
|
||||||
|
{
|
||||||
|
//Resize to the last size
|
||||||
|
$this->set_size_request($this->settings->width, $this->settings->height);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//Resize to a sane size
|
||||||
|
$this->set_size_request(640, 480);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (! is_null($this->settings->position))
|
||||||
|
{
|
||||||
|
$this->move($this->settings->position[0], $this->settings->position[1]);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$this->set_position(Gtk::WIN_POS_CENTER);
|
||||||
|
}
|
||||||
|
|
||||||
//Layout the interface
|
//Layout the interface
|
||||||
$this->_main_layout();
|
$this->_main_layout();
|
||||||
@ -39,6 +57,26 @@ class Main extends GtkWindow {
|
|||||||
|
|
||||||
// --------------------------------------------------------------------------
|
// --------------------------------------------------------------------------
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Some cleanup for when the main window is closed
|
||||||
|
*/
|
||||||
|
public function __destruct()
|
||||||
|
{
|
||||||
|
// Save the Window position
|
||||||
|
$this->settings->position = $this->get_position();
|
||||||
|
|
||||||
|
list($width, $height) = $this->get_size();
|
||||||
|
|
||||||
|
// Save the Window hegiht
|
||||||
|
$this->settings->height = $height;
|
||||||
|
|
||||||
|
// Save the Window width
|
||||||
|
$this->settings->width = $width;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// --------------------------------------------------------------------------
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Display About menu with version information
|
* Display About menu with version information
|
||||||
*/
|
*/
|
||||||
|
@ -64,7 +64,7 @@ class Connection_Sidebar extends GtkVBox {
|
|||||||
$this->_render();
|
$this->_render();
|
||||||
|
|
||||||
// Set up context menu event
|
// Set up context menu event
|
||||||
$this->treeview->connect('button-press-event', array(&$this, 'on_button'));
|
$this->treeview->connect('button-press-event', array($this, 'on_button'));
|
||||||
|
|
||||||
|
|
||||||
$selection = $this->treeview->get_selection();
|
$selection = $this->treeview->get_selection();
|
||||||
@ -102,11 +102,11 @@ class Connection_Sidebar extends GtkVBox {
|
|||||||
|
|
||||||
// Icon column
|
// Icon column
|
||||||
$cell_renderer = new GtkCellRendererPixbuf();
|
$cell_renderer = new GtkCellRendererPixbuf();
|
||||||
$this->treeview->insert_column_with_data_func(0, 'Type', $cell_renderer, array(&$this, 'set_icon'));
|
$this->treeview->insert_column_with_data_func(0, 'Type', $cell_renderer, array($this, 'set_icon'));
|
||||||
|
|
||||||
// Label column
|
// Label column
|
||||||
$cell_renderer = new GtkCellRendererText();
|
$cell_renderer = new GtkCellRendererText();
|
||||||
$this->treeview->insert_column_with_data_func(1, 'Connection name', $cell_renderer, array(&$this, 'set_label'));
|
$this->treeview->insert_column_with_data_func(1, 'Connection name', $cell_renderer, array($this, 'set_label'));
|
||||||
}
|
}
|
||||||
|
|
||||||
// --------------------------------------------------------------------------
|
// --------------------------------------------------------------------------
|
||||||
@ -187,7 +187,9 @@ class Connection_Sidebar extends GtkVBox {
|
|||||||
if ($event->button == 3)
|
if ($event->button == 3)
|
||||||
{
|
{
|
||||||
// get the row and column
|
// get the row and column
|
||||||
list($path_array, $col, $x, $y)= $view->get_path_at_pos($event->x, $event->y);
|
$path_array = $view->get_path_at_pos($event->x, $event->y);
|
||||||
|
$path = $path_array[0][0];
|
||||||
|
$col = $path_array[1];
|
||||||
|
|
||||||
// Don't try to get values for an item that doesn't exist. Instead, return,
|
// Don't try to get values for an item that doesn't exist. Instead, return,
|
||||||
// so that the program doesn't crash because someone thought it funny
|
// so that the program doesn't crash because someone thought it funny
|
||||||
@ -196,13 +198,9 @@ class Connection_Sidebar extends GtkVBox {
|
|||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
$path = $path_array[0];
|
|
||||||
//$col = $path_array[1];
|
|
||||||
$col_title = $col->get_title();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->menu = $this->conn_popup_menu($path, $col_title, $event);
|
$this->menu = $this->conn_popup_menu($path, $event, $col, $path_array);
|
||||||
}
|
}
|
||||||
|
|
||||||
// --------------------------------------------------------------------------
|
// --------------------------------------------------------------------------
|
||||||
@ -211,11 +209,10 @@ class Connection_Sidebar extends GtkVBox {
|
|||||||
* Creates and displays a context menu for the selected connection
|
* Creates and displays a context menu for the selected connection
|
||||||
*
|
*
|
||||||
* @param array $pos
|
* @param array $pos
|
||||||
* @param string $title
|
|
||||||
* @param object $event
|
* @param object $event
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function conn_popup_menu($pos, $title, $event)
|
public function conn_popup_menu($pos, $event, $col, $all)
|
||||||
{
|
{
|
||||||
$this->menu = new GtkMenu();
|
$this->menu = new GtkMenu();
|
||||||
|
|
||||||
@ -223,7 +220,7 @@ class Connection_Sidebar extends GtkVBox {
|
|||||||
{
|
{
|
||||||
$remove = new GtkImageMenuItem('Delete Connection');
|
$remove = new GtkImageMenuItem('Delete Connection');
|
||||||
$remove->set_image(GtkImage::new_from_stock(GTK::STOCK_CANCEL, Gtk::ICON_SIZE_MENU));
|
$remove->set_image(GtkImage::new_from_stock(GTK::STOCK_CANCEL, Gtk::ICON_SIZE_MENU));
|
||||||
$remove->connect_simple('activate', array($this, 'remove_connection'));
|
$remove->connect_simple('activate', array($this, 'remove_connection'), $all);
|
||||||
|
|
||||||
$this->menu->append($remove);
|
$this->menu->append($remove);
|
||||||
}
|
}
|
||||||
@ -240,7 +237,7 @@ class Connection_Sidebar extends GtkVBox {
|
|||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function remove_connection()
|
public function remove_connection($col)
|
||||||
{
|
{
|
||||||
//@todo implement
|
//@todo implement
|
||||||
$model = $this->treeview->get_model();
|
$model = $this->treeview->get_model();
|
||||||
|
Reference in New Issue
Block a user