app/devices.[ch] app/gui/about-dialog.[ch] app/gui/preferences-dialog.[ch]

2001-04-18  Michael Natterer  <mitch@gimp.org>

	* app/devices.[ch]
	* app/gui/about-dialog.[ch]
	* app/gui/preferences-dialog.[ch]
	* app/gui/tips-dialog.[ch]: return a GtkWidget from the constructor.

	* app/gui/dialogs.c
	* app/gui/dialogs-constructors.[ch]: register them with the dialog
	factory.

	* app/gui/commands.[ch]
	* app/gui/menus.c: removed their old callbacks.

	* app/gui/brush-select.c
	* app/gui/gradient-select.c
	* app/gui/palette-editor.[ch]: no need to show or raise the shell
	(that's done by the dialog factory now).

	* app/widgets/gimpdialogfactory.c: actually do what the
	"singleton" and "session_managed" flags say.
This commit is contained in:
Michael Natterer 2001-04-18 16:39:34 +00:00 committed by Michael Natterer
parent d25f8933bb
commit 9147176686
41 changed files with 904 additions and 1230 deletions

View File

@ -1,3 +1,25 @@
2001-04-18 Michael Natterer <mitch@gimp.org>
* app/devices.[ch]
* app/gui/about-dialog.[ch]
* app/gui/preferences-dialog.[ch]
* app/gui/tips-dialog.[ch]: return a GtkWidget from the constructor.
* app/gui/dialogs.c
* app/gui/dialogs-constructors.[ch]: register them with the dialog
factory.
* app/gui/commands.[ch]
* app/gui/menus.c: removed their old callbacks.
* app/gui/brush-select.c
* app/gui/gradient-select.c
* app/gui/palette-editor.[ch]: no need to show or raise the shell
(that's done by the dialog factory now).
* app/widgets/gimpdialogfactory.c: actually do what the
"singleton" and "session_managed" flags say.
2001-04-18 Michael Natterer <mitch@gimp.org>
* app/Makefile.am: commented the sections of the file list.

View File

@ -33,22 +33,16 @@
#include "tools/gimptoolinfo.h"
#include "tools/tool_manager.h"
#include "about-dialog.h"
#include "color-area.h"
#include "colormap-dialog.h"
#include "errorconsole.h"
#include "info-dialog.h"
#include "info-window.h"
#include "layer-select.h"
#include "preferences-dialog.h"
#include "tips-dialog.h"
#include "app_procs.h"
#include "commands.h"
#include "context_manager.h"
#include "convert.h"
#include "desaturate.h"
#include "devices.h"
#include "channel_ops.h"
#include "equalize.h"
#include "file-open.h"
@ -70,18 +64,11 @@
#include "invert.h"
#include "lc_dialog.h"
#include "layers_dialogP.h"
#include "module_db.h"
#include "plug_in.h"
#include "resize.h"
#include "scale.h"
#include "selection.h"
#include "toolbox.h"
#include "undo.h"
#include "undo_history.h"
#ifdef DISPLAY_FILTERS
#include "gdisplay_color_ui.h"
#endif /* DISPLAY_FILTERS */
#include "libgimp/gimpintl.h"
@ -1095,13 +1082,6 @@ layers_resize_to_image_cmd_callback (GtkWidget *widget,
/***** Tools *****/
void
tools_toolbox_raise_cmd_callback (GtkWidget *widget,
gpointer client_data)
{
toolbox_raise ();
}
void
tools_default_colors_cmd_callback (GtkWidget *widget,
gpointer client_data)
@ -1192,118 +1172,6 @@ filters_repeat_cmd_callback (GtkWidget *widget,
plug_in_repeat (callback_action);
}
/***** Dialogs ******/
void
dialogs_preferences_cmd_callback (GtkWidget *widget,
gpointer client_data)
{
preferences_dialog_create ();
}
static void
dialogs_indexed_palette_select_callback (GimpColormapDialog *dialog,
gpointer data)
{
GimpImage *image;
GimpRGB color;
gint index;
image = gimp_colormap_dialog_image (dialog);
index = gimp_colormap_dialog_col_index (dialog);
gimp_rgba_set_uchar (&color,
image->cmap[index * 3],
image->cmap[index * 3 + 1],
image->cmap[index * 3 + 2],
255);
if (active_color == FOREGROUND)
gimp_context_set_foreground (gimp_context_get_user (), &color);
else if (active_color == BACKGROUND)
gimp_context_set_background (gimp_context_get_user (), &color);
}
void
dialogs_indexed_palette_cmd_callback (GtkWidget *widget,
gpointer client_data)
{
static GimpColormapDialog *cmap_dlg;
if (!cmap_dlg)
{
cmap_dlg = gimp_colormap_dialog_create (image_context);
gtk_signal_connect
(GTK_OBJECT (cmap_dlg), "selected",
GTK_SIGNAL_FUNC (dialogs_indexed_palette_select_callback),
NULL);
}
if (! GTK_WIDGET_VISIBLE (cmap_dlg))
gtk_widget_show (GTK_WIDGET (cmap_dlg));
else
gdk_window_raise (GTK_WIDGET (cmap_dlg)->window);
}
void
dialogs_input_devices_cmd_callback (GtkWidget *widget,
gpointer client_data)
{
input_dialog_create ();
}
#ifdef DISPLAY_FILTERS
void
dialogs_display_filters_cmd_callback (GtkWidget *widget,
gpointer client_data)
{
GDisplay *gdisp;
gdisp = gdisplay_active ();
if (!gdisp)
gdisp = color_area_gdisp;
if (!gdisp->cd_ui)
gdisplay_color_ui_new (gdisp);
if (!GTK_WIDGET_VISIBLE (gdisp->cd_ui))
gtk_widget_show (gdisp->cd_ui);
else
gdk_window_raise (gdisp->cd_ui->window);
}
#endif /* DISPLAY_FILTERS */
void
dialogs_undo_history_cmd_callback (GtkWidget *widget,
gpointer client_data)
{
GDisplay *gdisp;
GimpImage *gimage;
return_if_no_display (gdisp);
gimage = gdisp->gimage;
if (!gimage->undo_history)
gimage->undo_history = undo_history_new (gimage);
if (!GTK_WIDGET_VISIBLE (gimage->undo_history))
gtk_widget_show (gimage->undo_history);
else
gdk_window_raise (gimage->undo_history->window);
}
void
dialogs_module_browser_cmd_callback (GtkWidget *widget,
gpointer client_data)
{
GtkWidget *module_browser;
module_browser = module_db_browser_new ();
gtk_widget_show (module_browser);
}
/***** Help *****/
void
@ -1320,20 +1188,6 @@ help_context_help_cmd_callback (GtkWidget *widget,
gimp_context_help ();
}
void
help_tips_cmd_callback (GtkWidget *widget,
gpointer client_data)
{
tips_dialog_create ();
}
void
help_about_cmd_callback (GtkWidget *widget,
gpointer client_data)
{
about_dialog_create ();
}
/*****************************/
/***** Local functions *****/

View File

@ -104,7 +104,6 @@ void layers_add_alpha_channel_cmd_callback (GtkWidget *, gpointer);
void layers_alpha_select_cmd_callback (GtkWidget *, gpointer);
void layers_resize_to_image_cmd_callback (GtkWidget *, gpointer);
void tools_toolbox_raise_cmd_callback (GtkWidget *, gpointer);
void tools_default_colors_cmd_callback (GtkWidget *, gpointer);
void tools_swap_colors_cmd_callback (GtkWidget *, gpointer);
void tools_swap_contexts_cmd_callback (GtkWidget *, gpointer);
@ -116,20 +115,8 @@ void filters_repeat_cmd_callback (GtkWidget *widget,
gpointer callback_data,
guint callback_action);
void dialogs_preferences_cmd_callback (GtkWidget *, gpointer);
void dialogs_indexed_palette_cmd_callback (GtkWidget *, gpointer);
void dialogs_input_devices_cmd_callback (GtkWidget *, gpointer);
void dialogs_undo_history_cmd_callback (GtkWidget *, gpointer);
void dialogs_module_browser_cmd_callback (GtkWidget *, gpointer);
#ifdef DISPLAY_FILTERS
void dialogs_display_filters_cmd_callback (GtkWidget *, gpointer);
#endif /* DISPLAY_FILTERS */
void help_help_cmd_callback (GtkWidget *, gpointer);
void help_context_help_cmd_callback (GtkWidget *, gpointer);
void help_tips_cmd_callback (GtkWidget *, gpointer);
void help_about_cmd_callback (GtkWidget *, gpointer);
#endif /* __COMMANDS_H__ */

View File

@ -209,73 +209,66 @@ device_info_get_by_name (gchar *name)
/* the gtk input dialog */
void
GtkWidget *
input_dialog_create (void)
{
static GtkWidget *inputd = NULL;
GtkWidget *hbbox;
if (!inputd)
{
inputd = gtk_input_dialog_new ();
if (inputd)
return inputd;
/* register this one only */
dialog_register (inputd);
inputd = gtk_input_dialog_new ();
gtk_container_set_border_width
(GTK_CONTAINER (GTK_DIALOG (inputd)->action_area), 2);
gtk_box_set_homogeneous (GTK_BOX (GTK_DIALOG (inputd)->action_area),
FALSE);
/* register this one only */
dialog_register (inputd);
hbbox = gtk_hbutton_box_new ();
gtk_button_box_set_spacing (GTK_BUTTON_BOX (hbbox), 4);
gtk_container_set_border_width
(GTK_CONTAINER (GTK_DIALOG (inputd)->action_area), 2);
gtk_box_set_homogeneous (GTK_BOX (GTK_DIALOG (inputd)->action_area),
FALSE);
gtk_widget_reparent (GTK_INPUT_DIALOG (inputd)->save_button, hbbox);
GTK_WIDGET_SET_FLAGS (GTK_INPUT_DIALOG (inputd)->save_button,
GTK_CAN_DEFAULT);
gtk_widget_reparent (GTK_INPUT_DIALOG (inputd)->close_button, hbbox);
GTK_WIDGET_SET_FLAGS (GTK_INPUT_DIALOG (inputd)->close_button,
GTK_CAN_DEFAULT);
hbbox = gtk_hbutton_box_new ();
gtk_button_box_set_spacing (GTK_BUTTON_BOX (hbbox), 4);
gtk_box_pack_end (GTK_BOX (GTK_DIALOG (inputd)->action_area), hbbox,
FALSE, FALSE, 0);
gtk_widget_grab_default (GTK_INPUT_DIALOG (inputd)->close_button);
gtk_widget_show(hbbox);
gtk_widget_reparent (GTK_INPUT_DIALOG (inputd)->save_button, hbbox);
GTK_WIDGET_SET_FLAGS (GTK_INPUT_DIALOG (inputd)->save_button,
GTK_CAN_DEFAULT);
gtk_widget_reparent (GTK_INPUT_DIALOG (inputd)->close_button, hbbox);
GTK_WIDGET_SET_FLAGS (GTK_INPUT_DIALOG (inputd)->close_button,
GTK_CAN_DEFAULT);
gtk_signal_connect (GTK_OBJECT (GTK_INPUT_DIALOG (inputd)->save_button),
"clicked",
GTK_SIGNAL_FUNC (devices_write_rc),
NULL);
gtk_signal_connect (GTK_OBJECT (GTK_INPUT_DIALOG (inputd)->close_button),
"clicked",
GTK_SIGNAL_FUNC (devices_close_callback),
inputd);
gtk_box_pack_end (GTK_BOX (GTK_DIALOG (inputd)->action_area), hbbox,
FALSE, FALSE, 0);
gtk_widget_grab_default (GTK_INPUT_DIALOG (inputd)->close_button);
gtk_widget_show(hbbox);
gtk_signal_connect (GTK_OBJECT (inputd), "destroy",
GTK_SIGNAL_FUNC (gtk_widget_destroyed),
&inputd);
gtk_signal_connect (GTK_OBJECT (GTK_INPUT_DIALOG (inputd)->save_button),
"clicked",
GTK_SIGNAL_FUNC (devices_write_rc),
NULL);
gtk_signal_connect (GTK_OBJECT (GTK_INPUT_DIALOG (inputd)->close_button),
"clicked",
GTK_SIGNAL_FUNC (devices_close_callback),
inputd);
gtk_signal_connect (GTK_OBJECT (inputd), "enable_device",
GTK_SIGNAL_FUNC (input_dialog_able_callback),
NULL);
gtk_signal_connect (GTK_OBJECT (inputd), "disable_device",
GTK_SIGNAL_FUNC (input_dialog_able_callback),
NULL);
gtk_signal_connect (GTK_OBJECT (inputd), "destroy",
GTK_SIGNAL_FUNC (gtk_widget_destroyed),
&inputd);
/* Connect the "F1" help key */
gimp_help_connect_help_accel (inputd,
gimp_standard_help_func,
"dialogs/input_devices.html");
gtk_signal_connect (GTK_OBJECT (inputd), "enable_device",
GTK_SIGNAL_FUNC (input_dialog_able_callback),
NULL);
gtk_signal_connect (GTK_OBJECT (inputd), "disable_device",
GTK_SIGNAL_FUNC (input_dialog_able_callback),
NULL);
gtk_widget_show (inputd);
}
else
{
if (!GTK_WIDGET_MAPPED (inputd))
gtk_widget_show (inputd);
else
gdk_window_raise (inputd->window);
}
/* Connect the "F1" help key */
gimp_help_connect_help_accel (inputd,
gimp_standard_help_func,
"dialogs/input_devices.html");
return inputd;
}
static void
@ -747,14 +740,7 @@ device_status_create (void)
gint i;
if (deviceD)
{
if (! GTK_WIDGET_MAPPED (deviceD->shell))
gtk_widget_show (deviceD->shell);
else
gdk_window_raise (deviceD->shell->window);
return deviceD->shell;
}
return deviceD->shell;
deviceD = g_new (DeviceInfoDialog, 1);
@ -955,8 +941,6 @@ device_status_create (void)
GTK_SIGNAL_FUNC (device_status_destroy_callback),
NULL);
gtk_widget_show (deviceD->shell);
return deviceD->shell;
}

View File

@ -40,13 +40,13 @@ void devices_init (void);
void devices_restore (void);
/* Create device info dialog */
void input_dialog_create (void);
GtkWidget * input_dialog_create (void);
/* Create the device status dialog */
GtkWidget * device_status_create (void);
/* Returns TRUE, and makes necessary global changes
* event is not for current_device
* if event is not for current_device
*/
gint devices_check_change (GdkEvent *event);

View File

@ -114,7 +114,7 @@ static gchar *hadja_text[] =
#endif
};
void
GtkWidget *
about_dialog_create (void)
{
GtkWidget *vbox;
@ -127,7 +127,7 @@ about_dialog_create (void)
gint i;
gchar *label_text;
if (!about_dialog)
if (! about_dialog)
{
about_dialog = gtk_window_new (GTK_WINDOW_DIALOG);
gtk_window_set_wmclass (GTK_WINDOW (about_dialog), "about_dialog", "Gimp");
@ -167,7 +167,7 @@ about_dialog_create (void)
{
gtk_widget_destroy (about_dialog);
about_dialog = NULL;
return;
return NULL;
}
vbox = gtk_vbox_new (FALSE, 1);
@ -264,18 +264,18 @@ about_dialog_create (void)
&scroll_area->style->white);
}
if (!GTK_WIDGET_VISIBLE (about_dialog))
if (! GTK_WIDGET_VISIBLE (about_dialog))
{
gtk_widget_show (about_dialog);
do_animation = TRUE;
do_scrolling = FALSE;
scroll_state = 0;
frame = 0;
offset = 0;
do_animation = TRUE;
do_scrolling = FALSE;
scroll_state = 0;
frame = 0;
offset = 0;
cur_scroll_text = 0;
if (!double_speed && hadja_state != 7)
if (! double_speed && hadja_state != 7)
{
for (i = 0; i < nscroll_texts; i++)
{
@ -303,6 +303,8 @@ about_dialog_create (void)
{
gdk_window_raise (about_dialog->window);
}
return about_dialog;
}
static gboolean
@ -521,10 +523,10 @@ about_dialog_key (GtkWidget *widget,
scroll_text[i]);
}
scroll_state = 0;
scroll_state = 0;
cur_scroll_index = 0;
cur_scroll_text = 0;
offset = 0;
cur_scroll_text = 0;
offset = 0;
}
return FALSE;
@ -537,9 +539,9 @@ about_dialog_tool_drop (GtkWidget *widget,
{
GdkPixmap *pixmap = NULL;
GdkBitmap *mask = NULL;
gint width = 0;
gint height = 0;
gint i;
gint width = 0;
gint height = 0;
gint i;
if (do_animation)
return;
@ -549,7 +551,7 @@ about_dialog_tool_drop (GtkWidget *widget,
timer = gtk_timeout_add (75, about_dialog_timer, NULL);
frame = 0;
frame = 0;
do_animation = TRUE;
do_scrolling = FALSE;
@ -560,11 +562,10 @@ about_dialog_tool_drop (GtkWidget *widget,
logo_area->allocation.width,
logo_area->allocation.height);
pixmap =
gdk_pixmap_create_from_xpm_d (widget->window,
&mask,
NULL,
wilber2_xpm);
pixmap = gdk_pixmap_create_from_xpm_d (widget->window,
&mask,
NULL,
wilber2_xpm);
gdk_window_get_size (pixmap, &width, &height);
@ -602,10 +603,10 @@ about_dialog_tool_drop (GtkWidget *widget,
scroll_text[i]);
}
scroll_state = 0;
scroll_state = 0;
cur_scroll_index = 0;
cur_scroll_text = 0;
offset = 0;
cur_scroll_text = 0;
offset = 0;
double_speed = TRUE;
}
@ -640,7 +641,7 @@ about_dialog_timer (gpointer data)
{
do_animation = FALSE;
do_scrolling = TRUE;
frame = 0;
frame = 0;
timer = gtk_timeout_add (75, about_dialog_timer, NULL);
@ -651,7 +652,7 @@ about_dialog_timer (gpointer data)
if (do_scrolling)
{
if (!scroll_pixmap)
if (! scroll_pixmap)
scroll_pixmap = gdk_pixmap_new (scroll_area->window,
scroll_area->allocation.width,
scroll_area->allocation.height,
@ -678,7 +679,7 @@ about_dialog_timer (gpointer data)
cur_scroll_index += 1;
if (cur_scroll_index == nscroll_texts)
cur_scroll_index = 0;
cur_scroll_text = shuffle_array[cur_scroll_index];
offset = 0;

View File

@ -19,6 +19,8 @@
#ifndef __ABOUT_DIALOG_H__
#define __ABOUT_DIALOG_H__
void about_dialog_create (void);
GtkWidget * about_dialog_create (void);
#endif /* __ABOUT_DIALOG_H__ */

View File

@ -20,6 +20,7 @@
#include <gtk/gtk.h>
#include "libgimpcolor/gimpcolor.h"
#include "libgimpwidgets/gimpwidgets.h"
#include "apptypes.h"
@ -36,7 +37,10 @@
#include "widgets/gimpdockbook.h"
#include "widgets/gimppreview.h"
#include "about-dialog.h"
#include "brush-select.h"
#include "color-area.h"
#include "colormap-dialog.h"
#include "devices.h"
#include "dialogs-constructors.h"
#include "docindex.h"
@ -45,38 +49,49 @@
#include "gradient-editor.h"
#include "gradient-select.h"
#include "lc_dialog.h"
#include "palette-editor.h"
#include "pattern-select.h"
#include "preferences-dialog.h"
#include "tips-dialog.h"
#include "toolbox.h"
#include "context_manager.h"
#include "gdisplay.h"
#include "gimpcontainer.h"
#include "gimpcontext.h"
#include "gimpdatafactory.h"
#include "gimpimage.h"
#include "gimprc.h"
#include "module_db.h"
#include "undo_history.h"
#ifdef DISPLAY_FILTERS
#include "gdisplay_color_ui.h"
#endif /* DISPLAY_FILTERS */
#include "libgimp/gimpintl.h"
static GtkWidget * dialogs_brush_tab_func (GimpDockable *dockable,
GimpDockbook *dockbook,
gint size);
static GtkWidget * dialogs_pattern_tab_func (GimpDockable *dockable,
GimpDockbook *dockbook,
gint size);
static GtkWidget * dialogs_gradient_tab_func (GimpDockable *dockable,
GimpDockbook *dockbook,
gint size);
static GtkWidget * dialogs_palette_tab_func (GimpDockable *dockable,
GimpDockbook *dockbook,
gint size);
static void dialogs_indexed_palette_selected (GimpColormapDialog *dialog,
GimpContext *context);
static GtkWidget * dialogs_dockable_new (GtkWidget *widget,
const gchar *name,
const gchar *short_name,
GimpDockableGetTabFunc get_tab_func);
static GtkWidget * dialogs_brush_tab_func (GimpDockable *dockable,
GimpDockbook *dockbook,
gint size);
static GtkWidget * dialogs_pattern_tab_func (GimpDockable *dockable,
GimpDockbook *dockbook,
gint size);
static GtkWidget * dialogs_gradient_tab_func (GimpDockable *dockable,
GimpDockbook *dockbook,
gint size);
static GtkWidget * dialogs_palette_tab_func (GimpDockable *dockable,
GimpDockbook *dockbook,
gint size);
static GtkWidget * dialogs_dockable_new (GtkWidget *widget,
const gchar *name,
const gchar *short_name,
GimpDockableGetTabFunc get_tab_func);
/* public functions */
@ -145,6 +160,89 @@ dialogs_document_index_get (GimpDialogFactory *factory)
return document_index_create ();
}
GtkWidget *
dialogs_preferences_get (GimpDialogFactory *factory)
{
return preferences_dialog_create ();
}
GtkWidget *
dialogs_input_devices_get (GimpDialogFactory *factory)
{
return input_dialog_create ();
}
GtkWidget *
dialogs_module_browser_get (GimpDialogFactory *factory)
{
return module_db_browser_new ();
}
GtkWidget *
dialogs_indexed_palette_get (GimpDialogFactory *factory)
{
GimpColormapDialog *cmap_dlg;
cmap_dlg = gimp_colormap_dialog_create (image_context);
gtk_signal_connect (GTK_OBJECT (cmap_dlg), "selected",
GTK_SIGNAL_FUNC (dialogs_indexed_palette_selected),
factory->context);
return GTK_WIDGET (cmap_dlg);
}
GtkWidget *
dialogs_undo_history_get (GimpDialogFactory *factory)
{
GDisplay *gdisp;
GimpImage *gimage;
gdisp = gimp_context_get_display (factory->context);
if (! gdisp)
return NULL;
gimage = gdisp->gimage;
if (! gimage->undo_history)
gimage->undo_history = undo_history_new (gimage);
return gimage->undo_history;
}
GtkWidget *
dialogs_display_filters_get (GimpDialogFactory *factory)
{
#ifdef DISPLAY_FILTERS
GDisplay *gdisp;
gdisp = gimp_context_get_display (factory->context);
if (! gdisp)
gdisp = color_area_gdisp;
if (! gdisp->cd_ui)
gdisplay_color_ui_new (gdisp);
return gdisp->cd_ui;
#else
return NULL;
#endif /* DISPLAY_FILTERS */
}
GtkWidget *
dialogs_tips_get (GimpDialogFactory *factory)
{
return tips_dialog_create ();
}
GtkWidget *
dialogs_about_get (GimpDialogFactory *factory)
{
return about_dialog_create ();
}
GtkWidget *
dialogs_image_list_view_new (GimpDialogFactory *factory)
@ -348,6 +446,29 @@ dialogs_tool_grid_view_new (GimpDialogFactory *factory)
/* private functions */
static void
dialogs_indexed_palette_selected (GimpColormapDialog *dialog,
GimpContext *context)
{
GimpImage *gimage;
GimpRGB color;
gint index;
gimage = gimp_colormap_dialog_image (dialog);
index = gimp_colormap_dialog_col_index (dialog);
gimp_rgba_set_uchar (&color,
gimage->cmap[index * 3],
gimage->cmap[index * 3 + 1],
gimage->cmap[index * 3 + 2],
255);
if (active_color == FOREGROUND)
gimp_context_set_foreground (context, &color);
else if (active_color == BACKGROUND)
gimp_context_set_background (context, &color);
}
static GtkWidget *
dialogs_brush_tab_func (GimpDockable *dockable,
GimpDockbook *dockbook,

View File

@ -30,6 +30,14 @@ GtkWidget * dialogs_gradient_select_get (GimpDialogFactory *factory);
GtkWidget * dialogs_palette_get (GimpDialogFactory *factory);
GtkWidget * dialogs_error_console_get (GimpDialogFactory *factory);
GtkWidget * dialogs_document_index_get (GimpDialogFactory *factory);
GtkWidget * dialogs_preferences_get (GimpDialogFactory *factory);
GtkWidget * dialogs_input_devices_get (GimpDialogFactory *factory);
GtkWidget * dialogs_module_browser_get (GimpDialogFactory *factory);
GtkWidget * dialogs_indexed_palette_get (GimpDialogFactory *factory);
GtkWidget * dialogs_undo_history_get (GimpDialogFactory *factory);
GtkWidget * dialogs_display_filters_get (GimpDialogFactory *factory);
GtkWidget * dialogs_tips_get (GimpDialogFactory *factory);
GtkWidget * dialogs_about_get (GimpDialogFactory *factory);
GtkWidget * dialogs_image_list_view_new (GimpDialogFactory *factory);
GtkWidget * dialogs_brush_list_view_new (GimpDialogFactory *factory);

View File

@ -31,39 +31,36 @@
#include "gimpcontext.h"
typedef struct _DialogEntry DialogEntry;
struct _DialogEntry
{
const gchar *identifier;
GimpDialogNewFunc new_func;
gboolean singleton;
gboolean session_managed;
};
GimpDialogFactory *global_dialog_factory = NULL;
GimpDialogFactory *global_dock_factory = NULL;
GimpDialogFactory *global_image_dock_factory = NULL;
static const DialogEntry toplevel_entries[] =
static const GimpDialogFactoryEntry toplevel_entries[] =
{
{ "gimp:toolbox", dialogs_toolbox_get, TRUE, TRUE },
{ "gimp:lc-dialog", dialogs_lc_get, TRUE, TRUE },
{ "gimp:tool-options-dialog", dialogs_tool_options_get, TRUE, TRUE },
{ "gimp:device-status-dialog", dialogs_device_status_get, TRUE, TRUE },
{ "gimp:brush-select-dialog", dialogs_brush_select_get, TRUE, TRUE },
{ "gimp:pattern-select-dialog", dialogs_pattern_select_get, TRUE, TRUE },
{ "gimp:gradient-select-dialog", dialogs_gradient_select_get, TRUE, TRUE },
{ "gimp:palette-dialog", dialogs_palette_get, TRUE, TRUE },
{ "gimp:error-console-dialog", dialogs_error_console_get, TRUE, TRUE },
{ "gimp:document-index-dialog", dialogs_document_index_get, TRUE, TRUE }
{ "gimp:toolbox", dialogs_toolbox_get, TRUE, TRUE },
{ "gimp:lc-dialog", dialogs_lc_get, TRUE, TRUE },
{ "gimp:tool-options-dialog", dialogs_tool_options_get, TRUE, TRUE },
{ "gimp:device-status-dialog", dialogs_device_status_get, TRUE, TRUE },
{ "gimp:brush-select-dialog", dialogs_brush_select_get, TRUE, TRUE },
{ "gimp:pattern-select-dialog", dialogs_pattern_select_get, TRUE, TRUE },
{ "gimp:gradient-select-dialog", dialogs_gradient_select_get, TRUE, TRUE },
{ "gimp:palette-dialog", dialogs_palette_get, TRUE, TRUE },
{ "gimp:error-console-dialog", dialogs_error_console_get, TRUE, TRUE },
{ "gimp:document-index-dialog", dialogs_document_index_get, TRUE, TRUE },
{ "gimp:preferences-dialog", dialogs_preferences_get, TRUE, FALSE },
{ "gimp:input-devices-dialog", dialogs_input_devices_get, TRUE, FALSE },
{ "gimp:module-browser-dialog", dialogs_module_browser_get, TRUE, FALSE },
{ "gimp:indexed-palette-dialog", dialogs_indexed_palette_get, TRUE, FALSE },
{ "gimp:undo-history-dialog", dialogs_undo_history_get, FALSE, FALSE },
{ "gimp:display-filters-dialog", dialogs_display_filters_get, FALSE, FALSE },
{ "gimp:tips-dialog", dialogs_tips_get, TRUE, FALSE },
{ "gimp:about-dialog", dialogs_about_get, TRUE, FALSE }
};
static const gint n_toplevel_entries = (sizeof (toplevel_entries) /
sizeof (toplevel_entries[0]));
static const DialogEntry dock_entries[] =
static const GimpDialogFactoryEntry dock_entries[] =
{
{ "gimp:image-list", dialogs_image_list_view_new, FALSE, FALSE },
{ "gimp:brush-list", dialogs_brush_list_view_new, FALSE, FALSE },
@ -82,7 +79,7 @@ static const gint n_dock_entries = (sizeof (dock_entries) /
sizeof (dock_entries[0]));
/*
static const DialogEntry image_dock_entries[] =
static const GimpDialogFactoryEntry image_dock_entries[] =
{
};
static const gint n_image_dock_entries = (sizeof (image_dock_entries) /

View File

@ -1345,7 +1345,7 @@ prefs_help_func (const gchar *help_data)
/************************************************************************
* create the preferences dialog
*/
void
GtkWidget *
preferences_dialog_create (void)
{
GtkWidget *ctree;
@ -1381,10 +1381,7 @@ preferences_dialog_create (void)
gchar *pixels_per_unit;
if (prefs_dlg)
{
gdk_window_raise (GTK_WIDGET (prefs_dlg)->window);
return;
}
return prefs_dlg;
if (edit_temp_path == NULL)
{
@ -2612,5 +2609,5 @@ preferences_dialog_create (void)
gtk_widget_show (ctree);
gtk_widget_show (notebook);
gtk_widget_show (prefs_dlg);
return prefs_dlg;
}

View File

@ -20,7 +20,7 @@
#define __PREFERENCES_DIALOG_H__
void preferences_dialog_create (void);
GtkWidget * preferences_dialog_create (void);
#endif /* __PREFERENCES_DIALOG_H__ */

View File

@ -60,7 +60,7 @@ static gint tips_count = 0;
static gint old_show_tips = 0;
void
GtkWidget *
tips_dialog_create (void)
{
GtkWidget *vbox;
@ -86,118 +86,109 @@ tips_dialog_create (void)
if (last_tip >= tips_count || last_tip < 0)
last_tip = 0;
if (!tips_dialog)
{
tips_dialog = gtk_window_new (GTK_WINDOW_DIALOG);
gtk_window_set_wmclass (GTK_WINDOW (tips_dialog), "tip_of_the_day", "Gimp");
gtk_window_set_title (GTK_WINDOW (tips_dialog), _("GIMP Tip of the Day"));
gtk_window_set_position (GTK_WINDOW (tips_dialog), GTK_WIN_POS_CENTER);
gtk_window_set_policy (GTK_WINDOW (tips_dialog), FALSE, TRUE, FALSE);
if (tips_dialog)
return tips_dialog;
gtk_signal_connect (GTK_OBJECT (tips_dialog), "delete_event",
GTK_SIGNAL_FUNC (tips_dialog_destroy),
NULL);
gtk_signal_connect (GTK_OBJECT (tips_dialog), "destroy",
GTK_SIGNAL_FUNC (gtk_widget_destroyed),
&tips_dialog);
tips_dialog = gtk_window_new (GTK_WINDOW_DIALOG);
gtk_window_set_wmclass (GTK_WINDOW (tips_dialog), "tip_of_the_day", "Gimp");
gtk_window_set_title (GTK_WINDOW (tips_dialog), _("GIMP Tip of the Day"));
gtk_window_set_position (GTK_WINDOW (tips_dialog), GTK_WIN_POS_CENTER);
gtk_window_set_policy (GTK_WINDOW (tips_dialog), FALSE, TRUE, FALSE);
/* destroy the tips window if the mainlevel gtk_main() function is left */
gtk_quit_add_destroy (1, GTK_OBJECT (tips_dialog));
gtk_signal_connect (GTK_OBJECT (tips_dialog), "delete_event",
GTK_SIGNAL_FUNC (tips_dialog_destroy),
NULL);
gtk_signal_connect (GTK_OBJECT (tips_dialog), "destroy",
GTK_SIGNAL_FUNC (gtk_widget_destroyed),
&tips_dialog);
vbox = gtk_vbox_new (FALSE, 0);
gtk_container_add (GTK_CONTAINER (tips_dialog), vbox);
gtk_widget_show (vbox);
/* destroy the tips window if the mainlevel gtk_main() function is left */
gtk_quit_add_destroy (1, GTK_OBJECT (tips_dialog));
hbox = gtk_hbox_new (FALSE, 5);
gtk_container_set_border_width (GTK_CONTAINER (hbox), 10);
gtk_box_pack_start (GTK_BOX (vbox), hbox, TRUE, TRUE, 0);
gtk_widget_show (hbox);
vbox = gtk_vbox_new (FALSE, 0);
gtk_container_add (GTK_CONTAINER (tips_dialog), vbox);
gtk_widget_show (vbox);
tips_label = gtk_label_new (tips_text[last_tip]);
gtk_label_set_justify (GTK_LABEL (tips_label), GTK_JUSTIFY_LEFT);
gtk_misc_set_alignment (GTK_MISC (tips_label), 0.5, 0.5);
gtk_box_pack_start (GTK_BOX (hbox), tips_label, TRUE, TRUE, 3);
gtk_widget_show (tips_label);
vbox2 = gtk_vbox_new (FALSE, 0);
gtk_box_pack_end (GTK_BOX (hbox), vbox2, FALSE, FALSE, 0);
gtk_widget_show (vbox2);
hbox = gtk_hbox_new (FALSE, 5);
gtk_container_set_border_width (GTK_CONTAINER (hbox), 10);
gtk_box_pack_start (GTK_BOX (vbox), hbox, TRUE, TRUE, 0);
gtk_widget_show (hbox);
frame = gtk_frame_new (NULL);
gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN);
gtk_box_pack_start (GTK_BOX (vbox2), frame, TRUE, FALSE, 0);
gtk_widget_show (frame);
tips_label = gtk_label_new (tips_text[last_tip]);
gtk_label_set_justify (GTK_LABEL (tips_label), GTK_JUSTIFY_LEFT);
gtk_misc_set_alignment (GTK_MISC (tips_label), 0.5, 0.5);
gtk_box_pack_start (GTK_BOX (hbox), tips_label, TRUE, TRUE, 3);
gtk_widget_show (tips_label);
pixmap = gimp_pixmap_new (wilber3_xpm);
gtk_container_add (GTK_CONTAINER (frame), pixmap);
gtk_widget_show (pixmap);
hbox = gtk_hbox_new (FALSE, 15);
gtk_container_set_border_width (GTK_CONTAINER (hbox), 10);
gtk_box_pack_end (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
gtk_widget_show (hbox);
button =
gtk_check_button_new_with_label (_("Show tip next time GIMP starts"));
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button),
show_tips);
gtk_signal_connect (GTK_OBJECT (button), "toggled",
GTK_SIGNAL_FUNC (tips_toggle_update),
(gpointer) &show_tips);
gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0);
gtk_widget_show (button);
vbox2 = gtk_vbox_new (FALSE, 0);
gtk_box_pack_end (GTK_BOX (hbox), vbox2, FALSE, FALSE, 0);
gtk_widget_show (vbox2);
old_show_tips = show_tips;
frame = gtk_frame_new (NULL);
gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN);
gtk_box_pack_start (GTK_BOX (vbox2), frame, TRUE, FALSE, 0);
gtk_widget_show (frame);
bbox = gtk_hbutton_box_new ();
gtk_box_pack_end (GTK_BOX (hbox), bbox, FALSE, FALSE, 0);
gtk_widget_show (bbox);
pixmap = gimp_pixmap_new (wilber3_xpm);
gtk_container_add (GTK_CONTAINER (frame), pixmap);
gtk_widget_show (pixmap);
button = gtk_button_new_with_label (_("Close"));
GTK_WIDGET_SET_FLAGS (button, GTK_CAN_DEFAULT);
gtk_window_set_default (GTK_WINDOW (tips_dialog), button);
gtk_signal_connect (GTK_OBJECT (button), "clicked",
GTK_SIGNAL_FUNC (tips_dialog_destroy),
NULL);
gtk_container_add (GTK_CONTAINER (bbox), button);
gtk_widget_show (button);
hbox = gtk_hbox_new (FALSE, 15);
gtk_container_set_border_width (GTK_CONTAINER (hbox), 10);
gtk_box_pack_end (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
gtk_widget_show (hbox);
bbox = gtk_hbutton_box_new ();
gtk_button_box_set_layout (GTK_BUTTON_BOX (bbox), GTK_BUTTONBOX_END);
gtk_button_box_set_spacing (GTK_BUTTON_BOX (bbox), 5);
gtk_box_pack_end (GTK_BOX (hbox), bbox, FALSE, FALSE, 0);
gtk_widget_show (bbox);
button = gtk_check_button_new_with_label (_("Show tip next time GIMP starts"));
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), show_tips);
gtk_signal_connect (GTK_OBJECT (button), "toggled",
GTK_SIGNAL_FUNC (tips_toggle_update),
&show_tips);
gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0);
gtk_widget_show (button);
button = gtk_button_new_with_label (_("Previous Tip"));
GTK_WIDGET_UNSET_FLAGS (button, GTK_RECEIVES_DEFAULT);
gtk_signal_connect (GTK_OBJECT (button), "clicked",
GTK_SIGNAL_FUNC (tips_show_previous),
NULL);
gtk_container_add (GTK_CONTAINER (bbox), button);
gtk_widget_show (button);
old_show_tips = show_tips;
button = gtk_button_new_with_label (_("Next Tip"));
GTK_WIDGET_UNSET_FLAGS (button, GTK_RECEIVES_DEFAULT);
gtk_signal_connect (GTK_OBJECT (button), "clicked",
GTK_SIGNAL_FUNC (tips_show_next),
NULL);
gtk_container_add (GTK_CONTAINER (bbox), button);
gtk_widget_show (button);
bbox = gtk_hbutton_box_new ();
gtk_box_pack_end (GTK_BOX (hbox), bbox, FALSE, FALSE, 0);
gtk_widget_show (bbox);
/* Connect the "F1" help key */
gimp_help_connect_help_accel (tips_dialog,
gimp_standard_help_func,
"dialogs/tip_of_the_day.html");
}
button = gtk_button_new_with_label (_("Close"));
GTK_WIDGET_SET_FLAGS (button, GTK_CAN_DEFAULT);
gtk_window_set_default (GTK_WINDOW (tips_dialog), button);
gtk_signal_connect (GTK_OBJECT (button), "clicked",
GTK_SIGNAL_FUNC (tips_dialog_destroy),
NULL);
gtk_container_add (GTK_CONTAINER (bbox), button);
gtk_widget_show (button);
if (!GTK_WIDGET_VISIBLE (tips_dialog))
{
gtk_widget_show (tips_dialog);
}
else
{
gdk_window_raise (tips_dialog->window);
}
bbox = gtk_hbutton_box_new ();
gtk_button_box_set_layout (GTK_BUTTON_BOX (bbox), GTK_BUTTONBOX_END);
gtk_button_box_set_spacing (GTK_BUTTON_BOX (bbox), 5);
gtk_box_pack_end (GTK_BOX (hbox), bbox, FALSE, FALSE, 0);
gtk_widget_show (bbox);
button = gtk_button_new_with_label (_("Previous Tip"));
GTK_WIDGET_UNSET_FLAGS (button, GTK_RECEIVES_DEFAULT);
gtk_signal_connect (GTK_OBJECT (button), "clicked",
GTK_SIGNAL_FUNC (tips_show_previous),
NULL);
gtk_container_add (GTK_CONTAINER (bbox), button);
gtk_widget_show (button);
button = gtk_button_new_with_label (_("Next Tip"));
GTK_WIDGET_UNSET_FLAGS (button, GTK_RECEIVES_DEFAULT);
gtk_signal_connect (GTK_OBJECT (button), "clicked",
GTK_SIGNAL_FUNC (tips_show_next),
NULL);
gtk_container_add (GTK_CONTAINER (bbox), button);
gtk_widget_show (button);
/* Connect the "F1" help key */
gimp_help_connect_help_accel (tips_dialog,
gimp_standard_help_func,
"dialogs/tip_of_the_day.html");
return tips_dialog;
}
static void

