static GeditWindow * get_active_window (GtkApplication *app) { GdkScreen *screen; guint workspace; gint viewport_x, viewport_y; GList *windows, *l; screen = gdk_screen_get_default (); workspace = gedit_utils_get_current_workspace (screen); gedit_utils_get_current_viewport (screen, &viewport_x, &viewport_y); /* Gtk documentation says the window list is always in MRU order */ windows = gtk_application_get_windows (app); for (l = windows; l != NULL; l = l->next) { GtkWindow *window = l->data; if (GEDIT_IS_WINDOW (window) && is_in_viewport (window, screen, workspace, viewport_x, viewport_y)) { return GEDIT_WINDOW (window); } } return NULL; }
static void get_network_available (GNetworkMonitor *monitor, gboolean available, GeditApp *app) { gboolean enable; GList *windows, *w; enable = g_network_monitor_get_network_available (monitor); windows = gtk_application_get_windows (GTK_APPLICATION (app)); for (w = windows; w != NULL; w = w->next) { GeditWindow *window = GEDIT_WINDOW (w->data); if (GEDIT_IS_WINDOW (window)) { GList *tabs, *t; tabs = _gedit_window_get_all_tabs (window); for (t = tabs; t != NULL; t = t->next) { _gedit_tab_set_network_available (GEDIT_TAB (t->data), enable); } g_list_free (tabs); } } }
void _gedit_cmd_edit_preferences (GSimpleAction *action, GVariant *parameter, gpointer user_data) { GeditWindow *window = GEDIT_WINDOW (user_data); gedit_debug (DEBUG_COMMANDS); gedit_show_preferences_dialog (window); }
static void about_activated (GSimpleAction *action, GVariant *parameter, gpointer user_data) { GtkApplication *app; GeditWindow *window; app = GTK_APPLICATION (user_data); window = GEDIT_WINDOW (gtk_application_get_active_window (app)); _gedit_cmd_help_about (NULL, window); }
static void preferences_activated (GSimpleAction *action, GVariant *parameter, gpointer user_data) { GtkApplication *app; GeditWindow *window; app = GTK_APPLICATION (user_data); window = GEDIT_WINDOW (gtk_application_get_active_window (app)); gedit_show_preferences_dialog (window); }
void _gedit_cmd_documents_next_document (GSimpleAction *action, GVariant *parameter, gpointer user_data) { GeditWindow *window = GEDIT_WINDOW (user_data); GtkNotebook *notebook; gedit_debug (DEBUG_COMMANDS); notebook = GTK_NOTEBOOK (_gedit_window_get_notebook (window)); gtk_notebook_next_page (notebook); }
void _gedit_cmd_documents_move_to_new_window (GSimpleAction *action, GVariant *parameter, gpointer user_data) { GeditWindow *window = GEDIT_WINDOW (user_data); GeditTab *tab; gedit_debug (DEBUG_COMMANDS); tab = gedit_window_get_active_tab (window); if (tab == NULL) return; _gedit_window_move_tab_to_new_window (window, tab); }
void _gedit_cmd_edit_cut (GSimpleAction *action, GVariant *parameter, gpointer user_data) { GeditWindow *window = GEDIT_WINDOW (user_data); GeditView *active_view; gedit_debug (DEBUG_COMMANDS); active_view = gedit_window_get_active_view (window); g_return_if_fail (active_view); gedit_view_cut_clipboard (active_view); gtk_widget_grab_focus (GTK_WIDGET (active_view)); }
static void gedit_spell_plugin_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { GeditSpellPlugin *plugin = GEDIT_SPELL_PLUGIN (object); switch (prop_id) { case PROP_WINDOW: plugin->priv->window = GEDIT_WINDOW (g_value_dup_object (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; } }
static void app_lockdown_changed (GeditApp *app) { GeditAppPrivate *priv; GList *windows, *l; priv = gedit_app_get_instance_private (app); windows = gtk_application_get_windows (GTK_APPLICATION (app)); for (l = windows; l != NULL; l = g_list_next (l)) { if (GEDIT_IS_WINDOW (l->data)) { _gedit_window_set_lockdown (GEDIT_WINDOW (l->data), priv->lockdown); } } g_object_notify (G_OBJECT (app), "lockdown"); }
/** * gedit_app_get_views: * @app: the #GeditApp * * Returns all the views currently present in #GeditApp. * * Return value: (element-type Gedit.View) (transfer container): * a newly allocated list of #GeditView objects */ GList * gedit_app_get_views (GeditApp *app) { GList *res = NULL; GList *windows, *l; g_return_val_if_fail (GEDIT_IS_APP (app), NULL); windows = gtk_application_get_windows (GTK_APPLICATION (app)); for (l = windows; l != NULL; l = g_list_next (l)) { if (GEDIT_IS_WINDOW (l->data)) { res = g_list_concat (res, gedit_window_get_views (GEDIT_WINDOW (l->data))); } } return res; }
void _gedit_cmd_edit_overwrite_mode (GSimpleAction *action, GVariant *state, gpointer user_data) { GeditWindow *window = GEDIT_WINDOW (user_data); GeditView *active_view; gboolean overwrite; gedit_debug (DEBUG_COMMANDS); active_view = gedit_window_get_active_view (window); g_return_if_fail (active_view); overwrite = g_variant_get_boolean (state); g_simple_action_set_state (action, state); gtk_text_view_set_overwrite (GTK_TEXT_VIEW (active_view), overwrite); gtk_widget_grab_focus (GTK_WIDGET (active_view)); }
void _gedit_cmd_edit_redo (GSimpleAction *action, GVariant *parameter, gpointer user_data) { GeditWindow *window = GEDIT_WINDOW (user_data); GeditView *active_view; GtkSourceBuffer *active_document; gedit_debug (DEBUG_COMMANDS); active_view = gedit_window_get_active_view (window); g_return_if_fail (active_view); active_document = GTK_SOURCE_BUFFER (gtk_text_view_get_buffer (GTK_TEXT_VIEW (active_view))); gtk_source_buffer_redo (active_document); gedit_view_scroll_to_cursor (active_view); gtk_widget_grab_focus (GTK_WIDGET (active_view)); }
void _gedit_cmd_documents_next_tab_group (GSimpleAction *action, GVariant *parameter, gpointer user_data) { gedit_multi_notebook_next_notebook (GEDIT_MULTI_NOTEBOOK (_gedit_window_get_multi_notebook (GEDIT_WINDOW (user_data)))); }