def change_speech_module(*data): index_engine = combobox_speech_module.get_active() combobox_speech_language.clear() test = speech.Speech() list = test.list_output_modules() test.set_output_module(list[index_engine]) for item in test.list_voices(): combobox_speech_language.add_item(item) combobox_speech_language.set_active(self.speech_language)
def open_configure_dialog(self, page=0): def change_engine(*data): index_engine = combobox_engine.get_active() combobox_language.clear() for item in self.available_ocr_engine_list[index_engine][1]: combobox_language.add_item(item) combobox_language.set_active(self.language) def change_speech_module(*data): index_engine = combobox_speech_module.get_active() combobox_speech_language.clear() test = speech.Speech() list = test.list_output_modules() test.set_output_module(list[index_engine]) for item in test.list_voices(): combobox_speech_language.add_item(item) combobox_speech_language.set_active(self.speech_language) def change_mode_of_rotation(*data): if (combobox_mode_of_rotation.get_active() == 2): combobox_angle.show() self.label_angle.show() else: combobox_angle.hide() self.label_angle.hide() self.require_scanner_refresh = False #Notebook notebook = containers.NoteBook() notebook.show_all() #GENERAL - PAGE ######### label_font = widget.Label(_("Font")) fontbutton_font = widget.FontButton() fontbutton_font.set_font_name(self.font) label_font.set_mnemonic_widget(fontbutton_font) label_font_color = widget.Label(_("Font Color")) colorbutton_font = widget.ColorButton() colorbutton_font.set_color_from_string(self.font_color) label_font_color.set_mnemonic_widget(colorbutton_font) label_background_color = widget.Label(_("Background Color")) colorbutton_background = widget.ColorButton() colorbutton_background.set_color_from_string(self.background_color) label_background_color.set_mnemonic_widget(colorbutton_background) label_highlight_font = widget.Label(_("Highlight Font")) fontbutton_highlight_font = widget.FontButton() fontbutton_highlight_font.set_font_name(self.highlight_font) label_highlight_font.set_mnemonic_widget(fontbutton_highlight_font) label_highlight_color = widget.Label(_("Highlight Color")) colorbutton_highlight = widget.ColorButton() colorbutton_highlight.set_color_from_string(self.highlight_color) label_highlight_color.set_mnemonic_widget(colorbutton_highlight) label_highlight_background = widget.Label(_("Highlight Background")) colorbutton_highlight_background = widget.ColorButton() colorbutton_highlight_background.set_color_from_string( self.background_highlight_color) label_highlight_background.set_mnemonic_widget( colorbutton_highlight_background) label_speech_module = widget.Label(_("Speech-Module")) combobox_speech_module = widget.ComboBox() for item in speech.Speech().list_output_modules(): combobox_speech_module.add_item(item) combobox_speech_module.connect_change_callback_function( change_speech_module) label_speech_module.set_mnemonic_widget(combobox_speech_module) label_speech_language = widget.Label(_("Speech-Language")) combobox_speech_language = widget.ComboBox() combobox_speech_module.set_active(self.speech_module) combobox_speech_language.set_active(self.speech_language) label_speech_language.set_mnemonic_widget(combobox_speech_language) label_speech_rate = widget.Label(_("Speech-Rate")) spin_speech_rate = widget.SpinButton(self.speech_rate, -100, 100, 1, 10, 0) label_speech_rate.set_mnemonic_widget(spin_speech_rate) label_speech_volume = widget.Label(_("Speech-Volume")) spin_speech_volume = widget.SpinButton(self.speech_volume, -100, 100, 1, 10, 0) label_speech_volume.set_mnemonic_widget(spin_speech_volume) label_speech_pitch = widget.Label(_("Speech-Pitch")) spin_speech_pitch = widget.SpinButton(self.speech_pitch, -100, 100, 1, 10, 0) label_speech_pitch.set_mnemonic_widget(spin_speech_pitch) grid_general = containers.Grid() grid_general.add_widgets([ (label_font, 1, 1), (fontbutton_font, 1, 1), containers.Grid.NEW_ROW, (label_font_color, 1, 1), (colorbutton_font, 1, 1), containers.Grid.NEW_ROW, (label_background_color, 1, 1), (colorbutton_background, 1, 1), containers.Grid.NEW_ROW, (label_highlight_font, 1, 1), (fontbutton_highlight_font, 1, 1), containers.Grid.NEW_ROW, (label_highlight_color, 1, 1), (colorbutton_highlight, 1, 1), containers.Grid.NEW_ROW, (label_highlight_background, 1, 1), (colorbutton_highlight_background, 1, 1), containers.Grid.NEW_ROW, (label_speech_module, 1, 1), (combobox_speech_module, 1, 1), containers.Grid.NEW_ROW, (label_speech_language, 1, 1), (combobox_speech_language, 1, 1), containers.Grid.NEW_ROW, (label_speech_rate, 1, 1), (spin_speech_rate, 1, 1), containers.Grid.NEW_ROW, (label_speech_pitch, 1, 1), (spin_speech_pitch, 1, 1), containers.Grid.NEW_ROW, (label_speech_volume, 1, 1), (spin_speech_volume, 1, 1) ]) notebook.add_page(_("General"), grid_general) grid_general.show_all() #RECOGNITION - PAGE ######## #Engine label_engine = widget.Label(_("Engine")) combobox_engine = widget.ComboBox() combobox_engine.connect_change_callback_function(change_engine) label_engine.set_mnemonic_widget(combobox_engine) for item in self.available_ocr_engine_list: combobox_engine.add_item(item[0]) #Language label_language = widget.Label(_("Language")) combobox_language = widget.ComboBox() label_language.set_mnemonic_widget(combobox_language) #setting current engine - This can't be done before creating language combobox combobox_engine.set_active(self.ocr_engine) combobox_language.set_active(self.language) #Run text cleaner checkbutton_run_text_cleaner = widget.CheckButton( _("Run Text Cleaner")) checkbutton_run_text_cleaner.set_active(self.run_text_cleaner) #insert_position label_insert_position = widget.Label(_("Insert Position")) combobox_insert_position = widget.ComboBox() combobox_insert_position.add_item(_("Start")) combobox_insert_position.add_item(_("Cursor")) combobox_insert_position.add_item(_("End")) combobox_insert_position.set_active(self.insert_position) label_insert_position.set_mnemonic_widget(combobox_insert_position) #Seperator seperator_1 = widget.Separator() #Mode of Rotation label_mode_of_rotation = widget.Label(_("Mode Of Rotation")) combobox_mode_of_rotation = widget.ComboBox() combobox_mode_of_rotation.add_item(_("Full Automatic")) combobox_mode_of_rotation.add_item(_("Partial Automatic")) combobox_mode_of_rotation.add_item(_("Manual")) combobox_mode_of_rotation.connect_change_callback_function( change_mode_of_rotation) label_mode_of_rotation.set_mnemonic_widget(combobox_mode_of_rotation) #Angle self.label_angle = widget.Label(_("Angle")) combobox_angle = widget.ComboBox() combobox_angle.add_item(_("00")) combobox_angle.add_item(_("90")) combobox_angle.add_item(_("180")) combobox_angle.add_item(_("270")) self.label_angle.set_mnemonic_widget(combobox_angle) #Seperator 2 seperator_2 = widget.Separator() #Page-Numbering label_numbering_type = widget.Label(_("Page Numbering Type")) combobox_numbering_type = widget.ComboBox() combobox_numbering_type.add_item(_("Single Page")) combobox_numbering_type.add_item(_("Double Page")) combobox_numbering_type.set_active(self.page_numbering_type) label_numbering_type.set_mnemonic_widget(combobox_numbering_type) #Starting Page Number label_starting_page_number = widget.Label(_("Starting Page Number")) spin_starting_page_number = widget.SpinButton(0, 0, 100000, 1, 5, 0) spin_starting_page_number.set_value(self.starting_page_number) label_starting_page_number.set_mnemonic_widget( spin_starting_page_number) grid_recognition = containers.Grid() grid_recognition.add_widgets( [(label_engine, 1, 1), (combobox_engine, 1, 1), containers.Grid.NEW_ROW, (label_language, 1, 1), (combobox_language, 1, 1), containers.Grid.NEW_ROW, (checkbutton_run_text_cleaner, 1, 1), containers.Grid.NEW_ROW, (label_insert_position, 1, 1), (combobox_insert_position, 1, 1), containers.Grid.NEW_ROW, (seperator_1, 2, 1), containers.Grid.NEW_ROW, (label_mode_of_rotation, 1, 1), (combobox_mode_of_rotation, 1, 1), containers.Grid.NEW_ROW, (self.label_angle, 1, 1), (combobox_angle, 1, 1), containers.Grid.NEW_ROW, (seperator_2, 2, 1), containers.Grid.NEW_ROW, (label_numbering_type, 1, 1), (combobox_numbering_type, 1, 1), containers.Grid.NEW_ROW, (label_starting_page_number, 1, 1), (spin_starting_page_number, 1, 1)]) notebook.add_page(_("Recognition"), grid_recognition) grid_recognition.show_all() #setting current mode of rotation - This can't be done before creating angle combobox #also it should be here because the show_all function of grid will make angle combobox show again combobox_mode_of_rotation.set_active(self.mode_of_rotation) combobox_angle.set_active(self.rotation_angle) #SCANNING - PAGE ############## label_resolution = widget.Label(_("Resolution")) spin_resolution = widget.SpinButton(300, 100, 1200, 1, 5, 0) spin_resolution.set_value(self.scan_resolution) label_resolution.set_mnemonic_widget(spin_resolution) label_brightness = widget.Label(_("Brightness")) spin_brightness = widget.SpinButton(50, 0, 100, 1, 5, 0) spin_brightness.set_value(self.scan_brightness) label_brightness.set_mnemonic_widget(spin_brightness) label_scan_area = widget.Label(_("Scan Area")) combobox_scan_area = widget.ComboBox() label_scan_area.set_mnemonic_widget(combobox_scan_area) combobox_scan_area.add_item(_("Full Scan Area")) combobox_scan_area.add_item(_("Three Quarters")) combobox_scan_area.add_item(_("Two Quarters")) combobox_scan_area.add_item(_("One Quarters")) combobox_scan_area.set_active(self.scan_area) label_scan_driver = widget.Label(_("Driver")) combobox_scan_driver = widget.ComboBox() label_scan_driver.set_mnemonic_widget(combobox_scan_driver) for item in self.available_scanner_drivers: combobox_scan_driver.add_item(item) combobox_scan_driver.set_active(self.scan_driver) sparator_3 = widget.Separator() label_number_of_pages_to_scan = widget.Label( _("Number of Pages to Scan")) spin_number_of_pages_to_scan = widget.SpinButton(10, 2, 100, 1, 5, 0) spin_number_of_pages_to_scan.set_value(self.number_of_pages_to_scan) label_number_of_pages_to_scan.set_mnemonic_widget( spin_number_of_pages_to_scan) label_time_bitween_repeted_scanning = widget.Label( _("Time Bitween Repeted Scanning")) spin_time_bitween_repeted_scanning = widget.SpinButton( 0, 0, 30, 1, 5, 0) spin_time_bitween_repeted_scanning.set_value( self.time_between_repeated_scanning) label_time_bitween_repeted_scanning.set_mnemonic_widget( spin_time_bitween_repeted_scanning) sparator_4 = widget.Separator() checkbutton_scan_mode_switching = widget.CheckButton( _("Change to binary or lineart if possible")) checkbutton_scan_mode_switching.set_active(self.scanner_mode_switching) checkbutton_scanner_cache_calibration = widget.CheckButton( _("Cache Calibration")) checkbutton_scanner_cache_calibration.set_active( self.scanner_cache_calibration) grid_scanning = containers.Grid() grid_scanning.add_widgets([ (label_resolution, 1, 1), (spin_resolution, 1, 1), containers.Grid.NEW_ROW, (label_brightness, 1, 1), (spin_brightness, 1, 1), containers.Grid.NEW_ROW, (label_scan_area, 1, 1), (combobox_scan_area, 1, 1), containers.Grid.NEW_ROW, (label_scan_driver, 1, 1), (combobox_scan_driver, 1, 1), containers.Grid.NEW_ROW, (sparator_3, 2, 1), containers.Grid.NEW_ROW, (label_number_of_pages_to_scan, 1, 1), (spin_number_of_pages_to_scan, 1, 1), containers.Grid.NEW_ROW, (label_time_bitween_repeted_scanning, 1, 1), (spin_time_bitween_repeted_scanning, 1, 1), containers.Grid.NEW_ROW, (sparator_4, 2, 1), containers.Grid.NEW_ROW, (checkbutton_scan_mode_switching, 2, 1), containers.Grid.NEW_ROW, (checkbutton_scanner_cache_calibration, 2, 1) ]) notebook.add_page(_("Scanning"), grid_scanning) grid_scanning.show_all() #Setting page notebook.set_current_page(page) dlg = dialog.Dialog(_("Lios Preferences"), (_("Apply"), dialog.Dialog.BUTTON_ID_1, _("Close"), dialog.Dialog.BUTTON_ID_2)) dlg.add_widget(notebook) if (dlg.run() == True): self.font = fontbutton_font.get_font_name() self.font_color = colorbutton_font.get_color_as_string() self.background_color = colorbutton_background.get_color_as_string( ) self.highlight_font = fontbutton_highlight_font.get_font_name() self.highlight_color = colorbutton_highlight.get_color_as_string() self.background_highlight_color = colorbutton_highlight_background.get_color_as_string( ) self.ocr_engine = combobox_engine.get_active() self.language = combobox_language.get_active() self.speech_module = combobox_speech_module.get_active() self.speech_language = combobox_speech_language.get_active() self.speech_rate = spin_speech_rate.get_value() self.speech_pitch = spin_speech_pitch.get_value() self.speech_volume = spin_speech_volume.get_value() self.insert_position = combobox_insert_position.get_active() self.mode_of_rotation = combobox_mode_of_rotation.get_active() self.rotation_angle = combobox_angle.get_active() self.page_numbering_type = combobox_numbering_type.get_active() self.starting_page_number = spin_starting_page_number.get_value_as_int( ) self.scan_resolution = spin_resolution.get_value_as_int() self.scan_brightness = spin_brightness.get_value_as_int() self.scan_area = combobox_scan_area.get_active() self.scan_driver = combobox_scan_driver.get_active() self.number_of_pages_to_scan = spin_number_of_pages_to_scan.get_value_as_int( ) self.time_between_repeated_scanning = spin_time_bitween_repeted_scanning.get_value_as_int( ) self.scanner_mode_switching = int( checkbutton_scan_mode_switching.get_active()) self.run_text_cleaner = int( checkbutton_run_text_cleaner.get_active()) self.scanner_cache_calibration = int( checkbutton_scanner_cache_calibration.get_active()) dlg.destroy() return True dlg.destroy() return False