static void bloat_pad_startup (GApplication *application) { GtkBuilder *builder; G_APPLICATION_CLASS (bloat_pad_parent_class) ->startup (application); 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_string (builder, "<interface>" " <menu id='app-menu'>" " <section>" " <item label='_New Window' action='app.new' accel='<Primary>n'/>" " </section>" " <section>" " <item label='_About Bloatpad' action='app.about'/>" " </section>" " <section>" " <item label='_Quit' action='app.quit' accel='<Primary>q'/>" " </section>" " </menu>" " <menu id='menubar'>" " <submenu label='_Edit'>" " <section>" " <item label='_Copy' action='win.copy' accel='<Primary>c'/>" " <item label='_Paste' action='win.paste' accel='<Primary>v'/>" " </section>" " </submenu>" " <submenu label='_View'>" " <section>" " <item label='_Fullscreen' action='win.fullscreen'/>" " </section>" " </submenu>" " </menu>" "</interface>", -1, 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, "menubar"))); g_object_unref (builder); }
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); }
static void gw_application_load_menubar (GwApplication *application) { GMenuModel *menumodel; menumodel = G_MENU_MODEL (g_menu_new ()); gtk_application_set_menubar (GTK_APPLICATION (application), menumodel); }
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); }
static void startup (GApplication *app) { GtkBuilder *builder; GMenuModel *appmenu; GMenuModel *menubar; builder = gtk_builder_new (); gtk_builder_add_from_resource (builder, "/application/menus.ui", NULL); appmenu = (GMenuModel *)gtk_builder_get_object (builder, "appmenu"); menubar = (GMenuModel *)gtk_builder_get_object (builder, "menubar"); gtk_application_set_app_menu (GTK_APPLICATION (app), appmenu); gtk_application_set_menubar (GTK_APPLICATION (app), menubar); g_object_unref (builder); }
static void startup_cb (GApplication *application, gpointer data) { GtkBuilder *builder = gtk_builder_new (); GMenuModel *model; gboolean show_app_menu; const GActionEntry app_entries[] = { { "group-by", activate_action, "s", "\"script\"", NULL }, { "show-only-glyphs-in-font", activate_toggle_action, NULL, "false", change_toggle_state }, { "zoom-in", activate_action, NULL, NULL, NULL }, { "zoom-out", activate_action, NULL, NULL, NULL }, { "normal-size", activate_action, NULL, NULL, NULL }, { "find", activate_action, NULL, NULL, NULL }, { "help", activate_action, NULL, NULL, NULL }, { "about", activate_action, NULL, NULL, NULL }, { "close", activate_close, NULL, NULL, NULL }, }; g_action_map_add_action_entries (G_ACTION_MAP (application), app_entries, G_N_ELEMENTS (app_entries), application); gtk_builder_add_from_resource (builder, UI_RESOURCE, NULL); /* app menu */ g_object_get (gtk_settings_get_default (), "gtk-shell-shows-app-menu", &show_app_menu, NULL); if (show_app_menu) { model = G_MENU_MODEL (gtk_builder_get_object (builder, "app-menu")); gtk_application_set_app_menu (GTK_APPLICATION (application), model); } /* window menu */ #ifdef ENABLE_PRINTING model = G_MENU_MODEL (gtk_builder_get_object (builder, "printing")); g_menu_append (G_MENU (model), _("Page _Setup"), "win.page-setup"); /* g_menu_append (G_MENU (model), _("Print Preview"), "win.print-preview"); */ g_menu_append (G_MENU (model), _("_Print"), "win.print"); #endif model = G_MENU_MODEL (gtk_builder_get_object (builder, "go-chapter")); g_object_set_data (G_OBJECT (application), "go-chapter-menu", model); model = G_MENU_MODEL (gtk_builder_get_object (builder, "menubar")); gtk_application_set_menubar (GTK_APPLICATION (application), model); gtk_application_add_accelerator (GTK_APPLICATION (application), "<Primary>Page_Down", "win.next-chapter", NULL); gtk_application_add_accelerator (GTK_APPLICATION (application), "<Primary>Page_Up", "win.previous-chapter", NULL); gtk_application_add_accelerator (GTK_APPLICATION (application), "F1", "app.help", NULL); gtk_application_add_accelerator (GTK_APPLICATION (application), "<Primary>q", "app.close", NULL); gtk_application_add_accelerator (GTK_APPLICATION (application), "<Primary>w", "app.close", NULL); g_object_unref (builder); }
static void plug_man_startup (GApplication *application) { GtkBuilder *builder; G_APPLICATION_CLASS (plug_man_parent_class) ->startup (application); 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_string (builder, "<interface>" " <menu id='app-menu'>" " <section>" " <item>" " <attribute name='label' translatable='yes'>_About Plugman</attribute>" " <attribute name='action'>app.about</attribute>" " </item>" " </section>" " <section>" " <item>" " <attribute name='label' translatable='yes'>_Quit</attribute>" " <attribute name='action'>app.quit</attribute>" " <attribute name='accel'><Primary>q</attribute>" " </item>" " </section>" " </menu>" " <menu id='menubar'>" " <submenu>" " <attribute name='label' translatable='yes'>_Edit</attribute>" " <section>" " <item>" " <attribute name='label' translatable='yes'>_Copy</attribute>" " <attribute name='action'>win.copy</attribute>" " </item>" " <item>" " <attribute name='label' translatable='yes'>_Paste</attribute>" " <attribute name='action'>win.paste</attribute>" " </item>" " </section>" " <item><link name='section' id='plugins'>" " </link></item>" " <section>" " <item>" " <attribute name='label' translatable='yes'>Plugins</attribute>" " <attribute name='action'>app.plugins</attribute>" " </item>" " </section>" " </submenu>" " <submenu>" " <attribute name='label' translatable='yes'>_View</attribute>" " <section>" " <item>" " <attribute name='label' translatable='yes'>_Fullscreen</attribute>" " <attribute name='action'>win.fullscreen</attribute>" " </item>" " </section>" " </submenu>" " </menu>" "</interface>", -1, 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, "menubar"))); g_object_set_data_full (G_OBJECT (application), "plugin-menu", gtk_builder_get_object (builder, "plugins"), g_object_unref); g_object_unref (builder); }
static void spektro_startup_cb(GtkApplication *app, gpointer user_data) { gtk_application_set_menubar(GTK_APPLICATION(app), NULL); gtk_application_set_app_menu(GTK_APPLICATION(app), NULL); return; }
static void app_startup_handler(GApplication *app, gpointer data) { gmpv_handle *ctx = data; const gchar *vid_area_style = ".gmpv-vid-area{background-color: black}"; GSettingsBackend *config_backend; GtkCssProvider *style_provider; gboolean css_loaded; gboolean use_opengl; gboolean config_migrated; gboolean mpvinput_enable; gboolean csd_enable; gboolean dark_theme_enable; gchar *config_file; gchar *mpvinput; setlocale(LC_NUMERIC, "C"); g_set_application_name(_("GNOME MPV")); gtk_window_set_default_icon_name(ICON_NAME); bindtextdomain(GETTEXT_PACKAGE, PACKAGE_LOCALEDIR); bind_textdomain_codeset(GETTEXT_PACKAGE, "UTF-8"); textdomain(GETTEXT_PACKAGE); config_file = get_config_file_path(); config_backend = g_keyfile_settings_backend_new ( config_file, CONFIG_ROOT_PATH, CONFIG_ROOT_GROUP ); use_opengl = get_use_opengl(); ctx->mpv_ctx = mpv_create(); ctx->files = NULL; ctx->opengl_ctx = NULL; ctx->opengl_ready = FALSE; ctx->paused = TRUE; ctx->loaded = FALSE; ctx->new_file = TRUE; ctx->sub_visible = TRUE; ctx->init_load = TRUE; ctx->playlist_move_dest = -1; ctx->log_level_list = NULL; ctx->keybind_list = NULL; ctx->config = g_settings_new_with_backend(APP_ID, config_backend); ctx->app = GTK_APPLICATION(app); ctx->gui = MAIN_WINDOW(main_window_new(ctx->app, use_opengl)); ctx->fs_control = NULL; ctx->playlist_store = PLAYLIST_WIDGET(ctx->gui->playlist)->list_store; config_migrated = migrate_config(ctx); style_provider = gtk_css_provider_new(); css_loaded = gtk_css_provider_load_from_data (style_provider, vid_area_style, -1, NULL); if(!css_loaded) { g_warning ("Failed to apply background color css"); } gtk_style_context_add_provider_for_screen ( gtk_window_get_screen(GTK_WINDOW(ctx->gui)), GTK_STYLE_PROVIDER(style_provider), GTK_STYLE_PROVIDER_PRIORITY_APPLICATION ); g_object_unref(style_provider); csd_enable = g_settings_get_boolean (ctx->config, "csd-enable"); dark_theme_enable = g_settings_get_boolean (ctx->config, "dark-theme-enable"); mpvinput_enable = g_settings_get_boolean (ctx->config, "mpv-input-config-enable"); mpvinput = g_settings_get_string (ctx->config, "mpv-input-config-file"); if(csd_enable) { gtk_application_set_app_menu (ctx->app, G_MENU_MODEL(build_app_menu())); main_window_enable_csd(ctx->gui); } else { gtk_application_set_app_menu (ctx->app, NULL); gtk_application_set_menubar (ctx->app, G_MENU_MODEL(build_full_menu())); } gtk_widget_show_all(GTK_WIDGET(ctx->gui)); if(csd_enable) { control_box_set_fullscreen_btn_visible (CONTROL_BOX(ctx->gui->control_box), FALSE); } control_box_set_chapter_enabled (CONTROL_BOX(ctx->gui->control_box), FALSE); if(!main_window_get_use_opengl(ctx->gui)) { ctx->vid_area_wid = get_xid(ctx->gui->vid_area); } g_assert( main_window_get_use_opengl(ctx->gui) || ctx->vid_area_wid != -1 ); main_window_load_state(ctx->gui); setup_accelerators(ctx); setup_dnd_targets(ctx); actionctl_map_actions(ctx); connect_signals(ctx); load_keybind(ctx, mpvinput_enable?mpvinput:NULL, FALSE); mpris_init(ctx); media_keys_init(ctx); g_object_set( ctx->gui->settings, "gtk-application-prefer-dark-theme", dark_theme_enable, NULL ); g_timeout_add( SEEK_BAR_UPDATE_INTERVAL, (GSourceFunc)update_seek_bar, ctx ); if(config_migrated) { GtkWidget *dialog = gtk_message_dialog_new ( GTK_WINDOW(ctx->gui), GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_INFO, GTK_BUTTONS_OK, _("Your configuration file has been " "moved to the new location at %s."), config_file ); gtk_dialog_run(GTK_DIALOG(dialog)); gtk_widget_destroy(dialog); } g_free(config_file); g_free(mpvinput); }