def prepare_search_page(self): if self.unlocked_database.stack.get_child_by_name("search") is None: scrolled_page = ScrolledPage(False) viewport = Gtk.Viewport() viewport.set_name("BGPlatform") self.unlocked_database.search_overlay = Gtk.Overlay() builder = Gtk.Builder() builder.add_from_resource("/org/gnome/PasswordSafe/unlocked_database.ui") self.search_list_box = builder.get_object("list_box") # Responsive Container self.search_list_box.set_name("BrowserListBox") self.search_list_box.set_margin_top(18) self.search_list_box.set_margin_bottom(18) self.search_list_box.set_valign(Gtk.Align.START) hdy_search = Handy.Column() hdy_search.set_maximum_width(700) hdy_search.add(self.search_list_box) self.unlocked_database.search_overlay.add(hdy_search) self.search_list_box.connect("row-activated", self.unlocked_database.on_list_box_row_activated) viewport.add(self.unlocked_database.search_overlay) scrolled_page.add(viewport) scrolled_page.show_all() self.unlocked_database.stack.add_named(scrolled_page, "search") if len(self.search_list_box.get_children()) is 0: info_search_overlay = self.unlocked_database.builder.get_object("info_search_overlay") self.unlocked_database.search_overlay.add_overlay(info_search_overlay) self.search_list_box.hide() else: self.search_list_box.show() self.unlocked_database.stack.set_visible_child(self.unlocked_database.stack.get_child_by_name("search"))
def __set_ui(self): handycolumn = Handy.Column() handycolumn.set_maximum_width(700) handycolumn.set_margin_top(24) self.add(handycolumn) box = Gtk.Box.new(Gtk.Orientation.VERTICAL, 5) handycolumn.add(box) label = Gtk.Label(_('Google calendar permissions')) label.set_name('special') label.set_alignment(0, 0.5) box.add(label) listbox0 = Gtk.ListBox() box.add(listbox0) self.switch1 = Gtk.Switch() self.switch1.connect('button-press-event',self.on_switch1_changed) self.switch1.connect('activate',self.on_switch1_changed) self.switch1.set_valign(Gtk.Align.CENTER) listbox0.add(SettingRow(_('Permissions for Google Calendar'), _('Enable read and write permissions for Google Calendar.'), self.switch1)) self.switch1.set_active(os.path.exists(comun.TOKEN_FILE))
def __set_ui(self): handycolumn = Handy.Column() handycolumn.set_maximum_width(700) handycolumn.set_margin_top(24) self.add(handycolumn) box = Gtk.Box.new(Gtk.Orientation.VERTICAL, 5) handycolumn.add(box) label0 = Gtk.Label(_('Applications')) label0.set_name('special') label0.set_alignment(0, 0.5) box.add(label0) listbox0 = Gtk.ListBox() box.add(listbox0) self.options = {} for index in range(0, len(self.packages)): self.options[index] = Gtk.Switch() self.options[index].set_valign(Gtk.Align.CENTER) listbox0.add( SettingRow(self.packages[index][0], self.packages[index][1], self.options[index])) self.options[index].set_state(is_installed( self.packages[index][2]))
def __set_ui(self): handycolumn = Handy.Column() handycolumn.set_maximum_width(700) handycolumn.set_margin_top(24) self.add(handycolumn) box = Gtk.Box.new(Gtk.Orientation.VERTICAL, 5) handycolumn.add(box) label = Gtk.Label(_('Calendars')) label.set_name('special') label.set_alignment(0, 0.5) box.add(label) listbox0 = Gtk.ListBox() box.add(listbox0) self.option = Gtk.Switch() self.option.set_valign(Gtk.Align.CENTER) scrolledwindow = Gtk.ScrolledWindow() scrolledwindow.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC) scrolledwindow.set_shadow_type(Gtk.ShadowType.ETCHED_OUT) scrolledwindow.set_size_request(700, 300) self.store = Gtk.ListStore(str, str, str, str, bool, str) self.treeview = Gtk.TreeView(self.store) self.treeview.connect('button-press-event', self.onclick) column1 = Gtk.TreeViewColumn(_('Calendar'), Gtk.CellRendererText(), text=0) self.treeview.append_column(column1) self.column2 = Gtk.TreeViewColumn(_('Background color'), Gtk.CellRendererText(), background=1) self.treeview.append_column(self.column2) self.column3 = Gtk.TreeViewColumn(_('Text color'), Gtk.CellRendererText(), background=2) self.treeview.append_column(self.column3) cellrenderer_toggle = Gtk.CellRendererToggle() cellrenderer_toggle.connect("toggled", self.cell_toggled, self.store) self.column4 = Gtk.TreeViewColumn(_('Show calendar'), cellrenderer_toggle, active=4) self.treeview.append_column(self.column4) renderer_editabletext = Gtk.CellRendererText() renderer_editabletext.set_property("editable", True) renderer_editabletext.connect("edited", self.text_edited, self.store) self.column5 = Gtk.TreeViewColumn(_('Calendar name'), renderer_editabletext, text=5, background=1, foreground=2) self.treeview.append_column(self.column5) scrolledwindow.add(self.treeview) listbox0.add(scrolledwindow)
def do_startup(self): Gtk.Application.do_startup(self) GLib.set_application_name(_('Komikku')) GLib.set_prgname(self.application_id) Handy.Column() # Init Handy Notify.init(_('Komikku'))
def __set_ui(self): handycolumn = Handy.Column() handycolumn.set_maximum_width(700) handycolumn.set_margin_top(24) self.add(handycolumn) box = Gtk.Box.new(Gtk.Orientation.VERTICAL, 5) handycolumn.add(box) label = Gtk.Label(_('Options')) label.set_name('special') label.set_alignment(0, 0.5) box.add(label) listbox0 = Gtk.ListBox() box.add(listbox0) self.options = {} for option in ['autostart', 'theme']: self.options[option] = Gtk.Switch() self.options[option].set_valign(Gtk.Align.CENTER) self.options['theme'].connect('button-press-event', self.on_options_changed) self.options['theme'].connect('activate', self.on_options_changed) self.options['time'] = Gtk.SpinButton() self.options['time'].set_range(2, 24) self.options['time'].set_increments(2, 4) listbox0.add( SettingSpinRow(_('Time between automatic syncronizations (hours)'), _('Time between automatic syncronizations (hours)'), self.options['time'])) self.options['time'].connect('button-press-event', self.on_options_changed) self.options['time'].connect('activate', self.on_options_changed) listbox0.add( SettingRow(_('Autostart'), _('Init Calendar Indicator with the operating system.'), self.options['autostart'])) self.options['autostart'].connect('button-press-event', self.on_options_autostart_changed) self.options['autostart'].connect('activate', self.on_options_autostart_changed) listbox0.add( SettingRow( _('Theme light'), _('Would theme for Calendar Indicator icons do you prefer?'), self.options['theme']))
def main(): # This is to make the Handy module actually loaded to be used in the GtkBuilder Handy.Column() pmos.init() if os.path.isfile('gpmbootstrap.gresource'): print("Using resources from cwd") resource = Gio.resource_load("gpmbootstrap.gresource") Gio.Resource._register(resource) else: print("Using resources from pkg_resources") with pkg_resources.path('gpmbootstrap', 'gpmbootstrap.gresource') as resource_file: resource = Gio.resource_load(str(resource_file)) Gio.Resource._register(resource) app = InstallerApplication("org.postmarketos.gpmbootstrap", Gio.ApplicationFlags.FLAGS_NONE) app.run()
def show_page_of_new_directory(self, edit_group, new_entry): # First, remove stack pages which should not exist because they are scheduled for remove self.destroy_scheduled_stack_page() # Check if we need to remove the search headerbar if self.parent_widget.get_headerbar() is not self.headerbar: self.search.remove_search_headerbar(None) # Creation of group edit page if edit_group is True: self.destroy_scheduled_stack_page() builder = Gtk.Builder() builder.add_from_resource("/org/gnome/PasswordSafe/group_page.ui") scrolled_window = ScrolledPage(True) viewport = Gtk.Viewport() scrolled_window.properties_list_box = builder.get_object("properties_list_box") # Responsive Container hdy_page = Handy.Column() hdy_page.set_maximum_width(600) hdy_page.set_margin_top(18) hdy_page.set_margin_bottom(18) hdy_page.add(scrolled_window.properties_list_box) viewport.add(hdy_page) scrolled_window.add(viewport) scrolled_window.show_all() stack_page_uuid = self.database_manager.get_group_uuid_from_group_object(self.current_group) if self.stack.get_child_by_name(stack_page_uuid) is not None: stack_page = self.stack.get_child_by_name(stack_page_uuid) stack_page.destroy() self.add_stack_page(scrolled_window) self.group_page.insert_group_properties_into_listbox(scrolled_window.properties_list_box) self.group_page.set_group_edit_page_headerbar() # If the stack page with current group's uuid isn't existing - we need to create it (first time opening of group/entry) elif self.stack.get_child_by_name(self.database_manager.get_group_uuid_from_group_object(self.current_group)) is None and self.stack.get_child_by_name(self.database_manager.get_entry_uuid_from_entry_object(self.current_group)) is None and edit_group is False: self.database_manager.set_element_atime(self.current_group) # Create not existing stack page for group if self.database_manager.check_is_group(self.database_manager.get_group_uuid_from_group_object(self.current_group)) is True: builder = Gtk.Builder() builder.add_from_resource("/org/gnome/PasswordSafe/unlocked_database.ui") list_box = builder.get_object("list_box") list_box.connect("row-activated", self.on_list_box_row_activated) scrolled_window = ScrolledPage(False) viewport = Gtk.Viewport() overlay = Gtk.Overlay() # Responsive Container list_box.set_name("BrowserListBox") list_box.set_valign(Gtk.Align.START) hdy_browser = Handy.Column() hdy_browser.set_maximum_width(700) hdy_browser.set_margin_top(18) hdy_browser.set_margin_bottom(18) hdy_browser.add(list_box) overlay.add(hdy_browser) viewport.add(overlay) scrolled_window.add(viewport) scrolled_window.show_all() self.add_stack_page(scrolled_window) list_box.hide() self.listbox_insert_thread = threading.Thread(target=self.insert_groups_into_listbox, args=(list_box, overlay)) self.listbox_insert_thread.daemon = True self.listbox_insert_thread.start() # Create not existing stack page for entry else: builder = Gtk.Builder() builder.add_from_resource("/org/gnome/PasswordSafe/entry_page.ui") scrolled_window = ScrolledPage(True) viewport = Gtk.Viewport() scrolled_window.properties_list_box = builder.get_object("properties_list_box") # Responsive Container hdy_page = Handy.Column() hdy_page.set_maximum_width(600) hdy_page.set_margin_top(18) hdy_page.set_margin_bottom(18) hdy_page.add(scrolled_window.properties_list_box) viewport.add(hdy_page) scrolled_window.add(viewport) scrolled_window.show_all() self.add_stack_page(scrolled_window) if new_entry is True: self.entry_page.insert_entry_properties_into_listbox(scrolled_window.properties_list_box, True) else: self.entry_page.insert_entry_properties_into_listbox(scrolled_window.properties_list_box, False) # Stack page with current group's uuid already exists, we only need to switch stack page else: self.database_manager.set_element_atime(self.current_group) # For group if self.database_manager.check_is_group(self.database_manager.get_group_uuid_from_group_object(self.current_group)) is True: self.stack.set_visible_child_name(self.database_manager.get_group_uuid_from_group_object(self.current_group)) self.set_browser_headerbar() # For entry else: self.stack.set_visible_child_name(self.database_manager.get_entry_uuid_from_entry_object(self.current_group)) self.entry_page.set_entry_page_headerbar()
def __set_ui(self): handycolumn = Handy.Column() handycolumn.set_maximum_width(700) handycolumn.set_margin_top(24) self.add(handycolumn) box = Gtk.Box.new(Gtk.Orientation.VERTICAL, 5) handycolumn.add(box) label0 = Gtk.Label(_('RAM')) label0.set_name('special') label0.set_halign(Gtk.Align.START) box.add(label0) listbox0 = Gtk.ListBox() box.add(listbox0) self.ram_total = Gtk.Label() self.ram_total.set_valign(Gtk.Align.CENTER) self.ram_total.set_width_chars(20) listbox0.add( SettingRow(_('Total'), _('The total amount of RAM installed'), self.ram_total)) ram_free_box = Gtk.Box.new(Gtk.Orientation.VERTICAL, 5) self.ram_free = Gtk.Label() self.ram_free.set_width_chars(20) self.ram_free.set_valign(Gtk.Align.CENTER) ram_free_box.add(self.ram_free) self.ram_free_progress = Gtk.LevelBar() self.ram_free_progress.set_min_value(0) self.ram_free_progress.set_max_value(1) ram_free_box.add(self.ram_free_progress) listbox0.add( SettingRow(_('Free'), _('The amount of unused or free memory'), ram_free_box)) ram_used_box = Gtk.Box.new(Gtk.Orientation.VERTICAL, 5) self.ram_used = Gtk.Label() self.ram_used.set_width_chars(20) self.ram_used.set_valign(Gtk.Align.CENTER) ram_used_box.add(self.ram_used) self.ram_used_progress = Gtk.LevelBar() self.ram_used_progress.set_min_value(0) self.ram_used_progress.set_max_value(1) ram_used_box.add(self.ram_used_progress) listbox0.add( SettingRow(_('Used'), _('The total amount of RAM used'), ram_used_box)) ram_shared_box = Gtk.Box.new(Gtk.Orientation.VERTICAL, 5) self.ram_shared = Gtk.Label() self.ram_shared.set_width_chars(20) self.ram_shared.set_valign(Gtk.Align.CENTER) ram_shared_box.add(self.ram_shared) self.ram_shared_progress = Gtk.LevelBar() self.ram_shared_progress.set_min_value(0) self.ram_shared_progress.set_max_value(1) ram_shared_box.add(self.ram_shared_progress) listbox0.add( SettingRow(_('Shared'), _('Amount of memory mostly used by tmpfs'), ram_shared_box)) ram_buffcache_box = Gtk.Box.new(Gtk.Orientation.VERTICAL, 5) self.ram_buffcache = Gtk.Label() self.ram_buffcache.set_width_chars(20) self.ram_buffcache.set_valign(Gtk.Align.CENTER) ram_buffcache_box.add(self.ram_buffcache) self.ram_buffcache_progress = Gtk.LevelBar() self.ram_buffcache_progress.set_min_value(0) self.ram_buffcache_progress.set_max_value(1) ram_buffcache_box.add(self.ram_buffcache_progress) listbox0.add( SettingRow(_('Buff/cache'), _('Sum of buffers and cache'), ram_buffcache_box)) ram_available_box = Gtk.Box.new(Gtk.Orientation.VERTICAL, 5) self.ram_available = Gtk.Label() self.ram_available.set_width_chars(20) self.ram_available.set_valign(Gtk.Align.CENTER) ram_available_box.add(self.ram_available) self.ram_available_progress = Gtk.LevelBar() self.ram_available_progress.set_min_value(0) self.ram_available_progress.set_max_value(1) ram_available_box.add(self.ram_available_progress) listbox0.add( SettingRow(_('Available'), _('Estimation of memory available'), ram_available_box)) label1 = Gtk.Label(_('Swap')) label1.set_name('special') label1.set_halign(Gtk.Align.START) box.add(label1) listbox1 = Gtk.ListBox() box.add(listbox1) self.swap_total = Gtk.Label() self.swap_total.set_valign(Gtk.Align.CENTER) self.swap_total.set_width_chars(20) listbox1.add( SettingRow(_('Total'), _('The total amount of swap installed'), self.swap_total)) swap_free_box = Gtk.Box.new(Gtk.Orientation.VERTICAL, 5) self.swap_free = Gtk.Label() self.swap_free.set_width_chars(20) self.swap_free.set_valign(Gtk.Align.CENTER) swap_free_box.add(self.swap_free) self.swap_free_progress = Gtk.LevelBar() self.swap_free_progress.set_min_value(0) self.swap_free_progress.set_max_value(1) swap_free_box.add(self.swap_free_progress) listbox1.add( SettingRow(_('Free'), _('The amount of unused or free swap'), swap_free_box)) swap_cached_box = Gtk.Box.new(Gtk.Orientation.VERTICAL, 5) self.swap_cached = Gtk.Label() self.swap_cached.set_width_chars(20) self.swap_cached.set_valign(Gtk.Align.CENTER) swap_cached_box.add(self.swap_cached) self.swap_cached_progress = Gtk.LevelBar() self.swap_cached_progress.set_min_value(0) self.swap_cached_progress.set_max_value(1) swap_cached_box.add(self.swap_cached_progress) listbox1.add( SettingRow(_('Cached'), _('The amount of swap cached'), swap_cached_box)) swap_used_box = Gtk.Box.new(Gtk.Orientation.VERTICAL, 5) self.swap_used = Gtk.Label() self.swap_used.set_width_chars(20) self.swap_used.set_valign(Gtk.Align.CENTER) swap_used_box.add(self.swap_used) self.swap_used_progress = Gtk.LevelBar() self.swap_used_progress.set_min_value(0) self.swap_used_progress.set_max_value(1) swap_used_box.add(self.swap_used_progress) listbox1.add( SettingRow(_('used'), _('The amount of swap used'), swap_used_box)) self.raspberryClient = RaspberryClient.fromConfiguration() self.load_information()
def __set_ui(self): handycolumn = Handy.Column() handycolumn.set_maximum_width(700) handycolumn.set_margin_top(24) self.add(handycolumn) box = Gtk.Box.new(Gtk.Orientation.VERTICAL, 5) handycolumn.add(box) label0 = Gtk.Label(_('Configure connection')) label0.set_name('special') label0.set_halign(Gtk.Align.START) box.add(label0) listbox0 = Gtk.ListBox() box.add(listbox0) self.hostname = Gtk.Entry() self.hostname.set_valign(Gtk.Align.CENTER) listbox0.add( SettingRow(_('Hostname'), _('Set the hostname or IP'), self.hostname)) self.port = Gtk.Entry() self.port.set_valign(Gtk.Align.CENTER) listbox0.add(SettingRow(_('Port'), _('Set the port'), self.port)) self.username = Gtk.Entry() self.username.set_valign(Gtk.Align.CENTER) listbox0.add( SettingRow(_('User name'), _('Set the user name.'), self.username)) label1 = Gtk.Label(_('Credentials')) label1.set_name('special') label1.set_halign(Gtk.Align.START) box.add(label1) listbox1 = Gtk.ListBox() box.add(listbox1) self.connection_option = Gtk.Switch() self.connection_option.set_state(True) self.connection_option.connect('state-set', self.on_connection_option_activate) self.connection_option.set_valign(Gtk.Align.CENTER) listbox1.add( SettingRow(_('Select credentials by password or key file'), _('If switch is on credentials by password'), self.connection_option)) self.listbox2 = Gtk.ListBox() box.add(self.listbox2) self.password = Gtk.Entry() self.password.set_valign(Gtk.Align.CENTER) self.listbox2.add( SettingRow(_('Password'), _('Set the user password'), self.password)) self.listbox3 = Gtk.ListBox() self.listbox3.set_sensitive(False) box.add(self.listbox3) self.keyfile = Gtk.FileChooserButton.new(_('Select keyfile'), Gtk.FileChooserAction.OPEN) self.keyfile.set_current_folder(os.path.expanduser('~/.ssh')) file_filter = Gtk.FileFilter.new() file_filter.set_name(_('*.pub files')) file_filter.add_pattern('*.pub') self.keyfile.add_filter(file_filter) self.keyfile.set_valign(Gtk.Align.CENTER) self.listbox3.add( SettingRow(_('keyfile'), _('Set the keyfile'), self.keyfile)) label2 = Gtk.Label(_('Test connection')) label2.set_name('special') label2.set_halign(Gtk.Align.START) box.add(label2) self.listbox4 = Gtk.ListBox() box.add(self.listbox4) self.test_connection = Gtk.Button.new_with_label(_('Unknown')) self.test_connection.set_valign(Gtk.Align.CENTER) self.test_connection.connect('clicked', self.on_test_connection_clicked) self.listbox4.add( SettingRow(_('Test connection'), _('Results can be: Unknown, OK or KO'), self.test_connection)) self.load_configuration()
import subprocess import os from pathlib import Path import gi gi.require_version('Gtk', '3.0') gi.require_version('Handy', '0.0') from gi.repository import Gtk, Handy import xdg.BaseDirectory import thumbdrives.vdisk as vdisk Handy.Column() @Gtk.Template(resource_path='/nl/brixit/Thumbdrives/window.ui') class ThumbdrivesWindow(Gtk.ApplicationWindow): __gtype_name__ = 'ThumbdrivesWindow' headerbar = Gtk.Template.Child() main_stack = Gtk.Template.Child() header_stack = Gtk.Template.Child() unmount = Gtk.Template.Child() thumbdrive_list = Gtk.Template.Child() iso_list = Gtk.Template.Child() frame_thumbdrive = Gtk.Template.Child() no_thumbdrive = Gtk.Template.Child() frame_iso = Gtk.Template.Child()
def __set_ui(self): handycolumn = Handy.Column() handycolumn.set_maximum_width(700) handycolumn.set_margin_top(24) self.add(handycolumn) box = Gtk.Box.new(Gtk.Orientation.VERTICAL, 5) handycolumn.add(box) label0 = Gtk.Label(_('Peripherals')) label0.set_name('special') label0.set_alignment(0, 0.5) box.add(label0) listbox0 = Gtk.ListBox() box.add(listbox0) self.options = {} for index in range(0, 3): self.options[index] = Gtk.Switch() self.options[index].set_valign(Gtk.Align.CENTER) listbox0.add(SettingRow(_('Disable camera'), _('Avoid applications to use the camera.'), self.options[0])) listbox0.add(SettingRow(_('Disable microphone'), _('Avoid applications to use the microphone.'), self.options[1])) listbox0.add(SettingRow(_('Disable sound outp'), _('Avoid applications to play sound.'), self.options[2])) label1 = Gtk.Label(_('Identity')) label1.set_name('special') label1.set_alignment(0, 0.5) box.add(label1) listbox1 = Gtk.ListBox() box.add(listbox1) self.options[3] = Gtk.Switch() self.options[3].set_valign(Gtk.Align.CENTER) listbox1.add(SettingRow(_('Hide identity'), _('Hide personal information.'), self.options[3])) label2 = Gtk.Label(_('Remember')) label2.set_name('special') label2.set_alignment(0, 0.5) box.add(label2) listbox2 = Gtk.ListBox() box.add(listbox2) for index in range(4, 8): self.options[index] = Gtk.Switch() self.options[index].set_valign(Gtk.Align.CENTER) listbox2.add(SettingRow(_('Forget application usage'), _('Forget application usage.'), self.options[4])) listbox2.add(SettingRow(_('Forget recent files'), _('Forget recent files.'), self.options[5])) listbox2.add(SettingRow(_('Remove temporary files'), _('Remove old temporary files automatically.'), self.options[6])) listbox2.add(SettingRow(_('Remove trash files'), _('Remove old trash files automatically.'), self.options[7])) label3 = Gtk.Label(_('Statistics')) label3.set_name('special') label3.set_alignment(0, 0.5) box.add(label3) listbox3 = Gtk.ListBox() box.add(listbox3) for index in range(8, 11): self.options[index] = Gtk.Switch() self.options[index].set_valign(Gtk.Align.CENTER) listbox3.add(SettingRow(_('Send technical problems'), _('Send technical problems.'), self.options[8])) listbox3.add(SettingRow(_('Send software usage'), _('Send softwarew usage statistics.'), self.options[9])) listbox3.add(SettingRow(_('Ubuntu popularity contest'), _('Send information about installed packages'), self.options[10])) self.__load_default_states()
def assemble_stack(self): self.overlay = Gtk.Overlay() unlock_failed_overlay = self.builder.get_object( "unlock_failed_overlay") self.overlay.add_overlay(unlock_failed_overlay) stack = Gtk.Stack() stack.set_transition_type(Gtk.StackTransitionType.CROSSFADE) unlock_database_stack_box = self.builder.get_object( "unlock_database_stack_box") self.unlock_database_stack_switcher = self.builder.get_object( "unlock_database_stack_switcher") self.unlock_database_stack_switcher.set_stack(stack) password_unlock_stack_page = self.builder.get_object( "password_unlock_stack_page") keyfile_unlock_stack_page = self.builder.get_object( "keyfile_unlock_stack_page") composite_unlock_stack_page = self.builder.get_object( "composite_unlock_stack_page") stack.add_titled(password_unlock_stack_page, "password_unlock", _("Password")) stack.child_set_property(password_unlock_stack_page, "icon-name", "input-dialpad-symbolic") stack.add_titled(keyfile_unlock_stack_page, "keyfile_unlock", _("Keyfile")) stack.child_set_property(keyfile_unlock_stack_page, "icon-name", "mail-attachment-symbolic") # NOTE: Composite unlock is a authentification method where both password and keyfile are required stack.add_titled(composite_unlock_stack_page, "composite_unlock", _("Composite")) stack.child_set_property(composite_unlock_stack_page, "icon-name", "insert-link-symbolic") pairs = passwordsafe.config_manager.get_last_used_composite_key() uri = Gio.File.new_for_path(self.database_filepath).get_uri() if passwordsafe.config_manager.get_remember_composite_key( ) is True and pairs: keyfile_path = None for pair in pairs: if pair[0] == uri: keyfile_path = pair[1] if keyfile_path is not None: composite_unlock_select_button = self.builder.get_object( "composite_unlock_select_button") label = Gtk.Label() label.set_text(ntpath.basename(keyfile_path)) label.set_ellipsize(Pango.EllipsizeMode.END) composite_unlock_select_button.remove( composite_unlock_select_button.get_children()[0]) composite_unlock_select_button.add(label) self.composite_keyfile_path = keyfile_path if passwordsafe.config_manager.get_remember_unlock_method() is True: stack.set_visible_child( stack.get_child_by_name( passwordsafe.config_manager.get_unlock_method() + "_unlock")) self.overlay.add(stack) unlock_database_stack_box.add(self.overlay) unlock_database_stack_box.show_all() # Responsive Container self.hdy_page = Handy.Column() self.hdy_page.set_maximum_width(300) self.hdy_page.set_margin_left(15) self.hdy_page.set_margin_right(15) self.hdy_page.add(unlock_database_stack_box) self.hdy_page.show_all() self.parent_widget.add(self.hdy_page) self.connect_events(stack)
def __set_ui(self): handycolumn = Handy.Column() handycolumn.set_maximum_width(700) handycolumn.set_margin_top(24) self.add(handycolumn) box = Gtk.Box.new(Gtk.Orientation.VERTICAL, 5) handycolumn.add(box) label0 = Gtk.Label(_('Custom desktop')) label0.set_name('special') label0.set_alignment(0, 0.5) box.add(label0) listbox0 = Gtk.ListBox() box.add(listbox0) self.options = {} for index in range(0, 2): self.options[index] = Gtk.Switch() self.options[index].set_valign(Gtk.Align.CENTER) icon_size = Gtk.ListStore(str, str) icon_size.append([_('Small'), 'small']) icon_size.append([_('Standard'), 'standard']) icon_size.append([_('Large'), 'large']) self.options['icon-size'] = Gtk.ComboBox.new() self.options['icon-size'].set_model(icon_size) cell1 = Gtk.CellRendererText() self.options['icon-size'].pack_start(cell1, True) self.options['icon-size'].add_attribute(cell1, 'text', 0) listbox0.add( SettingRow(_('Icon size'), _('Set the icon size on the desktop.'), self.options['icon-size'])) listbox0.add( SettingRow(_('Hide home'), _('Hide your user folder.'), self.options[0])) listbox0.add( SettingRow(_('Hide trash'), _('Hide the trash folder.'), self.options[1])) label1 = Gtk.Label(_('Calendar')) label1.set_name('special') label1.set_alignment(0, 0.5) box.add(label1) listbox1 = Gtk.ListBox() box.add(listbox1) for index in range(2, 6): self.options[index] = Gtk.Switch() self.options[index].set_valign(Gtk.Align.CENTER) listbox1.add( SettingRow(_('Show week number'), _('Show week number in calendar.'), self.options[2])) listbox1.add( SettingRow(_('Hide date'), _('Hide date in the watch'), self.options[3])) listbox1.add( SettingRow(_('Show seconds'), _('Show seconds in the watch'), self.options[4])) listbox1.add( SettingRow(_('Show weekday'), _('Show weekday in the watch'), self.options[5])) label2 = Gtk.Label(_('Battery')) label2.set_name('special') label2.set_alignment(0, 0.5) box.add(label2) listbox2 = Gtk.ListBox() box.add(listbox2) self.options[6] = Gtk.Switch() self.options[6].set_valign(Gtk.Align.CENTER) listbox2.add( SettingRow(_('Show battery percentage'), _('Show battery percentage.'), self.options[6])) label3 = Gtk.Label(_('Experimental')) label3.set_name('special') label3.set_alignment(0, 0.5) box.add(label3) listbox3 = Gtk.ListBox() box.add(listbox3) self.options[7] = Gtk.Switch() self.options[7].set_valign(Gtk.Align.CENTER) listbox3.add( SettingRow(_('Enable HiDPI Fractional Scaling'), _('Enable experimenal HiDPI Fractional \ Scaling.'), self.options[7])) self.__load_default_states()
def __set_ui(self): handycolumn = Handy.Column() handycolumn.set_maximum_width(700) handycolumn.set_margin_top(24) self.add(handycolumn) box = Gtk.Box.new(Gtk.Orientation.VERTICAL, 5) handycolumn.add(box) label = Gtk.Label(_('Custom dock')) label.set_name('special') label.set_alignment(0, 0.5) box.add(label) listbox0 = Gtk.ListBox() box.add(listbox0) self.options = {} for index in range(0, 3): self.options[index] = Gtk.Switch() self.options[index].set_valign(Gtk.Align.CENTER) dock_position = Gtk.ListStore(str, str) dock_position.append([_('Left'), 'LEFT']) dock_position.append([_('Right'), 'RIGHT']) dock_position.append([_('Top'), 'TOP']) dock_position.append([_('Bottom'), 'BOTTOM']) self.options['dock-position'] = Gtk.ComboBox.new() self.options['dock-position'].set_model(dock_position) cell1 = Gtk.CellRendererText() self.options['dock-position'].pack_start(cell1, True) self.options['dock-position'].add_attribute(cell1, 'text', 0) listbox0.add( SettingRow(_('Dock position'), _('Set the dock position on the screen.'), self.options['dock-position'])) listbox0.add( SettingRow(_('Enable minimize click action'), _('Minimize when clicking on a running app.'), self.options[0])) listbox0.add( SettingRow(_('Reduce dock length'), _('Reduce the dock container to icons.'), self.options[1])) listbox0.add( SettingRow(_('Force straight corner'), _('Make the borders in the dash non rounded.'), self.options[2])) label1 = Gtk.Label('Monitor') label1.set_name('special') label1.set_alignment(0, 0.5) box.add(label1) listbox1 = Gtk.ListBox() box.add(listbox1) for index in range(3, 5): self.options[index] = Gtk.Switch() self.options[index].set_valign(Gtk.Align.CENTER) listbox1.add( SettingRow(_('Isolate monitors'), _('Provide monitor isolation'), self.options[3])) listbox1.add( SettingRow(_('Multi monitor'), _('Enable multi monitor dock'), self.options[4])) label2 = Gtk.Label('Show in dock') label2.set_name('special') label2.set_alignment(0, 0.5) box.add(label2) listbox2 = Gtk.ListBox() box.add(listbox2) for index in range(5, 9): self.options[index] = Gtk.Switch() self.options[index].set_valign(Gtk.Align.CENTER) listbox2.add( SettingRow(_('Hide applications button'), _('Hide applications button'), self.options[5])) listbox2.add( SettingRow(_('Show apps at top'), _('Show application button at top'), self.options[6])) listbox2.add( SettingRow(_('Hide favorites'), _('Hide favorites apps'), self.options[7])) listbox2.add( SettingRow(_('Hide running'), _('Hide running apps'), self.options[8])) self.__load_default_states()