def __init__(self, _activity): GObject.GObject.__init__(self) self._activity = _activity # setup the search options self.s_opts = SearchOptions( where=S_WHERE.multifile, use_regex=False, ignore_caps=True, replace_all=False, # defaults to avoid creating # a new SearchOptions object for normal searches # should never be changed, just make a copy like: # SearchOptions(self.s_opts, forward=False) forward=True, stay=False) self.safe_to_replace = False self._search_entry = iconentry.IconEntry() self._search_entry.set_icon_from_name( iconentry.ICON_ENTRY_PRIMARY, SEARCH_ICONS[self.s_opts.use_regex][self.s_opts.where]) self._search_entry.add_clear_button() self._search_entry.connect('activate', self._search_entry_activated_cb) self._search_entry.connect('changed', self._search_entry_changed_cb) self._add_widget(self._search_entry, expand=True) self._findprev = ToolButton('go-previous') self._findprev.set_tooltip(_('Find previous')) self.insert(self._findprev, -1) self._findprev.show() self._findprev.connect('clicked', self._findprev_cb) self._findnext = ToolButton('go-next') self._findnext.set_tooltip(_('Find next')) self.insert(self._findnext, -1) self._findnext.show() self._findnext.connect('clicked', self._findnext_cb) """ self._settings = ToolButton(CAP_ICONS[self.s_opts.ignore_caps]) self._settings.set_tooltip(_('Search settings')) self.insert(self._settings, -1) self._settings.show() self._settings.connect('clicked', self._settings_cb) # Search settings menu # This menu should attach to something else beside findnext - #location is temporary. palette = self._settings.get_palette() sswo = self._set_where_options ssho = self._set_how_options ssco = self._set_cap_options #TODO: move data structure to a member and the logic to a function for name, function, options, icon in ( (_('Ignore capitalization'), ssco, True, "ignore-caps"), (_('Match capitalization'), ssco, False, "use-caps"), (None, None, None, None), (_('Search in selection'), sswo, S_WHERE.selection, "search-in-selection"), (_('Search in current file'), sswo, S_WHERE.file, "system-search"), (_('Search in all open files'), sswo, S_WHERE.multifile, "multi-search"), (None, None, None, None), (_('Simple search'), ssho, False, "system-search"), (_('Advanced search'), ssho, True, "regex"), ): if not name: menuitem = Gtk.SeparatorMenuItem() else: menuitem = MenuItem(name, icon) menuitem.connect('activate', function, options) palette.menu.append(menuitem) menuitem.show() # make expanded non-drawn visible separator to make the replace #stuff right-align separator = Gtk.SeparatorToolItem() separator.props.draw = False separator.set_expand(True) self.insert(separator, -1) separator.show() # replace entry self._replace_entry = iconentry.IconEntry() self._replace_entry.set_icon_from_name(iconentry.ICON_ENTRY_PRIMARY, 'system-replace') self._replace_entry.connect('changed', self._replace_entry_changed_cb) self._replace_entry.add_clear_button() self._add_widget(self._replace_entry, expand=True) #replace button self._replace_button = ToolButton(REPLACE_ICONS[ self.s_opts.replace_all]) self._replace_button.set_tooltip(_('Replace')) self.insert(self._replace_button, -1) self._replace_button.show() self._replace_button.connect('clicked', self._replace_cb) palette = self._replace_button.get_palette() ssro = self._set_replace_options #TODO: move data structure to a member and the logic to a function for name, function, options, icon in ( (_('Replace one'), ssro, False, "replace-and-find"), (_('Replace all'), ssro, True, "multi-replace"), ): if not name: menuitem = Gtk.SeparatorMenuItem() else: menuitem = MenuItem(name, icon) menuitem.connect('activate', function, options) palette.menu.append(menuitem) menuitem.show() """ self._activity.editor.connect('changed', self._changed_cb) self._activity.connect('key_press_event', self._on_key_press_event)
def __init__(self, default_what_filter=None, default_filter_type=None): ToolbarBox.__init__(self) self._mount_point = None self._filter_type = default_filter_type self._what_filter = default_what_filter self._when_filter = None self._default_what_filter = default_what_filter self._default_filter_type = default_filter_type self.search_entry = iconentry.IconEntry() self.search_entry.set_icon_from_name(iconentry.ICON_ENTRY_PRIMARY, 'entry-search') text = _('Search in %s') % _('Journal') self.search_entry.set_placeholder_text(text) self.search_entry.connect('activate', self._search_entry_activated_cb) self.search_entry.connect('changed', self._search_entry_changed_cb) self.search_entry.add_clear_button() self._autosearch_timer = None self._add_widget(self.search_entry, expand=True) self._favorite_button = ToggleToolButton('emblem-favorite') self._favorite_button.set_tooltip(_('Favorite entries')) self._favorite_button.connect('toggled', self.__favorite_button_toggled_cb) self.toolbar.insert(self._favorite_button, -1) self._favorite_button.show() self._what_widget_contents = None self._what_widget = Gtk.ToolItem() self._what_search_button = FilterToolItem( 'view-type', _('Anything'), self._what_widget) self._what_widget.show() self.toolbar.insert(self._what_search_button, -1) self._what_search_button.show() self._when_search_button = FilterToolItem( 'view-created', _('Anytime'), self._get_when_search_items()) self.toolbar.insert(self._when_search_button, -1) self._when_search_button.show() self._sorting_button = SortingButton() self.toolbar.insert(self._sorting_button, -1) self._sorting_button.connect('sort-property-changed', self.__sort_changed_cb) self._sorting_button.show() ''' # TODO: enable it when the DS supports saving the buddies. self._with_widget = Gtk.ToolItem() self._with_search_button = FilterToolItem( 'view-who', _('Anyone'), self._with_widget) self._with_widget.show() self.toolbar.insert(self._with_search_button, -1) self._with_search_button.show() self._get_with_search_items() ''' self._query = self._build_query() self.refresh_filters() self.connect('size_allocate', self.__size_allocate_cb)
def _setup_toolbars(self): ''' Setup the toolbars. ''' self._toolbox = ToolbarBox() self.activity_button = ActivityToolbarButton(self) self.activity_button.connect('clicked', self._resize_canvas) self._toolbox.toolbar.insert(self.activity_button, 0) self.activity_button.show() self.set_toolbar_box(self._toolbox) self._toolbox.show() self.toolbar = self._toolbox.toolbar view_toolbar = Gtk.Toolbar() self.view_toolbar_button = ToolbarButton(page=view_toolbar, label=_('View'), icon_name='toolbar-view') self.view_toolbar_button.connect('clicked', self._resize_canvas) self._toolbox.toolbar.insert(self.view_toolbar_button, 1) view_toolbar.show() self.view_toolbar_button.show() button = ToolButton('view-fullscreen') button.set_tooltip(_('Fullscreen')) button.props.accelerator = '<Alt>Return' view_toolbar.insert(button, -1) button.show() button.connect('clicked', self._fullscreen_cb) edit_toolbar = Gtk.Toolbar() self.edit_toolbar_button = ToolbarButton(page=edit_toolbar, label=_('Edit'), icon_name='toolbar-edit') self.edit_toolbar_button.connect('clicked', self._resize_canvas) self._toolbox.toolbar.insert(self.edit_toolbar_button, 1) edit_toolbar.show() self.edit_toolbar_button.show() self._copy_button = ToolButton('edit-copy') self._copy_button.set_tooltip(_('Copy')) self._copy_button.props.accelerator = '<Ctrl>C' edit_toolbar.insert(self._copy_button, -1) self._copy_button.show() self._copy_button.connect('clicked', self._copy_cb) self._copy_button.set_sensitive(False) self._paste_button = ToolButton('edit-paste') self._paste_button.set_tooltip(_('Paste')) self._paste_button.props.accelerator = '<Ctrl>V' edit_toolbar.insert(self._paste_button, -1) self._paste_button.show() self._paste_button.connect('clicked', self._paste_cb) self._paste_button.set_sensitive(False) button = ToolButton('list-add') button.set_tooltip(_('Add Item')) button.props.accelerator = '<Ctrl>+' self._toolbox.toolbar.insert(button, -1) button.show() button.connect('clicked', self.__add_item_cb) self._date_button = RadioToolButton('date-sort', group=None) self._date_button.set_tooltip(_('Sort by Date')) self._date_button.connect('clicked', self._date_button_cb) self._toolbox.toolbar.insert(self._date_button, -1) self._date_button.show() self._title_button = RadioToolButton('title-sort', group=self._date_button) self._title_button.set_tooltip(_('Sort by Title')) self._title_button.connect('clicked', self._title_button_cb) self._toolbox.toolbar.insert(self._title_button, -1) self._title_button.show() self._stars_button = RadioToolButton('stars-sort', group=self._date_button) self._stars_button.set_tooltip(_('Sort by Favourite')) self._stars_button.connect('clicked', self._stars_button_cb) self._toolbox.toolbar.insert(self._stars_button, -1) self._stars_button.show() # setup the search options self._search_entry = iconentry.IconEntry() self._search_entry.set_icon_from_name(iconentry.ICON_ENTRY_PRIMARY, 'system-search') self._search_entry.connect('activate', self._search_entry_activated_cb) self._search_entry.connect('changed', self._search_entry_changed_cb) self._search_entry.add_clear_button() tool_item = Gtk.ToolItem() tool_item.set_expand(True) tool_item.add(self._search_entry) self._search_entry.show() self._toolbox.toolbar.insert(tool_item, -1) tool_item.show() self._search_button = ToolButton('dialog-ok') self._search_button.set_tooltip(_('Search by Tags')) self._search_button.connect('clicked', self._search_button_cb) self._toolbox.toolbar.insert(self._search_button, -1) self._search_button.show() separator = Gtk.SeparatorToolItem() separator.props.draw = False separator.set_expand(True) self._toolbox.toolbar.insert(separator, -1) separator.show() stop_button = StopButton(self) stop_button.props.accelerator = '<Ctrl>q' self._toolbox.toolbar.insert(stop_button, -1) stop_button.show()