def on_window_state_changed(self, window, event): """ Callback of the def "window-state-event" Needed to handle maximize/demaximize of the window """ fm = FileManager() window_sizing = fm.get_window_sizing() if event.new_window_state & gtk.gdk.WINDOW_STATE_MAXIMIZED: Log.log.debug('UrTSB Window maximized') window_sizing.maximized = True else: Log.log.debug('UrTSB Window not maximized') window_sizing.maximized = False
def do_configure_event(self, event): """ overrides the default do_configure_event method handles window move and resize and stores this information """ fm = FileManager() window_sizing = fm.get_window_sizing() window_sizing.width = event.width window_sizing.height = event.height window_sizing.x = event.x window_sizing.y = event.y Log.log.debug('Window: size = ' + str(window_sizing.width) + 'x' + str(window_sizing.height) + ' position = ' + str(window_sizing.x) + ', ' + str(window_sizing.y)) gtk.Window.do_configure_event(self, event)
def __init__(self): """ Constructor. Creating and inititializing the main window of UrTSB. """ gtk.Window.__init__(self) Window.instance = self #window creation and basic window settings fm = FileManager() window_sizing = fm.get_window_sizing() gc = GuiController() self.set_title(gc.appname + ' v.' + gc.appver + ' - ' + gc.appdesc) self.set_icon_from_file(Globals.icon_dir + '/logo.png') if window_sizing.maximized: self.maximize() else: self.unmaximize() self.set_default_size(window_sizing.width, window_sizing.height) if None == window_sizing.x and None == window_sizing.y: self.set_position(gtk.WIN_POS_CENTER) else: self.move(window_sizing.x, window_sizing.y) self.connect('destroy', gtk.main_quit) # add a VBox that will contain the main notebookpane and a statusbar mainbox = gtk.VBox() self.add(mainbox) # the notebook - tabs will be serverlist, favorites, # recent servers and settings self.notebook = gtk.Notebook() self.notebook.set_border_width(2) mainbox.pack_start(self.notebook) self.notebook.connect('switch-page', self.on_tab_change) # add the serverlist tab self.serverlisttab = ServerTab() srvlabel = gtk.Label('Serverlist') self.notebook.append_page(self.serverlisttab, srvlabel) # add the favorites tab self.favoritestab = FavoritesTab() favlabel = gtk.Label('Favorites') self.notebook.append_page(self.favoritestab, favlabel) # add the recently played tab self.recenttab = RecentTab() recentlabel = gtk.Label('Recently Played') self.notebook.append_page(self.recenttab, recentlabel) # add the buddies tab self.buddiestab = BuddiesTab() buddieslabel = gtk.Label('Buddies') self.notebook.append_page(self.buddiestab, buddieslabel) # add the settings tab self.settingsstab = SettingsTab() settingslabel = gtk.Label('Settings') self.notebook.append_page(self.settingsstab, settingslabel) #set default tab fm = FileManager() config = fm.getConfiguration() defaulttab = int(config[cfgkey.OPT_DEFAULT_TAB]) #this variable is used to dertermine if the tabswitch is the first #after application start self.first_switch = True self.notebook.set_current_page(defaulttab) #connect key press event to be able to create keyboard shortcuts self.connect('key-press-event', self.on_key_pressed_event) #connect window-state-event to handle maximize/demaximize self.connect('window-state-event', self.on_window_state_changed) self.show_all()
def __init__(self): """ Constructor. Creating and inititializing the main window of UrTSB. """ gtk.Window.__init__(self) Window.instance = self #window creation and basic window settings fm = FileManager() window_sizing = fm.get_window_sizing() gc = GuiController() self.set_title(gc.appname + ' v.' + gc.appver + ' - ' + gc.appdesc) self.set_icon_from_file(Globals.icon_dir +'/logo.png') if window_sizing.maximized: self.maximize() else: self.unmaximize() self.set_default_size(window_sizing.width, window_sizing.height) if None == window_sizing.x and None == window_sizing.y: self.set_position(gtk.WIN_POS_CENTER) else: self.move(window_sizing.x, window_sizing.y) self.connect('destroy', gtk.main_quit) # add a VBox that will contain the main notebookpane and a statusbar mainbox = gtk.VBox() self.add(mainbox) # the notebook - tabs will be serverlist, favorites, # recent servers and settings self.notebook= gtk.Notebook() self.notebook.set_border_width(2) mainbox.pack_start(self.notebook) self.notebook.connect('switch-page', self.on_tab_change) # add the serverlist tab self.serverlisttab = ServerTab() srvlabel = gtk.Label('Serverlist') self.notebook.append_page(self.serverlisttab, srvlabel) # add the favorites tab self.favoritestab = FavoritesTab() favlabel = gtk.Label('Favorites') self.notebook.append_page(self.favoritestab, favlabel) # add the recently played tab self.recenttab = RecentTab() recentlabel = gtk.Label('Recently Played') self.notebook.append_page(self.recenttab, recentlabel) # add the buddies tab self.buddiestab = BuddiesTab() buddieslabel = gtk.Label('Buddies') self.notebook.append_page(self.buddiestab, buddieslabel) # add the settings tab self.settingsstab = SettingsTab() settingslabel = gtk.Label('Settings') self.notebook.append_page(self.settingsstab, settingslabel) #set default tab fm = FileManager() config = fm.getConfiguration() defaulttab = int(config[cfgkey.OPT_DEFAULT_TAB]) #this variable is used to dertermine if the tabswitch is the first #after application start self.first_switch = True self.notebook.set_current_page(defaulttab) #connect key press event to be able to create keyboard shortcuts self.connect('key-press-event', self.on_key_pressed_event) #connect window-state-event to handle maximize/demaximize self.connect('window-state-event', self.on_window_state_changed) self.show_all()