[ocrfeeder] studioBuilder: adding import from scanner capability parallellized using asyncworker
- From: Joaquim Manuel Pereira Rocha <jrocha src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [ocrfeeder] studioBuilder: adding import from scanner capability parallellized using asyncworker
- Date: Sun, 1 Aug 2010 17:35:16 +0000 (UTC)
commit fd6a30bdf23121f09113b3c608f1c4212c6d41d8
Author: David Teyssiere Rubio <dteyssiere emergya es>
Date: Thu Jul 29 21:14:59 2010 +0200
studioBuilder: adding import from scanner capability parallellized using asyncworker
studio/studioBuilder.py | 53 +++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 53 insertions(+), 0 deletions(-)
---
diff --git a/studio/studioBuilder.py b/studio/studioBuilder.py
index 7082f50..dd34eaa 100644
--- a/studio/studioBuilder.py
+++ b/studio/studioBuilder.py
@@ -93,6 +93,7 @@ class Studio:
'ocr_engines': self.ocrEngines, 'zoom_in': self.zoomIn, 'zoom_out': self.zoomOut,
'zoom_fit': self.zoomFit, 'reset_zoom': self.resetZoom,
'recognize_areas': self.source_images_controler.recognizeSelectedAreas,
+ 'import_from_scanner': self.importFromScanner,
'select_next_area': self.source_images_controler.selectNextArea,
'select_previous_area': self.source_images_controler.selectPreviousArea,
'select_all_areas': self.source_images_controler.selectAllAreas,
@@ -170,6 +171,58 @@ class Studio:
self.__addImagesToReviewer([file_name])
file_open_dialog.destroy()
+ def importFromScanner(self, widget):
+ dialog = widgetPresenter.QueuedEventsProgressDialog(\
+ self.main_window.window)
+ item_obtain = AsyncItem(lib.obtainScanners,(),
+ self.__obtainScannersFinishedCb,(dialog,))
+ info_obtain = (_('Obtaining Scanners'), _('Please wait...'))
+ dialog.setItemsList([(info_obtain, item_obtain)])
+ dialog.run()
+
+ def __obtainScannersFinishedCb(self, dialog, devices, error):
+ dialog.destroy()
+ device = []
+ if devices:
+ scanner_chooser_dialog = widgetPresenter.ScannerChooserDialog(\
+ self.main_window.window,
+ (device),
+ devices)
+ gtk.gdk.threads_enter()
+ scanner_chooser_dialog.run()
+ gtk.gdk.threads_leave()
+ if device:
+ dialog_scan = widgetPresenter.QueuedEventsProgressDialog(\
+ self.main_window.window)
+ item_scan = AsyncItem(lib.scan,((device.pop(),)),
+ self.__scanFinishedCb,(dialog_scan,))
+ info_scan = (_('Scanning'), _('Please wait...'))
+ dialog_scan.setItemsList([(info_scan, item_scan)])
+ dialog_scan.run()
+ else:
+ error = widgetPresenter.SimpleDialog(\
+ _("No scanner devices were found"),
+ _("Error"),
+ _("Check your sane config"))
+ gtk.gdk.threads_enter()
+ error.run()
+ gtk.gdk.threads_leave()
+
+ def __scanFinishedCb(self, dialog, image_path, error):
+ dialog.destroy()
+ if image_path:
+ gtk.gdk.threads_enter()
+ self.__addImagesToReviewer([image_path])
+ gtk.gdk.threads_leave()
+ else:
+ error = widgetPresenter.SimpleDialog(\
+ _("Error during scanning"),
+ _("Error"),
+ _("Check your sane config"))
+ gtk.gdk.threads_enter()
+ error.run()
+ gtk.gdk.threads_leave()
+
def importPdf(self, widget):
file_open_dialog = widgetPresenter.FileDialog('open', file_filters = [(_('PDF'), ['application/pdf'], [])])
response = file_open_dialog.run()
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]