void vectors_import_cmd_callback (GtkAction *action, gpointer data) { GimpImage *image; GtkWidget *widget; GtkWidget *dialog; return_if_no_image (image, data); return_if_no_widget (widget, data); #define IMPORT_DIALOG_KEY "gimp-vectors-import-dialog" dialog = dialogs_get_dialog (G_OBJECT (image), IMPORT_DIALOG_KEY); if (! dialog) { GimpDialogConfig *config = GIMP_DIALOG_CONFIG (image->gimp->config); GFile *folder = NULL; if (config->vectors_import_path) folder = gimp_file_new_for_config_path (config->vectors_import_path, NULL); dialog = vectors_import_dialog_new (image, widget, folder, config->vectors_import_merge, config->vectors_import_scale, vectors_import_callback, NULL); dialogs_attach_dialog (G_OBJECT (image), IMPORT_DIALOG_KEY, dialog); } gtk_window_present (GTK_WINDOW (dialog)); }
void text_tool_load_cmd_callback (GtkAction *action, gpointer data) { GimpTextTool *text_tool = GIMP_TEXT_TOOL (data); GtkWidget *dialog; dialog = dialogs_get_dialog (G_OBJECT (text_tool), "gimp-text-file-dialog"); if (! dialog) { GtkWidget *parent = NULL; if (GIMP_TOOL (text_tool)->display) { GimpDisplayShell *shell; shell = gimp_display_get_shell (GIMP_TOOL (text_tool)->display); parent = gtk_widget_get_toplevel (GTK_WIDGET (shell)); } dialog = gtk_file_chooser_dialog_new (_("Open Text File (UTF-8)"), parent ? GTK_WINDOW (parent) : NULL, GTK_FILE_CHOOSER_ACTION_OPEN, _("_Cancel"), GTK_RESPONSE_CANCEL, _("_Open"), GTK_RESPONSE_OK, NULL); gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_OK); gtk_dialog_set_alternative_button_order (GTK_DIALOG (dialog), GTK_RESPONSE_OK, GTK_RESPONSE_CANCEL, -1); gtk_window_set_role (GTK_WINDOW (dialog), "gimp-text-load-file"); gtk_window_set_position (GTK_WINDOW (dialog), GTK_WIN_POS_MOUSE); g_signal_connect (dialog, "response", G_CALLBACK (text_tool_load_dialog_response), text_tool); g_signal_connect (dialog, "delete-event", G_CALLBACK (gtk_true), NULL); dialogs_attach_dialog (G_OBJECT (text_tool), "gimp-text-file-dialog", dialog); } gtk_window_present (GTK_WINDOW (dialog)); }
void quick_mask_configure_cmd_callback (GtkAction *action, gpointer data) { GimpImage *image; GtkWidget *widget; GtkWidget *dialog; return_if_no_image (image, data); return_if_no_widget (widget, data); #define CONFIGURE_DIALOG_KEY "gimp-image-quick-mask-configure-dialog" dialog = dialogs_get_dialog (G_OBJECT (image), CONFIGURE_DIALOG_KEY); if (! dialog) { GimpRGB color; gimp_image_get_quick_mask_color (image, &color); dialog = channel_options_dialog_new (image, NULL, action_data_get_context (data), widget, _("Quick Mask Attributes"), "gimp-quick-mask-edit", GIMP_ICON_QUICK_MASK_ON, _("Edit Quick Mask Attributes"), GIMP_HELP_QUICK_MASK_EDIT, _("Edit Quick Mask Color"), _("_Mask opacity:"), FALSE, NULL, &color, FALSE, FALSE, GIMP_COLOR_TAG_NONE, FALSE, FALSE, quick_mask_configure_callback, NULL); item_options_dialog_set_switches_visible (dialog, FALSE); dialogs_attach_dialog (G_OBJECT (image), CONFIGURE_DIALOG_KEY, dialog); } gtk_window_present (GTK_WINDOW (dialog)); }
void channels_edit_attributes_cmd_callback (GtkAction *action, gpointer data) { GimpImage *image; GimpChannel *channel; GtkWidget *widget; GtkWidget *dialog; return_if_no_channel (image, channel, data); return_if_no_widget (widget, data); #define EDIT_DIALOG_KEY "gimp-channel-edit-attributes-dialog" dialog = dialogs_get_dialog (G_OBJECT (channel), EDIT_DIALOG_KEY); if (! dialog) { GimpItem *item = GIMP_ITEM (channel); dialog = channel_options_dialog_new (image, channel, action_data_get_context (data), widget, _("Channel Attributes"), "gimp-channel-edit", "gtk-edit", _("Edit Channel Attributes"), GIMP_HELP_CHANNEL_EDIT, _("Edit Channel Color"), _("_Fill opacity:"), FALSE, gimp_object_get_name (channel), &channel->color, gimp_item_get_visible (item), gimp_item_get_linked (item), gimp_item_get_color_tag (item), gimp_item_get_lock_content (item), gimp_item_get_lock_position (item), channels_edit_attributes_callback, NULL); dialogs_attach_dialog (G_OBJECT (channel), EDIT_DIALOG_KEY, dialog); } gtk_window_present (GTK_WINDOW (dialog)); }
void channels_new_cmd_callback (GtkAction *action, gpointer data) { GimpImage *image; GtkWidget *widget; GtkWidget *dialog; return_if_no_image (image, data); return_if_no_widget (widget, data); #define NEW_DIALOG_KEY "gimp-channel-new-dialog" dialog = dialogs_get_dialog (G_OBJECT (image), NEW_DIALOG_KEY); if (! dialog) { GimpDialogConfig *config = GIMP_DIALOG_CONFIG (image->gimp->config); dialog = channel_options_dialog_new (image, NULL, action_data_get_context (data), widget, _("New Channel"), "gimp-channel-new", GIMP_STOCK_CHANNEL, _("Create a New Channel"), GIMP_HELP_CHANNEL_NEW, _("New Channel Color"), _("_Fill opacity:"), TRUE, config->channel_new_name, &config->channel_new_color, TRUE, FALSE, GIMP_COLOR_TAG_NONE, FALSE, FALSE, channels_new_callback, NULL); dialogs_attach_dialog (G_OBJECT (image), NEW_DIALOG_KEY, dialog); } gtk_window_present (GTK_WINDOW (dialog)); }
void vectors_edit_attributes_cmd_callback (GtkAction *action, gpointer data) { GimpImage *image; GimpVectors *vectors; GtkWidget *widget; GtkWidget *dialog; return_if_no_vectors (image, vectors, data); return_if_no_widget (widget, data); #define EDIT_DIALOG_KEY "gimp-vectors-edit-attributes-dialog" dialog = dialogs_get_dialog (G_OBJECT (vectors), EDIT_DIALOG_KEY); if (! dialog) { GimpItem *item = GIMP_ITEM (vectors); dialog = vectors_options_dialog_new (image, vectors, action_data_get_context (data), widget, _("Path Attributes"), "gimp-vectors-edit", GIMP_ICON_EDIT, _("Edit Path Attributes"), GIMP_HELP_PATH_EDIT, gimp_object_get_name (vectors), gimp_item_get_visible (item), gimp_item_get_linked (item), gimp_item_get_color_tag (item), gimp_item_get_lock_content (item), gimp_item_get_lock_position (item), vectors_edit_attributes_callback, NULL); dialogs_attach_dialog (G_OBJECT (vectors), EDIT_DIALOG_KEY, dialog); } gtk_window_present (GTK_WINDOW (dialog)); }
void view_display_filters_cmd_callback (GtkAction *action, gpointer data) { GimpDisplayShell *shell; GtkWidget *dialog; return_if_no_shell (shell, data); #define FILTERS_DIALOG_KEY "gimp-display-filters-dialog" dialog = dialogs_get_dialog (G_OBJECT (shell), FILTERS_DIALOG_KEY); if (! dialog) { dialog = gimp_display_shell_filter_dialog_new (shell); dialogs_attach_dialog (G_OBJECT (shell), FILTERS_DIALOG_KEY, dialog); } gtk_window_present (GTK_WINDOW (dialog)); }
void vectors_new_cmd_callback (GtkAction *action, gpointer data) { GimpImage *image; GtkWidget *widget; GtkWidget *dialog; return_if_no_image (image, data); return_if_no_widget (widget, data); #define NEW_DIALOG_KEY "gimp-vectors-new-dialog" dialog = dialogs_get_dialog (G_OBJECT (image), NEW_DIALOG_KEY); if (! dialog) { GimpDialogConfig *config = GIMP_DIALOG_CONFIG (image->gimp->config); dialog = vectors_options_dialog_new (image, NULL, action_data_get_context (data), widget, _("New Path"), "gimp-vectors-new", GIMP_ICON_PATH, _("Create a New Path"), GIMP_HELP_PATH_NEW, config->vectors_new_name, FALSE, FALSE, GIMP_COLOR_TAG_NONE, FALSE, FALSE, vectors_new_callback, NULL); dialogs_attach_dialog (G_OBJECT (image), NEW_DIALOG_KEY, dialog); } gtk_window_present (GTK_WINDOW (dialog)); }
void view_softproof_profile_cmd_callback (GtkAction *action, gpointer data) { GimpImage *image; GimpDisplayShell *shell; GimpColorConfig *color_config; GtkWidget *dialog; return_if_no_image (image, data); return_if_no_shell (shell, data); color_config = gimp_display_shell_get_color_config (shell); #define SOFTPROOF_PROFILE_DIALOG_KEY "gimp-softproof-profile-dialog" dialog = dialogs_get_dialog (G_OBJECT (shell), SOFTPROOF_PROFILE_DIALOG_KEY); if (! dialog) { GimpColorProfile *current_profile; current_profile = gimp_color_config_get_simulation_color_profile (color_config, NULL); dialog = color_profile_dialog_new (COLOR_PROFILE_DIALOG_SELECT_SOFTPROOF_PROFILE, image, action_data_get_context (data), GTK_WIDGET (shell), current_profile, NULL, 0, 0, view_softproof_profile_callback, shell); dialogs_attach_dialog (G_OBJECT (shell), SOFTPROOF_PROFILE_DIALOG_KEY, dialog); } gtk_window_present (GTK_WINDOW (dialog)); }
void gradients_save_as_pov_ray_cmd_callback (GtkAction *action, gpointer data) { GimpContainerEditor *editor = GIMP_CONTAINER_EDITOR (data); GimpContext *context; GimpGradient *gradient; GtkWidget *dialog; context = gimp_container_view_get_context (editor->view); gradient = gimp_context_get_gradient (context); if (! gradient) return; #define SAVE_AS_POV_DIALOG_KEY "gimp-save-as-pov-ray-dialog" dialog = dialogs_get_dialog (G_OBJECT (gradient), SAVE_AS_POV_DIALOG_KEY); if (! dialog) { gchar *title = g_strdup_printf (_("Save '%s' as POV-Ray"), gimp_object_get_name (gradient)); dialog = gtk_file_chooser_dialog_new (title, NULL, GTK_FILE_CHOOSER_ACTION_SAVE, _("_Cancel"), GTK_RESPONSE_CANCEL, _("_Save"), GTK_RESPONSE_OK, NULL); g_free (title); gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_OK); gimp_dialog_set_alternative_button_order (GTK_DIALOG (dialog), GTK_RESPONSE_OK, GTK_RESPONSE_CANCEL, -1); g_object_set_data (G_OBJECT (dialog), "gimp", context->gimp); gtk_window_set_screen (GTK_WINDOW (dialog), gtk_widget_get_screen (GTK_WIDGET (editor))); gtk_window_set_role (GTK_WINDOW (dialog), "gimp-gradient-save-pov"); gtk_window_set_position (GTK_WINDOW (dialog), GTK_WIN_POS_MOUSE); gtk_file_chooser_set_do_overwrite_confirmation (GTK_FILE_CHOOSER (dialog), TRUE); g_signal_connect (dialog, "response", G_CALLBACK (gradients_save_as_pov_ray_response), gradient); g_signal_connect (dialog, "delete-event", G_CALLBACK (gtk_true), NULL); g_signal_connect_object (dialog, "destroy", G_CALLBACK (g_object_unref), g_object_ref (gradient), G_CONNECT_SWAPPED); gimp_help_connect (dialog, gimp_standard_help_func, GIMP_HELP_GRADIENT_SAVE_AS_POV, NULL); dialogs_attach_dialog (G_OBJECT (gradient), SAVE_AS_POV_DIALOG_KEY, dialog); } gtk_window_present (GTK_WINDOW (dialog)); }
void view_padding_color_cmd_callback (GtkAction *action, gint value, gpointer data) { GimpDisplay *display; GimpImageWindow *window; GimpDisplayShell *shell; GimpDisplayOptions *options; gboolean fullscreen; return_if_no_display (display, data); shell = gimp_display_get_shell (display); window = gimp_display_shell_get_window (shell); if (window) fullscreen = gimp_image_window_get_fullscreen (window); else fullscreen = FALSE; if (fullscreen) options = shell->fullscreen_options; else options = shell->options; #define PADDING_COLOR_DIALOG_KEY "gimp-padding-color-dialog" switch ((GimpCanvasPaddingMode) value) { case GIMP_CANVAS_PADDING_MODE_DEFAULT: case GIMP_CANVAS_PADDING_MODE_LIGHT_CHECK: case GIMP_CANVAS_PADDING_MODE_DARK_CHECK: dialogs_destroy_dialog (G_OBJECT (shell), PADDING_COLOR_DIALOG_KEY); options->padding_mode_set = TRUE; gimp_display_shell_set_padding (shell, (GimpCanvasPaddingMode) value, &options->padding_color); break; case GIMP_CANVAS_PADDING_MODE_CUSTOM: { GtkWidget *dialog; dialog = dialogs_get_dialog (G_OBJECT (shell), PADDING_COLOR_DIALOG_KEY); if (! dialog) { GimpImage *image = gimp_display_get_image (display); GimpDisplayShell *shell = gimp_display_get_shell (display); dialog = gimp_color_dialog_new (GIMP_VIEWABLE (image), action_data_get_context (data), _("Set Canvas Padding Color"), GIMP_ICON_FONT, _("Set Custom Canvas Padding Color"), GTK_WIDGET (shell), NULL, NULL, &options->padding_color, FALSE, FALSE); g_signal_connect (dialog, "update", G_CALLBACK (view_padding_color_dialog_update), shell); dialogs_attach_dialog (G_OBJECT (shell), PADDING_COLOR_DIALOG_KEY, dialog); } gtk_window_present (GTK_WINDOW (dialog)); } break; case GIMP_CANVAS_PADDING_MODE_RESET: dialogs_destroy_dialog (G_OBJECT (shell), PADDING_COLOR_DIALOG_KEY); { GimpDisplayOptions *default_options; options->padding_mode_set = FALSE; if (fullscreen) default_options = display->config->default_fullscreen_view; else default_options = display->config->default_view; gimp_display_shell_set_padding (shell, default_options->padding_mode, &default_options->padding_color); } break; } }