def check_gpaste_version(): result = True try: from draobpilc.lib import gpaste_client except DBusException: result = False current_version = _('Not detected') else: try: gpaste_client.get_history_name() except DBusException: result = False current_version = _('Not detected') else: current_version = gpaste_client.get_prop('Version') if ( StrictVersion(current_version) < StrictVersion(version.GPASTE_VERSION) ): result = False if not result: msg = _( 'GPaste version >= {0} is required, ' 'current version == {1}.' ).format( version.GPASTE_VERSION, current_version ) utils.notify(version.APP_NAME, msg) sys.exit(msg)
def update(self, *args, **kwargs): self._clear() self.link.set_sensitive(True) histories = gpaste_client.list_histories() current_name = gpaste_client.get_history_name() if len(histories) <= 1: self.link.set_sensitive(False) return None for history_name in histories: histories_manager_item = HistoriesManagerItem(history_name) histories_manager_item.link.connect( 'activate-link', self._on_histories_manager_item, histories_manager_item ) histories_manager_item.connect( 'action-request', self._on_item_action ) self._box.add(histories_manager_item) if history_name == current_name: self._set_active(history_name) histories_manager_item.set_active(True) self._box.show_all()
def update(self, *args, **kwargs): self._clear() self.link.set_sensitive(True) histories = gpaste_client.list_histories() current_name = gpaste_client.get_history_name() for history_name in histories: histories_manager_item = HistoriesManagerItem(history_name) histories_manager_item.link.connect( 'activate-link', self._on_histories_manager_item, histories_manager_item) histories_manager_item.connect('action-request', self._on_item_action) self._box.add(histories_manager_item) if history_name == current_name: self._set_active(history_name) histories_manager_item.set_active(True) self._box.show_all()
def __init__(self, transient_for=None, current_name=None): super().__init__(use_header_bar=True) self.set_title(_('Backup history')) self.set_resizable(False) if transient_for: self.set_transient_for(transient_for) self.set_position(Gtk.WindowPosition.CENTER) self.set_destroy_with_parent(True) self.set_modal(True) self.add_buttons(_('Backup'), Gtk.ResponseType.OK, _('Cancel'), Gtk.ResponseType.CANCEL) self._current_name = current_name or gpaste_client.get_history_name() backup_name = self._current_name + _('_backup') self._label = Gtk.Label() self._label.set_label( _('Under which name do you want to backup this history?')) self._label.props.margin = 10 self._error_label = Gtk.Label() self._error_label.props.margin = 10 self._error_label.hide() label_overlay = Gtk.Overlay() label_overlay.add(self._label) label_overlay.add_overlay(self._error_label) self._entry = Gtk.Entry() self._entry.props.margin = 10 self._entry.set_text(backup_name) self._entry.connect('activate', self._on_entry_activate) self._entry.props.buffer.connect('notify::text', lambda b, p: self._hide_error()) content_area = self.get_content_area() content_area.add(label_overlay) content_area.add(self._entry) content_area.show_all() self.connect('response', self._on_response)
def __init__(self, transient_for=None, current_name=None): super().__init__(use_header_bar=True) self.set_title(_("Backup history")) self.set_resizable(False) if transient_for: self.set_transient_for(transient_for) self.set_position(Gtk.WindowPosition.CENTER) self.set_destroy_with_parent(True) self.set_modal(True) self.add_buttons(_("Backup"), Gtk.ResponseType.OK, _("Cancel"), Gtk.ResponseType.CANCEL) self._current_name = current_name or gpaste_client.get_history_name() backup_name = self._current_name + _("_backup") self._label = Gtk.Label() self._label.set_label(_("Under which name do you want to backup this history?")) self._label.props.margin = 10 self._error_label = Gtk.Label() self._error_label.props.margin = 10 self._error_label.hide() label_overlay = Gtk.Overlay() label_overlay.add(self._label) label_overlay.add_overlay(self._error_label) self._entry = Gtk.Entry() self._entry.props.margin = 10 self._entry.set_text(backup_name) self._entry.connect("activate", self._on_entry_activate) self._entry.props.buffer.connect("notify::text", lambda b, p: self._hide_error()) content_area = self.get_content_area() content_area.add(label_overlay) content_area.add(self._entry) content_area.show_all() self.connect("response", self._on_response)