mirror of https://github.com/GNOME/gimp.git
app/widgets/Makefile.am new file containing
2002-03-22 Michael Natterer <mitch@gimp.org> * app/widgets/Makefile.am * app/widgets/gimppreview-utils.[ch]: new file containing gimp_preview_type_from_viewable() so we don't need to include *all* vieable and preview subclasses in gimppreview.c * app/widgets/gimppreview.c: gimp_preview_set_viewable: never unset the drag source if the viewable is set to NULL (fixes dock tabs, thanks to sjburges), also check the passed viweable's type. * themes/Default/gtkrc: set the paned handle_size to 6 pixels, so it has the same size as the dock_separator. * etc/gtkrc_user: set both to 5 here, also fiddle around with the global focus padding and the GtkOptionMenu indicator.
This commit is contained in:
parent
a226586d9f
commit
adef3095c1
17
ChangeLog
17
ChangeLog
|
@ -1,3 +1,20 @@
|
||||||
|
2002-03-22 Michael Natterer <mitch@gimp.org>
|
||||||
|
|
||||||
|
* app/widgets/Makefile.am
|
||||||
|
* app/widgets/gimppreview-utils.[ch]: new file containing
|
||||||
|
gimp_preview_type_from_viewable() so we don't need to include
|
||||||
|
*all* vieable and preview subclasses in gimppreview.c
|
||||||
|
|
||||||
|
* app/widgets/gimppreview.c: gimp_preview_set_viewable: never
|
||||||
|
unset the drag source if the viewable is set to NULL (fixes dock
|
||||||
|
tabs, thanks to sjburges), also check the passed viweable's type.
|
||||||
|
|
||||||
|
* themes/Default/gtkrc: set the paned handle_size to 6 pixels, so
|
||||||
|
it has the same size as the dock_separator.
|
||||||
|
|
||||||
|
* etc/gtkrc_user: set both to 5 here, also fiddle around with
|
||||||
|
the global focus padding and the GtkOptionMenu indicator.
|
||||||
|
|
||||||
2002-03-22 Sven Neumann <sven@gimp.org>
|
2002-03-22 Sven Neumann <sven@gimp.org>
|
||||||
|
|
||||||
* app/plug-in/plug-in-rc.c
|
* app/plug-in/plug-in-rc.c
|
||||||
|
|
|
@ -127,6 +127,8 @@ libappwidgets_a_sources = @STRIP_BEGIN@ \
|
||||||
gimppatternpreview.h \
|
gimppatternpreview.h \
|
||||||
gimppreview.c \
|
gimppreview.c \
|
||||||
gimppreview.h \
|
gimppreview.h \
|
||||||
|
gimppreview-utils.c \
|
||||||
|
gimppreview-utils.h \
|
||||||
gimptoolbox.c \
|
gimptoolbox.c \
|
||||||
gimptoolbox.h \
|
gimptoolbox.h \
|
||||||
gimptoolbox-color-area.c \
|
gimptoolbox-color-area.c \
|
||||||
|
|
|
@ -0,0 +1,94 @@
|
||||||
|
/* The GIMP -- an image manipulation program
|
||||||
|
* Copyright (C) 1995 Spencer Kimball and Peter Mattis
|
||||||
|
*
|
||||||
|
* gimppreview-utils.c
|
||||||
|
* Copyright (C) 2001-2002 Michael Natterer <mitch@gimp.org>
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "config.h"
|
||||||
|
|
||||||
|
#include <gtk/gtk.h>
|
||||||
|
|
||||||
|
#include "widgets-types.h"
|
||||||
|
|
||||||
|
#include "core/gimpbrush.h"
|
||||||
|
#include "core/gimpbuffer.h"
|
||||||
|
#include "core/gimpdrawable.h"
|
||||||
|
#include "core/gimpgradient.h"
|
||||||
|
#include "core/gimpimage.h"
|
||||||
|
#include "core/gimpimagefile.h"
|
||||||
|
#include "core/gimppalette.h"
|
||||||
|
#include "core/gimppattern.h"
|
||||||
|
#include "core/gimptoolinfo.h"
|
||||||
|
|
||||||
|
#include "gimpbrushpreview.h"
|
||||||
|
#include "gimpbufferpreview.h"
|
||||||
|
#include "gimpdrawablepreview.h"
|
||||||
|
#include "gimpgradientpreview.h"
|
||||||
|
#include "gimpimagepreview.h"
|
||||||
|
#include "gimpimagefilepreview.h"
|
||||||
|
#include "gimppalettepreview.h"
|
||||||
|
#include "gimppatternpreview.h"
|
||||||
|
#include "gimptoolinfopreview.h"
|
||||||
|
|
||||||
|
|
||||||
|
GType
|
||||||
|
gimp_preview_type_from_viewable (GimpViewable *viewable)
|
||||||
|
{
|
||||||
|
GType type = GIMP_TYPE_PREVIEW;
|
||||||
|
|
||||||
|
g_return_val_if_fail (GIMP_IS_VIEWABLE (viewable), G_TYPE_NONE);
|
||||||
|
|
||||||
|
if (GIMP_IS_BRUSH (viewable))
|
||||||
|
{
|
||||||
|
type = GIMP_TYPE_BRUSH_PREVIEW;
|
||||||
|
}
|
||||||
|
else if (GIMP_IS_DRAWABLE (viewable))
|
||||||
|
{
|
||||||
|
type = GIMP_TYPE_DRAWABLE_PREVIEW;
|
||||||
|
}
|
||||||
|
else if (GIMP_IS_IMAGE (viewable))
|
||||||
|
{
|
||||||
|
type = GIMP_TYPE_IMAGE_PREVIEW;
|
||||||
|
}
|
||||||
|
else if (GIMP_IS_PATTERN (viewable))
|
||||||
|
{
|
||||||
|
type = GIMP_TYPE_PATTERN_PREVIEW;
|
||||||
|
}
|
||||||
|
else if (GIMP_IS_GRADIENT (viewable))
|
||||||
|
{
|
||||||
|
type = GIMP_TYPE_GRADIENT_PREVIEW;
|
||||||
|
}
|
||||||
|
else if (GIMP_IS_PALETTE (viewable))
|
||||||
|
{
|
||||||
|
type = GIMP_TYPE_PALETTE_PREVIEW;
|
||||||
|
}
|
||||||
|
else if (GIMP_IS_BUFFER (viewable))
|
||||||
|
{
|
||||||
|
type = GIMP_TYPE_BUFFER_PREVIEW;
|
||||||
|
}
|
||||||
|
else if (GIMP_IS_TOOL_INFO (viewable))
|
||||||
|
{
|
||||||
|
type = GIMP_TYPE_TOOL_INFO_PREVIEW;
|
||||||
|
}
|
||||||
|
else if (GIMP_IS_IMAGEFILE (viewable))
|
||||||
|
{
|
||||||
|
type = GIMP_TYPE_IMAGEFILE_PREVIEW;
|
||||||
|
}
|
||||||
|
|
||||||
|
return type;
|
||||||
|
}
|
|
@ -0,0 +1,29 @@
|
||||||
|
/* The GIMP -- an image manipulation program
|
||||||
|
* Copyright (C) 1995 Spencer Kimball and Peter Mattis
|
||||||
|
*
|
||||||
|
* gimppreview.h
|
||||||
|
* Copyright (C) 2001 Michael Natterer <mitch@gimp.org>
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __GIMP_PREVIEW_UTILS_H__
|
||||||
|
#define __GIMP_PREVIEW_UTILS_H__
|
||||||
|
|
||||||
|
|
||||||
|
GType gimp_preview_type_from_viewable (GimpViewable *viewable);
|
||||||
|
|
||||||
|
|
||||||
|
#endif /* __GIMP_PREVIEW_UTILS_H__ */
|
|
@ -34,30 +34,14 @@
|
||||||
|
|
||||||
#include "base/temp-buf.h"
|
#include "base/temp-buf.h"
|
||||||
|
|
||||||
#include "core/gimpbrush.h"
|
|
||||||
#include "core/gimpbuffer.h"
|
|
||||||
#include "core/gimpdrawable.h"
|
|
||||||
#include "core/gimpgradient.h"
|
|
||||||
#include "core/gimpimage.h"
|
|
||||||
#include "core/gimpimagefile.h"
|
|
||||||
#include "core/gimpmarshal.h"
|
#include "core/gimpmarshal.h"
|
||||||
#include "core/gimppalette.h"
|
#include "core/gimpviewable.h"
|
||||||
#include "core/gimppattern.h"
|
|
||||||
#include "core/gimptoolinfo.h"
|
|
||||||
|
|
||||||
#include "display/gimpdisplayshell-render.h"
|
#include "display/gimpdisplayshell-render.h"
|
||||||
|
|
||||||
#include "gimpbrushpreview.h"
|
|
||||||
#include "gimpbufferpreview.h"
|
|
||||||
#include "gimpdnd.h"
|
#include "gimpdnd.h"
|
||||||
#include "gimpdrawablepreview.h"
|
|
||||||
#include "gimpgradientpreview.h"
|
|
||||||
#include "gimpimagepreview.h"
|
|
||||||
#include "gimpimagefilepreview.h"
|
|
||||||
#include "gimppalettepreview.h"
|
|
||||||
#include "gimppatternpreview.h"
|
|
||||||
#include "gimppreview.h"
|
#include "gimppreview.h"
|
||||||
#include "gimptoolinfopreview.h"
|
#include "gimppreview-utils.h"
|
||||||
|
|
||||||
|
|
||||||
#define PREVIEW_BYTES 3
|
#define PREVIEW_BYTES 3
|
||||||
|
@ -350,7 +334,7 @@ gimp_preview_expose_event (GtkWidget *widget,
|
||||||
extern gboolean gimp_debug_memsize;
|
extern gboolean gimp_debug_memsize;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static gint
|
static gboolean
|
||||||
gimp_preview_button_press_event (GtkWidget *widget,
|
gimp_preview_button_press_event (GtkWidget *widget,
|
||||||
GdkEventButton *bevent)
|
GdkEventButton *bevent)
|
||||||
{
|
{
|
||||||
|
@ -413,7 +397,7 @@ gimp_preview_button_press_event (GtkWidget *widget,
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static gint
|
static gboolean
|
||||||
gimp_preview_button_release_event (GtkWidget *widget,
|
gimp_preview_button_release_event (GtkWidget *widget,
|
||||||
GdkEventButton *bevent)
|
GdkEventButton *bevent)
|
||||||
{
|
{
|
||||||
|
@ -461,7 +445,7 @@ gimp_preview_button_release_event (GtkWidget *widget,
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static gint
|
static gboolean
|
||||||
gimp_preview_enter_notify_event (GtkWidget *widget,
|
gimp_preview_enter_notify_event (GtkWidget *widget,
|
||||||
GdkEventCrossing *event)
|
GdkEventCrossing *event)
|
||||||
{
|
{
|
||||||
|
@ -480,7 +464,7 @@ gimp_preview_enter_notify_event (GtkWidget *widget,
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static gint
|
static gboolean
|
||||||
gimp_preview_leave_notify_event (GtkWidget *widget,
|
gimp_preview_leave_notify_event (GtkWidget *widget,
|
||||||
GdkEventCrossing *event)
|
GdkEventCrossing *event)
|
||||||
{
|
{
|
||||||
|
@ -499,51 +483,6 @@ gimp_preview_leave_notify_event (GtkWidget *widget,
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static GimpPreview *
|
|
||||||
gimp_preview_new_by_type (GimpViewable *viewable)
|
|
||||||
{
|
|
||||||
GType type = GIMP_TYPE_PREVIEW;
|
|
||||||
|
|
||||||
if (GIMP_IS_BRUSH (viewable))
|
|
||||||
{
|
|
||||||
type = GIMP_TYPE_BRUSH_PREVIEW;
|
|
||||||
}
|
|
||||||
else if (GIMP_IS_DRAWABLE (viewable))
|
|
||||||
{
|
|
||||||
type = GIMP_TYPE_DRAWABLE_PREVIEW;
|
|
||||||
}
|
|
||||||
else if (GIMP_IS_IMAGE (viewable))
|
|
||||||
{
|
|
||||||
type = GIMP_TYPE_IMAGE_PREVIEW;
|
|
||||||
}
|
|
||||||
else if (GIMP_IS_PATTERN (viewable))
|
|
||||||
{
|
|
||||||
type = GIMP_TYPE_PATTERN_PREVIEW;
|
|
||||||
}
|
|
||||||
else if (GIMP_IS_GRADIENT (viewable))
|
|
||||||
{
|
|
||||||
type = GIMP_TYPE_GRADIENT_PREVIEW;
|
|
||||||
}
|
|
||||||
else if (GIMP_IS_PALETTE (viewable))
|
|
||||||
{
|
|
||||||
type = GIMP_TYPE_PALETTE_PREVIEW;
|
|
||||||
}
|
|
||||||
else if (GIMP_IS_BUFFER (viewable))
|
|
||||||
{
|
|
||||||
type = GIMP_TYPE_BUFFER_PREVIEW;
|
|
||||||
}
|
|
||||||
else if (GIMP_IS_TOOL_INFO (viewable))
|
|
||||||
{
|
|
||||||
type = GIMP_TYPE_TOOL_INFO_PREVIEW;
|
|
||||||
}
|
|
||||||
else if (GIMP_IS_IMAGEFILE (viewable))
|
|
||||||
{
|
|
||||||
type = GIMP_TYPE_IMAGEFILE_PREVIEW;
|
|
||||||
}
|
|
||||||
|
|
||||||
return g_object_new (type, NULL);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* public functions */
|
/* public functions */
|
||||||
|
|
||||||
|
@ -559,7 +498,7 @@ gimp_preview_new (GimpViewable *viewable,
|
||||||
g_return_val_if_fail (size > 0 && size <= 256, NULL);
|
g_return_val_if_fail (size > 0 && size <= 256, NULL);
|
||||||
g_return_val_if_fail (border_width >= 0 && border_width <= 16, NULL);
|
g_return_val_if_fail (border_width >= 0 && border_width <= 16, NULL);
|
||||||
|
|
||||||
preview = gimp_preview_new_by_type (viewable);
|
preview = g_object_new (gimp_preview_type_from_viewable (viewable), NULL);
|
||||||
|
|
||||||
preview->is_popup = is_popup;
|
preview->is_popup = is_popup;
|
||||||
|
|
||||||
|
@ -586,7 +525,7 @@ gimp_preview_new_full (GimpViewable *viewable,
|
||||||
g_return_val_if_fail (height > 0 && height <= 256, NULL);
|
g_return_val_if_fail (height > 0 && height <= 256, NULL);
|
||||||
g_return_val_if_fail (border_width >= 0 && border_width <= 16, NULL);
|
g_return_val_if_fail (border_width >= 0 && border_width <= 16, NULL);
|
||||||
|
|
||||||
preview = gimp_preview_new_by_type (viewable);
|
preview = g_object_new (gimp_preview_type_from_viewable (viewable), NULL);
|
||||||
|
|
||||||
preview->is_popup = is_popup;
|
preview->is_popup = is_popup;
|
||||||
preview->clickable = clickable;
|
preview->clickable = clickable;
|
||||||
|
@ -605,16 +544,11 @@ gimp_preview_set_viewable (GimpPreview *preview,
|
||||||
{
|
{
|
||||||
g_return_if_fail (GIMP_IS_PREVIEW (preview));
|
g_return_if_fail (GIMP_IS_PREVIEW (preview));
|
||||||
g_return_if_fail (! viewable || GIMP_IS_VIEWABLE (viewable));
|
g_return_if_fail (! viewable || GIMP_IS_VIEWABLE (viewable));
|
||||||
|
g_return_if_fail (! viewable || (gimp_preview_type_from_viewable (viewable) ==
|
||||||
|
G_TYPE_FROM_INSTANCE (preview)));
|
||||||
|
|
||||||
if (preview->viewable)
|
if (preview->viewable)
|
||||||
{
|
{
|
||||||
if (! preview->is_popup)
|
|
||||||
{
|
|
||||||
gtk_drag_source_unset (GTK_WIDGET (preview));
|
|
||||||
gimp_dnd_viewable_source_unset (GTK_WIDGET (preview),
|
|
||||||
G_TYPE_FROM_INSTANCE (preview->viewable));
|
|
||||||
}
|
|
||||||
|
|
||||||
g_object_remove_weak_pointer (G_OBJECT (preview->viewable),
|
g_object_remove_weak_pointer (G_OBJECT (preview->viewable),
|
||||||
(gpointer *) &preview->viewable);
|
(gpointer *) &preview->viewable);
|
||||||
|
|
||||||
|
@ -627,23 +561,22 @@ gimp_preview_set_viewable (GimpPreview *preview,
|
||||||
preview);
|
preview);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
else if (viewable && ! preview->is_popup)
|
||||||
|
{
|
||||||
|
gimp_gtk_drag_source_set_by_type (GTK_WIDGET (preview),
|
||||||
|
GDK_BUTTON1_MASK | GDK_BUTTON2_MASK,
|
||||||
|
G_TYPE_FROM_INSTANCE (viewable),
|
||||||
|
GDK_ACTION_COPY);
|
||||||
|
gimp_dnd_viewable_source_set (GTK_WIDGET (preview),
|
||||||
|
G_TYPE_FROM_INSTANCE (viewable),
|
||||||
|
gimp_preview_drag_viewable,
|
||||||
|
NULL);
|
||||||
|
}
|
||||||
|
|
||||||
preview->viewable = viewable;
|
preview->viewable = viewable;
|
||||||
|
|
||||||
if (preview->viewable)
|
if (preview->viewable)
|
||||||
{
|
{
|
||||||
if (! preview->is_popup)
|
|
||||||
{
|
|
||||||
gimp_gtk_drag_source_set_by_type (GTK_WIDGET (preview),
|
|
||||||
GDK_BUTTON1_MASK | GDK_BUTTON2_MASK,
|
|
||||||
G_TYPE_FROM_INSTANCE (preview->viewable),
|
|
||||||
GDK_ACTION_COPY);
|
|
||||||
gimp_dnd_viewable_source_set (GTK_WIDGET (preview),
|
|
||||||
G_TYPE_FROM_INSTANCE (preview->viewable),
|
|
||||||
gimp_preview_drag_viewable,
|
|
||||||
NULL);
|
|
||||||
}
|
|
||||||
|
|
||||||
g_object_add_weak_pointer (G_OBJECT (preview->viewable),
|
g_object_add_weak_pointer (G_OBJECT (preview->viewable),
|
||||||
(gpointer *) &preview->viewable);
|
(gpointer *) &preview->viewable);
|
||||||
|
|
||||||
|
|
|
@ -34,30 +34,14 @@
|
||||||
|
|
||||||
#include "base/temp-buf.h"
|
#include "base/temp-buf.h"
|
||||||
|
|
||||||
#include "core/gimpbrush.h"
|
|
||||||
#include "core/gimpbuffer.h"
|
|
||||||
#include "core/gimpdrawable.h"
|
|
||||||
#include "core/gimpgradient.h"
|
|
||||||
#include "core/gimpimage.h"
|
|
||||||
#include "core/gimpimagefile.h"
|
|
||||||
#include "core/gimpmarshal.h"
|
#include "core/gimpmarshal.h"
|
||||||
#include "core/gimppalette.h"
|
#include "core/gimpviewable.h"
|
||||||
#include "core/gimppattern.h"
|
|
||||||
#include "core/gimptoolinfo.h"
|
|
||||||
|
|
||||||
#include "display/gimpdisplayshell-render.h"
|
#include "display/gimpdisplayshell-render.h"
|
||||||
|
|
||||||
#include "gimpbrushpreview.h"
|
|
||||||
#include "gimpbufferpreview.h"
|
|
||||||
#include "gimpdnd.h"
|
#include "gimpdnd.h"
|
||||||
#include "gimpdrawablepreview.h"
|
|
||||||
#include "gimpgradientpreview.h"
|
|
||||||
#include "gimpimagepreview.h"
|
|
||||||
#include "gimpimagefilepreview.h"
|
|
||||||
#include "gimppalettepreview.h"
|
|
||||||
#include "gimppatternpreview.h"
|
|
||||||
#include "gimppreview.h"
|
#include "gimppreview.h"
|
||||||
#include "gimptoolinfopreview.h"
|
#include "gimppreview-utils.h"
|
||||||
|
|
||||||
|
|
||||||
#define PREVIEW_BYTES 3
|
#define PREVIEW_BYTES 3
|
||||||
|
@ -350,7 +334,7 @@ gimp_preview_expose_event (GtkWidget *widget,
|
||||||
extern gboolean gimp_debug_memsize;
|
extern gboolean gimp_debug_memsize;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static gint
|
static gboolean
|
||||||
gimp_preview_button_press_event (GtkWidget *widget,
|
gimp_preview_button_press_event (GtkWidget *widget,
|
||||||
GdkEventButton *bevent)
|
GdkEventButton *bevent)
|
||||||
{
|
{
|
||||||
|
@ -413,7 +397,7 @@ gimp_preview_button_press_event (GtkWidget *widget,
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static gint
|
static gboolean
|
||||||
gimp_preview_button_release_event (GtkWidget *widget,
|
gimp_preview_button_release_event (GtkWidget *widget,
|
||||||
GdkEventButton *bevent)
|
GdkEventButton *bevent)
|
||||||
{
|
{
|
||||||
|
@ -461,7 +445,7 @@ gimp_preview_button_release_event (GtkWidget *widget,
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static gint
|
static gboolean
|
||||||
gimp_preview_enter_notify_event (GtkWidget *widget,
|
gimp_preview_enter_notify_event (GtkWidget *widget,
|
||||||
GdkEventCrossing *event)
|
GdkEventCrossing *event)
|
||||||
{
|
{
|
||||||
|
@ -480,7 +464,7 @@ gimp_preview_enter_notify_event (GtkWidget *widget,
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static gint
|
static gboolean
|
||||||
gimp_preview_leave_notify_event (GtkWidget *widget,
|
gimp_preview_leave_notify_event (GtkWidget *widget,
|
||||||
GdkEventCrossing *event)
|
GdkEventCrossing *event)
|
||||||
{
|
{
|
||||||
|
@ -499,51 +483,6 @@ gimp_preview_leave_notify_event (GtkWidget *widget,
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static GimpPreview *
|
|
||||||
gimp_preview_new_by_type (GimpViewable *viewable)
|
|
||||||
{
|
|
||||||
GType type = GIMP_TYPE_PREVIEW;
|
|
||||||
|
|
||||||
if (GIMP_IS_BRUSH (viewable))
|
|
||||||
{
|
|
||||||
type = GIMP_TYPE_BRUSH_PREVIEW;
|
|
||||||
}
|
|
||||||
else if (GIMP_IS_DRAWABLE (viewable))
|
|
||||||
{
|
|
||||||
type = GIMP_TYPE_DRAWABLE_PREVIEW;
|
|
||||||
}
|
|
||||||
else if (GIMP_IS_IMAGE (viewable))
|
|
||||||
{
|
|
||||||
type = GIMP_TYPE_IMAGE_PREVIEW;
|
|
||||||
}
|
|
||||||
else if (GIMP_IS_PATTERN (viewable))
|
|
||||||
{
|
|
||||||
type = GIMP_TYPE_PATTERN_PREVIEW;
|
|
||||||
}
|
|
||||||
else if (GIMP_IS_GRADIENT (viewable))
|
|
||||||
{
|
|
||||||
type = GIMP_TYPE_GRADIENT_PREVIEW;
|
|
||||||
}
|
|
||||||
else if (GIMP_IS_PALETTE (viewable))
|
|
||||||
{
|
|
||||||
type = GIMP_TYPE_PALETTE_PREVIEW;
|
|
||||||
}
|
|
||||||
else if (GIMP_IS_BUFFER (viewable))
|
|
||||||
{
|
|
||||||
type = GIMP_TYPE_BUFFER_PREVIEW;
|
|
||||||
}
|
|
||||||
else if (GIMP_IS_TOOL_INFO (viewable))
|
|
||||||
{
|
|
||||||
type = GIMP_TYPE_TOOL_INFO_PREVIEW;
|
|
||||||
}
|
|
||||||
else if (GIMP_IS_IMAGEFILE (viewable))
|
|
||||||
{
|
|
||||||
type = GIMP_TYPE_IMAGEFILE_PREVIEW;
|
|
||||||
}
|
|
||||||
|
|
||||||
return g_object_new (type, NULL);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* public functions */
|
/* public functions */
|
||||||
|
|
||||||
|
@ -559,7 +498,7 @@ gimp_preview_new (GimpViewable *viewable,
|
||||||
g_return_val_if_fail (size > 0 && size <= 256, NULL);
|
g_return_val_if_fail (size > 0 && size <= 256, NULL);
|
||||||
g_return_val_if_fail (border_width >= 0 && border_width <= 16, NULL);
|
g_return_val_if_fail (border_width >= 0 && border_width <= 16, NULL);
|
||||||
|
|
||||||
preview = gimp_preview_new_by_type (viewable);
|
preview = g_object_new (gimp_preview_type_from_viewable (viewable), NULL);
|
||||||
|
|
||||||
preview->is_popup = is_popup;
|
preview->is_popup = is_popup;
|
||||||
|
|
||||||
|
@ -586,7 +525,7 @@ gimp_preview_new_full (GimpViewable *viewable,
|
||||||
g_return_val_if_fail (height > 0 && height <= 256, NULL);
|
g_return_val_if_fail (height > 0 && height <= 256, NULL);
|
||||||
g_return_val_if_fail (border_width >= 0 && border_width <= 16, NULL);
|
g_return_val_if_fail (border_width >= 0 && border_width <= 16, NULL);
|
||||||
|
|
||||||
preview = gimp_preview_new_by_type (viewable);
|
preview = g_object_new (gimp_preview_type_from_viewable (viewable), NULL);
|
||||||
|
|
||||||
preview->is_popup = is_popup;
|
preview->is_popup = is_popup;
|
||||||
preview->clickable = clickable;
|
preview->clickable = clickable;
|
||||||
|
@ -605,16 +544,11 @@ gimp_preview_set_viewable (GimpPreview *preview,
|
||||||
{
|
{
|
||||||
g_return_if_fail (GIMP_IS_PREVIEW (preview));
|
g_return_if_fail (GIMP_IS_PREVIEW (preview));
|
||||||
g_return_if_fail (! viewable || GIMP_IS_VIEWABLE (viewable));
|
g_return_if_fail (! viewable || GIMP_IS_VIEWABLE (viewable));
|
||||||
|
g_return_if_fail (! viewable || (gimp_preview_type_from_viewable (viewable) ==
|
||||||
|
G_TYPE_FROM_INSTANCE (preview)));
|
||||||
|
|
||||||
if (preview->viewable)
|
if (preview->viewable)
|
||||||
{
|
{
|
||||||
if (! preview->is_popup)
|
|
||||||
{
|
|
||||||
gtk_drag_source_unset (GTK_WIDGET (preview));
|
|
||||||
gimp_dnd_viewable_source_unset (GTK_WIDGET (preview),
|
|
||||||
G_TYPE_FROM_INSTANCE (preview->viewable));
|
|
||||||
}
|
|
||||||
|
|
||||||
g_object_remove_weak_pointer (G_OBJECT (preview->viewable),
|
g_object_remove_weak_pointer (G_OBJECT (preview->viewable),
|
||||||
(gpointer *) &preview->viewable);
|
(gpointer *) &preview->viewable);
|
||||||
|
|
||||||
|
@ -627,23 +561,22 @@ gimp_preview_set_viewable (GimpPreview *preview,
|
||||||
preview);
|
preview);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
else if (viewable && ! preview->is_popup)
|
||||||
|
{
|
||||||
|
gimp_gtk_drag_source_set_by_type (GTK_WIDGET (preview),
|
||||||
|
GDK_BUTTON1_MASK | GDK_BUTTON2_MASK,
|
||||||
|
G_TYPE_FROM_INSTANCE (viewable),
|
||||||
|
GDK_ACTION_COPY);
|
||||||
|
gimp_dnd_viewable_source_set (GTK_WIDGET (preview),
|
||||||
|
G_TYPE_FROM_INSTANCE (viewable),
|
||||||
|
gimp_preview_drag_viewable,
|
||||||
|
NULL);
|
||||||
|
}
|
||||||
|
|
||||||
preview->viewable = viewable;
|
preview->viewable = viewable;
|
||||||
|
|
||||||
if (preview->viewable)
|
if (preview->viewable)
|
||||||
{
|
{
|
||||||
if (! preview->is_popup)
|
|
||||||
{
|
|
||||||
gimp_gtk_drag_source_set_by_type (GTK_WIDGET (preview),
|
|
||||||
GDK_BUTTON1_MASK | GDK_BUTTON2_MASK,
|
|
||||||
G_TYPE_FROM_INSTANCE (preview->viewable),
|
|
||||||
GDK_ACTION_COPY);
|
|
||||||
gimp_dnd_viewable_source_set (GTK_WIDGET (preview),
|
|
||||||
G_TYPE_FROM_INSTANCE (preview->viewable),
|
|
||||||
gimp_preview_drag_viewable,
|
|
||||||
NULL);
|
|
||||||
}
|
|
||||||
|
|
||||||
g_object_add_weak_pointer (G_OBJECT (preview->viewable),
|
g_object_add_weak_pointer (G_OBJECT (preview->viewable),
|
||||||
(gpointer *) &preview->viewable);
|
(gpointer *) &preview->viewable);
|
||||||
|
|
||||||
|
|
|
@ -34,30 +34,14 @@
|
||||||
|
|
||||||
#include "base/temp-buf.h"
|
#include "base/temp-buf.h"
|
||||||
|
|
||||||
#include "core/gimpbrush.h"
|
|
||||||
#include "core/gimpbuffer.h"
|
|
||||||
#include "core/gimpdrawable.h"
|
|
||||||
#include "core/gimpgradient.h"
|
|
||||||
#include "core/gimpimage.h"
|
|
||||||
#include "core/gimpimagefile.h"
|
|
||||||
#include "core/gimpmarshal.h"
|
#include "core/gimpmarshal.h"
|
||||||
#include "core/gimppalette.h"
|
#include "core/gimpviewable.h"
|
||||||
#include "core/gimppattern.h"
|
|
||||||
#include "core/gimptoolinfo.h"
|
|
||||||
|
|
||||||
#include "display/gimpdisplayshell-render.h"
|
#include "display/gimpdisplayshell-render.h"
|
||||||
|
|
||||||
#include "gimpbrushpreview.h"
|
|
||||||
#include "gimpbufferpreview.h"
|
|
||||||
#include "gimpdnd.h"
|
#include "gimpdnd.h"
|
||||||
#include "gimpdrawablepreview.h"
|
|
||||||
#include "gimpgradientpreview.h"
|
|
||||||
#include "gimpimagepreview.h"
|
|
||||||
#include "gimpimagefilepreview.h"
|
|
||||||
#include "gimppalettepreview.h"
|
|
||||||
#include "gimppatternpreview.h"
|
|
||||||
#include "gimppreview.h"
|
#include "gimppreview.h"
|
||||||
#include "gimptoolinfopreview.h"
|
#include "gimppreview-utils.h"
|
||||||
|
|
||||||
|
|
||||||
#define PREVIEW_BYTES 3
|
#define PREVIEW_BYTES 3
|
||||||
|
@ -350,7 +334,7 @@ gimp_preview_expose_event (GtkWidget *widget,
|
||||||
extern gboolean gimp_debug_memsize;
|
extern gboolean gimp_debug_memsize;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static gint
|
static gboolean
|
||||||
gimp_preview_button_press_event (GtkWidget *widget,
|
gimp_preview_button_press_event (GtkWidget *widget,
|
||||||
GdkEventButton *bevent)
|
GdkEventButton *bevent)
|
||||||
{
|
{
|
||||||
|
@ -413,7 +397,7 @@ gimp_preview_button_press_event (GtkWidget *widget,
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static gint
|
static gboolean
|
||||||
gimp_preview_button_release_event (GtkWidget *widget,
|
gimp_preview_button_release_event (GtkWidget *widget,
|
||||||
GdkEventButton *bevent)
|
GdkEventButton *bevent)
|
||||||
{
|
{
|
||||||
|
@ -461,7 +445,7 @@ gimp_preview_button_release_event (GtkWidget *widget,
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static gint
|
static gboolean
|
||||||
gimp_preview_enter_notify_event (GtkWidget *widget,
|
gimp_preview_enter_notify_event (GtkWidget *widget,
|
||||||
GdkEventCrossing *event)
|
GdkEventCrossing *event)
|
||||||
{
|
{
|
||||||
|
@ -480,7 +464,7 @@ gimp_preview_enter_notify_event (GtkWidget *widget,
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static gint
|
static gboolean
|
||||||
gimp_preview_leave_notify_event (GtkWidget *widget,
|
gimp_preview_leave_notify_event (GtkWidget *widget,
|
||||||
GdkEventCrossing *event)
|
GdkEventCrossing *event)
|
||||||
{
|
{
|
||||||
|
@ -499,51 +483,6 @@ gimp_preview_leave_notify_event (GtkWidget *widget,
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static GimpPreview *
|
|
||||||
gimp_preview_new_by_type (GimpViewable *viewable)
|
|
||||||
{
|
|
||||||
GType type = GIMP_TYPE_PREVIEW;
|
|
||||||
|
|
||||||
if (GIMP_IS_BRUSH (viewable))
|
|
||||||
{
|
|
||||||
type = GIMP_TYPE_BRUSH_PREVIEW;
|
|
||||||
}
|
|
||||||
else if (GIMP_IS_DRAWABLE (viewable))
|
|
||||||
{
|
|
||||||
type = GIMP_TYPE_DRAWABLE_PREVIEW;
|
|
||||||
}
|
|
||||||
else if (GIMP_IS_IMAGE (viewable))
|
|
||||||
{
|
|
||||||
type = GIMP_TYPE_IMAGE_PREVIEW;
|
|
||||||
}
|
|
||||||
else if (GIMP_IS_PATTERN (viewable))
|
|
||||||
{
|
|
||||||
type = GIMP_TYPE_PATTERN_PREVIEW;
|
|
||||||
}
|
|
||||||
else if (GIMP_IS_GRADIENT (viewable))
|
|
||||||
{
|
|
||||||
type = GIMP_TYPE_GRADIENT_PREVIEW;
|
|
||||||
}
|
|
||||||
else if (GIMP_IS_PALETTE (viewable))
|
|
||||||
{
|
|
||||||
type = GIMP_TYPE_PALETTE_PREVIEW;
|
|
||||||
}
|
|
||||||
else if (GIMP_IS_BUFFER (viewable))
|
|
||||||
{
|
|
||||||
type = GIMP_TYPE_BUFFER_PREVIEW;
|
|
||||||
}
|
|
||||||
else if (GIMP_IS_TOOL_INFO (viewable))
|
|
||||||
{
|
|
||||||
type = GIMP_TYPE_TOOL_INFO_PREVIEW;
|
|
||||||
}
|
|
||||||
else if (GIMP_IS_IMAGEFILE (viewable))
|
|
||||||
{
|
|
||||||
type = GIMP_TYPE_IMAGEFILE_PREVIEW;
|
|
||||||
}
|
|
||||||
|
|
||||||
return g_object_new (type, NULL);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* public functions */
|
/* public functions */
|
||||||
|
|
||||||
|
@ -559,7 +498,7 @@ gimp_preview_new (GimpViewable *viewable,
|
||||||
g_return_val_if_fail (size > 0 && size <= 256, NULL);
|
g_return_val_if_fail (size > 0 && size <= 256, NULL);
|
||||||
g_return_val_if_fail (border_width >= 0 && border_width <= 16, NULL);
|
g_return_val_if_fail (border_width >= 0 && border_width <= 16, NULL);
|
||||||
|
|
||||||
preview = gimp_preview_new_by_type (viewable);
|
preview = g_object_new (gimp_preview_type_from_viewable (viewable), NULL);
|
||||||
|
|
||||||
preview->is_popup = is_popup;
|
preview->is_popup = is_popup;
|
||||||
|
|
||||||
|
@ -586,7 +525,7 @@ gimp_preview_new_full (GimpViewable *viewable,
|
||||||
g_return_val_if_fail (height > 0 && height <= 256, NULL);
|
g_return_val_if_fail (height > 0 && height <= 256, NULL);
|
||||||
g_return_val_if_fail (border_width >= 0 && border_width <= 16, NULL);
|
g_return_val_if_fail (border_width >= 0 && border_width <= 16, NULL);
|
||||||
|
|
||||||
preview = gimp_preview_new_by_type (viewable);
|
preview = g_object_new (gimp_preview_type_from_viewable (viewable), NULL);
|
||||||
|
|
||||||
preview->is_popup = is_popup;
|
preview->is_popup = is_popup;
|
||||||
preview->clickable = clickable;
|
preview->clickable = clickable;
|
||||||
|
@ -605,16 +544,11 @@ gimp_preview_set_viewable (GimpPreview *preview,
|
||||||
{
|
{
|
||||||
g_return_if_fail (GIMP_IS_PREVIEW (preview));
|
g_return_if_fail (GIMP_IS_PREVIEW (preview));
|
||||||
g_return_if_fail (! viewable || GIMP_IS_VIEWABLE (viewable));
|
g_return_if_fail (! viewable || GIMP_IS_VIEWABLE (viewable));
|
||||||
|
g_return_if_fail (! viewable || (gimp_preview_type_from_viewable (viewable) ==
|
||||||
|
G_TYPE_FROM_INSTANCE (preview)));
|
||||||
|
|
||||||
if (preview->viewable)
|
if (preview->viewable)
|
||||||
{
|
{
|
||||||
if (! preview->is_popup)
|
|
||||||
{
|
|
||||||
gtk_drag_source_unset (GTK_WIDGET (preview));
|
|
||||||
gimp_dnd_viewable_source_unset (GTK_WIDGET (preview),
|
|
||||||
G_TYPE_FROM_INSTANCE (preview->viewable));
|
|
||||||
}
|
|
||||||
|
|
||||||
g_object_remove_weak_pointer (G_OBJECT (preview->viewable),
|
g_object_remove_weak_pointer (G_OBJECT (preview->viewable),
|
||||||
(gpointer *) &preview->viewable);
|
(gpointer *) &preview->viewable);
|
||||||
|
|
||||||
|
@ -627,23 +561,22 @@ gimp_preview_set_viewable (GimpPreview *preview,
|
||||||
preview);
|
preview);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
else if (viewable && ! preview->is_popup)
|
||||||
|
{
|
||||||
|
gimp_gtk_drag_source_set_by_type (GTK_WIDGET (preview),
|
||||||
|
GDK_BUTTON1_MASK | GDK_BUTTON2_MASK,
|
||||||
|
G_TYPE_FROM_INSTANCE (viewable),
|
||||||
|
GDK_ACTION_COPY);
|
||||||
|
gimp_dnd_viewable_source_set (GTK_WIDGET (preview),
|
||||||
|
G_TYPE_FROM_INSTANCE (viewable),
|
||||||
|
gimp_preview_drag_viewable,
|
||||||
|
NULL);
|
||||||
|
}
|
||||||
|
|
||||||
preview->viewable = viewable;
|
preview->viewable = viewable;
|
||||||
|
|
||||||
if (preview->viewable)
|
if (preview->viewable)
|
||||||
{
|
{
|
||||||
if (! preview->is_popup)
|
|
||||||
{
|
|
||||||
gimp_gtk_drag_source_set_by_type (GTK_WIDGET (preview),
|
|
||||||
GDK_BUTTON1_MASK | GDK_BUTTON2_MASK,
|
|
||||||
G_TYPE_FROM_INSTANCE (preview->viewable),
|
|
||||||
GDK_ACTION_COPY);
|
|
||||||
gimp_dnd_viewable_source_set (GTK_WIDGET (preview),
|
|
||||||
G_TYPE_FROM_INSTANCE (preview->viewable),
|
|
||||||
gimp_preview_drag_viewable,
|
|
||||||
NULL);
|
|
||||||
}
|
|
||||||
|
|
||||||
g_object_add_weak_pointer (G_OBJECT (preview->viewable),
|
g_object_add_weak_pointer (G_OBJECT (preview->viewable),
|
||||||
(gpointer *) &preview->viewable);
|
(gpointer *) &preview->viewable);
|
||||||
|
|
||||||
|
|
|
@ -34,30 +34,14 @@
|
||||||
|
|
||||||
#include "base/temp-buf.h"
|
#include "base/temp-buf.h"
|
||||||
|
|
||||||
#include "core/gimpbrush.h"
|
|
||||||
#include "core/gimpbuffer.h"
|
|
||||||
#include "core/gimpdrawable.h"
|
|
||||||
#include "core/gimpgradient.h"
|
|
||||||
#include "core/gimpimage.h"
|
|
||||||
#include "core/gimpimagefile.h"
|
|
||||||
#include "core/gimpmarshal.h"
|
#include "core/gimpmarshal.h"
|
||||||
#include "core/gimppalette.h"
|
#include "core/gimpviewable.h"
|
||||||
#include "core/gimppattern.h"
|
|
||||||
#include "core/gimptoolinfo.h"
|
|
||||||
|
|
||||||
#include "display/gimpdisplayshell-render.h"
|
#include "display/gimpdisplayshell-render.h"
|
||||||
|
|
||||||
#include "gimpbrushpreview.h"
|
|
||||||
#include "gimpbufferpreview.h"
|
|
||||||
#include "gimpdnd.h"
|
#include "gimpdnd.h"
|
||||||
#include "gimpdrawablepreview.h"
|
|
||||||
#include "gimpgradientpreview.h"
|
|
||||||
#include "gimpimagepreview.h"
|
|
||||||
#include "gimpimagefilepreview.h"
|
|
||||||
#include "gimppalettepreview.h"
|
|
||||||
#include "gimppatternpreview.h"
|
|
||||||
#include "gimppreview.h"
|
#include "gimppreview.h"
|
||||||
#include "gimptoolinfopreview.h"
|
#include "gimppreview-utils.h"
|
||||||
|
|
||||||
|
|
||||||
#define PREVIEW_BYTES 3
|
#define PREVIEW_BYTES 3
|
||||||
|
@ -350,7 +334,7 @@ gimp_preview_expose_event (GtkWidget *widget,
|
||||||
extern gboolean gimp_debug_memsize;
|
extern gboolean gimp_debug_memsize;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static gint
|
static gboolean
|
||||||
gimp_preview_button_press_event (GtkWidget *widget,
|
gimp_preview_button_press_event (GtkWidget *widget,
|
||||||
GdkEventButton *bevent)
|
GdkEventButton *bevent)
|
||||||
{
|
{
|
||||||
|
@ -413,7 +397,7 @@ gimp_preview_button_press_event (GtkWidget *widget,
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static gint
|
static gboolean
|
||||||
gimp_preview_button_release_event (GtkWidget *widget,
|
gimp_preview_button_release_event (GtkWidget *widget,
|
||||||
GdkEventButton *bevent)
|
GdkEventButton *bevent)
|
||||||
{
|
{
|
||||||
|
@ -461,7 +445,7 @@ gimp_preview_button_release_event (GtkWidget *widget,
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static gint
|
static gboolean
|
||||||
gimp_preview_enter_notify_event (GtkWidget *widget,
|
gimp_preview_enter_notify_event (GtkWidget *widget,
|
||||||
GdkEventCrossing *event)
|
GdkEventCrossing *event)
|
||||||
{
|
{
|
||||||
|
@ -480,7 +464,7 @@ gimp_preview_enter_notify_event (GtkWidget *widget,
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static gint
|
static gboolean
|
||||||
gimp_preview_leave_notify_event (GtkWidget *widget,
|
gimp_preview_leave_notify_event (GtkWidget *widget,
|
||||||
GdkEventCrossing *event)
|
GdkEventCrossing *event)
|
||||||
{
|
{
|
||||||
|
@ -499,51 +483,6 @@ gimp_preview_leave_notify_event (GtkWidget *widget,
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static GimpPreview *
|
|
||||||
gimp_preview_new_by_type (GimpViewable *viewable)
|
|
||||||
{
|
|
||||||
GType type = GIMP_TYPE_PREVIEW;
|
|
||||||
|
|
||||||
if (GIMP_IS_BRUSH (viewable))
|
|
||||||
{
|
|
||||||
type = GIMP_TYPE_BRUSH_PREVIEW;
|
|
||||||
}
|
|
||||||
else if (GIMP_IS_DRAWABLE (viewable))
|
|
||||||
{
|
|
||||||
type = GIMP_TYPE_DRAWABLE_PREVIEW;
|
|
||||||
}
|
|
||||||
else if (GIMP_IS_IMAGE (viewable))
|
|
||||||
{
|
|
||||||
type = GIMP_TYPE_IMAGE_PREVIEW;
|
|
||||||
}
|
|
||||||
else if (GIMP_IS_PATTERN (viewable))
|
|
||||||
{
|
|
||||||
type = GIMP_TYPE_PATTERN_PREVIEW;
|
|
||||||
}
|
|
||||||
else if (GIMP_IS_GRADIENT (viewable))
|
|
||||||
{
|
|
||||||
type = GIMP_TYPE_GRADIENT_PREVIEW;
|
|
||||||
}
|
|
||||||
else if (GIMP_IS_PALETTE (viewable))
|
|
||||||
{
|
|
||||||
type = GIMP_TYPE_PALETTE_PREVIEW;
|
|
||||||
}
|
|
||||||
else if (GIMP_IS_BUFFER (viewable))
|
|
||||||
{
|
|
||||||
type = GIMP_TYPE_BUFFER_PREVIEW;
|
|
||||||
}
|
|
||||||
else if (GIMP_IS_TOOL_INFO (viewable))
|
|
||||||
{
|
|
||||||
type = GIMP_TYPE_TOOL_INFO_PREVIEW;
|
|
||||||
}
|
|
||||||
else if (GIMP_IS_IMAGEFILE (viewable))
|
|
||||||
{
|
|
||||||
type = GIMP_TYPE_IMAGEFILE_PREVIEW;
|
|
||||||
}
|
|
||||||
|
|
||||||
return g_object_new (type, NULL);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* public functions */
|
/* public functions */
|
||||||
|
|
||||||
|
@ -559,7 +498,7 @@ gimp_preview_new (GimpViewable *viewable,
|
||||||
g_return_val_if_fail (size > 0 && size <= 256, NULL);
|
g_return_val_if_fail (size > 0 && size <= 256, NULL);
|
||||||
g_return_val_if_fail (border_width >= 0 && border_width <= 16, NULL);
|
g_return_val_if_fail (border_width >= 0 && border_width <= 16, NULL);
|
||||||
|
|
||||||
preview = gimp_preview_new_by_type (viewable);
|
preview = g_object_new (gimp_preview_type_from_viewable (viewable), NULL);
|
||||||
|
|
||||||
preview->is_popup = is_popup;
|
preview->is_popup = is_popup;
|
||||||
|
|
||||||
|
@ -586,7 +525,7 @@ gimp_preview_new_full (GimpViewable *viewable,
|
||||||
g_return_val_if_fail (height > 0 && height <= 256, NULL);
|
g_return_val_if_fail (height > 0 && height <= 256, NULL);
|
||||||
g_return_val_if_fail (border_width >= 0 && border_width <= 16, NULL);
|
g_return_val_if_fail (border_width >= 0 && border_width <= 16, NULL);
|
||||||
|
|
||||||
preview = gimp_preview_new_by_type (viewable);
|
preview = g_object_new (gimp_preview_type_from_viewable (viewable), NULL);
|
||||||
|
|
||||||
preview->is_popup = is_popup;
|
preview->is_popup = is_popup;
|
||||||
preview->clickable = clickable;
|
preview->clickable = clickable;
|
||||||
|
@ -605,16 +544,11 @@ gimp_preview_set_viewable (GimpPreview *preview,
|
||||||
{
|
{
|
||||||
g_return_if_fail (GIMP_IS_PREVIEW (preview));
|
g_return_if_fail (GIMP_IS_PREVIEW (preview));
|
||||||
g_return_if_fail (! viewable || GIMP_IS_VIEWABLE (viewable));
|
g_return_if_fail (! viewable || GIMP_IS_VIEWABLE (viewable));
|
||||||
|
g_return_if_fail (! viewable || (gimp_preview_type_from_viewable (viewable) ==
|
||||||
|
G_TYPE_FROM_INSTANCE (preview)));
|
||||||
|
|
||||||
if (preview->viewable)
|
if (preview->viewable)
|
||||||
{
|
{
|
||||||
if (! preview->is_popup)
|
|
||||||
{
|
|
||||||
gtk_drag_source_unset (GTK_WIDGET (preview));
|
|
||||||
gimp_dnd_viewable_source_unset (GTK_WIDGET (preview),
|
|
||||||
G_TYPE_FROM_INSTANCE (preview->viewable));
|
|
||||||
}
|
|
||||||
|
|
||||||
g_object_remove_weak_pointer (G_OBJECT (preview->viewable),
|
g_object_remove_weak_pointer (G_OBJECT (preview->viewable),
|
||||||
(gpointer *) &preview->viewable);
|
(gpointer *) &preview->viewable);
|
||||||
|
|
||||||
|
@ -627,23 +561,22 @@ gimp_preview_set_viewable (GimpPreview *preview,
|
||||||
preview);
|
preview);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
else if (viewable && ! preview->is_popup)
|
||||||
|
{
|
||||||
|
gimp_gtk_drag_source_set_by_type (GTK_WIDGET (preview),
|
||||||
|
GDK_BUTTON1_MASK | GDK_BUTTON2_MASK,
|
||||||
|
G_TYPE_FROM_INSTANCE (viewable),
|
||||||
|
GDK_ACTION_COPY);
|
||||||
|
gimp_dnd_viewable_source_set (GTK_WIDGET (preview),
|
||||||
|
G_TYPE_FROM_INSTANCE (viewable),
|
||||||
|
gimp_preview_drag_viewable,
|
||||||
|
NULL);
|
||||||
|
}
|
||||||
|
|
||||||
preview->viewable = viewable;
|
preview->viewable = viewable;
|
||||||
|
|
||||||
if (preview->viewable)
|
if (preview->viewable)
|
||||||
{
|
{
|
||||||
if (! preview->is_popup)
|
|
||||||
{
|
|
||||||
gimp_gtk_drag_source_set_by_type (GTK_WIDGET (preview),
|
|
||||||
GDK_BUTTON1_MASK | GDK_BUTTON2_MASK,
|
|
||||||
G_TYPE_FROM_INSTANCE (preview->viewable),
|
|
||||||
GDK_ACTION_COPY);
|
|
||||||
gimp_dnd_viewable_source_set (GTK_WIDGET (preview),
|
|
||||||
G_TYPE_FROM_INSTANCE (preview->viewable),
|
|
||||||
gimp_preview_drag_viewable,
|
|
||||||
NULL);
|
|
||||||
}
|
|
||||||
|
|
||||||
g_object_add_weak_pointer (G_OBJECT (preview->viewable),
|
g_object_add_weak_pointer (G_OBJECT (preview->viewable),
|
||||||
(gpointer *) &preview->viewable);
|
(gpointer *) &preview->viewable);
|
||||||
|
|
||||||
|
|
|
@ -17,7 +17,12 @@
|
||||||
|
|
||||||
style "gimp-small-style"
|
style "gimp-small-style"
|
||||||
{
|
{
|
||||||
GimpDock::separator_height = 6
|
GtkWidget::focus_padding = 0
|
||||||
|
GtkOptionMenu::indicator_size = { 4, 7 }
|
||||||
|
GtkOptionMenu::indicator_spacing = { 4, 3, 1, 1 }
|
||||||
|
|
||||||
|
GtkPaned::handle_size = 5
|
||||||
|
GimpDock::separator_height = 5
|
||||||
GimpImageDock::minimal_width = 200
|
GimpImageDock::minimal_width = 200
|
||||||
GimpToolbox::tool_icon_size = menu
|
GimpToolbox::tool_icon_size = menu
|
||||||
GimpDockbook::tab_border = 0
|
GimpDockbook::tab_border = 0
|
||||||
|
|
|
@ -67,6 +67,7 @@ style "gimp-default-style"
|
||||||
{ "images/gimp-dialog-warning.png", *, *, "gtk-dialog" }
|
{ "images/gimp-dialog-warning.png", *, *, "gtk-dialog" }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
GtkPaned::handle_size = 6
|
||||||
GimpDock::separator_height = 6
|
GimpDock::separator_height = 6
|
||||||
GimpImageDock::minimal_width = 250
|
GimpImageDock::minimal_width = 250
|
||||||
GimpToolbox::tool_icon_size = button
|
GimpToolbox::tool_icon_size = button
|
||||||
|
|
Loading…
Reference in New Issue