//! //! @brief Sets up a print preview for the results //! G_MODULE_EXPORT void gw_print_preview_cb (GtkWidget *widget, gpointer data) { GwSearchWindow *window; GwApplication *application; window = GW_SEARCHWINDOW (gtk_widget_get_ancestor (GTK_WIDGET (data), GW_TYPE_SEARCHWINDOW)); if (window == NULL) return; application = gw_window_get_application (GW_WINDOW (window)); gw_application_block_searches (application); gw_print (GTK_PRINT_OPERATION_ACTION_PREVIEW, window); gw_application_unblock_searches (application); }
//! //! @brief Sets up a print operation for the current results //! //! The function checks the results of the results text buffer, and then attempts //! to set up a print operation. If a section of the search results are highlighted //! only those results are printed. //! G_MODULE_EXPORT void gw_print_cb (GSimpleAction *action, GVariant *parameter, gpointer data) { GwSearchWindow *window; GwApplication *application; window = GW_SEARCHWINDOW (gtk_widget_get_ancestor (GTK_WIDGET (data), GW_TYPE_SEARCHWINDOW)); if (window == NULL) return; application = gw_window_get_application (GW_WINDOW (window)); gw_application_block_searches (application); gw_print (GTK_PRINT_OPERATION_ACTION_PRINT_DIALOG, window); gw_application_unblock_searches (application); }
//! //! @brief Resets the states of all the buttons as if the dialog was just freshly opened //! //! @param widget Currently unused GtkWidget pointer //! @param data Currently unused gpointer //! G_MODULE_EXPORT void gw_radicalswindow_clear_cb (GtkWidget *widget, gpointer data) { //Declaratins GwApplication *application; GwRadicalsWindow *window; GwRadicalsWindowPrivate *priv; //Initializations window = GW_RADICALSWINDOW (gtk_widget_get_ancestor (GTK_WIDGET (data), GW_TYPE_RADICALSWINDOW)); if (window == NULL) return; priv = window->priv; application = gw_window_get_application (GW_WINDOW (window)); gw_application_block_searches (application); gw_radicalswindow_deselect_all_radicals (window); gtk_toggle_button_set_active (priv->strokes_checkbutton, FALSE); gw_application_unblock_searches (application); }
void gw_application_quit (GwApplication *application) { gw_application_block_searches (application); GList *link; GtkListStore *liststore; gboolean has_changes; gboolean should_close; liststore = gw_application_get_vocabularyliststore (application); has_changes = gw_vocabularyliststore_has_changes (GW_VOCABULARYLISTSTORE (liststore)); should_close = TRUE; if (has_changes) { link = gtk_application_get_windows (GTK_APPLICATION (application)); while (link != NULL && GW_IS_VOCABULARYWINDOW (link->data) == FALSE) link = link->next; if (link != NULL) { should_close = gw_vocabularywindow_show_save_dialog (GW_VOCABULARYWINDOW (link->data)); } } if (should_close) { link = gtk_application_get_windows (GTK_APPLICATION (application)); while (link != NULL) { gtk_widget_destroy (GTK_WIDGET (link->data)); link = gtk_application_get_windows (GTK_APPLICATION (application)); } } gw_application_unblock_searches (application); }
static void gw_settingswindow_constructed (GObject *object) { //Declarations GwSettingsWindow *window; GwSettingsWindowPrivate *priv; GwApplication *application; LwDictionaryList *dictionarylist; GtkAccelGroup *accelgroup; //Chain the parent class { G_OBJECT_CLASS (gw_settingswindow_parent_class)->constructed (object); } //Initializations window = GW_SETTINGSWINDOW (object); priv = window->priv; accelgroup = gw_window_get_accel_group (GW_WINDOW (window)); application = gw_window_get_application (GW_WINDOW (window)); dictionarylist = LW_DICTIONARYLIST (gw_application_get_installed_dictionarylist (application)); gw_settingswindow_map_actions (G_ACTION_MAP (window), window); priv->manage_dictionaries_treeview = GTK_TREE_VIEW (gw_window_get_object (GW_WINDOW (window), "dictionary_treeview")); priv->notebook = GTK_NOTEBOOK (gw_window_get_object (GW_WINDOW (window), "settings_notebook")); priv->close_button = GTK_BUTTON (gw_window_get_object (GW_WINDOW (window), "close_button")); priv->spellcheck_checkbutton = GTK_TOGGLE_BUTTON (gw_window_get_object (GW_WINDOW (window), "spellcheck_checkbutton")); priv->please_install_dictionary_hbox = GTK_BOX (gw_window_get_object (GW_WINDOW (window), "please_install_dictionary_hbox")); priv->custom_font_fontbutton = GTK_FONT_BUTTON (gw_window_get_object (GW_WINDOW (window), "custom_font_fontbutton")); priv->match_foreground = GTK_COLOR_BUTTON (gw_window_get_object (GW_WINDOW (window), "match_foreground_colorbutton")); priv->match_background = GTK_COLOR_BUTTON (gw_window_get_object (GW_WINDOW (window), "match_background_colorbutton")); priv->comment_foreground = GTK_COLOR_BUTTON (gw_window_get_object (GW_WINDOW (window), "comment_foreground_colorbutton")); priv->header_foreground = GTK_COLOR_BUTTON (gw_window_get_object (GW_WINDOW (window), "header_foreground_colorbutton")); priv->header_background = GTK_COLOR_BUTTON (gw_window_get_object (GW_WINDOW (window), "header_background_colorbutton")); priv->system_document_font_hbox = GTK_BOX (gw_window_get_object (GW_WINDOW (window), "system_document_font_hbox")); priv->system_font_checkbutton = GTK_CHECK_BUTTON (gw_window_get_object (GW_WINDOW (window), "system_font_checkbutton")); priv->search_as_you_type_checkbutton = GTK_CHECK_BUTTON (gw_window_get_object (GW_WINDOW (window), "search_as_you_type_checkbutton")); priv->romaji_to_kana_combobox = GTK_COMBO_BOX (gw_window_get_object (GW_WINDOW (window), "romaji_to_kana_combobox")); priv->hiragana_to_katakana_checkbutton = GTK_CHECK_BUTTON (gw_window_get_object (GW_WINDOW (window), "hiragana_to_katakana_checkbutton")); priv->katakana_to_hiragana_checkbutton = GTK_CHECK_BUTTON (gw_window_get_object (GW_WINDOW (window), "katakana_to_hiragana_checkbutton")); priv->remove_dictionary_toolbutton = GTK_TOOL_BUTTON (gw_window_get_object (GW_WINDOW (window), "remove_dictionary_toolbutton")); gtk_window_set_title (GTK_WINDOW (window), gettext("gWaei Settings")); gtk_window_set_resizable (GTK_WINDOW (window), FALSE); gtk_window_set_type_hint (GTK_WINDOW (window), GDK_WINDOW_TYPE_HINT_DIALOG); gtk_window_set_skip_taskbar_hint (GTK_WINDOW (window), TRUE); gtk_window_set_skip_pager_hint (GTK_WINDOW (window), TRUE); gtk_window_set_destroy_with_parent (GTK_WINDOW (window), TRUE); gtk_window_set_icon_name (GTK_WINDOW (window), "gwaei"); gtk_window_set_position (GTK_WINDOW (window), GTK_WIN_POS_CENTER_ON_PARENT); g_signal_connect (G_OBJECT (window), "destroy", G_CALLBACK (gw_settingswindow_remove_signals), NULL); if (g_main_current_source () != NULL) gw_application_block_searches (application); gw_settingswindow_init_styles (window); gw_settingswindow_init_dictionary_treeview (window); if (lw_dictionarylist_get_total (LW_DICTIONARYLIST (dictionarylist)) == 0) gtk_notebook_set_current_page (priv->notebook, 1); gw_settingswindow_check_for_dictionaries (window); #ifdef WITH_HUNSPELL gtk_widget_show (GTK_WIDGET (priv->spellcheck_checkbutton)); #else gtk_widget_hide (GTK_WIDGET (priv->spellcheck_checkbutton)); #endif gw_settingswindow_attach_signals (window); gtk_widget_add_accelerator (GTK_WIDGET (priv->close_button), "activate", accelgroup, (GDK_KEY_W), GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); gtk_widget_add_accelerator (GTK_WIDGET (priv->close_button), "activate", accelgroup, (GDK_KEY_Escape), 0, GTK_ACCEL_VISIBLE); gw_window_unload_xml (GW_WINDOW (window)); }