[Pycodeocr-main] SF.net SVN: pycodeocr:[55] trunk
Status: Beta
Brought to you by:
drtrigon
From: <la...@us...> - 2011-07-27 07:33:38
|
Revision: 55 http://pycodeocr.svn.sourceforge.net/pycodeocr/?rev=55&view=rev Author: laserb Date: 2011-07-27 07:33:30 +0000 (Wed, 27 Jul 2011) Log Message: ----------- Merge with branche from laserb: + outsource RunExternal, RunLibdmtx and RunMagickWand from ocr.py + add blacklist_manager + clean up scanner initialization code, no longer jumping back and forth in code, retry connecting to scanner possible + renamed some gtk elements to have a meaningful name + make main window resizable + added tabstyle, todo: show information in different tabs + changed glade format to GTKBuilder instead of libglade, as libglade is depriciated ( no longer supported as of glade 3.10 ) Modified Paths: -------------- trunk/PyCodeOCR.glade trunk/PyCodeOCR.py trunk/README trunk/utils/__init__.py trunk/utils/ocr.py Added Paths: ----------- trunk/utils/RunExternal.py trunk/utils/RunLibdmtx.py trunk/utils/RunMagickWand.py trunk/utils/blacklist_manager.py Modified: trunk/PyCodeOCR.glade =================================================================== --- trunk/PyCodeOCR.glade 2011-04-28 10:21:55 UTC (rev 54) +++ trunk/PyCodeOCR.glade 2011-07-27 07:33:30 UTC (rev 55) @@ -1,417 +1,865 @@ -<?xml version="1.0"?> -<glade-interface> - <!-- interface-requires gtk+ 2.16 --> - <!-- interface-naming-policy toplevel-contextual --> - <widget class="GtkWindow" id="window1"> - <property name="width_request">798</property> - <property name="height_request">246</property> - <property name="visible">True</property> - <property name="title" translatable="yes">PyCodeOCR</property> - <property name="resizable">False</property> - <signal name="destroy" handler="on_window1_destroy"/> +<?xml version="1.0" encoding="UTF-8"?> +<interface> + <requires lib="gtk+" version="2.24"/> + <object class="GtkAdjustment" id="adjustment1"> + <property name="upper">300</property> + <property name="step_increment">1</property> + <property name="page_increment">10</property> + </object> + <object class="GtkAdjustment" id="adjustment2"> + <property name="upper">300</property> + <property name="step_increment">1</property> + <property name="page_increment">10</property> + </object> + <object class="GtkAdjustment" id="adjustment3"> + <property name="upper">300</property> + <property name="step_increment">1</property> + <property name="page_increment">10</property> + </object> + <object class="GtkAdjustment" id="adjustment4"> + <property name="upper">300</property> + <property name="step_increment">1</property> + <property name="page_increment">10</property> + </object> + <object class="GtkWindow" id="img_popup"> + <property name="can_focus">False</property> + <property name="type">popup</property> + <property name="window_position">mouse</property> + <property name="destroy_with_parent">True</property> + <signal name="leave-notify-event" handler="on_main_image_eventbox_button_press_event" swapped="no"/> <child> - <widget class="GtkFixed" id="fixed1"> + <object class="GtkVBox" id="vbox1"> <property name="visible">True</property> + <property name="can_focus">False</property> <child> - <widget class="GtkProgressBar" id="progressbar1"> - <property name="width_request">504</property> - <property name="height_request">20</property> + <object class="GtkEventBox" id="popup_image_eventbox"> <property name="visible">True</property> - <property name="pulse_step">0.10000000149</property> - </widget> + <property name="can_focus">False</property> + <property name="events">GDK_EXPOSURE_MASK | GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_MOTION_MASK | GDK_BUTTON1_MOTION_MASK | GDK_BUTTON2_MOTION_MASK | GDK_BUTTON3_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK | GDK_ENTER_NOTIFY_MASK | GDK_LEAVE_NOTIFY_MASK | GDK_FOCUS_CHANGE_MASK | GDK_STRUCTURE_MASK | GDK_PROPERTY_CHANGE_MASK | GDK_VISIBILITY_NOTIFY_MASK | GDK_PROXIMITY_IN_MASK | GDK_PROXIMITY_OUT_MASK | GDK_SUBSTRUCTURE_MASK | GDK_SCROLL_MASK</property> + <property name="visible_window">False</property> + <child> + <object class="GtkImage" id="popup_image"> + <property name="visible">True</property> + <property name="can_focus">False</property> + </object> + </child> + </object> <packing> - <property name="x">16</property> - <property name="y">208</property> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="position">0</property> </packing> </child> + </object> + </child> + </object> + <object class="GtkWindow" id="main_window"> + <property name="width_request">786</property> + <property name="height_request">242</property> + <property name="can_focus">False</property> + <signal name="destroy" handler="on_main_window_destroy" swapped="no"/> + <signal name="motion-notify-event" handler="on_pointer_motion" swapped="no"/> + <child> + <object class="GtkNotebook" id="notebook"> + <property name="width_request">786</property> + <property name="height_request">242</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="tab_pos">left</property> <child> - <widget class="GtkEntry" id="entry1"> - <property name="width_request">504</property> - <property name="height_request">27</property> + <object class="GtkHBox" id="hbox1"> + <property name="width_request">1284</property> + <property name="height_request">443</property> <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="editable">False</property> - <property name="invisible_char">●</property> - </widget> - <packing> - <property name="x">16</property> - <property name="y">168</property> - </packing> - </child> - <child> - <widget class="GtkLabel" id="label5"> - <property name="width_request">90</property> - <property name="height_request">21</property> - <property name="visible">True</property> - <property name="label" translatable="yes">Orientation:</property> - </widget> - <packing> - <property name="x">569</property> - <property name="y">160</property> - </packing> - </child> - <child> - <widget class="GtkComboBox" id="combobox1"> - <property name="width_request">90</property> - <property name="height_request">29</property> - <property name="visible">True</property> - <property name="items" translatable="yes">0 deg -90 deg -180 deg -270 deg</property> - <signal name="changed" handler="on_combobox1_changed"/> - </widget> - <packing> - <property name="x">691</property> - <property name="y">155</property> - </packing> - </child> - <child> - <widget class="GtkFrame" id="frame1"> - <property name="width_request">224</property> - <property name="height_request">91</property> - <property name="visible">True</property> - <property name="label_xalign">0</property> + <property name="can_focus">False</property> <child> - <widget class="GtkAlignment" id="alignment1"> + <object class="GtkVBox" id="vbox4"> <property name="visible">True</property> - <property name="left_padding">12</property> + <property name="can_focus">False</property> <child> - <widget class="GtkFixed" id="fixed2"> + <object class="GtkHBox" id="hbox2"> + <property name="height_request">32</property> <property name="visible">True</property> + <property name="can_focus">False</property> <child> - <widget class="GtkLabel" id="label2"> - <property name="width_request">72</property> - <property name="height_request">17</property> + <object class="GtkHBox" id="hbox6"> + <property name="height_request">30</property> <property name="visible">True</property> - <property name="label" translatable="yes">Position:</property> - </widget> + <property name="can_focus">False</property> + <property name="spacing">11</property> + <child> + <object class="GtkRadioButton" id="file_input_button"> + <property name="width_request">21</property> + <property name="height_request">21</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">False</property> + <property name="use_action_appearance">False</property> + <property name="use_underline">True</property> + <property name="draw_indicator">True</property> + <property name="group">sane_input_button</property> + <signal name="toggled" handler="on_mode_changed" swapped="no"/> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="padding">4</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkFileChooserButton" id="filechooserbutton"> + <property name="width_request">168</property> + <property name="height_request">29</property> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="do_overwrite_confirmation">True</property> + <signal name="file-set" handler="on_filechooserbutton_file_set" swapped="no"/> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="padding">4</property> + <property name="position">1</property> + </packing> + </child> + </object> <packing> - <property name="y">8</property> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="padding">4</property> + <property name="pack_type">end</property> + <property name="position">0</property> </packing> </child> <child> - <widget class="GtkSpinButton" id="spinbutton1"> - <property name="width_request">56</property> - <property name="height_request">27</property> + <object class="GtkComboBox" id="mode_combobox"> + <property name="width_request">200</property> + <property name="height_request">29</property> <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="adjustment">1 0 200 1 10 0</property> - <property name="climb_rate">1</property> - <property name="numeric">True</property> - <signal name="value_changed" handler="on_spinbutton_value_changed"/> - </widget> + <property name="can_focus">False</property> + <property name="model">mode_list</property> + <property name="active">0</property> + <property name="has_entry">True</property> + <property name="entry_text_column">0</property> + <signal name="changed" handler="on_mode_changed" swapped="no"/> + <child internal-child="entry"> + <object class="GtkEntry" id="combobox-entry2"> + <property name="can_focus">False</property> + <property name="editable">False</property> + <property name="shadow_type">none</property> + <property name="caps_lock_warning">False</property> + </object> + </child> + </object> <packing> - <property name="x">80</property> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="position">1</property> </packing> </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="padding">4</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="scanned_code_label"> + <property name="width_request">102</property> + <property name="height_request">17</property> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="xalign">0</property> + <property name="label" translatable="yes">Scanned code:</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">1</property> + </packing> + </child> + <child> + <object class="GtkEventBox" id="main_image_eventbox"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <signal name="button-press-event" handler="on_main_image_eventbox_button_press_event" swapped="no"/> <child> - <widget class="GtkSpinButton" id="spinbutton2"> - <property name="width_request">56</property> - <property name="height_request">27</property> + <object class="GtkImage" id="main_image"> <property name="visible">True</property> + <property name="can_focus">False</property> + </object> + </child> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="padding">4</property> + <property name="position">2</property> + </packing> + </child> + <child> + <object class="GtkEntry" id="output"> + <property name="width_request">504</property> + <property name="height_request">27</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="editable">False</property> + <property name="invisible_char">•</property> + <property name="primary_icon_activatable">False</property> + <property name="secondary_icon_activatable">False</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="padding">4</property> + <property name="position">3</property> + </packing> + </child> + <child> + <object class="GtkProgressBar" id="progressbar"> + <property name="width_request">504</property> + <property name="height_request">20</property> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="pulse_step">0.10000000149</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="padding">4</property> + <property name="position">4</property> + </packing> + </child> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkVBox" id="vbox5"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <child> + <object class="GtkHBox" id="hbox3"> + <property name="height_request">30</property> + <property name="visible">True</property> + <property name="can_focus">False</property> + <child> + <object class="GtkRadioButton" id="sane_input_button"> + <property name="label" translatable="yes">Standard SANE Interface</property> + <property name="width_request">224</property> + <property name="height_request">21</property> + <property name="visible">True</property> <property name="can_focus">True</property> - <property name="adjustment">1 0 200 1 10 0</property> - <property name="climb_rate">1</property> - <property name="numeric">True</property> - <signal name="value_changed" handler="on_spinbutton_value_changed"/> - </widget> + <property name="receives_default">False</property> + <property name="use_action_appearance">False</property> + <property name="use_underline">True</property> + <property name="active">True</property> + <property name="draw_indicator">True</property> + <signal name="toggled" handler="on_mode_changed" swapped="no"/> + </object> <packing> - <property name="x">144</property> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="padding">4</property> + <property name="position">0</property> </packing> </child> <child> - <widget class="GtkSpinButton" id="spinbutton3"> - <property name="width_request">56</property> - <property name="height_request">27</property> - <property name="visible">True</property> + <object class="GtkButton" id="retry_button"> + <property name="label" translatable="yes">Retry</property> + <property name="width_request">60</property> + <property name="height_request">29</property> <property name="can_focus">True</property> - <property name="adjustment">1 0 200 1 10 0</property> - <property name="climb_rate">1</property> - <property name="numeric">True</property> - <signal name="value_changed" handler="on_spinbutton_value_changed"/> - </widget> + <property name="receives_default">True</property> + <property name="use_action_appearance">False</property> + <signal name="clicked" handler="on_retry_button_clicked" swapped="no"/> + </object> <packing> - <property name="x">80</property> - <property name="y">40</property> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="padding">4</property> + <property name="position">1</property> </packing> </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="padding">4</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkFrame" id="placement_frame"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label_xalign">0</property> <child> - <widget class="GtkSpinButton" id="spinbutton4"> - <property name="width_request">56</property> - <property name="height_request">27</property> + <object class="GtkAlignment" id="alignment1"> <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="left_padding">12</property> + <child> + <object class="GtkFixed" id="fixed2"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <child> + <object class="GtkLabel" id="position_label"> + <property name="width_request">72</property> + <property name="height_request">17</property> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes">Position:</property> + </object> + <packing> + <property name="y">8</property> + </packing> + </child> + <child> + <object class="GtkSpinButton" id="position_x"> + <property name="width_request">56</property> + <property name="height_request">27</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="primary_icon_activatable">False</property> + <property name="secondary_icon_activatable">False</property> + <property name="adjustment">adjustment1</property> + <property name="climb_rate">1</property> + <property name="numeric">True</property> + <signal name="value-changed" handler="on_placement_value_changed" swapped="no"/> + </object> + <packing> + <property name="x">80</property> + </packing> + </child> + <child> + <object class="GtkSpinButton" id="position_y"> + <property name="width_request">56</property> + <property name="height_request">27</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="primary_icon_activatable">False</property> + <property name="secondary_icon_activatable">False</property> + <property name="adjustment">adjustment2</property> + <property name="climb_rate">1</property> + <property name="numeric">True</property> + <signal name="value-changed" handler="on_placement_value_changed" swapped="no"/> + </object> + <packing> + <property name="x">144</property> + </packing> + </child> + <child> + <object class="GtkSpinButton" id="size_x"> + <property name="width_request">56</property> + <property name="height_request">27</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="primary_icon_activatable">False</property> + <property name="secondary_icon_activatable">False</property> + <property name="adjustment">adjustment3</property> + <property name="climb_rate">1</property> + <property name="numeric">True</property> + <signal name="value-changed" handler="on_placement_value_changed" swapped="no"/> + </object> + <packing> + <property name="x">80</property> + <property name="y">40</property> + </packing> + </child> + <child> + <object class="GtkSpinButton" id="size_y"> + <property name="width_request">56</property> + <property name="height_request">27</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="primary_icon_activatable">False</property> + <property name="secondary_icon_activatable">False</property> + <property name="adjustment">adjustment4</property> + <property name="climb_rate">1</property> + <property name="numeric">True</property> + <signal name="value-changed" handler="on_placement_value_changed" swapped="no"/> + </object> + <packing> + <property name="x">144</property> + <property name="y">40</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="size_label"> + <property name="width_request">72</property> + <property name="height_request">17</property> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes">Size:</property> + </object> + <packing> + <property name="y">48</property> + </packing> + </child> + </object> + </child> + </object> + </child> + <child type="label"> + <object class="GtkLabel" id="placement_label"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes">Placement</property> + <property name="use_markup">True</property> + </object> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="padding">4</property> + <property name="position">1</property> + </packing> + </child> + <child> + <object class="GtkHBox" id="hbox4"> + <property name="width_request">1</property> + <property name="height_request">30</property> + <property name="visible">True</property> + <property name="can_focus">False</property> + <child> + <object class="GtkLabel" id="orientation_label"> + <property name="width_request">92</property> + <property name="height_request">21</property> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes">Orientation:</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="padding">4</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkComboBox" id="orientation"> + <property name="width_request">90</property> + <property name="height_request">29</property> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="model">orientation_list</property> + <property name="has_entry">True</property> + <property name="entry_text_column">0</property> + <signal name="changed" handler="on_orientation_changed" swapped="no"/> + <child internal-child="entry"> + <object class="GtkEntry" id="combobox-entry4"> + <property name="can_focus">False</property> + <property name="editable">False</property> + </object> + </child> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="padding">4</property> + <property name="position">2</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="label8"> + <property name="visible">True</property> + <property name="can_focus">False</property> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="position">3</property> + </packing> + </child> + <child> + <object class="GtkHBox" id="hbox5"> + <property name="height_request">31</property> + <property name="visible">True</property> + <property name="can_focus">False</property> + <child> + <object class="GtkToggleButton" id="scan_button"> + <property name="label" translatable="yes">scan</property> + <property name="width_request">90</property> + <property name="height_request">29</property> + <property name="visible">True</property> <property name="can_focus">True</property> - <property name="adjustment">1 0 200 1 10 0</property> - <property name="climb_rate">1</property> - <property name="numeric">True</property> - <signal name="value_changed" handler="on_spinbutton_value_changed"/> - </widget> + <property name="receives_default">True</property> + <property name="use_action_appearance">False</property> + <property name="use_underline">True</property> + <signal name="toggled" handler="on_scan_button_clicked" swapped="no"/> + </object> <packing> - <property name="x">144</property> - <property name="y">40</property> + <property name="expand">True</property> + <property name="fill">False</property> + <property name="position">0</property> </packing> </child> <child> - <widget class="GtkLabel" id="label3"> - <property name="width_request">72</property> - <property name="height_request">17</property> + <object class="GtkButton" id="exit_button"> + <property name="label" translatable="yes">exit</property> + <property name="width_request">90</property> + <property name="height_request">19</property> <property name="visible">True</property> - <property name="label" translatable="yes">Size:</property> - </widget> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="use_action_appearance">False</property> + <property name="use_underline">True</property> + <signal name="clicked" handler="on_exit_button_clicked" swapped="no"/> + </object> <packing> - <property name="y">48</property> + <property name="expand">True</property> + <property name="fill">False</property> + <property name="position">1</property> </packing> </child> - </widget> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="padding">4</property> + <property name="position">4</property> + </packing> </child> - </widget> - </child> - <child> - <widget class="GtkLabel" id="label1"> - <property name="visible">True</property> - <property name="label" translatable="yes">Placement</property> - <property name="use_markup">True</property> - </widget> + </object> <packing> - <property name="type">label_item</property> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">1</property> </packing> </child> - </widget> - <packing> - <property name="x">558</property> - <property name="y">56</property> - </packing> + </object> </child> - <child> - <widget class="GtkLabel" id="label4"> - <property name="width_request">102</property> - <property name="height_request">17</property> + <child type="tab"> + <object class="GtkLabel" id="scan_label"> <property name="visible">True</property> - <property name="label" translatable="yes">Scanned code:</property> - </widget> + <property name="can_focus">False</property> + <property name="label" translatable="yes">SCAN</property> + </object> <packing> - <property name="x">16</property> - <property name="y">55</property> + <property name="tab_fill">False</property> </packing> </child> <child> - <widget class="GtkButton" id="button2"> - <property name="label" translatable="yes">exit</property> - <property name="width_request">90</property> - <property name="height_request">29</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">False</property> - <property name="use_underline">True</property> - <signal name="clicked" handler="on_button2_clicked"/> - </widget> - <packing> - <property name="x">692</property> - <property name="y">200</property> - </packing> + <placeholder/> </child> <child> - <widget class="GtkToggleButton" id="togglebutton1"> - <property name="label" translatable="yes">scan</property> - <property name="width_request">90</property> - <property name="height_request">29</property> + <object class="GtkVBox" id="vbox3"> <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">False</property> - <property name="use_underline">True</property> - <signal name="toggled" handler="on_togglebutton1_toggled"/> - </widget> + <property name="can_focus">False</property> + <property name="resize_mode">immediate</property> + <child> + <object class="GtkScrolledWindow" id="device_info_scrolled"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="window_placement_set">True</property> + <child> + <object class="GtkTextView" id="device_info_text"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="editable">False</property> + <property name="wrap_mode">word</property> + </object> + </child> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + </object> <packing> - <property name="x">568</property> - <property name="y">200</property> + <property name="position">1</property> </packing> </child> - <child> - <widget class="GtkComboBox" id="combobox2"> - <property name="width_request">256</property> - <property name="height_request">31</property> + <child type="tab"> + <object class="GtkLabel" id="device_info_label"> <property name="visible">True</property> - <property name="items" translatable="yes">E-Banking invoice OCR -Barcode optical recogn. (beta) -DataMatrix optical recogn. (beta) -PDF417 bc. optical recogn. (beta) -</property> - <signal name="changed" handler="on_combobox2_changed"/> - </widget> + <property name="can_focus">False</property> + <property name="label" translatable="yes">Device Info</property> + </object> <packing> - <property name="x">16</property> - <property name="y">16</property> + <property name="position">1</property> + <property name="tab_fill">False</property> </packing> </child> <child> - <widget class="GtkRadioButton" id="radiobutton2"> - <property name="label" translatable="yes">Standard SANE Interface</property> - <property name="width_request">224</property> - <property name="height_request">21</property> + <object class="GtkHBox" id="hbox10"> + <property name="width_request">100</property> + <property name="height_request">80</property> <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">False</property> - <property name="use_underline">True</property> - <property name="active">True</property> - <property name="draw_indicator">True</property> - <signal name="toggled" handler="on_combobox2_changed"/> - </widget> + <property name="can_focus">False</property> + <child> + <object class="GtkVBox" id="vbox9"> + <property name="width_request">100</property> + <property name="height_request">80</property> + <property name="visible">True</property> + <property name="can_focus">False</property> + <child> + <object class="GtkScrolledWindow" id="device_list_scrolled"> + <property name="width_request">740</property> + <property name="height_request">140</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <child> + <object class="GtkTreeView" id="device_treeview"> + <property name="width_request">740</property> + <property name="height_request">140</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="enable_grid_lines">horizontal</property> + <child internal-child="selection"> + <object class="GtkTreeSelection" id="treeview-selection1"/> + </child> + </object> + </child> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkButton" id="device_chooser_button"> + <property name="label" translatable="yes">OK</property> + <property name="width_request">90</property> + <property name="height_request">29</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="use_action_appearance">False</property> + <signal name="clicked" handler="on_device_chooser_button_clicked" swapped="no"/> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkVBox" id="vbox8"> + <property name="width_request">75</property> + <property name="visible">True</property> + <property name="can_focus">False</property> + <child> + <object class="GtkLabel" id="label12"> + <property name="visible">True</property> + <property name="can_focus">False</property> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkButton" id="blacklist_add_button"> + <property name="label" translatable="yes">--></property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="use_action_appearance">False</property> + <signal name="clicked" handler="blacklist_add" swapped="no"/> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">1</property> + </packing> + </child> + <child> + <object class="GtkButton" id="blacklist_remove_button"> + <property name="label" translatable="yes"><--</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="use_action_appearance">False</property> + <property name="image_position">right</property> + <signal name="clicked" handler="blacklist_remove" swapped="no"/> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">2</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="label13"> + <property name="visible">True</property> + <property name="can_focus">False</property> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="position">3</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">1</property> + </packing> + </child> + <child> + <object class="GtkVBox" id="vbox7"> + <property name="width_request">100</property> + <property name="height_request">80</property> + <property name="visible">True</property> + <property name="can_focus">False</property> + <child> + <object class="GtkScrolledWindow" id="blacklist_scrolled"> + <property name="width_request">740</property> + <property name="height_request">140</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <child> + <object class="GtkTreeView" id="blacklist_treeview"> + <property name="width_request">740</property> + <property name="height_request">140</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="enable_grid_lines">horizontal</property> + <child internal-child="selection"> + <object class="GtkTreeSelection" id="treeview-selection2"/> + </child> + </object> + </child> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="position">2</property> + </packing> + </child> + </object> <packing> - <property name="x">534</property> - <property name="y">24</property> + <property name="position">3</property> </packing> </child> - <child> - <widget class="GtkRadioButton" id="radiobutton1"> - <property name="width_request">21</property> - <property name="height_request">21</property> + <child type="tab"> + <object class="GtkLabel" id="blacklist_label"> <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">False</property> - <property name="use_underline">True</property> - <property name="draw_indicator">True</property> - <property name="group">radiobutton2</property> - <signal name="toggled" handler="on_combobox2_changed"/> - </widget> + <property name="can_focus">False</property> + <property name="label" translatable="yes">Blacklist</property> + </object> <packing> - <property name="x">318</property> - <property name="y">24</property> + <property name="position">2</property> + <property name="tab_fill">False</property> </packing> </child> <child> - <widget class="GtkFileChooserButton" id="filechooserbutton1"> - <property name="width_request">168</property> - <property name="height_request">31</property> + <object class="GtkVBox" id="vbox6"> <property name="visible">True</property> - <property name="do_overwrite_confirmation">True</property> - <signal name="file_set" handler="on_filechooserbutton1_file_set"/> - </widget> - <packing> - <property name="x">342</property> - <property name="y">16</property> - </packing> - </child> - <child> - <widget class="GtkButton" id="button1"> - <property name="label" translatable="yes">Restart</property> - <property name="width_request">60</property> - <property name="height_request">29</property> - <property name="can_focus">True</property> - <property name="receives_default">True</property> - <signal name="clicked" handler="on_button1_clicked"/> - </widget> - <packing> - <property name="x">721</property> - <property name="y">20</property> - </packing> - </child> - <child> - <widget class="GtkEventBox" id="eventbox2"> - <property name="width_request">505</property> - <property name="height_request">84</property> - <property name="visible">True</property> - <signal name="button_press_event" handler="on_eventbox2_button_press_event"/> + <property name="can_focus">False</property> + <property name="resize_mode">immediate</property> <child> - <widget class="GtkImage" id="image1"> - <property name="width_request">505</property> - <property name="height_request">84</property> + <object class="GtkScrolledWindow" id="log_scrolled"> <property name="visible">True</property> - </widget> + <property name="can_focus">True</property> + <property name="window_placement_set">True</property> + <child> + <object class="GtkTextView" id="log_text"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="editable">False</property> + <property name="wrap_mode">word</property> + </object> + </child> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> </child> - </widget> + </object> <packing> - <property name="x">16</property> - <property name="y">75</property> + <property name="position">3</property> </packing> </child> - </widget> - </child> - </widget> - <widget class="GtkWindow" id="window2"> - <property name="width_request">470</property> - <property name="height_request">190</property> - <property name="title" translatable="yes">Device selection</property> - <property name="resizable">False</property> - <property name="modal">True</property> - <property name="window_position">center</property> - <property name="destroy_with_parent">True</property> - <property name="type_hint">dialog</property> - <property name="urgency_hint">True</property> - <property name="deletable">False</property> - <property name="transient_for">window1</property> - <child> - <widget class="GtkFixed" id="fixed1"> - <property name="visible">True</property> - <child> - <widget class="GtkTreeView" id="treeview1"> - <property name="width_request">440</property> - <property name="height_request">84</property> + <child type="tab"> + <object class="GtkLabel" id="log_label"> <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="enable_grid_lines">horizontal</property> - <signal name="row_activated" handler="on_treeview1_row_activated"/> - </widget> + <property name="can_focus">False</property> + <property name="label" translatable="yes">Log</property> + </object> <packing> - <property name="x">15</property> - <property name="y">52</property> + <property name="position">3</property> + <property name="tab_fill">False</property> </packing> </child> - <child> - <widget class="GtkButton" id="button3"> - <property name="label" translatable="yes">OK</property> - <property name="width_request">90</property> - <property name="height_request">29</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="can_default">True</property> - <property name="receives_default">False</property> - <signal name="clicked" handler="on_button3_clicked"/> - </widget> - <packing> - <property name="x">365</property> - <property name="y">149</property> - </packing> - </child> - <child> - <widget class="GtkLabel" id="label1"> - <property name="width_request">416</property> - <property name="height_request">30</property> - <property name="visible">True</property> - <property name="label" translatable="yes">Select device to use.</property> - </widget> - <packing> - <property name="x">23</property> - <property name="y">12</property> - </packing> - </child> - </widget> + </object> </child> - </widget> - <widget class="GtkWindow" id="window3"> - <property name="type">popup</property> - <property name="window_position">mouse</property> - <property name="destroy_with_parent">True</property> - <child> - <widget class="GtkFixed" id="fixed1"> - <property name="visible">True</property> - <child> - <widget class="GtkEventBox" id="eventbox... [truncated message content] |