View File

@ -20,7 +20,7 @@
#define __TIPS_DIALOG_H__
void tips_dialog_create (void);
GtkWidget * tips_dialog_create (void);
#endif /* __TIPS_DIALOG_H__ */

View File

@ -114,7 +114,7 @@ static gchar *hadja_text[] =
#endif
};
void
GtkWidget *
about_dialog_create (void)
{
GtkWidget *vbox;
@ -127,7 +127,7 @@ about_dialog_create (void)
gint i;
gchar *label_text;
if (!about_dialog)
if (! about_dialog)
{
about_dialog = gtk_window_new (GTK_WINDOW_DIALOG);
gtk_window_set_wmclass (GTK_WINDOW (about_dialog), "about_dialog", "Gimp");
@ -167,7 +167,7 @@ about_dialog_create (void)
{
gtk_widget_destroy (about_dialog);
about_dialog = NULL;
return;
return NULL;
}
vbox = gtk_vbox_new (FALSE, 1);
@ -264,18 +264,18 @@ about_dialog_create (void)
&scroll_area->style->white);
}
if (!GTK_WIDGET_VISIBLE (about_dialog))
if (! GTK_WIDGET_VISIBLE (about_dialog))
{
gtk_widget_show (about_dialog);
do_animation = TRUE;
do_scrolling = FALSE;
scroll_state = 0;
frame = 0;
offset = 0;
do_animation = TRUE;
do_scrolling = FALSE;
scroll_state = 0;
frame = 0;
offset = 0;
cur_scroll_text = 0;
if (!double_speed && hadja_state != 7)
if (! double_speed && hadja_state != 7)
{
for (i = 0; i < nscroll_texts; i++)
{
@ -303,6 +303,8 @@ about_dialog_create (void)
{
gdk_window_raise (about_dialog->window);
}
return about_dialog;
}
static gboolean
@ -521,10 +523,10 @@ about_dialog_key (GtkWidget *widget,
scroll_text[i]);
}
scroll_state = 0;
scroll_state = 0;
cur_scroll_index = 0;
cur_scroll_text = 0;
offset = 0;
cur_scroll_text = 0;
offset = 0;
}
return FALSE;
@ -537,9 +539,9 @@ about_dialog_tool_drop (GtkWidget *widget,
{
GdkPixmap *pixmap = NULL;
GdkBitmap *mask = NULL;
gint width = 0;
gint height = 0;
gint i;
gint width = 0;
gint height = 0;
gint i;
if (do_animation)
return;
@ -549,7 +551,7 @@ about_dialog_tool_drop (GtkWidget *widget,
timer = gtk_timeout_add (75, about_dialog_timer, NULL);
frame = 0;
frame = 0;
do_animation = TRUE;
do_scrolling = FALSE;
@ -560,11 +562,10 @@ about_dialog_tool_drop (GtkWidget *widget,
logo_area->allocation.width,
logo_area->allocation.height);
pixmap =
gdk_pixmap_create_from_xpm_d (widget->window,
&mask,
NULL,
wilber2_xpm);
pixmap = gdk_pixmap_create_from_xpm_d (widget->window,
&mask,
NULL,
wilber2_xpm);
gdk_window_get_size (pixmap, &width, &height);
@ -602,10 +603,10 @@ about_dialog_tool_drop (GtkWidget *widget,
scroll_text[i]);
}
scroll_state = 0;
scroll_state = 0;
cur_scroll_index = 0;
cur_scroll_text = 0;
offset = 0;
cur_scroll_text = 0;
offset = 0;
double_speed = TRUE;
}
@ -640,7 +641,7 @@ about_dialog_timer (gpointer data)
{
do_animation = FALSE;
do_scrolling = TRUE;
frame = 0;
frame = 0;
timer = gtk_timeout_add (75, about_dialog_timer, NULL);
@ -651,7 +652,7 @@ about_dialog_timer (gpointer data)
if (do_scrolling)
{
if (!scroll_pixmap)
if (! scroll_pixmap)
scroll_pixmap = gdk_pixmap_new (scroll_area->window,
scroll_area->allocation.width,
scroll_area->allocation.height,
@ -678,7 +679,7 @@ about_dialog_timer (gpointer data)
cur_scroll_index += 1;
if (cur_scroll_index == nscroll_texts)
cur_scroll_index = 0;
cur_scroll_text = shuffle_array[cur_scroll_index];
offset = 0;

View File

@ -19,6 +19,8 @@
#ifndef __ABOUT_DIALOG_H__
#define __ABOUT_DIALOG_H__
void about_dialog_create (void);
GtkWidget * about_dialog_create (void);
#endif /* __ABOUT_DIALOG_H__ */

View File

@ -104,13 +104,6 @@ brush_dialog_create (void)
{
brush_select_dialog = brush_select_new (NULL, NULL, 0.0, 0, 0);
}
else
{
if (!GTK_WIDGET_VISIBLE (brush_select_dialog->shell))
gtk_widget_show (brush_select_dialog->shell);
else
gdk_window_raise (brush_select_dialog->shell->window);
}
return brush_select_dialog->shell;
}

View File

@ -33,22 +33,16 @@
#include "tools/gimptoolinfo.h"
#include "tools/tool_manager.h"
#include "about-dialog.h"
#include "color-area.h"
#include "colormap-dialog.h"
#include "errorconsole.h"
#include "info-dialog.h"
#include "info-window.h"
#include "layer-select.h"
#include "preferences-dialog.h"
#include "tips-dialog.h"
#include "app_procs.h"
#include "commands.h"
#include "context_manager.h"
#include "convert.h"
#include "desaturate.h"
#include "devices.h"
#include "channel_ops.h"
#include "equalize.h"
#include "file-open.h"
@ -70,18 +64,11 @@
#include "invert.h"
#include "lc_dialog.h"
#include "layers_dialogP.h"
#include "module_db.h"
#include "plug_in.h"
#include "resize.h"
#include "scale.h"
#include "selection.h"
#include "toolbox.h"
#include "undo.h"
#include "undo_history.h"
#ifdef DISPLAY_FILTERS
#include "gdisplay_color_ui.h"
#endif /* DISPLAY_FILTERS */
#include "libgimp/gimpintl.h"
@ -1095,13 +1082,6 @@ layers_resize_to_image_cmd_callback (GtkWidget *widget,
/***** Tools *****/
void
tools_toolbox_raise_cmd_callback (GtkWidget *widget,
gpointer client_data)
{
toolbox_raise ();
}
void
tools_default_colors_cmd_callback (GtkWidget *widget,
gpointer client_data)
@ -1192,118 +1172,6 @@ filters_repeat_cmd_callback (GtkWidget *widget,
plug_in_repeat (callback_action);
}
/***** Dialogs ******/
void
dialogs_preferences_cmd_callback (GtkWidget *widget,
gpointer client_data)
{
preferences_dialog_create ();
}
static void
dialogs_indexed_palette_select_callback (GimpColormapDialog *dialog,
gpointer data)
{
GimpImage *image;
GimpRGB color;
gint index;
image = gimp_colormap_dialog_image (dialog);
index = gimp_colormap_dialog_col_index (dialog);
gimp_rgba_set_uchar (&color,
image->cmap[index * 3],
image->cmap[index * 3 + 1],
image->cmap[index * 3 + 2],
255);
if (active_color == FOREGROUND)
gimp_context_set_foreground (gimp_context_get_user (), &color);
else if (active_color == BACKGROUND)
gimp_context_set_background (gimp_context_get_user (), &color);
}
void
dialogs_indexed_palette_cmd_callback (GtkWidget *widget,
gpointer client_data)
{
static GimpColormapDialog *cmap_dlg;
if (!cmap_dlg)
{
cmap_dlg = gimp_colormap_dialog_create (image_context);
gtk_signal_connect
(GTK_OBJECT (cmap_dlg), "selected",
GTK_SIGNAL_FUNC (dialogs_indexed_palette_select_callback),
NULL);
}
if (! GTK_WIDGET_VISIBLE (cmap_dlg))
gtk_widget_show (GTK_WIDGET (cmap_dlg));
else
gdk_window_raise (GTK_WIDGET (cmap_dlg)->window);
}
void
dialogs_input_devices_cmd_callback (GtkWidget *widget,
gpointer client_data)
{
input_dialog_create ();
}
#ifdef DISPLAY_FILTERS
void
dialogs_display_filters_cmd_callback (GtkWidget *widget,
gpointer client_data)
{
GDisplay *gdisp;
gdisp = gdisplay_active ();
if (!gdisp)
gdisp = color_area_gdisp;
if (!gdisp->cd_ui)
gdisplay_color_ui_new (gdisp);
if (!GTK_WIDGET_VISIBLE (gdisp->cd_ui))
gtk_widget_show (gdisp->cd_ui);
else
gdk_window_raise (gdisp->cd_ui->window);
}
#endif /* DISPLAY_FILTERS */
void
dialogs_undo_history_cmd_callback (GtkWidget *widget,
gpointer client_data)
{
GDisplay *gdisp;
GimpImage *gimage;
return_if_no_display (gdisp);
gimage = gdisp->gimage;
if (!gimage->undo_history)
gimage->undo_history = undo_history_new (gimage);
if (!GTK_WIDGET_VISIBLE (gimage->undo_history))
gtk_widget_show (gimage->undo_history);
else
gdk_window_raise (gimage->undo_history->window);
}
void
dialogs_module_browser_cmd_callback (GtkWidget *widget,
gpointer client_data)
{
GtkWidget *module_browser;
module_browser = module_db_browser_new ();
gtk_widget_show (module_browser);
}
/***** Help *****/
void
@ -1320,20 +1188,6 @@ help_context_help_cmd_callback (GtkWidget *widget,
gimp_context_help ();
}
void
help_tips_cmd_callback (GtkWidget *widget,
gpointer client_data)
{
tips_dialog_create ();
}
void
help_about_cmd_callback (GtkWidget *widget,
gpointer client_data)
{
about_dialog_create ();
}
/*****************************/
/***** Local functions *****/

View File

@ -104,7 +104,6 @@ void layers_add_alpha_channel_cmd_callback (GtkWidget *, gpointer);
void layers_alpha_select_cmd_callback (GtkWidget *, gpointer);
void layers_resize_to_image_cmd_callback (GtkWidget *, gpointer);
void tools_toolbox_raise_cmd_callback (GtkWidget *, gpointer);
void tools_default_colors_cmd_callback (GtkWidget *, gpointer);
void tools_swap_colors_cmd_callback (GtkWidget *, gpointer);
void tools_swap_contexts_cmd_callback (GtkWidget *, gpointer);
@ -116,20 +115,8 @@ void filters_repeat_cmd_callback (GtkWidget *widget,
gpointer callback_data,
guint callback_action);
void dialogs_preferences_cmd_callback (GtkWidget *, gpointer);
void dialogs_indexed_palette_cmd_callback (GtkWidget *, gpointer);
void dialogs_input_devices_cmd_callback (GtkWidget *, gpointer);
void dialogs_undo_history_cmd_callback (GtkWidget *, gpointer);
void dialogs_module_browser_cmd_callback (GtkWidget *, gpointer);
#ifdef DISPLAY_FILTERS
void dialogs_display_filters_cmd_callback (GtkWidget *, gpointer);
#endif /* DISPLAY_FILTERS */
void help_help_cmd_callback (GtkWidget *, gpointer);
void help_context_help_cmd_callback (GtkWidget *, gpointer);
void help_tips_cmd_callback (GtkWidget *, gpointer);
void help_about_cmd_callback (GtkWidget *, gpointer);
#endif /* __COMMANDS_H__ */

View File

@ -209,73 +209,66 @@ device_info_get_by_name (gchar *name)
/* the gtk input dialog */
void
GtkWidget *
input_dialog_create (void)
{
static GtkWidget *inputd = NULL;
GtkWidget *hbbox;
if (!inputd)
{
inputd = gtk_input_dialog_new ();
if (inputd)
return inputd;
/* register this one only */
dialog_register (inputd);
inputd = gtk_input_dialog_new ();
gtk_container_set_border_width
(GTK_CONTAINER (GTK_DIALOG (inputd)->action_area), 2);
gtk_box_set_homogeneous (GTK_BOX (GTK_DIALOG (inputd)->action_area),
FALSE);
/* register this one only */
dialog_register (inputd);
hbbox = gtk_hbutton_box_new ();
gtk_button_box_set_spacing (GTK_BUTTON_BOX (hbbox), 4);
gtk_container_set_border_width
(GTK_CONTAINER (GTK_DIALOG (inputd)->action_area), 2);
gtk_box_set_homogeneous (GTK_BOX (GTK_DIALOG (inputd)->action_area),
FALSE);
gtk_widget_reparent (GTK_INPUT_DIALOG (inputd)->save_button, hbbox);
GTK_WIDGET_SET_FLAGS (GTK_INPUT_DIALOG (inputd)->save_button,
GTK_CAN_DEFAULT);
gtk_widget_reparent (GTK_INPUT_DIALOG (inputd)->close_button, hbbox);
GTK_WIDGET_SET_FLAGS (GTK_INPUT_DIALOG (inputd)->close_button,
GTK_CAN_DEFAULT);
hbbox = gtk_hbutton_box_new ();
gtk_button_box_set_spacing (GTK_BUTTON_BOX (hbbox), 4);
gtk_box_pack_end (GTK_BOX (GTK_DIALOG (inputd)->action_area), hbbox,
FALSE, FALSE, 0);
gtk_widget_grab_default (GTK_INPUT_DIALOG (inputd)->close_button);
gtk_widget_show(hbbox);
gtk_widget_reparent (GTK_INPUT_DIALOG (inputd)->save_button, hbbox);
GTK_WIDGET_SET_FLAGS (GTK_INPUT_DIALOG (inputd)->save_button,
GTK_CAN_DEFAULT);
gtk_widget_reparent (GTK_INPUT_DIALOG (inputd)->close_button, hbbox);
GTK_WIDGET_SET_FLAGS (GTK_INPUT_DIALOG (inputd)->close_button,
GTK_CAN_DEFAULT);
gtk_signal_connect (GTK_OBJECT (GTK_INPUT_DIALOG (inputd)->save_button),
"clicked",
GTK_SIGNAL_FUNC (devices_write_rc),
NULL);
gtk_signal_connect (GTK_OBJECT (GTK_INPUT_DIALOG (inputd)->close_button),
"clicked",
GTK_SIGNAL_FUNC (devices_close_callback),
inputd);
gtk_box_pack_end (GTK_BOX (GTK_DIALOG (inputd)->action_area), hbbox,
FALSE, FALSE, 0);
gtk_widget_grab_default (GTK_INPUT_DIALOG (inputd)->close_button);
gtk_widget_show(hbbox);
gtk_signal_connect (GTK_OBJECT (inputd), "destroy",
GTK_SIGNAL_FUNC (gtk_widget_destroyed),
&inputd);
gtk_signal_connect (GTK_OBJECT (GTK_INPUT_DIALOG (inputd)->save_button),
"clicked",
GTK_SIGNAL_FUNC (devices_write_rc),
NULL);
gtk_signal_connect (GTK_OBJECT (GTK_INPUT_DIALOG (inputd)->close_button),
"clicked",
GTK_SIGNAL_FUNC (devices_close_callback),
inputd);
gtk_signal_connect (GTK_OBJECT (inputd), "enable_device",
GTK_SIGNAL_FUNC (input_dialog_able_callback),
NULL);
gtk_signal_connect (GTK_OBJECT (inputd), "disable_device",
GTK_SIGNAL_FUNC (input_dialog_able_callback),
NULL);
gtk_signal_connect (GTK_OBJECT (inputd), "destroy",
GTK_SIGNAL_FUNC (gtk_widget_destroyed),
&inputd);
/* Connect the "F1" help key */
gimp_help_connect_help_accel (inputd,
gimp_standard_help_func,
"dialogs/input_devices.html");
gtk_signal_connect (GTK_OBJECT (inputd), "enable_device",
GTK_SIGNAL_FUNC (input_dialog_able_callback),
NULL);
gtk_signal_connect (GTK_OBJECT (inputd), "disable_device",
GTK_SIGNAL_FUNC (input_dialog_able_callback),
NULL);
gtk_widget_show (inputd);
}
else
{
if (!GTK_WIDGET_MAPPED (inputd))
gtk_widget_show (inputd);
else
gdk_window_raise (inputd->window);
}
/* Connect the "F1" help key */
gimp_help_connect_help_accel (inputd,
gimp_standard_help_func,
"dialogs/input_devices.html");
return inputd;
}
static void
@ -747,14 +740,7 @@ device_status_create (void)
gint i;
if (deviceD)
{
if (! GTK_WIDGET_MAPPED (deviceD->shell))
gtk_widget_show (deviceD->shell);
else
gdk_window_raise (deviceD->shell->window);
return deviceD->shell;
}
return deviceD->shell;
deviceD = g_new (DeviceInfoDialog, 1);
@ -955,8 +941,6 @@ device_status_create (void)
GTK_SIGNAL_FUNC (device_status_destroy_callback),
NULL);
gtk_widget_show (deviceD->shell);
return deviceD->shell;
}

View File

@ -20,6 +20,7 @@
#include <gtk/gtk.h>
#include "libgimpcolor/gimpcolor.h"
#include "libgimpwidgets/gimpwidgets.h"
#include "apptypes.h"
@ -36,7 +37,10 @@
#include "widgets/gimpdockbook.h"
#include "widgets/gimppreview.h"
#include "about-dialog.h"
#include "brush-select.h"
#include "color-area.h"
#include "colormap-dialog.h"
#include "devices.h"
#include "dialogs-constructors.h"
#include "docindex.h"
@ -45,38 +49,49 @@
#include "gradient-editor.h"
#include "gradient-select.h"
#include "lc_dialog.h"
#include "palette-editor.h"
#include "pattern-select.h"
#include "preferences-dialog.h"
#include "tips-dialog.h"
#include "toolbox.h"
#include "context_manager.h"
#include "gdisplay.h"
#include "gimpcontainer.h"
#include "gimpcontext.h"
#include "gimpdatafactory.h"
#include "gimpimage.h"
#include "gimprc.h"
#include "module_db.h"
#include "undo_history.h"
#ifdef DISPLAY_FILTERS
#include "gdisplay_color_ui.h"
#endif /* DISPLAY_FILTERS */
#include "libgimp/gimpintl.h"
static GtkWidget * dialogs_brush_tab_func (GimpDockable *dockable,
GimpDockbook *dockbook,
gint size);
static GtkWidget * dialogs_pattern_tab_func (GimpDockable *dockable,
GimpDockbook *dockbook,
gint size);
static GtkWidget * dialogs_gradient_tab_func (GimpDockable *dockable,
GimpDockbook *dockbook,
gint size);
static GtkWidget * dialogs_palette_tab_func (GimpDockable *dockable,
GimpDockbook *dockbook,
gint size);
static void dialogs_indexed_palette_selected (GimpColormapDialog *dialog,
GimpContext *context);
static GtkWidget * dialogs_dockable_new (GtkWidget *widget,
const gchar *name,
const gchar *short_name,
GimpDockableGetTabFunc get_tab_func);
static GtkWidget * dialogs_brush_tab_func (GimpDockable *dockable,
GimpDockbook *dockbook,
gint size);
static GtkWidget * dialogs_pattern_tab_func (GimpDockable *dockable,
GimpDockbook *dockbook,
gint size);
static GtkWidget * dialogs_gradient_tab_func (GimpDockable *dockable,
GimpDockbook *dockbook,
gint size);
static GtkWidget * dialogs_palette_tab_func (GimpDockable *dockable,
GimpDockbook *dockbook,
gint size);
static GtkWidget * dialogs_dockable_new (GtkWidget *widget,
const gchar *name,
const gchar *short_name,
GimpDockableGetTabFunc get_tab_func);
/* public functions */
@ -145,6 +160,89 @@ dialogs_document_index_get (GimpDialogFactory *factory)
return document_index_create ();
}
GtkWidget *
dialogs_preferences_get (GimpDialogFactory *factory)
{
return preferences_dialog_create ();
}
GtkWidget *
dialogs_input_devices_get (GimpDialogFactory *factory)
{
return input_dialog_create ();
}
GtkWidget *
dialogs_module_browser_get (GimpDialogFactory *factory)
{
return module_db_browser_new ();
}
GtkWidget *
dialogs_indexed_palette_get (GimpDialogFactory *factory)
{
GimpColormapDialog *cmap_dlg;
cmap_dlg = gimp_colormap_dialog_create (image_context);
gtk_signal_connect (GTK_OBJECT (cmap_dlg), "selected",
GTK_SIGNAL_FUNC (dialogs_indexed_palette_selected),
factory->context);
return GTK_WIDGET (cmap_dlg);
}
GtkWidget *
dialogs_undo_history_get (GimpDialogFactory *factory)
{
GDisplay *gdisp;
GimpImage *gimage;
gdisp = gimp_context_get_display (factory->context);
if (! gdisp)
return NULL;
gimage = gdisp->gimage;
if (! gimage->undo_history)
gimage->undo_history = undo_history_new (gimage);
return gimage->undo_history;
}
GtkWidget *
dialogs_display_filters_get (GimpDialogFactory *factory)
{
#ifdef DISPLAY_FILTERS
GDisplay *gdisp;
gdisp = gimp_context_get_display (factory->context);
if (! gdisp)
gdisp = color_area_gdisp;
if (! gdisp->cd_ui)
gdisplay_color_ui_new (gdisp);
return gdisp->cd_ui;
#else
return NULL;
#endif /* DISPLAY_FILTERS */
}
GtkWidget *
dialogs_tips_get (GimpDialogFactory *factory)
{
return tips_dialog_create ();
}
GtkWidget *
dialogs_about_get (GimpDialogFactory *factory)
{
return about_dialog_create ();
}
GtkWidget *
dialogs_image_list_view_new (GimpDialogFactory *factory)
@ -348,6 +446,29 @@ dialogs_tool_grid_view_new (GimpDialogFactory *factory)
/* private functions */
static void
dialogs_indexed_palette_selected (GimpColormapDialog *dialog,
GimpContext *context)
{
GimpImage *gimage;
GimpRGB color;
gint index;
gimage = gimp_colormap_dialog_image (dialog);
index = gimp_colormap_dialog_col_index (dialog);
gimp_rgba_set_uchar (&color,
gimage->cmap[index * 3],
gimage->cmap[index * 3 + 1],
gimage->cmap[index * 3 + 2],
255);
if (active_color == FOREGROUND)
gimp_context_set_foreground (context, &color);
else if (active_color == BACKGROUND)
gimp_context_set_background (context, &color);
}
static GtkWidget *
dialogs_brush_tab_func (GimpDockable *dockable,
GimpDockbook *dockbook,

View File

@ -30,6 +30,14 @@ GtkWidget * dialogs_gradient_select_get (GimpDialogFactory *factory);
GtkWidget * dialogs_palette_get (GimpDialogFactory *factory);
GtkWidget * dialogs_error_console_get (GimpDialogFactory *factory);
GtkWidget * dialogs_document_index_get (GimpDialogFactory *factory);
GtkWidget * dialogs_preferences_get (GimpDialogFactory *factory);
GtkWidget * dialogs_input_devices_get (GimpDialogFactory *factory);
GtkWidget * dialogs_module_browser_get (GimpDialogFactory *factory);
GtkWidget * dialogs_indexed_palette_get (GimpDialogFactory *factory);
GtkWidget * dialogs_undo_history_get (GimpDialogFactory *factory);
GtkWidget * dialogs_display_filters_get (GimpDialogFactory *factory);
GtkWidget * dialogs_tips_get (GimpDialogFactory *factory);
GtkWidget * dialogs_about_get (GimpDialogFactory *factory);
GtkWidget * dialogs_image_list_view_new (GimpDialogFactory *factory);
GtkWidget * dialogs_brush_list_view_new (GimpDialogFactory *factory);

View File

@ -31,39 +31,36 @@
#include "gimpcontext.h"
typedef struct _DialogEntry DialogEntry;
struct _DialogEntry
{
const gchar *identifier;
GimpDialogNewFunc new_func;
gboolean singleton;
gboolean session_managed;
};
GimpDialogFactory *global_dialog_factory = NULL;
GimpDialogFactory *global_dock_factory = NULL;
GimpDialogFactory *global_image_dock_factory = NULL;
static const DialogEntry toplevel_entries[] =
static const GimpDialogFactoryEntry toplevel_entries[] =
{
{ "gimp:toolbox", dialogs_toolbox_get, TRUE, TRUE },
{ "gimp:lc-dialog", dialogs_lc_get, TRUE, TRUE },
{ "gimp:tool-options-dialog", dialogs_tool_options_get, TRUE, TRUE },
{ "gimp:device-status-dialog", dialogs_device_status_get, TRUE, TRUE },
{ "gimp:brush-select-dialog", dialogs_brush_select_get, TRUE, TRUE },
{ "gimp:pattern-select-dialog", dialogs_pattern_select_get, TRUE, TRUE },
{ "gimp:gradient-select-dialog", dialogs_gradient_select_get, TRUE, TRUE },
{ "gimp:palette-dialog", dialogs_palette_get, TRUE, TRUE },
{ "gimp:error-console-dialog", dialogs_error_console_get, TRUE, TRUE },
{ "gimp:document-index-dialog", dialogs_document_index_get, TRUE, TRUE }
{ "gimp:toolbox", dialogs_toolbox_get, TRUE, TRUE },
{ "gimp:lc-dialog", dialogs_lc_get, TRUE, TRUE },
{ "gimp:tool-options-dialog", dialogs_tool_options_get, TRUE, TRUE },
{ "gimp:device-status-dialog", dialogs_device_status_get, TRUE, TRUE },
{ "gimp:brush-select-dialog", dialogs_brush_select_get, TRUE, TRUE },
{ "gimp:pattern-select-dialog", dialogs_pattern_select_get, TRUE, TRUE },
{ "gimp:gradient-select-dialog", dialogs_gradient_select_get, TRUE, TRUE },
{ "gimp:palette-dialog", dialogs_palette_get, TRUE, TRUE },
{ "gimp:error-console-dialog", dialogs_error_console_get, TRUE, TRUE },
{ "gimp:document-index-dialog", dialogs_document_index_get, TRUE, TRUE },
{ "gimp:preferences-dialog", dialogs_preferences_get, TRUE, FALSE },
{ "gimp:input-devices-dialog", dialogs_input_devices_get, TRUE, FALSE },
{ "gimp:module-browser-dialog", dialogs_module_browser_get, TRUE, FALSE },
{ "gimp:indexed-palette-dialog", dialogs_indexed_palette_get, TRUE, FALSE },
{ "gimp:undo-history-dialog", dialogs_undo_history_get, FALSE, FALSE },
{ "gimp:display-filters-dialog", dialogs_display_filters_get, FALSE, FALSE },
{ "gimp:tips-dialog", dialogs_tips_get, TRUE, FALSE },
{ "gimp:about-dialog", dialogs_about_get, TRUE, FALSE }
};
static const gint n_toplevel_entries = (sizeof (toplevel_entries) /
sizeof (toplevel_entries[0]));
static const DialogEntry dock_entries[] =
static const GimpDialogFactoryEntry dock_entries[] =
{
{ "gimp:image-list", dialogs_image_list_view_new, FALSE, FALSE },
{ "gimp:brush-list", dialogs_brush_list_view_new, FALSE, FALSE },
@ -82,7 +79,7 @@ static const gint n_dock_entries = (sizeof (dock_entries) /
sizeof (dock_entries[0]));
/*
static const DialogEntry image_dock_entries[] =
static const GimpDialogFactoryEntry image_dock_entries[] =
{
};
static const gint n_image_dock_entries = (sizeof (image_dock_entries) /

View File

@ -75,13 +75,6 @@ gradient_dialog_create (void)
{
gradient_select_dialog = gradient_select_new (NULL, NULL);
}
else
{
if (!GTK_WIDGET_VISIBLE (gradient_select_dialog->shell))
gtk_widget_show (gradient_select_dialog->shell);
else
gdk_window_raise (gradient_select_dialog->shell->window);
}
return gradient_select_dialog->shell;
}

View File

@ -33,22 +33,16 @@
#include "tools/gimptoolinfo.h"
#include "tools/tool_manager.h"
#include "about-dialog.h"
#include "color-area.h"
#include "colormap-dialog.h"
#include "errorconsole.h"
#include "info-dialog.h"
#include "info-window.h"
#include "layer-select.h"
#include "preferences-dialog.h"
#include "tips-dialog.h"
#include "app_procs.h"
#include "commands.h"
#include "context_manager.h"
#include "convert.h"
#include "desaturate.h"
#include "devices.h"
#include "channel_ops.h"
#include "equalize.h"
#include "file-open.h"
@ -70,18 +64,11 @@
#include "invert.h"
#include "lc_dialog.h"
#include "layers_dialogP.h"
#include "module_db.h"
#include "plug_in.h"
#include "resize.h"
#include "scale.h"
#include "selection.h"
#include "toolbox.h"
#include "undo.h"
#include "undo_history.h"
#ifdef DISPLAY_FILTERS
#include "gdisplay_color_ui.h"
#endif /* DISPLAY_FILTERS */
#include "libgimp/gimpintl.h"
@ -1095,13 +1082,6 @@ layers_resize_to_image_cmd_callback (GtkWidget *widget,
/***** Tools *****/
void
tools_toolbox_raise_cmd_callback (GtkWidget *widget,
gpointer client_data)
{
toolbox_raise ();
}
void
tools_default_colors_cmd_callback (GtkWidget *widget,
gpointer client_data)
@ -1192,118 +1172,6 @@ filters_repeat_cmd_callback (GtkWidget *widget,
plug_in_repeat (callback_action);
}
/***** Dialogs ******/
void
dialogs_preferences_cmd_callback (GtkWidget *widget,
gpointer client_data)
{
preferences_dialog_create ();
}
static void
dialogs_indexed_palette_select_callback (GimpColormapDialog *dialog,
gpointer data)
{
GimpImage *image;
GimpRGB color;
gint index;
image = gimp_colormap_dialog_image (dialog);
index = gimp_colormap_dialog_col_index (dialog);
gimp_rgba_set_uchar (&color,
image->cmap[index * 3],
image->cmap[index * 3 + 1],
image->cmap[index * 3 + 2],
255);
if (active_color == FOREGROUND)
gimp_context_set_foreground (gimp_context_get_user (), &color);
else if (active_color == BACKGROUND)
gimp_context_set_background (gimp_context_get_user (), &color);
}
void
dialogs_indexed_palette_cmd_callback (GtkWidget *widget,
gpointer client_data)
{
static GimpColormapDialog *cmap_dlg;
if (!cmap_dlg)
{
cmap_dlg = gimp_colormap_dialog_create (image_context);
gtk_signal_connect
(GTK_OBJECT (cmap_dlg), "selected",
GTK_SIGNAL_FUNC (dialogs_indexed_palette_select_callback),
NULL);
}
if (! GTK_WIDGET_VISIBLE (cmap_dlg))
gtk_widget_show (GTK_WIDGET (cmap_dlg));
else
gdk_window_raise (GTK_WIDGET (cmap_dlg)->window);
}
void
dialogs_input_devices_cmd_callback (GtkWidget *widget,
gpointer client_data)
{
input_dialog_create ();
}
#ifdef DISPLAY_FILTERS
void
dialogs_display_filters_cmd_callback (GtkWidget *widget,
gpointer client_data)
{
GDisplay *gdisp;
gdisp = gdisplay_active ();
if (!gdisp)
gdisp = color_area_gdisp;
if (!gdisp->cd_ui)
gdisplay_color_ui_new (gdisp);
if (!GTK_WIDGET_VISIBLE (gdisp->cd_ui))
gtk_widget_show (gdisp->cd_ui);
else
gdk_window_raise (gdisp->cd_ui->window);
}
#endif /* DISPLAY_FILTERS */
void
dialogs_undo_history_cmd_callback (GtkWidget *widget,
gpointer client_data)
{
GDisplay *gdisp;
GimpImage *gimage;
return_if_no_display (gdisp);
gimage = gdisp->gimage;
if (!gimage->undo_history)
gimage->undo_history = undo_history_new (gimage);
if (!GTK_WIDGET_VISIBLE (gimage->undo_history))
gtk_widget_show (gimage->undo_history);
else
gdk_window_raise (gimage->undo_history->window);
}
void
dialogs_module_browser_cmd_callback (GtkWidget *widget,
gpointer client_data)
{
GtkWidget *module_browser;
module_browser = module_db_browser_new ();
gtk_widget_show (module_browser);
}
/***** Help *****/
void
@ -1320,20 +1188,6 @@ help_context_help_cmd_callback (GtkWidget *widget,
gimp_context_help ();
}
void
help_tips_cmd_callback (GtkWidget *widget,
gpointer client_data)
{
tips_dialog_create ();
}
void
help_about_cmd_callback (GtkWidget *widget,
gpointer client_data)
{
about_dialog_create ();
}
/*****************************/
/***** Local functions *****/

View File

@ -104,7 +104,6 @@ void layers_add_alpha_channel_cmd_callback (GtkWidget *, gpointer);
void layers_alpha_select_cmd_callback (GtkWidget *, gpointer);
void layers_resize_to_image_cmd_callback (GtkWidget *, gpointer);
void tools_toolbox_raise_cmd_callback (GtkWidget *, gpointer);
void tools_default_colors_cmd_callback (GtkWidget *, gpointer);
void tools_swap_colors_cmd_callback (GtkWidget *, gpointer);
void tools_swap_contexts_cmd_callback (GtkWidget *, gpointer);
@ -116,20 +115,8 @@ void filters_repeat_cmd_callback (GtkWidget *widget,
gpointer callback_data,
guint callback_action);
void dialogs_preferences_cmd_callback (GtkWidget *, gpointer);
void dialogs_indexed_palette_cmd_callback (GtkWidget *, gpointer);
void dialogs_input_devices_cmd_callback (GtkWidget *, gpointer);
void dialogs_undo_history_cmd_callback (GtkWidget *, gpointer);
void dialogs_module_browser_cmd_callback (GtkWidget *, gpointer);
#ifdef DISPLAY_FILTERS
void dialogs_display_filters_cmd_callback (GtkWidget *, gpointer);
#endif /* DISPLAY_FILTERS */
void help_help_cmd_callback (GtkWidget *, gpointer);
void help_context_help_cmd_callback (GtkWidget *, gpointer);
void help_tips_cmd_callback (GtkWidget *, gpointer);
void help_about_cmd_callback (GtkWidget *, gpointer);
#endif /* __COMMANDS_H__ */

View File

@ -209,73 +209,66 @@ device_info_get_by_name (gchar *name)
/* the gtk input dialog */
void
GtkWidget *
input_dialog_create (void)
{
static GtkWidget *inputd = NULL;
GtkWidget *hbbox;
if (!inputd)
{
inputd = gtk_input_dialog_new ();
if (inputd)
return inputd;
/* register this one only */
dialog_register (inputd);
inputd = gtk_input_dialog_new ();
gtk_container_set_border_width
(GTK_CONTAINER (GTK_DIALOG (inputd)->action_area), 2);
gtk_box_set_homogeneous (GTK_BOX (GTK_DIALOG (inputd)->action_area),
FALSE);
/* register this one only */
dialog_register (inputd);
hbbox = gtk_hbutton_box_new ();
gtk_button_box_set_spacing (GTK_BUTTON_BOX (hbbox), 4);
gtk_container_set_border_width
(GTK_CONTAINER (GTK_DIALOG (inputd)->action_area), 2);
gtk_box_set_homogeneous (GTK_BOX (GTK_DIALOG (inputd)->action_area),
FALSE);
gtk_widget_reparent (GTK_INPUT_DIALOG (inputd)->save_button, hbbox);
GTK_WIDGET_SET_FLAGS (GTK_INPUT_DIALOG (inputd)->save_button,
GTK_CAN_DEFAULT);
gtk_widget_reparent (GTK_INPUT_DIALOG (inputd)->close_button, hbbox);
GTK_WIDGET_SET_FLAGS (GTK_INPUT_DIALOG (inputd)->close_button,
GTK_CAN_DEFAULT);
hbbox = gtk_hbutton_box_new ();
gtk_button_box_set_spacing (GTK_BUTTON_BOX (hbbox), 4);
gtk_box_pack_end (GTK_BOX (GTK_DIALOG (inputd)->action_area), hbbox,
FALSE, FALSE, 0);
gtk_widget_grab_default (GTK_INPUT_DIALOG (inputd)->close_button);
gtk_widget_show(hbbox);
gtk_widget_reparent (GTK_INPUT_DIALOG (inputd)->save_button, hbbox);
GTK_WIDGET_SET_FLAGS (GTK_INPUT_DIALOG (inputd)->save_button,
GTK_CAN_DEFAULT);
gtk_widget_reparent (GTK_INPUT_DIALOG (inputd)->close_button, hbbox);
GTK_WIDGET_SET_FLAGS (GTK_INPUT_DIALOG (inputd)->close_button,
GTK_CAN_DEFAULT);
gtk_signal_connect (GTK_OBJECT (GTK_INPUT_DIALOG (inputd)->save_button),
"clicked",
GTK_SIGNAL_FUNC (devices_write_rc),
NULL);
gtk_signal_connect (GTK_OBJECT (GTK_INPUT_DIALOG (inputd)->close_button),
"clicked",
GTK_SIGNAL_FUNC (devices_close_callback),
inputd);
gtk_box_pack_end (GTK_BOX (GTK_DIALOG (inputd)->action_area), hbbox,
FALSE, FALSE, 0);
gtk_widget_grab_default (GTK_INPUT_DIALOG (inputd)->close_button);
gtk_widget_show(hbbox);
gtk_signal_connect (GTK_OBJECT (inputd), "destroy",
GTK_SIGNAL_FUNC (gtk_widget_destroyed),
&inputd);
gtk_signal_connect (GTK_OBJECT (GTK_INPUT_DIALOG (inputd)->save_button),
"clicked",
GTK_SIGNAL_FUNC (devices_write_rc),
NULL);
gtk_signal_connect (GTK_OBJECT (GTK_INPUT_DIALOG (inputd)->close_button),
"clicked",
GTK_SIGNAL_FUNC (devices_close_callback),
inputd);
gtk_signal_connect (GTK_OBJECT (inputd), "enable_device",
GTK_SIGNAL_FUNC (input_dialog_able_callback),
NULL);
gtk_signal_connect (GTK_OBJECT (inputd), "disable_device",
GTK_SIGNAL_FUNC (input_dialog_able_callback),
NULL);
gtk_signal_connect (GTK_OBJECT (inputd), "destroy",
GTK_SIGNAL_FUNC (gtk_widget_destroyed),
&inputd);
/* Connect the "F1" help key */
gimp_help_connect_help_accel (inputd,
gimp_standard_help_func,
"dialogs/input_devices.html");
gtk_signal_connect (GTK_OBJECT (inputd), "enable_device",
GTK_SIGNAL_FUNC (input_dialog_able_callback),
NULL);
gtk_signal_connect (GTK_OBJECT (inputd), "disable_device",
GTK_SIGNAL_FUNC (input_dialog_able_callback),
NULL);
gtk_widget_show (inputd);
}
else
{
if (!GTK_WIDGET_MAPPED (inputd))
gtk_widget_show (inputd);
else
gdk_window_raise (inputd->window);
}
/* Connect the "F1" help key */
gimp_help_connect_help_accel (inputd,
gimp_standard_help_func,
"dialogs/input_devices.html");
return inputd;
}
static void
@ -747,14 +740,7 @@ device_status_create (void)
gint i;
if (deviceD)
{
if (! GTK_WIDGET_MAPPED (deviceD->shell))
gtk_widget_show (deviceD->shell);
else
gdk_window_raise (deviceD->shell->window);
return deviceD->shell;
}
return deviceD->shell;
deviceD = g_new (DeviceInfoDialog, 1);
@ -955,8 +941,6 @@ device_status_create (void)
GTK_SIGNAL_FUNC (device_status_destroy_callback),
NULL);
gtk_widget_show (deviceD->shell);
return deviceD->shell;
}

View File

@ -102,7 +102,6 @@ static GimpItemFactoryEntry toolbox_entries[] =
{
/* <Toolbox>/File */
/* the underscore installs an accelerator using the character that follows */
{ { N_("/_File"), NULL, NULL, 0, "<Branch>" },
NULL, NULL },
{ { N_("/File/New..."), "<control>N", file_new_cmd_callback, 0 },
@ -119,7 +118,7 @@ static GimpItemFactoryEntry toolbox_entries[] =
{ { "/File/---", NULL, NULL, 0, "<Separator>" },
NULL, NULL },
{ { N_("/File/Preferences..."), NULL, dialogs_preferences_cmd_callback, 0 },
{ { N_("/File/Preferences..."), NULL, dialogs_create_toplevel_cmd_callback, GPOINTER_TO_UINT ("gimp:preferences-dialog") },
"file/dialogs/preferences/preferences.html", NULL },
/* <Toolbox>/File/Dialogs */
@ -141,12 +140,12 @@ static GimpItemFactoryEntry toolbox_entries[] =
"file/dialogs/gradient_selection.html", NULL },
{ { N_("/File/Dialogs/Palette..."), "<control>P", dialogs_create_toplevel_cmd_callback, GPOINTER_TO_UINT ("gimp:palette-dialog") },
"file/dialogs/palette_selection.html", NULL },
{ { N_("/File/Dialogs/Indexed Palette..."), NULL, dialogs_indexed_palette_cmd_callback, 0 },
{ { N_("/File/Dialogs/Indexed Palette..."), NULL, dialogs_create_toplevel_cmd_callback, GPOINTER_TO_UINT ("gimp:indexed-palette-dialog") },
"file/dialogs/indexed_palette.html", NULL },
{ { "/File/Dialogs/---", NULL, NULL, 0, "<Separator>" },
NULL, NULL },
{ { N_("/File/Dialogs/Input Devices..."), NULL, dialogs_input_devices_cmd_callback, 0 },
{ { N_("/File/Dialogs/Input Devices..."), NULL, dialogs_create_toplevel_cmd_callback, GPOINTER_TO_UINT ("gimp:input-devices-dialog") },
"file/dialogs/input_devices.html", NULL },
{ { N_("/File/Dialogs/Device Status..."), NULL, dialogs_create_toplevel_cmd_callback, GPOINTER_TO_UINT ("gimp:device-status-dialog") },
"file/dialogs/device_status.html", NULL },
@ -158,7 +157,7 @@ static GimpItemFactoryEntry toolbox_entries[] =
{ { N_("/File/Dialogs/Error Console..."), NULL, dialogs_create_toplevel_cmd_callback, GPOINTER_TO_UINT ("gimp:error-console-dialog") },
"file/dialogs/error_console.html", NULL },
#ifdef DISPLAY_FILTERS
{ { N_("/File/Dialogs/Display Filters..."), NULL, dialogs_display_filters_cmd_callback, 0 },
{ { N_("/File/Dialogs/Display Filters..."), NULL, dialogs_create_toplevel_cmd_callback, GPOINTER_TO_UINT ("gimp:display-filters-dialog") },
"file/dialogs/display_filters/display_filters.html", NULL },
#endif /* DISPLAY_FILTERS */
@ -227,10 +226,9 @@ static GimpItemFactoryEntry toolbox_entries[] =
/* <Toolbox>/Xtns */
/* the underscore installs an accelerator using the character that follows */
{ { N_("/_Xtns"), NULL, NULL, 0, "<Branch>" },
NULL, NULL },
{ { N_("/Xtns/Module Browser..."), NULL, dialogs_module_browser_cmd_callback, 0 },
{ { N_("/Xtns/Module Browser..."), NULL, dialogs_create_toplevel_cmd_callback, GPOINTER_TO_UINT ("gimp:module-browser-dialog") },
"dialogs/module_browser.html", NULL },
{ { "/Xtns/---", NULL, NULL, 0, "<Separator>" },
@ -238,16 +236,15 @@ static GimpItemFactoryEntry toolbox_entries[] =
/* <Toolbox>/Help */
/* the underscore installs an accelerator using the character that follows */
{ { N_("/_Help"), NULL, NULL, 0, "<Branch>" },
NULL, NULL },
{ { N_("/Help/Help..."), "F1", help_help_cmd_callback, 0 },
"help/dialogs/help.html", NULL },
{ { N_("/Help/Context Help..."), "<shift>F1", help_context_help_cmd_callback, 0 },
"help/context_help.html", NULL },
{ { N_("/Help/Tip of the Day..."), NULL, help_tips_cmd_callback, 0 },
{ { N_("/Help/Tip of the Day..."), NULL, dialogs_create_toplevel_cmd_callback, GPOINTER_TO_UINT ("gimp:tips-dialog") },
"help/dialogs/tip_of_the_day.html", NULL },
{ { N_("/Help/About..."), NULL, help_about_cmd_callback, 0 },
{ { N_("/Help/About..."), NULL, dialogs_create_toplevel_cmd_callback, GPOINTER_TO_UINT ("gimp:about-dialog") },
"help/dialogs/about.html", NULL },
#ifdef ENABLE_DEBUG_ENTRY
{ { N_("/Help/Dump Items (Debug)"), NULL, menus_debug_cmd_callback, 0 },
@ -534,7 +531,7 @@ static GimpItemFactoryEntry image_entries[] =
/* <Image>/Tools */
{ { N_("/Tools/Toolbox"), NULL, tools_toolbox_raise_cmd_callback, 0 },
{ { N_("/Tools/Toolbox"), NULL, dialogs_create_toplevel_cmd_callback, GPOINTER_TO_UINT ("gimp:toolbox") },
"toolbox/toolbox.html", NULL },
{ { N_("/Tools/Default Colors"), "D", tools_default_colors_cmd_callback, 0 },
"toolbox/toolbox.html#default_colors", NULL },
@ -563,12 +560,12 @@ static GimpItemFactoryEntry image_entries[] =
"dialogs/gradient_selection.html", NULL },
{ { N_("/Dialogs/Palette..."), "<control>P", dialogs_create_toplevel_cmd_callback, GPOINTER_TO_UINT ("gimp:palette-dialog") },
"dialogs/palette_selection.html", NULL },
{ { N_("/Dialogs/Indexed Palette..."), NULL, dialogs_indexed_palette_cmd_callback, 0 },
{ { N_("/Dialogs/Indexed Palette..."), NULL, dialogs_create_toplevel_cmd_callback, GPOINTER_TO_UINT ("gimp:indexed-palette-dialog") },
"dialogs/indexed_palette.html", NULL },
{ { "/Dialogs/---", NULL, NULL, 0, "<Separator>" },
NULL, NULL },
{ { N_("/Dialogs/Input Devices..."), NULL, dialogs_input_devices_cmd_callback, 0 },
{ { N_("/Dialogs/Input Devices..."), NULL, dialogs_create_toplevel_cmd_callback, GPOINTER_TO_UINT ("gimp:input-devices-dialog") },
"dialogs/input_devices.html", NULL },
{ { N_("/Dialogs/Device Status..."), NULL, dialogs_create_toplevel_cmd_callback, GPOINTER_TO_UINT ("gimp:device-status-dialog") },
"dialogs/device_status.html", NULL },
@ -580,10 +577,10 @@ static GimpItemFactoryEntry image_entries[] =
{ { N_("/Dialogs/Error Console..."), NULL, dialogs_create_toplevel_cmd_callback, GPOINTER_TO_UINT ("gimp:error-console-dialog") },
"dialogs/error_console.html", NULL },
#ifdef DISPLAY_FILTERS
{ { N_("/Dialogs/Display Filters..."), NULL, dialogs_display_filters_cmd_callback, 0 },
{ { N_("/Dialogs/Display Filters..."), NULL, dialogs_create_toplevel_cmd_callback, GPOINTER_TO_UINT ("gimp:display-filters-dialogs") },
"dialogs/display_filters/display_filters.html", NULL },
#endif /* DISPLAY_FILTERS */
{ { N_("/Dialogs/Undo History..."), NULL, dialogs_undo_history_cmd_callback, 0},
{ { N_("/Dialogs/Undo History..."), NULL, dialogs_create_toplevel_cmd_callback, GPOINTER_TO_UINT ("gimp:undo-history-dialog") },
"dialogs/undo_history.html", NULL },
{ { "/---", NULL, NULL, 0, "<Separator>" },

View File

@ -181,15 +181,6 @@ palette_dialog_create (void)
top_level_palette = palette_dialog_new (FALSE);
dialog_register (top_level_palette->shell);
gtk_widget_show (top_level_palette->shell);
}
else
{
if (! GTK_WIDGET_VISIBLE (top_level_palette->shell))
gtk_widget_show (top_level_palette->shell);
else
gdk_window_raise (top_level_palette->shell->window);
}
return top_level_palette->shell;

View File

@ -82,13 +82,6 @@ pattern_dialog_create (void)
{
pattern_select_dialog = pattern_select_new (NULL, NULL);
}
else
{
if (!GTK_WIDGET_VISIBLE (pattern_select_dialog->shell))
gtk_widget_show (pattern_select_dialog->shell);
else
gdk_window_raise (pattern_select_dialog->shell->window);
}
return pattern_select_dialog->shell;
}

View File

@ -1345,7 +1345,7 @@ prefs_help_func (const gchar *help_data)
/************************************************************************
* create the preferences dialog
*/
void
GtkWidget *
preferences_dialog_create (void)
{
GtkWidget *ctree;
@ -1381,10 +1381,7 @@ preferences_dialog_create (void)
gchar *pixels_per_unit;
if (prefs_dlg)
{
gdk_window_raise (GTK_WIDGET (prefs_dlg)->window);
return;
}
return prefs_dlg;
if (edit_temp_path == NULL)
{
@ -2612,5 +2609,5 @@ preferences_dialog_create (void)
gtk_widget_show (ctree);
gtk_widget_show (notebook);
gtk_widget_show (prefs_dlg);
return prefs_dlg;
}

View File

@ -20,7 +20,7 @@
#define __PREFERENCES_DIALOG_H__
void preferences_dialog_create (void);
GtkWidget * preferences_dialog_create (void);
#endif /* __PREFERENCES_DIALOG_H__ */

View File

@ -60,7 +60,7 @@ static gint tips_count = 0;
static gint old_show_tips = 0;
void
GtkWidget *
tips_dialog_create (void)
{
GtkWidget *vbox;
@ -86,118 +86,109 @@ tips_dialog_create (void)
if (last_tip >= tips_count || last_tip < 0)
last_tip = 0;
if (!tips_dialog)
{
tips_dialog = gtk_window_new (GTK_WINDOW_DIALOG);
gtk_window_set_wmclass (GTK_WINDOW (tips_dialog), "tip_of_the_day", "Gimp");
gtk_window_set_title (GTK_WINDOW (tips_dialog), _("GIMP Tip of the Day"));
gtk_window_set_position (GTK_WINDOW (tips_dialog), GTK_WIN_POS_CENTER);
gtk_window_set_policy (GTK_WINDOW (tips_dialog), FALSE, TRUE, FALSE);
if (tips_dialog)
return tips_dialog;
gtk_signal_connect (GTK_OBJECT (tips_dialog), "delete_event",
GTK_SIGNAL_FUNC (tips_dialog_destroy),
NULL);
gtk_signal_connect (GTK_OBJECT (tips_dialog), "destroy",
GTK_SIGNAL_FUNC (gtk_widget_destroyed),
&tips_dialog);
tips_dialog = gtk_window_new (GTK_WINDOW_DIALOG);
gtk_window_set_wmclass (GTK_WINDOW (tips_dialog), "tip_of_the_day", "Gimp");
gtk_window_set_title (GTK_WINDOW (tips_dialog), _("GIMP Tip of the Day"));
gtk_window_set_position (GTK_WINDOW (tips_dialog), GTK_WIN_POS_CENTER);
gtk_window_set_policy (GTK_WINDOW (tips_dialog), FALSE, TRUE, FALSE);
/* destroy the tips window if the mainlevel gtk_main() function is left */
gtk_quit_add_destroy (1, GTK_OBJECT (tips_dialog));
gtk_signal_connect (GTK_OBJECT (tips_dialog), "delete_event",
GTK_SIGNAL_FUNC (tips_dialog_destroy),
NULL);
gtk_signal_connect (GTK_OBJECT (tips_dialog), "destroy",
GTK_SIGNAL_FUNC (gtk_widget_destroyed),
&tips_dialog);
vbox = gtk_vbox_new (FALSE, 0);
gtk_container_add (GTK_CONTAINER (tips_dialog), vbox);
gtk_widget_show (vbox);
/* destroy the tips window if the mainlevel gtk_main() function is left */
gtk_quit_add_destroy (1, GTK_OBJECT (tips_dialog));
hbox = gtk_hbox_new (FALSE, 5);
gtk_container_set_border_width (GTK_CONTAINER (hbox), 10);
gtk_box_pack_start (GTK_BOX (vbox), hbox, TRUE, TRUE, 0);
gtk_widget_show (hbox);
vbox = gtk_vbox_new (FALSE, 0);
gtk_container_add (GTK_CONTAINER (tips_dialog), vbox);
gtk_widget_show (vbox);
tips_label = gtk_label_new (tips_text[last_tip]);
gtk_label_set_justify (GTK_LABEL (tips_label), GTK_JUSTIFY_LEFT);
gtk_misc_set_alignment (GTK_MISC (tips_label), 0.5, 0.5);
gtk_box_pack_start (GTK_BOX (hbox), tips_label, TRUE, TRUE, 3);
gtk_widget_show (tips_label);
vbox2 = gtk_vbox_new (FALSE, 0);
gtk_box_pack_end (GTK_BOX (hbox), vbox2, FALSE, FALSE, 0);
gtk_widget_show (vbox2);
hbox = gtk_hbox_new (FALSE, 5);
gtk_container_set_border_width (GTK_CONTAINER (hbox), 10);
gtk_box_pack_start (GTK_BOX (vbox), hbox, TRUE, TRUE, 0);
gtk_widget_show (hbox);
frame = gtk_frame_new (NULL);
gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN);
gtk_box_pack_start (GTK_BOX (vbox2), frame, TRUE, FALSE, 0);
gtk_widget_show (frame);
tips_label = gtk_label_new (tips_text[last_tip]);
gtk_label_set_justify (GTK_LABEL (tips_label), GTK_JUSTIFY_LEFT);
gtk_misc_set_alignment (GTK_MISC (tips_label), 0.5, 0.5);
gtk_box_pack_start (GTK_BOX (hbox), tips_label, TRUE, TRUE, 3);
gtk_widget_show (tips_label);
pixmap = gimp_pixmap_new (wilber3_xpm);
gtk_container_add (GTK_CONTAINER (frame), pixmap);
gtk_widget_show (pixmap);
hbox = gtk_hbox_new (FALSE, 15);
gtk_container_set_border_width (GTK_CONTAINER (hbox), 10);
gtk_box_pack_end (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
gtk_widget_show (hbox);
button =
gtk_check_button_new_with_label (_("Show tip next time GIMP starts"));
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button),
show_tips);
gtk_signal_connect (GTK_OBJECT (button), "toggled",
GTK_SIGNAL_FUNC (tips_toggle_update),
(gpointer) &show_tips);
gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0);
gtk_widget_show (button);
vbox2 = gtk_vbox_new (FALSE, 0);
gtk_box_pack_end (GTK_BOX (hbox), vbox2, FALSE, FALSE, 0);
gtk_widget_show (vbox2);
old_show_tips = show_tips;
frame = gtk_frame_new (NULL);
gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN);
gtk_box_pack_start (GTK_BOX (vbox2), frame, TRUE, FALSE, 0);
gtk_widget_show (frame);
bbox = gtk_hbutton_box_new ();
gtk_box_pack_end (GTK_BOX (hbox), bbox, FALSE, FALSE, 0);
gtk_widget_show (bbox);
pixmap = gimp_pixmap_new (wilber3_xpm);
gtk_container_add (GTK_CONTAINER (frame), pixmap);
gtk_widget_show (pixmap);
button = gtk_button_new_with_label (_("Close"));
GTK_WIDGET_SET_FLAGS (button, GTK_CAN_DEFAULT);
gtk_window_set_default (GTK_WINDOW (tips_dialog), button);
gtk_signal_connect (GTK_OBJECT (button), "clicked",
GTK_SIGNAL_FUNC (tips_dialog_destroy),
NULL);
gtk_container_add (GTK_CONTAINER (bbox), button);
gtk_widget_show (button);
hbox = gtk_hbox_new (FALSE, 15);
gtk_container_set_border_width (GTK_CONTAINER (hbox), 10);
gtk_box_pack_end (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
gtk_widget_show (hbox);
bbox = gtk_hbutton_box_new ();
gtk_button_box_set_layout (GTK_BUTTON_BOX (bbox), GTK_BUTTONBOX_END);
gtk_button_box_set_spacing (GTK_BUTTON_BOX (bbox), 5);
gtk_box_pack_end (GTK_BOX (hbox), bbox, FALSE, FALSE, 0);
gtk_widget_show (bbox);
button = gtk_check_button_new_with_label (_("Show tip next time GIMP starts"));
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), show_tips);
gtk_signal_connect (GTK_OBJECT (button), "toggled",
GTK_SIGNAL_FUNC (tips_toggle_update),
&show_tips);
gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0);
gtk_widget_show (button);
button = gtk_button_new_with_label (_("Previous Tip"));
GTK_WIDGET_UNSET_FLAGS (button, GTK_RECEIVES_DEFAULT);
gtk_signal_connect (GTK_OBJECT (button), "clicked",
GTK_SIGNAL_FUNC (tips_show_previous),
NULL);
gtk_container_add (GTK_CONTAINER (bbox), button);
gtk_widget_show (button);
old_show_tips = show_tips;
button = gtk_button_new_with_label (_("Next Tip"));
GTK_WIDGET_UNSET_FLAGS (button, GTK_RECEIVES_DEFAULT);
gtk_signal_connect (GTK_OBJECT (button), "clicked",
GTK_SIGNAL_FUNC (tips_show_next),
NULL);
gtk_container_add (GTK_CONTAINER (bbox), button);
gtk_widget_show (button);
bbox = gtk_hbutton_box_new ();
gtk_box_pack_end (GTK_BOX (hbox), bbox, FALSE, FALSE, 0);
gtk_widget_show (bbox);
/* Connect the "F1" help key */
gimp_help_connect_help_accel (tips_dialog,
gimp_standard_help_func,
"dialogs/tip_of_the_day.html");
}
button = gtk_button_new_with_label (_("Close"));
GTK_WIDGET_SET_FLAGS (button, GTK_CAN_DEFAULT);
gtk_window_set_default (GTK_WINDOW (tips_dialog), button);
gtk_signal_connect (GTK_OBJECT (button), "clicked",
GTK_SIGNAL_FUNC (tips_dialog_destroy),
NULL);
gtk_container_add (GTK_CONTAINER (bbox), button);
gtk_widget_show (button);
if (!GTK_WIDGET_VISIBLE (tips_dialog))
{
gtk_widget_show (tips_dialog);
}
else
{
gdk_window_raise (tips_dialog->window);
}
bbox = gtk_hbutton_box_new ();
gtk_button_box_set_layout (GTK_BUTTON_BOX (bbox), GTK_BUTTONBOX_END);
gtk_button_box_set_spacing (GTK_BUTTON_BOX (bbox), 5);
gtk_box_pack_end (GTK_BOX (hbox), bbox, FALSE, FALSE, 0);
gtk_widget_show (bbox);
button = gtk_button_new_with_label (_("Previous Tip"));
GTK_WIDGET_UNSET_FLAGS (button, GTK_RECEIVES_DEFAULT);
gtk_signal_connect (GTK_OBJECT (button), "clicked",
GTK_SIGNAL_FUNC (tips_show_previous),
NULL);
gtk_container_add (GTK_CONTAINER (bbox), button);
gtk_widget_show (button);
button = gtk_button_new_with_label (_("Next Tip"));
GTK_WIDGET_UNSET_FLAGS (button, GTK_RECEIVES_DEFAULT);
gtk_signal_connect (GTK_OBJECT (button), "clicked",
GTK_SIGNAL_FUNC (tips_show_next),
NULL);
gtk_container_add (GTK_CONTAINER (bbox), button);
gtk_widget_show (button);
/* Connect the "F1" help key */
gimp_help_connect_help_accel (tips_dialog,
gimp_standard_help_func,
"dialogs/tip_of_the_day.html");
return tips_dialog;
}
static void

View File

@ -20,7 +20,7 @@
#define __TIPS_DIALOG_H__
void tips_dialog_create (void);
GtkWidget * tips_dialog_create (void);
#endif /* __TIPS_DIALOG_H__ */

View File

@ -102,7 +102,6 @@ static GimpItemFactoryEntry toolbox_entries[] =
{
/* <Toolbox>/File */
/* the underscore installs an accelerator using the character that follows */
{ { N_("/_File"), NULL, NULL, 0, "<Branch>" },
NULL, NULL },
{ { N_("/File/New..."), "<control>N", file_new_cmd_callback, 0 },
@ -119,7 +118,7 @@ static GimpItemFactoryEntry toolbox_entries[] =
{ { "/File/---", NULL, NULL, 0, "<Separator>" },
NULL, NULL },
{ { N_("/File/Preferences..."), NULL, dialogs_preferences_cmd_callback, 0 },
{ { N_("/File/Preferences..."), NULL, dialogs_create_toplevel_cmd_callback, GPOINTER_TO_UINT ("gimp:preferences-dialog") },
"file/dialogs/preferences/preferences.html", NULL },
/* <Toolbox>/File/Dialogs */
@ -141,12 +140,12 @@ static GimpItemFactoryEntry toolbox_entries[] =
"file/dialogs/gradient_selection.html", NULL },
{ { N_("/File/Dialogs/Palette..."), "<control>P", dialogs_create_toplevel_cmd_callback, GPOINTER_TO_UINT ("gimp:palette-dialog") },
"file/dialogs/palette_selection.html", NULL },
{ { N_("/File/Dialogs/Indexed Palette..."), NULL, dialogs_indexed_palette_cmd_callback, 0 },
{ { N_("/File/Dialogs/Indexed Palette..."), NULL, dialogs_create_toplevel_cmd_callback, GPOINTER_TO_UINT ("gimp:indexed-palette-dialog") },
"file/dialogs/indexed_palette.html", NULL },
{ { "/File/Dialogs/---", NULL, NULL, 0, "<Separator>" },
NULL, NULL },
{ { N_("/File/Dialogs/Input Devices..."), NULL, dialogs_input_devices_cmd_callback, 0 },
{ { N_("/File/Dialogs/Input Devices..."), NULL, dialogs_create_toplevel_cmd_callback, GPOINTER_TO_UINT ("gimp:input-devices-dialog") },
"file/dialogs/input_devices.html", NULL },
{ { N_("/File/Dialogs/Device Status..."), NULL, dialogs_create_toplevel_cmd_callback, GPOINTER_TO_UINT ("gimp:device-status-dialog") },
"file/dialogs/device_status.html", NULL },
@ -158,7 +157,7 @@ static GimpItemFactoryEntry toolbox_entries[] =
{ { N_("/File/Dialogs/Error Console..."), NULL, dialogs_create_toplevel_cmd_callback, GPOINTER_TO_UINT ("gimp:error-console-dialog") },
"file/dialogs/error_console.html", NULL },
#ifdef DISPLAY_FILTERS
{ { N_("/File/Dialogs/Display Filters..."), NULL, dialogs_display_filters_cmd_callback, 0 },
{ { N_("/File/Dialogs/Display Filters..."), NULL, dialogs_create_toplevel_cmd_callback, GPOINTER_TO_UINT ("gimp:display-filters-dialog") },
"file/dialogs/display_filters/display_filters.html", NULL },
#endif /* DISPLAY_FILTERS */
@ -227,10 +226,9 @@ static GimpItemFactoryEntry toolbox_entries[] =
/* <Toolbox>/Xtns */
/* the underscore installs an accelerator using the character that follows */
{ { N_("/_Xtns"), NULL, NULL, 0, "<Branch>" },
NULL, NULL },
{ { N_("/Xtns/Module Browser..."), NULL, dialogs_module_browser_cmd_callback, 0 },
{ { N_("/Xtns/Module Browser..."), NULL, dialogs_create_toplevel_cmd_callback, GPOINTER_TO_UINT ("gimp:module-browser-dialog") },
"dialogs/module_browser.html", NULL },
{ { "/Xtns/---", NULL, NULL, 0, "<Separator>" },
@ -238,16 +236,15 @@ static GimpItemFactoryEntry toolbox_entries[] =
/* <Toolbox>/Help */
/* the underscore installs an accelerator using the character that follows */
{ { N_("/_Help"), NULL, NULL, 0, "<Branch>" },
NULL, NULL },
{ { N_("/Help/Help..."), "F1", help_help_cmd_callback, 0 },
"help/dialogs/help.html", NULL },
{ { N_("/Help/Context Help..."), "<shift>F1", help_context_help_cmd_callback, 0 },
"help/context_help.html", NULL },
{ { N_("/Help/Tip of the Day..."), NULL, help_tips_cmd_callback, 0 },
{ { N_("/Help/Tip of the Day..."), NULL, dialogs_create_toplevel_cmd_callback, GPOINTER_TO_UINT ("gimp:tips-dialog") },
"help/dialogs/tip_of_the_day.html", NULL },
{ { N_("/Help/About..."), NULL, help_about_cmd_callback, 0 },
{ { N_("/Help/About..."), NULL, dialogs_create_toplevel_cmd_callback, GPOINTER_TO_UINT ("gimp:about-dialog") },
"help/dialogs/about.html", NULL },
#ifdef ENABLE_DEBUG_ENTRY
{ { N_("/Help/Dump Items (Debug)"), NULL, menus_debug_cmd_callback, 0 },
@ -534,7 +531,7 @@ static GimpItemFactoryEntry image_entries[] =
/* <Image>/Tools */
{ { N_("/Tools/Toolbox"), NULL, tools_toolbox_raise_cmd_callback, 0 },
{ { N_("/Tools/Toolbox"), NULL, dialogs_create_toplevel_cmd_callback, GPOINTER_TO_UINT ("gimp:toolbox") },
"toolbox/toolbox.html", NULL },
{ { N_("/Tools/Default Colors"), "D", tools_default_colors_cmd_callback, 0 },
"toolbox/toolbox.html#default_colors", NULL },
@ -563,12 +560,12 @@ static GimpItemFactoryEntry image_entries[] =
"dialogs/gradient_selection.html", NULL },
{ { N_("/Dialogs/Palette..."), "<control>P", dialogs_create_toplevel_cmd_callback, GPOINTER_TO_UINT ("gimp:palette-dialog") },
"dialogs/palette_selection.html", NULL },
{ { N_("/Dialogs/Indexed Palette..."), NULL, dialogs_indexed_palette_cmd_callback, 0 },
{ { N_("/Dialogs/Indexed Palette..."), NULL, dialogs_create_toplevel_cmd_callback, GPOINTER_TO_UINT ("gimp:indexed-palette-dialog") },
"dialogs/indexed_palette.html", NULL },
{ { "/Dialogs/---", NULL, NULL, 0, "<Separator>" },
NULL, NULL },
{ { N_("/Dialogs/Input Devices..."), NULL, dialogs_input_devices_cmd_callback, 0 },
{ { N_("/Dialogs/Input Devices..."), NULL, dialogs_create_toplevel_cmd_callback, GPOINTER_TO_UINT ("gimp:input-devices-dialog") },
"dialogs/input_devices.html", NULL },
{ { N_("/Dialogs/Device Status..."), NULL, dialogs_create_toplevel_cmd_callback, GPOINTER_TO_UINT ("gimp:device-status-dialog") },
"dialogs/device_status.html", NULL },
@ -580,10 +577,10 @@ static GimpItemFactoryEntry image_entries[] =
{ { N_("/Dialogs/Error Console..."), NULL, dialogs_create_toplevel_cmd_callback, GPOINTER_TO_UINT ("gimp:error-console-dialog") },
"dialogs/error_console.html", NULL },
#ifdef DISPLAY_FILTERS
{ { N_("/Dialogs/Display Filters..."), NULL, dialogs_display_filters_cmd_callback, 0 },
{ { N_("/Dialogs/Display Filters..."), NULL, dialogs_create_toplevel_cmd_callback, GPOINTER_TO_UINT ("gimp:display-filters-dialogs") },
"dialogs/display_filters/display_filters.html", NULL },
#endif /* DISPLAY_FILTERS */
{ { N_("/Dialogs/Undo History..."), NULL, dialogs_undo_history_cmd_callback, 0},
{ { N_("/Dialogs/Undo History..."), NULL, dialogs_create_toplevel_cmd_callback, GPOINTER_TO_UINT ("gimp:undo-history-dialog") },
"dialogs/undo_history.html", NULL },
{ { "/---", NULL, NULL, 0, "<Separator>" },

View File

@ -209,73 +209,66 @@ device_info_get_by_name (gchar *name)
/* the gtk input dialog */
void
GtkWidget *
input_dialog_create (void)
{
static GtkWidget *inputd = NULL;
GtkWidget *hbbox;
if (!inputd)
{
inputd = gtk_input_dialog_new ();
if (inputd)
return inputd;
/* register this one only */
dialog_register (inputd);
inputd = gtk_input_dialog_new ();
gtk_container_set_border_width
(GTK_CONTAINER (GTK_DIALOG (inputd)->action_area), 2);
gtk_box_set_homogeneous (GTK_BOX (GTK_DIALOG (inputd)->action_area),
FALSE);
/* register this one only */
dialog_register (inputd);
hbbox = gtk_hbutton_box_new ();
gtk_button_box_set_spacing (GTK_BUTTON_BOX (hbbox), 4);
gtk_container_set_border_width
(GTK_CONTAINER (GTK_DIALOG (inputd)->action_area), 2);
gtk_box_set_homogeneous (GTK_BOX (GTK_DIALOG (inputd)->action_area),
FALSE);
gtk_widget_reparent (GTK_INPUT_DIALOG (inputd)->save_button, hbbox);
GTK_WIDGET_SET_FLAGS (GTK_INPUT_DIALOG (inputd)->save_button,
GTK_CAN_DEFAULT);
gtk_widget_reparent (GTK_INPUT_DIALOG (inputd)->close_button, hbbox);
GTK_WIDGET_SET_FLAGS (GTK_INPUT_DIALOG (inputd)->close_button,
GTK_CAN_DEFAULT);
hbbox = gtk_hbutton_box_new ();
gtk_button_box_set_spacing (GTK_BUTTON_BOX (hbbox), 4);
gtk_box_pack_end (GTK_BOX (GTK_DIALOG (inputd)->action_area), hbbox,
FALSE, FALSE, 0);
gtk_widget_grab_default (GTK_INPUT_DIALOG (inputd)->close_button);
gtk_widget_show(hbbox);
gtk_widget_reparent (GTK_INPUT_DIALOG (inputd)->save_button, hbbox);
GTK_WIDGET_SET_FLAGS (GTK_INPUT_DIALOG (inputd)->save_button,
GTK_CAN_DEFAULT);
gtk_widget_reparent (GTK_INPUT_DIALOG (inputd)->close_button, hbbox);
GTK_WIDGET_SET_FLAGS (GTK_INPUT_DIALOG (inputd)->close_button,
GTK_CAN_DEFAULT);
gtk_signal_connect (GTK_OBJECT (GTK_INPUT_DIALOG (inputd)->save_button),
"clicked",
GTK_SIGNAL_FUNC (devices_write_rc),
NULL);
gtk_signal_connect (GTK_OBJECT (GTK_INPUT_DIALOG (inputd)->close_button),
"clicked",
GTK_SIGNAL_FUNC (devices_close_callback),
inputd);
gtk_box_pack_end (GTK_BOX (GTK_DIALOG (inputd)->action_area), hbbox,
FALSE, FALSE, 0);
gtk_widget_grab_default (GTK_INPUT_DIALOG (inputd)->close_button);
gtk_widget_show(hbbox);
gtk_signal_connect (GTK_OBJECT (inputd), "destroy",
GTK_SIGNAL_FUNC (gtk_widget_destroyed),
&inputd);
gtk_signal_connect (GTK_OBJECT (GTK_INPUT_DIALOG (inputd)->save_button),
"clicked",
GTK_SIGNAL_FUNC (devices_write_rc),
NULL);
gtk_signal_connect (GTK_OBJECT (GTK_INPUT_DIALOG (inputd)->close_button),
"clicked",
GTK_SIGNAL_FUNC (devices_close_callback),
inputd);
gtk_signal_connect (GTK_OBJECT (inputd), "enable_device",
GTK_SIGNAL_FUNC (input_dialog_able_callback),
NULL);
gtk_signal_connect (GTK_OBJECT (inputd), "disable_device",
GTK_SIGNAL_FUNC (input_dialog_able_callback),
NULL);
gtk_signal_connect (GTK_OBJECT (inputd), "destroy",
GTK_SIGNAL_FUNC (gtk_widget_destroyed),
&inputd);
/* Connect the "F1" help key */
gimp_help_connect_help_accel (inputd,
gimp_standard_help_func,
"dialogs/input_devices.html");
gtk_signal_connect (GTK_OBJECT (inputd), "enable_device",
GTK_SIGNAL_FUNC (input_dialog_able_callback),
NULL);
gtk_signal_connect (GTK_OBJECT (inputd), "disable_device",
GTK_SIGNAL_FUNC (input_dialog_able_callback),
NULL);
gtk_widget_show (inputd);
}
else
{
if (!GTK_WIDGET_MAPPED (inputd))
gtk_widget_show (inputd);
else
gdk_window_raise (inputd->window);
}
/* Connect the "F1" help key */
gimp_help_connect_help_accel (inputd,
gimp_standard_help_func,
"dialogs/input_devices.html");
return inputd;
}
static void
@ -747,14 +740,7 @@ device_status_create (void)
gint i;
if (deviceD)
{
if (! GTK_WIDGET_MAPPED (deviceD->shell))
gtk_widget_show (deviceD->shell);
else
gdk_window_raise (deviceD->shell->window);
return deviceD->shell;
}
return deviceD->shell;
deviceD = g_new (DeviceInfoDialog, 1);
@ -955,8 +941,6 @@ device_status_create (void)
GTK_SIGNAL_FUNC (device_status_destroy_callback),
NULL);
gtk_widget_show (deviceD->shell);
return deviceD->shell;
}

View File

@ -209,73 +209,66 @@ device_info_get_by_name (gchar *name)
/* the gtk input dialog */
void
GtkWidget *
input_dialog_create (void)
{
static GtkWidget *inputd = NULL;
GtkWidget *hbbox;
if (!inputd)
{
inputd = gtk_input_dialog_new ();
if (inputd)
return inputd;
/* register this one only */
dialog_register (inputd);
inputd = gtk_input_dialog_new ();
gtk_container_set_border_width
(GTK_CONTAINER (GTK_DIALOG (inputd)->action_area), 2);
gtk_box_set_homogeneous (GTK_BOX (GTK_DIALOG (inputd)->action_area),
FALSE);
/* register this one only */
dialog_register (inputd);
hbbox = gtk_hbutton_box_new ();
gtk_button_box_set_spacing (GTK_BUTTON_BOX (hbbox), 4);
gtk_container_set_border_width
(GTK_CONTAINER (GTK_DIALOG (inputd)->action_area), 2);
gtk_box_set_homogeneous (GTK_BOX (GTK_DIALOG (inputd)->action_area),
FALSE);
gtk_widget_reparent (GTK_INPUT_DIALOG (inputd)->save_button, hbbox);
GTK_WIDGET_SET_FLAGS (GTK_INPUT_DIALOG (inputd)->save_button,
GTK_CAN_DEFAULT);
gtk_widget_reparent (GTK_INPUT_DIALOG (inputd)->close_button, hbbox);
GTK_WIDGET_SET_FLAGS (GTK_INPUT_DIALOG (inputd)->close_button,
GTK_CAN_DEFAULT);
hbbox = gtk_hbutton_box_new ();
gtk_button_box_set_spacing (GTK_BUTTON_BOX (hbbox), 4);
gtk_box_pack_end (GTK_BOX (GTK_DIALOG (inputd)->action_area), hbbox,
FALSE, FALSE, 0);
gtk_widget_grab_default (GTK_INPUT_DIALOG (inputd)->close_button);
gtk_widget_show(hbbox);
gtk_widget_reparent (GTK_INPUT_DIALOG (inputd)->save_button, hbbox);
GTK_WIDGET_SET_FLAGS (GTK_INPUT_DIALOG (inputd)->save_button,
GTK_CAN_DEFAULT);
gtk_widget_reparent (GTK_INPUT_DIALOG (inputd)->close_button, hbbox);
GTK_WIDGET_SET_FLAGS (GTK_INPUT_DIALOG (inputd)->close_button,
GTK_CAN_DEFAULT);
gtk_signal_connect (GTK_OBJECT (GTK_INPUT_DIALOG (inputd)->save_button),
"clicked",
GTK_SIGNAL_FUNC (devices_write_rc),
NULL);
gtk_signal_connect (GTK_OBJECT (GTK_INPUT_DIALOG (inputd)->close_button),
"clicked",
GTK_SIGNAL_FUNC (devices_close_callback),
inputd);
gtk_box_pack_end (GTK_BOX (GTK_DIALOG (inputd)->action_area), hbbox,
FALSE, FALSE, 0);
gtk_widget_grab_default (GTK_INPUT_DIALOG (inputd)->close_button);
gtk_widget_show(hbbox);
gtk_signal_connect (GTK_OBJECT (inputd), "destroy",
GTK_SIGNAL_FUNC (gtk_widget_destroyed),
&inputd);
gtk_signal_connect (GTK_OBJECT (GTK_INPUT_DIALOG (inputd)->save_button),
"clicked",
GTK_SIGNAL_FUNC (devices_write_rc),
NULL);
gtk_signal_connect (GTK_OBJECT (GTK_INPUT_DIALOG (inputd)->close_button),
"clicked",
GTK_SIGNAL_FUNC (devices_close_callback),
inputd);
gtk_signal_connect (GTK_OBJECT (inputd), "enable_device",
GTK_SIGNAL_FUNC (input_dialog_able_callback),
NULL);
gtk_signal_connect (GTK_OBJECT (inputd), "disable_device",
GTK_SIGNAL_FUNC (input_dialog_able_callback),
NULL);
gtk_signal_connect (GTK_OBJECT (inputd), "destroy",
GTK_SIGNAL_FUNC (gtk_widget_destroyed),
&inputd);
/* Connect the "F1" help key */
gimp_help_connect_help_accel (inputd,
gimp_standard_help_func,
"dialogs/input_devices.html");
gtk_signal_connect (GTK_OBJECT (inputd), "enable_device",
GTK_SIGNAL_FUNC (input_dialog_able_callback),
NULL);
gtk_signal_connect (GTK_OBJECT (inputd), "disable_device",
GTK_SIGNAL_FUNC (input_dialog_able_callback),
NULL);
gtk_widget_show (inputd);
}
else
{
if (!GTK_WIDGET_MAPPED (inputd))
gtk_widget_show (inputd);
else
gdk_window_raise (inputd->window);
}
/* Connect the "F1" help key */
gimp_help_connect_help_accel (inputd,
gimp_standard_help_func,
"dialogs/input_devices.html");
return inputd;
}
static void
@ -747,14 +740,7 @@ device_status_create (void)
gint i;
if (deviceD)
{
if (! GTK_WIDGET_MAPPED (deviceD->shell))
gtk_widget_show (deviceD->shell);
else
gdk_window_raise (deviceD->shell->window);
return deviceD->shell;
}
return deviceD->shell;
deviceD = g_new (DeviceInfoDialog, 1);
@ -955,8 +941,6 @@ device_status_create (void)
GTK_SIGNAL_FUNC (device_status_destroy_callback),
NULL);
gtk_widget_show (deviceD->shell);
return deviceD->shell;
}

View File

@ -40,13 +40,13 @@ void devices_init (void);
void devices_restore (void);
/* Create device info dialog */
void input_dialog_create (void);
GtkWidget * input_dialog_create (void);
/* Create the device status dialog */
GtkWidget * device_status_create (void);
/* Returns TRUE, and makes necessary global changes
* event is not for current_device
* if event is not for current_device
*/
gint devices_check_change (GdkEvent *event);

View File

@ -303,7 +303,7 @@ gimp_dialog_factory_dialog_new (GimpDialogFactory *factory,
"gimp-dialog-factory-entry",
entry);
if (entry->session_managed && GTK_WIDGET_TOPLEVEL (dialog))
if (GTK_WIDGET_TOPLEVEL (dialog))
{
gimp_dialog_factory_add_toplevel (factory, dialog);
}
@ -365,10 +365,27 @@ gimp_dialog_factory_add_toplevel (GimpDialogFactory *factory,
if (info->toplevel_entry == entry)
{
if (entry->singleton)
{
if (info->widget)
{
g_warning ("%s(): singleton dialog \"%s\"created twice",
G_GNUC_FUNCTION, entry->identifier);
return;
}
}
else if (info->widget)
{
continue;
}
info->widget = toplevel;
gimp_dialog_factory_set_window_geometry (info->widget,
info, FALSE);
if (entry->session_managed)
{
gimp_dialog_factory_set_window_geometry (info->widget,
info, FALSE);
}
break;
}
@ -477,6 +494,12 @@ gimp_dialog_factories_session_save_foreach (gchar *name,
info = (GimpSessionInfo *) list->data;
/* we keep session info entries for all dialogs created by the
* factory but don't save them if they don't want to be managed
*/
if (info->toplevel_entry && ! info->toplevel_entry->session_managed)
continue;
if (info->widget)
gimp_dialog_factory_get_window_info (info->widget, info);

View File

@ -102,7 +102,6 @@ static GimpItemFactoryEntry toolbox_entries[] =
{
/* <Toolbox>/File */
/* the underscore installs an accelerator using the character that follows */
{ { N_("/_File"), NULL, NULL, 0, "<Branch>" },
NULL, NULL },
{ { N_("/File/New..."), "<control>N", file_new_cmd_callback, 0 },
@ -119,7 +118,7 @@ static GimpItemFactoryEntry toolbox_entries[] =
{ { "/File/---", NULL, NULL, 0, "<Separator>" },
NULL, NULL },
{ { N_("/File/Preferences..."), NULL, dialogs_preferences_cmd_callback, 0 },
{ { N_("/File/Preferences..."), NULL, dialogs_create_toplevel_cmd_callback, GPOINTER_TO_UINT ("gimp:preferences-dialog") },
"file/dialogs/preferences/preferences.html", NULL },
/* <Toolbox>/File/Dialogs */
@ -141,12 +140,12 @@ static GimpItemFactoryEntry toolbox_entries[] =
"file/dialogs/gradient_selection.html", NULL },
{ { N_("/File/Dialogs/Palette..."), "<control>P", dialogs_create_toplevel_cmd_callback, GPOINTER_TO_UINT ("gimp:palette-dialog") },
"file/dialogs/palette_selection.html", NULL },
{ { N_("/File/Dialogs/Indexed Palette..."), NULL, dialogs_indexed_palette_cmd_callback, 0 },
{ { N_("/File/Dialogs/Indexed Palette..."), NULL, dialogs_create_toplevel_cmd_callback, GPOINTER_TO_UINT ("gimp:indexed-palette-dialog") },
"file/dialogs/indexed_palette.html", NULL },
{ { "/File/Dialogs/---", NULL, NULL, 0, "<Separator>" },
NULL, NULL },
{ { N_("/File/Dialogs/Input Devices..."), NULL, dialogs_input_devices_cmd_callback, 0 },
{ { N_("/File/Dialogs/Input Devices..."), NULL, dialogs_create_toplevel_cmd_callback, GPOINTER_TO_UINT ("gimp:input-devices-dialog") },
"file/dialogs/input_devices.html", NULL },
{ { N_("/File/Dialogs/Device Status..."), NULL, dialogs_create_toplevel_cmd_callback, GPOINTER_TO_UINT ("gimp:device-status-dialog") },
"file/dialogs/device_status.html", NULL },
@ -158,7 +157,7 @@ static GimpItemFactoryEntry toolbox_entries[] =
{ { N_("/File/Dialogs/Error Console..."), NULL, dialogs_create_toplevel_cmd_callback, GPOINTER_TO_UINT ("gimp:error-console-dialog") },
"file/dialogs/error_console.html", NULL },
#ifdef DISPLAY_FILTERS
{ { N_("/File/Dialogs/Display Filters..."), NULL, dialogs_display_filters_cmd_callback, 0 },
{ { N_("/File/Dialogs/Display Filters..."), NULL, dialogs_create_toplevel_cmd_callback, GPOINTER_TO_UINT ("gimp:display-filters-dialog") },
"file/dialogs/display_filters/display_filters.html", NULL },
#endif /* DISPLAY_FILTERS */
@ -227,10 +226,9 @@ static GimpItemFactoryEntry toolbox_entries[] =
/* <Toolbox>/Xtns */
/* the underscore installs an accelerator using the character that follows */
{ { N_("/_Xtns"), NULL, NULL, 0, "<Branch>" },
NULL, NULL },
{ { N_("/Xtns/Module Browser..."), NULL, dialogs_module_browser_cmd_callback, 0 },
{ { N_("/Xtns/Module Browser..."), NULL, dialogs_create_toplevel_cmd_callback, GPOINTER_TO_UINT ("gimp:module-browser-dialog") },
"dialogs/module_browser.html", NULL },
{ { "/Xtns/---", NULL, NULL, 0, "<Separator>" },
@ -238,16 +236,15 @@ static GimpItemFactoryEntry toolbox_entries[] =
/* <Toolbox>/Help */
/* the underscore installs an accelerator using the character that follows */
{ { N_("/_Help"), NULL, NULL, 0, "<Branch>" },
NULL, NULL },
{ { N_("/Help/Help..."), "F1", help_help_cmd_callback, 0 },
"help/dialogs/help.html", NULL },
{ { N_("/Help/Context Help..."), "<shift>F1", help_context_help_cmd_callback, 0 },
"help/context_help.html", NULL },
{ { N_("/Help/Tip of the Day..."), NULL, help_tips_cmd_callback, 0 },
{ { N_("/Help/Tip of the Day..."), NULL, dialogs_create_toplevel_cmd_callback, GPOINTER_TO_UINT ("gimp:tips-dialog") },
"help/dialogs/tip_of_the_day.html", NULL },
{ { N_("/Help/About..."), NULL, help_about_cmd_callback, 0 },
{ { N_("/Help/About..."), NULL, dialogs_create_toplevel_cmd_callback, GPOINTER_TO_UINT ("gimp:about-dialog") },
"help/dialogs/about.html", NULL },
#ifdef ENABLE_DEBUG_ENTRY
{ { N_("/Help/Dump Items (Debug)"), NULL, menus_debug_cmd_callback, 0 },
@ -534,7 +531,7 @@ static GimpItemFactoryEntry image_entries[] =
/* <Image>/Tools */
{ { N_("/Tools/Toolbox"), NULL, tools_toolbox_raise_cmd_callback, 0 },
{ { N_("/Tools/Toolbox"), NULL, dialogs_create_toplevel_cmd_callback, GPOINTER_TO_UINT ("gimp:toolbox") },
"toolbox/toolbox.html", NULL },
{ { N_("/Tools/Default Colors"), "D", tools_default_colors_cmd_callback, 0 },
"toolbox/toolbox.html#default_colors", NULL },
@ -563,12 +560,12 @@ static GimpItemFactoryEntry image_entries[] =
"dialogs/gradient_selection.html", NULL },
{ { N_("/Dialogs/Palette..."), "<control>P", dialogs_create_toplevel_cmd_callback, GPOINTER_TO_UINT ("gimp:palette-dialog") },
"dialogs/palette_selection.html", NULL },
{ { N_("/Dialogs/Indexed Palette..."), NULL, dialogs_indexed_palette_cmd_callback, 0 },
{ { N_("/Dialogs/Indexed Palette..."), NULL, dialogs_create_toplevel_cmd_callback, GPOINTER_TO_UINT ("gimp:indexed-palette-dialog") },
"dialogs/indexed_palette.html", NULL },
{ { "/Dialogs/---", NULL, NULL, 0, "<Separator>" },
NULL, NULL },
{ { N_("/Dialogs/Input Devices..."), NULL, dialogs_input_devices_cmd_callback, 0 },
{ { N_("/Dialogs/Input Devices..."), NULL, dialogs_create_toplevel_cmd_callback, GPOINTER_TO_UINT ("gimp:input-devices-dialog") },
"dialogs/input_devices.html", NULL },
{ { N_("/Dialogs/Device Status..."), NULL, dialogs_create_toplevel_cmd_callback, GPOINTER_TO_UINT ("gimp:device-status-dialog") },
"dialogs/device_status.html", NULL },
@ -580,10 +577,10 @@ static GimpItemFactoryEntry image_entries[] =
{ { N_("/Dialogs/Error Console..."), NULL, dialogs_create_toplevel_cmd_callback, GPOINTER_TO_UINT ("gimp:error-console-dialog") },
"dialogs/error_console.html", NULL },
#ifdef DISPLAY_FILTERS
{ { N_("/Dialogs/Display Filters..."), NULL, dialogs_display_filters_cmd_callback, 0 },
{ { N_("/Dialogs/Display Filters..."), NULL, dialogs_create_toplevel_cmd_callback, GPOINTER_TO_UINT ("gimp:display-filters-dialogs") },
"dialogs/display_filters/display_filters.html", NULL },
#endif /* DISPLAY_FILTERS */
{ { N_("/Dialogs/Undo History..."), NULL, dialogs_undo_history_cmd_callback, 0},
{ { N_("/Dialogs/Undo History..."), NULL, dialogs_create_toplevel_cmd_callback, GPOINTER_TO_UINT ("gimp:undo-history-dialog") },
"dialogs/undo_history.html", NULL },
{ { "/---", NULL, NULL, 0, "<Separator>" },

View File

@ -181,15 +181,6 @@ palette_dialog_create (void)
top_level_palette = palette_dialog_new (FALSE);
dialog_register (top_level_palette->shell);
gtk_widget_show (top_level_palette->shell);
}
else
{
if (! GTK_WIDGET_VISIBLE (top_level_palette->shell))
gtk_widget_show (top_level_palette->shell);
else
gdk_window_raise (top_level_palette->shell->window);
}
return top_level_palette->shell;