예제 #1
0
    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 = config.getint("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)
예제 #2
0
	def __init__(self, config):
		super().__init__()
		self.icontype = ("jpeg", "png", "tiff", "ico", "bmp", "svg")
		self.pixbufs = []

		# Create object for iconview
		self.themes_dir = config.getdir("Directories", "applications")
		self.backup_dir = config.getdir("Directories", "backup")

		self.appthemes = AppThemeReader(self.themes_dir, self.icontype)

		# File dialog
		self.filechooser = FileChooser(self.backup_dir)

		# Read icon size settins from config
		self.VIEW_ICON_SIZE = config.getint("PreviewSize", "group")

		# Load GUI
		self.builder = Gtk.Builder()
		self.builder.add_from_file(os.path.join(acyls.dirs['gui'], "applications.glade"))

		gui_elements = (
			'apps_grid', 'applications_combo', 'icons_view', 'path_label', 'message_label',
		)
		self.gui = {element: self.builder.get_object(element) for element in gui_elements}

		# Build store
		self.store = Gtk.ListStore(Pixbuf)
		self.gui['icons_view'].set_model(self.store)
		self.gui['icons_view'].set_pixbuf_column(0)
		self.iconview_lock = TreeViewHolder(self.gui['icons_view'])

		# Fill up GUI
		for name in self.appthemes.pack.keys():
			self.gui['applications_combo'].append_text(name)

		# connect signals
		self.gui['applications_combo'].connect("changed", self.on_applications_combo_changed)
		self.connect("icons_loaded", self.on_icons_loaded)

		# setup
		self.gui['applications_combo'].set_active(0)

		# Mainpage buttnons hanlers
		self.mhandlers = dict()
		self.mhandlers['apply_button'] = self.on_apply_click

		# Toolbar buttnons hanlers
		self.bhandlers = dict()
		self.bhandlers['make_backup_toolbutton'] = self.on_make_backup_button_click
		self.bhandlers['restore_backup_toolbutton'] = self.on_restore_backup_button_click
예제 #3
0
    def __init__(self, database, config):
        self.database = database
        self.config = config

        # Read icon size settins from config
        self.PREVIEW_ICON_SIZE = self.config.getint("PreviewSize", "single")

        # Load icon groups from config file
        self.icongroups = IconGroupCollector(self.config)

        # Build griadient object
        self.gradient = gradient.Gradient()

        # Load filters from certain directory
        self.filters = FilterCollector(acyls.dirs['filters'])
        self.filters.connect_signal(self.filter_refresh)

        # File dialog
        self.filechooser = FileChooser(acyls.dirs['user'], "custom.acyl")

        # Load GUI
        self.signals = dict()
        self.builder = Gtk.Builder()
        self.builder.add_from_file(
            os.path.join(acyls.dirs['gui'], "colors.glade"))

        gui_elements = (
            'colorbox',
            'icongroup_combo',
            'custom_icons_treeview',
            'colorlist_treeview',
            'gradient_combo',
            'filter_group_combo',
            'filters_combo',
            'direction_treeview',
            'handoffset_switch',
            'filters_combo',
            'colorlist_treeview_selection',
            'offset_scale',
            'color_selector',
            'offset_scale',
            'render_button',
            'preview_icon',
            'filter_settings_button',
        )
        self.gui = {
            element: self.builder.get_object(element)
            for element in gui_elements
        }

        # Build stores
        self.build_data_stores()

        # Database setup
        self.build_data_hadlers()

        # Toolbar buttnons hanlers
        self.bhandlers = dict()
        self.bhandlers['add_color_toolbutton'] = self.on_add_color_button_click
        self.bhandlers[
            'remove_color_toolbutton'] = self.on_remove_color_button_click
        self.bhandlers[
            'copy_color_toolbutton'] = self.on_copy_settings_button_click
        self.bhandlers[
            'paste_color_toolbutton'] = self.on_paste_settings_button_click
        self.bhandlers[
            'save_settings_toolbutton'] = self.on_save_settings_button_click
        self.bhandlers[
            'load_settings_toolbutton'] = self.on_load_settings_button_click
        self.bhandlers[
            'reset_settings_toolbutton'] = self.on_reset_settings_button_click

        # Mainpage buttnons hanlers
        self.mhandlers = dict()
        self.mhandlers['refresh_button'] = self.on_refresh_click
        self.mhandlers['apply_button'] = self.on_apply_click

        # Init vars
        self.color_selected = None
        self.rtr = False
        self.init_confirmed = False
        self.state_buffer = {}

        # Fill up gui
        for name in self.icongroups.names:
            self.gui['icongroup_combo'].append_text(name)

        for tag in sorted(gradient.GRADIENT_PROFILES):
            self.gui['gradient_combo'].append_text(tag)

        for group in self.filters.groupnames:
            self.gui['filter_group_combo'].append_text(group)

        # connect signals
        self.connect_signals()
        self.gui['icongroup_combo'].set_active(0)

        # restore GUI elements state from last session
        self.gui['render_button'].set_active(
            self.config.getboolean("Settings", "autorender"))

        self.init_confirmed = True