示例#1
0
    def __init__(self):

        # i18n
        languages = []
        lc, encoding = locale.getdefaultlocale()
        if lc:
            languages = [lc]
        languages += DEFAULT_LANGUAGES
        gettext.bindtextdomain(OCRFEEDER_COMPACT_NAME, LOCALE_DIR)
        gettext.textdomain(OCRFEEDER_COMPACT_NAME)
        language = gettext.translation(OCRFEEDER_COMPACT_NAME,
                                       LOCALE_DIR,
                                       languages=languages,
                                       fallback=True)
        _ = language.gettext
        self.title = OCRFEEDER_STUDIO_NAME
        self.main_window = widgetPresenter.MainWindow()
        self.main_window.setTitle(self.title)
        cli_command_retriever = ArgsRetriever(sys.argv)
        imgs = cli_command_retriever.getParams('--images')
        self.configuration_manager = ConfigurationManager()
        self.ocr_engines_manager = OcrEnginesManager(
            self.configuration_manager)
        self.ocr_engines_manager.makeEnginesFromFolder(
            self.configuration_manager.user_engines_folder)
        self.ocr_engines = self.ocr_engines_manager.ocr_engines
        self.configuration_manager.loadConfiguration()
        self.source_images_selector = SourceImagesSelector(imgs)
        self.source_images_selector.connect('selection_changed',
                                            self.selectionChanged)
        self.source_images_icon_view = SourceImagesSelectorIconView(
            self.source_images_selector)
        self.source_images_icon_view.setDeleteCurrentPageFunction(
            self.deleteCurrentPage)
        self.source_images_icon_view.show()
        self.main_window.main_area_left.add_with_viewport(
            self.source_images_icon_view)
        self.images_selectable_area = {}
        self.images_dict = create_images_dict_from_liststore(
            self.source_images_selector.list_store)
        self.source_images_controler = ImageReviewer_Controler(
            self.main_window.notebook, self.images_dict,
            self.source_images_icon_view, self.ocr_engines,
            self.configuration_manager, self.main_window.tripple_statusbar)
        self.project_name = None

        toolbar_callback_dict = {
            'detection': self.source_images_controler.performBoxDetection,
            'export_to_odt': self.exportToOdt
        }

        menubar_callback_dict = {
            'exit': self.quit,
            'add_image': self.addImage,
            'export_to_odt': self.exportToOdt,
            'edit_page': self.choosePageSize,
            'delete_page': self.deleteCurrentPage,
            'export_dialog': self.exportDialog,
            'add_folder': self.addFolder,
            'import_pdf': self.importPdf,
            'save_project': self.saveProject,
            'save_project_as': self.saveProjectAs,
            'open_project': self.openProject,
            'append_project': self.appendProject,
            'clear': self.clear,
            'unpaper': self.unpaper,
            'preferences': self.preferences,
            'about': self.about,
            'ocr_engines': self.ocrEngines,
            'zoom_in': self.zoomIn,
            'zoom_out': self.zoomOut,
            'zoom_fit': self.zoomFit,
            'reset_zoom': self.resetZoom
        }

        self.main_window.setHeader(menubar_callback_dict,
                                   toolbar_callback_dict)
        self.main_window.setDestroyEvent(self.quit)

        dirs = cli_command_retriever.getParams('--dir')
        if dirs:
            self.__addImagesToReviewer(lib.getImagesFromFolder(dirs[0]))

        self.main_window.setHasImages(
            not self.source_images_selector.isEmpty())