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); } } }
/** * srm_trainer_tab_add_to_window: * @tab: a #SrmTrainerTab instance * @window: the #GeditWindow to add a tab to * @jump_to: true if the newly added tab should be activated after its added * * Adds the tab to the supplied #GeditWindow instance's active #GeditNotebook. */ void srm_trainer_tab_add_to_window ( GeditTab * tab , GeditWindow * window , gboolean jump_to ) { GtkWidget * notebook; if (window == NULL || tab == NULL) { return; } g_return_if_fail (GEDIT_IS_WINDOW (window)); g_return_if_fail (GEDIT_IS_TAB (tab)); notebook = _gedit_window_get_notebook (window); gtk_widget_show (GTK_WIDGET (tab)); gedit_notebook_add_tab (GEDIT_NOTEBOOK (notebook), GEDIT_TAB (tab), -1, jump_to); if (!gtk_widget_get_visible (GTK_WIDGET (window))) { gtk_window_present (GTK_WINDOW (window)); } }
static void set_window (GeditDocumentsPanel *panel, GeditWindow *window) { gedit_debug (DEBUG_PANEL); g_return_if_fail (panel->priv->window == NULL); g_return_if_fail (GEDIT_IS_WINDOW (window)); panel->priv->window = g_object_ref (window); panel->priv->mnb = GEDIT_MULTI_NOTEBOOK (_gedit_window_get_multi_notebook (window)); g_signal_connect (panel->priv->mnb, "notebook-removed", G_CALLBACK (multi_notebook_notebook_removed), panel); g_signal_connect (panel->priv->mnb, "tab-added", G_CALLBACK (multi_notebook_tab_added), panel); g_signal_connect (panel->priv->mnb, "tab-removed", G_CALLBACK (multi_notebook_tab_removed), panel); g_signal_connect (panel->priv->mnb, "page-reordered", G_CALLBACK (multi_notebook_tabs_reordered), panel); g_signal_connect (panel->priv->mnb, "switch-tab", G_CALLBACK (multi_notebook_tab_switched), panel); refresh_list (panel); }
void gedit_app_set_window_title (GeditApp *app, GeditWindow *window, const gchar *title) { g_return_if_fail (GEDIT_IS_APP (app)); g_return_if_fail (GEDIT_IS_WINDOW (window)); GEDIT_APP_GET_CLASS (app)->set_window_title (app, window, title); }
GtkWidget * gedit_documents_panel_new (GeditWindow *window) { gedit_debug (DEBUG_PANEL); g_return_val_if_fail (GEDIT_IS_WINDOW (window), NULL); return g_object_new (GEDIT_TYPE_DOCUMENTS_PANEL, "window", window, NULL); }
gboolean gedit_app_process_window_event (GeditApp *app, GeditWindow *window, GdkEvent *event) { g_return_val_if_fail (GEDIT_IS_APP (app), FALSE); g_return_val_if_fail (GEDIT_IS_WINDOW (window), FALSE); if (GEDIT_APP_GET_CLASS (app)->process_window_event) { return GEDIT_APP_GET_CLASS (app)->process_window_event (app, window, event); } return FALSE; }
/** * gedit_app_get_main_windows: * @app: the #GeditApp * * Returns all #GeditWindows currently open in #GeditApp. * This differs from gtk_application_get_windows() since it does not * include the preferences dialog and other auxiliary windows. * * Return value: (element-type Gedit.Window) (transfer container): * a newly allocated list of #GeditWindow objects */ GList * gedit_app_get_main_windows (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_prepend (res, l->data); } } return g_list_reverse (res); }
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; }