mirror of https://github.com/GNOME/gimp.git
app: add GimpPrefsBox, a helper widget for preferences and similar dialogs
and use it in the preferences dialog. Removes quite some code from that insane file.
This commit is contained in:
parent
c0c813d9f1
commit
49fdaac07f
|
@ -46,6 +46,7 @@
|
||||||
#include "widgets/gimphelp-ids.h"
|
#include "widgets/gimphelp-ids.h"
|
||||||
#include "widgets/gimpmessagebox.h"
|
#include "widgets/gimpmessagebox.h"
|
||||||
#include "widgets/gimpmessagedialog.h"
|
#include "widgets/gimpmessagedialog.h"
|
||||||
|
#include "widgets/gimpprefsbox.h"
|
||||||
#include "widgets/gimpprofilechooserdialog.h"
|
#include "widgets/gimpprofilechooserdialog.h"
|
||||||
#include "widgets/gimppropwidgets.h"
|
#include "widgets/gimppropwidgets.h"
|
||||||
#include "widgets/gimptemplateeditor.h"
|
#include "widgets/gimptemplateeditor.h"
|
||||||
|
@ -90,10 +91,6 @@ static void prefs_message (GtkMessageType type,
|
||||||
gboolean destroy,
|
gboolean destroy,
|
||||||
const gchar *message);
|
const gchar *message);
|
||||||
|
|
||||||
static void prefs_notebook_page_callback (GtkNotebook *notebook,
|
|
||||||
gpointer page,
|
|
||||||
guint page_num,
|
|
||||||
GtkTreeSelection *sel);
|
|
||||||
static void prefs_resolution_source_callback (GtkWidget *widget,
|
static void prefs_resolution_source_callback (GtkWidget *widget,
|
||||||
GObject *config);
|
GObject *config);
|
||||||
static void prefs_resolution_calibrate_callback (GtkWidget *widget,
|
static void prefs_resolution_calibrate_callback (GtkWidget *widget,
|
||||||
|
@ -475,13 +472,13 @@ prefs_resolution_calibrate_callback (GtkWidget *widget,
|
||||||
GtkWidget *entry)
|
GtkWidget *entry)
|
||||||
{
|
{
|
||||||
GtkWidget *dialog;
|
GtkWidget *dialog;
|
||||||
GtkWidget *notebook;
|
GtkWidget *prefs_box;
|
||||||
GtkWidget *image;
|
GtkWidget *image;
|
||||||
|
|
||||||
dialog = gtk_widget_get_toplevel (entry);
|
dialog = gtk_widget_get_toplevel (entry);
|
||||||
|
|
||||||
notebook = g_object_get_data (G_OBJECT (dialog), "notebook");
|
prefs_box = g_object_get_data (G_OBJECT (dialog), "prefs-box");
|
||||||
image = g_object_get_data (G_OBJECT (notebook), "image");
|
image = gimp_prefs_box_get_image (GIMP_PREFS_BOX (prefs_box));
|
||||||
|
|
||||||
resolution_calibrate_dialog (entry, gtk_image_get_pixbuf (GTK_IMAGE (image)));
|
resolution_calibrate_dialog (entry, gtk_image_get_pixbuf (GTK_IMAGE (image)));
|
||||||
}
|
}
|
||||||
|
@ -683,177 +680,6 @@ prefs_tool_options_clear_callback (GtkWidget *widget,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static GtkWidget *
|
|
||||||
prefs_notebook_append_page (Gimp *gimp,
|
|
||||||
GtkNotebook *notebook,
|
|
||||||
const gchar *notebook_label,
|
|
||||||
const gchar *notebook_icon,
|
|
||||||
GtkTreeStore *tree,
|
|
||||||
const gchar *tree_label,
|
|
||||||
const gchar *help_id,
|
|
||||||
GtkTreeIter *parent,
|
|
||||||
GtkTreeIter *iter,
|
|
||||||
gint page_index)
|
|
||||||
{
|
|
||||||
GtkWidget *event_box;
|
|
||||||
GtkWidget *vbox;
|
|
||||||
GdkPixbuf *pixbuf = NULL;
|
|
||||||
GdkPixbuf *small_pixbuf = NULL;
|
|
||||||
|
|
||||||
event_box = gtk_event_box_new ();
|
|
||||||
gtk_event_box_set_visible_window (GTK_EVENT_BOX (event_box), FALSE);
|
|
||||||
gtk_notebook_append_page (notebook, event_box, NULL);
|
|
||||||
gtk_widget_show (event_box);
|
|
||||||
|
|
||||||
gimp_help_set_help_data (event_box, NULL, help_id);
|
|
||||||
|
|
||||||
vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12);
|
|
||||||
gtk_container_add (GTK_CONTAINER (event_box), vbox);
|
|
||||||
gtk_widget_show (vbox);
|
|
||||||
|
|
||||||
if (notebook_icon)
|
|
||||||
{
|
|
||||||
gchar *basename;
|
|
||||||
gchar *filename;
|
|
||||||
|
|
||||||
basename = g_strconcat (notebook_icon, ".png", NULL);
|
|
||||||
filename = themes_get_theme_file (gimp, "images", "preferences",
|
|
||||||
basename, NULL);
|
|
||||||
|
|
||||||
if (g_file_test (filename, G_FILE_TEST_IS_REGULAR))
|
|
||||||
pixbuf = gdk_pixbuf_new_from_file (filename, NULL);
|
|
||||||
|
|
||||||
g_free (filename);
|
|
||||||
g_free (basename);
|
|
||||||
|
|
||||||
basename = g_strconcat (notebook_icon, "-22.png", NULL);
|
|
||||||
filename = themes_get_theme_file (gimp, "images", "preferences",
|
|
||||||
basename, NULL);
|
|
||||||
|
|
||||||
if (g_file_test (filename, G_FILE_TEST_IS_REGULAR))
|
|
||||||
small_pixbuf = gdk_pixbuf_new_from_file (filename, NULL);
|
|
||||||
else if (pixbuf)
|
|
||||||
small_pixbuf = gdk_pixbuf_scale_simple (pixbuf,
|
|
||||||
22, 22, GDK_INTERP_BILINEAR);
|
|
||||||
|
|
||||||
g_free (filename);
|
|
||||||
g_free (basename);
|
|
||||||
}
|
|
||||||
|
|
||||||
gtk_tree_store_append (tree, iter, parent);
|
|
||||||
gtk_tree_store_set (tree, iter,
|
|
||||||
0, small_pixbuf,
|
|
||||||
1, tree_label ? tree_label : notebook_label,
|
|
||||||
2, page_index,
|
|
||||||
3, notebook_label,
|
|
||||||
4, pixbuf,
|
|
||||||
-1);
|
|
||||||
|
|
||||||
if (pixbuf)
|
|
||||||
g_object_unref (pixbuf);
|
|
||||||
|
|
||||||
if (small_pixbuf)
|
|
||||||
g_object_unref (small_pixbuf);
|
|
||||||
|
|
||||||
return vbox;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
prefs_tree_select_callback (GtkTreeSelection *sel,
|
|
||||||
GtkNotebook *notebook)
|
|
||||||
{
|
|
||||||
GtkWidget *label;
|
|
||||||
GtkWidget *image;
|
|
||||||
GtkTreeModel *model;
|
|
||||||
GtkTreeIter iter;
|
|
||||||
gchar *text;
|
|
||||||
GdkPixbuf *pixbuf;
|
|
||||||
gint index;
|
|
||||||
|
|
||||||
if (! gtk_tree_selection_get_selected (sel, &model, &iter))
|
|
||||||
return;
|
|
||||||
|
|
||||||
label = g_object_get_data (G_OBJECT (notebook), "label");
|
|
||||||
image = g_object_get_data (G_OBJECT (notebook), "image");
|
|
||||||
|
|
||||||
gtk_tree_model_get (model, &iter,
|
|
||||||
3, &text,
|
|
||||||
4, &pixbuf,
|
|
||||||
2, &index,
|
|
||||||
-1);
|
|
||||||
|
|
||||||
gtk_label_set_text (GTK_LABEL (label), text);
|
|
||||||
g_free (text);
|
|
||||||
|
|
||||||
gtk_image_set_from_pixbuf (GTK_IMAGE (image), pixbuf);
|
|
||||||
if (pixbuf)
|
|
||||||
g_object_unref (pixbuf);
|
|
||||||
|
|
||||||
g_signal_handlers_block_by_func (notebook,
|
|
||||||
prefs_notebook_page_callback,
|
|
||||||
sel);
|
|
||||||
gtk_notebook_set_current_page (GTK_NOTEBOOK (notebook), index);
|
|
||||||
g_signal_handlers_unblock_by_func (notebook,
|
|
||||||
prefs_notebook_page_callback,
|
|
||||||
sel);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
prefs_notebook_page_callback (GtkNotebook *notebook,
|
|
||||||
gpointer page,
|
|
||||||
guint page_num,
|
|
||||||
GtkTreeSelection *sel)
|
|
||||||
{
|
|
||||||
GtkTreeView *view;
|
|
||||||
GtkTreeModel *model;
|
|
||||||
GtkTreeIter iter;
|
|
||||||
gboolean iter_valid;
|
|
||||||
|
|
||||||
view = gtk_tree_selection_get_tree_view (sel);
|
|
||||||
model = gtk_tree_view_get_model (view);
|
|
||||||
|
|
||||||
for (iter_valid = gtk_tree_model_get_iter_first (model, &iter);
|
|
||||||
iter_valid;
|
|
||||||
iter_valid = gtk_tree_model_iter_next (model, &iter))
|
|
||||||
{
|
|
||||||
gint index;
|
|
||||||
|
|
||||||
gtk_tree_model_get (model, &iter, 2, &index, -1);
|
|
||||||
|
|
||||||
if (index == page_num)
|
|
||||||
{
|
|
||||||
gtk_tree_selection_select_iter (sel, &iter);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (gtk_tree_model_iter_has_child (model, &iter))
|
|
||||||
{
|
|
||||||
gint num_children;
|
|
||||||
gint i;
|
|
||||||
|
|
||||||
num_children = gtk_tree_model_iter_n_children (model, &iter);
|
|
||||||
|
|
||||||
for (i = 0; i < num_children; i++)
|
|
||||||
{
|
|
||||||
GtkTreeIter child_iter;
|
|
||||||
|
|
||||||
gtk_tree_model_iter_nth_child (model, &child_iter, &iter, i);
|
|
||||||
gtk_tree_model_get (model, &child_iter, 2, &index, -1);
|
|
||||||
|
|
||||||
if (index == page_num)
|
|
||||||
{
|
|
||||||
GtkTreePath *path;
|
|
||||||
|
|
||||||
path = gtk_tree_model_get_path (model, &child_iter);
|
|
||||||
gtk_tree_view_expand_to_path (view, path);
|
|
||||||
gtk_tree_selection_select_iter (sel, &child_iter);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
prefs_format_string_select_callback (GtkTreeSelection *sel,
|
prefs_format_string_select_callback (GtkTreeSelection *sel,
|
||||||
GtkEntry *entry)
|
GtkEntry *entry)
|
||||||
|
@ -1317,11 +1143,13 @@ static void
|
||||||
prefs_help_func (const gchar *help_id,
|
prefs_help_func (const gchar *help_id,
|
||||||
gpointer help_data)
|
gpointer help_data)
|
||||||
{
|
{
|
||||||
|
GtkWidget *prefs_box;
|
||||||
GtkWidget *notebook;
|
GtkWidget *notebook;
|
||||||
GtkWidget *event_box;
|
GtkWidget *event_box;
|
||||||
gint page_num;
|
gint page_num;
|
||||||
|
|
||||||
notebook = g_object_get_data (G_OBJECT (help_data), "notebook");
|
prefs_box = g_object_get_data (G_OBJECT (help_data), "prefs-box");
|
||||||
|
notebook = gimp_prefs_box_get_notebook (GIMP_PREFS_BOX (prefs_box));
|
||||||
page_num = gtk_notebook_get_current_page (GTK_NOTEBOOK (notebook));
|
page_num = gtk_notebook_get_current_page (GTK_NOTEBOOK (notebook));
|
||||||
event_box = gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook), page_num);
|
event_box = gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook), page_num);
|
||||||
|
|
||||||
|
@ -1348,33 +1176,76 @@ prefs_message (GtkMessageType type,
|
||||||
gtk_widget_show (dialog);
|
gtk_widget_show (dialog);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static gboolean
|
||||||
|
prefs_idle_unref (gpointer data)
|
||||||
|
{
|
||||||
|
g_object_unref (data);
|
||||||
|
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
static GdkPixbuf *
|
||||||
|
prefs_get_pixbufs (Gimp *gimp,
|
||||||
|
const gchar *name,
|
||||||
|
GdkPixbuf **small_pixbuf)
|
||||||
|
{
|
||||||
|
GdkPixbuf *pixbuf = NULL;
|
||||||
|
gchar *basename;
|
||||||
|
gchar *filename;
|
||||||
|
|
||||||
|
*small_pixbuf = NULL;
|
||||||
|
|
||||||
|
basename = g_strconcat (name, ".png", NULL);
|
||||||
|
filename = themes_get_theme_file (gimp, "images", "preferences",
|
||||||
|
basename, NULL);
|
||||||
|
|
||||||
|
if (g_file_test (filename, G_FILE_TEST_IS_REGULAR))
|
||||||
|
pixbuf = gdk_pixbuf_new_from_file (filename, NULL);
|
||||||
|
|
||||||
|
g_free (filename);
|
||||||
|
g_free (basename);
|
||||||
|
|
||||||
|
basename = g_strconcat (name, "-22.png", NULL);
|
||||||
|
filename = themes_get_theme_file (gimp, "images", "preferences",
|
||||||
|
basename, NULL);
|
||||||
|
|
||||||
|
if (g_file_test (filename, G_FILE_TEST_IS_REGULAR))
|
||||||
|
*small_pixbuf = gdk_pixbuf_new_from_file (filename, NULL);
|
||||||
|
else if (pixbuf)
|
||||||
|
*small_pixbuf = gdk_pixbuf_scale_simple (pixbuf,
|
||||||
|
22, 22, GDK_INTERP_BILINEAR);
|
||||||
|
|
||||||
|
g_free (filename);
|
||||||
|
g_free (basename);
|
||||||
|
|
||||||
|
if (pixbuf)
|
||||||
|
g_idle_add (prefs_idle_unref, pixbuf);
|
||||||
|
|
||||||
|
if (*small_pixbuf)
|
||||||
|
g_idle_add (prefs_idle_unref, *small_pixbuf);
|
||||||
|
|
||||||
|
return pixbuf;
|
||||||
|
}
|
||||||
|
|
||||||
static GtkWidget *
|
static GtkWidget *
|
||||||
prefs_dialog_new (Gimp *gimp,
|
prefs_dialog_new (Gimp *gimp,
|
||||||
GimpConfig *config)
|
GimpConfig *config)
|
||||||
{
|
{
|
||||||
GtkWidget *dialog;
|
GtkWidget *dialog;
|
||||||
GtkWidget *tv;
|
|
||||||
GtkTreeStore *tree;
|
|
||||||
GtkTreeViewColumn *column;
|
|
||||||
GtkCellRenderer *cell;
|
|
||||||
GtkTreeSelection *sel;
|
|
||||||
GtkTreePath *path;
|
|
||||||
GtkTreeIter top_iter;
|
GtkTreeIter top_iter;
|
||||||
GtkTreeIter child_iter;
|
GtkTreeIter child_iter;
|
||||||
gint page_index;
|
|
||||||
|
|
||||||
GtkSizeGroup *size_group = NULL;
|
GtkSizeGroup *size_group = NULL;
|
||||||
GtkWidget *frame;
|
GdkPixbuf *pixbuf;
|
||||||
GtkWidget *ebox;
|
GdkPixbuf *small_pixbuf = NULL;
|
||||||
GtkWidget *notebook;
|
GtkWidget *prefs_box;
|
||||||
GtkWidget *vbox;
|
GtkWidget *vbox;
|
||||||
GtkWidget *vbox2;
|
|
||||||
GtkWidget *hbox;
|
GtkWidget *hbox;
|
||||||
|
GtkWidget *vbox2;
|
||||||
GtkWidget *button;
|
GtkWidget *button;
|
||||||
GtkWidget *button2;
|
GtkWidget *button2;
|
||||||
GtkWidget *table;
|
GtkWidget *table;
|
||||||
GtkWidget *label;
|
GtkWidget *label;
|
||||||
GtkWidget *image;
|
|
||||||
GtkWidget *entry;
|
GtkWidget *entry;
|
||||||
GtkWidget *calibrate_button;
|
GtkWidget *calibrate_button;
|
||||||
GSList *group;
|
GSList *group;
|
||||||
|
@ -1413,109 +1284,28 @@ prefs_dialog_new (Gimp *gimp,
|
||||||
G_CALLBACK (prefs_response),
|
G_CALLBACK (prefs_response),
|
||||||
dialog);
|
dialog);
|
||||||
|
|
||||||
/* The main hbox */
|
/* The prefs box */
|
||||||
hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12);
|
prefs_box = gimp_prefs_box_new ();
|
||||||
gtk_container_set_border_width (GTK_CONTAINER (hbox), 12);
|
gtk_container_set_border_width (GTK_CONTAINER (prefs_box), 12);
|
||||||
gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dialog))),
|
gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dialog))),
|
||||||
hbox, TRUE, TRUE, 0);
|
prefs_box, TRUE, TRUE, 0);
|
||||||
gtk_widget_show (hbox);
|
gtk_widget_show (prefs_box);
|
||||||
|
|
||||||
/* The categories tree */
|
g_object_set_data (G_OBJECT (dialog), "prefs-box", prefs_box);
|
||||||
frame = gtk_scrolled_window_new (NULL, NULL);
|
|
||||||
gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (frame),
|
|
||||||
GTK_SHADOW_IN);
|
|
||||||
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (frame),
|
|
||||||
GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
|
|
||||||
gtk_box_pack_start (GTK_BOX (hbox), frame, FALSE, FALSE, 0);
|
|
||||||
gtk_widget_show (frame);
|
|
||||||
|
|
||||||
tree = gtk_tree_store_new (5,
|
|
||||||
GDK_TYPE_PIXBUF, G_TYPE_STRING,
|
|
||||||
G_TYPE_INT, G_TYPE_STRING, GDK_TYPE_PIXBUF);
|
|
||||||
tv = gtk_tree_view_new_with_model (GTK_TREE_MODEL (tree));
|
|
||||||
g_object_unref (tree);
|
|
||||||
|
|
||||||
gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (tv), FALSE);
|
|
||||||
|
|
||||||
column = gtk_tree_view_column_new ();
|
|
||||||
|
|
||||||
cell = gtk_cell_renderer_pixbuf_new ();
|
|
||||||
gtk_tree_view_column_pack_start (column, cell, FALSE);
|
|
||||||
gtk_tree_view_column_set_attributes (column, cell, "pixbuf", 0, NULL);
|
|
||||||
|
|
||||||
cell = gtk_cell_renderer_text_new ();
|
|
||||||
gtk_tree_view_column_pack_start (column, cell, TRUE);
|
|
||||||
gtk_tree_view_column_set_attributes (column, cell, "text", 1, NULL);
|
|
||||||
|
|
||||||
gtk_tree_view_append_column (GTK_TREE_VIEW (tv), column);
|
|
||||||
|
|
||||||
gtk_container_add (GTK_CONTAINER (frame), tv);
|
|
||||||
|
|
||||||
vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12);
|
|
||||||
gtk_box_pack_start (GTK_BOX (hbox), vbox, TRUE, TRUE, 0);
|
|
||||||
gtk_widget_show (vbox);
|
|
||||||
|
|
||||||
ebox = gtk_event_box_new ();
|
|
||||||
gtk_widget_set_state (ebox, GTK_STATE_SELECTED);
|
|
||||||
gtk_box_pack_start (GTK_BOX (vbox), ebox, FALSE, TRUE, 0);
|
|
||||||
gtk_widget_show (ebox);
|
|
||||||
|
|
||||||
hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
|
|
||||||
gtk_container_set_border_width (GTK_CONTAINER (hbox), 6);
|
|
||||||
gtk_container_add (GTK_CONTAINER (ebox), hbox);
|
|
||||||
gtk_widget_show (hbox);
|
|
||||||
|
|
||||||
label = gtk_label_new (NULL);
|
|
||||||
gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
|
|
||||||
gimp_label_set_attributes (GTK_LABEL (label),
|
|
||||||
PANGO_ATTR_SCALE, PANGO_SCALE_LARGE,
|
|
||||||
PANGO_ATTR_WEIGHT, PANGO_WEIGHT_BOLD,
|
|
||||||
-1);
|
|
||||||
gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
|
|
||||||
gtk_widget_show (label);
|
|
||||||
|
|
||||||
image = gtk_image_new ();
|
|
||||||
gtk_box_pack_end (GTK_BOX (hbox), image, FALSE, FALSE, 0);
|
|
||||||
gtk_widget_show (image);
|
|
||||||
|
|
||||||
/* The main preferences notebook */
|
|
||||||
notebook = gtk_notebook_new ();
|
|
||||||
gtk_notebook_set_show_tabs (GTK_NOTEBOOK (notebook), FALSE);
|
|
||||||
gtk_notebook_set_show_border (GTK_NOTEBOOK (notebook), FALSE);
|
|
||||||
gtk_box_pack_start (GTK_BOX (vbox), notebook, TRUE, TRUE, 0);
|
|
||||||
|
|
||||||
g_object_set_data (G_OBJECT (dialog), "notebook", notebook);
|
|
||||||
|
|
||||||
g_object_set_data (G_OBJECT (notebook), "label", label);
|
|
||||||
g_object_set_data (G_OBJECT (notebook), "image", image);
|
|
||||||
|
|
||||||
sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (tv));
|
|
||||||
g_signal_connect (sel, "changed",
|
|
||||||
G_CALLBACK (prefs_tree_select_callback),
|
|
||||||
notebook);
|
|
||||||
g_signal_connect (notebook, "switch-page",
|
|
||||||
G_CALLBACK (prefs_notebook_page_callback),
|
|
||||||
sel);
|
|
||||||
|
|
||||||
page_index = 0;
|
|
||||||
|
|
||||||
|
|
||||||
/*****************/
|
/*****************/
|
||||||
/* Environment */
|
/* Environment */
|
||||||
/*****************/
|
/*****************/
|
||||||
vbox = prefs_notebook_append_page (gimp,
|
pixbuf = prefs_get_pixbufs (gimp, "environment", &small_pixbuf);
|
||||||
GTK_NOTEBOOK (notebook),
|
vbox = gimp_prefs_box_add_page (GIMP_PREFS_BOX (prefs_box),
|
||||||
_("Environment"),
|
_("Environment"),
|
||||||
"environment",
|
pixbuf,
|
||||||
GTK_TREE_STORE (tree),
|
|
||||||
NULL,
|
NULL,
|
||||||
|
small_pixbuf,
|
||||||
GIMP_HELP_PREFS_ENVIRONMENT,
|
GIMP_HELP_PREFS_ENVIRONMENT,
|
||||||
NULL,
|
NULL,
|
||||||
&top_iter,
|
&top_iter);
|
||||||
page_index++);
|
|
||||||
|
|
||||||
/* select this page in the tree */
|
|
||||||
gtk_tree_selection_select_iter (sel, &top_iter);
|
|
||||||
|
|
||||||
size_group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
|
size_group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
|
||||||
|
|
||||||
|
@ -1574,16 +1364,15 @@ prefs_dialog_new (Gimp *gimp,
|
||||||
/***************/
|
/***************/
|
||||||
/* Interface */
|
/* Interface */
|
||||||
/***************/
|
/***************/
|
||||||
vbox = prefs_notebook_append_page (gimp,
|
pixbuf = prefs_get_pixbufs (gimp, "interface", &small_pixbuf);
|
||||||
GTK_NOTEBOOK (notebook),
|
vbox = gimp_prefs_box_add_page (GIMP_PREFS_BOX (prefs_box),
|
||||||
_("User Interface"),
|
_("User Interface"),
|
||||||
"interface",
|
pixbuf,
|
||||||
GTK_TREE_STORE (tree),
|
|
||||||
_("Interface"),
|
_("Interface"),
|
||||||
|
small_pixbuf,
|
||||||
GIMP_HELP_PREFS_INTERFACE,
|
GIMP_HELP_PREFS_INTERFACE,
|
||||||
NULL,
|
NULL,
|
||||||
&top_iter,
|
&top_iter);
|
||||||
page_index++);
|
|
||||||
|
|
||||||
/* Language */
|
/* Language */
|
||||||
|
|
||||||
|
@ -1656,16 +1445,15 @@ prefs_dialog_new (Gimp *gimp,
|
||||||
/***********/
|
/***********/
|
||||||
/* Theme */
|
/* Theme */
|
||||||
/***********/
|
/***********/
|
||||||
vbox = prefs_notebook_append_page (gimp,
|
pixbuf = prefs_get_pixbufs (gimp, "theme", &small_pixbuf);
|
||||||
GTK_NOTEBOOK (notebook),
|
vbox = gimp_prefs_box_add_page (GIMP_PREFS_BOX (prefs_box),
|
||||||
_("Theme"),
|
_("Theme"),
|
||||||
"theme",
|
pixbuf,
|
||||||
GTK_TREE_STORE (tree),
|
|
||||||
NULL,
|
NULL,
|
||||||
|
small_pixbuf,
|
||||||
GIMP_HELP_PREFS_THEME,
|
GIMP_HELP_PREFS_THEME,
|
||||||
NULL,
|
NULL,
|
||||||
&top_iter,
|
&top_iter);
|
||||||
page_index++);
|
|
||||||
|
|
||||||
vbox2 = prefs_frame_new (_("Select Theme"), GTK_CONTAINER (vbox), TRUE);
|
vbox2 = prefs_frame_new (_("Select Theme"), GTK_CONTAINER (vbox), TRUE);
|
||||||
|
|
||||||
|
@ -1759,16 +1547,15 @@ prefs_dialog_new (Gimp *gimp,
|
||||||
/*****************/
|
/*****************/
|
||||||
/* Help System */
|
/* Help System */
|
||||||
/*****************/
|
/*****************/
|
||||||
vbox = prefs_notebook_append_page (gimp,
|
pixbuf = prefs_get_pixbufs (gimp, "help-system", &small_pixbuf);
|
||||||
GTK_NOTEBOOK (notebook),
|
vbox = gimp_prefs_box_add_page (GIMP_PREFS_BOX (prefs_box),
|
||||||
_("Help System"),
|
_("Help System"),
|
||||||
"help-system",
|
pixbuf,
|
||||||
GTK_TREE_STORE (tree),
|
|
||||||
NULL,
|
NULL,
|
||||||
|
small_pixbuf,
|
||||||
GIMP_HELP_PREFS_HELP,
|
GIMP_HELP_PREFS_HELP,
|
||||||
NULL,
|
NULL,
|
||||||
&top_iter,
|
&top_iter);
|
||||||
page_index++);
|
|
||||||
|
|
||||||
size_group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
|
size_group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
|
||||||
|
|
||||||
|
@ -1843,16 +1630,15 @@ prefs_dialog_new (Gimp *gimp,
|
||||||
/******************/
|
/******************/
|
||||||
/* Tool Options */
|
/* Tool Options */
|
||||||
/******************/
|
/******************/
|
||||||
vbox = prefs_notebook_append_page (gimp,
|
pixbuf = prefs_get_pixbufs (gimp, "tool-options", &small_pixbuf);
|
||||||
GTK_NOTEBOOK (notebook),
|
vbox = gimp_prefs_box_add_page (GIMP_PREFS_BOX (prefs_box),
|
||||||
C_("preferences", "Tool Options"),
|
C_("preferences", "Tool Options"),
|
||||||
"tool-options",
|
pixbuf,
|
||||||
GTK_TREE_STORE (tree),
|
|
||||||
NULL,
|
NULL,
|
||||||
|
small_pixbuf,
|
||||||
GIMP_HELP_PREFS_TOOL_OPTIONS,
|
GIMP_HELP_PREFS_TOOL_OPTIONS,
|
||||||
NULL,
|
NULL,
|
||||||
&top_iter,
|
&top_iter);
|
||||||
page_index++);
|
|
||||||
|
|
||||||
size_group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
|
size_group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
|
||||||
|
|
||||||
|
@ -1933,16 +1719,15 @@ prefs_dialog_new (Gimp *gimp,
|
||||||
/*************/
|
/*************/
|
||||||
/* Toolbox */
|
/* Toolbox */
|
||||||
/*************/
|
/*************/
|
||||||
vbox = prefs_notebook_append_page (gimp,
|
pixbuf = prefs_get_pixbufs (gimp, "toolbox", &small_pixbuf);
|
||||||
GTK_NOTEBOOK (notebook),
|
vbox = gimp_prefs_box_add_page (GIMP_PREFS_BOX (prefs_box),
|
||||||
_("Toolbox"),
|
_("Toolbox"),
|
||||||
"toolbox",
|
pixbuf,
|
||||||
GTK_TREE_STORE (tree),
|
|
||||||
NULL,
|
NULL,
|
||||||
|
small_pixbuf,
|
||||||
GIMP_HELP_PREFS_TOOLBOX,
|
GIMP_HELP_PREFS_TOOLBOX,
|
||||||
NULL,
|
NULL,
|
||||||
&top_iter,
|
&top_iter);
|
||||||
page_index++);
|
|
||||||
|
|
||||||
size_group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
|
size_group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
|
||||||
|
|
||||||
|
@ -1980,16 +1765,15 @@ prefs_dialog_new (Gimp *gimp,
|
||||||
/***********************/
|
/***********************/
|
||||||
/* Default New Image */
|
/* Default New Image */
|
||||||
/***********************/
|
/***********************/
|
||||||
vbox = prefs_notebook_append_page (gimp,
|
pixbuf = prefs_get_pixbufs (gimp, "new-image", &small_pixbuf);
|
||||||
GTK_NOTEBOOK (notebook),
|
vbox = gimp_prefs_box_add_page (GIMP_PREFS_BOX (prefs_box),
|
||||||
_("Default New Image"),
|
_("Default New Image"),
|
||||||
"new-image",
|
pixbuf,
|
||||||
GTK_TREE_STORE (tree),
|
|
||||||
_("Default Image"),
|
_("Default Image"),
|
||||||
|
small_pixbuf,
|
||||||
GIMP_HELP_PREFS_NEW_IMAGE,
|
GIMP_HELP_PREFS_NEW_IMAGE,
|
||||||
NULL,
|
NULL,
|
||||||
&top_iter,
|
&top_iter);
|
||||||
page_index++);
|
|
||||||
|
|
||||||
table = prefs_table_new (1, GTK_CONTAINER (vbox));
|
table = prefs_table_new (1, GTK_CONTAINER (vbox));
|
||||||
|
|
||||||
|
@ -2033,16 +1817,15 @@ prefs_dialog_new (Gimp *gimp,
|
||||||
/******************/
|
/******************/
|
||||||
/* Default Grid */
|
/* Default Grid */
|
||||||
/******************/
|
/******************/
|
||||||
vbox = prefs_notebook_append_page (gimp,
|
pixbuf = prefs_get_pixbufs (gimp, "default-grid", &small_pixbuf);
|
||||||
GTK_NOTEBOOK (notebook),
|
vbox = gimp_prefs_box_add_page (GIMP_PREFS_BOX (prefs_box),
|
||||||
_("Default Image Grid"),
|
_("Default Image Grid"),
|
||||||
"default-grid",
|
pixbuf,
|
||||||
GTK_TREE_STORE (tree),
|
|
||||||
_("Default Grid"),
|
_("Default Grid"),
|
||||||
|
small_pixbuf,
|
||||||
GIMP_HELP_PREFS_DEFAULT_GRID,
|
GIMP_HELP_PREFS_DEFAULT_GRID,
|
||||||
NULL,
|
NULL,
|
||||||
&top_iter,
|
&top_iter);
|
||||||
page_index++);
|
|
||||||
|
|
||||||
/* Grid */
|
/* Grid */
|
||||||
editor = gimp_grid_editor_new (core_config->default_grid,
|
editor = gimp_grid_editor_new (core_config->default_grid,
|
||||||
|
@ -2056,16 +1839,15 @@ prefs_dialog_new (Gimp *gimp,
|
||||||
/*******************/
|
/*******************/
|
||||||
/* Image Windows */
|
/* Image Windows */
|
||||||
/*******************/
|
/*******************/
|
||||||
vbox = prefs_notebook_append_page (gimp,
|
pixbuf = prefs_get_pixbufs (gimp, "image-windows", &small_pixbuf);
|
||||||
GTK_NOTEBOOK (notebook),
|
vbox = gimp_prefs_box_add_page (GIMP_PREFS_BOX (prefs_box),
|
||||||
_("Image Windows"),
|
_("Image Windows"),
|
||||||
"image-windows",
|
pixbuf,
|
||||||
GTK_TREE_STORE (tree),
|
|
||||||
NULL,
|
NULL,
|
||||||
|
small_pixbuf,
|
||||||
GIMP_HELP_PREFS_IMAGE_WINDOW,
|
GIMP_HELP_PREFS_IMAGE_WINDOW,
|
||||||
NULL,
|
NULL,
|
||||||
&top_iter,
|
&top_iter);
|
||||||
page_index++);
|
|
||||||
|
|
||||||
size_group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
|
size_group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
|
||||||
|
|
||||||
|
@ -2138,16 +1920,15 @@ prefs_dialog_new (Gimp *gimp,
|
||||||
/********************************/
|
/********************************/
|
||||||
/* Image Windows / Appearance */
|
/* Image Windows / Appearance */
|
||||||
/********************************/
|
/********************************/
|
||||||
vbox = prefs_notebook_append_page (gimp,
|
pixbuf = prefs_get_pixbufs (gimp, "image-windows", &small_pixbuf);
|
||||||
GTK_NOTEBOOK (notebook),
|
vbox = gimp_prefs_box_add_page (GIMP_PREFS_BOX (prefs_box),
|
||||||
_("Image Window Appearance"),
|
_("Image Window Appearance"),
|
||||||
"image-windows",
|
pixbuf,
|
||||||
GTK_TREE_STORE (tree),
|
|
||||||
_("Appearance"),
|
_("Appearance"),
|
||||||
|
small_pixbuf,
|
||||||
GIMP_HELP_PREFS_IMAGE_WINDOW_APPEARANCE,
|
GIMP_HELP_PREFS_IMAGE_WINDOW_APPEARANCE,
|
||||||
&top_iter,
|
&top_iter,
|
||||||
&child_iter,
|
&child_iter);
|
||||||
page_index++);
|
|
||||||
|
|
||||||
prefs_display_options_frame_add (gimp,
|
prefs_display_options_frame_add (gimp,
|
||||||
G_OBJECT (display_config->default_view),
|
G_OBJECT (display_config->default_view),
|
||||||
|
@ -2163,16 +1944,15 @@ prefs_dialog_new (Gimp *gimp,
|
||||||
/****************************************************/
|
/****************************************************/
|
||||||
/* Image Windows / Image Title & Statusbar Format */
|
/* Image Windows / Image Title & Statusbar Format */
|
||||||
/****************************************************/
|
/****************************************************/
|
||||||
vbox = prefs_notebook_append_page (gimp,
|
pixbuf = prefs_get_pixbufs (gimp, "image-title", &small_pixbuf);
|
||||||
GTK_NOTEBOOK (notebook),
|
vbox = gimp_prefs_box_add_page (GIMP_PREFS_BOX (prefs_box),
|
||||||
_("Image Title & Statusbar Format"),
|
_("Image Title & Statusbar Format"),
|
||||||
"image-title",
|
pixbuf,
|
||||||
GTK_TREE_STORE (tree),
|
|
||||||
_("Title & Status"),
|
_("Title & Status"),
|
||||||
|
small_pixbuf,
|
||||||
GIMP_HELP_PREFS_IMAGE_WINDOW_TITLE,
|
GIMP_HELP_PREFS_IMAGE_WINDOW_TITLE,
|
||||||
&top_iter,
|
&top_iter,
|
||||||
&child_iter,
|
&child_iter);
|
||||||
page_index++);
|
|
||||||
|
|
||||||
{
|
{
|
||||||
const gchar *format_strings[] =
|
const gchar *format_strings[] =
|
||||||
|
@ -2288,16 +2068,15 @@ prefs_dialog_new (Gimp *gimp,
|
||||||
/*************/
|
/*************/
|
||||||
/* Display */
|
/* Display */
|
||||||
/*************/
|
/*************/
|
||||||
vbox = prefs_notebook_append_page (gimp,
|
pixbuf = prefs_get_pixbufs (gimp, "display", &small_pixbuf);
|
||||||
GTK_NOTEBOOK (notebook),
|
vbox = gimp_prefs_box_add_page (GIMP_PREFS_BOX (prefs_box),
|
||||||
_("Display"),
|
_("Display"),
|
||||||
"display",
|
pixbuf,
|
||||||
GTK_TREE_STORE (tree),
|
|
||||||
NULL,
|
NULL,
|
||||||
|
small_pixbuf,
|
||||||
GIMP_HELP_PREFS_DISPLAY,
|
GIMP_HELP_PREFS_DISPLAY,
|
||||||
NULL,
|
NULL,
|
||||||
&top_iter,
|
&top_iter);
|
||||||
page_index++);
|
|
||||||
|
|
||||||
size_group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
|
size_group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
|
||||||
|
|
||||||
|
@ -2413,16 +2192,15 @@ prefs_dialog_new (Gimp *gimp,
|
||||||
/**********************/
|
/**********************/
|
||||||
/* Color Management */
|
/* Color Management */
|
||||||
/**********************/
|
/**********************/
|
||||||
vbox = prefs_notebook_append_page (gimp,
|
pixbuf = prefs_get_pixbufs (gimp, "color-management", &small_pixbuf);
|
||||||
GTK_NOTEBOOK (notebook),
|
vbox = gimp_prefs_box_add_page (GIMP_PREFS_BOX (prefs_box),
|
||||||
_("Color Management"),
|
_("Color Management"),
|
||||||
"color-management",
|
pixbuf,
|
||||||
GTK_TREE_STORE (tree),
|
|
||||||
NULL,
|
NULL,
|
||||||
|
small_pixbuf,
|
||||||
GIMP_HELP_PREFS_COLOR_MANAGEMENT,
|
GIMP_HELP_PREFS_COLOR_MANAGEMENT,
|
||||||
NULL,
|
NULL,
|
||||||
&top_iter,
|
&top_iter);
|
||||||
page_index++);
|
|
||||||
|
|
||||||
table = prefs_table_new (10, GTK_CONTAINER (vbox));
|
table = prefs_table_new (10, GTK_CONTAINER (vbox));
|
||||||
|
|
||||||
|
@ -2543,16 +2321,15 @@ prefs_dialog_new (Gimp *gimp,
|
||||||
/*******************/
|
/*******************/
|
||||||
/* Input Devices */
|
/* Input Devices */
|
||||||
/*******************/
|
/*******************/
|
||||||
vbox = prefs_notebook_append_page (gimp,
|
pixbuf = prefs_get_pixbufs (gimp, "input-devices", &small_pixbuf);
|
||||||
GTK_NOTEBOOK (notebook),
|
vbox = gimp_prefs_box_add_page (GIMP_PREFS_BOX (prefs_box),
|
||||||
_("Input Devices"),
|
_("Input Devices"),
|
||||||
"input-devices",
|
pixbuf,
|
||||||
GTK_TREE_STORE (tree),
|
|
||||||
NULL,
|
NULL,
|
||||||
|
small_pixbuf,
|
||||||
GIMP_HELP_PREFS_INPUT_DEVICES,
|
GIMP_HELP_PREFS_INPUT_DEVICES,
|
||||||
NULL,
|
NULL,
|
||||||
&top_iter,
|
&top_iter);
|
||||||
page_index++);
|
|
||||||
|
|
||||||
/* Extended Input Devices */
|
/* Extended Input Devices */
|
||||||
vbox2 = prefs_frame_new (_("Extended Input Devices"),
|
vbox2 = prefs_frame_new (_("Extended Input Devices"),
|
||||||
|
@ -2590,16 +2367,15 @@ prefs_dialog_new (Gimp *gimp,
|
||||||
/****************************/
|
/****************************/
|
||||||
/* Additional Controllers */
|
/* Additional Controllers */
|
||||||
/****************************/
|
/****************************/
|
||||||
vbox = prefs_notebook_append_page (gimp,
|
pixbuf = prefs_get_pixbufs (gimp, "controllers", &small_pixbuf);
|
||||||
GTK_NOTEBOOK (notebook),
|
vbox = gimp_prefs_box_add_page (GIMP_PREFS_BOX (prefs_box),
|
||||||
_("Additional Input Controllers"),
|
_("Additional Input Controllers"),
|
||||||
"controllers",
|
pixbuf,
|
||||||
GTK_TREE_STORE (tree),
|
|
||||||
_("Input Controllers"),
|
_("Input Controllers"),
|
||||||
|
small_pixbuf,
|
||||||
GIMP_HELP_PREFS_INPUT_CONTROLLERS,
|
GIMP_HELP_PREFS_INPUT_CONTROLLERS,
|
||||||
&top_iter,
|
&top_iter,
|
||||||
&child_iter,
|
&child_iter);
|
||||||
page_index++);
|
|
||||||
|
|
||||||
vbox2 = gimp_controller_list_new (gimp);
|
vbox2 = gimp_controller_list_new (gimp);
|
||||||
gtk_box_pack_start (GTK_BOX (vbox), vbox2, TRUE, TRUE, 0);
|
gtk_box_pack_start (GTK_BOX (vbox), vbox2, TRUE, TRUE, 0);
|
||||||
|
@ -2609,16 +2385,15 @@ prefs_dialog_new (Gimp *gimp,
|
||||||
/***********************/
|
/***********************/
|
||||||
/* Window Management */
|
/* Window Management */
|
||||||
/***********************/
|
/***********************/
|
||||||
vbox = prefs_notebook_append_page (gimp,
|
pixbuf = prefs_get_pixbufs (gimp, "window-management", &small_pixbuf);
|
||||||
GTK_NOTEBOOK (notebook),
|
vbox = gimp_prefs_box_add_page (GIMP_PREFS_BOX (prefs_box),
|
||||||
_("Window Management"),
|
_("Window Management"),
|
||||||
"window-management",
|
pixbuf,
|
||||||
GTK_TREE_STORE (tree),
|
|
||||||
NULL,
|
NULL,
|
||||||
|
small_pixbuf,
|
||||||
GIMP_HELP_PREFS_WINDOW_MANAGEMENT,
|
GIMP_HELP_PREFS_WINDOW_MANAGEMENT,
|
||||||
NULL,
|
NULL,
|
||||||
&top_iter,
|
&top_iter);
|
||||||
page_index++);
|
|
||||||
|
|
||||||
vbox2 = prefs_frame_new (_("Window Manager Hints"),
|
vbox2 = prefs_frame_new (_("Window Manager Hints"),
|
||||||
GTK_CONTAINER (vbox), FALSE);
|
GTK_CONTAINER (vbox), FALSE);
|
||||||
|
@ -2664,16 +2439,15 @@ prefs_dialog_new (Gimp *gimp,
|
||||||
/*************/
|
/*************/
|
||||||
/* Folders */
|
/* Folders */
|
||||||
/*************/
|
/*************/
|
||||||
vbox = prefs_notebook_append_page (gimp,
|
pixbuf = prefs_get_pixbufs (gimp, "folders", &small_pixbuf);
|
||||||
GTK_NOTEBOOK (notebook),
|
vbox = gimp_prefs_box_add_page (GIMP_PREFS_BOX (prefs_box),
|
||||||
_("Folders"),
|
_("Folders"),
|
||||||
"folders",
|
pixbuf,
|
||||||
GTK_TREE_STORE (tree),
|
|
||||||
NULL,
|
NULL,
|
||||||
|
small_pixbuf,
|
||||||
GIMP_HELP_PREFS_FOLDERS,
|
GIMP_HELP_PREFS_FOLDERS,
|
||||||
NULL,
|
NULL,
|
||||||
&top_iter,
|
&top_iter);
|
||||||
page_index++);
|
|
||||||
|
|
||||||
{
|
{
|
||||||
static const struct
|
static const struct
|
||||||
|
@ -2785,16 +2559,15 @@ prefs_dialog_new (Gimp *gimp,
|
||||||
{
|
{
|
||||||
GtkWidget *editor;
|
GtkWidget *editor;
|
||||||
|
|
||||||
vbox = prefs_notebook_append_page (gimp,
|
pixbuf = prefs_get_pixbufs (gimp, paths[i].icon, &small_pixbuf);
|
||||||
GTK_NOTEBOOK (notebook),
|
vbox = gimp_prefs_box_add_page (GIMP_PREFS_BOX (prefs_box),
|
||||||
gettext (paths[i].label),
|
gettext (paths[i].label),
|
||||||
paths[i].icon,
|
pixbuf,
|
||||||
GTK_TREE_STORE (tree),
|
|
||||||
gettext (paths[i].tree_label),
|
gettext (paths[i].tree_label),
|
||||||
|
small_pixbuf,
|
||||||
paths[i].help_data,
|
paths[i].help_data,
|
||||||
&top_iter,
|
&top_iter,
|
||||||
&child_iter,
|
&child_iter);
|
||||||
page_index++);
|
|
||||||
|
|
||||||
editor = gimp_prop_path_editor_new (object,
|
editor = gimp_prop_path_editor_new (object,
|
||||||
paths[i].path_property_name,
|
paths[i].path_property_name,
|
||||||
|
@ -2805,15 +2578,20 @@ prefs_dialog_new (Gimp *gimp,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
GtkWidget *tv;
|
||||||
|
GtkTreeModel *model;
|
||||||
|
GtkTreePath *path;
|
||||||
|
|
||||||
|
tv = gimp_prefs_box_get_tree_view (GIMP_PREFS_BOX (prefs_box));
|
||||||
gtk_tree_view_expand_all (GTK_TREE_VIEW (tv));
|
gtk_tree_view_expand_all (GTK_TREE_VIEW (tv));
|
||||||
|
|
||||||
/* collapse the Folders subtree */
|
/* collapse the Folders subtree */
|
||||||
path = gtk_tree_model_get_path (GTK_TREE_MODEL (tree), &top_iter);
|
model = gtk_tree_view_get_model (GTK_TREE_VIEW (tv));
|
||||||
|
path = gtk_tree_model_get_path (model, &top_iter);
|
||||||
gtk_tree_view_collapse_row (GTK_TREE_VIEW (tv), path);
|
gtk_tree_view_collapse_row (GTK_TREE_VIEW (tv), path);
|
||||||
gtk_tree_path_free (path);
|
gtk_tree_path_free (path);
|
||||||
|
}
|
||||||
gtk_widget_show (tv);
|
|
||||||
gtk_widget_show (notebook);
|
|
||||||
|
|
||||||
return dialog;
|
return dialog;
|
||||||
}
|
}
|
||||||
|
|
|
@ -263,6 +263,8 @@ libappwidgets_a_sources = \
|
||||||
gimppixbuf.h \
|
gimppixbuf.h \
|
||||||
gimppluginaction.c \
|
gimppluginaction.c \
|
||||||
gimppluginaction.h \
|
gimppluginaction.h \
|
||||||
|
gimpprefsbox.c \
|
||||||
|
gimpprefsbox.h \
|
||||||
gimpprofilechooserdialog.c \
|
gimpprofilechooserdialog.c \
|
||||||
gimpprofilechooserdialog.h \
|
gimpprofilechooserdialog.h \
|
||||||
gimpprogressbox.c \
|
gimpprogressbox.c \
|
||||||
|
|
|
@ -0,0 +1,363 @@
|
||||||
|
/* GIMP - The GNU Image Manipulation Program
|
||||||
|
* Copyright (C) 1995 Spencer Kimball and Peter Mattis
|
||||||
|
*
|
||||||
|
* gimpprefsbox.c
|
||||||
|
* Copyright (C) 2013 Michael Natterer <mitch@gimp.org>
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "config.h"
|
||||||
|
|
||||||
|
#include <gtk/gtk.h>
|
||||||
|
|
||||||
|
#include "libgimpwidgets/gimpwidgets.h"
|
||||||
|
|
||||||
|
#include "widgets-types.h"
|
||||||
|
|
||||||
|
#include "gimpprefsbox.h"
|
||||||
|
|
||||||
|
#include "gimp-intl.h"
|
||||||
|
|
||||||
|
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
COLUMN_TREE_PIXBUF,
|
||||||
|
COLUMN_TREE_LABEL,
|
||||||
|
COLUMN_NOTEBOOK_PIXBUF,
|
||||||
|
COLUMN_NOTEBOOK_LABEL,
|
||||||
|
COLUMN_PAGE_INDEX
|
||||||
|
};
|
||||||
|
|
||||||
|
typedef struct _GimpPrefsBoxPrivate GimpPrefsBoxPrivate;
|
||||||
|
|
||||||
|
struct _GimpPrefsBoxPrivate
|
||||||
|
{
|
||||||
|
GtkTreeStore *store;
|
||||||
|
GtkWidget *tree_view;
|
||||||
|
GtkWidget *notebook;
|
||||||
|
GtkWidget *label;
|
||||||
|
GtkWidget *image;
|
||||||
|
|
||||||
|
gint page_index;
|
||||||
|
};
|
||||||
|
|
||||||
|
#define GET_PRIVATE(item) G_TYPE_INSTANCE_GET_PRIVATE (item, \
|
||||||
|
GIMP_TYPE_PREFS_BOX, \
|
||||||
|
GimpPrefsBoxPrivate)
|
||||||
|
|
||||||
|
|
||||||
|
static void gimp_prefs_box_tree_select_callback (GtkTreeSelection *sel,
|
||||||
|
GimpPrefsBox *box);
|
||||||
|
static void gimp_prefs_box_notebook_page_callback (GtkNotebook *notebook,
|
||||||
|
gpointer page,
|
||||||
|
guint page_num,
|
||||||
|
GimpPrefsBox *box);
|
||||||
|
|
||||||
|
|
||||||
|
G_DEFINE_TYPE (GimpPrefsBox, gimp_prefs_box, GTK_TYPE_BOX)
|
||||||
|
|
||||||
|
#define parent_class gimp_prefs_box_parent_class
|
||||||
|
|
||||||
|
|
||||||
|
static void
|
||||||
|
gimp_prefs_box_class_init (GimpPrefsBoxClass *klass)
|
||||||
|
{
|
||||||
|
g_type_class_add_private (klass, sizeof (GimpPrefsBoxPrivate));
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
gimp_prefs_box_init (GimpPrefsBox *box)
|
||||||
|
{
|
||||||
|
GimpPrefsBoxPrivate *private = GET_PRIVATE (box);
|
||||||
|
GtkTreeViewColumn *column;
|
||||||
|
GtkCellRenderer *cell;
|
||||||
|
GtkTreeSelection *sel;
|
||||||
|
GtkWidget *frame;
|
||||||
|
GtkWidget *hbox;
|
||||||
|
GtkWidget *ebox;
|
||||||
|
GtkWidget *vbox;
|
||||||
|
|
||||||
|
gtk_orientable_set_orientation (GTK_ORIENTABLE (box),
|
||||||
|
GTK_ORIENTATION_HORIZONTAL);
|
||||||
|
gtk_box_set_spacing (GTK_BOX (box), 12);
|
||||||
|
|
||||||
|
|
||||||
|
/* the categories tree */
|
||||||
|
|
||||||
|
frame = gtk_scrolled_window_new (NULL, NULL);
|
||||||
|
gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (frame),
|
||||||
|
GTK_SHADOW_IN);
|
||||||
|
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (frame),
|
||||||
|
GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
|
||||||
|
gtk_box_pack_start (GTK_BOX (box), frame, FALSE, FALSE, 0);
|
||||||
|
gtk_widget_show (frame);
|
||||||
|
|
||||||
|
private->store = gtk_tree_store_new (5,
|
||||||
|
GDK_TYPE_PIXBUF,
|
||||||
|
G_TYPE_STRING,
|
||||||
|
GDK_TYPE_PIXBUF,
|
||||||
|
G_TYPE_STRING,
|
||||||
|
G_TYPE_INT);
|
||||||
|
private->tree_view =
|
||||||
|
gtk_tree_view_new_with_model (GTK_TREE_MODEL (private->store));
|
||||||
|
g_object_unref (private->store);
|
||||||
|
|
||||||
|
gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (private->tree_view), FALSE);
|
||||||
|
|
||||||
|
column = gtk_tree_view_column_new ();
|
||||||
|
|
||||||
|
cell = gtk_cell_renderer_pixbuf_new ();
|
||||||
|
gtk_tree_view_column_pack_start (column, cell, FALSE);
|
||||||
|
gtk_tree_view_column_set_attributes (column, cell, "pixbuf",
|
||||||
|
COLUMN_TREE_PIXBUF, NULL);
|
||||||
|
|
||||||
|
cell = gtk_cell_renderer_text_new ();
|
||||||
|
gtk_tree_view_column_pack_start (column, cell, TRUE);
|
||||||
|
gtk_tree_view_column_set_attributes (column, cell, "text",
|
||||||
|
COLUMN_TREE_LABEL, NULL);
|
||||||
|
|
||||||
|
gtk_tree_view_append_column (GTK_TREE_VIEW (private->tree_view), column);
|
||||||
|
|
||||||
|
gtk_container_add (GTK_CONTAINER (frame), private->tree_view);
|
||||||
|
gtk_widget_show (private->tree_view);
|
||||||
|
|
||||||
|
|
||||||
|
/* the notebook */
|
||||||
|
|
||||||
|
vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12);
|
||||||
|
gtk_box_pack_start (GTK_BOX (box), vbox, TRUE, TRUE, 0);
|
||||||
|
gtk_widget_show (vbox);
|
||||||
|
|
||||||
|
ebox = gtk_event_box_new ();
|
||||||
|
gtk_widget_set_state (ebox, GTK_STATE_SELECTED);
|
||||||
|
gtk_box_pack_start (GTK_BOX (vbox), ebox, FALSE, TRUE, 0);
|
||||||
|
gtk_widget_show (ebox);
|
||||||
|
|
||||||
|
hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
|
||||||
|
gtk_container_set_border_width (GTK_CONTAINER (hbox), 6);
|
||||||
|
gtk_container_add (GTK_CONTAINER (ebox), hbox);
|
||||||
|
gtk_widget_show (hbox);
|
||||||
|
|
||||||
|
private->label = gtk_label_new (NULL);
|
||||||
|
gtk_misc_set_alignment (GTK_MISC (private->label), 0.0, 0.5);
|
||||||
|
gimp_label_set_attributes (GTK_LABEL (private->label),
|
||||||
|
PANGO_ATTR_SCALE, PANGO_SCALE_LARGE,
|
||||||
|
PANGO_ATTR_WEIGHT, PANGO_WEIGHT_BOLD,
|
||||||
|
-1);
|
||||||
|
gtk_box_pack_start (GTK_BOX (hbox), private->label, FALSE, FALSE, 0);
|
||||||
|
gtk_widget_show (private->label);
|
||||||
|
|
||||||
|
private->image = gtk_image_new ();
|
||||||
|
gtk_box_pack_end (GTK_BOX (hbox), private->image, FALSE, FALSE, 0);
|
||||||
|
gtk_widget_show (private->image);
|
||||||
|
|
||||||
|
/* The main preferences notebook */
|
||||||
|
private->notebook = gtk_notebook_new ();
|
||||||
|
gtk_notebook_set_show_tabs (GTK_NOTEBOOK (private->notebook), FALSE);
|
||||||
|
gtk_notebook_set_show_border (GTK_NOTEBOOK (private->notebook), FALSE);
|
||||||
|
gtk_box_pack_start (GTK_BOX (vbox), private->notebook, TRUE, TRUE, 0);
|
||||||
|
gtk_widget_show (private->notebook);
|
||||||
|
|
||||||
|
sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (private->tree_view));
|
||||||
|
g_signal_connect (sel, "changed",
|
||||||
|
G_CALLBACK (gimp_prefs_box_tree_select_callback),
|
||||||
|
box);
|
||||||
|
g_signal_connect (private->notebook, "switch-page",
|
||||||
|
G_CALLBACK (gimp_prefs_box_notebook_page_callback),
|
||||||
|
box);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
gimp_prefs_box_tree_select_callback (GtkTreeSelection *sel,
|
||||||
|
GimpPrefsBox *box)
|
||||||
|
{
|
||||||
|
GimpPrefsBoxPrivate *private = GET_PRIVATE (box);
|
||||||
|
GtkTreeModel *model;
|
||||||
|
GtkTreeIter iter;
|
||||||
|
gchar *text;
|
||||||
|
GdkPixbuf *pixbuf;
|
||||||
|
gint index;
|
||||||
|
|
||||||
|
if (! gtk_tree_selection_get_selected (sel, &model, &iter))
|
||||||
|
return;
|
||||||
|
|
||||||
|
gtk_tree_model_get (model, &iter,
|
||||||
|
COLUMN_NOTEBOOK_LABEL, &text,
|
||||||
|
COLUMN_NOTEBOOK_PIXBUF, &pixbuf,
|
||||||
|
COLUMN_PAGE_INDEX, &index,
|
||||||
|
-1);
|
||||||
|
|
||||||
|
gtk_label_set_text (GTK_LABEL (private->label), text);
|
||||||
|
g_free (text);
|
||||||
|
|
||||||
|
gtk_image_set_from_pixbuf (GTK_IMAGE (private->image), pixbuf);
|
||||||
|
if (pixbuf)
|
||||||
|
g_object_unref (pixbuf);
|
||||||
|
|
||||||
|
g_signal_handlers_block_by_func (private->notebook,
|
||||||
|
gimp_prefs_box_notebook_page_callback,
|
||||||
|
sel);
|
||||||
|
|
||||||
|
gtk_notebook_set_current_page (GTK_NOTEBOOK (private->notebook), index);
|
||||||
|
|
||||||
|
g_signal_handlers_unblock_by_func (private->notebook,
|
||||||
|
gimp_prefs_box_notebook_page_callback,
|
||||||
|
sel);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
gimp_prefs_box_notebook_page_callback (GtkNotebook *notebook,
|
||||||
|
gpointer page,
|
||||||
|
guint page_num,
|
||||||
|
GimpPrefsBox *box)
|
||||||
|
{
|
||||||
|
GimpPrefsBoxPrivate *private = GET_PRIVATE (box);
|
||||||
|
GtkTreeSelection *sel;
|
||||||
|
GtkTreeModel *model;
|
||||||
|
GtkTreeIter iter;
|
||||||
|
gboolean iter_valid;
|
||||||
|
|
||||||
|
sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (private->tree_view));
|
||||||
|
model = gtk_tree_view_get_model (GTK_TREE_VIEW (private->tree_view));
|
||||||
|
|
||||||
|
for (iter_valid = gtk_tree_model_get_iter_first (model, &iter);
|
||||||
|
iter_valid;
|
||||||
|
iter_valid = gtk_tree_model_iter_next (model, &iter))
|
||||||
|
{
|
||||||
|
gint index;
|
||||||
|
|
||||||
|
gtk_tree_model_get (model, &iter,
|
||||||
|
COLUMN_PAGE_INDEX, &index,
|
||||||
|
-1);
|
||||||
|
|
||||||
|
if (index == page_num)
|
||||||
|
{
|
||||||
|
gtk_tree_selection_select_iter (sel, &iter);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (gtk_tree_model_iter_has_child (model, &iter))
|
||||||
|
{
|
||||||
|
gint num_children;
|
||||||
|
gint i;
|
||||||
|
|
||||||
|
num_children = gtk_tree_model_iter_n_children (model, &iter);
|
||||||
|
|
||||||
|
for (i = 0; i < num_children; i++)
|
||||||
|
{
|
||||||
|
GtkTreeIter child_iter;
|
||||||
|
|
||||||
|
gtk_tree_model_iter_nth_child (model, &child_iter, &iter, i);
|
||||||
|
gtk_tree_model_get (model, &child_iter,
|
||||||
|
COLUMN_PAGE_INDEX, &index,
|
||||||
|
-1);
|
||||||
|
|
||||||
|
if (index == page_num)
|
||||||
|
{
|
||||||
|
GtkTreePath *path;
|
||||||
|
|
||||||
|
path = gtk_tree_model_get_path (model, &child_iter);
|
||||||
|
gtk_tree_view_expand_to_path (GTK_TREE_VIEW (private->tree_view),
|
||||||
|
path);
|
||||||
|
gtk_tree_selection_select_iter (sel, &child_iter);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* public functions */
|
||||||
|
|
||||||
|
GtkWidget *
|
||||||
|
gimp_prefs_box_new (void)
|
||||||
|
{
|
||||||
|
return g_object_new (GIMP_TYPE_PREFS_BOX, NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
GtkWidget *
|
||||||
|
gimp_prefs_box_add_page (GimpPrefsBox *box,
|
||||||
|
const gchar *notebook_label,
|
||||||
|
GdkPixbuf *notebook_icon,
|
||||||
|
const gchar *tree_label,
|
||||||
|
GdkPixbuf *tree_icon,
|
||||||
|
const gchar *help_id,
|
||||||
|
GtkTreeIter *parent,
|
||||||
|
GtkTreeIter *iter)
|
||||||
|
{
|
||||||
|
GimpPrefsBoxPrivate *private;
|
||||||
|
GtkWidget *event_box;
|
||||||
|
GtkWidget *vbox;
|
||||||
|
|
||||||
|
g_return_val_if_fail (GIMP_IS_PREFS_BOX (box), NULL);
|
||||||
|
|
||||||
|
private = GET_PRIVATE (box);
|
||||||
|
|
||||||
|
event_box = gtk_event_box_new ();
|
||||||
|
gtk_event_box_set_visible_window (GTK_EVENT_BOX (event_box), FALSE);
|
||||||
|
gtk_notebook_append_page (GTK_NOTEBOOK (private->notebook), event_box, NULL);
|
||||||
|
gtk_widget_show (event_box);
|
||||||
|
|
||||||
|
gimp_help_set_help_data (event_box, NULL, help_id);
|
||||||
|
|
||||||
|
vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12);
|
||||||
|
gtk_container_add (GTK_CONTAINER (event_box), vbox);
|
||||||
|
gtk_widget_show (vbox);
|
||||||
|
|
||||||
|
if (! notebook_icon)
|
||||||
|
notebook_icon = tree_icon;
|
||||||
|
|
||||||
|
if (! tree_icon)
|
||||||
|
tree_icon = notebook_icon;
|
||||||
|
|
||||||
|
if (! tree_label)
|
||||||
|
tree_label = notebook_label;
|
||||||
|
|
||||||
|
gtk_tree_store_append (private->store, iter, parent);
|
||||||
|
gtk_tree_store_set (private->store, iter,
|
||||||
|
COLUMN_TREE_PIXBUF, tree_icon,
|
||||||
|
COLUMN_TREE_LABEL, tree_label,
|
||||||
|
COLUMN_NOTEBOOK_PIXBUF, notebook_icon,
|
||||||
|
COLUMN_NOTEBOOK_LABEL , notebook_label,
|
||||||
|
COLUMN_PAGE_INDEX, private->page_index++,
|
||||||
|
-1);
|
||||||
|
|
||||||
|
return vbox;
|
||||||
|
}
|
||||||
|
|
||||||
|
GtkWidget *
|
||||||
|
gimp_prefs_box_get_tree_view (GimpPrefsBox *box)
|
||||||
|
{
|
||||||
|
g_return_val_if_fail (GIMP_IS_PREFS_BOX (box), NULL);
|
||||||
|
|
||||||
|
return GET_PRIVATE (box)->tree_view;
|
||||||
|
}
|
||||||
|
|
||||||
|
GtkWidget *
|
||||||
|
gimp_prefs_box_get_notebook (GimpPrefsBox *box)
|
||||||
|
{
|
||||||
|
g_return_val_if_fail (GIMP_IS_PREFS_BOX (box), NULL);
|
||||||
|
|
||||||
|
return GET_PRIVATE (box)->notebook;
|
||||||
|
}
|
||||||
|
|
||||||
|
GtkWidget *
|
||||||
|
gimp_prefs_box_get_image (GimpPrefsBox *box)
|
||||||
|
{
|
||||||
|
g_return_val_if_fail (GIMP_IS_PREFS_BOX (box), NULL);
|
||||||
|
|
||||||
|
return GET_PRIVATE (box)->image;
|
||||||
|
}
|
|
@ -0,0 +1,64 @@
|
||||||
|
/* GIMP - The GNU Image Manipulation Program
|
||||||
|
* Copyright (C) 1995 Spencer Kimball and Peter Mattis
|
||||||
|
*
|
||||||
|
* gimpprefsbox.h
|
||||||
|
* Copyright (C) 2013 Michael Natterer <mitch@gimp.org>
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __GIMP_PREFS_BOX_H__
|
||||||
|
#define __GIMP_PREFS_BOX_H__
|
||||||
|
|
||||||
|
|
||||||
|
#define GIMP_TYPE_PREFS_BOX (gimp_prefs_box_get_type ())
|
||||||
|
#define GIMP_PREFS_BOX(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GIMP_TYPE_PREFS_BOX, GimpPrefsBox))
|
||||||
|
#define GIMP_PREFS_BOX_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GIMP_TYPE_PREFS_BOX, GimpPrefsBoxClass))
|
||||||
|
#define GIMP_IS_PREFS_BOX(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GIMP_TYPE_PREFS_BOX))
|
||||||
|
#define GIMP_IS_PREFS_BOX_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GIMP_TYPE_PREFS_BOX))
|
||||||
|
#define GIMP_PREFS_BOX_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GIMP_TYPE_PREFS_BOX, GimpPrefsBoxClass))
|
||||||
|
|
||||||
|
|
||||||
|
typedef struct _GimpPrefsBoxClass GimpPrefsBoxClass;
|
||||||
|
|
||||||
|
struct _GimpPrefsBox
|
||||||
|
{
|
||||||
|
GtkBox parent_instance;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct _GimpPrefsBoxClass
|
||||||
|
{
|
||||||
|
GtkBoxClass parent_class;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
GType gimp_prefs_box_get_type (void) G_GNUC_CONST;
|
||||||
|
|
||||||
|
GtkWidget * gimp_prefs_box_new (void);
|
||||||
|
|
||||||
|
GtkWidget * gimp_prefs_box_add_page (GimpPrefsBox *box,
|
||||||
|
const gchar *notebook_label,
|
||||||
|
GdkPixbuf *notebook_icon,
|
||||||
|
const gchar *tree_label,
|
||||||
|
GdkPixbuf *tree_icon,
|
||||||
|
const gchar *help_id,
|
||||||
|
GtkTreeIter *parent,
|
||||||
|
GtkTreeIter *iter);
|
||||||
|
|
||||||
|
GtkWidget * gimp_prefs_box_get_tree_view (GimpPrefsBox *box);
|
||||||
|
GtkWidget * gimp_prefs_box_get_notebook (GimpPrefsBox *box);
|
||||||
|
GtkWidget * gimp_prefs_box_get_image (GimpPrefsBox *box);
|
||||||
|
|
||||||
|
|
||||||
|
#endif /* __GIMP_PREFS_BOX_H__ */
|
|
@ -187,6 +187,7 @@ typedef struct _GimpLanguageEntry GimpLanguageEntry;
|
||||||
typedef struct _GimpLanguageStore GimpLanguageStore;
|
typedef struct _GimpLanguageStore GimpLanguageStore;
|
||||||
typedef struct _GimpMessageBox GimpMessageBox;
|
typedef struct _GimpMessageBox GimpMessageBox;
|
||||||
typedef struct _GimpOverlayBox GimpOverlayBox;
|
typedef struct _GimpOverlayBox GimpOverlayBox;
|
||||||
|
typedef struct _GimpPrefsBox GimpPrefsBox;
|
||||||
typedef struct _GimpProgressBox GimpProgressBox;
|
typedef struct _GimpProgressBox GimpProgressBox;
|
||||||
typedef struct _GimpScaleButton GimpScaleButton;
|
typedef struct _GimpScaleButton GimpScaleButton;
|
||||||
typedef struct _GimpSettingsBox GimpSettingsBox;
|
typedef struct _GimpSettingsBox GimpSettingsBox;
|
||||||
|
|
Loading…
Reference in New Issue