def setup(self): """ Setup container """ self.__widget = Handy.Leaflet() self.__widget.show() self.__sub_widget = Handy.Leaflet() self.__sub_widget.show() self.__focused_view = None self._stack = StackContainer() self._stack.show() ListsContainer.__init__(self) self.__progress = ProgressBar() self.__progress.get_style_context().add_class("progress-bottom") self.__progress.set_property("valign", Gtk.Align.END) self.add_overlay(self.__progress) search_action = App().lookup_action("search") search_action.connect("activate", self.__on_search_activate) self.__widget.add(self.sidebar) self.__grid_view = Grid() self.__grid_view.set_orientation(Gtk.Orientation.VERTICAL) self.__grid_view.show() self.__sub_widget.add(self.left_list) self.__sub_widget.add(self.__grid_view) self.__grid_view.attach(self._stack, 0, 0, 1, 1) self.__widget.add(self.__sub_widget) self.__widget.set_visible_child(self.__sub_widget) self.__sub_widget.set_visible_child(self.__grid_view) self.add(self.__widget) FilterContainer.__init__(self)
def do_startup(self): Gtk.Application.do_startup(self) Handy.init() actions = [{ 'name': 'settings', 'func': self.show_settings_window, 'accel': '<Primary>comma' }, { 'name': 'about', 'func': self.show_about_dialog }, { 'name': 'logout', 'func': self.log_out }, { 'name': 'search-guilds', 'func': self.search_guilds, 'accel': '<Primary>k' }] for a in actions: c_action = Gio.SimpleAction.new(a['name'], None) c_action.connect('activate', a['func']) self.add_action(c_action) if 'accel' in a.keys(): self.set_accels_for_action(f'app.{a["name"]}', [a['accel']])
def generate_profiles_page(self): """Create preference groups for profiles""" new_profile = Handy.PreferencesGroup(title=_("New profile")) self.custom_profiles = Handy.PreferencesGroup(title=_("User profiles")) self.system_profiles = Handy.PreferencesGroup( title=_("System profiles")) self.builtin_profiles = Handy.PreferencesGroup( title=_("Built-in profiles")) self.profile_overview.add(new_profile) self.profile_overview.add(self.custom_profiles) self.profile_overview.add(self.system_profiles) self.profile_overview.add(self.builtin_profiles) # Add entry for current profile prof_entry = Handy.ActionRow(title=_("Profile name")) save_me = Gtk.Button.new_from_icon_name("document-save", 1) save_me.set_sensitive(False) self.profile_name_entry = Gtk.Entry(placeholder_text=_("Name")) self.profile_name_entry.connect("changed", self.on_prof_name_changed, save_me) prof_entry.add(self.profile_name_entry) prof_entry.add(save_me) save_me.connect("clicked", self.on_save_profile_clicked) prof_entry.set_activatable_widget(save_me) new_profile.add(prof_entry) self._generate_profile_list()
def main(version): Handy.init() app = Application() app.version = version return app.run(sys.argv)
def do_startup(self): Gtk.Application.do_startup(self) GLib.set_application_name(_('Komikku')) GLib.set_prgname(self.application_id) Handy.init() Notify.init(_('Komikku'))
def do_startup(self): # Startup application Gtk.Application.do_startup(self) self.setup_actions() self.load_css() # Init Handy Handy.init()
def do_startup(self): log.info(distro.linux_distribution(full_distribution_name=False)) log.info("Starting up cozy " + __version__) self.ui = CozyUI(self.pkgdatadir, self, __version__) init_db() Gtk.Application.do_startup(self) Handy.init() log.info("libhandy version: {}".format(Handy._version)) self.ui.startup()
def do_startup(self): Gtk.Application.do_startup(self) Handy.init() action = Gio.SimpleAction.new("quit", None) action.connect("activate", self.do_quit) self.add_action(action) self.set_accels_for_action("app.quit", ["<Ctl>q"])
def _setup(self): Handy.init() self._popup = None self._worker = None self._busy = False self._editing = False self._to_copy = [] self._to_cut = [] self._last_clicked = None self._dont_activate = False self._force_select = False self._history = [] self._index = -1 self._search_delay_handler_id = 0 self.gesture = Gtk.GestureLongPress.new(self.treeview) self.gesture.connect("pressed", self._on_long_pressed) self.filtered.set_visible_func(self._filter, data=None) self.sorted.set_default_sort_func(self._sort, None) self.selection.connect("changed", self._on_selection_changed) self.selection.set_select_function(self._on_select) self.treeview.connect("row-activated", self._on_row_activated) self.treeview.connect("button-press-event", self._on_clicked) self.name_cell.connect("editing-started", self._on_rename_started) self.name_cell.connect("editing-canceled", self._on_rename_finished) self.name_cell.connect("edited", self._on_rename_updated) self.previous.connect("clicked", self._on_go_previous) self.next.connect("clicked", self._on_go_next) self.rename.connect("clicked", self._on_rename_clicked) self.delete.connect("clicked", self._on_delete_clicked) self.cut.connect("clicked", self._on_cut_clicked) self.copy.connect("clicked", self._on_copy_clicked) self.paste.connect("clicked", self._on_paste_clicked) self.select_all.connect("clicked", self._on_select_all) self.select_none.connect("clicked", self._on_select_none) self.new_folder.connect("clicked", self._on_new_folder) self.close_button.connect("clicked", self._on_button_closed) self.help_button.connect("clicked", self._on_help_clicked) self.about_button.connect("clicked", self._on_about_clicked) self.show_hidden_button.connect("toggled", self._on_hidden_toggled) self.a_to_z_button.connect("toggled", self._on_sort_toggled) self.search.connect("toggled", self._on_search_toggled) self.search_entry.connect("search-changed", self._on_search_changed) self.search_entry.connect("stop-search", self._on_search_stopped) self.back.connect("clicked", self._on_back_clicked) places = PortfolioPlaces() places.connect("updated", self._on_places_updated) places.connect("removed", self._on_places_removed) self.places_box.add(places) self._move(PortfolioPlaces.PORTFOLIO_HOME_DIR)
def __init__(self, names): Gtk.Window.__init__(self, title=APP_NAME) self.set_default_size(800, 600) self.set_position(Gtk.WindowPosition.CENTER) hb = Handy.HeaderBar() hb.set_show_close_button(True) hb.props.title = APP_NAME self.set_titlebar(hb) button = Gtk.Button() button.add(Gtk.Image.new_from_icon_name( "document-new", Gtk.IconSize.BUTTON)) button.connect("clicked", self.on_new_clicked) # , args) hb.pack_start(button) button = Gtk.Button() button.add(Gtk.Image.new_from_icon_name( "help-symbolic", Gtk.IconSize.BUTTON)) button.connect("clicked", self.on_about_clicked) hb.pack_end(button) scrolled = Gtk.ScrolledWindow() scrolled.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC) self.add(scrolled) self.vbox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) Gtk.StyleContext.add_class(self.vbox.get_style_context(), "linked") scrolled.add(self.vbox) options = ["Won", "Lost", "Draw"] self.group = [] for name in range(len(names)): self.group = Handy.PreferencesGroup() self.group.set_title(names[name]) for i in range(3): self.adjustment = Gtk.Adjustment() self.adjustment.set_value(0) self.adjustment.set_lower(-10000) self.adjustment.set_upper(10000) self.adjustment.set_step_increment(1) self.adjustment.set_page_increment(10) self.adjustment.set_page_size(0) self.player_spin = Gtk.SpinButton() self.player_spin.set_adjustment(self.adjustment) self.player_spin.set_digits(0) self.player_spin.set_value(0) self.row = Handy.ActionRow() self.row.set_title(options[i]) self.row.add_action(self.player_spin) self.row.set_activatable_widget(self.player_spin) self.group.add(self.row) self.vbox.pack_start(self.group, True, True, 0)
def do_startup(self): Handy.init() Gtk.Application.do_startup(self) self.setup_actions() self.build_gstreamer_pipeline() devmonitor = Gst.DeviceMonitor.new() devmonitor.add_filter('Video/Source', Gst.Caps.from_string('video/x-raw')) logger.debug('Monitor: {}', devmonitor) self.devmonitor = devmonitor NM.Client.new_async(None, self.cb_networkmanager_client_init_done)
def init(): print("initializing") Gtk.init() Handy.init() global builder builder = Gtk.Builder() builder.add_from_file("/app/bin/app.ui") builder.connect_signals(Handler()) global objects objects = builder.get_objects() o("window").show_all() print("initialized")
def do_startup(self): Gtk.Application.do_startup(self) Handy.init() # Load CSS css_provider = Gtk.CssProvider() css_provider.load_from_resource( '/com/rafaelmardojai/WebfontKitGenerator/css/styles.css') screen = Gdk.Screen.get_default() style_context = Gtk.StyleContext() style_context.add_provider_for_screen(screen, css_provider, Gtk.STYLE_PROVIDER_PRIORITY_USER)
def do_startup(self): Gtk.Application.do_startup(self) css_provider = Gtk.CssProvider() css_provider.load_from_resource(f"{Constants.RESOURCEID}/ui/style.css") screen = Gdk.Screen.get_default() Gtk.StyleContext.add_provider_for_screen( screen, css_provider, Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION, ) self.setup_actions() Handy.init()
def do_startup(self): if os.path.isdir('/var/cache/files') is False: os.mkdir('/var/cache/files') os.mkdir('/var/cache/files/covers') Gtk.Application.do_startup(self) Handy.init() action = Gio.SimpleAction.new("quit", None) action.connect("activate", self.do_quit) self.add_action(action) self.set_accels_for_action("app.quit", ["<Ctl>q"])
def __init__(self, version: str = None): super().__init__(application_id=APP_ID, flags=Gio.ApplicationFlags.HANDLES_OPEN | Gio.ApplicationFlags.HANDLES_COMMAND_LINE) Handy.init() self.add_main_option('new', 110, GLib.OptionFlags.OPTIONAL_ARG, GLib.OptionArg.STRING, _('Open new document on start.')) self.version = version # Init GSettings self.settings = Settings.new() self.init_style() self.window: NorkaWindow = None # Init storage location and SQL structure self.base_path = os.path.join(GLib.get_user_data_dir(), APP_TITLE) storage_path = self.settings.get_string("storage-path") if not storage_path: storage_path = os.path.join(self.base_path, STORAGE_NAME) self.settings.set_string("storage-path", storage_path) self.storage = Storage(storage_path) try: self.storage.init() except Exception as e: sys.exit(e) quit_action = Gio.SimpleAction.new("quit", None) quit_action.connect("activate", self.on_quit) self.add_action(quit_action) self.set_accels_for_action('app.quit', ('<Control>q',)) about_action = Gio.SimpleAction.new("about", None) about_action.connect("activate", self.on_about) self.add_action(about_action) preferences_action = Gio.SimpleAction.new("preferences", None) preferences_action.connect("activate", self.on_preferences) self.add_action(preferences_action) self.set_accels_for_action('app.preferences', ('<Control>comma',)) shortcuts_action = Gio.SimpleAction.new("shortcuts", None) shortcuts_action.connect("activate", self.on_shortcuts) self.add_action(shortcuts_action) format_shortcuts_action = Gio.SimpleAction.new("format_shortcuts", None) format_shortcuts_action.connect("activate", self.on_format_shortcuts) self.add_action(format_shortcuts_action)
def do_startup(self): """ Init application """ Gtk.Application.do_startup(self) Handy.init() if self.__window is None: from lollypop.window import Window self.init() self.__window = Window() self.__window.connect("delete-event", self.__hide_on_delete) self.__window.setup() self.__window.show() self.player.restore_state()
def do_startup(self): Gtk.Application.do_startup(self) Handy.init() self._style_manager = Handy.StyleManager.get_default() if settings.get_int('theme') == 0: self._style_manager.set_color_scheme(Handy.ColorScheme.FORCE_LIGHT) elif settings.get_int('theme') == 1: self._style_manager.set_color_scheme(Handy.ColorScheme.FORCE_DARK) elif settings.get_int('theme') == 2: self._style_manager.set_color_scheme(Handy.ColorScheme.FORCE_LIGHT) elif settings.get_int('theme') == 3: self._style_manager.set_color_scheme( Handy.ColorScheme.PREFER_LIGHT) action = Gio.SimpleAction.new('prefs', None) action.connect('activate', self._prefs_cb) self.add_action(action) self.set_accels_for_action('app.prefs', ('<Ctrl>E', )) action = Gio.SimpleAction.new('theme_system', None) action.connect('activate', self._theme_system) self.add_action(action) action = Gio.SimpleAction.new('theme_light', None) action.connect('activate', self._theme_light) self.add_action(action) action = Gio.SimpleAction.new('theme_sepia', None) action.connect('activate', self._theme_sepia) self.add_action(action) action = Gio.SimpleAction.new('theme_dark', None) action.connect('activate', self._theme_dark) self.add_action(action) action = Gio.SimpleAction.new('shortcuts', None) action.connect('activate', self._shortcuts_cb) self.add_action(action) self.set_accels_for_action('app.shortcuts', ('<Ctrl>question', )) action = Gio.SimpleAction.new('about', None) action.connect('activate', self._about_cb) self.add_action(action) action = Gio.SimpleAction.new('quit', None) action.connect('activate', self._quit_cb) self.add_action(action) self.set_accels_for_action('app.quit', ('<Ctrl>Q', ))
def __init__(self, application_id, *args, **kwargs): super().__init__(*args, application_id=application_id, flags=Gio.ApplicationFlags.HANDLES_OPEN, **kwargs) self.add_main_option("verbose", b"v", GLib.OptionFlags.NONE, GLib.OptionArg.NONE, "Verbose output", None) Handy.init() self.window = None self.settings = Settings.new() self.inhibitor = None self._application_id = application_id
def do_startup(self): Gtk.Application.do_startup(self) GLib.set_application_name(_('Dialect')) GLib.set_prgname('com.github.gi_lom.dialect') self.setup_actions() Handy.init() # Init Handy Gst.init(None) # Init Gst # Load CSS css_provider = Gtk.CssProvider() css_provider.load_from_resource(f'{RES_PATH}/style.css') screen = Gdk.Screen.get_default() style_context = Gtk.StyleContext() style_context.add_provider_for_screen(screen, css_provider, Gtk.STYLE_PROVIDER_PRIORITY_USER)
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 do_startup(self): Gtk.Application.do_startup(self) Handy.init() css_provider = Gtk.CssProvider() css_provider.load_from_resource('/io/github/seadve/Kooha/style.css') screen = Gdk.Screen.get_default() Gtk.StyleContext.add_provider_for_screen(screen, css_provider, Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION) self.settings = Gio.Settings.new('io.github.seadve.Kooha') self.setup_actions() self.set_accels_for_action("app.show-shortcuts", ["<Ctrl>question"]) self.set_accels_for_action("app.change-capture-mode", ["<Ctrl>f"]) self.set_accels_for_action("app.quit", ["<Ctrl>q"])
def do_startup(self): Gtk.Application.do_startup(self) css_provider = Gtk.CssProvider() css_provider.load_from_resource('/io/github/seadve/Kooha/style.css') screen = Gdk.Screen.get_default() Gtk.StyleContext.add_provider_for_screen( screen, css_provider, Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION, ) self.settings = Gio.Settings.new('io.github.seadve.Kooha') self.setup_actions() Handy.init()
def generate_headerbar(self): close_button = Gtk.Button(image=Gtk.Image().new_from_icon_name( "application-exit", Gtk.IconSize.SMALL_TOOLBAR)) close_button.props.name = "custom-close" close_button.props.always_show_image = True close_button.props.can_focus = False close_button.props.margin = 2 close_button.set_size_request(16, 16) close_button.get_style_context().remove_class("image-button") close_button.get_style_context().add_class("titlebutton") close_button.connect("clicked", self.on_close_window) close_button.connect("button-press-event", self.on_close_pressed) close_button.connect("held", self.on_close_held) menu_button = Gtk.Button(image=Gtk.Image().new_from_icon_name( "com.github.hezral-settings-symbolic", Gtk.IconSize.SMALL_TOOLBAR)) menu_button.props.name = "custom-menu" menu_button.props.always_show_image = True menu_button.props.can_focus = False menu_button.props.margin = 2 menu_button.set_size_request(16, 16) menu_button.get_style_context().remove_class("image-button") menu_button.get_style_context().add_class("titlebutton") # menu_button.connect("clicked", self.on_menu_clicked) menu_button.connect("clicked", self.on_settings_clicked) search_button = Gtk.Button(image=Gtk.Image().new_from_icon_name( "system-search-symbolic", Gtk.IconSize.SMALL_TOOLBAR)) search_button.props.name = "custom-search" search_button.props.always_show_image = True search_button.props.can_focus = False search_button.props.margin = 2 search_button.props.margin_right = 0 search_button.set_size_request(16, 16) search_button.get_style_context().remove_class("image-button") search_button.get_style_context().add_class("titlebutton") search_button.connect("clicked", self.on_search_clicked) self.search_revealer = Gtk.Revealer() self.search_revealer.props.transition_duration = 2000 self.search_revealer.props.transition_type = Gtk.RevealerTransitionType.CROSSFADE self.search_revealer.add(search_button) header = Handy.HeaderBar() header.props.hexpand = True # header.props.title = "Stashed" # header.props.valign = Gtk.Align.START # header.props.halign = Gtk.Align.FILL header.props.spacing = 0 header.props.has_subtitle = False header.props.show_close_button = False header.props.decoration_layout = ":" header.get_style_context().add_class( Granite.STYLE_CLASS_DEFAULT_DECORATION) header.get_style_context().add_class(Gtk.STYLE_CLASS_FLAT) header.pack_start(close_button) header.pack_end(menu_button) header.pack_end(self.search_revealer) return header
def __get_new_chooser(self, uri): """ Get a new chooser @param uri as str @return Handy.ActionRow """ chooser = Gtk.FileChooserButton() chooser.show() chooser.set_local_only(False) chooser.set_action(Gtk.FileChooserAction.SELECT_FOLDER) chooser.set_valign(Gtk.Align.CENTER) chooser.set_hexpand(True) self.__choosers.append(chooser) if uri is not None: chooser.set_uri(uri) button = Gtk.Button.new_from_icon_name("list-remove-symbolic", Gtk.IconSize.BUTTON) button.show() button.set_valign(Gtk.Align.CENTER) row = Handy.ActionRow() row.show() row.add(chooser) row.add(button) button.connect("clicked", lambda x: self.__choosers.remove(chooser)) button.connect("clicked", lambda x: row.destroy()) return row
class HelloWindow(Handy.ApplicationWindow): __gtype_name__ = 'HelloWindow' Handy.init() def __init__(self, **kwargs): super().__init__(**kwargs) header = Handy.HeaderBar() header.props.show_close_button = True header.props.hexpand = True header.props.title = "Hello World" label = Gtk.Label("Hello World") label.props.expand = True label.props.valign = label.props.halign = Gtk.Align.CENTER grid = Gtk.Grid() grid.props.expand = True grid.attach(header, 0, 0, 1, 1) grid.attach(label, 0, 1, 1, 1) self.add(grid) self.props.default_width = 480 self.props.default_height = 320 self.show_all()
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 display_cover(self, data, size=35): loader = GdkPixbuf.PixbufLoader.new() loader.write(data) loader.close() loader = loader.get_pixbuf() loader = loader.scale_simple(size, size, GdkPixbuf.InterpType.BILINEAR) self.cover.set_image_load_func(Handy.AvatarImageLoadFunc(size, loader))
def mk_title_bar(self): title_bar = Handy.TitleBar() header = Gtk.HeaderBar( title='Pastebin Reader', show_close_button=True) self.popover = Gtk.Popover() vbox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) reload_btn = Gtk.ModelButton(label="Reload") reload_btn.connect("clicked", self.on_reload) save_btn = Gtk.ModelButton(label="Save") save_btn.connect("clicked", self.on_save) about_btn = Gtk.ModelButton(label="About") about_btn.connect("clicked", self.on_about) vbox.pack_start(reload_btn, False, True, 5) vbox.pack_start(save_btn, False, True, 5) vbox.pack_start(about_btn, False, True, 5) vbox.show_all() self.popover.add(vbox) self.popover.set_position(Gtk.PositionType.BOTTOM) btn = Gtk.MenuButton(popover=self.popover) icon = Gio.ThemedIcon(name="preferences-system-symbolic") image = Gtk.Image.new_from_gicon(icon, Gtk.IconSize.BUTTON) btn.add(image) header.add(btn) title_bar.add(header) return title_bar
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]))