def __init__(self, handler, main_window=None): """ constructor handler -- a e3common.Handler.TrayIconHandler object """ gtk.Menu.__init__(self) self.handler = handler StatusMenu = extension.get_default("menu status") self.status = gtk.ImageMenuItem(_("Status")) self.status.set_image(gtk.image_new_from_stock(gtk.STOCK_CONVERT, gtk.ICON_SIZE_MENU)) self.status_menu = StatusMenu(handler.on_status_selected) self.status.set_submenu(self.status_menu) self.list = gtk.ImageMenuItem(_("Contacts")) self.list.set_image(utils.safe_gtk_image_load(gui.theme.image_theme.chat)) self.list_contacts = ContactsMenu(handler, main_window) self.list.set_submenu(self.list_contacts) self.hide_show_mainwindow = gtk.MenuItem(_("Hide/Show emesene")) self.hide_show_mainwindow.connect("activate", lambda *args: self.handler.on_hide_show_mainwindow(main_window)) self.disconnect = gtk.ImageMenuItem(gtk.STOCK_DISCONNECT) self.disconnect.connect("activate", lambda *args: self.handler.on_disconnect_selected()) self.quit = gtk.ImageMenuItem(gtk.STOCK_QUIT) self.quit.connect("activate", lambda *args: self.handler.on_quit_selected()) self.append(self.hide_show_mainwindow) self.append(self.status) self.append(self.list) self.append(self.disconnect) self.append(gtk.SeparatorMenuItem()) self.append(self.quit)
def __init__(self, handler, main_window=None): """ constructor handler -- a e3common.Handler.TrayIconHandler object """ gtk.Menu.__init__(self) self.handler = handler StatusMenu = extension.get_default('menu status') self.status = gtk.ImageMenuItem(_('Status')) self.status.set_image(gtk.image_new_from_stock(gtk.STOCK_CONVERT, gtk.ICON_SIZE_MENU)) self.status_menu = StatusMenu(handler.on_status_selected) self.status.set_submenu(self.status_menu) self.list = gtk.ImageMenuItem(_('Contacts')) self.list.set_image(utils.safe_gtk_image_load(gui.theme.image_theme.chat)) self.list_contacts = ContactsMenu(handler, main_window) self.list.set_submenu(self.list_contacts) self.hide_show_mainwindow = gtk.MenuItem(_('Hide/Show emesene')) self.hide_show_mainwindow.connect('activate', lambda *args: self.handler.on_hide_show_mainwindow(main_window)) self.disconnect = gtk.ImageMenuItem(gtk.STOCK_DISCONNECT) self.disconnect.connect('activate', lambda *args: self.handler.on_disconnect_selected()) self.quit = gtk.ImageMenuItem(gtk.STOCK_QUIT) self.quit.connect('activate', lambda *args: self.handler.on_quit_selected()) self.preferences = gtk.ImageMenuItem(gtk.STOCK_PREFERENCES) self.preferences.connect('activate', lambda *args: self.handler.on_preferences_selected()) self.unmute_label = _('Unmute sounds') self.unmute_stock = gtk.STOCK_MEDIA_PLAY self.mute_label = _('Mute sounds') self.mute_stock = gtk.STOCK_MEDIA_STOP self.mute = gtk.ImageMenuItem() self._on_b_mute_sounds_changed() self.handler.session.config.subscribe(self._on_b_mute_sounds_changed, 'b_mute_sounds') self.mute.connect('activate', self._on_mute_unmute_sounds) self.append(self.hide_show_mainwindow) self.append(self.mute) if self.handler.session.session_has_service(e3.Session.SERVICE_STATUS): self.append(self.status) self.append(self.list) self.append(self.disconnect) self.append(self.preferences) self.append(gtk.SeparatorMenuItem()) self.append(self.quit)
def __init__(self, handler, main_window=None): """ constructor handler -- a e3common.Handler.TrayIconHandler object """ gtk.Menu.__init__(self) self.handler = handler self.status = gtk.ImageMenuItem(_('Status')) self.status.set_image( gtk.image_new_from_stock(gtk.STOCK_CONVERT, gtk.ICON_SIZE_MENU)) self.status_menu = StatusMenu.StatusMenu(handler.on_status_selected) self.status.set_submenu(self.status_menu) self.list = gtk.ImageMenuItem(_('Contacts')) self.list.set_image( utils.safe_gtk_image_load(gui.theme.image_theme.chat)) self.list_contacts = ContactsMenu(handler, main_window) self.list.set_submenu(self.list_contacts) self.hide_show_mainwindow = gtk.MenuItem(_('Hide/Show emesene')) self.hide_show_mainwindow.connect( 'activate', lambda *args: self.handler.on_hide_show_mainwindow(main_window)) self.disconnect = gtk.ImageMenuItem(gtk.STOCK_DISCONNECT) self.disconnect.connect( 'activate', lambda *args: self.handler.on_disconnect_selected()) self.quit = gtk.ImageMenuItem(gtk.STOCK_QUIT) self.quit.connect('activate', lambda *args: self.handler.on_quit_selected()) self.preferences = gtk.ImageMenuItem(gtk.STOCK_PREFERENCES) self.preferences.connect( 'activate', lambda *args: self.handler.on_preferences_selected()) self.unmute_label = _('Unmute sounds') self.unmute_stock = gtk.STOCK_MEDIA_PLAY self.mute_label = _('Mute sounds') self.mute_stock = gtk.STOCK_MEDIA_STOP self.mute = gtk.ImageMenuItem() self._on_b_mute_sounds_changed() self.handler.session.config.subscribe(self._on_b_mute_sounds_changed, 'b_mute_sounds') self.mute.connect('activate', self._on_mute_unmute_sounds) self.append(self.hide_show_mainwindow) self.append(self.mute) if self.handler.session.session_has_service(e3.Session.SERVICE_STATUS): self.append(self.status) self.append(self.list) self.append(self.disconnect) self.append(self.preferences) self.append(gtk.SeparatorMenuItem()) self.append(self.quit)
def __init__(self, callback, player_name, config_table): '''constructor, callback is a function that receives a boolean as first argument with the value True if ok was clicked and False otherwise, the rest of the arguments are the values collected during configuration ''' gtk.Window.__init__(self) self.config_table = config_table self.callback = callback self.set_border_width(2) self.set_title(player_name + " preferences") if hasattr(gui.theme, "image_theme"): logo = gui.theme.image_theme.logo else: logo = gui.theme.logo self.set_icon( utils.safe_gtk_image_load(logo).get_pixbuf()) self.set_default_size(300, 150) self.set_role("New preferences Window") self.set_type_hint(gtk.gdk.WINDOW_TYPE_HINT_DIALOG) vbox = gtk.VBox() buttons = gtk.HButtonBox() buttons.set_layout(gtk.BUTTONBOX_END) accept = gtk.Button(stock=gtk.STOCK_OK) cancel = gtk.Button(stock=gtk.STOCK_CANCEL) buttons.pack_start(accept) buttons.pack_start(cancel) accept.connect('clicked', self._on_accept) cancel.connect('clicked', self._on_cancel) self.connect('delete_event', self._on_close) vbox.pack_start(self.config_table, True, False) separator = gtk.HSeparator() vbox.pack_start(separator, False, True, 5) vbox.pack_start(buttons, True) vbox.show_all() self.add(vbox)
def __init__(self, callback, player_name, config_table): '''constructor, callback is a function that receives a boolean as first argument with the value True if ok was clicked and False otherwise, the rest of the arguments are the values collected during configuration ''' gtk.Window.__init__(self) self.config_table = config_table self.callback = callback self.set_border_width(2) self.set_title(player_name + " preferences") if hasattr(gui.theme, "image_theme"): logo = gui.theme.image_theme.logo else: logo = gui.theme.logo self.set_icon(utils.safe_gtk_image_load(logo).get_pixbuf()) self.set_default_size(300, 150) self.set_role("New preferences Window") self.set_type_hint(gtk.gdk.WINDOW_TYPE_HINT_DIALOG) vbox = gtk.VBox() buttons = gtk.HButtonBox() buttons.set_layout(gtk.BUTTONBOX_END) accept = gtk.Button(stock=gtk.STOCK_OK) cancel = gtk.Button(stock=gtk.STOCK_CANCEL) buttons.pack_start(accept) buttons.pack_start(cancel) accept.connect('clicked', self._on_accept) cancel.connect('clicked', self._on_cancel) self.connect('delete_event', self._on_close) vbox.pack_start(self.config_table, True, False) separator = gtk.HSeparator() vbox.pack_start(separator, False, True, 5) vbox.pack_start(buttons, True) vbox.show_all() self.add(vbox)
def __init__(self, callback, player, format): '''constructor, callback is a function that receives a boolean as first argument with the value True if ok was clicked and False otherwise, the rest of the arguments are the values collected during configuration ''' gtk.Window.__init__(self) self.callback = callback self.set_border_width(2) self.set_title("Preferences") self.set_icon( utils.safe_gtk_image_load(gui.theme.logo).get_pixbuf()) self.set_default_size(300, 150) self.set_role("New preferences Window") self.set_type_hint(gtk.gdk.WINDOW_TYPE_HINT_DIALOG) vbox = gtk.VBox() table = gtk.Table(2, 2) table.set_row_spacings(4) table.set_col_spacings(4) label = gtk.Label("player") label.set_alignment(0.0, 0.5) table.attach(label, 0, 1, 0, 1) self.combo = gtk.combo_box_new_text() active = 0 count = 0 for name in songretriever.get_handler_names(): if name == player: active = count self.combo.append_text(name) count += 1 self.combo.set_active(active) table.attach(self.combo, 1, 2, 0, 1) label = gtk.Label("format") label.set_alignment(0.0, 0.5) table.attach(label, 0, 1, 1, 2) self.entry = gtk.Entry() self.entry.set_text(format) table.attach(self.entry, 1, 2, 1, 2) buttons = gtk.HButtonBox() buttons.set_layout(gtk.BUTTONBOX_END) accept = gtk.Button(stock=gtk.STOCK_OK) cancel = gtk.Button(stock=gtk.STOCK_CANCEL) buttons.pack_start(accept) buttons.pack_start(cancel) accept.connect('clicked', self._on_accept) cancel.connect('clicked', self._on_cancel) self.connect('delete_event', self._on_close) vbox.pack_start(table, True, False) vbox.pack_start(buttons, True) vbox.show_all() self.add(vbox)