diff options
author | Alessio Treglia <alessio@debian.org> | 2010-07-12 19:34:33 +0200 |
---|---|---|
committer | Alessio Treglia <alessio@debian.org> | 2010-07-12 19:34:33 +0200 |
commit | 88ed5294e45c9a82b309c08aa5533388d90b1a1f (patch) | |
tree | 0f7ecf0420c14bed82d615e98005327e8e613fe8 /src/simple-scan.c | |
parent | 046e95e38e048f663efbf421894f3f84a212525b (diff) | |
parent | c15dc3b14e35850849f3559ac0305b4cac4a7046 (diff) |
Merge commit 'upstream/2.31.5.bzr424'
Diffstat (limited to 'src/simple-scan.c')
-rw-r--r-- | src/simple-scan.c | 54 |
1 files changed, 4 insertions, 50 deletions
diff --git a/src/simple-scan.c b/src/simple-scan.c index b8c3962..54236ae 100644 --- a/src/simple-scan.c +++ b/src/simple-scan.c @@ -26,6 +26,8 @@ static ScanDevice *default_device = NULL; +static gboolean have_devices = FALSE; + static GUdevClient *udev_client; static SimpleScan *ui; @@ -62,6 +64,7 @@ update_scan_devices_cb (Scanner *scanner, GList *devices) devices_copy = g_list_prepend (devices_copy, default_device); } + have_devices = devices_copy != NULL; ui_set_scan_devices (ui, devices_copy); g_list_free (devices_copy); @@ -261,7 +264,7 @@ scanner_failed_cb (Scanner *scanner, GError *error) /* Title of error dialog when scan failed */ _("Failed to scan"), error->message, - TRUE); + have_devices); } } @@ -305,54 +308,6 @@ cancel_cb (SimpleScan *ui) } -static gboolean -save_book_by_extension (GFile *file, GError **error) -{ - gboolean result; - gchar *uri, *uri_lower; - - uri = g_file_get_uri (file); - uri_lower = g_utf8_strdown (uri, -1); - if (g_str_has_suffix (uri_lower, ".pdf")) - result = book_save (book, "pdf", file, error); - else if (g_str_has_suffix (uri_lower, ".ps")) - result = book_save (book, "ps", file, error); - else if (g_str_has_suffix (uri_lower, ".png")) - result = book_save (book, "png", file, error); - else if (g_str_has_suffix (uri_lower, ".tif") || g_str_has_suffix (uri_lower, ".tiff")) - result = book_save (book, "tiff", file, error); - else - result = book_save (book, "jpeg", file, error); - - g_free (uri); - g_free (uri_lower); - - return result; -} - - -static void -save_cb (SimpleScan *ui, const gchar *uri) -{ - GError *error = NULL; - GFile *file; - - g_debug ("Saving to '%s'", uri); - - file = g_file_new_for_uri (uri); - if (!save_book_by_extension (file, &error)) { - g_warning ("Error saving file: %s", error->message); - ui_show_error (ui, - /* Title of error dialog when save failed */ - _("Failed to save file"), - error->message, - FALSE); - g_error_free (error); - } - g_object_unref (file); -} - - static gchar * get_temporary_filename (const gchar *prefix, const gchar *extension) { @@ -625,7 +580,6 @@ main (int argc, char **argv) book = ui_get_book (ui); g_signal_connect (ui, "start-scan", G_CALLBACK (scan_cb), NULL); g_signal_connect (ui, "stop-scan", G_CALLBACK (cancel_cb), NULL); - g_signal_connect (ui, "save", G_CALLBACK (save_cb), NULL); g_signal_connect (ui, "email", G_CALLBACK (email_cb), NULL); g_signal_connect (ui, "quit", G_CALLBACK (quit_cb), NULL); |