[gimp/gimp-2-8] Bug 675399 - Mention that the image was at least exported in the close...
- From: Michael Natterer <mitch src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp/gimp-2-8] Bug 675399 - Mention that the image was at least exported in the close...
- Date: Wed, 9 May 2012 23:12:18 +0000 (UTC)
commit 062d38d141907d095b92e7a1adc05cd1bc870be2
Author: Michael Natterer <mitch gimp org>
Date: Thu May 10 01:10:27 2012 +0200
Bug 675399 - Mention that the image was at least exported in the close...
If the image was exported, mention it in the close warning dialog.
(cherry picked from commit 57d4680ab3ecb748dfbdd9b9a0995da2f4ef01fa)
app/display/gimpdisplayshell-close.c | 89 ++++++++++++++++++++++-----------
1 files changed, 59 insertions(+), 30 deletions(-)
---
diff --git a/app/display/gimpdisplayshell-close.c b/app/display/gimpdisplayshell-close.c
index c90a662..ff71df5 100644
--- a/app/display/gimpdisplayshell-close.c
+++ b/app/display/gimpdisplayshell-close.c
@@ -54,6 +54,9 @@ static void gimp_display_shell_close_dialog (GimpDisplayShell *shell,
GimpImage *image);
static void gimp_display_shell_close_name_changed (GimpImage *image,
GimpMessageBox *box);
+static void gimp_display_shell_close_exported (GimpImage *image,
+ const gchar *uri,
+ GimpMessageBox *box);
static gboolean gimp_display_shell_close_time_changed (GimpMessageBox *box);
static void gimp_display_shell_close_response (GtkWidget *widget,
gboolean close,
@@ -189,6 +192,9 @@ gimp_display_shell_close_dialog (GimpDisplayShell *shell,
g_signal_connect_object (image, "name-changed",
G_CALLBACK (gimp_display_shell_close_name_changed),
box, 0);
+ g_signal_connect_object (image, "exported",
+ G_CALLBACK (gimp_display_shell_close_exported),
+ box, 0);
gimp_display_shell_close_name_changed (image, box);
@@ -233,12 +239,21 @@ gimp_display_shell_close_name_changed (GimpImage *image,
gimp_image_get_display_name (image));
}
+static void
+gimp_display_shell_close_exported (GimpImage *image,
+ const gchar *uri,
+ GimpMessageBox *box)
+{
+ gimp_display_shell_close_time_changed (box);
+}
static gboolean
gimp_display_shell_close_time_changed (GimpMessageBox *box)
{
- GimpImage *image = g_object_get_data (G_OBJECT (box), "gimp-image");
- gint dirty_time = gimp_image_get_dirty_time (image);
+ GimpImage *image = g_object_get_data (G_OBJECT (box), "gimp-image");
+ gint dirty_time = gimp_image_get_dirty_time (image);
+ gchar *time_text = NULL;
+ gchar *export_text = NULL;
if (dirty_time)
{
@@ -250,41 +265,55 @@ gimp_display_shell_close_time_changed (GimpMessageBox *box)
if (hours > 0)
{
if (hours > 1 || minutes == 0)
- gimp_message_box_set_text (box,
- ngettext ("If you don't save the image, "
- "changes from the last hour "
- "will be lost.",
- "If you don't save the image, "
- "changes from the last %d "
- "hours will be lost.",
- hours), hours);
-
+ {
+ time_text =
+ g_strdup_printf (ngettext ("If you don't save the image, "
+ "changes from the last hour "
+ "will be lost.",
+ "If you don't save the image, "
+ "changes from the last %d "
+ "hours will be lost.",
+ hours), hours);
+ }
else
- gimp_message_box_set_text (box,
- ngettext ("If you don't save the image, "
- "changes from the last hour "
- "and %d minute will be lost.",
- "If you don't save the image, "
- "changes from the last hour "
- "and %d minutes will be lost.",
- minutes), minutes);
+ {
+ time_text =
+ g_strdup_printf (ngettext ("If you don't save the image, "
+ "changes from the last hour "
+ "and %d minute will be lost.",
+ "If you don't save the image, "
+ "changes from the last hour "
+ "and %d minutes will be lost.",
+ minutes), minutes);
+ }
}
else
{
- gimp_message_box_set_text (box,
- ngettext ("If you don't save the image, "
- "changes from the last minute "
- "will be lost.",
- "If you don't save the image, "
- "changes from the last %d "
- "minutes will be lost.",
- minutes), minutes);
+ time_text =
+ g_strdup_printf (ngettext ("If you don't save the image, "
+ "changes from the last minute "
+ "will be lost.",
+ "If you don't save the image, "
+ "changes from the last %d "
+ "minutes will be lost.",
+ minutes), minutes);
}
}
+
+ if (! gimp_image_is_export_dirty (image))
+ export_text =
+ g_strdup_printf (_("The image has been exported to '%s'."),
+ gimp_image_get_exported_uri (image));
+
+ if (time_text && export_text)
+ gimp_message_box_set_text (box, "%s\n\n%s", time_text, export_text);
+ else if (time_text || export_text)
+ gimp_message_box_set_text (box, "%s", time_text ? time_text : export_text);
else
- {
- gimp_message_box_set_text (box, NULL);
- }
+ gimp_message_box_set_text (box, "%s", time_text);
+
+ g_free (time_text);
+ g_free (export_text);
return TRUE;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]