mirror of https://github.com/GNOME/gimp.git
converted tabs to spaces.
2004-01-16 Michael Natterer <mitch@gimp.org> * app/gui/edit-commands.[ch]: converted tabs to spaces. (cut,copy_named_buffer_callback): unref the buffer after adding it to gimp->named_buffers. Seems we leaked all named buffers... Removed code duplication I have just introduced: * app/gui/edit-commands.[ch] removed edit_paste_into_cmd_callback(). Instead, pass the "paste_into" boolean as "guint action" to gimp_edit_paste_cmd_callback(). * app/gui/image-menu.c: changed accordingly. * app/widgets/gimpbufferview.c: added utility function gimp_buffer_view_paste() and call it from the paste and paste_into callbacks.
This commit is contained in:
parent
6f96febac3
commit
b6683376af
19
ChangeLog
19
ChangeLog
|
@ -1,3 +1,22 @@
|
|||
2004-01-16 Michael Natterer <mitch@gimp.org>
|
||||
|
||||
* app/gui/edit-commands.[ch]: converted tabs to spaces.
|
||||
|
||||
(cut,copy_named_buffer_callback): unref the buffer after adding it
|
||||
to gimp->named_buffers. Seems we leaked all named buffers...
|
||||
|
||||
Removed code duplication I have just introduced:
|
||||
|
||||
* app/gui/edit-commands.[ch] removed
|
||||
edit_paste_into_cmd_callback(). Instead, pass the "paste_into"
|
||||
boolean as "guint action" to gimp_edit_paste_cmd_callback().
|
||||
|
||||
* app/gui/image-menu.c: changed accordingly.
|
||||
|
||||
* app/widgets/gimpbufferview.c: added utility function
|
||||
gimp_buffer_view_paste() and call it from the paste and paste_into
|
||||
callbacks.
|
||||
|
||||
2004-01-15 Manish Singh <yosh@gimp.org>
|
||||
|
||||
* app/text/gimpfontlist.c: Minor cleanup, add note about using
|
||||
|
|
|
@ -74,18 +74,18 @@
|
|||
/* local function prototypes */
|
||||
|
||||
static void cut_named_buffer_callback (GtkWidget *widget,
|
||||
const gchar *name,
|
||||
gpointer data);
|
||||
const gchar *name,
|
||||
gpointer data);
|
||||
static void copy_named_buffer_callback (GtkWidget *widget,
|
||||
const gchar *name,
|
||||
gpointer data);
|
||||
const gchar *name,
|
||||
gpointer data);
|
||||
|
||||
|
||||
/* public functions */
|
||||
|
||||
void
|
||||
edit_undo_cmd_callback (GtkWidget *widget,
|
||||
gpointer data)
|
||||
gpointer data)
|
||||
{
|
||||
GimpImage *gimage;
|
||||
return_if_no_image (gimage, data);
|
||||
|
@ -96,7 +96,7 @@ edit_undo_cmd_callback (GtkWidget *widget,
|
|||
|
||||
void
|
||||
edit_redo_cmd_callback (GtkWidget *widget,
|
||||
gpointer data)
|
||||
gpointer data)
|
||||
{
|
||||
GimpImage *gimage;
|
||||
return_if_no_image (gimage, data);
|
||||
|
@ -107,13 +107,13 @@ edit_redo_cmd_callback (GtkWidget *widget,
|
|||
|
||||
void
|
||||
edit_cut_cmd_callback (GtkWidget *widget,
|
||||
gpointer data)
|
||||
gpointer data)
|
||||
{
|
||||
GimpDisplay *gdisp;
|
||||
return_if_no_display (gdisp, data);
|
||||
|
||||
if (gimp_edit_cut (gdisp->gimage,
|
||||
gimp_image_active_drawable (gdisp->gimage)))
|
||||
gimp_image_active_drawable (gdisp->gimage)))
|
||||
{
|
||||
gimp_image_flush (gdisp->gimage);
|
||||
}
|
||||
|
@ -121,7 +121,7 @@ edit_cut_cmd_callback (GtkWidget *widget,
|
|||
|
||||
void
|
||||
edit_copy_cmd_callback (GtkWidget *widget,
|
||||
gpointer data)
|
||||
gpointer data)
|
||||
{
|
||||
GimpImage *gimage;
|
||||
return_if_no_image (gimage, data);
|
||||
|
@ -134,11 +134,15 @@ edit_copy_cmd_callback (GtkWidget *widget,
|
|||
|
||||
void
|
||||
edit_paste_cmd_callback (GtkWidget *widget,
|
||||
gpointer data)
|
||||
gpointer data,
|
||||
guint action)
|
||||
{
|
||||
GimpDisplay *gdisp;
|
||||
gboolean paste_into;
|
||||
return_if_no_display (gdisp, data);
|
||||
|
||||
paste_into = (gboolean) action;
|
||||
|
||||
if (gdisp->gimage->gimp->global_buffer)
|
||||
{
|
||||
GimpDisplayShell *shell;
|
||||
|
@ -149,35 +153,9 @@ edit_paste_cmd_callback (GtkWidget *widget,
|
|||
gimp_display_shell_untransform_viewport (shell, &x, &y, &width, &height);
|
||||
|
||||
if (gimp_edit_paste (gdisp->gimage,
|
||||
gimp_image_active_drawable (gdisp->gimage),
|
||||
gdisp->gimage->gimp->global_buffer,
|
||||
FALSE, x, y, width, height))
|
||||
{
|
||||
gimp_image_flush (gdisp->gimage);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
edit_paste_into_cmd_callback (GtkWidget *widget,
|
||||
gpointer data)
|
||||
{
|
||||
GimpDisplay *gdisp;
|
||||
return_if_no_display (gdisp, data);
|
||||
|
||||
if (gdisp->gimage->gimp->global_buffer)
|
||||
{
|
||||
GimpDisplayShell *shell;
|
||||
gint x, y, width, height;
|
||||
|
||||
shell = GIMP_DISPLAY_SHELL (gdisp->shell);
|
||||
|
||||
gimp_display_shell_untransform_viewport (shell, &x, &y, &width, &height);
|
||||
|
||||
if (gimp_edit_paste (gdisp->gimage,
|
||||
gimp_image_active_drawable (gdisp->gimage),
|
||||
gdisp->gimage->gimp->global_buffer,
|
||||
TRUE, x, y, width, height))
|
||||
gimp_image_active_drawable (gdisp->gimage),
|
||||
gdisp->gimage->gimp->global_buffer,
|
||||
paste_into, x, y, width, height))
|
||||
{
|
||||
gimp_image_flush (gdisp->gimage);
|
||||
}
|
||||
|
@ -186,7 +164,7 @@ edit_paste_into_cmd_callback (GtkWidget *widget,
|
|||
|
||||
void
|
||||
edit_paste_as_new_cmd_callback (GtkWidget *widget,
|
||||
gpointer data)
|
||||
gpointer data)
|
||||
{
|
||||
GimpDisplay *gdisp;
|
||||
return_if_no_display (gdisp, data);
|
||||
|
@ -194,14 +172,14 @@ edit_paste_as_new_cmd_callback (GtkWidget *widget,
|
|||
if (gdisp->gimage->gimp->global_buffer)
|
||||
{
|
||||
gimp_edit_paste_as_new (gdisp->gimage->gimp,
|
||||
gdisp->gimage,
|
||||
gdisp->gimage->gimp->global_buffer);
|
||||
gdisp->gimage,
|
||||
gdisp->gimage->gimp->global_buffer);
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
edit_named_cut_cmd_callback (GtkWidget *widget,
|
||||
gpointer data)
|
||||
gpointer data)
|
||||
{
|
||||
GimpDisplay *gdisp;
|
||||
GtkWidget *qbox;
|
||||
|
@ -209,18 +187,18 @@ edit_named_cut_cmd_callback (GtkWidget *widget,
|
|||
|
||||
qbox = gimp_query_string_box (_("Cut Named"),
|
||||
gdisp->shell,
|
||||
gimp_standard_help_func,
|
||||
GIMP_HELP_BUFFER_CUT,
|
||||
_("Enter a name for this buffer"),
|
||||
NULL,
|
||||
G_OBJECT (gdisp->gimage), "disconnect",
|
||||
cut_named_buffer_callback, gdisp->gimage);
|
||||
gimp_standard_help_func,
|
||||
GIMP_HELP_BUFFER_CUT,
|
||||
_("Enter a name for this buffer"),
|
||||
NULL,
|
||||
G_OBJECT (gdisp->gimage), "disconnect",
|
||||
cut_named_buffer_callback, gdisp->gimage);
|
||||
gtk_widget_show (qbox);
|
||||
}
|
||||
|
||||
void
|
||||
edit_named_copy_cmd_callback (GtkWidget *widget,
|
||||
gpointer data)
|
||||
gpointer data)
|
||||
{
|
||||
GimpDisplay *gdisp;
|
||||
GtkWidget *qbox;
|
||||
|
@ -228,18 +206,18 @@ edit_named_copy_cmd_callback (GtkWidget *widget,
|
|||
|
||||
qbox = gimp_query_string_box (_("Copy Named"),
|
||||
gdisp->shell,
|
||||
gimp_standard_help_func,
|
||||
GIMP_HELP_BUFFER_COPY,
|
||||
_("Enter a name for this buffer"),
|
||||
NULL,
|
||||
G_OBJECT (gdisp->gimage), "disconnect",
|
||||
copy_named_buffer_callback, gdisp->gimage);
|
||||
gimp_standard_help_func,
|
||||
GIMP_HELP_BUFFER_COPY,
|
||||
_("Enter a name for this buffer"),
|
||||
NULL,
|
||||
G_OBJECT (gdisp->gimage), "disconnect",
|
||||
copy_named_buffer_callback, gdisp->gimage);
|
||||
gtk_widget_show (qbox);
|
||||
}
|
||||
|
||||
void
|
||||
edit_named_paste_cmd_callback (GtkWidget *widget,
|
||||
gpointer data)
|
||||
gpointer data)
|
||||
{
|
||||
gimp_dialog_factory_dialog_raise (global_dock_factory,
|
||||
gtk_widget_get_screen (widget),
|
||||
|
@ -248,7 +226,7 @@ edit_named_paste_cmd_callback (GtkWidget *widget,
|
|||
|
||||
void
|
||||
edit_clear_cmd_callback (GtkWidget *widget,
|
||||
gpointer data)
|
||||
gpointer data)
|
||||
{
|
||||
GimpImage *gimage;
|
||||
return_if_no_image (gimage, data);
|
||||
|
@ -259,8 +237,8 @@ edit_clear_cmd_callback (GtkWidget *widget,
|
|||
|
||||
void
|
||||
edit_fill_cmd_callback (GtkWidget *widget,
|
||||
gpointer data,
|
||||
guint action)
|
||||
gpointer data,
|
||||
guint action)
|
||||
{
|
||||
GimpImage *gimage;
|
||||
GimpFillType fill_type;
|
||||
|
@ -274,7 +252,7 @@ edit_fill_cmd_callback (GtkWidget *widget,
|
|||
|
||||
void
|
||||
edit_stroke_cmd_callback (GtkWidget *widget,
|
||||
gpointer data)
|
||||
gpointer data)
|
||||
{
|
||||
GimpImage *gimage;
|
||||
return_if_no_image (gimage, data);
|
||||
|
@ -313,16 +291,13 @@ edit_stroke_selection (GimpItem *item,
|
|||
|
||||
static void
|
||||
cut_named_buffer_callback (GtkWidget *widget,
|
||||
const gchar *name,
|
||||
gpointer data)
|
||||
const gchar *name,
|
||||
gpointer data)
|
||||
{
|
||||
GimpImage *gimage = GIMP_IMAGE (data);
|
||||
const GimpBuffer *cut_buffer;
|
||||
GimpImage *gimage;
|
||||
|
||||
gimage = (GimpImage *) data;
|
||||
|
||||
cut_buffer = gimp_edit_cut (gimage,
|
||||
gimp_image_active_drawable (gimage));
|
||||
cut_buffer = gimp_edit_cut (gimage, gimp_image_active_drawable (gimage));
|
||||
|
||||
if (cut_buffer)
|
||||
{
|
||||
|
@ -335,6 +310,7 @@ cut_named_buffer_callback (GtkWidget *widget,
|
|||
|
||||
gimp_container_add (gimage->gimp->named_buffers,
|
||||
GIMP_OBJECT (new_buffer));
|
||||
g_object_unref (new_buffer);
|
||||
}
|
||||
|
||||
gimp_image_flush (gimage);
|
||||
|
@ -345,13 +321,10 @@ copy_named_buffer_callback (GtkWidget *widget,
|
|||
const gchar *name,
|
||||
gpointer data)
|
||||
{
|
||||
GimpImage *gimage = GIMP_IMAGE (data);
|
||||
const GimpBuffer *copy_buffer;
|
||||
GimpImage *gimage;
|
||||
|
||||
gimage = (GimpImage *) data;
|
||||
|
||||
copy_buffer = gimp_edit_copy (gimage,
|
||||
gimp_image_active_drawable (gimage));
|
||||
copy_buffer = gimp_edit_copy (gimage, gimp_image_active_drawable (gimage));
|
||||
|
||||
if (copy_buffer)
|
||||
{
|
||||
|
@ -364,5 +337,6 @@ copy_named_buffer_callback (GtkWidget *widget,
|
|||
|
||||
gimp_container_add (gimage->gimp->named_buffers,
|
||||
GIMP_OBJECT (new_buffer));
|
||||
g_object_unref (new_buffer);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -21,32 +21,31 @@
|
|||
|
||||
|
||||
void edit_undo_cmd_callback (GtkWidget *widget,
|
||||
gpointer data);
|
||||
gpointer data);
|
||||
void edit_redo_cmd_callback (GtkWidget *widget,
|
||||
gpointer data);
|
||||
gpointer data);
|
||||
void edit_cut_cmd_callback (GtkWidget *widget,
|
||||
gpointer data);
|
||||
gpointer data);
|
||||
void edit_copy_cmd_callback (GtkWidget *widget,
|
||||
gpointer data);
|
||||
gpointer data);
|
||||
void edit_paste_cmd_callback (GtkWidget *widget,
|
||||
gpointer data);
|
||||
void edit_paste_into_cmd_callback (GtkWidget *widget,
|
||||
gpointer data);
|
||||
gpointer data,
|
||||
guint action);
|
||||
void edit_paste_as_new_cmd_callback (GtkWidget *widget,
|
||||
gpointer data);
|
||||
gpointer data);
|
||||
void edit_named_cut_cmd_callback (GtkWidget *widget,
|
||||
gpointer data);
|
||||
gpointer data);
|
||||
void edit_named_copy_cmd_callback (GtkWidget *widget,
|
||||
gpointer data);
|
||||
gpointer data);
|
||||
void edit_named_paste_cmd_callback (GtkWidget *widget,
|
||||
gpointer data);
|
||||
gpointer data);
|
||||
void edit_clear_cmd_callback (GtkWidget *widget,
|
||||
gpointer data);
|
||||
gpointer data);
|
||||
void edit_fill_cmd_callback (GtkWidget *widget,
|
||||
gpointer data,
|
||||
guint action);
|
||||
gpointer data,
|
||||
guint action);
|
||||
void edit_stroke_cmd_callback (GtkWidget *widget,
|
||||
gpointer data);
|
||||
gpointer data);
|
||||
|
||||
void edit_stroke_selection (GimpItem *item,
|
||||
GtkWidget *parent);
|
||||
|
|
|
@ -74,18 +74,18 @@
|
|||
/* local function prototypes */
|
||||
|
||||
static void cut_named_buffer_callback (GtkWidget *widget,
|
||||
const gchar *name,
|
||||
gpointer data);
|
||||
const gchar *name,
|
||||
gpointer data);
|
||||
static void copy_named_buffer_callback (GtkWidget *widget,
|
||||
const gchar *name,
|
||||
gpointer data);
|
||||
const gchar *name,
|
||||
gpointer data);
|
||||
|
||||
|
||||
/* public functions */
|
||||
|
||||
void
|
||||
edit_undo_cmd_callback (GtkWidget *widget,
|
||||
gpointer data)
|
||||
gpointer data)
|
||||
{
|
||||
GimpImage *gimage;
|
||||
return_if_no_image (gimage, data);
|
||||
|
@ -96,7 +96,7 @@ edit_undo_cmd_callback (GtkWidget *widget,
|
|||
|
||||
void
|
||||
edit_redo_cmd_callback (GtkWidget *widget,
|
||||
gpointer data)
|
||||
gpointer data)
|
||||
{
|
||||
GimpImage *gimage;
|
||||
return_if_no_image (gimage, data);
|
||||
|
@ -107,13 +107,13 @@ edit_redo_cmd_callback (GtkWidget *widget,
|
|||
|
||||
void
|
||||
edit_cut_cmd_callback (GtkWidget *widget,
|
||||
gpointer data)
|
||||
gpointer data)
|
||||
{
|
||||
GimpDisplay *gdisp;
|
||||
return_if_no_display (gdisp, data);
|
||||
|
||||
if (gimp_edit_cut (gdisp->gimage,
|
||||
gimp_image_active_drawable (gdisp->gimage)))
|
||||
gimp_image_active_drawable (gdisp->gimage)))
|
||||
{
|
||||
gimp_image_flush (gdisp->gimage);
|
||||
}
|
||||
|
@ -121,7 +121,7 @@ edit_cut_cmd_callback (GtkWidget *widget,
|
|||
|
||||
void
|
||||
edit_copy_cmd_callback (GtkWidget *widget,
|
||||
gpointer data)
|
||||
gpointer data)
|
||||
{
|
||||
GimpImage *gimage;
|
||||
return_if_no_image (gimage, data);
|
||||
|
@ -134,11 +134,15 @@ edit_copy_cmd_callback (GtkWidget *widget,
|
|||
|
||||
void
|
||||
edit_paste_cmd_callback (GtkWidget *widget,
|
||||
gpointer data)
|
||||
gpointer data,
|
||||
guint action)
|
||||
{
|
||||
GimpDisplay *gdisp;
|
||||
gboolean paste_into;
|
||||
return_if_no_display (gdisp, data);
|
||||
|
||||
paste_into = (gboolean) action;
|
||||
|
||||
if (gdisp->gimage->gimp->global_buffer)
|
||||
{
|
||||
GimpDisplayShell *shell;
|
||||
|
@ -149,35 +153,9 @@ edit_paste_cmd_callback (GtkWidget *widget,
|
|||
gimp_display_shell_untransform_viewport (shell, &x, &y, &width, &height);
|
||||
|
||||
if (gimp_edit_paste (gdisp->gimage,
|
||||
gimp_image_active_drawable (gdisp->gimage),
|
||||
gdisp->gimage->gimp->global_buffer,
|
||||
FALSE, x, y, width, height))
|
||||
{
|
||||
gimp_image_flush (gdisp->gimage);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
edit_paste_into_cmd_callback (GtkWidget *widget,
|
||||
gpointer data)
|
||||
{
|
||||
GimpDisplay *gdisp;
|
||||
return_if_no_display (gdisp, data);
|
||||
|
||||
if (gdisp->gimage->gimp->global_buffer)
|
||||
{
|
||||
GimpDisplayShell *shell;
|
||||
gint x, y, width, height;
|
||||
|
||||
shell = GIMP_DISPLAY_SHELL (gdisp->shell);
|
||||
|
||||
gimp_display_shell_untransform_viewport (shell, &x, &y, &width, &height);
|
||||
|
||||
if (gimp_edit_paste (gdisp->gimage,
|
||||
gimp_image_active_drawable (gdisp->gimage),
|
||||
gdisp->gimage->gimp->global_buffer,
|
||||
TRUE, x, y, width, height))
|
||||
gimp_image_active_drawable (gdisp->gimage),
|
||||
gdisp->gimage->gimp->global_buffer,
|
||||
paste_into, x, y, width, height))
|
||||
{
|
||||
gimp_image_flush (gdisp->gimage);
|
||||
}
|
||||
|
@ -186,7 +164,7 @@ edit_paste_into_cmd_callback (GtkWidget *widget,
|
|||
|
||||
void
|
||||
edit_paste_as_new_cmd_callback (GtkWidget *widget,
|
||||
gpointer data)
|
||||
gpointer data)
|
||||
{
|
||||
GimpDisplay *gdisp;
|
||||
return_if_no_display (gdisp, data);
|
||||
|
@ -194,14 +172,14 @@ edit_paste_as_new_cmd_callback (GtkWidget *widget,
|
|||
if (gdisp->gimage->gimp->global_buffer)
|
||||
{
|
||||
gimp_edit_paste_as_new (gdisp->gimage->gimp,
|
||||
gdisp->gimage,
|
||||
gdisp->gimage->gimp->global_buffer);
|
||||
gdisp->gimage,
|
||||
gdisp->gimage->gimp->global_buffer);
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
edit_named_cut_cmd_callback (GtkWidget *widget,
|
||||
gpointer data)
|
||||
gpointer data)
|
||||
{
|
||||
GimpDisplay *gdisp;
|
||||
GtkWidget *qbox;
|
||||
|
@ -209,18 +187,18 @@ edit_named_cut_cmd_callback (GtkWidget *widget,
|
|||
|
||||
qbox = gimp_query_string_box (_("Cut Named"),
|
||||
gdisp->shell,
|
||||
gimp_standard_help_func,
|
||||
GIMP_HELP_BUFFER_CUT,
|
||||
_("Enter a name for this buffer"),
|
||||
NULL,
|
||||
G_OBJECT (gdisp->gimage), "disconnect",
|
||||
cut_named_buffer_callback, gdisp->gimage);
|
||||
gimp_standard_help_func,
|
||||
GIMP_HELP_BUFFER_CUT,
|
||||
_("Enter a name for this buffer"),
|
||||
NULL,
|
||||
G_OBJECT (gdisp->gimage), "disconnect",
|
||||
cut_named_buffer_callback, gdisp->gimage);
|
||||
gtk_widget_show (qbox);
|
||||
}
|
||||
|
||||
void
|
||||
edit_named_copy_cmd_callback (GtkWidget *widget,
|
||||
gpointer data)
|
||||
gpointer data)
|
||||
{
|
||||
GimpDisplay *gdisp;
|
||||
GtkWidget *qbox;
|
||||
|
@ -228,18 +206,18 @@ edit_named_copy_cmd_callback (GtkWidget *widget,
|
|||
|
||||
qbox = gimp_query_string_box (_("Copy Named"),
|
||||
gdisp->shell,
|
||||
gimp_standard_help_func,
|
||||
GIMP_HELP_BUFFER_COPY,
|
||||
_("Enter a name for this buffer"),
|
||||
NULL,
|
||||
G_OBJECT (gdisp->gimage), "disconnect",
|
||||
copy_named_buffer_callback, gdisp->gimage);
|
||||
gimp_standard_help_func,
|
||||
GIMP_HELP_BUFFER_COPY,
|
||||
_("Enter a name for this buffer"),
|
||||
NULL,
|
||||
G_OBJECT (gdisp->gimage), "disconnect",
|
||||
copy_named_buffer_callback, gdisp->gimage);
|
||||
gtk_widget_show (qbox);
|
||||
}
|
||||
|
||||
void
|
||||
edit_named_paste_cmd_callback (GtkWidget *widget,
|
||||
gpointer data)
|
||||
gpointer data)
|
||||
{
|
||||
gimp_dialog_factory_dialog_raise (global_dock_factory,
|
||||
gtk_widget_get_screen (widget),
|
||||
|
@ -248,7 +226,7 @@ edit_named_paste_cmd_callback (GtkWidget *widget,
|
|||
|
||||
void
|
||||
edit_clear_cmd_callback (GtkWidget *widget,
|
||||
gpointer data)
|
||||
gpointer data)
|
||||
{
|
||||
GimpImage *gimage;
|
||||
return_if_no_image (gimage, data);
|
||||
|
@ -259,8 +237,8 @@ edit_clear_cmd_callback (GtkWidget *widget,
|
|||
|
||||
void
|
||||
edit_fill_cmd_callback (GtkWidget *widget,
|
||||
gpointer data,
|
||||
guint action)
|
||||
gpointer data,
|
||||
guint action)
|
||||
{
|
||||
GimpImage *gimage;
|
||||
GimpFillType fill_type;
|
||||
|
@ -274,7 +252,7 @@ edit_fill_cmd_callback (GtkWidget *widget,
|
|||
|
||||
void
|
||||
edit_stroke_cmd_callback (GtkWidget *widget,
|
||||
gpointer data)
|
||||
gpointer data)
|
||||
{
|
||||
GimpImage *gimage;
|
||||
return_if_no_image (gimage, data);
|
||||
|
@ -313,16 +291,13 @@ edit_stroke_selection (GimpItem *item,
|
|||
|
||||
static void
|
||||
cut_named_buffer_callback (GtkWidget *widget,
|
||||
const gchar *name,
|
||||
gpointer data)
|
||||
const gchar *name,
|
||||
gpointer data)
|
||||
{
|
||||
GimpImage *gimage = GIMP_IMAGE (data);
|
||||
const GimpBuffer *cut_buffer;
|
||||
GimpImage *gimage;
|
||||
|
||||
gimage = (GimpImage *) data;
|
||||
|
||||
cut_buffer = gimp_edit_cut (gimage,
|
||||
gimp_image_active_drawable (gimage));
|
||||
cut_buffer = gimp_edit_cut (gimage, gimp_image_active_drawable (gimage));
|
||||
|
||||
if (cut_buffer)
|
||||
{
|
||||
|
@ -335,6 +310,7 @@ cut_named_buffer_callback (GtkWidget *widget,
|
|||
|
||||
gimp_container_add (gimage->gimp->named_buffers,
|
||||
GIMP_OBJECT (new_buffer));
|
||||
g_object_unref (new_buffer);
|
||||
}
|
||||
|
||||
gimp_image_flush (gimage);
|
||||
|
@ -345,13 +321,10 @@ copy_named_buffer_callback (GtkWidget *widget,
|
|||
const gchar *name,
|
||||
gpointer data)
|
||||
{
|
||||
GimpImage *gimage = GIMP_IMAGE (data);
|
||||
const GimpBuffer *copy_buffer;
|
||||
GimpImage *gimage;
|
||||
|
||||
gimage = (GimpImage *) data;
|
||||
|
||||
copy_buffer = gimp_edit_copy (gimage,
|
||||
gimp_image_active_drawable (gimage));
|
||||
copy_buffer = gimp_edit_copy (gimage, gimp_image_active_drawable (gimage));
|
||||
|
||||
if (copy_buffer)
|
||||
{
|
||||
|
@ -364,5 +337,6 @@ copy_named_buffer_callback (GtkWidget *widget,
|
|||
|
||||
gimp_container_add (gimage->gimp->named_buffers,
|
||||
GIMP_OBJECT (new_buffer));
|
||||
g_object_unref (new_buffer);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -21,32 +21,31 @@
|
|||
|
||||
|
||||
void edit_undo_cmd_callback (GtkWidget *widget,
|
||||
gpointer data);
|
||||
gpointer data);
|
||||
void edit_redo_cmd_callback (GtkWidget *widget,
|
||||
gpointer data);
|
||||
gpointer data);
|
||||
void edit_cut_cmd_callback (GtkWidget *widget,
|
||||
gpointer data);
|
||||
gpointer data);
|
||||
void edit_copy_cmd_callback (GtkWidget *widget,
|
||||
gpointer data);
|
||||
gpointer data);
|
||||
void edit_paste_cmd_callback (GtkWidget *widget,
|
||||
gpointer data);
|
||||
void edit_paste_into_cmd_callback (GtkWidget *widget,
|
||||
gpointer data);
|
||||
gpointer data,
|
||||
guint action);
|
||||
void edit_paste_as_new_cmd_callback (GtkWidget *widget,
|
||||
gpointer data);
|
||||
gpointer data);
|
||||
void edit_named_cut_cmd_callback (GtkWidget *widget,
|
||||
gpointer data);
|
||||
gpointer data);
|
||||
void edit_named_copy_cmd_callback (GtkWidget *widget,
|
||||
gpointer data);
|
||||
gpointer data);
|
||||
void edit_named_paste_cmd_callback (GtkWidget *widget,
|
||||
gpointer data);
|
||||
gpointer data);
|
||||
void edit_clear_cmd_callback (GtkWidget *widget,
|
||||
gpointer data);
|
||||
gpointer data);
|
||||
void edit_fill_cmd_callback (GtkWidget *widget,
|
||||
gpointer data,
|
||||
guint action);
|
||||
gpointer data,
|
||||
guint action);
|
||||
void edit_stroke_cmd_callback (GtkWidget *widget,
|
||||
gpointer data);
|
||||
gpointer data);
|
||||
|
||||
void edit_stroke_selection (GimpItem *item,
|
||||
GtkWidget *parent);
|
||||
|
|
|
@ -187,12 +187,12 @@ GimpItemFactoryEntry image_menu_entries[] =
|
|||
NULL,
|
||||
GIMP_HELP_EDIT_COPY, NULL },
|
||||
{ { N_("/Edit/_Paste"), "<control>V",
|
||||
edit_paste_cmd_callback, 0,
|
||||
edit_paste_cmd_callback, (guint) FALSE,
|
||||
"<StockItem>", GTK_STOCK_PASTE },
|
||||
NULL,
|
||||
GIMP_HELP_EDIT_PASTE, NULL },
|
||||
{ { N_("/Edit/Paste _Into"), NULL,
|
||||
edit_paste_into_cmd_callback, 0,
|
||||
edit_paste_cmd_callback, (guint) TRUE,
|
||||
"<StockItem>", GIMP_STOCK_PASTE_INTO },
|
||||
NULL,
|
||||
GIMP_HELP_EDIT_PASTE_INTO, NULL },
|
||||
|
|
|
@ -187,12 +187,12 @@ GimpItemFactoryEntry image_menu_entries[] =
|
|||
NULL,
|
||||
GIMP_HELP_EDIT_COPY, NULL },
|
||||
{ { N_("/Edit/_Paste"), "<control>V",
|
||||
edit_paste_cmd_callback, 0,
|
||||
edit_paste_cmd_callback, (guint) FALSE,
|
||||
"<StockItem>", GTK_STOCK_PASTE },
|
||||
NULL,
|
||||
GIMP_HELP_EDIT_PASTE, NULL },
|
||||
{ { N_("/Edit/Paste _Into"), NULL,
|
||||
edit_paste_into_cmd_callback, 0,
|
||||
edit_paste_cmd_callback, (guint) TRUE,
|
||||
"<StockItem>", GIMP_STOCK_PASTE_INTO },
|
||||
NULL,
|
||||
GIMP_HELP_EDIT_PASTE_INTO, NULL },
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
* Copyright (C) 1995 Spencer Kimball and Peter Mattis
|
||||
*
|
||||
* gimpbufferview.c
|
||||
* Copyright (C) 2001 Michael Natterer <mitch@gimp.org>
|
||||
* Copyright (C) 2001-2004 Michael Natterer <mitch@gimp.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
@ -53,6 +53,8 @@
|
|||
static void gimp_buffer_view_class_init (GimpBufferViewClass *klass);
|
||||
static void gimp_buffer_view_init (GimpBufferView *view);
|
||||
|
||||
static void gimp_buffer_view_paste (GimpBufferView *view,
|
||||
gboolean paste_into);
|
||||
static void gimp_buffer_view_paste_clicked (GtkWidget *widget,
|
||||
GimpBufferView *view);
|
||||
static void gimp_buffer_view_paste_into_clicked (GtkWidget *widget,
|
||||
|
@ -201,8 +203,8 @@ gimp_buffer_view_new (GimpViewType view_type,
|
|||
}
|
||||
|
||||
static void
|
||||
gimp_buffer_view_paste_clicked (GtkWidget *widget,
|
||||
GimpBufferView *view)
|
||||
gimp_buffer_view_paste (GimpBufferView *view,
|
||||
gboolean paste_into)
|
||||
{
|
||||
GimpContainerEditor *editor = GIMP_CONTAINER_EDITOR (view);
|
||||
GimpBuffer *buffer;
|
||||
|
@ -236,54 +238,25 @@ gimp_buffer_view_paste_clicked (GtkWidget *widget,
|
|||
if (gimage)
|
||||
{
|
||||
gimp_edit_paste (gimage, gimp_image_active_drawable (gimage),
|
||||
buffer, FALSE, x, y, width, height);
|
||||
buffer, paste_into, x, y, width, height);
|
||||
|
||||
gimp_image_flush (gimage);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
gimp_buffer_view_paste_clicked (GtkWidget *widget,
|
||||
GimpBufferView *view)
|
||||
{
|
||||
gimp_buffer_view_paste (view, FALSE);
|
||||
}
|
||||
|
||||
static void
|
||||
gimp_buffer_view_paste_into_clicked (GtkWidget *widget,
|
||||
GimpBufferView *view)
|
||||
{
|
||||
GimpContainerEditor *editor = GIMP_CONTAINER_EDITOR (view);
|
||||
GimpBuffer *buffer;
|
||||
|
||||
buffer = gimp_context_get_buffer (editor->view->context);
|
||||
|
||||
if (buffer && gimp_container_have (editor->view->container,
|
||||
GIMP_OBJECT (buffer)))
|
||||
{
|
||||
GimpDisplay *gdisp = gimp_context_get_display (editor->view->context);
|
||||
GimpImage *gimage = NULL;
|
||||
gint x = -1;
|
||||
gint y = -1;
|
||||
gint width = -1;
|
||||
gint height = -1;;
|
||||
|
||||
if (gdisp)
|
||||
{
|
||||
GimpDisplayShell *shell = GIMP_DISPLAY_SHELL (gdisp->shell);
|
||||
|
||||
gimp_display_shell_untransform_viewport (shell,
|
||||
&x, &y, &width, &height);
|
||||
|
||||
gimage = gdisp->gimage;
|
||||
}
|
||||
else
|
||||
{
|
||||
gimage = gimp_context_get_image (editor->view->context);
|
||||
}
|
||||
|
||||
if (gimage)
|
||||
{
|
||||
gimp_edit_paste (gimage, gimp_image_active_drawable (gimage),
|
||||
buffer, TRUE, x, y, width, height);
|
||||
|
||||
gimp_image_flush (gimage);
|
||||
}
|
||||
}
|
||||
gimp_buffer_view_paste (view, TRUE);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -317,8 +290,7 @@ gimp_buffer_view_delete_clicked (GtkWidget *widget,
|
|||
if (buffer && gimp_container_have (editor->view->container,
|
||||
GIMP_OBJECT (buffer)))
|
||||
{
|
||||
gimp_container_remove (editor->view->container,
|
||||
GIMP_OBJECT (buffer));
|
||||
gimp_container_remove (editor->view->container, GIMP_OBJECT (buffer));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -326,18 +298,15 @@ static void
|
|||
gimp_buffer_view_select_item (GimpContainerEditor *editor,
|
||||
GimpViewable *viewable)
|
||||
{
|
||||
GimpBufferView *view;
|
||||
|
||||
gboolean paste_sensitive = FALSE;
|
||||
gboolean paste_into_sensitive = FALSE;
|
||||
gboolean paste_as_new_sensitive = FALSE;
|
||||
gboolean delete_sensitive = FALSE;
|
||||
GimpBufferView *view = GIMP_BUFFER_VIEW (editor);
|
||||
gboolean paste_sensitive = FALSE;
|
||||
gboolean paste_into_sensitive = FALSE;
|
||||
gboolean paste_as_new_sensitive = FALSE;
|
||||
gboolean delete_sensitive = FALSE;
|
||||
|
||||
if (GIMP_CONTAINER_EDITOR_CLASS (parent_class)->select_item)
|
||||
GIMP_CONTAINER_EDITOR_CLASS (parent_class)->select_item (editor, viewable);
|
||||
|
||||
view = GIMP_BUFFER_VIEW (editor);
|
||||
|
||||
if (viewable && gimp_container_have (editor->view->container,
|
||||
GIMP_OBJECT (viewable)))
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue