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.extern@allotropia.de>
diff --git a/sd/source/ui/dlg/prntopts.cxx b/sd/source/ui/dlg/prntopts.cxx
index 8b17ae6..6a60893 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 17037fe..abeb84e 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 983b90e..41d3463 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,69 +29,6 @@
<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="GtkCheckButton" id="papertryfrmprntrcb">
<property name="label" translatable="yes" context="prntopts|papertryfrmprntrcb">Paper tray from printer s_ettings</property>
<property name="visible">True</property>
@@ -106,92 +43,199 @@
</child>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">5</property>
<property name="left-attach">1</property>
<property name="top-attach">3</property>
</packing>
</child>
<child>
<object class="GtkRadioButton" id="brouchrb">
<property name="label" translatable="yes" context="prntopts|brouchrb">B_rochure</property>
<!-- 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="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="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 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">1</property>
<property name="top-attach">1</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>
<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="left-attach">1</property>
<property name="top-attach">2</property>
</packing>
</child>
<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">0</property>
</packing>
</child>
<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">1</property>
</packing>
</child>
<child>
<object class="GtkImage" id="lockbackcb">
<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="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>
<child>
<object class="GtkBox" id="box4">
<property name="visible">True</property>
<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>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">4</property>
</packing>
</child>
</object>
</child>
<child type="label">
@@ -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>
@@ -302,6 +346,58 @@
</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>
</packing>
@@ -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">