summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2020-01-21 13:22:50 +0000
committerCaolán McNamara <caolanm@redhat.com>2020-01-21 15:36:30 +0100
commitaf71531ea292c62f785f8300205eddea8c2d33d2 (patch)
tree540517eacbe212591f2747cb5e5aecafad7cf83c
parent1f846a5a51f0f613087fa68fb364c11912ac2c0f (diff)
Resolves: tdf#130035 reuse toolbar for arrow styles in sidebar
Change-Id: I8fdbf97a2e3f535767f0163a87c99ead8a3198cb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87139 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
-rw-r--r--compilerplugins/clang/unusedfields.writeonly.results6
-rw-r--r--include/svx/sidebar/LinePropertyPanelBase.hxx13
-rw-r--r--svx/source/sidebar/line/LinePropertyPanel.cxx23
-rw-r--r--svx/source/sidebar/line/LinePropertyPanel.hxx3
-rw-r--r--svx/source/sidebar/line/LinePropertyPanelBase.cxx188
-rw-r--r--svx/uiconfig/ui/sidebarline.ui106
6 files changed, 31 insertions, 308 deletions
diff --git a/compilerplugins/clang/unusedfields.writeonly.results b/compilerplugins/clang/unusedfields.writeonly.results
index 43366b57c194..4f6409bb1e30 100644
--- a/compilerplugins/clang/unusedfields.writeonly.results
+++ b/compilerplugins/clang/unusedfields.writeonly.results
@@ -772,12 +772,6 @@ svx/source/sidebar/line/LinePropertyPanel.hxx:85
svx::sidebar::LinePropertyPanel maStyleControl sfx2::sidebar::ControllerItem
svx/source/sidebar/line/LinePropertyPanel.hxx:86
svx::sidebar::LinePropertyPanel maDashControl sfx2::sidebar::ControllerItem
-svx/source/sidebar/line/LinePropertyPanel.hxx:88
- svx::sidebar::LinePropertyPanel maStartControl sfx2::sidebar::ControllerItem
-svx/source/sidebar/line/LinePropertyPanel.hxx:89
- svx::sidebar::LinePropertyPanel maEndControl sfx2::sidebar::ControllerItem
-svx/source/sidebar/line/LinePropertyPanel.hxx:90
- svx::sidebar::LinePropertyPanel maLineEndListControl sfx2::sidebar::ControllerItem
svx/source/sidebar/line/LinePropertyPanel.hxx:91
svx::sidebar::LinePropertyPanel maLineStyleListControl sfx2::sidebar::ControllerItem
svx/source/sidebar/line/LinePropertyPanel.hxx:92
diff --git a/include/svx/sidebar/LinePropertyPanelBase.hxx b/include/svx/sidebar/LinePropertyPanelBase.hxx
index c91c2dd136b6..1a68126513cc 100644
--- a/include/svx/sidebar/LinePropertyPanelBase.hxx
+++ b/include/svx/sidebar/LinePropertyPanelBase.hxx
@@ -77,19 +77,15 @@ protected:
virtual void setLineJoint(const XLineJointItem* pItem) = 0;
virtual void setLineCap(const XLineCapItem* pItem) = 0;
-
void updateLineStyle(bool bDisabled, bool bSetOrDefault, const SfxPoolItem* pItem);
void updateLineDash(bool bDisabled, bool bSetOrDefault, const SfxPoolItem* pItem);
void updateLineTransparence(bool bDisabled, bool bSetOrDefault, const SfxPoolItem* pItem);
void updateLineWidth(bool bDisabled, bool bSetOrDefault, const SfxPoolItem* pItem);
- void updateLineStart(bool bDisabled, bool bSetOrDefault, const SfxPoolItem* pItem);
- void updateLineEnd(bool bDisabled, bool bSetOrDefault, const SfxPoolItem* pItem);
void updateLineJoint(bool bDisabled, bool bSetOrDefault, const SfxPoolItem* pItem);
void updateLineCap(bool bDisabled, bool bSetOrDefault, const SfxPoolItem* pItem);
- void FillLineEndList();
void FillLineStyleList();
- void SelectEndStyle(bool bStart);
+
void SelectLineStyle();
void ActivateControls();
@@ -110,8 +106,8 @@ private:
std::unique_ptr<SvxLineLB> mxLBStyle;
std::unique_ptr<weld::Label> mxFTTransparency;
std::unique_ptr<weld::MetricSpinButton> mxMFTransparent;
- std::unique_ptr<SvxLineEndLB> mxLBStart;
- std::unique_ptr<SvxLineEndLB> mxLBEnd;
+ std::unique_ptr<weld::Toolbar> mxArrowsTB;
+ std::unique_ptr<ToolbarUnoDispatcher> mxArrowsDispatch;
std::unique_ptr<weld::Label> mxFTEdgeStyle;
std::unique_ptr<weld::ComboBox> mxLBEdgeStyle;
std::unique_ptr<weld::Label> mxFTCapStyle;
@@ -127,10 +123,7 @@ private:
sal_uInt16 mnTrans;
MapUnit meMapUnit;
sal_Int32 mnWidthCoreValue;
- XLineEndListRef mxLineEndList;
XDashListRef mxLineStyleList;
- std::unique_ptr<XLineStartItem> mpStartItem;
- std::unique_ptr<XLineEndItem> mpEndItem;
// images from resource
OUString maIMGNone;
diff --git a/svx/source/sidebar/line/LinePropertyPanel.cxx b/svx/source/sidebar/line/LinePropertyPanel.cxx
index 2667ffe749a7..cf6dc5505f72 100644
--- a/svx/source/sidebar/line/LinePropertyPanel.cxx
+++ b/svx/source/sidebar/line/LinePropertyPanel.cxx
@@ -54,9 +54,6 @@ LinePropertyPanel::LinePropertyPanel(
maStyleControl(SID_ATTR_LINE_STYLE, *pBindings, *this),
maDashControl (SID_ATTR_LINE_DASH, *pBindings, *this),
maWidthControl(SID_ATTR_LINE_WIDTH, *pBindings, *this),
- maStartControl(SID_ATTR_LINE_START, *pBindings, *this),
- maEndControl(SID_ATTR_LINE_END, *pBindings, *this),
- maLineEndListControl(SID_LINEEND_LIST, *pBindings, *this),
maLineStyleListControl(SID_DASH_LIST, *pBindings, *this),
maTransControl(SID_ATTR_LINE_TRANSPARENCE, *pBindings, *this),
maEdgeStyle(SID_ATTR_LINE_JOINT, *pBindings, *this),
@@ -77,9 +74,6 @@ void LinePropertyPanel::dispose()
maStyleControl.dispose();
maDashControl.dispose();
maWidthControl.dispose();
- maStartControl.dispose();
- maEndControl.dispose();
- maLineEndListControl.dispose();
maLineStyleListControl.dispose();
maTransControl.dispose();
maEdgeStyle.dispose();
@@ -133,23 +127,6 @@ void LinePropertyPanel::NotifyItemUpdate(
updateLineWidth(bDisabled, bSetOrDefault, pState);
break;
}
- case SID_ATTR_LINE_START:
- {
- updateLineStart(bDisabled, bSetOrDefault, pState);
- break;
- }
- case SID_ATTR_LINE_END:
- {
- updateLineEnd(bDisabled, bSetOrDefault, pState);
- break;
- }
- case SID_LINEEND_LIST:
- {
- FillLineEndList();
- SelectEndStyle(true);
- SelectEndStyle(false);
- break;
- }
case SID_DASH_LIST:
{
FillLineStyleList();
diff --git a/svx/source/sidebar/line/LinePropertyPanel.hxx b/svx/source/sidebar/line/LinePropertyPanel.hxx
index 99c1aee74a26..00585290f579 100644
--- a/svx/source/sidebar/line/LinePropertyPanel.hxx
+++ b/svx/source/sidebar/line/LinePropertyPanel.hxx
@@ -85,9 +85,6 @@ private:
sfx2::sidebar::ControllerItem maStyleControl;
sfx2::sidebar::ControllerItem maDashControl;
sfx2::sidebar::ControllerItem maWidthControl;
- sfx2::sidebar::ControllerItem maStartControl;
- sfx2::sidebar::ControllerItem maEndControl;
- sfx2::sidebar::ControllerItem maLineEndListControl;
sfx2::sidebar::ControllerItem maLineStyleListControl;
sfx2::sidebar::ControllerItem maTransControl;
sfx2::sidebar::ControllerItem maEdgeStyle;
diff --git a/svx/source/sidebar/line/LinePropertyPanelBase.cxx b/svx/source/sidebar/line/LinePropertyPanelBase.cxx
index 91b6b6931c51..cee744ebd3b1 100644
--- a/svx/source/sidebar/line/LinePropertyPanelBase.cxx
+++ b/svx/source/sidebar/line/LinePropertyPanelBase.cxx
@@ -66,8 +66,8 @@ LinePropertyPanelBase::LinePropertyPanelBase(
mxLBStyle(new SvxLineLB(m_xBuilder->weld_combo_box("linestyle"))),
mxFTTransparency(m_xBuilder->weld_label("translabel")),
mxMFTransparent(m_xBuilder->weld_metric_spin_button("linetransparency", FieldUnit::PERCENT)),
- mxLBStart(new SvxLineEndLB(m_xBuilder->weld_combo_box("beginarrowstyle"))),
- mxLBEnd(new SvxLineEndLB(m_xBuilder->weld_combo_box("endarrowstyle"))),
+ mxArrowsTB(m_xBuilder->weld_toolbar("arrowheads")),
+ mxArrowsDispatch(new ToolbarUnoDispatcher(*mxArrowsTB, rxFrame)),
mxFTEdgeStyle(m_xBuilder->weld_label("cornerlabel")),
mxLBEdgeStyle(m_xBuilder->weld_combo_box("edgestyle")),
mxFTCapStyle(m_xBuilder->weld_label("caplabel")),
@@ -80,8 +80,6 @@ LinePropertyPanelBase::LinePropertyPanelBase(
mnTrans(0),
meMapUnit(MapUnit::MapMM),
mnWidthCoreValue(0),
- mpStartItem(),
- mpEndItem(),
maIMGNone(BMP_NONE_ICON),
mbWidthValuable(true),
mbArrowSupported(true)
@@ -104,8 +102,8 @@ void LinePropertyPanelBase::dispose()
mxLBStyle.reset();
mxFTTransparency.reset();
mxMFTransparent.reset();
- mxLBStart.reset();
- mxLBEnd.reset();
+ mxArrowsDispatch.reset();
+ mxArrowsTB.reset();
mxFTEdgeStyle.reset();
mxLBEdgeStyle.reset();
mxFTCapStyle.reset();
@@ -136,12 +134,6 @@ void LinePropertyPanelBase::Initialize()
mxTBWidth->set_item_icon_name(SELECTWIDTH, maIMGWidthIcon[0]);
mxTBWidth->connect_clicked(LINK(this, LinePropertyPanelBase, ToolboxWidthSelectHdl));
- FillLineEndList();
- SelectEndStyle(true);
- SelectEndStyle(false);
- mxLBStart->connect_changed( LINK( this, LinePropertyPanelBase, ChangeStartHdl ) );
- mxLBEnd->connect_changed( LINK( this, LinePropertyPanelBase, ChangeEndHdl ) );
-
mxMFTransparent->connect_value_changed(LINK(this, LinePropertyPanelBase, ChangeTransparentHdl));
mxLBEdgeStyle->connect_changed( LINK( this, LinePropertyPanelBase, ChangeEdgeStyleHdl ) );
@@ -262,54 +254,6 @@ void LinePropertyPanelBase::updateLineWidth(bool bDisabled, bool bSetOrDefault,
SetWidthIcon();
}
-void LinePropertyPanelBase::updateLineStart(bool bDisabled, bool bSetOrDefault,
- const SfxPoolItem* pItem)
-{
- if(bDisabled)
- {
- mxLBStart->set_sensitive(false);
- }
- else
- {
- if (mbArrowSupported)
- mxLBStart->set_sensitive(true);
- }
-
- if(bSetOrDefault && pItem)
- {
- mpStartItem.reset(static_cast<XLineStartItem*>(pItem->Clone()));
- SelectEndStyle(true);
- return;
- }
-
- mpStartItem.reset();
- SelectEndStyle(true);
-}
-
-void LinePropertyPanelBase::updateLineEnd(bool bDisabled, bool bSetOrDefault,
- const SfxPoolItem* pItem)
-{
- if(bDisabled)
- {
- mxLBEnd->set_sensitive(false);
- }
- else
- {
- if (mbArrowSupported)
- mxLBEnd->set_sensitive(true);
- }
-
- if(bSetOrDefault && pItem)
- {
- mpEndItem.reset(static_cast<XLineEndItem*>(pItem->Clone()));
- SelectEndStyle(false);
- return;
- }
-
- mpEndItem.reset();
- SelectEndStyle(false);
-}
-
void LinePropertyPanelBase::updateLineJoint(bool bDisabled, bool bSetOrDefault,
const SfxPoolItem* pState)
{
@@ -460,34 +404,6 @@ IMPL_LINK_NOARG(LinePropertyPanelBase, ChangeLineStyleHdl, weld::ComboBox&, void
ActivateControls();
}
-IMPL_LINK_NOARG(LinePropertyPanelBase, ChangeStartHdl, weld::ComboBox&, void)
-{
- sal_Int32 nPos = mxLBStart->get_active();
- if (nPos != -1 && mxLBStart->get_value_changed_from_saved())
- {
- std::unique_ptr<XLineStartItem> pItem;
- if( nPos == 0 )
- pItem.reset(new XLineStartItem());
- else if( mxLineEndList.is() && mxLineEndList->Count() > static_cast<long>( nPos - 1 ) )
- pItem.reset(new XLineStartItem( mxLBStart->get_active_text(),mxLineEndList->GetLineEnd( nPos - 1 )->GetLineEnd() ));
- setLineStartStyle(pItem.get());
- }
-}
-
-IMPL_LINK_NOARG(LinePropertyPanelBase, ChangeEndHdl, weld::ComboBox&, void)
-{
- sal_Int32 nPos = mxLBEnd->get_active();
- if (nPos != -1 && mxLBEnd->get_value_changed_from_saved())
- {
- std::unique_ptr<XLineEndItem> pItem;
- if( nPos == 0 )
- pItem.reset(new XLineEndItem());
- else if( mxLineEndList.is() && mxLineEndList->Count() > static_cast<long>( nPos - 1 ) )
- pItem.reset(new XLineEndItem( mxLBEnd->get_active_text(), mxLineEndList->GetLineEnd( nPos - 1 )->GetLineEnd() ));
- setLineEndStyle(pItem.get());
- }
-}
-
IMPL_LINK_NOARG(LinePropertyPanelBase, ChangeEdgeStyleHdl, weld::ComboBox&, void)
{
const sal_Int32 nPos(mxLBEdgeStyle->get_active());
@@ -617,35 +533,6 @@ void LinePropertyPanelBase::SetWidth(long nWidth)
mxLineWidthPopup->SetWidthSelect(mnWidthCoreValue, mbWidthValuable, meMapUnit);
}
-void LinePropertyPanelBase::FillLineEndList()
-{
- SfxObjectShell* pSh = SfxObjectShell::Current();
- if ( pSh && pSh->GetItem( SID_LINEEND_LIST ) )
- {
- mxLBStart->set_sensitive(true);
- mxLBStart->clear();
- mxLBEnd->clear();
- mxLineEndList = pSh->GetItem( SID_LINEEND_LIST )->GetLineEndList();
-
- if (mxLineEndList.is())
- {
- OUString sNone(SvxResId(RID_SVXSTR_NONE));
- mxLBStart->append_text(sNone);
- mxLBStart->Fill(mxLineEndList, true);
- mxLBEnd->append_text(sNone);
- mxLBEnd->Fill(mxLineEndList, false);
- }
-
- mxLBStart->set_active(0);
- mxLBEnd->set_active(0);
- }
- else
- {
- mxLBStart->set_sensitive(false);
- mxLBEnd->set_sensitive(false);
- }
-}
-
void LinePropertyPanelBase::FillLineStyleList()
{
SfxObjectShell* pSh = SfxObjectShell::Current();
@@ -711,70 +598,6 @@ void LinePropertyPanelBase::SelectLineStyle()
ActivateControls();
}
-void LinePropertyPanelBase::SelectEndStyle(bool bStart)
-{
- bool bSelected(false);
-
- if(bStart)
- {
- if (!mpStartItem)
- {
- mxLBStart->set_active(-1);
- mxLBStart->set_sensitive(false);
- return;
- }
-
- if (mxLineEndList.is())
- {
- const basegfx::B2DPolyPolygon& rItemPolygon = mpStartItem->GetLineStartValue();
- for(long a(0);!bSelected && a < mxLineEndList->Count(); a++)
- {
- const XLineEndEntry* pEntry = mxLineEndList->GetLineEnd(a);
- const basegfx::B2DPolyPolygon& rEntryPolygon = pEntry->GetLineEnd();
- if(rItemPolygon == rEntryPolygon)
- {
- mxLBStart->set_active(a + 1);
- bSelected = true;
- }
- }
- }
-
- if(!bSelected)
- {
- mxLBStart->set_active( 0 );
- }
- }
- else
- {
- if (!mpEndItem)
- {
- mxLBEnd->set_active(-1);
- mxLBEnd->set_sensitive(false);
- return;
- }
-
- if (mxLineEndList.is())
- {
- const basegfx::B2DPolyPolygon& rItemPolygon = mpEndItem->GetLineEndValue();
- for(long a(0);!bSelected && a < mxLineEndList->Count(); a++)
- {
- const XLineEndEntry* pEntry = mxLineEndList->GetLineEnd(a);
- const basegfx::B2DPolyPolygon& rEntryPolygon = pEntry->GetLineEnd();
- if(rItemPolygon == rEntryPolygon)
- {
- mxLBEnd->set_active(a + 1);
- bSelected = true;
- }
- }
- }
-
- if(!bSelected)
- {
- mxLBEnd->set_active( 0 );
- }
- }
-}
-
void LinePropertyPanelBase::ActivateControls()
{
const sal_Int32 nPos(mxLBStyle->get_active());
@@ -782,8 +605,7 @@ void LinePropertyPanelBase::ActivateControls()
mxGridLineProps->set_sensitive( bLineStyle );
mxBoxArrowProps->set_sensitive( bLineStyle );
- mxLBStart->set_sensitive( bLineStyle && mbArrowSupported );
- mxLBEnd->set_sensitive( bLineStyle && mbArrowSupported );
+ mxArrowsTB->set_sensitive( bLineStyle && mbArrowSupported );
}
void LinePropertyPanelBase::setMapUnit(MapUnit eMapUnit)
diff --git a/svx/uiconfig/ui/sidebarline.ui b/svx/uiconfig/ui/sidebarline.ui
index d18b522417f7..997255fc5e80 100644
--- a/svx/uiconfig/ui/sidebarline.ui
+++ b/svx/uiconfig/ui/sidebarline.ui
@@ -7,18 +7,6 @@
<property name="step_increment">10</property>
<property name="page_increment">20</property>
</object>
- <object class="GtkListStore" id="liststore4">
- <columns>
- <!-- column-name text -->
- <column type="gchararray"/>
- <!-- column-name id -->
- <column type="gchararray"/>
- <!-- column-name image -->
- <column type="GdkPixbuf"/>
- <!-- column-name surface -->
- <column type="CairoSurface"/>
- </columns>
- </object>
<object class="GtkListStore" id="liststore5">
<columns>
<!-- column-name text -->
@@ -31,18 +19,6 @@
<column type="CairoSurface"/>
</columns>
</object>
- <object class="GtkListStore" id="liststore6">
- <columns>
- <!-- column-name text -->
- <column type="gchararray"/>
- <!-- column-name id -->
- <column type="gchararray"/>
- <!-- column-name image -->
- <column type="GdkPixbuf"/>
- <!-- column-name surface -->
- <column type="CairoSurface"/>
- </columns>
- </object>
<object class="GtkGrid" id="LinePropertyPanel">
<property name="visible">True</property>
<property name="can_focus">False</property>
@@ -64,48 +40,14 @@
<object class="GtkBox" id="box1">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="orientation">vertical</property>
<property name="spacing">3</property>
<child>
- <object class="GtkComboBox" id="beginarrowstyle">
- <property name="width_request">65</property>
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="tooltip_text" translatable="yes" context="sidebarline|beginarrowstyle|tooltip_text">Select the style of the beginning arrowhead.</property>
- <property name="hexpand">True</property>
- <property name="model">liststore4</property>
- <property name="entry_text_column">0</property>
- <property name="id_column">1</property>
- <child>
- <object class="GtkCellRendererText" id="cellrenderertext1"/>
- <attributes>
- <attribute name="text">0</attribute>
- </attributes>
- </child>
- <child>
- <object class="GtkCellRendererPixbuf" id="cellrenderertext2"/>
- <attributes>
- <attribute name="surface">3</attribute>
- </attributes>
- </child>
- <child internal-child="accessible">
- <object class="AtkObject" id="beginarrowstyle-atkobject">
- <property name="AtkObject::accessible-name" translatable="yes" context="sidebarline|beginarrowstyle-atkobject">Beginning Style</property>
- </object>
- </child>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">1</property>
- </packing>
- </child>
- <child>
<object class="GtkComboBox" id="linestyle">
<property name="width_request">105</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes" context="sidebarline|linestyle|tooltip_text">Select the style of the line.</property>
+ <property name="valign">center</property>
<property name="hexpand">True</property>
<property name="model">liststore5</property>
<property name="entry_text_column">0</property>
@@ -131,41 +73,39 @@
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
- <property name="position">2</property>
+ <property name="position">0</property>
</packing>
</child>
<child>
- <object class="GtkComboBox" id="endarrowstyle">
- <property name="width_request">65</property>
+ <object class="GtkToolbar" id="arrowheads">
<property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="model">liststore6</property>
- <property name="tooltip_text" translatable="yes" context="sidebarline|endarrowstyle|tooltip_text">Select the style of the ending arrowhead.</property>
- <property name="entry_text_column">0</property>
- <property name="hexpand">True</property>
- <property name="id_column">1</property>
- <child>
- <object class="GtkCellRendererText" id="cellrenderertext5"/>
- <attributes>
- <attribute name="text">0</attribute>
- </attributes>
- </child>
+ <property name="can_focus">True</property>
+ <property name="tooltip_text" translatable="yes" context="sidebarline|arrowheads|tooltip_text">Select the style of the arrowheads.</property>
+ <property name="toolbar_style">icons</property>
+ <property name="show_arrow">False</property>
+ <property name="icon_size">2</property>
<child>
- <object class="GtkCellRendererPixbuf" id="cellrenderertext6"/>
- <attributes>
- <attribute name="surface">3</attribute>
- </attributes>
+ <object class="GtkMenuToolButton" id=".uno:LineEndStyle">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="tooltip_text" translatable="yes" context="sidebarline|arrowheads|tooltip_text">Select the style of the arrowheads.</property>
+ <property name="use_underline">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="homogeneous">False</property>
+ </packing>
</child>
<child internal-child="accessible">
- <object class="AtkObject" id="endarrowstyle-atkobject">
- <property name="AtkObject::accessible-name" translatable="yes" context="sidebarline|endarrowstyle-atkobject">Ending Style</property>
+ <object class="AtkObject" id="arrowheads-atkobject">
+ <property name="AtkObject::accessible-name" context="sidebarline|arrowheads-atkobject" translatable="yes">Arrow Styles</property>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
- <property name="position">3</property>
+ <property name="position">1</property>
</packing>
</child>
</object>
@@ -306,13 +246,13 @@
</child>
<child>
<object class="GtkBox" id="arrowproperties">
+ <property name="visible">True</property>
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
- <property name="visible">True</property>
<child>
<object class="GtkGrid" id="grid5">
- <property name="can_focus">False</property>
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="row_spacing">6</property>
<property name="column_spacing">6</property>
<property name="column_homogeneous">True</property>