GtkWidget * hitori_create_interface (Hitori *hitori) { GtkBuilder *builder; GtkStyleContext *style_context; GtkCssProvider *css_provider; const PangoFontDescription *font; GAction *action; builder = gtk_builder_new_from_resource ("/org/gnome/Hitori/ui/hitori.ui"); gtk_builder_set_translation_domain (builder, PACKAGE); gtk_builder_connect_signals (builder, hitori); /* Setup the main window */ hitori->window = GTK_WIDGET (gtk_builder_get_object (builder, "hitori_main_window")); hitori->drawing_area = GTK_WIDGET (gtk_builder_get_object (builder, "hitori_drawing_area")); hitori->timer_label = GTK_LABEL (gtk_builder_get_object (builder, "hitori_timer")); g_object_unref (builder); /* Set up actions */ g_action_map_add_action_entries (G_ACTION_MAP (hitori), app_entries, G_N_ELEMENTS (app_entries), hitori); g_action_map_add_action_entries (G_ACTION_MAP (hitori->window), win_entries, G_N_ELEMENTS (win_entries), hitori); action = g_settings_create_action (hitori->settings, "board-size"); g_action_map_add_action (G_ACTION_MAP (hitori), action); g_signal_connect (G_OBJECT (action), "notify::state", (GCallback) board_size_change_cb, hitori); g_object_unref (action); hitori->undo_action = G_SIMPLE_ACTION (g_action_map_lookup_action (G_ACTION_MAP (hitori->window), "undo")); hitori->redo_action = G_SIMPLE_ACTION (g_action_map_lookup_action (G_ACTION_MAP (hitori->window), "redo")); hitori->hint_action = G_SIMPLE_ACTION (g_action_map_lookup_action (G_ACTION_MAP (hitori->window), "hint")); /* Set up font descriptions for the drawing area */ style_context = gtk_widget_get_style_context (hitori->drawing_area); gtk_style_context_get (style_context, gtk_style_context_get_state (style_context), GTK_STYLE_PROPERTY_FONT, &font, NULL); hitori->normal_font_desc = pango_font_description_copy (font); hitori->painted_font_desc = pango_font_description_copy (font); /* Load CSS for the drawing area */ css_provider = gtk_css_provider_new (); gtk_css_provider_load_from_resource (css_provider, "/org/gnome/Hitori/ui/hitori.css"); gtk_style_context_add_provider (style_context, GTK_STYLE_PROVIDER (css_provider), GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); g_object_unref (css_provider); /* Reset the timer */ hitori_reset_timer (hitori); /* Disable undo/redo until a cell has been clicked. */ g_simple_action_set_enabled (hitori->undo_action, FALSE); g_simple_action_set_enabled (hitori->redo_action, FALSE); return hitori->window; }
void ide_editor_frame_actions_init (IdeEditorFrame *self) { GSimpleActionGroup *group; GAction *action; g_assert (IDE_IS_EDITOR_FRAME (self)); group = g_simple_action_group_new (); g_action_map_add_action_entries (G_ACTION_MAP (group), IdeEditorFrameActions, G_N_ELEMENTS (IdeEditorFrameActions), self); gtk_widget_insert_action_group (GTK_WIDGET (self), "frame", G_ACTION_GROUP (group)); g_object_unref (group); group = g_simple_action_group_new (); g_action_map_add_action_entries (G_ACTION_MAP (group), IdeEditorFrameSearchActions, G_N_ELEMENTS (IdeEditorFrameSearchActions), self); /* Disable replace and replace-all by default; they should only be enabled * when the corresponding operations would make sense. */ action = g_action_map_lookup_action (G_ACTION_MAP (group), "replace"); g_simple_action_set_enabled (G_SIMPLE_ACTION (action), FALSE); action = g_action_map_lookup_action (G_ACTION_MAP (group), "replace-all"); g_simple_action_set_enabled (G_SIMPLE_ACTION (action), FALSE); gtk_widget_insert_action_group (GTK_WIDGET (self->search_frame), "search-entry", G_ACTION_GROUP (group)); g_object_unref (group); }
static void activate (GApplication *app, gpointer user_data) { GtkWidget *win; GtkWidget *button; GSimpleActionGroup *doc_actions; GtkBuilder *builder; GMenuModel *doc_menu; GMenuModel *win_menu; GMenu *button_menu; GMenuItem *section; if (gtk_application_get_windows (GTK_APPLICATION (app)) != NULL) return; win = gtk_application_window_new (GTK_APPLICATION (app)); doc_actions = g_simple_action_group_new (); g_action_map_add_action_entries (G_ACTION_MAP (doc_actions), doc_entries, G_N_ELEMENTS (doc_entries), win); g_action_map_add_action_entries (G_ACTION_MAP (win), win_entries, G_N_ELEMENTS (win_entries), win); builder = gtk_builder_new (); gtk_builder_add_from_string (builder, menu_ui, -1, NULL); doc_menu = G_MENU_MODEL (gtk_builder_get_object (builder, "doc-menu")); win_menu = G_MENU_MODEL (gtk_builder_get_object (builder, "win-menu")); button_menu = g_menu_new (); section = g_menu_item_new_section (NULL, doc_menu); g_menu_item_set_attribute (section, "action-namespace", "s", "doc"); g_menu_append_item (button_menu, section); g_object_unref (section); section = g_menu_item_new_section (NULL, win_menu); g_menu_item_set_attribute (section, "action-namespace", "s", "win"); g_menu_append_item (button_menu, section); g_object_unref (section); button = gtk_menu_button_new (); gtk_button_set_label (GTK_BUTTON (button), "Menu"); gtk_widget_insert_action_group (button, "doc", G_ACTION_GROUP (doc_actions)); gtk_menu_button_set_menu_model (GTK_MENU_BUTTON (button), G_MENU_MODEL (button_menu)); gtk_container_add (GTK_CONTAINER (win), button); gtk_container_set_border_width (GTK_CONTAINER (win), 12); gtk_widget_show_all (win); g_object_unref (button_menu); g_object_unref (doc_actions); g_object_unref (builder); }
static void twitux_app_init_app_menu (GApplication *application) { GtkBuilder *builder; GError *error = NULL; gchar *menu_file; g_action_map_add_action_entries (G_ACTION_MAP (application), twitux_app_action_entries, G_N_ELEMENTS (twitux_app_action_entries), application); builder = gtk_builder_new (); menu_file = twitux_utils_lookup_file ("twitux-app-menu.xml"); gtk_builder_add_from_file (builder, menu_file, &error); if (error == NULL) { gtk_application_set_app_menu (GTK_APPLICATION (application), G_MENU_MODEL (gtk_builder_get_object (builder, "app-menu"))); gtk_application_set_menubar (GTK_APPLICATION (application), G_MENU_MODEL (gtk_builder_get_object (builder, "app-menubar"))); } else { g_critical ("Unable to setup the application menu: %s\n", error->message); g_error_free (error); } g_free (menu_file); g_object_unref (builder); }
int main (int argc, char *argv[]) { GtkApplication *app; GSettings *settings; GAction *action; gtk_init (NULL, NULL); app = gtk_application_new ("org.gtk.Demo2", 0); settings = g_settings_new ("org.gtk.Demo"); g_action_map_add_action_entries (G_ACTION_MAP (app), app_entries, G_N_ELEMENTS (app_entries), app); action = g_settings_create_action (settings, "color"); g_action_map_add_action (G_ACTION_MAP (app), action); g_signal_connect (app, "startup", G_CALLBACK (startup), NULL); g_signal_connect (app, "activate", G_CALLBACK (activate), NULL); g_application_run (G_APPLICATION (app), 0, NULL); return 0; }
void ide_application_actions_init (IdeApplication *self) { static const gchar *left[] = { "F9", NULL }; static const gchar *right[] = { "<shift>F9", NULL }; static const gchar *bottom[] = { "<control>F9", NULL }; static const gchar *global_search[] = { "<control>period", NULL }; static const gchar *new_file[] = { "<control>n", NULL }; static const gchar *shortcuts[] = { "<control>F1", "<control><shift>question", NULL }; static const gchar *help[] = { "F1", NULL }; static const gchar *command_bar[] = { "<ctrl>Return", "<ctrl>KP_Enter", NULL }; static const gchar *build[] = { "<ctrl>F7", NULL }; g_action_map_add_action_entries (G_ACTION_MAP (self), IdeApplicationActions, G_N_ELEMENTS (IdeApplicationActions), self); /* * FIXME: Once we get a new shortcuts engine, port these to that. */ gtk_application_set_accels_for_action (GTK_APPLICATION (self), "app.help", help); gtk_application_set_accels_for_action (GTK_APPLICATION (self), "app.shortcuts", shortcuts); gtk_application_set_accels_for_action (GTK_APPLICATION (self), "dockbin.bottom-visible", bottom); gtk_application_set_accels_for_action (GTK_APPLICATION (self), "dockbin.left-visible", left); gtk_application_set_accels_for_action (GTK_APPLICATION (self), "dockbin.right-visible", right); gtk_application_set_accels_for_action (GTK_APPLICATION (self), "perspective.new-file", new_file); gtk_application_set_accels_for_action (GTK_APPLICATION (self), "win.global-search", global_search); gtk_application_set_accels_for_action (GTK_APPLICATION (self), "win.show-command-bar", command_bar); gtk_application_set_accels_for_action (GTK_APPLICATION (self), "build-manager.build", build); ide_application_actions_update (self); }
static gboolean geyes_applet_fill (PanelApplet *applet) { EyesApplet *eyes_applet; GSimpleActionGroup *action_group; GAction *action; gchar *ui_path; panel_applet_set_flags (applet, PANEL_APPLET_EXPAND_MINOR); eyes_applet = create_eyes (applet); eyes_applet->settings = panel_applet_settings_new (applet, GEYES_PREFS_SCHEMA); eyes_applet->timeout_id = g_timeout_add ( UPDATE_TIMEOUT, (GSourceFunc) timer_cb, eyes_applet); action_group = g_simple_action_group_new (); g_action_map_add_action_entries (G_ACTION_MAP (action_group), geyes_applet_menu_actions, G_N_ELEMENTS (geyes_applet_menu_actions), eyes_applet); ui_path = g_build_filename (GEYES_MENU_UI_DIR, "geyes-applet-menu.xml", NULL); panel_applet_setup_menu_from_file (eyes_applet->applet, ui_path, action_group, GETTEXT_PACKAGE); g_free (ui_path); gtk_widget_insert_action_group (GTK_WIDGET (applet), "geyes", G_ACTION_GROUP (action_group)); action = g_action_map_lookup_action (G_ACTION_MAP (action_group), "preferences"); g_object_bind_property (applet, "locked-down", action, "enabled", G_BINDING_DEFAULT|G_BINDING_INVERT_BOOLEAN|G_BINDING_SYNC_CREATE); g_object_unref (action_group); gtk_widget_set_tooltip_text (GTK_WIDGET (eyes_applet->applet), _("Eyes")); set_atk_name_description (GTK_WIDGET (eyes_applet->applet), _("Eyes"), _("The eyes look in the direction of the mouse pointer")); g_signal_connect (eyes_applet->vbox, "destroy", G_CALLBACK (destroy_cb), eyes_applet); gtk_widget_show_all (GTK_WIDGET (eyes_applet->applet)); /* setup here and not in create eyes so the destroy signal is set so * that when there is an error within loading the theme * we can emit this signal */ if (properties_load (eyes_applet) == FALSE) return FALSE; setup_eyes (eyes_applet); return TRUE; }
void gb_project_tree_actions_init (GbProjectTree *self) { g_autoptr(GSettings) settings = NULL; g_autoptr(GSettings) tree_settings = NULL; g_autoptr(GSimpleActionGroup) actions = NULL; g_autoptr(GAction) action = NULL; g_autoptr(GVariant) show_icons = NULL; actions = g_simple_action_group_new (); settings = g_settings_new ("org.gtk.Settings.FileChooser"); action = g_settings_create_action (settings, "sort-directories-first"); g_action_map_add_action (G_ACTION_MAP (actions), action); g_action_map_add_action_entries (G_ACTION_MAP (actions), GbProjectTreeActions, G_N_ELEMENTS (GbProjectTreeActions), self); gtk_widget_insert_action_group (GTK_WIDGET (self), "project-tree", G_ACTION_GROUP (actions)); tree_settings = g_settings_new ("org.gnome.builder.project-tree"); show_icons = g_settings_get_value (tree_settings, "show-icons"); action_set (G_ACTION_GROUP (actions), "show-icons", "state", show_icons, NULL); gb_project_tree_actions_update (self); }
static void nautilus_application_init_actions (NautilusApplication *self) { GtkBuilder *builder; GError *error = NULL; const gchar *debug_no_app_menu; g_action_map_add_action_entries (G_ACTION_MAP (self), app_entries, G_N_ELEMENTS (app_entries), self); gtk_application_add_accelerator (GTK_APPLICATION (self), "F10", "win.gear-menu", NULL); builder = gtk_builder_new (); gtk_builder_add_from_resource (builder, "/org/gnome/nautilus/nautilus-app-menu.ui", &error); if (error == NULL) { gtk_application_set_app_menu (GTK_APPLICATION (self), G_MENU_MODEL (gtk_builder_get_object (builder, "app-menu"))); } else { g_critical ("Unable to add the application menu: %s\n", error->message); g_error_free (error); } g_object_unref (builder); debug_no_app_menu = g_getenv ("NAUTILUS_DEBUG_NO_APP_MENU"); if (debug_no_app_menu) { DEBUG ("Disabling app menu GtkSetting as requested..."); g_object_set (gtk_settings_get_default (), "gtk-shell-shows-app-menu", FALSE, NULL); } }
static void cem_application_startup(GApplication * app) { GtkBuilder *builder; GMenuModel *app_menu; const gchar *quit_accels[2] ={"<Ctrl >Q", NULL}; G_APPLICATION_CLASS(cem_application_parent_class)->startup(app); g_action_map_add_action_entries (G_ACTION_MAP(app), app_entries, G_N_ELEMENTS(app_entries), app); gtk_application_set_accels_for_action(GTK_APPLICATION(app), "app.quit", quit_accels); builder = gtk_builder_new_from_resource("/org/bandari/cem/glade/cem_menu.glade"); // app_menu = G_MENU_MODEL (gtk_builder_get_object(builder, "appmenu")); // gtk_application_set_app_menu(GTK_APPLICATION(app), app_menu); g_object_unref(builder); }
static void activate (GApplication *app) { GtkBuilder *builder; GtkWidget *window; GtkWidget *grid; GtkWidget *contents; GtkWidget *status; GtkWidget *message; GtkWidget *button; GtkWidget *infobar; GtkWidget *menutool; GMenuModel *toolmenu; GtkTextBuffer *buffer; window = gtk_application_window_new (GTK_APPLICATION (app)); gtk_window_set_title (GTK_WINDOW (window), "Application Class"); gtk_window_set_icon_name (GTK_WINDOW (window), "document-open"); gtk_window_set_default_size (GTK_WINDOW (window), 200, 200); g_action_map_add_action_entries (G_ACTION_MAP (window), win_entries, G_N_ELEMENTS (win_entries), window); builder = gtk_builder_new (); gtk_builder_add_from_resource (builder, "/application/application.ui", NULL); grid = (GtkWidget *)gtk_builder_get_object (builder, "grid"); contents = (GtkWidget *)gtk_builder_get_object (builder, "contents"); status = (GtkWidget *)gtk_builder_get_object (builder, "status"); message = (GtkWidget *)gtk_builder_get_object (builder, "message"); button = (GtkWidget *)gtk_builder_get_object (builder, "button"); infobar = (GtkWidget *)gtk_builder_get_object (builder, "infobar"); menutool = (GtkWidget *)gtk_builder_get_object (builder, "menutool"); toolmenu = (GMenuModel *)gtk_builder_get_object (builder, "toolmenu"); g_object_set_data (G_OBJECT (window), "message", message); g_object_set_data (G_OBJECT (window), "infobar", infobar); gtk_container_add (GTK_CONTAINER (window), grid); gtk_menu_tool_button_set_menu (GTK_MENU_TOOL_BUTTON (menutool), gtk_menu_new_from_model (toolmenu)); gtk_widget_grab_focus (contents); g_signal_connect (button, "clicked", G_CALLBACK (clicked_cb), infobar); /* Show text widget info in the statusbar */ buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (contents)); g_signal_connect_object (buffer, "changed", G_CALLBACK (update_statusbar), status, 0); g_signal_connect_object (buffer, "mark-set", G_CALLBACK (mark_set_callback), status, 0); update_statusbar (buffer, GTK_STATUSBAR (status)); gtk_widget_show_all (window); g_object_unref (builder); }
static void terminal_app_startup (GApplication *application) { const GActionEntry app_menu_actions[] = { { "preferences", app_menu_preferences_cb, NULL, NULL, NULL }, { "help", app_menu_help_cb, NULL, NULL, NULL }, { "about", app_menu_about_cb, NULL, NULL, NULL }, { "quit", app_menu_quit_cb, NULL, NULL, NULL } }; gs_unref_object GtkBuilder *builder; GError *error = NULL; G_APPLICATION_CLASS (terminal_app_parent_class)->startup (application); /* Need to set the WM class (bug #685742) */ gdk_set_program_class("Gnome-terminal"); g_action_map_add_action_entries (G_ACTION_MAP (application), app_menu_actions, G_N_ELEMENTS (app_menu_actions), application); builder = gtk_builder_new (); gtk_builder_add_from_resource (builder, TERMINAL_RESOURCES_PATH_PREFIX "ui/terminal-appmenu.ui", &error); g_assert_no_error (error); gtk_application_set_app_menu (GTK_APPLICATION (application), G_MENU_MODEL (gtk_builder_get_object (builder, "appmenu"))); _terminal_debug_print (TERMINAL_DEBUG_SERVER, "Startup complete\n"); }
static void refimpl_app_startup(GApplication* application) { RefImplApp* app = REFIMPL_APP(application); G_APPLICATION_CLASS(refimpl_app_parent_class)->startup(application); g_action_map_add_action_entries(G_ACTION_MAP(app), app_entries, G_N_ELEMENTS(app_entries), app); if (refimpl_app_has_app_menu(app)) { GtkBuilder* builder; GError* error = NULL; builder = gtk_builder_new(); if (!gtk_builder_add_from_resource(builder, "/com/bobtacoindustries/N3888_RefImpl/refimpl_menu.ui", &error)) { g_warning("Loading menu builder file failed. Message: %s", error->message); g_error_free(error); } else { GMenuModel* appMenu; appMenu = G_MENU_MODEL(gtk_builder_get_object(builder, "app_menu")); gtk_application_set_app_menu(GTK_APPLICATION(application), appMenu); } g_object_unref(builder); } //setup_accelerators(app); }
GtkWidget * libbalsa_window_get_menu_bar(GtkApplicationWindow * window, const GActionEntry * entries, gint n_entries, const gchar * ui_file, GError ** error, gpointer cb_data) { GActionMap *map = G_ACTION_MAP(window); GtkBuilder *builder; GtkWidget *menu_bar = NULL; g_action_map_add_action_entries(map, entries, n_entries, cb_data); builder = gtk_builder_new(); if (gtk_builder_add_from_file(builder, ui_file, error)) { GMenuModel *menu_model; menu_model = G_MENU_MODEL(gtk_builder_get_object(builder, "menubar")); menu_bar = gtk_menu_bar_new_from_model(menu_model); libbalsa_window_set_accels(window, menu_model); gtk_application_window_set_show_menubar(window, FALSE); } g_object_unref(builder); return menu_bar; }
static void screenshot_application_startup (GApplication *app) { ScreenshotApplication *self = SCREENSHOT_APPLICATION (app); GtkBuilder *builder; GMenuModel *menu; G_APPLICATION_CLASS (screenshot_application_parent_class)->startup (app); gtk_window_set_default_icon_name (SCREENSHOOTER_ICON); screenshooter_init_stock_icons (); g_action_map_add_action_entries (G_ACTION_MAP (self), action_entries, G_N_ELEMENTS (action_entries), self); builder = gtk_builder_new (); gtk_builder_add_from_resource (builder, "/org/gnome/screenshot/screenshot-app-menu.ui", NULL); menu = G_MENU_MODEL (gtk_builder_get_object (builder, "app-menu")); gtk_application_set_app_menu (GTK_APPLICATION (self), menu); g_object_unref (builder); g_object_unref (menu); /* interactive mode: trigger the dialog and wait for the response */ if (screenshot_config->interactive) screenshot_show_interactive_dialog (self); else screenshot_start (self); }
void catalogs__gth_browser_construct_cb (GthBrowser *browser) { BrowserData *data; g_return_if_fail (GTH_IS_BROWSER (browser)); data = g_new0 (BrowserData, 1); g_object_set_data_full (G_OBJECT (browser), BROWSER_DATA_KEY, data, (GDestroyNotify) browser_data_free); data->browser = browser; data->n_top_catalogs = 0; g_action_map_add_action_entries (G_ACTION_MAP (browser), actions, G_N_ELEMENTS (actions), browser); gth_menu_manager_append_entries (gth_browser_get_menu_manager (browser, GTH_BROWSER_MENU_MANAGER_FILE_LIST_OTHER_ACTIONS), fixed_menu_entries, G_N_ELEMENTS (fixed_menu_entries)); data->monitor_events = g_signal_connect (gth_main_get_default_monitor (), "folder-changed", G_CALLBACK (monitor_folder_changed_cb), data); }
static void logview_app_init_actions (LogviewApp *app) { GtkBuilder *builder = gtk_builder_new (); GMenuModel *app_menu; g_action_map_add_action_entries (G_ACTION_MAP (app), action_entries, G_N_ELEMENTS (action_entries), app); gtk_builder_add_from_resource (builder, "/org/gnome/logview/logview-app-menu.ui", NULL); app_menu = G_MENU_MODEL (gtk_builder_get_object (builder, "app-menu")); gtk_application_set_app_menu (GTK_APPLICATION (app), app_menu); /* menu accel */ SIMPLE_ACCEL (app, "F10", "win.gear-menu"); /* action accels */ SIMPLE_ACCEL (app, "<Control>f", "win.search"); SIMPLE_ACCEL (app, "<Control>o", "win.open"); SIMPLE_ACCEL (app, "<Control>w", "win.close"); SIMPLE_ACCEL (app, "<Control>c", "win.copy"); SIMPLE_ACCEL (app, "<Control>a", "win.select_all"); SIMPLE_ACCEL (app, "<Control>plus", "win.zoom_in"); SIMPLE_ACCEL (app, "<Control>minus", "win.zoom_out"); SIMPLE_ACCEL (app, "<Control>0", "win.zoom_normal"); /* additional zoom accels */ SIMPLE_ACCEL (app, "<Control>KP_Add", "win.zoom_in"); SIMPLE_ACCEL (app, "<Control>KP_Subtract", "win.zoom_out"); SIMPLE_ACCEL (app, "<Control>KP_0", "win.zoom_normal"); g_object_unref (builder); g_object_unref (app_menu); }
void nautilus_window_initialize_actions (NautilusWindow *window) { g_action_map_add_action_entries (G_ACTION_MAP (window), win_entries, G_N_ELEMENTS (win_entries), window); }
static void eog_application_init_app_menu (EogApplication *application) { EogApplicationPrivate *priv = application->priv; GtkBuilder *builder; GError *error = NULL; GAction *action; g_action_map_add_action_entries (G_ACTION_MAP (application), app_entries, G_N_ELEMENTS (app_entries), application); builder = gtk_builder_new (); gtk_builder_add_from_file (builder, EOG_DATA_DIR"/eog-app-menu.xml", &error); if (error == NULL) { gtk_application_set_app_menu (GTK_APPLICATION (application), G_MENU_MODEL (gtk_builder_get_object (builder, "app-menu"))); } else { g_critical ("Unable to add the application menu: %s\n", error->message); g_error_free (error); } action = g_action_map_lookup_action (G_ACTION_MAP (application), "view-gallery"); g_settings_bind_with_mapping (priv->ui_settings, EOG_CONF_UI_IMAGE_GALLERY, action, "state", G_SETTINGS_BIND_DEFAULT, _settings_map_get_bool_variant, _settings_map_set_variant, NULL, NULL); action = g_action_map_lookup_action (G_ACTION_MAP (application), "toolbar"); g_settings_bind_with_mapping (priv->ui_settings, EOG_CONF_UI_TOOLBAR, action, "state", G_SETTINGS_BIND_DEFAULT, _settings_map_get_bool_variant, _settings_map_set_variant, NULL, NULL); action = g_action_map_lookup_action (G_ACTION_MAP (application), "view-sidebar"); g_settings_bind_with_mapping (priv->ui_settings, EOG_CONF_UI_SIDEBAR, action, "state", G_SETTINGS_BIND_DEFAULT, _settings_map_get_bool_variant, _settings_map_set_variant, NULL, NULL); action = g_action_map_lookup_action (G_ACTION_MAP (application), "view-statusbar"); g_settings_bind_with_mapping (priv->ui_settings, EOG_CONF_UI_STATUSBAR, action, "state", G_SETTINGS_BIND_DEFAULT, _settings_map_get_bool_variant, _settings_map_set_variant, NULL, NULL); g_object_unref (builder); }
/** * gpm_applet_cb: * @_applet: GpmInhibitApplet instance created by the applet factory * @iid: Applet id * * the function called by libpanel-applet factory after creation **/ static gboolean gpm_applet_cb (PanelApplet *_applet, const gchar *iid, gpointer data) { GpmInhibitApplet *applet = GPM_INHIBIT_APPLET(_applet); GSimpleActionGroup *action_group; gchar *ui_path; static const GActionEntry menu_actions [] = { { "about", gpm_applet_dialog_about_cb, NULL, NULL, NULL }, }; if (strcmp (iid, GPM_INHIBIT_APPLET_ID) != 0) { return FALSE; } action_group = g_simple_action_group_new (); g_action_map_add_action_entries (G_ACTION_MAP (action_group), menu_actions, G_N_ELEMENTS (menu_actions), applet); ui_path = g_build_filename (INHIBIT_MENU_UI_DIR, "inhibit-applet-menu.xml", NULL); panel_applet_setup_menu_from_file (PANEL_APPLET (applet), ui_path, action_group, GETTEXT_PACKAGE); g_free (ui_path); gtk_widget_insert_action_group (GTK_WIDGET (applet), "inhibit", G_ACTION_GROUP (action_group)); g_object_unref (action_group); return TRUE; }
static void terminal_app_startup (GApplication *application) { const GActionEntry app_menu_actions[] = { { "preferences", app_menu_preferences_cb, NULL, NULL, NULL }, { "help", app_menu_help_cb, NULL, NULL, NULL }, { "about", app_menu_about_cb, NULL, NULL, NULL }, { "quit", app_menu_quit_cb, NULL, NULL, NULL } }; g_application_set_resource_base_path (application, TERMINAL_RESOURCES_PATH_PREFIX); G_APPLICATION_CLASS (terminal_app_parent_class)->startup (application); /* Need to set the WM class (bug #685742) */ gdk_set_program_class("Gnome-terminal"); g_action_map_add_action_entries (G_ACTION_MAP (application), app_menu_actions, G_N_ELEMENTS (app_menu_actions), application); app_load_css (application); _terminal_debug_print (TERMINAL_DEBUG_SERVER, "Startup complete\n"); }
void ide_editor_view_actions_init (IdeEditorView *self) { g_autoptr(GSimpleActionGroup) group = NULL; group = g_simple_action_group_new (); g_action_map_add_action_entries (G_ACTION_MAP (group), IdeEditorViewActions, G_N_ELEMENTS (IdeEditorViewActions), self); gtk_widget_insert_action_group (GTK_WIDGET (self), "view", G_ACTION_GROUP (group)); gtk_widget_insert_action_group (GTK_WIDGET (self->tweak_widget), "view", G_ACTION_GROUP (group)); #define WATCH_PROPERTY(name) \ G_STMT_START { \ g_signal_connect (self->frame1->source_view, \ "notify::"name, \ G_CALLBACK (ide_editor_view_actions_source_view_notify), \ group); \ g_object_notify (G_OBJECT (self->frame1->source_view), name); \ } G_STMT_END WATCH_PROPERTY ("auto-indent"); WATCH_PROPERTY ("highlight-current-line"); WATCH_PROPERTY ("insert-spaces-instead-of-tabs"); WATCH_PROPERTY ("show-line-numbers"); WATCH_PROPERTY ("show-right-margin"); WATCH_PROPERTY ("smart-backspace"); WATCH_PROPERTY ("tab-width"); #undef WATCH_PROPERTY }
int main (int argc, char **argv) { GtkApplication *app; static GActionEntry app_entries[] = { { "about", activate_about, NULL, NULL, NULL }, { "quit", activate_quit, NULL, NULL, NULL }, }; /* Most code in gtk-demo is intended to be exemplary, but not * these few lines, which are just a hack so gtk-demo will work * in the GTK tree without installing it. */ if (g_file_test ("../../modules/input/immodules.cache", G_FILE_TEST_EXISTS)) { g_setenv ("GTK_IM_MODULE_FILE", "../../modules/input/immodules.cache", TRUE); } /* -- End of hack -- */ gtk_init (&argc, &argv); app = gtk_application_new ("org.gtk.Demo", 0); g_action_map_add_action_entries (G_ACTION_MAP (app), app_entries, G_N_ELEMENTS (app_entries), app); g_signal_connect (app, "startup", G_CALLBACK (startup), NULL); g_signal_connect (app, "activate", G_CALLBACK (activate), NULL); g_application_run (G_APPLICATION (app), argc, argv); return 0; }
void selections__gth_browser_construct_cb (GthBrowser *browser) { BrowserData *data; GtkWidget *filter_bar; GtkWidget *filter_bar_extra_area; GtkWidget *selection_buttons; g_return_if_fail (GTH_IS_BROWSER (browser)); data = g_new0 (BrowserData, 1); g_object_set_data_full (G_OBJECT (browser), BROWSER_DATA_KEY, data, (GDestroyNotify) browser_data_free); data->browser = browser; g_action_map_add_action_entries (G_ACTION_MAP (browser), actions, G_N_ELEMENTS (actions), browser); filter_bar = gth_browser_get_filterbar (browser); filter_bar_extra_area = gth_filterbar_get_extra_area (GTH_FILTERBAR (filter_bar)); selection_buttons = create_selection_buttons (data); gtk_box_pack_start (GTK_BOX (filter_bar_extra_area), selection_buttons, FALSE, FALSE, 0); data->folder_changed_id = g_signal_connect (gth_main_get_default_monitor (), "folder-changed", G_CALLBACK (folder_changed_cb), data); }
void initialize_app_menu (GApplication *application) { GSettings *settings; g_action_map_add_action_entries (G_ACTION_MAP (application), app_menu_entries, G_N_ELEMENTS (app_menu_entries), application); _gtk_application_add_accelerators (GTK_APPLICATION (application), fr_app_accelerators, G_N_ELEMENTS (fr_app_accelerators)); settings = fr_application_get_settings (FR_APPLICATION (application), FILE_ROLLER_SCHEMA_UI); g_simple_action_set_state (GET_ACTION (PREF_UI_VIEW_SIDEBAR), g_variant_new_boolean (g_settings_get_boolean (settings, PREF_UI_VIEW_SIDEBAR))); settings = fr_application_get_settings (FR_APPLICATION (application), FILE_ROLLER_SCHEMA_LISTING); g_simple_action_set_state (GET_ACTION (PREF_LISTING_LIST_MODE), g_variant_new_string (_g_enum_type_get_value (FR_TYPE_WINDOW_LIST_MODE, g_settings_get_enum (settings, PREF_LISTING_LIST_MODE))->value_nick)); g_signal_connect (fr_application_get_settings (FR_APPLICATION (application), FILE_ROLLER_SCHEMA_UI), "changed::" PREF_UI_VIEW_SIDEBAR, G_CALLBACK (pref_view_sidebar_changed), application); g_signal_connect (fr_application_get_settings (FR_APPLICATION (application), FILE_ROLLER_SCHEMA_LISTING), "changed::" PREF_LISTING_LIST_MODE, G_CALLBACK (pref_list_mode_changed), application); }
void initialize_app_menubar (GApplication *application) { GtkBuilder *builder; GSettings *settings; g_action_map_add_action_entries (G_ACTION_MAP (application), app_menu_entries, G_N_ELEMENTS (app_menu_entries), application); builder = _gtk_builder_new_from_resource ("app-menubar.ui"); gtk_application_set_menubar (GTK_APPLICATION (application), G_MENU_MODEL (gtk_builder_get_object (builder, "app-menubar"))); g_object_unref (builder); settings = fr_application_get_settings (FR_APPLICATION (application), FILE_ROLLER_SCHEMA_UI); g_simple_action_set_state (GET_ACTION (PREF_UI_VIEW_SIDEBAR), g_variant_new_boolean (g_settings_get_boolean (settings, PREF_UI_VIEW_SIDEBAR))); settings = fr_application_get_settings (FR_APPLICATION (application), FILE_ROLLER_SCHEMA_LISTING); g_simple_action_set_state (GET_ACTION (PREF_LISTING_LIST_MODE), g_variant_new_string (_g_enum_type_get_value (FR_TYPE_WINDOW_LIST_MODE, g_settings_get_enum (settings, PREF_LISTING_LIST_MODE))->value_nick)); g_signal_connect (fr_application_get_settings (FR_APPLICATION (application), FILE_ROLLER_SCHEMA_UI), "changed::" PREF_UI_VIEW_SIDEBAR, G_CALLBACK (pref_view_sidebar_changed), application); g_signal_connect (fr_application_get_settings (FR_APPLICATION (application), FILE_ROLLER_SCHEMA_LISTING), "changed::" PREF_LISTING_LIST_MODE, G_CALLBACK (pref_list_mode_changed), application); }
/*********************************************************** STARTUP CALLBACK */ static void bmd_startup (GApplication *app, gpointer data) { bmd_widgets *a = (bmd_widgets *) data; // connect actions with callbacks g_action_map_add_action_entries (G_ACTION_MAP (app), app_actions, G_N_ELEMENTS (app_actions), (gpointer) a); }
inline static void setup_actions_app (GyApp *application) { g_action_map_add_action_entries (G_ACTION_MAP (application), app_entries, G_N_ELEMENTS (app_entries), application); }
static void gt_win_init(GtWin* self) { GtWinPrivate* priv = gt_win_get_instance_private(self); GPropertyAction* action; GT_TYPE_PLAYER; // Hack to load GtPlayer into the symbols table GT_TYPE_PLAYER_HEADER_BAR; GT_TYPE_BROWSE_HEADER_BAR; GT_TYPE_CHANNELS_VIEW; GT_TYPE_GAMES_VIEW; GT_TYPE_FOLLOWS_VIEW; GT_TYPE_CHAT; gtk_window_set_application(GTK_WINDOW(self), GTK_APPLICATION(main_app)); gtk_widget_init_template(GTK_WIDGET(self)); gtk_widget_realize(priv->player_header_bar); priv->cur_info_data = NULL; priv->info_queue = g_queue_new(); gtk_window_set_default_size(GTK_WINDOW(self), g_settings_get_int(main_app->settings, "window-width"), g_settings_get_int(main_app->settings, "window-height")); gtk_window_set_default_icon_name("gnome-twitch"); g_object_bind_property(priv->browse_stack, "visible-child", self, "visible-view", G_BINDING_DEFAULT | G_BINDING_SYNC_CREATE); GdkScreen* screen = gdk_screen_get_default(); GtkCssProvider* css = gtk_css_provider_new(); gtk_css_provider_load_from_resource(css, "/com/vinszent/GnomeTwitch/com.vinszent.GnomeTwitch.style.css"); gtk_style_context_add_provider_for_screen(screen, GTK_STYLE_PROVIDER(css), GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); g_signal_connect_after(self, "key-press-event", G_CALLBACK(key_press_cb), self); g_signal_connect(self, "delete-event", G_CALLBACK(delete_cb), self); g_signal_connect_after(priv->info_bar, "response", G_CALLBACK(close_info_bar_cb), self); g_action_map_add_action_entries(G_ACTION_MAP(self), win_actions, G_N_ELEMENTS(win_actions), self); action = g_property_action_new("toggle_fullscreen", self, "fullscreen"); g_action_map_add_action(G_ACTION_MAP(self), G_ACTION(action)); g_object_unref(action); GtkWindowGroup* window_group = gtk_window_group_new(); gtk_window_group_add_window(window_group, GTK_WINDOW(self)); g_object_unref(window_group); }
void gstyle_color_widget_actions_init (GstyleColorWidget *self) { g_autoptr (GSimpleActionGroup) action_group = NULL; action_group = g_simple_action_group_new (); g_action_map_add_action_entries (G_ACTION_MAP (action_group), actions, G_N_ELEMENTS (actions), self); gtk_widget_insert_action_group (GTK_WIDGET (self), "gstyle-color-widget-menu", G_ACTION_GROUP (action_group)); }