def __init__(self, filters, config):
# Color page filters
self.filters = filters
# Filter edit helper
self.filter_editor = RawFilterEditor(config.get("Editor", "preview"))
# File dialog
self.filechooser = FileChooser(acyls.dirs['filters'], "filter.xml")
# Read icon size settins from config
self.PREVIEW_ICON_SIZE = int(config.get("PreviewSize", "single"))
# Load GUI
self.builder = Gtk.Builder()
self.builder.add_from_file(os.path.join(acyls.dirs['gui'], "editor.glade"))
gui_elements = (
'editor_grid', 'editor_textview', 'editor_preview_icon', 'filter_info_label',
)
self.gui = {element: self.builder.get_object(element) for element in gui_elements}
self.gui['editor_textview'].modify_font(Pango.FontDescription("Monospace"))
# Build buffer
self.buffer = Gtk.TextBuffer(text="Enter filter source here")
self.gui['editor_textview'].set_buffer(self.buffer)
# Mainpage buttnons hanlers
self.mhandlers = dict()
self.mhandlers['refresh_button'] = self.on_refresh_click
# Toolbar buttnons hanlers
self.bhandlers = dict()
self.bhandlers['edit_filter_toolbutton'] = self.on_edit_filter_button_click
self.bhandlers['load_filter_toolbutton'] = self.on_load_filter_button_click
self.bhandlers['revert_filter_toolbutton'] = self.on_revert_filter_button_click
self.bhandlers['save_filter_toolbutton'] = self.on_save_filter_button_click
self.bhandlers['save_as_filter_toolbutton'] = self.on_save_as_filter_button_click
# Fill up GUI
pixbuf = PixbufCreator.new_single_at_size(self.filter_editor.preview, self.PREVIEW_ICON_SIZE)
self.gui['editor_preview_icon'].set_from_pixbuf(pixbuf)
# Support functions
评论列表
文章目录