void _gedit_cmd_help_about (GtkAction *action, GeditWindow *window) { static const gchar * const authors[] = { "Paolo Maggi <*****@*****.**>", "Paolo Borelli <*****@*****.**>", "Steve Fr\303\251cinaux <*****@*****.**>", "Jesse van den Kieboom <*****@*****.**>", "James Willcox <*****@*****.**>", "Chema Celorio", "Federico Mena Quintero <*****@*****.**>", NULL }; static const gchar * const documenters[] = { "Sun GNOME Documentation Team <*****@*****.**>", "Eric Baudais <*****@*****.**>", NULL }; static const gchar copyright[] = \ "Copyright \xc2\xa9 1998-2000 Evan Lawrence, Alex Robert\n" "Copyright \xc2\xa9 2000-2002 Chema Celorio, Paolo Maggi\n" "Copyright \xc2\xa9 2003-2006 Paolo Maggi"; static const gchar comments[] = \ N_("gedit is a small and lightweight text editor for the " "GNOME Desktop"); GdkPixbuf *logo; gchar *data_dir; gchar *logo_file; gedit_debug (DEBUG_COMMANDS); data_dir = gedit_dirs_get_gedit_data_dir (); logo_file = g_build_filename (data_dir, "logo", "gedit-logo.png", NULL); g_free (data_dir); logo = gdk_pixbuf_new_from_file (logo_file, NULL); g_free (logo_file); gtk_show_about_dialog (GTK_WINDOW (window), "program-name", "gedit", "authors", authors, "comments", _(comments), "copyright", copyright, "documenters", documenters, "logo", logo, "translator-credits", _("translator-credits"), "version", VERSION, "website", "http://www.gedit.org", NULL); if (logo) g_object_unref (logo); }
static void gedit_main (gboolean service) { GeditPluginsEngine *engine; GeditApp *app; const gchar *dir; gchar *icon_dir; gedit_debug_message (DEBUG_APP, "Set icon"); dir = gedit_dirs_get_gedit_data_dir (); icon_dir = g_build_filename (dir, "icons", NULL); gtk_icon_theme_append_search_path (gtk_icon_theme_get_default (), icon_dir); g_free (icon_dir); /* Init plugins engine */ gedit_debug_message (DEBUG_APP, "Init plugins"); engine = gedit_plugins_engine_get_default (); app = gedit_app_get_default (); /* Initialize session management */ gedit_debug_message (DEBUG_APP, "Init session manager"); gedit_session_init (); if (!service) { gboolean restored = FALSE; if (gedit_session_is_restored ()) { restored = gedit_session_load (); } if (!restored) { gedit_main_window (); } } _gedit_app_ready (app); gedit_debug_message (DEBUG_APP, "Start gtk-main"); gtk_main (); /* Make sure settings are saved */ g_settings_sync (); /* Cleanup */ g_object_unref (engine); g_object_unref (app); gedit_dirs_shutdown (); #ifndef ENABLE_GVFS_METADATA gedit_metadata_manager_shutdown (); #endif }
gchar * gedit_dirs_get_ui_file (const gchar *file) { gchar *datadir; gchar *ui_file; g_return_val_if_fail (file != NULL, NULL); datadir = gedit_dirs_get_gedit_data_dir (); ui_file = g_build_filename (datadir, "ui", file, NULL); g_free (datadir); return ui_file; }
static void gedit_app_startup (GApplication *application) { GeditAppPrivate *priv; GtkCssProvider *css_provider; GtkSourceStyleSchemeManager *manager; const gchar *dir; gchar *icon_dir; #ifndef ENABLE_GVFS_METADATA const gchar *cache_dir; gchar *metadata_filename; #endif priv = gedit_app_get_instance_private (GEDIT_APP (application)); G_APPLICATION_CLASS (gedit_app_parent_class)->startup (application); /* Setup debugging */ gedit_debug_init (); gedit_debug_message (DEBUG_APP, "Startup"); gedit_debug_message (DEBUG_APP, "Set icon"); dir = gedit_dirs_get_gedit_data_dir (); icon_dir = g_build_filename (dir, "icons", NULL); gtk_icon_theme_append_search_path (gtk_icon_theme_get_default (), icon_dir); g_free (icon_dir); setup_theme_extensions (GEDIT_APP (application)); #ifndef ENABLE_GVFS_METADATA cache_dir = gedit_dirs_get_user_cache_dir (); metadata_filename = g_build_filename (cache_dir, "gedit-metadata.xml", NULL); gedit_metadata_manager_init (metadata_filename); g_free (metadata_filename); #endif /* Load settings */ priv->settings = gedit_settings_new (); priv->ui_settings = g_settings_new ("org.gnome.gedit.preferences.ui"); priv->window_settings = g_settings_new ("org.gnome.gedit.state.window"); /* initial lockdown state */ priv->lockdown = gedit_settings_get_lockdown (GEDIT_SETTINGS (priv->settings)); g_action_map_add_action_entries (G_ACTION_MAP (application), app_entries, G_N_ELEMENTS (app_entries), application); /* menus */ priv->window_menu = gtk_application_get_menubar (GTK_APPLICATION (application)); if (priv->window_menu == NULL) { priv->window_menu = get_menu_model (GEDIT_APP (application), "gear-menu"); } else { g_object_ref (priv->window_menu); } priv->notebook_menu = get_menu_model (GEDIT_APP (application), "notebook-menu"); priv->tab_width_menu = get_menu_model (GEDIT_APP (application), "tab-width-menu"); priv->line_col_menu = get_menu_model (GEDIT_APP (application), "line-col-menu"); /* Accelerators */ add_accelerator (GTK_APPLICATION (application), "app.new-window", "<Primary>N"); add_accelerator (GTK_APPLICATION (application), "app.quit", "<Primary>Q"); add_accelerator (GTK_APPLICATION (application), "app.help", "F1"); add_accelerator (GTK_APPLICATION (application), "win.gear-menu", "F10"); add_accelerator (GTK_APPLICATION (application), "win.open", "<Primary>O"); add_accelerator (GTK_APPLICATION (application), "win.save", "<Primary>S"); add_accelerator (GTK_APPLICATION (application), "win.save-as", "<Primary><Shift>S"); add_accelerator (GTK_APPLICATION (application), "win.save-all", "<Primary><Shift>L"); add_accelerator (GTK_APPLICATION (application), "win.new-tab", "<Primary>T"); add_accelerator (GTK_APPLICATION (application), "win.reopen-closed-tab", "<Primary><Shift>T"); add_accelerator (GTK_APPLICATION (application), "win.close", "<Primary>W"); add_accelerator (GTK_APPLICATION (application), "win.close-all", "<Primary><Shift>W"); add_accelerator (GTK_APPLICATION (application), "win.print", "<Primary>P"); add_accelerator (GTK_APPLICATION (application), "win.find", "<Primary>F"); add_accelerator (GTK_APPLICATION (application), "win.find-next", "<Primary>G"); add_accelerator (GTK_APPLICATION (application), "win.find-prev", "<Primary><Shift>G"); add_accelerator (GTK_APPLICATION (application), "win.replace", "<Primary>H"); add_accelerator (GTK_APPLICATION (application), "win.clear-highlight", "<Primary><Shift>K"); add_accelerator (GTK_APPLICATION (application), "win.goto-line", "<Primary>I"); add_accelerator (GTK_APPLICATION (application), "win.focus-active-view", "Escape"); add_accelerator (GTK_APPLICATION (application), "win.side-panel", "F9"); add_accelerator (GTK_APPLICATION (application), "win.bottom-panel", "<Primary>F9"); add_accelerator (GTK_APPLICATION (application), "win.fullscreen", "F11"); add_accelerator (GTK_APPLICATION (application), "win.new-tab-group", "<Primary><Alt>N"); add_accelerator (GTK_APPLICATION (application), "win.previous-tab-group", "<Primary><Shift><Alt>Page_Up"); add_accelerator (GTK_APPLICATION (application), "win.next-tab-group", "<Primary><Shift><Alt>Page_Down"); add_accelerator (GTK_APPLICATION (application), "win.previous-document", "<Primary><Alt>Page_Up"); add_accelerator (GTK_APPLICATION (application), "win.next-document", "<Primary><Alt>Page_Down"); load_accels (); /* Load custom css */ g_object_unref (load_css_from_resource ("gedit-style.css", TRUE)); css_provider = load_css_from_resource ("gedit-style-os.css", FALSE); g_clear_object (&css_provider); /* * We use the default gtksourceview style scheme manager so that plugins * can obtain it easily without a gedit specific api, but we need to * add our search path at startup before the manager is actually used. */ manager = gtk_source_style_scheme_manager_get_default (); gtk_source_style_scheme_manager_append_search_path (manager, gedit_dirs_get_user_styles_dir ()); priv->engine = gedit_plugins_engine_get_default (); priv->extensions = peas_extension_set_new (PEAS_ENGINE (priv->engine), GEDIT_TYPE_APP_ACTIVATABLE, "app", GEDIT_APP (application), NULL); g_signal_connect (priv->extensions, "extension-added", G_CALLBACK (extension_added), application); g_signal_connect (priv->extensions, "extension-removed", G_CALLBACK (extension_removed), application); peas_extension_set_foreach (priv->extensions, (PeasExtensionSetForeachFunc) extension_added, application); }
void _gedit_cmd_help_about (GtkAction *action, GeditWindow *window) { static const gchar * const authors[] = { "Alex Roberts", "Chema Celorio", "Evan Lawrence", "Federico Mena Quintero <*****@*****.**>", "Garrett Regier <*****@*****.**>", "Ignacio Casal Quinteiro <*****@*****.**>", "James Willcox <*****@*****.**>", "Jesse van den Kieboom <*****@*****.**>", "Paolo Borelli <*****@*****.**>", "Paolo Maggi <*****@*****.**>", "S\303\251bastien Wilmet <*****@*****.**>", "Steve Fr\303\251cinaux <*****@*****.**>", NULL }; static const gchar * const documenters[] = { "Jim Campbell <*****@*****.**>", "Daniel Neel <*****@*****.**>", "Sun GNOME Documentation Team <*****@*****.**>", "Eric Baudais <*****@*****.**>", NULL }; static const gchar copyright[] = "Copyright \xc2\xa9 1998-2014 - the gedit team"; static const gchar comments[] = \ N_("gedit is a small and lightweight text editor for the GNOME Desktop"); GdkPixbuf *logo; const gchar *data_dir; gchar *logo_file; gedit_debug (DEBUG_COMMANDS); data_dir = gedit_dirs_get_gedit_data_dir (); logo_file = g_build_filename (data_dir, "logo", "gedit-logo.png", NULL); logo = gdk_pixbuf_new_from_file (logo_file, NULL); g_free (logo_file); gtk_show_about_dialog (GTK_WINDOW (window), "program-name", "gedit", "authors", authors, "comments", _(comments), "copyright", copyright, "license-type", GTK_LICENSE_GPL_2_0, "documenters", documenters, "logo", logo, "translator-credits", _("translator-credits"), "version", VERSION, "website", "http://www.gedit.org", "website-label", "www.gedit.org", NULL); if (logo) g_object_unref (logo); }