gimp r25219 - in trunk: . app/core app/file app/gui
- From: neo svn gnome org
- To: svn-commits-list gnome org
- Subject: gimp r25219 - in trunk: . app/core app/file app/gui
- Date: Tue, 25 Mar 2008 10:50:42 +0000 (GMT)
Author: neo
Date: Tue Mar 25 10:50:42 2008
New Revision: 25219
URL: http://svn.gnome.org/viewvc/gimp?rev=25219&view=rev
Log:
2008-03-25 Sven Neumann <sven gimp org>
* app/core/gimp-gui.[ch]
* app/gui/gui-vtable.c: added gimp_get_empty_display() to the vtable.
* app/file/file-open.c (file_open_from_command_line): use the
empty display as progress window when opening an image from the
command-line or via the DBus interface.
Modified:
trunk/ChangeLog
trunk/app/core/gimp-gui.c
trunk/app/core/gimp-gui.h
trunk/app/file/file-open.c
trunk/app/gui/gui-vtable.c
Modified: trunk/app/core/gimp-gui.c
==============================================================================
--- trunk/app/core/gimp-gui.c (original)
+++ trunk/app/core/gimp-gui.c Tue Mar 25 10:50:42 2008
@@ -238,6 +238,17 @@
}
GimpObject *
+gimp_get_empty_display (Gimp *gimp)
+{
+ g_return_val_if_fail (GIMP_IS_GIMP (gimp), NULL);
+
+ if (gimp->gui.get_empty_display)
+ return gimp->gui.get_empty_display (gimp);
+
+ return NULL;
+}
+
+GimpObject *
gimp_get_display_by_ID (Gimp *gimp,
gint ID)
{
Modified: trunk/app/core/gimp-gui.h
==============================================================================
--- trunk/app/core/gimp-gui.h (original)
+++ trunk/app/core/gimp-gui.h Tue Mar 25 10:50:42 2008
@@ -47,6 +47,7 @@
gint *monitor_number);
const gchar * (* get_theme_dir) (Gimp *gimp);
+ GimpObject * (* get_empty_display) (Gimp *gimp);
GimpObject * (* display_get_by_id) (Gimp *gimp,
gint ID);
gint (* display_get_id) (GimpObject *display);
@@ -96,6 +97,7 @@
void gimp_threads_enter (Gimp *gimp);
void gimp_threads_leave (Gimp *gimp);
+GimpObject * gimp_get_empty_display (Gimp *gimp);
GimpObject * gimp_get_display_by_ID (Gimp *gimp,
gint ID);
gint gimp_get_display_ID (Gimp *gimp,
Modified: trunk/app/file/file-open.c
==============================================================================
--- trunk/app/file/file-open.c (original)
+++ trunk/app/file/file-open.c Tue Mar 25 10:50:42 2008
@@ -481,11 +481,12 @@
if (uri)
{
GimpImage *image;
+ GimpObject *display = gimp_get_empty_display (gimp);
GimpPDBStatusType status;
image = file_open_with_display (gimp,
gimp_get_user_context (gimp),
- NULL,
+ GIMP_PROGRESS (display),
uri, as_new,
&status, &error);
@@ -497,7 +498,7 @@
{
gchar *filename = file_utils_uri_display_name (uri);
- gimp_message (gimp, NULL, GIMP_MESSAGE_ERROR,
+ gimp_message (gimp, G_OBJECT (display), GIMP_MESSAGE_ERROR,
_("Opening '%s' failed: %s"),
filename, error->message);
g_clear_error (&error);
Modified: trunk/app/gui/gui-vtable.c
==============================================================================
--- trunk/app/gui/gui-vtable.c (original)
+++ trunk/app/gui/gui-vtable.c Tue Mar 25 10:50:42 2008
@@ -89,6 +89,7 @@
gint display_ID,
gint *monitor_number);
static const gchar * gui_get_theme_dir (Gimp *gimp);
+static GimpObject * gui_get_empty_display (Gimp *gimp);
static GimpObject * gui_display_get_by_ID (Gimp *gimp,
gint ID);
static gint gui_display_get_ID (GimpObject *display);
@@ -101,7 +102,6 @@
static void gui_displays_reconnect (Gimp *gimp,
GimpImage *old_image,
GimpImage *new_image);
-static GimpDisplay * gui_get_empty_display (Gimp *gimp);
static GimpProgress * gui_new_progress (Gimp *gimp,
GimpObject *display);
static void gui_free_progress (Gimp *gimp,
@@ -145,6 +145,7 @@
gimp->gui.get_program_class = gui_get_program_class;
gimp->gui.get_display_name = gui_get_display_name;
gimp->gui.get_theme_dir = gui_get_theme_dir;
+ gimp->gui.get_empty_display = gui_get_empty_display;
gimp->gui.display_get_by_id = gui_display_get_by_ID;
gimp->gui.display_get_id = gui_display_get_ID;
gimp->gui.display_get_window = gui_display_get_window;
@@ -261,6 +262,25 @@
}
static GimpObject *
+gui_get_empty_display (Gimp *gimp)
+{
+ GimpObject *display = NULL;
+
+ if (gimp_container_num_children (gimp->displays) == 1)
+ {
+ display = gimp_container_get_child_by_index (gimp->displays, 0);
+
+ if (GIMP_DISPLAY (display)->image)
+ {
+ /* The display was not empty */
+ display = NULL;
+ }
+ }
+
+ return display;
+}
+
+static GimpObject *
gui_display_get_by_ID (Gimp *gimp,
gint ID)
{
@@ -291,12 +311,11 @@
gdouble scale)
{
GimpContext *context = gimp_get_user_context (gimp);
- GimpDisplay *display = NULL;
+ GimpObject *object = gui_get_empty_display (gimp);
+ GimpDisplay *display = object ? GIMP_DISPLAY (object) : NULL;
- if (gui_get_empty_display (gimp) != NULL)
+ if (display)
{
- display = gui_get_empty_display (gimp);
-
gimp_display_fill (display, image, unit, scale);
}
else
@@ -341,25 +360,6 @@
gimp_displays_reconnect (gimp, old_image, new_image);
}
-static GimpDisplay *
-gui_get_empty_display (Gimp *gimp)
-{
- GimpDisplay *display = NULL;
-
- if (gimp_container_num_children (gimp->displays) == 1)
- {
- display = (GimpDisplay *) gimp_container_get_child_by_index (gimp->displays, 0);
-
- if (display->image != NULL)
- {
- /* The display was not empty */
- display = NULL;
- }
- }
-
- return display;
-}
-
static GimpProgress *
gui_new_progress (Gimp *gimp,
GimpObject *display)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]