def __init__(self, library, dir=None): super(ExFalsoWindow, self).__init__() self.set_title("Ex Falso") self.set_default_size(650, 475) self.enable_window_tracking("exfalso") self.__library = library hp = gtk.HPaned() hp.set_border_width(0) hp.set_position(250) hp.show() self.add(hp) vb = gtk.VBox() bbox = gtk.HBox(spacing=6) about = gtk.Button() about.add(gtk.image_new_from_stock( gtk.STOCK_ABOUT, gtk.ICON_SIZE_BUTTON)) about.connect_object('clicked', self.__show_about, self) bbox.pack_start(about, expand=False) prefs = gtk.Button() prefs.add(gtk.image_new_from_stock( gtk.STOCK_PREFERENCES, gtk.ICON_SIZE_BUTTON)) prefs.connect_object('clicked', PreferencesWindow, self) bbox.pack_start(prefs, expand=False) plugins = qltk.Button(_("_Plugins"), gtk.STOCK_EXECUTE) plugins.connect_object('clicked', PluginWindow, self) bbox.pack_start(plugins, expand=False) l = gtk.Label() l.set_alignment(1.0, 0.5) l.set_ellipsize(pango.ELLIPSIZE_END) bbox.pack_start(l) fs = FileSelector(dir) vb.pack_start(fs) vb.pack_start(Alignment(bbox, border=6), expand=False) vb.show_all() hp.pack1(vb, resize=True, shrink=False) nb = qltk.Notebook() nb.show() for Page in [EditTags, TagsFromPath, RenameFiles, TrackNumbers]: nb.append_page(Page(self, self.__library)) align = Alignment(nb, top=3) align.show() hp.pack2(align, resize=True, shrink=False) fs.connect('changed', self.__changed, l) s = self.__library.connect_object('changed', FileSelector.rescan, fs) self.connect_object('destroy', self.__library.disconnect, s) self.__save = None self.connect_object('changed', self.set_pending, None) for c in fs.get_children(): c.child.connect('button-press-event', self.__pre_selection_changed, fs, nb) c.child.connect('focus', self.__pre_selection_changed, fs, nb) fs.get_children()[1].child.connect('popup-menu', self.__popup_menu, fs) self.emit('changed', []) self.child.show() self.__ag = gtk.AccelGroup() key, mod = gtk.accelerator_parse("<control>Q") self.__ag.connect_group(key, mod, 0, lambda *x: self.destroy()) self.add_accel_group(self.__ag)