sd/source/ui/dlg/prntopts.cxx | 63 ++++++ sd/source/ui/inc/prntopts.hxx | 10 + sd/uiconfig/simpress/ui/prntopts.ui | 335 ++++++++++++++++++++++++------------ 3 files changed, 293 insertions(+), 115 deletions(-)
New commits: commit 6f32acbbf8e2f42dd926b42d7718056db5bbee94 Author: Balazs Varga <balazs.varga.ext...@allotropia.de> AuthorDate: Fri Nov 24 14:15:46 2023 +0100 Commit: Balazs Varga <balazs.varga.ext...@allotropia.de> CommitDate: Fri Nov 24 15:17:12 2023 +0100 tdf#158240 - UI: Part 42 - Unify lockdown behavior of Options dialog for Impress - Print Page. Change-Id: I96e90ab09ee4bc80b097799970a5b1c56fc47048 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159927 Tested-by: Jenkins Reviewed-by: Balazs Varga <balazs.varga.ext...@allotropia.de> diff --git a/sd/source/ui/dlg/prntopts.cxx b/sd/source/ui/dlg/prntopts.cxx index 8b17ae6d59ab..6a608932adce 100644 --- a/sd/source/ui/dlg/prntopts.cxx +++ b/sd/source/ui/dlg/prntopts.cxx @@ -22,6 +22,7 @@ #include <prntopts.hxx> #include <app.hrc> #include <svl/intitem.hxx> +#include <officecfg/Office/Impress.hxx> /** * dialog to adjust print options @@ -36,17 +37,27 @@ SdPrintOptions::SdPrintOptions(weld::Container* pPage, weld::DialogController* p , m_xRbtColor(m_xBuilder->weld_radio_button("defaultrb")) , m_xRbtGrayscale(m_xBuilder->weld_radio_button("grayscalerb")) , m_xRbtBlackWhite(m_xBuilder->weld_radio_button("blackwhiterb")) + , m_xRbQualityImg(m_xBuilder->weld_widget("lockquality")) , m_xCbxPagename(m_xBuilder->weld_check_button("pagenmcb")) + , m_xCbxPagenameImg(m_xBuilder->weld_widget("lockpagenmcb")) , m_xCbxDate(m_xBuilder->weld_check_button("datecb")) + , m_xCbxDateImg(m_xBuilder->weld_widget("lockdatecb")) , m_xCbxTime(m_xBuilder->weld_check_button("timecb")) + , m_xCbxTimeImg(m_xBuilder->weld_widget("locktimecb")) , m_xCbxHiddenPages(m_xBuilder->weld_check_button("hiddenpgcb")) + , m_xCbxHiddenPagesImg(m_xBuilder->weld_widget("lockhiddenpgcb")) , m_xRbtDefault(m_xBuilder->weld_radio_button("pagedefaultrb")) , m_xRbtPagesize(m_xBuilder->weld_radio_button("fittopgrb")) , m_xRbtPagetile(m_xBuilder->weld_radio_button("tilepgrb")) , m_xRbtBooklet(m_xBuilder->weld_radio_button("brouchrb")) + , m_xGridPageOpt(m_xBuilder->weld_widget("pageoptions")) + , m_xRbtPageOptImg(m_xBuilder->weld_widget("lockpageoptions")) , m_xCbxFront(m_xBuilder->weld_check_button("frontcb")) + , m_xCbxFrontImg(m_xBuilder->weld_widget("lockfrontcb")) , m_xCbxBack(m_xBuilder->weld_check_button("backcb")) + , m_xCbxBackImg(m_xBuilder->weld_widget("lockbackcb")) , m_xCbxPaperbin(m_xBuilder->weld_check_button("papertryfrmprntrcb")) + , m_xCbxPaperbinImg(m_xBuilder->weld_widget("lockpapertryfrmprntrcb")) { Link<weld::Toggleable&,void> aLink = LINK( this, SdPrintOptions, ClickBookletHdl ); m_xRbtDefault->connect_toggled( aLink ); @@ -188,6 +199,47 @@ void SdPrintOptions::Reset( const SfxItemSet* rAttrs ) else m_xRbtBlackWhite->set_active(true); } + + bool bReadOnly = officecfg::Office::Impress::Print::Page::PageSize::isReadOnly() || + officecfg::Office::Impress::Print::Page::PageTile::isReadOnly() || + officecfg::Office::Impress::Print::Page::Booklet::isReadOnly(); + m_xGridPageOpt->set_sensitive(!bReadOnly); + m_xRbtPageOptImg->set_visible(bReadOnly); + + bReadOnly = officecfg::Office::Impress::Print::Page::BookletFront::isReadOnly(); + m_xCbxFront->set_sensitive(!bReadOnly); + m_xCbxFrontImg->set_visible(bReadOnly); + + bReadOnly = officecfg::Office::Impress::Print::Page::BookletBack::isReadOnly(); + m_xCbxBack->set_sensitive(!bReadOnly); + m_xCbxBackImg->set_visible(bReadOnly); + + bReadOnly = officecfg::Office::Impress::Print::Other::FromPrinterSetup::isReadOnly(); + m_xCbxPaperbin->set_sensitive(!bReadOnly); + m_xCbxPaperbinImg->set_visible(bReadOnly); + + bReadOnly = officecfg::Office::Impress::Print::Other::PageName::isReadOnly(); + m_xCbxPagename->set_sensitive(!bReadOnly); + m_xCbxPagenameImg->set_visible(bReadOnly); + + bReadOnly = officecfg::Office::Impress::Print::Other::Date::isReadOnly(); + m_xCbxDate->set_sensitive(!bReadOnly); + m_xCbxDateImg->set_visible(bReadOnly); + + bReadOnly = officecfg::Office::Impress::Print::Other::Time::isReadOnly(); + m_xCbxTime->set_sensitive(!bReadOnly); + m_xCbxTimeImg->set_visible(bReadOnly); + + bReadOnly = officecfg::Office::Impress::Print::Other::HiddenPage::isReadOnly(); + m_xCbxHiddenPages->set_sensitive(!bReadOnly); + m_xCbxHiddenPagesImg->set_visible(bReadOnly); + + bReadOnly = officecfg::Office::Impress::Print::Other::Quality::isReadOnly(); + m_xRbtColor->set_sensitive(!bReadOnly); + m_xRbtGrayscale->set_sensitive(!bReadOnly); + m_xRbtBlackWhite->set_sensitive(!bReadOnly); + m_xRbQualityImg->set_visible(bReadOnly); + m_xCbxDraw->save_state(); m_xCbxNotes->save_state(); m_xCbxHandout->save_state(); @@ -229,13 +281,14 @@ IMPL_LINK_NOARG(SdPrintOptions, ClickBookletHdl, weld::Toggleable&, void) void SdPrintOptions::updateControls() { - m_xCbxFront->set_sensitive(m_xRbtBooklet->get_active()); - m_xCbxBack->set_sensitive(m_xRbtBooklet->get_active()); + m_xCbxFront->set_sensitive(m_xRbtBooklet->get_active() && !officecfg::Office::Impress::Print::Page::BookletFront::isReadOnly()); + m_xCbxBack->set_sensitive(m_xRbtBooklet->get_active() && !officecfg::Office::Impress::Print::Page::BookletBack::isReadOnly()); - m_xCbxDate->set_sensitive( !m_xRbtBooklet->get_active() ); - m_xCbxTime->set_sensitive( !m_xRbtBooklet->get_active() ); + m_xCbxDate->set_sensitive( !m_xRbtBooklet->get_active() && !officecfg::Office::Impress::Print::Other::Date::isReadOnly() ); + m_xCbxTime->set_sensitive( !m_xRbtBooklet->get_active() && !officecfg::Office::Impress::Print::Other::Time::isReadOnly() ); - m_xCbxPagename->set_sensitive( !m_xRbtBooklet->get_active() && (m_xCbxDraw->get_active() || m_xCbxNotes->get_active() || m_xCbxOutline->get_active()) ); + m_xCbxPagename->set_sensitive( !m_xRbtBooklet->get_active() && !officecfg::Office::Impress::Print::Other::PageName::isReadOnly() && + (m_xCbxDraw->get_active() || m_xCbxNotes->get_active() || m_xCbxOutline->get_active()) ); } void SdPrintOptions::SetDrawMode() diff --git a/sd/source/ui/inc/prntopts.hxx b/sd/source/ui/inc/prntopts.hxx index 17037fef8132..abeb84ee3bd6 100644 --- a/sd/source/ui/inc/prntopts.hxx +++ b/sd/source/ui/inc/prntopts.hxx @@ -34,17 +34,27 @@ private: std::unique_ptr<weld::RadioButton> m_xRbtColor; std::unique_ptr<weld::RadioButton> m_xRbtGrayscale; std::unique_ptr<weld::RadioButton> m_xRbtBlackWhite; + std::unique_ptr<weld::Widget> m_xRbQualityImg; std::unique_ptr<weld::CheckButton> m_xCbxPagename; + std::unique_ptr<weld::Widget> m_xCbxPagenameImg; std::unique_ptr<weld::CheckButton> m_xCbxDate; + std::unique_ptr<weld::Widget> m_xCbxDateImg; std::unique_ptr<weld::CheckButton> m_xCbxTime; + std::unique_ptr<weld::Widget> m_xCbxTimeImg; std::unique_ptr<weld::CheckButton> m_xCbxHiddenPages; + std::unique_ptr<weld::Widget> m_xCbxHiddenPagesImg; std::unique_ptr<weld::RadioButton> m_xRbtDefault; std::unique_ptr<weld::RadioButton> m_xRbtPagesize; std::unique_ptr<weld::RadioButton> m_xRbtPagetile; std::unique_ptr<weld::RadioButton> m_xRbtBooklet; + std::unique_ptr<weld::Widget> m_xGridPageOpt; + std::unique_ptr<weld::Widget> m_xRbtPageOptImg; std::unique_ptr<weld::CheckButton> m_xCbxFront; + std::unique_ptr<weld::Widget> m_xCbxFrontImg; std::unique_ptr<weld::CheckButton> m_xCbxBack; + std::unique_ptr<weld::Widget> m_xCbxBackImg; std::unique_ptr<weld::CheckButton> m_xCbxPaperbin; + std::unique_ptr<weld::Widget> m_xCbxPaperbinImg; DECL_LINK(ClickCheckboxHdl, weld::Toggleable&, void); DECL_LINK(ClickBookletHdl, weld::Toggleable&, void); diff --git a/sd/uiconfig/simpress/ui/prntopts.ui b/sd/uiconfig/simpress/ui/prntopts.ui index 983b90e9a6ac..41d3463a48b5 100644 --- a/sd/uiconfig/simpress/ui/prntopts.ui +++ b/sd/uiconfig/simpress/ui/prntopts.ui @@ -20,7 +20,7 @@ <property name="label-xalign">0</property> <property name="shadow-type">none</property> <child> - <!-- n-columns=1 n-rows=6 --> + <!-- n-columns=2 n-rows=4 --> <object class="GtkGrid" id="grid3"> <property name="visible">True</property> <property name="can-focus">False</property> @@ -29,167 +29,211 @@ <property name="row-spacing">6</property> <property name="column-spacing">12</property> <child> - <object class="GtkRadioButton" id="pagedefaultrb"> - <property name="label" translatable="yes" context="prntopts|pagedefaultrb">Default</property> + <object class="GtkCheckButton" id="papertryfrmprntrcb"> + <property name="label" translatable="yes" context="prntopts|papertryfrmprntrcb">Paper tray from printer s_ettings</property> <property name="visible">True</property> <property name="can-focus">True</property> <property name="receives-default">False</property> - <property name="halign">start</property> <property name="use-underline">True</property> - <property name="active">True</property> <property name="draw-indicator">True</property> <child internal-child="accessible"> - <object class="AtkObject" id="pagedefaultrb-atkobject"> - <property name="AtkObject::accessible-description" translatable="yes" context="extended_tip|pagedefaultrb">Specifies that you do not want to further scale pages when printing.</property> + <object class="AtkObject" id="papertryfrmprntrcb-atkobject"> + <property name="AtkObject::accessible-description" translatable="yes" context="extended_tip|papertryfrmprntrcb">Determines that the paper tray to be used is the one defined in the printer setup.</property> </object> </child> </object> <packing> - <property name="left-attach">0</property> + <property name="left-attach">1</property> + <property name="top-attach">3</property> + </packing> + </child> + <child> + <!-- n-columns=1 n-rows=4 --> + <object class="GtkGrid" id="pageoptions"> + <property name="visible">True</property> + <property name="can-focus">False</property> + <property name="row-spacing">6</property> + <property name="column-spacing">12</property> + <child> + <object class="GtkRadioButton" id="pagedefaultrb"> + <property name="label" translatable="yes" context="prntopts|pagedefaultrb">Default</property> + <property name="visible">True</property> + <property name="can-focus">True</property> + <property name="receives-default">False</property> + <property name="halign">start</property> + <property name="use-underline">True</property> + <property name="active">True</property> + <property name="draw-indicator">True</property> + <child internal-child="accessible"> + <object class="AtkObject" id="pagedefaultrb-atkobject"> + <property name="AtkObject::accessible-description" translatable="yes" context="extended_tip|pagedefaultrb">Specifies that you do not want to further scale pages when printing.</property> + </object> + </child> + </object> + <packing> + <property name="left-attach">0</property> + <property name="top-attach">0</property> + </packing> + </child> + <child> + <object class="GtkRadioButton" id="fittopgrb"> + <property name="label" translatable="yes" context="prntopts|fittopgrb">_Fit to page</property> + <property name="visible">True</property> + <property name="can-focus">True</property> + <property name="receives-default">False</property> + <property name="halign">start</property> + <property name="use-underline">True</property> + <property name="draw-indicator">True</property> + <property name="group">pagedefaultrb</property> + <child internal-child="accessible"> + <object class="AtkObject" id="fittopgrb-atkobject"> + <property name="AtkObject::accessible-description" translatable="yes" context="extended_tip|fittopgrb">Specifies whether to scale down objects that are beyond the margins of the current printer, so that they fit on the paper in the printer.</property> + </object> + </child> + </object> + <packing> + <property name="left-attach">0</property> + <property name="top-attach">1</property> + </packing> + </child> + <child> + <object class="GtkRadioButton" id="tilepgrb"> + <property name="label" translatable="yes" context="prntopts|tilepgrb">_Tile pages</property> + <property name="visible">True</property> + <property name="can-focus">True</property> + <property name="receives-default">False</property> + <property name="halign">start</property> + <property name="use-underline">True</property> + <property name="draw-indicator">True</property> + <property name="group">pagedefaultrb</property> + <child internal-child="accessible"> + <object class="AtkObject" id="tilepgrb-atkobject"> + <property name="AtkObject::accessible-description" translatable="yes" context="extended_tip|tilepgrb">Specifies that pages are to be printed in tiled format. If the pages or slides are smaller than the paper, several pages or slides will be printed on one page of paper.</property> + </object> + </child> + </object> + <packing> + <property name="left-attach">0</property> + <property name="top-attach">2</property> + </packing> + </child> + <child> + <object class="GtkRadioButton" id="brouchrb"> + <property name="label" translatable="yes" context="prntopts|brouchrb">B_rochure</property> + <property name="visible">True</property> + <property name="can-focus">True</property> + <property name="receives-default">False</property> + <property name="halign">start</property> + <property name="use-underline">True</property> + <property name="draw-indicator">True</property> + <property name="group">pagedefaultrb</property> + <child internal-child="accessible"> + <object class="AtkObject" id="brouchrb-atkobject"> + <property name="AtkObject::accessible-description" translatable="yes" context="extended_tip|brouchrb">Select the Brochure option to print the document in brochure format.</property> + </object> + </child> + </object> + <packing> + <property name="left-attach">0</property> + <property name="top-attach">3</property> + </packing> + </child> + </object> + <packing> + <property name="left-attach">1</property> <property name="top-attach">0</property> </packing> </child> <child> - <object class="GtkRadioButton" id="fittopgrb"> - <property name="label" translatable="yes" context="prntopts|fittopgrb">_Fit to page</property> + <object class="GtkCheckButton" id="frontcb"> + <property name="label" translatable="yes" context="prntopts|frontcb">Fr_ont</property> <property name="visible">True</property> <property name="can-focus">True</property> <property name="receives-default">False</property> <property name="halign">start</property> <property name="use-underline">True</property> <property name="draw-indicator">True</property> - <property name="group">pagedefaultrb</property> <child internal-child="accessible"> - <object class="AtkObject" id="fittopgrb-atkobject"> - <property name="AtkObject::accessible-description" translatable="yes" context="extended_tip|fittopgrb">Specifies whether to scale down objects that are beyond the margins of the current printer, so that they fit on the paper in the printer.</property> + <object class="AtkObject" id="frontcb-atkobject"> + <property name="AtkObject::accessible-description" translatable="yes" context="extended_tip|frontcb">Select Front to print the front of a brochure.</property> </object> </child> </object> <packing> - <property name="left-attach">0</property> + <property name="left-attach">1</property> <property name="top-attach">1</property> </packing> </child> <child> - <object class="GtkRadioButton" id="tilepgrb"> - <property name="label" translatable="yes" context="prntopts|tilepgrb">_Tile pages</property> + <object class="GtkCheckButton" id="backcb"> + <property name="label" translatable="yes" context="prntopts|backcb">Ba_ck</property> <property name="visible">True</property> <property name="can-focus">True</property> <property name="receives-default">False</property> <property name="halign">start</property> <property name="use-underline">True</property> <property name="draw-indicator">True</property> - <property name="group">pagedefaultrb</property> <child internal-child="accessible"> - <object class="AtkObject" id="tilepgrb-atkobject"> - <property name="AtkObject::accessible-description" translatable="yes" context="extended_tip|tilepgrb">Specifies that pages are to be printed in tiled format. If the pages or slides are smaller than the paper, several pages or slides will be printed on one page of paper.</property> + <object class="AtkObject" id="backcb-atkobject"> + <property name="AtkObject::accessible-description" translatable="yes" context="extended_tip|backcb">Select Back to print the back of a brochure.</property> </object> </child> </object> <packing> - <property name="left-attach">0</property> + <property name="left-attach">1</property> <property name="top-attach">2</property> </packing> </child> <child> - <object class="GtkCheckButton" id="papertryfrmprntrcb"> - <property name="label" translatable="yes" context="prntopts|papertryfrmprntrcb">Paper tray from printer s_ettings</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="draw-indicator">True</property> - <child internal-child="accessible"> - <object class="AtkObject" id="papertryfrmprntrcb-atkobject"> - <property name="AtkObject::accessible-description" translatable="yes" context="extended_tip|papertryfrmprntrcb">Determines that the paper tray to be used is the one defined in the printer setup.</property> - </object> - </child> + <object class="GtkImage" id="lockpageoptions"> + <property name="can-focus">False</property> + <property name="no-show-all">True</property> + <property name="halign">center</property> + <property name="valign">center</property> + <property name="icon-name">res/lock.png</property> </object> <packing> <property name="left-attach">0</property> - <property name="top-attach">5</property> + <property name="top-attach">0</property> </packing> </child> <child> - <object class="GtkRadioButton" id="brouchrb"> - <property name="label" translatable="yes" context="prntopts|brouchrb">B_rochure</property> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> - <property name="halign">start</property> - <property name="use-underline">True</property> - <property name="draw-indicator">True</property> - <property name="group">pagedefaultrb</property> - <child internal-child="accessible"> - <object class="AtkObject" id="brouchrb-atkobject"> - <property name="AtkObject::accessible-description" translatable="yes" context="extended_tip|brouchrb">Select the Brochure option to print the document in brochure format.</property> - </object> - </child> + <object class="GtkImage" id="lockfrontcb"> + <property name="can-focus">False</property> + <property name="no-show-all">True</property> + <property name="halign">center</property> + <property name="valign">center</property> + <property name="icon-name">res/lock.png</property> </object> <packing> <property name="left-attach">0</property> - <property name="top-attach">3</property> + <property name="top-attach">1</property> </packing> </child> <child> - <object class="GtkBox" id="box4"> - <property name="visible">True</property> + <object class="GtkImage" id="lockbackcb"> <property name="can-focus">False</property> - <property name="margin-start">18</property> - <property name="orientation">vertical</property> - <property name="spacing">6</property> - <child> - <object class="GtkCheckButton" id="frontcb"> - <property name="label" translatable="yes" context="prntopts|frontcb">Fr_ont</property> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> - <property name="halign">start</property> - <property name="use-underline">True</property> - <property name="draw-indicator">True</property> - <accessibility> - <relation type="labelled-by" target="brouchrb"/> - </accessibility> - <child internal-child="accessible"> - <object class="AtkObject" id="frontcb-atkobject"> - <property name="AtkObject::accessible-description" translatable="yes" context="extended_tip|frontcb">Select Front to print the front of a brochure.</property> - </object> - </child> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">0</property> - </packing> - </child> - <child> - <object class="GtkCheckButton" id="backcb"> - <property name="label" translatable="yes" context="prntopts|backcb">Ba_ck</property> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> - <property name="halign">start</property> - <property name="use-underline">True</property> - <property name="draw-indicator">True</property> - <accessibility> - <relation type="labelled-by" target="brouchrb"/> - </accessibility> - <child internal-child="accessible"> - <object class="AtkObject" id="backcb-atkobject"> - <property name="AtkObject::accessible-description" translatable="yes" context="extended_tip|backcb">Select Back to print the back of a brochure.</property> - </object> - </child> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">1</property> - </packing> - </child> + <property name="no-show-all">True</property> + <property name="halign">center</property> + <property name="valign">center</property> + <property name="icon-name">res/lock.png</property> </object> <packing> <property name="left-attach">0</property> - <property name="top-attach">4</property> + <property name="top-attach">2</property> + </packing> + </child> + <child> + <object class="GtkImage" id="lockpapertryfrmprntrcb"> + <property name="can-focus">False</property> + <property name="no-show-all">True</property> + <property name="halign">center</property> + <property name="valign">center</property> + <property name="icon-name">res/lock.png</property> + </object> + <packing> + <property name="left-attach">0</property> + <property name="top-attach">3</property> </packing> </child> </object> @@ -218,7 +262,7 @@ <property name="label-xalign">0</property> <property name="shadow-type">none</property> <child> - <!-- n-columns=1 n-rows=4 --> + <!-- n-columns=2 n-rows=4 --> <object class="GtkGrid" id="grid2"> <property name="visible">True</property> <property name="can-focus">False</property> @@ -242,7 +286,7 @@ </child> </object> <packing> - <property name="left-attach">0</property> + <property name="left-attach">1</property> <property name="top-attach">0</property> </packing> </child> @@ -262,7 +306,7 @@ </child> </object> <packing> - <property name="left-attach">0</property> + <property name="left-attach">1</property> <property name="top-attach">1</property> </packing> </child> @@ -282,7 +326,7 @@ </child> </object> <packing> - <property name="left-attach">0</property> + <property name="left-attach">1</property> <property name="top-attach">2</property> </packing> </child> @@ -301,6 +345,58 @@ </object> </child> </object> + <packing> + <property name="left-attach">1</property> + <property name="top-attach">3</property> + </packing> + </child> + <child> + <object class="GtkImage" id="lockpagenmcb"> + <property name="can-focus">False</property> + <property name="no-show-all">True</property> + <property name="halign">center</property> + <property name="valign">center</property> + <property name="icon-name">res/lock.png</property> + </object> + <packing> + <property name="left-attach">0</property> + <property name="top-attach">0</property> + </packing> + </child> + <child> + <object class="GtkImage" id="lockdatecb"> + <property name="can-focus">False</property> + <property name="no-show-all">True</property> + <property name="halign">center</property> + <property name="valign">center</property> + <property name="icon-name">res/lock.png</property> + </object> + <packing> + <property name="left-attach">0</property> + <property name="top-attach">1</property> + </packing> + </child> + <child> + <object class="GtkImage" id="locktimecb"> + <property name="can-focus">False</property> + <property name="no-show-all">True</property> + <property name="halign">center</property> + <property name="valign">center</property> + <property name="icon-name">res/lock.png</property> + </object> + <packing> + <property name="left-attach">0</property> + <property name="top-attach">2</property> + </packing> + </child> + <child> + <object class="GtkImage" id="lockhiddenpgcb"> + <property name="can-focus">False</property> + <property name="no-show-all">True</property> + <property name="halign">center</property> + <property name="valign">center</property> + <property name="icon-name">res/lock.png</property> + </object> <packing> <property name="left-attach">0</property> <property name="top-attach">3</property> @@ -344,7 +440,7 @@ <property name="label-xalign">0</property> <property name="shadow-type">none</property> <child> - <!-- n-columns=1 n-rows=3 --> + <!-- n-columns=2 n-rows=3 --> <object class="GtkGrid" id="grid4"> <property name="visible">True</property> <property name="can-focus">False</property> @@ -368,7 +464,7 @@ </child> </object> <packing> - <property name="left-attach">0</property> + <property name="left-attach">1</property> <property name="top-attach">0</property> </packing> </child> @@ -389,7 +485,7 @@ </child> </object> <packing> - <property name="left-attach">0</property> + <property name="left-attach">1</property> <property name="top-attach">1</property> </packing> </child> @@ -410,10 +506,29 @@ </child> </object> <packing> - <property name="left-attach">0</property> + <property name="left-attach">1</property> <property name="top-attach">2</property> </packing> </child> + <child> + <object class="GtkImage" id="lockquality"> + <property name="can-focus">False</property> + <property name="no-show-all">True</property> + <property name="halign">center</property> + <property name="valign">center</property> + <property name="icon-name">res/lock.png</property> + </object> + <packing> + <property name="left-attach">0</property> + <property name="top-attach">1</property> + </packing> + </child> + <child> + <placeholder/> + </child> + <child> + <placeholder/> + </child> </object> </child> <child type="label">