def __pre_selection_changed(self, view, event, fs, nb): if self.__save: resp = qltk.CancelRevertSave(self).run() if resp == gtk.RESPONSE_YES: self.__save.clicked() elif resp == gtk.RESPONSE_NO: FileSelector.rescan(fs) else: nb.grab_focus() return True # cancel or closed
class TFileSelector(TestCase): def setUp(self): quodlibet.config.init() self.ROOTS = [mkdtemp(), mkdtemp()] self.INITIAL = self.ROOTS[0] self.PATHS = [ os.path.join(self.ROOTS[0], "a"), os.path.join(self.ROOTS[0], "b"), ] for path in self.PATHS: open(path, "wb").close() self.fs = FileSelector( initial=self.INITIAL, filter=(lambda s: s in self.PATHS), folders=self.ROOTS) self.fs.connect('changed', self._changed) self.files = None self.fs.rescan() def tearDown(self): self.fs.destroy() quodlibet.config.quit() for file_ in self.PATHS: os.unlink(file_) for dir_ in self.ROOTS: os.rmdir(dir_) def _changed(self, fs, selection): self.selection = selection self.files = fs.get_selected_paths() self.files.sort() def test_select(self): expected = self.PATHS expected.sort() self.selection.select_all() self.assertEqual(self.files, expected) def test_select_rescan(self): expected = self.PATHS expected.sort() self.selection.select_all() self.assertEqual(self.files, expected) files_prev = self.fs.get_selected_paths() self.fs.rescan() self.assertEqual(self.files, expected) self.assertEqual(self.files, files_prev) def test_main(self): MainFileSelector()
class TFileSelector(TestCase): def setUp(self): quodlibet.config.init() self.ROOTS = [mkdtemp(), mkdtemp()] self.INITIAL = self.ROOTS[0] self.PATHS = [ os.path.join(self.ROOTS[0], "a"), os.path.join(self.ROOTS[0], "b"), ] for path in self.PATHS: open(path, "wb").close() self.fs = FileSelector(initial=self.INITIAL, filter=(lambda s: s in self.PATHS), folders=self.ROOTS) self.fs.connect('changed', self._changed) self.files = None self.fs.rescan() def tearDown(self): self.fs.destroy() quodlibet.config.quit() for file_ in self.PATHS: os.unlink(file_) for dir_ in self.ROOTS: os.rmdir(dir_) def _changed(self, fs, selection): self.selection = selection self.files = fs.get_selected_paths() self.files.sort() def test_select(self): expected = self.PATHS expected.sort() self.selection.select_all() self.assertEqual(self.files, expected) def test_select_rescan(self): expected = self.PATHS expected.sort() self.selection.select_all() self.assertEqual(self.files, expected) files_prev = self.fs.get_selected_paths() self.fs.rescan() self.assertEqual(self.files, expected) self.assertEqual(self.files, files_prev) def test_main(self): MainFileSelector()
def setUp(self): quodlibet.config.init() self.ROOTS = [mkdtemp(), mkdtemp()] self.INITIAL = self.ROOTS[0] self.PATHS = [ os.path.join(self.ROOTS[0], "a"), os.path.join(self.ROOTS[0], "b"), ] for path in self.PATHS: open(path, "wb").close() self.fs = FileSelector(initial=self.INITIAL, filter=(lambda s: s in self.PATHS), folders=self.ROOTS) self.fs.connect('changed', self._changed) self.files = None self.fs.rescan()
class TFileSelector(TestCase): def setUp(self): quodlibet.config.init() self.fs = FileSelector(initial="/dev", filter=(lambda s: s in ["/dev/null", "/dev/zero"])) self.fs.connect("changed", self.changed) self.expected = [] self.fs.rescan() def changed(self, fs, selection): self.selection = selection model, rows = selection.get_selected_rows() files = [model[row][0] for row in rows] files.sort() self.expected.sort() self.assertEqual(files, self.expected) self.expected = None def test_select(self): self.expected = ["/dev/null", "/dev/zero"] self.selection.select_all() self.failUnless(self.expected is None) def tearDown(self): self.fs.destroy() quodlibet.config.quit()
def setUp(self): quodlibet.config.init() self.ROOTS = [mkdtemp(), mkdtemp()] self.INITIAL = self.ROOTS[0] self.PATHS = [ os.path.join(self.ROOTS[0], "a"), os.path.join(self.ROOTS[0], "b"), ] for path in self.PATHS: open(path, "wb").close() self.fs = FileSelector( initial=self.INITIAL, filter=(lambda s: s in self.PATHS), folders=self.ROOTS) self.fs.connect('changed', self._changed) self.files = None self.fs.rescan()
def setUp(self): quodlibet.config.init() self.fs = FileSelector(initial="/dev", filter=(lambda s: s in ["/dev/null", "/dev/zero"])) self.fs.connect("changed", self.changed) self.expected = [] self.fs.rescan()
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)