def __init__(self, history_item=None): super().__init__() self._title = Gtk.Label('Clipboard Contents') self._title.set_name('ClipboardPreviewTitle') self._title.set_vexpand(False) self._title.set_hexpand(True) self._title.set_valign(Gtk.Align.CENTER) self._title.set_halign(Gtk.Align.FILL) self._editor = editor.Editor() self._previewer = previewer.Previewer() self._items_processors = ItemsProcessors() self._items_processors.set_hexpand(False) self._items_processors.set_vexpand(False) self._items_processors.show_switcher = False self._items_processors.add_processor(self._editor) self._items_processors.add_processor(self._previewer) self._bottom_box = Gtk.Box() self._bottom_box.set_name('ClipboardPreviewBottom') self._bottom_box.set_hexpand(True) self._bottom_box.set_halign(Gtk.Align.FILL) self._bottom_box.set_orientation(Gtk.Orientation.HORIZONTAL) self.box.add(self._title) self.box.add(self._items_processors) self.box.add(self._bottom_box) if history_item: self.set_item(history_item)
def __init__(self): super().__init__() self.set_application_id(version.APP_ID) self.set_flags(Gio.ApplicationFlags.HANDLES_COMMAND_LINE) screen = Gdk.Screen.get_default() css_provider = Gtk.CssProvider() css_provider.load_from_path(common.CSS_PATH) style_context = Gtk.StyleContext() style_context.add_provider_for_screen(screen, css_provider, Gtk.STYLE_PROVIDER_PRIORITY_USER) gtk_settings = Gtk.Settings.get_default() gtk_settings.props.gtk_application_prefer_dark_theme = True self._window = None self._editor = editor.Editor() self._previewer = previewer.Previewer() self._merger = merger.Merger() self._merger.connect('merge', self.merge_items) self._items_processors = ItemsProcessors() self._items_processors.add_processor(self._editor) self._items_processors.add_processor(self._previewer) self._items_processors.add_processor(self._merger) self._main_toolbox = MainToolbox() self._main_toolbox.prefs_btn.connect('clicked', lambda b: self.show_prefs()) self._main_toolbox.about_btn.connect('clicked', lambda b: self.show_about()) self._main_toolbox.quit_btn.connect('clicked', lambda b: self.quit()) self._main_toolbox.restart_btn.connect('clicked', self._restart_daemon) self._main_toolbox.close_btn.connect( 'clicked', lambda b: self.hide(reset_search=True)) self._main_toolbox.track_btn.connect( 'clicked', lambda b: gpaste_client.track(b.get_active())) self._main_toolbox.track_btn.set_active( gpaste_client.get_prop('Active')) self._main_toolbox.help_btn.connect( 'clicked', lambda b: shortcuts_window.show_or_false(self._window)) self._history_items = HistoryItems() self._search_box = SearchBox() self._search_box.connect('search-changed', self._on_search_changed) self._search_box.connect( 'search-index', lambda sb, i: self._on_search_changed(sb, search_index=i)) self._search_box.entry.connect('activate', self._on_entry_activated) self._items_view = ItemsView() self._items_view.connect('item-activated', self._on_item_activated) self._items_view.connect('item-entered', self._on_item_entered) self._items_view.connect('item-left', lambda iv, i: self.selection_changed()) self._items_view.listbox.connect('selected-rows-changed', lambda iv: self.selection_changed()) self._items_view.bind(self._history_items) gpaste_client.connect('ShowHistory', self.toggle) gpaste_client.connect( 'Tracking', lambda t: self._main_toolbox.track_btn.set_active(t)) common.APPLICATION = self keybinder = KeybinderGtk() keybinder.register( common.SETTINGS[common.SHOW_CLIPBOARD_PREVIEW], lambda *_, **__: GLib.idle_add(clipboard_preview.toggle)) keybinder.start()
def __init__(self, history_item): super().__init__() self._title = Gtk.Label('Clipboard Contents') self._title.set_name('ClipboardPreviewTitle') self._title.set_vexpand(False) self._title.set_hexpand(True) self._title.set_valign(Gtk.Align.CENTER) self._title.set_halign(Gtk.Align.FILL) self._editor = editor.Editor() self._previewer = previewer.Previewer() self._items_processors = ItemsProcessors() self._items_processors.set_hexpand(False) self._items_processors.set_vexpand(False) self._items_processors.show_switcher = False self._items_processors.add_processor(self._editor) self._items_processors.add_processor(self._previewer) self._items_processors.set_items([history_item]) button = None show_infobox = True if (len(history_item.links) > 1 or (history_item.kind == HistoryItemKind.FILE and history_item.n_lines > 1)): if history_item.kind == HistoryItemKind.FILE: button = FilesButton(history_item) show_infobox = False else: button = LinksButton(history_item) show_infobox = False if show_infobox: infobox = Infobox(history_item) infobox.set_hexpand(False) infobox.set_halign(Gtk.Align.START) else: infobox = None bottom_box = Gtk.Box() bottom_box.set_name('ClipboardPreviewBottom') bottom_box.set_hexpand(True) bottom_box.set_halign(Gtk.Align.FILL) bottom_box.set_orientation(Gtk.Orientation.HORIZONTAL) if infobox: bottom_box.add(infobox) if button: if infobox: button.set_halign(Gtk.Align.END) else: button.set_halign(Gtk.Align.START) button.set_hexpand(True) bottom_box.add(button) bottom_box.show_all() self.box.add(self._title) self.box.add(self._items_processors) self.box.add(bottom_box)