diff options
author | Caolán McNamara <caolanm@redhat.com> | 2019-07-30 17:07:41 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2019-07-31 12:15:32 +0200 |
commit | e569b9d40eb02f53a3f13024af4ab1dc9ca7634a (patch) | |
tree | d8777e5f09fc0383274bc92ce2ca457391d222ae | |
parent | e88bcb56eefbd2569a1012943754b98dbc0ba517 (diff) |
weld OfaMSFilterTabPage2
Change-Id: I799eaffc808a7e41434fb76c877f4d1e8d4e1c3b
Reviewed-on: https://gerrit.libreoffice.org/76707
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
-rw-r--r-- | cui/inc/strings.hrc | 4 | ||||
-rw-r--r-- | cui/source/options/optfltr.cxx | 258 | ||||
-rw-r--r-- | cui/source/options/optfltr.hxx | 38 | ||||
-rw-r--r-- | cui/uiconfig/ui/optfltrembedpage.ui | 93 |
4 files changed, 145 insertions, 248 deletions
diff --git a/cui/inc/strings.hrc b/cui/inc/strings.hrc index d79397b138a2..482a9e44a34d 100644 --- a/cui/inc/strings.hrc +++ b/cui/inc/strings.hrc @@ -254,10 +254,6 @@ #define RID_SVXSTR_ERROR_TYPE_LABEL NC_("RID_SVXSTR_ERROR_TYPE_LABEL", "Type:") #define RID_SVXSTR_ERROR_MESSAGE_LABEL NC_("RID_SVXSTR_ERROR_MESSAGE_LABEL", "Message:") -//abbreviation for "[Load]" -#define RID_SVXSTR_HEADER1 NC_("RID_SVXSTR_HEADER1", "[L]") -//abbreviation for "[Save]" -#define RID_SVXSTR_HEADER2 NC_("RID_SVXSTR_HEADER2", "[S]") #define RID_SVXSTR_CHG_MATH NC_("RID_SVXSTR_CHG_MATH", "MathType to %PRODUCTNAME Math or reverse") #define RID_SVXSTR_CHG_WRITER NC_("RID_SVXSTR_CHG_WRITER", "WinWord to %PRODUCTNAME Writer or reverse") #define RID_SVXSTR_CHG_CALC NC_("RID_SVXSTR_CHG_CALC", "Excel to %PRODUCTNAME Calc or reverse") diff --git a/cui/source/options/optfltr.cxx b/cui/source/options/optfltr.cxx index 54d7e5817fe2..731cab79d50e 100644 --- a/cui/source/options/optfltr.cxx +++ b/cui/source/options/optfltr.cxx @@ -125,60 +125,35 @@ void OfaMSFilterTabPage::Reset( const SfxItemSet* ) m_xPBasicStgCB->save_state(); } -OfaMSFilterTabPage2::OfaMSFilterTabPage2( vcl::Window* pParent, const SfxItemSet& rSet ) : - SfxTabPage( pParent, "OptFilterPage", "cui/ui/optfltrembedpage.ui", &rSet ), - sHeader1(CuiResId(RID_SVXSTR_HEADER1)), - sHeader2(CuiResId(RID_SVXSTR_HEADER2)), - sChgToFromMath(CuiResId(RID_SVXSTR_CHG_MATH)), - sChgToFromWriter(CuiResId(RID_SVXSTR_CHG_WRITER)), - sChgToFromCalc(CuiResId(RID_SVXSTR_CHG_CALC)), - sChgToFromImpress(CuiResId(RID_SVXSTR_CHG_IMPRESS)), - sChgToFromSmartArt(CuiResId(RID_SVXSTR_CHG_SMARTART)) +OfaMSFilterTabPage2::OfaMSFilterTabPage2(TabPageParent pParent, const SfxItemSet& rSet) + : SfxTabPage(pParent, "cui/ui/optfltrembedpage.ui", "OptFilterPage", &rSet) + , sChgToFromMath(CuiResId(RID_SVXSTR_CHG_MATH)) + , sChgToFromWriter(CuiResId(RID_SVXSTR_CHG_WRITER)) + , sChgToFromCalc(CuiResId(RID_SVXSTR_CHG_CALC)) + , sChgToFromImpress(CuiResId(RID_SVXSTR_CHG_IMPRESS)) + , sChgToFromSmartArt(CuiResId(RID_SVXSTR_CHG_SMARTART)) + , m_xCheckLB(m_xBuilder->weld_tree_view("checklbcontainer")) + , m_xHighlightingRB(m_xBuilder->weld_radio_button("highlighting")) + , m_xShadingRB(m_xBuilder->weld_radio_button("shading")) + , m_xMSOLockFileCB(m_xBuilder->weld_check_button("mso_lockfile")) { - get(m_pCheckLBContainer, "checklbcontainer"); - - get( aHighlightingRB, "highlighting"); - get( aShadingRB, "shading" ); - get( aMSOLockFileCB, "mso_lockfile"); - Size aControlSize(248, 55); aControlSize = LogicToPixel(aControlSize, MapMode(MapUnit::MapAppFont)); - m_pCheckLBContainer->set_width_request(aControlSize.Width()); - m_pCheckLBContainer->set_height_request(aControlSize.Height()); - - m_pCheckLB = VclPtr<MSFltrSimpleTable>::Create(*m_pCheckLBContainer); - - static long aStaticTabs[] = { 0, 20, 40 }; - m_pCheckLB->SvSimpleTable::SetTabs( SAL_N_ELEMENTS(aStaticTabs), aStaticTabs ); - OUString sHeader = sHeader1 + "\t" + sHeader2 + "\t"; - m_pCheckLB->InsertHeaderEntry( sHeader, HEADERBAR_APPEND, - HeaderBarItemBits::CENTER | HeaderBarItemBits::FIXEDPOS | HeaderBarItemBits::FIXED ); - - m_pCheckLB->SetStyle( m_pCheckLB->GetStyle()|WB_HSCROLL| WB_VSCROLL ); + std::vector<int> aWidths; + aWidths.push_back(m_xCheckLB->get_checkbox_column_width()); + aWidths.push_back(m_xCheckLB->get_checkbox_column_width()); + m_xCheckLB->set_column_fixed_widths(aWidths); } OfaMSFilterTabPage2::~OfaMSFilterTabPage2() { - disposeOnce(); -} - -void OfaMSFilterTabPage2::dispose() -{ - m_xCheckButtonData.reset(); - m_pCheckLB.disposeAndClear(); - m_pCheckLBContainer.clear(); - aHighlightingRB.clear(); - aShadingRB.clear(); - aMSOLockFileCB.clear(); - - SfxTabPage::dispose(); } VclPtr<SfxTabPage> OfaMSFilterTabPage2::Create( TabPageParent pParent, const SfxItemSet* rAttrSet ) { - return VclPtr<OfaMSFilterTabPage2>::Create( pParent.pParent, *rAttrSet ); + return VclPtr<OfaMSFilterTabPage2>::Create( pParent, *rAttrSet ); } bool OfaMSFilterTabPage2::FillItemSet( SfxItemSet* ) @@ -216,35 +191,28 @@ bool OfaMSFilterTabPage2::FillItemSet( SfxItemSet* ) // we loop through the list, alternating reading the first/second column, // each row appears twice in the list (except for smartart, which is import // only - sal_uInt16 nCol = bFirstCol ? 1 : 2; + sal_uInt16 nCol = bFirstCol ? 0 : 1; bFirstCol = !bFirstCol; - SvTreeListEntry* pEntry = GetEntry4Type( rEntry.eType ); - if( pEntry ) + int nEntry = GetEntry4Type(rEntry.eType); + if (nEntry != -1) { - SvLBoxButton& rItem = static_cast<SvLBoxButton&>(pEntry->GetItem( nCol )); - if (rItem.GetType() == SvLBoxItemType::Button) - { - SvItemStateFlags nButtonFlags = rItem.GetButtonFlags(); - bool bCheck = SvButtonState::Checked == - SvLBoxButtonData::ConvertToButtonState( nButtonFlags ); - - if( bCheck != (rOpt.*rEntry.FnIs)() ) - (rOpt.*rEntry.FnSet)( bCheck ); - } + bool bCheck = m_xCheckLB->get_toggle(nEntry, nCol); + if( bCheck != (rOpt.*rEntry.FnIs)() ) + (rOpt.*rEntry.FnSet)( bCheck ); } } - if( aHighlightingRB->IsValueChangedFromSaved() ) + if( m_xHighlightingRB->get_state_changed_from_saved() ) { - if( aHighlightingRB->IsChecked() ) + if (m_xHighlightingRB->get_active()) rOpt.SetCharBackground2Highlighting(); else rOpt.SetCharBackground2Shading(); } - if( aMSOLockFileCB->IsValueChangedFromSaved() ) + if (m_xMSOLockFileCB->get_state_changed_from_saved()) { - rOpt.EnableMSOLockFileCreation(aMSOLockFileCB->IsChecked()); + rOpt.EnableMSOLockFileCreation(m_xMSOLockFileCB->get_active()); } return true; @@ -254,8 +222,8 @@ void OfaMSFilterTabPage2::Reset( const SfxItemSet* ) { SvtFilterOptions& rOpt = SvtFilterOptions::Get(); - m_pCheckLB->SetUpdateMode(false); - m_pCheckLB->Clear(); + m_xCheckLB->freeze(); + m_xCheckLB->clear(); SvtModuleOptions aModuleOpt; @@ -291,34 +259,27 @@ void OfaMSFilterTabPage2::Reset( const SfxItemSet* ) // we loop through the list, alternating reading the first/second column, // each row appears twice in the list (except for smartart, which is import // only - sal_uInt16 nCol = bFirstCol ? 1 : 2; + sal_uInt16 nCol = bFirstCol ? 0 : 1; bFirstCol = !bFirstCol; - SvTreeListEntry* pEntry = GetEntry4Type( rArr.eType ); - if( pEntry ) + int nEntry = GetEntry4Type( rArr.eType ); + if (nEntry != -1) { - SvLBoxButton& rItem = static_cast<SvLBoxButton&>(pEntry->GetItem( nCol )); - if (rItem.GetType() == SvLBoxItemType::Button) - { - if( (rOpt.*rArr.FnIs)() ) - rItem.SetStateChecked(); - else - rItem.SetStateUnchecked(); - m_pCheckLB->InvalidateEntry( pEntry ); - } + bool bCheck = (rOpt.*rArr.FnIs)(); + m_xCheckLB->set_toggle(nEntry, bCheck ? TRISTATE_TRUE : TRISTATE_FALSE, nCol); } } - m_pCheckLB->SetUpdateMode( true ); + m_xCheckLB->thaw(); if (rOpt.IsCharBackground2Highlighting()) - aHighlightingRB->Check(); + m_xHighlightingRB->set_active(true); else - aShadingRB->Check(); + m_xShadingRB->set_active(true); - aHighlightingRB->SaveValue(); + m_xHighlightingRB->save_state(); - aMSOLockFileCB->Check(rOpt.IsMSOLockFileCreationIsEnabled()); - aMSOLockFileCB->SaveValue(); - aMSOLockFileCB->Enable(!officecfg::Office::Common::Filter::Microsoft::Import::CreateMSOLockFiles::isReadOnly()); + m_xMSOLockFileCB->set_active(rOpt.IsMSOLockFileCreationIsEnabled()); + m_xMSOLockFileCB->save_state(); + m_xMSOLockFileCB->set_sensitive(!officecfg::Office::Common::Filter::Microsoft::Import::CreateMSOLockFiles::isReadOnly()); } void OfaMSFilterTabPage2::InsertEntry( const OUString& _rTxt, MSFltrPg2_CheckBoxEntries _nType ) @@ -329,138 +290,23 @@ void OfaMSFilterTabPage2::InsertEntry( const OUString& _rTxt, MSFltrPg2_CheckBox void OfaMSFilterTabPage2::InsertEntry( const OUString& _rTxt, MSFltrPg2_CheckBoxEntries _nType, bool saveEnabled ) { - SvTreeListEntry* pEntry = new SvTreeListEntry; - - if (!m_xCheckButtonData) - m_xCheckButtonData.reset(new SvLBoxButtonData(m_pCheckLB)); - - pEntry->AddItem(std::make_unique<SvLBoxContextBmp>( - Image(), Image(), false)); - pEntry->AddItem(std::make_unique<SvLBoxButton>( - SvLBoxButtonKind::EnabledCheckbox, - m_xCheckButtonData.get())); - pEntry->AddItem(std::make_unique<SvLBoxButton>( - saveEnabled ? SvLBoxButtonKind::EnabledCheckbox - : SvLBoxButtonKind::DisabledCheckbox, - m_xCheckButtonData.get())); - pEntry->AddItem(std::make_unique<SvLBoxString>(_rTxt)); - - pEntry->SetUserData( reinterpret_cast<void*>(_nType) ); - m_pCheckLB->Insert( pEntry ); -} - -SvTreeListEntry* OfaMSFilterTabPage2::GetEntry4Type( MSFltrPg2_CheckBoxEntries _nType ) const -{ - SvTreeListEntry* pEntry = m_pCheckLB->First(); - while ( pEntry ) - { - if ( _nType == static_cast<MSFltrPg2_CheckBoxEntries>( reinterpret_cast<sal_IntPtr>( pEntry->GetUserData() ) ) ) - return pEntry; - pEntry = m_pCheckLB->Next( pEntry ); - } - return nullptr; -} - -void OfaMSFilterTabPage2::MSFltrSimpleTable::SetTabs() -{ - SvSimpleTable::SetTabs(); - SvLBoxTabFlags nAdjust = SvLBoxTabFlags::ADJUST_RIGHT|SvLBoxTabFlags::ADJUST_LEFT|SvLBoxTabFlags::ADJUST_CENTER|SvLBoxTabFlags::FORCE; - - if( aTabs.size() > 1 ) - { - SvLBoxTab* pTab = aTabs[1].get(); - pTab->nFlags &= ~nAdjust; - pTab->nFlags |= SvLBoxTabFlags::ADJUST_CENTER|SvLBoxTabFlags::FORCE; - } - if( aTabs.size() > 2 ) - { - SvLBoxTab* pTab = aTabs[2].get(); - pTab->nFlags &= ~nAdjust; - pTab->nFlags |= SvLBoxTabFlags::ADJUST_CENTER|SvLBoxTabFlags::FORCE; - } -} - -void OfaMSFilterTabPage2::MSFltrSimpleTable::HBarClick() -{ - // sorting is stopped by this override -} - -void OfaMSFilterTabPage2::MSFltrSimpleTable::SetCheckButtonState( - SvTreeListEntry* pEntry, sal_uInt16 nCol, SvButtonState eState) -{ - SvLBoxButton& rItem = static_cast<SvLBoxButton&>(pEntry->GetItem(nCol + 1)); - - if (rItem.GetType() == SvLBoxItemType::Button) - { - switch( eState ) - { - case SvButtonState::Checked: - rItem.SetStateChecked(); - break; - - case SvButtonState::Unchecked: - rItem.SetStateUnchecked(); - break; - - case SvButtonState::Tristate: - rItem.SetStateTristate(); - break; - } - InvalidateEntry( pEntry ); - } + int nPos = m_xCheckLB->n_children(); + m_xCheckLB->append(); + m_xCheckLB->set_toggle(nPos, TRISTATE_FALSE, 0); + if (saveEnabled) + m_xCheckLB->set_toggle(nPos, TRISTATE_FALSE, 1); + m_xCheckLB->set_text(nPos, _rTxt, 2); + m_xCheckLB->set_id(nPos, OUString::number(static_cast<sal_Int32>(_nType))); } -SvButtonState OfaMSFilterTabPage2::MSFltrSimpleTable::GetCheckButtonState( - SvTreeListEntry* pEntry, sal_uInt16 nCol ) +int OfaMSFilterTabPage2::GetEntry4Type( MSFltrPg2_CheckBoxEntries _nType ) const { - SvButtonState eState = SvButtonState::Unchecked; - SvLBoxButton& rItem = static_cast<SvLBoxButton&>(pEntry->GetItem(nCol + 1)); - - if (rItem.GetType() == SvLBoxItemType::Button) + for (int i = 0, nEntryCount = m_xCheckLB->n_children(); i < nEntryCount; ++i) { - SvItemStateFlags nButtonFlags = rItem.GetButtonFlags(); - eState = SvLBoxButtonData::ConvertToButtonState( nButtonFlags ); + if (_nType == static_cast<MSFltrPg2_CheckBoxEntries>(m_xCheckLB->get_id(i).toInt32())) + return i; } - - return eState; -} - -void OfaMSFilterTabPage2::MSFltrSimpleTable::CheckEntryPos(sal_uLong nPos, sal_uInt16 nCol, bool bChecked) -{ - if ( nPos < GetEntryCount() ) - SetCheckButtonState( - GetEntry(nPos), - nCol, - bChecked ? SvButtonState::Checked : SvButtonState::Unchecked ); -} - -void OfaMSFilterTabPage2::MSFltrSimpleTable::KeyInput( const KeyEvent& rKEvt ) -{ - if(!rKEvt.GetKeyCode().GetModifier() && - KEY_SPACE == rKEvt.GetKeyCode().GetCode()) - { - sal_uLong nSelPos = GetModel()->GetAbsPos(GetCurEntry()); - sal_uInt16 nCol = GetCurrentTabPos() - 1; - if ( nCol < 2 ) - { - SvTreeListEntry* pEntry = GetEntry( nSelPos ); - bool bIsChecked = ( GetCheckButtonState( pEntry, nCol ) == SvButtonState::Checked ); - CheckEntryPos( nSelPos, nCol, !bIsChecked ); - CallImplEventListeners( VclEventId::CheckboxToggle, static_cast<void*>(pEntry) ); - } - else - { - sal_uInt16 nCheck = GetCheckButtonState( GetEntry(nSelPos), 1 ) == SvButtonState::Checked ? 1 : 0; - if(GetCheckButtonState( GetEntry(nSelPos), 0 ) != SvButtonState::Unchecked) - nCheck += 2; - nCheck--; - nCheck &= 3; - CheckEntryPos(nSelPos, 1, 0 != (nCheck & 1)); - CheckEntryPos(nSelPos, 0, 0 != (nCheck & 2)); - } - } - else - SvSimpleTable::KeyInput(rKEvt); + return -1; } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cui/source/options/optfltr.hxx b/cui/source/options/optfltr.hxx index 79854e7b8650..2076a7fd13b9 100644 --- a/cui/source/options/optfltr.hxx +++ b/cui/source/options/optfltr.hxx @@ -51,52 +51,26 @@ enum class MSFltrPg2_CheckBoxEntries; class OfaMSFilterTabPage2 : public SfxTabPage { - - class MSFltrSimpleTable : public SvSimpleTable - { - using SvTreeListBox::GetCheckButtonState; - using SvTreeListBox::SetCheckButtonState; - using SvSimpleTable::SetTabs; - - void CheckEntryPos(sal_uLong nPos, sal_uInt16 nCol, bool bChecked); - static SvButtonState GetCheckButtonState( SvTreeListEntry*, sal_uInt16 nCol ); - void SetCheckButtonState( SvTreeListEntry*, sal_uInt16 nCol, SvButtonState ); - protected: - virtual void SetTabs() override; - virtual void HBarClick() override; - virtual void KeyInput( const KeyEvent& rKEvt ) override; - - public: - explicit MSFltrSimpleTable(SvSimpleTableContainer& rParent) - : SvSimpleTable(rParent, 0) - { - } - }; - - VclPtr<SvSimpleTableContainer> m_pCheckLBContainer; - VclPtr<MSFltrSimpleTable> m_pCheckLB; - OUString sHeader1, sHeader2; OUString sChgToFromMath, sChgToFromWriter, sChgToFromCalc, sChgToFromImpress, sChgToFromSmartArt; - std::unique_ptr<SvLBoxButtonData> m_xCheckButtonData; - VclPtr<RadioButton> aHighlightingRB; - VclPtr<RadioButton> aShadingRB; - VclPtr<CheckBox> aMSOLockFileCB; + std::unique_ptr<weld::TreeView> m_xCheckLB; + std::unique_ptr<weld::RadioButton> m_xHighlightingRB; + std::unique_ptr<weld::RadioButton> m_xShadingRB; + std::unique_ptr<weld::CheckButton> m_xMSOLockFileCB; virtual ~OfaMSFilterTabPage2() override; - virtual void dispose() override; void InsertEntry( const OUString& _rTxt, MSFltrPg2_CheckBoxEntries _nType ); void InsertEntry( const OUString& _rTxt, MSFltrPg2_CheckBoxEntries _nType, bool saveEnabled ); - SvTreeListEntry* GetEntry4Type( MSFltrPg2_CheckBoxEntries _nType ) const; + int GetEntry4Type( MSFltrPg2_CheckBoxEntries _nType ) const; public: - OfaMSFilterTabPage2( vcl::Window* pParent, const SfxItemSet& rSet ); + OfaMSFilterTabPage2(TabPageParent pParent, const SfxItemSet& rSet); static VclPtr<SfxTabPage> Create( TabPageParent pParent, const SfxItemSet* rAttrSet ); virtual bool FillItemSet( SfxItemSet* rSet ) override; diff --git a/cui/uiconfig/ui/optfltrembedpage.ui b/cui/uiconfig/ui/optfltrembedpage.ui index df931247be30..b3570839030b 100644 --- a/cui/uiconfig/ui/optfltrembedpage.ui +++ b/cui/uiconfig/ui/optfltrembedpage.ui @@ -1,11 +1,32 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Generated with glade 3.20.4 --> +<!-- Generated with glade 3.22.1 --> <interface domain="cui"> <requires lib="gtk+" version="3.18"/> - <requires lib="LibreOffice" version="1.0"/> + <object class="GtkTreeStore" id="liststore1"> + <columns> + <!-- column-name check1 --> + <column type="gboolean"/> + <!-- column-name check2 --> + <column type="gboolean"/> + <!-- column-name text --> + <column type="gchararray"/> + <!-- column-name id --> + <column type="gchararray"/> + <!-- column-name checkvis1 --> + <column type="gboolean"/> + <!-- column-name checktri1 --> + <column type="gboolean"/> + <!-- column-name checkvis2 --> + <column type="gboolean"/> + <!-- column-name checktri2 --> + <column type="gboolean"/> + </columns> + </object> <object class="GtkGrid" id="OptFilterPage"> <property name="visible">True</property> <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="vexpand">True</property> <property name="border_width">6</property> <property name="row_spacing">12</property> <child> @@ -22,21 +43,80 @@ <property name="can_focus">False</property> <property name="margin_top">6</property> <property name="hexpand">True</property> + <property name="vexpand">True</property> <property name="top_padding">6</property> <property name="left_padding">12</property> <child> <object class="GtkBox" id="box1"> <property name="visible">True</property> <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="vexpand">True</property> <property name="orientation">vertical</property> <property name="spacing">12</property> <child> - <object class="svtlo-SvSimpleTableContainer" id="checklbcontainer"> + <object class="GtkScrolledWindow" id="checklbcontainerscroll"> <property name="visible">True</property> - <property name="can_focus">False</property> + <property name="can_focus">True</property> + <property name="hexpand">True</property> <property name="vexpand">True</property> - <child internal-child="selection"> - <object class="GtkTreeSelection" id="Simple Table Container-selection1"/> + <property name="shadow_type">in</property> + <child> + <object class="GtkTreeView" id="checklbcontainer"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="hexpand">True</property> + <property name="vexpand">True</property> + <property name="model">liststore1</property> + <property name="search_column">0</property> + <property name="show_expanders">False</property> + <child internal-child="selection"> + <object class="GtkTreeSelection" id="Macro Library List-selection2"/> + </child> + <child> + <object class="GtkTreeViewColumn" id="treeviewcolumn4"> + <property name="resizable">True</property> + <property name="spacing">6</property> + <property name="title" translatable="yes" context="optfltrembedpage|column1">[L]</property> + <property name="alignment">0.5</property> + <child> + <object class="GtkCellRendererToggle" id="cellrenderer5"/> + <attributes> + <attribute name="visible">4</attribute> + <attribute name="active">0</attribute> + </attributes> + </child> + </object> + </child> + <child> + <object class="GtkTreeViewColumn" id="treeviewcolumn7"> + <property name="resizable">True</property> + <property name="spacing">6</property> + <property name="title" translatable="yes" context="optfltrembedpage|column1">[S]</property> + <property name="alignment">0.5</property> + <child> + <object class="GtkCellRendererToggle" id="cellrenderer7"/> + <attributes> + <attribute name="visible">4</attribute> + <attribute name="active">1</attribute> + </attributes> + </child> + </object> + </child> + <child> + <object class="GtkTreeViewColumn" id="treeviewcolumn5"> + <property name="resizable">True</property> + <property name="spacing">6</property> + <child> + <object class="GtkCellRendererText" id="cellrenderer4"/> + <attributes> + <attribute name="text">2</attribute> + </attributes> + </child> + </object> + </child> + </object> </child> </object> <packing> @@ -151,6 +231,7 @@ <property name="use_underline">True</property> <property name="xalign">0</property> <property name="draw_indicator">True</property> + <property name="group">highlighting</property> </object> <packing> <property name="expand">False</property> |