static GdkPixbuf * get_bookmark_pixbuf (PlumaPlugin *plugin) { gchar *datadir; gchar *iconpath; GdkPixbuf *pixbuf; datadir = pluma_plugin_get_data_dir (plugin); iconpath = g_build_filename (datadir, "bookmark.png", NULL); pixbuf = gdk_pixbuf_new_from_file (iconpath, NULL); g_free (datadir); g_free (iconpath); return pixbuf; }
static DrawspacesConfigureDialog * get_configuration_dialog (PlumaDrawspacesPlugin *plugin) { DrawspacesConfigureDialog *dialog = NULL; gboolean ret; GtkWidget *error_widget; gchar *datadir; gchar *filename; gchar *root_objects[] = { "dialog_draw_spaces", NULL }; dialog = g_slice_new (DrawspacesConfigureDialog); datadir = pluma_plugin_get_data_dir (PLUMA_PLUGIN (plugin)); filename = g_build_filename (datadir, UI_FILE, NULL); ret = pluma_utils_get_ui_objects (filename, root_objects, &error_widget, "dialog_draw_spaces", &dialog->dialog, "check_button_draw_tabs", &dialog->draw_tabs, "check_button_draw_spaces", &dialog->draw_spaces, "check_button_draw_new_lines", &dialog->draw_newline, "check_button_draw_nbsp", &dialog->draw_nbsp, "check_button_draw_leading", &dialog->draw_leading, "check_button_draw_text", &dialog->draw_text, "check_button_draw_trailing", &dialog->draw_trailing, NULL); g_free (datadir); g_free (filename); if (!ret) { GtkWidget *dialog_error; GtkWidget *content; dialog_error = gtk_dialog_new_with_buttons (_("Error dialog"), NULL, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE, NULL); content = gtk_dialog_get_content_area (GTK_DIALOG (dialog_error)); gtk_widget_show (error_widget); gtk_box_pack_start_defaults (GTK_BOX (content), error_widget); gtk_widget_show (dialog_error); gtk_dialog_run (GTK_DIALOG (dialog_error)); gtk_widget_destroy (dialog_error); } gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (dialog->draw_tabs), plugin->priv->flags & GTK_SOURCE_DRAW_SPACES_TAB); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (dialog->draw_spaces), plugin->priv->flags & GTK_SOURCE_DRAW_SPACES_SPACE); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (dialog->draw_newline), plugin->priv->flags & GTK_SOURCE_DRAW_SPACES_NEWLINE); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (dialog->draw_nbsp), plugin->priv->flags & GTK_SOURCE_DRAW_SPACES_NBSP); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (dialog->draw_leading), plugin->priv->flags & GTK_SOURCE_DRAW_SPACES_LEADING); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (dialog->draw_text), plugin->priv->flags & GTK_SOURCE_DRAW_SPACES_TEXT); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (dialog->draw_trailing), plugin->priv->flags & GTK_SOURCE_DRAW_SPACES_TRAILING); g_signal_connect (dialog->draw_tabs, "toggled", G_CALLBACK (on_draw_tabs_toggled), plugin); g_signal_connect (dialog->draw_spaces, "toggled", G_CALLBACK (on_draw_spaces_toggled), plugin); g_signal_connect (dialog->draw_newline, "toggled", G_CALLBACK (on_draw_newline_toggled), plugin); g_signal_connect (dialog->draw_nbsp, "toggled", G_CALLBACK (on_draw_nbsp_toggled), plugin); g_signal_connect (dialog->draw_leading, "toggled", G_CALLBACK (on_draw_leading_toggled), plugin); g_signal_connect (dialog->draw_text, "toggled", G_CALLBACK (on_draw_text_toggled), plugin); g_signal_connect (dialog->draw_trailing, "toggled", G_CALLBACK (on_draw_trailing_toggled), plugin); g_signal_connect (dialog->dialog, "destroy", G_CALLBACK (dialog_destroyed), dialog); return dialog; }
static DocInfoDialog * get_docinfo_dialog (PlumaWindow *window, WindowData *data) { DocInfoDialog *dialog; gchar *data_dir; gchar *ui_file; GtkWidget *content; GtkWidget *error_widget; gboolean ret; pluma_debug (DEBUG_PLUGINS); dialog = g_new (DocInfoDialog, 1); data_dir = pluma_plugin_get_data_dir (data->plugin); ui_file = g_build_filename (data_dir, "docinfo.ui", NULL); ret = pluma_utils_get_ui_objects (ui_file, NULL, &error_widget, "dialog", &dialog->dialog, "docinfo_dialog_content", &content, "file_name_label", &dialog->file_name_label, "words_label", &dialog->words_label, "bytes_label", &dialog->bytes_label, "lines_label", &dialog->lines_label, "chars_label", &dialog->chars_label, "chars_ns_label", &dialog->chars_ns_label, "selection_vbox", &dialog->selection_vbox, "selected_words_label", &dialog->selected_words_label, "selected_bytes_label", &dialog->selected_bytes_label, "selected_lines_label", &dialog->selected_lines_label, "selected_chars_label", &dialog->selected_chars_label, "selected_chars_ns_label", &dialog->selected_chars_ns_label, NULL); g_free (data_dir); g_free (ui_file); if (!ret) { const gchar *err_message; err_message = gtk_label_get_label (GTK_LABEL (error_widget)); pluma_warning (GTK_WINDOW (window), "%s", err_message); g_free (dialog); gtk_widget_destroy (error_widget); return NULL; } gtk_dialog_set_default_response (GTK_DIALOG (dialog->dialog), GTK_RESPONSE_OK); gtk_window_set_transient_for (GTK_WINDOW (dialog->dialog), GTK_WINDOW (window)); g_signal_connect (dialog->dialog, "destroy", G_CALLBACK (docinfo_dialog_destroy_cb), data); g_signal_connect (dialog->dialog, "response", G_CALLBACK (docinfo_dialog_response_cb), window); return dialog; }