def __init__(self, controls): gtk.HBox.__init__(self, False, 0) FControl.__init__(self, controls) self.entry = gtk.Entry() self.entry.connect("key-release-event", self.on_key_press) self.search_func = self.controls.filter_by_file file_search = ToggleImageButton(gtk.STOCK_FILE, func=self.set_search_by, param=self.controls.filter_by_file) file_search.set_tooltip_text(_("File search")) file_search.set_active(True) folder_search = ToggleImageButton(gtk.STOCK_DIRECTORY, func=self.set_search_by, param=self.controls.filter_by_folder) folder_search.set_tooltip_text(_("Folder search")) self.list = [file_search, folder_search] OneActiveToggledButton(self.list) """search button""" search = tab_close_button(func=self.on_filter, stock=gtk.STOCK_FIND) self.pack_start(file_search, False, False) self.pack_start(folder_search, False, False) self.pack_start(self.entry, True, True) self.pack_start(search, False, False)
def __init__(self, filterabe): Gtk.Box.__init__(self, orientation=Gtk.Orientation.HORIZONTAL, spacing=0) LoadSave.__init__(self) assert isinstance(filterabe, Filterable) self.entry = Gtk.Entry() self.entry.connect("key-release-event", self.on_key_press) self.search_func = filterabe.filter_by_file file_search = ToggleImageButton("document-new", func=self.set_search_by, param=filterabe.filter_by_file) file_search.set_tooltip_text(_("File search")) file_search.set_active(True) folder_search = ToggleImageButton("folder", func=self.set_search_by, param=filterabe.filter_by_folder) folder_search.set_tooltip_text(_("Folder search")) self.list = [file_search, folder_search] OneActiveToggledButton(self.list) """search button""" search = tab_close_button(func=self.on_filter, stock="edit-find") self.pack_start(file_search, False, False, 0) self.pack_start(folder_search, False, False, 0) self.pack_start(self.entry, True, True, 0) self.pack_start(search, False, False, 0)
def __init__(self, filterabe): Gtk.HBox.__init__(self, False, 0) LoadSave.__init__(self) assert isinstance(filterabe, Filterable) self.entry = Gtk.Entry() self.entry.connect("key-release-event", self.on_key_press) self.search_func = filterabe.filter_by_file file_search = ToggleImageButton(Gtk.STOCK_FILE, func=self.set_search_by, param=filterabe.filter_by_file) file_search.set_tooltip_text(_("File search")) file_search.set_active(True) folder_search = ToggleImageButton(Gtk.STOCK_DIRECTORY, func=self.set_search_by, param=filterabe.filter_by_folder) folder_search.set_tooltip_text(_("Folder search")) self.list = [file_search, folder_search] OneActiveToggledButton(self.list) """search button""" search = tab_close_button(func=self.on_filter, stock=Gtk.STOCK_FIND) self.pack_start(file_search, False, False, 0) self.pack_start(folder_search, False, False, 0) self.pack_start(self.entry, True, True, 0) self.pack_start(search, False, False, 0)
class OrderShuffleControls_ZAVLAB(FControl, Gtk.HBox, LoadSave): def __init__(self, controls): Gtk.HBox.__init__(self, False) self.order = ToggleImageButton("edit-redo", size=Gtk.IconSize.BUTTON) self.order.connect("button-press-event", self.on_order) self.pack_start(self.order, False, False, 0) self.repeat = ToggleImageButton("view-refresh", size=Gtk.IconSize.BUTTON) self.repeat.connect("button-press-event", self.choise) try: self.order.set_has_tooltip(True) self.repeat.set_has_tooltip(True) except: pass self.pack_start(self.repeat, False, False, 0) self.menu = Gtk.Menu() self.item_all = Gtk.CheckMenuItem(_("Repeat all")) self.item_all.connect("button-press-event", self.on_repeat) self.menu.append(self.item_all) self.item_single = Gtk.CheckMenuItem(_("Repeat single")) self.item_single.connect("button-press-event", lambda item, *a: self.on_repeat(item, False)) self.menu.append(self.item_single) def choise(self, widget, event): self.menu.popup(None, None, None, None, event.button, event.time) self.menu.show_all() def on_load(self): if FC().is_order_random: self.order.set_active(True) self.order.set_tooltip_text(_("Shuffle on")) else: self.order.set_active(False) self.order.set_tooltip_text(_("Shuffle off")) if FC().repeat_state == const.REPEAT_ALL: self.repeat.set_active(True) self.repeat.set_tooltip_text(_("Repeat all")) self.item_all.set_active(True) elif FC().repeat_state == const.REPEAT_SINGLE: self.repeat.set_active(True) self.repeat.set_tooltip_text(_("Repeat single")) self.item_single.set_active(True) else: self.repeat.set_active(False) self.repeat.set_tooltip_text(_("Repeat off")) def on_order(self, *a): FC().is_order_random = not FC().is_order_random if FC().is_order_random: self.order.set_tooltip_text(_("Shuffle on")) else: self.order.set_tooltip_text(_("Shuffle off")) def on_repeat(self, item, all=True): is_active = item.get_active() for menu_item in self.menu: menu_item.set_active(False) if all: if not is_active: FC().repeat_state = const.REPEAT_ALL self.repeat.set_tooltip_text(_("Repeat all")) self.repeat.set_active(True) else: FC().repeat_state = const.REPEAT_NO item.set_active(True) #because signal "toggled" will change the value to the opposite self.repeat.set_active(False) elif not all: if not is_active: FC().repeat_state = const.REPEAT_SINGLE self.repeat.set_tooltip_text(_("Repeat single")) self.repeat.set_active(True) else: FC().repeat_state = const.REPEAT_NO item.set_active(True) #because signal "toggled" will change the value to the opposite self.repeat.set_active(False) def on_save(self): pass
class OrderShuffleControls_ZAVLAB(FControl, Gtk.Box, LoadSave): def __init__(self, controls): Gtk.Box.__init__(self, orientation=Gtk.Orientation.HORIZONTAL, spacing=0) self.order = ToggleImageButton("edit-redo", size=Gtk.IconSize.BUTTON) self.order.connect("button-press-event", self.on_order) self.pack_start(self.order, False, False, 0) self.repeat = ToggleImageButton("view-refresh", size=Gtk.IconSize.BUTTON) self.repeat.connect("button-press-event", self.choise) try: self.order.set_has_tooltip(True) self.repeat.set_has_tooltip(True) except: pass self.pack_start(self.repeat, False, False, 0) self.menu = Gtk.Menu() self.item_all = Gtk.CheckMenuItem(_("Repeat all")) self.item_all.connect("button-press-event", self.on_repeat) self.menu.append(self.item_all) self.item_single = Gtk.CheckMenuItem(_("Repeat single")) self.item_single.connect("button-press-event", lambda item, *a: self.on_repeat(item, False)) self.menu.append(self.item_single) def choise(self, widget, event): self.menu.popup(None, None, None, None, event.button, event.time) self.menu.show_all() def on_load(self): if FC().is_order_random: self.order.set_active(True) self.order.set_tooltip_text(_("Shuffle on")) else: self.order.set_active(False) self.order.set_tooltip_text(_("Shuffle off")) if FC().repeat_state == const.REPEAT_ALL: self.repeat.set_active(True) self.repeat.set_tooltip_text(_("Repeat all")) self.item_all.set_active(True) elif FC().repeat_state == const.REPEAT_SINGLE: self.repeat.set_active(True) self.repeat.set_tooltip_text(_("Repeat single")) self.item_single.set_active(True) else: self.repeat.set_active(False) self.repeat.set_tooltip_text(_("Repeat off")) def on_order(self, *a): FC().is_order_random = not FC().is_order_random if FC().is_order_random: self.order.set_tooltip_text(_("Shuffle on")) else: self.order.set_tooltip_text(_("Shuffle off")) def on_repeat(self, item, all=True): is_active = item.get_active() for menu_item in self.menu: menu_item.set_active(False) if all: if not is_active: FC().repeat_state = const.REPEAT_ALL self.repeat.set_tooltip_text(_("Repeat all")) self.repeat.set_active(True) else: FC().repeat_state = const.REPEAT_NO item.set_active( True ) #because signal "toggled" will change the value to the opposite self.repeat.set_active(False) elif not all: if not is_active: FC().repeat_state = const.REPEAT_SINGLE self.repeat.set_tooltip_text(_("Repeat single")) self.repeat.set_active(True) else: FC().repeat_state = const.REPEAT_NO item.set_active( True ) #because signal "toggled" will change the value to the opposite self.repeat.set_active(False) def on_save(self): pass