diff options
Diffstat (limited to 'data/ui')
-rw-r--r-- | data/ui/app-window.ui | 946 | ||||
-rw-r--r-- | data/ui/authorize-dialog.ui | 131 | ||||
-rw-r--r-- | data/ui/drivers-dialog.ui | 137 | ||||
-rw-r--r-- | data/ui/help-overlay.ui | 24 | ||||
-rw-r--r-- | data/ui/preferences-dialog.ui | 191 | ||||
-rw-r--r-- | data/ui/reorder-pages-dialog.ui | 92 | ||||
-rw-r--r-- | data/ui/reorder-pages-item.ui | 51 |
7 files changed, 650 insertions, 922 deletions
diff --git a/data/ui/app-window.ui b/data/ui/app-window.ui index 744b8c2..05ac374 100644 --- a/data/ui/app-window.ui +++ b/data/ui/app-window.ui @@ -1,505 +1,186 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Generated with glade 3.22.1 --> <interface> - <requires lib="gtk+" version="3.12"/> - <object class="GtkMenu" id="page_menu"> - <property name="visible">True</property> - <child> - <object class="GtkMenuItem" id="rotate_left_menuitem"> - <property name="visible">True</property> - <property name="label" translatable="yes" comments="Menu item to rotate page to left (anti-clockwise)">Rotate _Left</property> - <property name="use_underline">True</property> - <signal name="activate" handler="rotate_left_button_clicked_cb" swapped="no"/> - <accelerator key="bracketleft" signal="activate"/> - </object> - </child> - <child> - <object class="GtkMenuItem" id="rotate_right_menuitem"> - <property name="visible">True</property> - <property name="label" translatable="yes" comments="Menu item to rotate page to right (clockwise)">Rotate _Right</property> - <property name="use_underline">True</property> - <signal name="activate" handler="rotate_right_button_clicked_cb" swapped="no"/> - <accelerator key="bracketright" signal="activate"/> - </object> - </child> - <child> - <object class="GtkMenuItem" id="crop_menuitem"> - <property name="visible">True</property> - <property name="label" translatable="yes" comments="Label for page crop submenu">_Crop</property> - <property name="use_underline">True</property> - <child type="submenu"> - <object class="GtkMenu" id="crop_menu"> - <property name="visible">True</property> - <child> - <object class="GtkRadioMenuItem" id="no_crop_menuitem"> - <property name="visible">True</property> - <property name="label" translatable="yes" comments="Radio button for no crop">_None</property> - <property name="use_underline">True</property> - <property name="active">True</property> - <property name="draw_as_radio">True</property> - <signal name="toggled" handler="no_crop_menuitem_toggled_cb" swapped="no"/> - </object> - </child> - <child> - <object class="GtkRadioMenuItem" id="a4_menuitem"> - <property name="visible">True</property> - <property name="label" translatable="yes" comments="Radio button for cropping page to A4 size">A_4</property> - <property name="use_underline">True</property> - <property name="draw_as_radio">True</property> - <property name="group">no_crop_menuitem</property> - <signal name="toggled" handler="a4_menuitem_toggled_cb" swapped="no"/> - </object> - </child> - <child> - <object class="GtkRadioMenuItem" id="a5_menuitem"> - <property name="visible">True</property> - <property name="label" translatable="yes" comments="Radio button for cropping page to A5 size">A_5</property> - <property name="use_underline">True</property> - <property name="draw_as_radio">True</property> - <property name="group">no_crop_menuitem</property> - <signal name="toggled" handler="a5_menuitem_toggled_cb" swapped="no"/> - </object> - </child> - <child> - <object class="GtkRadioMenuItem" id="a6_menuitem"> - <property name="visible">True</property> - <property name="use_underline">True</property> - <property name="draw_as_radio">True</property> - <property name="group">no_crop_menuitem</property> - <signal name="toggled" handler="a6_menuitem_toggled_cb" swapped="no"/> - </object> - </child> - <child> - <object class="GtkRadioMenuItem" id="letter_menuitem"> - <property name="visible">True</property> - <property name="label" translatable="yes" comments="Radio button for cropping page to US letter size">_Letter</property> - <property name="use_underline">True</property> - <property name="draw_as_radio">True</property> - <property name="group">no_crop_menuitem</property> - <signal name="toggled" handler="letter_menuitem_toggled_cb" swapped="no"/> - </object> - </child> - <child> - <object class="GtkRadioMenuItem" id="legal_menuitem"> - <property name="visible">True</property> - <property name="label" translatable="yes" comments="Radio button for cropping to page to US legal size">Le_gal</property> - <property name="use_underline">True</property> - <property name="draw_as_radio">True</property> - <property name="group">no_crop_menuitem</property> - <signal name="toggled" handler="legal_menuitem_toggled_cb" swapped="no"/> - </object> - </child> - <child> - <object class="GtkRadioMenuItem" id="four_by_six_menuitem"> - <property name="visible">True</property> - <property name="label" translatable="yes" comments="Radio button for cropping page to 4x6 inch">4×6</property> - <property name="use_underline">True</property> - <property name="draw_as_radio">True</property> - <property name="group">no_crop_menuitem</property> - <signal name="toggled" handler="four_by_six_menuitem_toggled_cb" swapped="no"/> - </object> - </child> - <child> - <object class="GtkRadioMenuItem" id="a3_menuitem"> - <property name="visible">True</property> - <property name="label" translatable="yes" comments="Radio button for cropping page to A3">A_3</property> - <property name="use_underline">True</property> - <property name="draw_as_radio">True</property> - <property name="group">no_crop_menuitem</property> - <signal name="toggled" handler="a3_menuitem_toggled_cb" swapped="no"/> - </object> - </child> - <child> - <object class="GtkRadioMenuItem" id="custom_crop_menuitem"> - <property name="visible">True</property> - <property name="label" translatable="yes" comments="Radio button for cropping to custom page size">_Custom</property> - <property name="use_underline">True</property> - <property name="draw_as_radio">True</property> - <property name="group">no_crop_menuitem</property> - <signal name="toggled" handler="custom_crop_menuitem_toggled_cb" swapped="no"/> - </object> - </child> - <child> - <object class="GtkSeparatorMenuItem" id="crop_sep_menuitem"> - <property name="visible">True</property> - </object> - </child> - <child> - <object class="GtkMenuItem" id="crop_rotate_menuitem"> - <property name="visible">True</property> - <property name="sensitive">False</property> - <property name="label" translatable="yes" comments="Menu item to rotate the crop area">_Rotate Crop</property> - <property name="use_underline">True</property> - <signal name="activate" handler="crop_rotate_menuitem_activate_cb" swapped="no"/> - </object> - </child> - </object> - </child> - </object> - </child> - <child> - <object class="GtkMenuItem" id="page_move_left_menuitem"> - <property name="visible">True</property> - <property name="label" translatable="yes" comments="Menu item to move the selected page to the left">Move Left</property> - <signal name="activate" handler="page_move_left_menuitem_activate_cb" swapped="no"/> - <accelerator key="less" signal="activate"/> - </object> - </child> - <child> - <object class="GtkMenuItem" id="page_move_right_menuitem"> - <property name="visible">True</property> - <property name="label" translatable="yes" comments="Menu item to move the selected page to the right">Move Right</property> - <property name="use_underline">True</property> - <signal name="activate" handler="page_move_right_menuitem_activate_cb" swapped="no"/> - <accelerator key="greater" signal="activate"/> - </object> - </child> - <child> - <object class="GtkImageMenuItem" id="copy_to_clipboard_menuitem"> - <property name="label">gtk-copy</property> - <property name="visible">True</property> - <property name="sensitive">False</property> - <property name="use_underline">True</property> - <property name="use_stock">True</property> - <signal name="activate" handler="copy_to_clipboard_button_clicked_cb" swapped="no"/> - <accelerator key="c" signal="activate" modifiers="GDK_CONTROL_MASK"/> - </object> - </child> - <child> - <object class="GtkImageMenuItem" id="page_delete_menuitem"> - <property name="label">gtk-delete</property> - <property name="visible">True</property> - <property name="use_underline">True</property> - <property name="use_stock">True</property> - <signal name="activate" handler="page_delete_menuitem_activate_cb" swapped="no"/> - <accelerator key="Delete" signal="activate"/> - </object> - </child> - </object> - <object class="GtkListStore" id="device_model"> - <columns> - <!-- column-name device_name --> - <column type="gchararray"/> - <!-- column-name label --> - <column type="gchararray"/> - </columns> - </object> - <object class="GtkPopover" id="scan_options_popover"> - <child> - <object class="GtkBox"> - <property name="visible">True</property> - <property name="margin_left">12</property> - <property name="margin_right">12</property> - <property name="margin_top">12</property> - <property name="margin_bottom">12</property> - <property name="orientation">vertical</property> - <property name="spacing">6</property> - <child> - <object class="GtkRadioButton" id="scan_single_radio"> - <property name="visible">True</property> - <property name="receives_default">False</property> - <property name="draw_indicator">False</property> - <signal name="toggled" handler="scan_single_radio_toggled_cb" swapped="no"/> - <child> - <object class="GtkBox"> - <property name="visible">True</property> - <property name="margin_start">12</property> - <property name="margin_end">12</property> - <property name="margin_top">6</property> - <property name="margin_bottom">6</property> - <property name="spacing">12</property> - <child> - <object class="GtkImage"> - <property name="visible">True</property> - <property name="icon_name">scanner-symbolic</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">0</property> - </packing> - </child> - <child> - <object class="GtkLabel"> - <property name="visible">True</property> - <property name="label" translatable="yes">_Single Page</property> - <property name="use_underline">True</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">1</property> - </packing> - </child> - </object> - </child> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">0</property> - </packing> - </child> - <child> - <object class="GtkRadioButton" id="scan_adf_radio"> - <property name="visible">True</property> - <property name="receives_default">False</property> - <property name="draw_indicator">False</property> - <property name="group">scan_single_radio</property> - <signal name="toggled" handler="scan_adf_radio_toggled_cb" swapped="no"/> - <child> - <object class="GtkBox"> - <property name="visible">True</property> - <property name="margin_start">12</property> - <property name="margin_end">12</property> - <property name="margin_top">6</property> - <property name="margin_bottom">6</property> - <property name="spacing">12</property> - <child> - <object class="GtkImage"> - <property name="visible">True</property> - <property name="icon_name">scan-type-adf-symbolic</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">0</property> - </packing> - </child> - <child> - <object class="GtkLabel"> - <property name="visible">True</property> - <property name="label" translatable="yes">All Pages From _Feeder</property> - <property name="use_underline">True</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">1</property> - </packing> - </child> - </object> - </child> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">1</property> - </packing> - </child> - <child> - <object class="GtkRadioButton" id="scan_batch_radio"> - <property name="visible">True</property> - <property name="receives_default">False</property> - <property name="draw_indicator">False</property> - <property name="group">scan_single_radio</property> - <signal name="toggled" handler="scan_batch_radio_toggled_cb" swapped="no"/> - <child> - <object class="GtkBox"> - <property name="visible">True</property> - <property name="margin_start">12</property> - <property name="margin_end">12</property> - <property name="margin_top">6</property> - <property name="margin_bottom">6</property> - <property name="spacing">12</property> - <child> - <object class="GtkImage"> - <property name="visible">True</property> - <property name="icon_name">scan-type-batch-symbolic</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">0</property> - </packing> - </child> - <child> - <object class="GtkLabel"> - <property name="visible">True</property> - <property name="label" translatable="yes">_Multiple Pages From Flatbed</property> - <property name="use_underline">True</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">1</property> - </packing> - </child> - </object> - </child> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">2</property> - </packing> - </child> - <child> - <object class="GtkRadioButton" id="text_radio"> - <property name="visible">True</property> - <property name="receives_default">False</property> - <property name="margin_top">12</property> - <property name="draw_indicator">False</property> - <signal name="toggled" handler="text_radio_toggled_cb" swapped="no"/> - <child> - <object class="GtkBox"> - <property name="visible">True</property> - <property name="margin_start">12</property> - <property name="margin_end">12</property> - <property name="margin_top">6</property> - <property name="margin_bottom">6</property> - <property name="spacing">12</property> - <child> - <object class="GtkImage"> - <property name="visible">True</property> - <property name="icon_name">x-office-document-symbolic</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">0</property> - </packing> - </child> - <child> - <object class="GtkLabel"> - <property name="visible">True</property> - <property name="label" translatable="yes">_Text</property> - <property name="use_underline">True</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">1</property> - </packing> - </child> - </object> - </child> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">3</property> - </packing> - </child> - <child> - <object class="GtkRadioButton" id="photo_radio"> - <property name="visible">True</property> - <property name="receives_default">False</property> - <property name="draw_indicator">False</property> - <property name="group">text_radio</property> - <signal name="toggled" handler="photo_radio_toggled_cb" swapped="no"/> - <child> - <object class="GtkBox"> - <property name="visible">True</property> - <property name="margin_start">12</property> - <property name="margin_end">12</property> - <property name="margin_top">6</property> - <property name="margin_bottom">6</property> - <property name="spacing">12</property> - <child> - <object class="GtkImage"> - <property name="visible">True</property> - <property name="icon_name">image-x-generic-symbolic</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">0</property> - </packing> - </child> - <child> - <object class="GtkLabel"> - <property name="visible">True</property> - <property name="label" translatable="yes">_Image</property> - <property name="use_underline">True</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">1</property> - </packing> - </child> - </object> - </child> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">4</property> - </packing> - </child> - <child> - <object class="GtkButton" id="preferences_button"> - <property name="label" translatable="yes">_Preferences</property> - <property name="height_request">40</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">True</property> - <property name="margin_top">12</property> - <property name="use_underline">True</property> - <signal name="clicked" handler="preferences_button_clicked_cb" swapped="no"/> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">5</property> - </packing> - </child> - </object> - </child> - </object> - <template class="AppWindow" parent="HdyApplicationWindow"> + <requires lib="gtk" version="4.0"/> + <requires lib="libadwaita" version="1.0"/> + + <menu id="context-menu"> + <item> + <attribute name="label" translatable="yes" comments="Menu item to rotate page to left (anti-clockwise)">Rotate _Left</attribute> + <attribute name="action">app.rotate_left</attribute> + </item> + <item> + <attribute name="label" translatable="yes" comments="Menu item to rotate page to right (clockwise)">Rotate _Right</attribute> + <attribute name="action">app.rotate_right</attribute> + </item> + <submenu> + <attribute name="label" translatable="yes" comments="Label for page crop submenu">_Crop</attribute> + + <section> + <item> + <attribute name="label" translatable="yes" comments="Radio button for no crop">_None</attribute> + <attribute name="action">crop.set</attribute> + <attribute name="target">none</attribute> + </item> + + <item> + <attribute name="label" translatable="yes" comments="Radio button for cropping page to A4 size">A_4</attribute> + <attribute name="action">crop.set</attribute> + <attribute name="target">A4</attribute> + </item> + + <item> + <attribute name="label" translatable="yes" comments="Radio button for cropping page to A5 size">A_5</attribute> + <attribute name="action">crop.set</attribute> + <attribute name="target">A5</attribute> + </item> + + <item> + <attribute name="label" translatable="yes" comments="Radio button for cropping page to A6 size">A_6</attribute> + <attribute name="action">crop.set</attribute> + <attribute name="target">A6</attribute> + </item> + + <item> + <attribute name="label" translatable="yes" comments="Radio button for cropping page to US letter size">_Letter</attribute> + <attribute name="action">crop.set</attribute> + <attribute name="target">letter</attribute> + </item> + + <item> + <attribute name="label" translatable="yes" comments="Radio button for cropping to page to US legal size">Le_gal</attribute> + <attribute name="action">crop.set</attribute> + <attribute name="target">legal</attribute> + </item> + + <item> + <attribute name="label" translatable="yes" comments="Radio button for cropping page to 4x6 inch">4×6</attribute> + <attribute name="action">crop.set</attribute> + <attribute name="target">4x6</attribute> + </item> + + <item> + <attribute name="label" translatable="yes" comments="Radio button for cropping page to A3">A_3</attribute> + <attribute name="action">crop.set</attribute> + <attribute name="target">A3</attribute> + </item> + + <item> + <attribute name="label" translatable="yes" comments="Radio button for cropping to custom page size">_Custom</attribute> + <attribute name="action">crop.set</attribute> + <attribute name="target">custom</attribute> + </item> + </section> + + <section> + <item> + <attribute name="label" translatable="yes" comments="Menu item to rotate the crop area">_Rotate Crop</attribute> + <attribute name="action">crop.rotate</attribute> + </item> + </section> + + </submenu> + <item> + <attribute name="label" translatable="yes" comments="Menu item to move the selected page to the left">Move Left</attribute> + <attribute name="action">app.move_left</attribute> + </item> + <item> + <attribute name="label" translatable="yes" comments="Menu item to move the selected page to the right">Move Right</attribute> + <attribute name="action">app.move_right</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Copy</attribute> + <attribute name="action">app.copy_page</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Delete</attribute> + <attribute name="action">app.delete_page</attribute> + </item> + </menu> + + <menu id="scan-menu"> + <section> + <item> + <attribute name="label" translatable="yes">_Single Page</attribute> + <attribute name="action">app.scan_type</attribute> + <attribute name="target">single</attribute> + </item> + + <item> + <attribute name="label" translatable="yes">All Pages From _Feeder</attribute> + <attribute name="action">app.scan_type</attribute> + <attribute name="target">adf</attribute> + </item> + + <item> + <attribute name="label" translatable="yes">_Multiple Pages From Flatbed</attribute> + <attribute name="action">app.scan_type</attribute> + <attribute name="target">batch</attribute> + </item> + </section> + + <section> + <item> + <attribute name="label" translatable="yes">_Text</attribute> + <attribute name="action">app.document_hint</attribute> + <attribute name="target">text</attribute> + </item> + + <item> + <attribute name="label" translatable="yes">_Image</attribute> + <attribute name="action">app.document_hint</attribute> + <attribute name="target">photo</attribute> + </item> + </section> + </menu> + + <template class="AppWindow" parent="AdwApplicationWindow"> <property name="width_request">320</property> <property name="height_request">480</property> <property name="title" translatable="yes" comments="Title of scan window">Document Scanner</property> <property name="icon_name">org.gnome.SimpleScan</property> - <signal name="delete-event" handler="window_delete_event_cb" swapped="no"/> - <child> + <signal name="close-request" handler="window_close_request_cb" swapped="no"/> + <property name="content"> <object class="GtkBox"> - <property name="visible">True</property> <property name="orientation">vertical</property> + <child> - <object class="HdyHeaderBar" id="header_bar"> - <property name="visible">True</property> - <property name="show_close_button">True</property> - <child> + <object class="GtkPopoverMenu" id="page_menu"> + <property name="menu-model">context-menu</property> + <property name="has_arrow">false</property> + <property name="halign">start</property> + </object> + </child> + + <child> + <object class="AdwHeaderBar" id="header_bar"> + <child type="start"> <object class="GtkBox" id="open_box"> - <property name="visible">True</property> <property name="valign">center</property> + <property name="margin-start">6</property> + <property name="spacing">6</property> <child> <object class="GtkButton" id="stop_button"> - <property name="receives_default">False</property> + <property name="visible">0</property> <property name="tooltip_text" translatable="yes" comments="Tooltip for stop button">Stop the current scan</property> <property name="use_underline">True</property> <signal name="clicked" handler="stop_scan_button_clicked_cb" swapped="no"/> <child> <object class="GtkBox"> - <property name="visible">True</property> <property name="spacing">6</property> + <property name="halign">center</property> <child> <object class="GtkSpinner" id="stop_button_spinner"> - <property name="visible">True</property> - <property name="active">True</property> + <property name="spinning">True</property> </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">0</property> - </packing> </child> <child> <object class="GtkLabel"> - <property name="visible">True</property> <property name="label" translatable="yes">S_top</property> <property name="use_underline">True</property> <property name="width_chars">6</property> <property name="xalign">0.33</property> + <property name="halign">center</property> </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">1</property> - </packing> </child> </object> </child> @@ -508,259 +189,182 @@ <class name="destructive-action"/> </style> </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">0</property> - </packing> </child> <child> <object class="GtkButton" id="scan_button"> - <property name="visible">True</property> - <property name="sensitive">False</property> - <property name="receives_default">False</property> + <property name="sensitive">0</property> <property name="tooltip_text" translatable="yes" comments="Tooltip for scan toolbar button. Replaced by text associated with each scan type."></property> <property name="use_underline">True</property> <signal name="clicked" handler="scan_button_clicked_cb" swapped="no"/> - <child> - <object class="GtkBox"> - <property name="visible">True</property> - <property name="spacing">6</property> - <child> - <object class="GtkImage" id="scan_options_image"> - <property name="visible">True</property> - <property name="icon_name">scanner-symbolic</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">0</property> - </packing> - </child> - <child> - <object class="GtkLabel"> - <property name="visible">True</property> - <property name="margin_right">1</property> - <property name="label" translatable="yes">_Scan</property> - <property name="use_underline">True</property> - <property name="width_chars">6</property> - <property name="xalign">0.33</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">1</property> - </packing> - </child> + + <property name="child"> + <object class="AdwButtonContent" id="scan_button_content"> + <property name="icon-name">scanner-symbolic</property> + <property name="label" translatable="yes">_Scan</property> + <property name="use-underline">True</property> </object> - </child> - <style> - <class name="text-button"/> - <class name="suggested-action"/> - </style> + </property> </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">1</property> - </packing> </child> <child> - <object class="GtkMenuButton"> - <property name="visible">True</property> - <property name="receives_default">False</property> - <property name="popover">scan_options_popover</property> - <child> - <object class="GtkBox"> - <property name="visible">True</property> - <property name="spacing">6</property> - <child> - <object class="GtkImage" id="scan_hint_image"> - <property name="visible">True</property> - <property name="icon_name">x-office-document-symbolic</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">0</property> - </packing> - </child> - <child> - <object class="GtkImage"> - <property name="visible">True</property> - <property name="icon_name">pan-down-symbolic</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">1</property> - </packing> - </child> - </object> - </child> + <object class="GtkMenuButton" id="scan_options_menu"> + <property name="menu_model">scan-menu</property> + <property name="icon_name">emblem-system-symbolic</property> </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">2</property> - </packing> </child> - <style> - <class name="linked"/> - </style> </object> </child> - <child> + <child type="end"> <object class="GtkMenuButton" id="menu_button"> - <property name="visible">True</property> - <property name="receives_default">False</property> <property name="use_underline">True</property> - <accelerator key="F10" signal="activate"/> - <child> - <object class="GtkImage"> - <property name="visible">True</property> - <property name="icon_name">open-menu-symbolic</property> - <property name="icon_size">1</property> - </object> - </child> - <style> - <class name="image-button"/> - </style> + <property name="primary">True</property> + <property name="icon_name">open-menu-symbolic</property> </object> - <packing> - <property name="pack_type">end</property> - <property name="position">1</property> - </packing> </child> - <child> + <child type="end"> <object class="GtkButton" id="save_button"> - <property name="visible">True</property> - <property name="sensitive">False</property> - <property name="receives_default">False</property> + <property name="sensitive">0</property> <property name="tooltip_text" translatable="yes" comments="Tooltip for save toolbar button">Save document to a file</property> <property name="use_underline">True</property> - <signal name="clicked" handler="save_file_button_clicked_cb" swapped="no"/> - <child> - <object class="GtkImage" id="save_image"> - <property name="visible">True</property> - <property name="icon_name">document-save-symbolic</property> - <property name="icon_size">1</property> - </object> - </child> - <style> - <class name="image-button"/> - </style> + <property name="action-name">app.save</property> + <property name="icon_name">document-save-symbolic</property> </object> - <packing> - <property name="pack_type">end</property> - <property name="position">2</property> - </packing> </child> <style> <class name="titlebar"/> </style> </object> </child> + <child> <object class="GtkStack" id="stack"> - <property name="visible">True</property> <property name="vexpand">True</property> <child> - <object class="HdyStatusPage" id="status_page"> - <property name="visible">True</property> - <property name="icon_name">org.gnome.SimpleScan-symbolic</property> - <child> - <object class="GtkBox"> - <property name="visible">True</property> - <property name="orientation">vertical</property> - <property name="spacing">12</property> - <child> - <object class="GtkLabel" id="status_secondary_label"> - <property name="visible">False</property> - <property name="wrap">True</property> - <property name="wrap-mode">word-char</property> - <property name="justify">center</property> - <property name="use-markup">True</property> - <property name="track_visited_links">False</property> - <signal name="activate-link" handler="status_label_activate_link_cb" swapped="no"/> - <style> - <class name="body"/> - <class name="description"/> - </style> - </object> - </child> + <object class="GtkStackPage"> + <property name="name">startup</property> + <property name="child"> + <object class="AdwStatusPage" id="status_page"> + <property name="icon_name">org.gnome.SimpleScan-symbolic</property> <child> - <object class="GtkBox" id="device_buttons_box"> - <property name="visible">False</property> - <property name="orientation">horizontal</property> - <property name="halign">center</property> - <property name="spacing">10</property> + <object class="GtkBox"> + <property name="orientation">vertical</property> + <property name="spacing">12</property> + <child> - <object class="GtkComboBox" id="device_combo"> - <property name="width_request">200</property> - <property name="visible">True</property> - <property name="model">device_model</property> - <signal name="changed" handler="device_combo_changed_cb" swapped="no"/> + <object class="GtkLabel" id="status_secondary_label"> + <property name="visible">False</property> + <property name="wrap">True</property> + <property name="wrap-mode">word-char</property> + <property name="justify">center</property> + <property name="use-markup">True</property> + <!-- <property name="track_visited_links">False</property> --> + <signal name="activate-link" handler="status_label_activate_link_cb" swapped="no"/> + <style> + <class name="body"/> + <class name="description"/> + </style> </object> - <packing> - <property name="fill">False</property> - </packing> </child> <child> - <object class="GtkButton" id="refresh_devices"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">True</property> - <property name="tooltip_text" translatable="yes" comments="Tooltip for stop button">Refresh device list</property> - <signal name="clicked" handler="redetect_button_clicked_cb" swapped="no"/> + <object class="GtkBox" id="device_buttons_box"> + <property name="visible">False</property> + <property name="orientation">horizontal</property> + <property name="halign">center</property> + <property name="spacing">10</property> <child> - <object class="GtkImage"> - <property name="visible">True</property> + <object class="GtkDropDown" id="device_drop_down"> + <property name="width_request">200</property> + <signal name="notify::selected" handler="device_drop_down_changed_cb" swapped="no"/> + </object> + </child> + <child> + <object class="GtkButton" id="refresh_devices"> + <property name="tooltip_text" translatable="yes" comments="Tooltip for stop button">Refresh device list</property> <property name="icon_name">view-refresh-symbolic</property> - <property name="icon_size">1</property> + + <signal name="clicked" handler="redetect_button_clicked_cb" swapped="no"/> </object> </child> - <style> - <class name="image-button"/> - </style> </object> - <packing> - <property name="fill">False</property> - </packing> </child> </object> </child> </object> - </child> + </property> </object> - <packing> - <property name="name">startup</property> - </packing> </child> <child> - <object class="GtkBox" id="main_vbox"> - <property name="visible">True</property> - <property name="orientation">vertical</property> - <child> - <object class="GtkActionBar" id="action_bar"> - <property name="visible">True</property> + <object class="GtkStackPage"> + <property name="name">document</property> + <property name="child"> + <object class="GtkBox" id="main_vbox"> + <property name="orientation">vertical</property> + <child> + <object class="GtkActionBar" id="action_bar"> + <child type="start"> + <object class="GtkButton"> + <property name="margin-start">6</property> + <signal name="clicked" handler="new_document_cb" swapped="no"/> + + <property name="child"> + <object class="AdwButtonContent"> + <property name="icon-name">list-add-symbolic</property> + <property name="label" translatable="yes">New Document</property> + </object> + </property> + </object> + </child> + + <child type="center"> + <object class="GtkBox"> + <property name="orientation">horizontal</property> + <property name="spacing">5</property> + + <child> + <object class="GtkButton"> + <property name="icon-name">object-rotate-left-symbolic</property> + <property name="tooltip-text" translatable="yes">Rotate the page to the left (counter-clockwise)</property> + <property name="action-name">app.rotate_left</property> + </object> + </child> + + <child> + <object class="GtkButton"> + <property name="icon-name">object-rotate-right-symbolic</property> + <property name="tooltip-text" translatable="yes">Rotate the page to the right (clockwise)</property> + <property name="action-name">app.rotate_right</property> + </object> + </child> + + <child> + <object class="GtkToggleButton" id="crop_button"> + <property name="icon-name">crop-symbolic</property> + <property name="tooltip-text" translatable="yes">Crop the selected page</property> + <signal name="toggled" handler="crop_toggle_cb" swapped="no"/> + </object> + </child> + + <child> + <object class="GtkButton" id="delete_button"> + <property name="icon-name">user-trash-symbolic</property> + <property name="tooltip-text" translatable="yes">Delete the selected page</property> + <property name="action-name">app.delete_page</property> + </object> + </child> + + </object> + </child> + + </object> + </child> </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="pack_type">end</property> - <property name="position">0</property> - </packing> - </child> + </property> </object> - <packing> - <property name="name">document</property> - <property name="position">1</property> - </packing> </child> </object> </child> + </object> - </child> + </property> </template> </interface> diff --git a/data/ui/authorize-dialog.ui b/data/ui/authorize-dialog.ui index 79e43fd..729ddc3 100644 --- a/data/ui/authorize-dialog.ui +++ b/data/ui/authorize-dialog.ui @@ -1,111 +1,78 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Generated with glade 3.20.0 --> <interface> - <requires lib="gtk+" version="3.10"/> - <template class="AuthorizeDialog" parent="GtkDialog"> - <property name="border_width">12</property> - <property name="resizable">False</property> + <requires lib="gtk" version="4.0"/> + <requires lib="libadwaita" version="1.0"/> + <template class="AuthorizeDialog" parent="GtkWindow"> <property name="modal">True</property> - <property name="type_hint">normal</property> - <property name="urgency_hint">True</property> - <child internal-child="vbox"> - <object class="GtkBox" id="dialog-vbox1"> - <property name="visible">True</property> - <property name="orientation">vertical</property> - <property name="spacing">12</property> - <child internal-child="action_area"> - <object class="GtkButtonBox" id="dialog-action_area1"> - <property name="visible">True</property> - <property name="layout_style">end</property> - <child> - <object class="GtkButton" id="authorize_button"> - <property name="label" translatable="yes" comments="Button to submit authorization dialog">_Authorize</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">True</property> - <property name="use_underline">True</property> - </object> - </child> - </object> - <packing> - <property name="pack_type">end</property> - </packing> - </child> + <property name="resizable">False</property> + + <property name="titlebar"> + <object class="GtkBox"> + </object> + </property> + + <child> + <object class="GtkWindowHandle"> <child> - <object class="GtkBox" id="vbox5"> - <property name="visible">True</property> - <property name="border_width">5</property> + <object class="GtkBox" id="dialog-vbox1"> <property name="orientation">vertical</property> <property name="spacing">12</property> + <property name="margin-start">20</property> + <property name="margin-end">20</property> + <property name="margin-top">18</property> + <property name="margin-bottom">18</property> + <child> - <object class="GtkLabel" id="authorize_label"> - <property name="visible">True</property> - <property name="vexpand">True</property> - <property name="label" comments="This label is set dynamically and is not translated">To connect to ? you need to authorize</property> - </object> - </child> - <child> - <object class="GtkGrid" id="grid2"> - <property name="visible">True</property> - <property name="row_spacing">6</property> - <property name="column_spacing">6</property> + <object class="AdwPreferencesGroup" id="preferences_group"> + <property name="title" comments="This label is set dynamically and is not translated">To connect to ? you need to authorize</property> + <child> - <object class="GtkEntry" id="username_entry"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="hexpand">True</property> - <property name="invisible_char">●</property> + <object class="AdwEntryRow" id="username_entry"> + <property name="title" translatable="yes">_Username for resource</property> + <property name="use_underline">True</property> </object> - <packing> - <property name="left_attach">1</property> - <property name="top_attach">0</property> - </packing> </child> + <child> - <object class="GtkEntry" id="password_entry"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="hexpand">True</property> - <property name="visibility">False</property> - <property name="invisible_char">●</property> + <object class="AdwPasswordEntryRow" id="password_entry"> + <property name="title" translatable="yes">_Password</property> + <property name="use_underline">True</property> </object> - <packing> - <property name="left_attach">1</property> - <property name="top_attach">1</property> - </packing> </child> + </object> + </child> + + <child> + <object class="GtkBox"> + <property name="orientation">horizontal</property> + <property name="spacing">5</property> + <property name="halign">end</property> + <child> - <object class="GtkLabel" id="username_label"> - <property name="visible">True</property> - <property name="label" translatable="yes" comments="Label beside username entry">_Username for resource:</property> + <object class="GtkButton"> + <property name="label" translatable="yes">_Cancel</property> <property name="use_underline">True</property> - <property name="mnemonic_widget">username_entry</property> + <signal name="clicked" handler="cancel_button_cb" swapped="no"/> </object> - <packing> - <property name="left_attach">0</property> - <property name="top_attach">0</property> - </packing> </child> + <child> - <object class="GtkLabel" id="password_label"> - <property name="visible">True</property> - <property name="label" translatable="yes" comments="Label beside password entry">_Password:</property> + <object class="GtkButton" id="authorize_button"> + <property name="label" translatable="yes" comments="Button to submit authorization dialog">_Authorize</property> <property name="use_underline">True</property> - <property name="mnemonic_widget">password_entry</property> + <signal name="clicked" handler="authorize_button_cb" swapped="no"/> + + <style> + <class name="suggested-action"/> + </style> </object> - <packing> - <property name="left_attach">0</property> - <property name="top_attach">1</property> - </packing> </child> </object> </child> + </object> </child> </object> </child> - <action-widgets> - <action-widget response="0">authorize_button</action-widget> - </action-widgets> </template> </interface> diff --git a/data/ui/drivers-dialog.ui b/data/ui/drivers-dialog.ui new file mode 100644 index 0000000..1286694 --- /dev/null +++ b/data/ui/drivers-dialog.ui @@ -0,0 +1,137 @@ +<?xml version="1.0" encoding="UTF-8"?> +<interface> + <requires lib="gtk" version="4.0" /> + <requires lib="libadwaita" version="1.0" /> + <template class="DriversDialog" parent="GtkWindow"> + <property name="modal">True</property> + <property name="resizable">False</property> + <property name="default-width">400</property> + + <property name="titlebar"> + <object class="GtkRevealer" id="header_revealer"> + <property name="reveal-child">True</property> + <property name="child"> + <object class="AdwHeaderBar"> + <property name="title-widget"> + <object class="GtkLabel" id="title"> + <property name="label" translatable="yes">Install drivers</property> + </object> + </property> + + <style> + <class name="flat" /> + </style> + </object> + </property> + </object> + </property> + + <child> + <object class="GtkStack" id="stack"> + <property name="transition-type">3</property> + + <child> + <object class="GtkStackPage"> + <property name="name">main</property> + <property name="child"> + <object class="GtkBox" id="content_area"> + <property name="orientation">vertical</property> + <property name="halign">center</property> + <property name="valign">center</property> + <property name="spacing">18</property> + + <child> + <object class="GtkImage"> + <property name="icon-name">document-save-symbolic</property> + <property name="pixel-size">100</property> + </object> + </child> + + <child> + <object class="GtkLabel" id="main_label"> + <property name="valign">center</property> + <property name="halign">center</property> + <property name="use_markup">True</property> + </object> + </child> + + <child> + <object class="GtkLabel" id="main_sublabel"> + <property name="valign">center</property> + <property name="halign">center</property> + <property name="use_markup">True</property> + </object> + </child> + + <child> + <object class="GtkRevealer" id="progress_revealer"> + <property name="child"> + <object class="GtkProgressBar" id="progress_bar"></object> + </property> + </object> + </child> + + </object> + </property> + </object> + </child> + + <child> + <object class="GtkStackPage"> + <property name="name">result</property> + <property name="child"> + <object class="GtkBox"> + <property name="orientation">vertical</property> + + <property name="margin-start">40</property> + <property name="margin-end">40</property> + <property name="margin-top">40</property> + <property name="margin-bottom">40</property> + + <property name="halign">center</property> + <property name="valign">center</property> + + <property name="spacing">18</property> + <property name="hexpand">True</property> + <property name="halign">center</property> + + <child> + <object class="GtkImage" id="result_icon"> + <property name="icon-name">emblem-ok-symbolic</property> + <property name="pixel-size">100</property> + </object> + </child> + + <child> + <object class="GtkLabel" id="result_label"> + <property name="label"></property> + </object> + </child> + + <child> + <object class="GtkLabel" id="result_sublabel"> + <property name="label"></property> + </object> + </child> + + <child> + <object class="GtkButton" id="result_button"> + <property name="label">Ok</property> + <property name="action-name">window.close</property> + + <style> + <class name="pill" /> + <class name="suggested-action" /> + </style> + </object> + </child> + + </object> + </property> + </object> + </child> + + </object> + </child> + </template> +</interface>
\ No newline at end of file diff --git a/data/ui/help-overlay.ui b/data/ui/help-overlay.ui index 9dbd746..ef6f634 100644 --- a/data/ui/help-overlay.ui +++ b/data/ui/help-overlay.ui @@ -5,35 +5,29 @@ <property name="modal">1</property> <child> <object class="GtkShortcutsSection"> - <property name="visible">1</property> <child> <object class="GtkShortcutsGroup"> - <property name="visible">1</property> <property name="title" translatable="yes" context="shortcut window">Scanning</property> <child> <object class="GtkShortcutsShortcut"> - <property name="visible">1</property> <property name="action-name">app.scan_single</property> <property name="title" translatable="yes" context="shortcut window">Scan a single page</property> </object> </child> <child> <object class="GtkShortcutsShortcut"> - <property name="visible">1</property> <property name="action-name">app.scan_adf</property> <property name="title" translatable="yes" context="shortcut window">Scan all pages from document feeder</property> </object> </child> <child> <object class="GtkShortcutsShortcut"> - <property name="visible">1</property> <property name="action-name">app.scan_batch</property> <property name="title" translatable="yes" context="shortcut window">Scan continuously from a flatbed scanner</property> </object> </child> <child> <object class="GtkShortcutsShortcut"> - <property name="visible">1</property> <property name="action-name">app.scan_stop</property> <property name="title" translatable="yes" context="shortcut window">Stop scan in progress</property> </object> @@ -42,39 +36,33 @@ </child> <child> <object class="GtkShortcutsGroup"> - <property name="visible">1</property> <property name="title" translatable="yes" context="shortcut window">Document Modification</property> <child> <object class="GtkShortcutsShortcut"> - <property name="visible">1</property> <property name="action-name">app.move_left</property> <property name="title" translatable="yes" context="shortcut window">Move page left</property> </object> </child> <child> <object class="GtkShortcutsShortcut"> - <property name="visible">1</property> <property name="action-name">app.move_right</property> <property name="title" translatable="yes" context="shortcut window">Move page right</property> </object> </child> <child> <object class="GtkShortcutsShortcut"> - <property name="visible">1</property> <property name="action-name">app.rotate_left</property> <property name="title" translatable="yes" context="shortcut window">Rotate page to the left (anti-clockwise)</property> </object> </child> <child> <object class="GtkShortcutsShortcut"> - <property name="visible">1</property> <property name="action-name">app.rotate_right</property> <property name="title" translatable="yes" context="shortcut window">Rotate page to the right (clockwise)</property> </object> </child> <child> <object class="GtkShortcutsShortcut"> - <property name="visible">1</property> <property name="action-name">app.delete_page</property> <property name="title" translatable="yes" context="shortcut window">Delete page</property> </object> @@ -83,39 +71,33 @@ </child> <child> <object class="GtkShortcutsGroup"> - <property name="visible">1</property> <property name="title" translatable="yes" context="shortcut window">Document Management</property> <child> <object class="GtkShortcutsShortcut"> - <property name="visible">1</property> <property name="action-name">app.new_document</property> <property name="title" translatable="yes" context="shortcut window">Start new document</property> </object> </child> <child> <object class="GtkShortcutsShortcut"> - <property name="visible">1</property> <property name="action-name">app.save</property> <property name="title" translatable="yes" context="shortcut window">Save scanned document</property> </object> </child> <child> <object class="GtkShortcutsShortcut"> - <property name="visible">1</property> <property name="action-name">app.email</property> <property name="title" translatable="yes" context="shortcut window">Email scanned document</property> </object> </child> <child> <object class="GtkShortcutsShortcut"> - <property name="visible">1</property> <property name="action-name">app.print</property> <property name="title" translatable="yes" context="shortcut window">Print scanned document</property> </object> </child> <child> <object class="GtkShortcutsShortcut"> - <property name="visible">1</property> <property name="action-name">app.copy_page</property> <property name="title" translatable="yes" context="shortcut window">Copy current page to clipboard</property> </object> @@ -124,39 +106,33 @@ </child> <child> <object class="GtkShortcutsGroup"> - <property name="visible">1</property> <property name="title" translatable="yes" context="shortcut window">General</property> <child> <object class="GtkShortcutsShortcut"> - <property name="visible">1</property> <property name="action-name">app.help</property> <property name="title" translatable="yes" context="shortcut window">Show help</property> </object> </child> <child> <object class="GtkShortcutsShortcut"> - <property name="visible">1</property> <property name="accelerator">F10</property> <property name="title" translatable="yes" context="shortcut window">Open menu</property> </object> </child> <child> <object class="GtkShortcutsShortcut"> - <property name="visible">1</property> <property name="action-name">app.preferences</property> <property name="title" translatable="yes" context="shortcut window">Show preferences</property> </object> </child> <child> <object class="GtkShortcutsShortcut"> - <property name="visible">1</property> <property name="action-name">win.show-help-overlay</property> <property name="title" translatable="yes" context="shortcut window">Keyboard shortcuts</property> </object> </child> <child> <object class="GtkShortcutsShortcut"> - <property name="visible">1</property> <property name="action-name">app.quit</property> <property name="title" translatable="yes" context="shortcut window">Quit</property> </object> diff --git a/data/ui/preferences-dialog.ui b/data/ui/preferences-dialog.ui index fe63150..eb6e72c 100644 --- a/data/ui/preferences-dialog.ui +++ b/data/ui/preferences-dialog.ui @@ -14,80 +14,45 @@ <property name="step_increment">1</property> <property name="page_increment">10</property> </object> - <object class="GtkListStore" id="paper_size_model"> - <columns> - <!-- column-name width --> - <column type="gint"/> - <!-- column-name height --> - <column type="gint"/> - <!-- column-name label --> - <column type="gchararray"/> - </columns> - </object> - <object class="GtkListStore" id="photo_dpi_model"> - <columns> - <!-- column-name dpi --> - <column type="gint"/> - <!-- column-name label --> - <column type="gchararray"/> - </columns> - </object> - <object class="GtkListStore" id="text_dpi_model"> - <columns> - <!-- column-name dpi --> - <column type="gint"/> - <!-- column-name label --> - <column type="gchararray"/> - </columns> + <object class="GtkAdjustment" id="compression_adjustment"> + <property name="value">75</property> + <property name="lower">0</property> + <property name="upper">100</property> + <property name="step_increment">1</property> + <property name="page_increment">10</property> + <property name="page_size">0</property> </object> - <template class="PreferencesDialog" parent="HdyPreferencesWindow"> + <template class="PreferencesDialog" parent="AdwPreferencesWindow"> <property name="icon_name">org.gnome.SimpleScan</property> <property name="search_enabled">False</property> <child> - <object class="HdyPreferencesPage"> - <property name="visible">True</property> + <object class="AdwPreferencesPage"> <child> - <object class="HdyPreferencesGroup"> - <property name="visible">True</property> + <object class="AdwPreferencesGroup"> <property name="title" translatable="yes" comments="Preferences Dialog: Section label for scanning settings">Scanning</property> <child> - <object class="HdyActionRow"> - <property name="visible">True</property> + <object class="AdwActionRow"> <property name="title" translatable="yes" comments="Label beside scan side combo box">Scan _Sides</property> <property name="use_underline">True</property> <property name="activatable_widget">front_side_button</property> <child> <object class="GtkBox" id="scan_side_box"> - <property name="visible">True</property> <property name="valign">center</property> <property name="homogeneous">True</property> <child> - <object class="GtkRadioButton" id="front_side_button"> + <object class="GtkToggleButton" id="front_side_button"> <property name="label" translatable="yes" comments="Preferences Dialog: Toggle button to select scanning on front side of a page">Front</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">True</property> - <property name="active">True</property> - <property name="draw_indicator">False</property> </object> </child> <child> - <object class="GtkRadioButton" id="back_side_button"> + <object class="GtkToggleButton" id="back_side_button"> <property name="label" translatable="yes" comments="Preferences Dialog: Toggle button to select scanning on the back side of a page">Back</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">True</property> - <property name="draw_indicator">False</property> <property name="group">front_side_button</property> </object> </child> <child> - <object class="GtkRadioButton" id="both_side_button"> + <object class="GtkToggleButton" id="both_side_button"> <property name="label" translatable="yes" comments="Preferences Dialog: Toggle button to select scanning on both sides of a page">Both</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">True</property> - <property name="draw_indicator">False</property> <property name="group">front_side_button</property> </object> </child> @@ -99,84 +64,47 @@ </object> </child> <child> - <object class="HdyActionRow"> - <property name="visible">True</property> + <object class="AdwComboRow" id="paper_size_row"> <property name="title" translatable="yes" comments="Label beside page size combo box">_Page Size</property> <property name="use_underline">True</property> - <property name="activatable_widget">paper_size_combo</property> - <child> - <object class="GtkComboBox" id="paper_size_combo"> - <property name="visible">True</property> - <property name="hexpand">True</property> - <property name="valign">center</property> - <property name="model">paper_size_model</property> - </object> - </child> </object> </child> <child> - <object class="HdyActionRow"> - <property name="visible">True</property> + <object class="AdwActionRow"> <property name="title" translatable="yes" comments="Label beside page delay scale">_Delay in Seconds</property> <property name="subtitle" translatable="yes" comments="Provides context for the page delay scale">Interval to scan multiple pages</property> <property name="use_underline">True</property> <property name="activatable_widget">page_delay_0s_button</property> <child> <object class="GtkBox"> - <property name="visible">True</property> <property name="valign">center</property> <property name="homogeneous">True</property> <child> - <object class="GtkRadioButton" id="page_delay_0s_button"> + <object class="GtkToggleButton" id="page_delay_0s_button"> <property name="label" translatable="yes" comments="Preferences Dialog: Toggle button to select scanning on front side of a page">0</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">True</property> - <property name="active">True</property> - <property name="draw_indicator">False</property> </object> </child> <child> - <object class="GtkRadioButton" id="page_delay_3s_button"> + <object class="GtkToggleButton" id="page_delay_3s_button"> <property name="label" translatable="yes" comments="Preferences Dialog: Toggle button to select scanning on front side of a page">3</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">True</property> - <property name="active">True</property> - <property name="draw_indicator">False</property> <property name="group">page_delay_0s_button</property> </object> </child> <child> - <object class="GtkRadioButton" id="page_delay_6s_button"> + <object class="GtkToggleButton" id="page_delay_6s_button"> <property name="label" translatable="yes" comments="Preferences Dialog: Toggle button to select scanning on front side of a page">6</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">True</property> - <property name="active">True</property> - <property name="draw_indicator">False</property> <property name="group">page_delay_0s_button</property> </object> </child> <child> - <object class="GtkRadioButton" id="page_delay_10s_button"> + <object class="GtkToggleButton" id="page_delay_10s_button"> <property name="label" translatable="yes" comments="Preferences Dialog: Toggle button to select scanning on front side of a page">10</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">True</property> - <property name="active">True</property> - <property name="draw_indicator">False</property> <property name="group">page_delay_0s_button</property> </object> </child> <child> - <object class="GtkRadioButton" id="page_delay_15s_button"> + <object class="GtkToggleButton" id="page_delay_15s_button"> <property name="label" translatable="yes" comments="Preferences Dialog: Toggle button to select scanning on front side of a page">15</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">True</property> - <property name="active">True</property> - <property name="draw_indicator">False</property> <property name="group">page_delay_0s_button</property> </object> </child> @@ -190,49 +118,27 @@ </object> </child> <child> - <object class="HdyPreferencesGroup"> - <property name="visible">True</property> + <object class="AdwPreferencesGroup"> <property name="title" translatable="yes" comments="Preferences Dialog: Section label for quality settings">Quality</property> <child> - <object class="HdyActionRow"> - <property name="visible">True</property> + <object class="AdwComboRow" id="text_dpi_row"> <property name="title" translatable="yes" comments="Label beside scan resolution combo box">_Text Resolution</property> <property name="use_underline">True</property> - <property name="activatable_widget">text_dpi_combo</property> - <child> - <object class="GtkComboBox" id="text_dpi_combo"> - <property name="visible">True</property> - <property name="valign">center</property> - <property name="model">text_dpi_model</property> - </object> - </child> </object> </child> <child> - <object class="HdyActionRow"> - <property name="visible">True</property> + <object class="AdwComboRow" id="photo_dpi_row"> <property name="title" translatable="yes" comments="Label beside scan resolution combo box">_Image Resolution</property> <property name="use_underline">True</property> - <property name="activatable_widget">photo_dpi_combo</property> - <child> - <object class="GtkComboBox" id="photo_dpi_combo"> - <property name="visible">True</property> - <property name="valign">center</property> - <property name="model">photo_dpi_model</property> - </object> - </child> </object> </child> <child> - <object class="HdyActionRow"> - <property name="visible">True</property> + <object class="AdwActionRow"> <property name="title" translatable="yes" comments="Label beside brightness scale">_Brightness</property> <property name="use_underline">True</property> <property name="activatable_widget">brightness_scale</property> <child> <object class="GtkScale" id="brightness_scale"> - <property name="visible">True</property> - <property name="can_focus">True</property> <property name="valign">center</property> <property name="hexpand">True</property> <property name="adjustment">brightness_adjustment</property> @@ -242,15 +148,12 @@ </object> </child> <child> - <object class="HdyActionRow"> - <property name="visible">True</property> + <object class="AdwActionRow"> <property name="title" translatable="yes" comments="Label beside contrast scale">_Contrast</property> <property name="use_underline">True</property> <property name="activatable_widget">contrast_scale</property> <child> <object class="GtkScale" id="contrast_scale"> - <property name="visible">True</property> - <property name="can_focus">True</property> <property name="valign">center</property> <property name="hexpand">True</property> <property name="adjustment">contrast_adjustment</property> @@ -259,27 +162,37 @@ </child> </object> </child> + <child> + <object class="AdwActionRow"> + <property name="title" translatable="yes" comments="Label beside compression scale">Compression</property> + <property name="use_underline">True</property> + <property name="activatable_widget">compression_scale</property> + <child> + <object class="GtkScale" id="compression_scale"> + <property name="valign">center</property> + <property name="hexpand">True</property> + <property name="adjustment">compression_adjustment</property> + <property name="draw_value">False</property> + </object> + </child> + </object> + </child> </object> </child> <child> - <object class="HdyPreferencesGroup"> - <property name="visible">True</property> + <object class="AdwPreferencesGroup"> <property name="title" translatable="yes" comments="Preferences Dialog: Section label for postprocessing settings">Postprocessing</property> <child> - <object class="HdyActionRow"> - <property name="visible">True</property> + <object class="AdwActionRow"> <property name="title" translatable="yes" comments="Switch to enable postprocessing">_Enable Postprocessing</property> <property name="use_underline">True</property> <property name="activatable_widget">postproc_enable_box</property> <child> <object class="GtkBox" id="postproc_enable_box"> - <property name="visible">True</property> <property name="valign">center</property> <property name="homogeneous">True</property> <child> <object class="GtkSwitch" id="postproc_enable_switch"> - <property name="visible">True</property> - <property name="can_focus">True</property> <property name="hexpand">False</property> <property name="active">True</property> </object> @@ -289,21 +202,17 @@ </object> </child> <child> - <object class="HdyActionRow"> - <property name="visible">True</property> + <object class="AdwActionRow"> <property name="title" translatable="yes" comments="Label beside postprocesing script name entry">_Script</property> <property name="use_underline">True</property> <property name="activatable_widget">postproc_script_entry</property> <child> <object class="GtkBox" id="postproc_script_box"> - <property name="visible">True</property> <property name="valign">center</property> <property name="homogeneous">True</property> <child> <object class="GtkEntry" id="postproc_script_entry"> - <property name="visible">True</property> - <property name="can_focus">True</property> <property name="hexpand">True</property> </object> </child> @@ -312,21 +221,17 @@ </object> </child> <child> - <object class="HdyActionRow"> - <property name="visible">True</property> + <object class="AdwActionRow"> <property name="title" translatable="yes" comments="Label beside postprocesing arguments entry">_Script arguments</property> <property name="use_underline">True</property> <property name="activatable_widget">postproc_args_entry</property> <child> <object class="GtkBox" id="postproc_args_box"> - <property name="visible">True</property> <property name="valign">center</property> <property name="homogeneous">True</property> <child> <object class="GtkEntry" id="postproc_args_entry"> - <property name="visible">True</property> - <property name="can_focus">True</property> <property name="hexpand">True</property> </object> </child> @@ -335,20 +240,16 @@ </object> </child> <child> - <object class="HdyActionRow"> - <property name="visible">True</property> + <object class="AdwActionRow"> <property name="title" translatable="yes" comments="Label beside keep keep original file radio">_Keep original file</property> <property name="use_underline">True</property> <property name="activatable_widget">postproc_keep_original_box</property> <child> <object class="GtkBox" id="postproc_keep_original_box"> - <property name="visible">True</property> <property name="valign">center</property> <property name="homogeneous">True</property> <child> <object class="GtkSwitch" id="postproc_keep_original_switch"> - <property name="visible">True</property> - <property name="can_focus">True</property> <property name="hexpand">False</property> <property name="active">True</property> </object> diff --git a/data/ui/reorder-pages-dialog.ui b/data/ui/reorder-pages-dialog.ui new file mode 100644 index 0000000..33ee2e2 --- /dev/null +++ b/data/ui/reorder-pages-dialog.ui @@ -0,0 +1,92 @@ +<?xml version="1.0" encoding="UTF-8"?> +<interface> + <requires lib="gtk" version="4.0"/> + <requires lib="libadwaita" version="1.0"/> + + <template class="ReorderPagesDialog" parent="GtkWindow"> + <property name="modal">True</property> + <property name="resizable">False</property> + <property name="title" translatable="yes" context="dialog title">Reorder Pages</property> + + <property name="titlebar"> + <object class="AdwHeaderBar"> + </object> + </property> + + <child> + <object class="GtkWindowHandle"> + <child> + <object class="GtkBox" id="dialog-vbox1"> + <property name="orientation">vertical</property> + <property name="spacing">12</property> + <property name="margin-start">20</property> + <property name="margin-end">20</property> + <property name="margin-top">18</property> + <property name="margin-bottom">18</property> + <property name="halign">center</property> + + <child> + <object class="GtkBox"> + <property name="orientation">horizontal</property> + + <child> + <object class="ReorderPagesItem" id="combine_sides"> + <property name="label" translatable="yes">Combine sides</property> + <property name="before">interleave-before</property> + <property name="after">interleave-after</property> + </object> + </child> + + <child> + <object class="ReorderPagesItem" id="combine_sides_rev"> + <property name="label" translatable="yes">Combine sides (reverse)</property> + <property name="before">interleave-before</property> + <property name="after">interleave-reverse-after</property> + </object> + </child> + </object> + </child> + + <child> + <object class="GtkBox"> + <property name="orientation">horizontal</property> + <child> + <object class="ReorderPagesItem" id="flip_odd"> + <property name="label" translatable="yes">Flip odd pages upside-down</property> + <property name="before">flip-before</property> + <property name="after">flip-odd</property> + </object> + </child> + + <child> + <object class="ReorderPagesItem" id="flip_even"> + <property name="label" translatable="yes">Flip even pages upside-down</property> + <property name="before">flip-before</property> + <property name="after">flip-even</property> + </object> + </child> + </object> + </child> + + <child> + <object class="GtkBox"> + <property name="orientation">horizontal</property> + <property name="halign">center</property> + + <child> + <object class="ReorderPagesItem" id="reverse"> + <property name="label" translatable="yes">Reverse</property> + <property name="before">reverse-before</property> + <property name="after">reverse-after</property> + </object> + </child> + + </object> + </child> + + </object> + </child> + </object> + </child> + </template> +</interface>
\ No newline at end of file diff --git a/data/ui/reorder-pages-item.ui b/data/ui/reorder-pages-item.ui new file mode 100644 index 0000000..054801d --- /dev/null +++ b/data/ui/reorder-pages-item.ui @@ -0,0 +1,51 @@ +<?xml version="1.0" encoding="UTF-8"?> +<interface> + <requires lib="gtk" version="4.0"/> + <requires lib="libadwaita" version="1.0"/> + + <template class="ReorderPagesItem" parent="GtkButton"> + <child> + <object class="GtkBox"> + <property name="orientation">vertical</property> + + <child> + <object class="GtkLabel" id="title"> + <property name="label"></property> + </object> + </child> + + <child> + <object class="GtkBox"> + <property name="orientation">horizontal</property> + <property name="spacing">12</property> + <property name="halign">center</property> + + <child> + <object class="GtkImage" id="before_image"> + <property name="pixel-size">140</property> + </object> + </child> + + <child> + <object class="GtkImage"> + <property name="icon-name">right-large-symbolic</property> + </object> + </child> + + <child> + <object class="GtkImage" id="after_image"> + <property name="pixel-size">140</property> + </object> + </child> + + </object> + </child> + + </object> + </child> + + <style> + <class name="flat"/> + </style> + </template> +</interface>
\ No newline at end of file |