Exemple #1
0
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()
Exemple #4
0
    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)