app: port dockable showing to using GimpWindowStrategy API

so it works right in SWM. Fixed actions/, tools/, and app/ for now.
This commit is contained in:
Michael Natterer
2012-01-30 23:24:44 +01:00
parent 79a66d36d2
commit 325bce54a7
8 changed files with 80 additions and 40 deletions

View File

@ -40,6 +40,8 @@
#include "widgets/gimpmessagebox.h"
#include "widgets/gimpmessagedialog.h"
#include "display/gimpwindowstrategy.h"
#include "dialogs/data-delete-dialog.h"
#include "actions.h"
@ -256,8 +258,12 @@ data_edit_cmd_callback (GtkAction *action,
GdkScreen *screen = gtk_widget_get_screen (GTK_WIDGET (view));
GtkWidget *dockable;
dockable = gimp_dialog_factory_dialog_raise (gimp_dialog_factory_get_singleton (), screen,
value, -1);
dockable =
gimp_window_strategy_show_dockable_dialog (GIMP_WINDOW_STRATEGY (gimp_get_window_strategy (context->gimp)),
context->gimp,
gimp_dialog_factory_get_singleton (),
screen,
value);
gimp_data_editor_set_data (GIMP_DATA_EDITOR (gtk_bin_get_child (GTK_BIN (dockable))),
data);

View File

@ -48,6 +48,7 @@
#include "display/gimpdisplay.h"
#include "display/gimpdisplayshell.h"
#include "display/gimpdisplayshell-transform.h"
#include "display/gimpwindowstrategy.h"
#include "dialogs/fade-dialog.h"
@ -445,12 +446,16 @@ void
edit_named_paste_cmd_callback (GtkAction *action,
gpointer data)
{
Gimp *gimp;
GtkWidget *widget;
return_if_no_gimp (gimp, data);
return_if_no_widget (widget, data);
gimp_dialog_factory_dialog_raise (gimp_dialog_factory_get_singleton (),
gtk_widget_get_screen (widget),
"gimp-buffer-list|gimp-buffer-grid", -1);
gimp_window_strategy_show_dockable_dialog (GIMP_WINDOW_STRATEGY (gimp_get_window_strategy (gimp)),
gimp,
gimp_dialog_factory_get_singleton (),
gtk_widget_get_screen (widget),
"gimp-buffer-list|gimp-buffer-grid");
}
void

View File

@ -51,6 +51,7 @@
#include "display/gimpdisplay.h"
#include "display/gimpdisplay-foreach.h"
#include "display/gimpwindowstrategy.h"
#include "dialogs/file-save-dialog.h"

View File

@ -36,6 +36,7 @@
#include "display/gimpdisplay.h"
#include "display/gimpdisplayshell.h"
#include "display/gimpwindowstrategy.h"
#include "dialogs/stroke-dialog.h"
@ -317,9 +318,11 @@ select_save_cmd_callback (GtkAction *action,
gimp_selection_save (GIMP_SELECTION (gimp_image_get_mask (image)));
gimp_image_flush (image);
gimp_dialog_factory_dialog_raise (gimp_dialog_factory_get_singleton (),
gtk_widget_get_screen (widget),
"gimp-channel-list", -1);
gimp_window_strategy_show_dockable_dialog (GIMP_WINDOW_STRATEGY (gimp_get_window_strategy (image->gimp)),
image->gimp,
gimp_dialog_factory_get_singleton (),
gtk_widget_get_screen (widget),
"gimp-channel-list");
}
void

View File

@ -42,6 +42,8 @@
#include "widgets/gimptooloptionseditor.h"
#include "widgets/gimpuimanager.h"
#include "display/gimpwindowstrategy.h"
#include "dialogs/data-delete-dialog.h"
#include "tool-options-commands.h"
@ -51,7 +53,8 @@
/* local function prototypes */
static void tool_options_show_preset_editor (GimpEditor *editor,
static void tool_options_show_preset_editor (Gimp *gimp,
GimpEditor *editor,
GimpToolPreset *preset);
@ -62,13 +65,14 @@ tool_options_save_new_preset_cmd_callback (GtkAction *action,
gpointer user_data)
{
GimpEditor *editor = GIMP_EDITOR (user_data);
GimpContext *context = gimp_get_user_context (gimp_editor_get_ui_manager (editor)->gimp);
Gimp *gimp = gimp_editor_get_ui_manager (editor)->gimp;
GimpContext *context = gimp_get_user_context (gimp);
GimpData *data;
data = gimp_data_factory_data_new (context->gimp->tool_preset_factory,
context, _("Untitled"));
tool_options_show_preset_editor (editor, GIMP_TOOL_PRESET (data));
tool_options_show_preset_editor (gimp, editor, GIMP_TOOL_PRESET (data));
}
void
@ -77,7 +81,8 @@ tool_options_save_preset_cmd_callback (GtkAction *action,
gpointer data)
{
GimpEditor *editor = GIMP_EDITOR (data);
GimpContext *context = gimp_get_user_context (gimp_editor_get_ui_manager (editor)->gimp);
Gimp *gimp = gimp_editor_get_ui_manager (editor)->gimp;
GimpContext *context = gimp_get_user_context (gimp);
GimpToolInfo *tool_info = gimp_context_get_tool (context);
GimpToolPreset *preset;
@ -89,7 +94,7 @@ tool_options_save_preset_cmd_callback (GtkAction *action,
gimp_config_sync (G_OBJECT (tool_info->tool_options),
G_OBJECT (preset->tool_options), 0);
tool_options_show_preset_editor (editor, preset);
tool_options_show_preset_editor (gimp, editor, preset);
}
}
@ -99,7 +104,8 @@ tool_options_restore_preset_cmd_callback (GtkAction *action,
gpointer data)
{
GimpEditor *editor = GIMP_EDITOR (data);
GimpContext *context = gimp_get_user_context (gimp_editor_get_ui_manager (editor)->gimp);
Gimp *gimp = gimp_editor_get_ui_manager (editor)->gimp;
GimpContext *context = gimp_get_user_context (gimp);
GimpToolInfo *tool_info = gimp_context_get_tool (context);
GimpToolPreset *preset;
@ -121,7 +127,8 @@ tool_options_edit_preset_cmd_callback (GtkAction *action,
gpointer data)
{
GimpEditor *editor = GIMP_EDITOR (data);
GimpContext *context = gimp_get_user_context (gimp_editor_get_ui_manager (editor)->gimp);
Gimp *gimp = gimp_editor_get_ui_manager (editor)->gimp;
GimpContext *context = gimp_get_user_context (gimp);
GimpToolInfo *tool_info = gimp_context_get_tool (context);
GimpToolPreset *preset;
@ -130,7 +137,7 @@ tool_options_edit_preset_cmd_callback (GtkAction *action,
if (preset)
{
tool_options_show_preset_editor (editor, preset);
tool_options_show_preset_editor (gimp, editor, preset);
}
}
@ -225,15 +232,18 @@ tool_options_reset_all_cmd_callback (GtkAction *action,
/* private functions */
static void
tool_options_show_preset_editor (GimpEditor *editor,
tool_options_show_preset_editor (Gimp *gimp,
GimpEditor *editor,
GimpToolPreset *preset)
{
GtkWidget *dockable;
dockable =
gimp_dialog_factory_dialog_raise (gimp_dialog_factory_get_singleton (),
gtk_widget_get_screen (GTK_WIDGET (editor)),
"gimp-tool-preset-editor", -1);
gimp_window_strategy_show_dockable_dialog (GIMP_WINDOW_STRATEGY (gimp_get_window_strategy (gimp)),
gimp,
gimp_dialog_factory_get_singleton (),
gtk_widget_get_screen (GTK_WIDGET (editor)),
"gimp-tool-preset-editor");
gimp_data_editor_set_data (GIMP_DATA_EDITOR (gtk_bin_get_child (GTK_BIN (dockable))),
GIMP_DATA (preset));

View File

@ -34,6 +34,12 @@
#include "core/gimpgrouplayer.h"
#include "core/gimpprojection.h"
#include "widgets/gimpactiongroup.h"
#include "widgets/gimpcolordialog.h"
#include "widgets/gimpdock.h"
#include "widgets/gimpdialogfactory.h"
#include "widgets/gimpuimanager.h"
#include "display/gimpdisplay.h"
#include "display/gimpdisplay-foreach.h"
#include "display/gimpdisplayshell.h"
@ -43,12 +49,7 @@
#include "display/gimpdisplayshell-scale-dialog.h"
#include "display/gimpdisplayshell-scroll.h"
#include "display/gimpimagewindow.h"
#include "widgets/gimpactiongroup.h"
#include "widgets/gimpcolordialog.h"
#include "widgets/gimpdock.h"
#include "widgets/gimpdialogfactory.h"
#include "widgets/gimpuimanager.h"
#include "display/gimpwindowstrategy.h"
#include "actions.h"
#include "view-commands.h"
@ -315,12 +316,16 @@ void
view_navigation_window_cmd_callback (GtkAction *action,
gpointer data)
{
Gimp *gimp;
GimpDisplayShell *shell;
return_if_no_gimp (gimp, data);
return_if_no_shell (shell, data);
gimp_dialog_factory_dialog_raise (gimp_dialog_factory_get_singleton (),
gtk_widget_get_screen (GTK_WIDGET (shell)),
"gimp-navigation-view", -1);
gimp_window_strategy_show_dockable_dialog (GIMP_WINDOW_STRATEGY (gimp_get_window_strategy (gimp)),
gimp,
gimp_dialog_factory_get_singleton (),
gtk_widget_get_screen (GTK_WIDGET (shell)),
"gimp-navigation-view");
}
void

View File

@ -41,12 +41,15 @@
#include "widgets/gimpsessioninfo.h"
#include "widgets/gimpwidgets-utils.h"
#include "display/gimpwindowstrategy.h"
#include "gui-message.h"
#include "gimp-intl.h"
static gboolean gui_message_error_console (GimpMessageSeverity severity,
static gboolean gui_message_error_console (Gimp *gimp,
GimpMessageSeverity severity,
const gchar *domain,
const gchar *message);
static gboolean gui_message_error_dialog (Gimp *gimp,
@ -69,7 +72,7 @@ gui_message (Gimp *gimp,
switch (gimp->message_handler)
{
case GIMP_ERROR_CONSOLE:
if (gui_message_error_console (severity, domain, message))
if (gui_message_error_console (gimp, severity, domain, message))
return;
gimp->message_handler = GIMP_MESSAGE_BOX;
@ -89,7 +92,8 @@ gui_message (Gimp *gimp,
}
static gboolean
gui_message_error_console (GimpMessageSeverity severity,
gui_message_error_console (Gimp *gimp,
GimpMessageSeverity severity,
const gchar *domain,
const gchar *message)
{
@ -106,9 +110,12 @@ gui_message_error_console (GimpMessageSeverity severity,
}
if (! dockable)
dockable = gimp_dialog_factory_dialog_raise (gimp_dialog_factory_get_singleton (),
dockable =
gimp_window_strategy_show_dockable_dialog (GIMP_WINDOW_STRATEGY (gimp_get_window_strategy (gimp)),
gimp,
gimp_dialog_factory_get_singleton (),
gdk_screen_get_default (),
"gimp-error-console", -1);
"gimp-error-console");
if (dockable)
{

View File

@ -49,6 +49,7 @@
#include "display/gimpdisplayshell-appearance.h"
#include "display/gimpdisplayshell-selection.h"
#include "display/gimpdisplayshell-transform.h"
#include "display/gimpwindowstrategy.h"
#include "gimpcoloroptions.h"
#include "gimpcolortool.h"
@ -656,15 +657,17 @@ gimp_color_tool_real_picked (GimpColorTool *color_tool,
case GIMP_COLOR_PICK_MODE_PALETTE:
{
GimpDisplayShell *shell = gimp_display_get_shell (tool->display);
GdkScreen *screen;
GimpDisplayShell *shell = gimp_display_get_shell (tool->display);
GdkScreen *screen = gtk_widget_get_screen (GTK_WIDGET (shell));
GtkWidget *dockable;
screen = gtk_widget_get_screen (GTK_WIDGET (shell));
dockable = gimp_dialog_factory_dialog_raise (gimp_dialog_factory_get_singleton (),
dockable =
gimp_window_strategy_show_dockable_dialog (GIMP_WINDOW_STRATEGY (gimp_get_window_strategy (tool->display->gimp)),
tool->display->gimp,
gimp_dialog_factory_get_singleton (),
screen,
"gimp-palette-editor",
-1);
"gimp-palette-editor");
if (dockable)
{
GtkWidget *palette_editor;