# # Copyright (c) 2022 Canonical Ltd. # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License as # published by the Free Software Foundation; either version 2 of the # License, or (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 # USA import os from gettext import gettext as _ import gi gi.require_version("Gtk", "3.0") from gi.repository import Gtk from softwareproperties.gtk.utils import ( setup_ui, ) class DialogUaDetach: def __init__(self, parent, datadir, ua_object): """setup up the gtk dialog""" setup_ui(self, os.path.join(datadir, "gtkbuilder", "dialog-ua-detach.ui"), domain="software-properties") self.ua_object = ua_object self.dialog = self.dialog_ua_detach self.dialog.set_transient_for(parent) self.detaching = False def run(self): self.dialog.run() self.dialog.hide() def update_state(self): self.button_detach.set_sensitive(not self.detaching) def detach(self): if self.detaching: return self.detaching = True self.label_detach_error.set_text('') def on_reply(): self.dialog.response(Gtk.ResponseType.OK) def on_error(error): # FIXME print(error) self.label_detach_error.set_text(_('Failed to detach. Please try again')) self.detaching = False self.update_state() self.ua_object.Detach(reply_handler=on_reply, error_handler=on_error, dbus_interface='com.canonical.UbuntuAdvantage.Manager', timeout=600) self.update_state() def on_token_entry_changed(self, entry): self.update_state() def on_detach_clicked(self, button): self.detach() def on_cancel_clicked(self, button): self.dialog.response(Gtk.ResponseType.CANCEL)
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
__pycache__ | Folder | 0755 |
|
|
CdromProgress.py | File | 3.01 KB | 0644 |
|
DialogAdd.py | File | 3.11 KB | 0644 |
|
DialogAddSourcesList.py | File | 4.67 KB | 0644 |
|
DialogCacheOutdated.py | File | 4.39 KB | 0644 |
|
DialogEdit.py | File | 4.08 KB | 0644 |
|
DialogMirror.py | File | 14.13 KB | 0644 |
|
DialogUaAttach.py | File | 7.53 KB | 0644 |
|
DialogUaDetach.py | File | 2.28 KB | 0644 |
|
DialogUaFipsEnable.py | File | 1.72 KB | 0644 |
|
SimpleGtkbuilderApp.py | File | 2.48 KB | 0644 |
|
SoftwarePropertiesGtk.py | File | 70.08 KB | 0644 |
|
UbuntuProPage.py | File | 16.42 KB | 0644 |
|
__init__.py | File | 0 B | 0644 |
|
dialogs.py | File | 1.32 KB | 0644 |
|
utils.py | File | 6.54 KB | 0644 |
|