[Libreoffice-commits] core.git: sc/inc sc/sdi sc/source sc/uiconfig
Samuel Mehrbrodt
Samuel.Mehrbrodt at cib.de
Fri Jan 26 20:12:44 UTC 2018
sc/inc/sc.hrc | 1
sc/inc/sortparam.hxx | 1
sc/sdi/scalc.sdi | 2 -
sc/source/core/data/sortparam.cxx | 11 ++++++--
sc/source/ui/dbgui/tpsort.cxx | 4 +++
sc/source/ui/docshell/dbdocfun.cxx | 2 -
sc/source/ui/inc/tpsort.hxx | 1
sc/source/ui/view/cellsh2.cxx | 5 ++++
sc/source/ui/view/gridwin.cxx | 1
sc/uiconfig/scalc/ui/sortoptionspage.ui | 40 ++++++++++++++++++++++++--------
10 files changed, 53 insertions(+), 15 deletions(-)
New commits:
commit b5f8b046008a27f1da58b934dbe61c0decf36612
Author: Samuel Mehrbrodt <Samuel.Mehrbrodt at cib.de>
Date: Mon Jan 22 17:47:04 2018 +0100
tdf#98931 Add option to sort boundary image-only columns
A similiar option exists for comments-only columns.
If enabled, image-only columns are considered when sorting (and selected).
This is the default behavior, but can now be disabled.
Change-Id: Ie9dfdf913ea5904480c96375beb4e25bcb880785
Reviewed-on: https://gerrit.libreoffice.org/48351
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Eike Rathke <erack at redhat.com>
diff --git a/sc/inc/sc.hrc b/sc/inc/sc.hrc
index e4823e58ff44..71be34add605 100644
--- a/sc/inc/sc.hrc
+++ b/sc/inc/sc.hrc
@@ -625,6 +625,7 @@
#define SID_SORT_USERDEF (SC_PARAM_START+4)
#define SID_SORT_NATURALSORT (SC_PARAM_START+5)
#define SID_SORT_INCCOMMENTS (SC_PARAM_START+6)
+#define SID_SORT_INCIMAGES (SC_PARAM_START+7)
// Sidebar -------------------------------------------------------------
diff --git a/sc/inc/sortparam.hxx b/sc/inc/sortparam.hxx
index d0cd0204d518..6eba07e64487 100644
--- a/sc/inc/sortparam.hxx
+++ b/sc/inc/sortparam.hxx
@@ -50,6 +50,7 @@ struct SC_DLLPUBLIC ScSortParam
bool bCaseSens;
bool bNaturalSort;
bool bIncludeComments;
+ bool bIncludeGraphicObjects;
bool bUserDef;
bool bIncludePattern;
bool bInplace;
diff --git a/sc/sdi/scalc.sdi b/sc/sdi/scalc.sdi
index f238b4633721..216aeebc7bc9 100644
--- a/sc/sdi/scalc.sdi
+++ b/sc/sdi/scalc.sdi
@@ -1094,7 +1094,7 @@ SfxVoidItem DataSelect SID_DATA_SELECT
SfxVoidItem DataSort SID_SORT
-(SfxBoolItem ByRows SID_SORT_BYROW,SfxBoolItem HasHeader SID_SORT_HASHEADER,SfxBoolItem CaseSensitive SID_SORT_CASESENS,SfxBoolItem NaturalSort SID_SORT_NATURALSORT,SfxBoolItem IncludeAttribs SID_SORT_ATTRIBS,SfxUInt16Item UserDefIndex SID_SORT_USERDEF,SfxInt32Item Col1 FN_PARAM_1,SfxBoolItem Ascending1 FN_PARAM_2,SfxInt32Item Col2 FN_PARAM_3,SfxBoolItem Ascending2 FN_PARAM_4,SfxInt32Item Col3 FN_PARAM_5,SfxBoolItem Ascending3 FN_PARAM_6,SfxBoolItem IncludeComments SID_SORT_INCCOMMENTS)
+(SfxBoolItem ByRows SID_SORT_BYROW,SfxBoolItem HasHeader SID_SORT_HASHEADER,SfxBoolItem CaseSensitive SID_SORT_CASESENS,SfxBoolItem NaturalSort SID_SORT_NATURALSORT,SfxBoolItem IncludeAttribs SID_SORT_ATTRIBS,SfxUInt16Item UserDefIndex SID_SORT_USERDEF,SfxInt32Item Col1 FN_PARAM_1,SfxBoolItem Ascending1 FN_PARAM_2,SfxInt32Item Col2 FN_PARAM_3,SfxBoolItem Ascending2 FN_PARAM_4,SfxInt32Item Col3 FN_PARAM_5,SfxBoolItem Ascending3 FN_PARAM_6,SfxBoolItem IncludeComments SID_SORT_INCCOMMENTS, SfxBoolItem IncludeImages SID_SORT_INCIMAGES)
[
AutoUpdate = FALSE,
FastCall = FALSE,
diff --git a/sc/source/core/data/sortparam.cxx b/sc/source/core/data/sortparam.cxx
index 98033816ece5..cd98dd07a982 100644
--- a/sc/source/core/data/sortparam.cxx
+++ b/sc/source/core/data/sortparam.cxx
@@ -35,7 +35,8 @@ ScSortParam::ScSortParam()
ScSortParam::ScSortParam( const ScSortParam& r ) :
nCol1(r.nCol1),nRow1(r.nRow1),nCol2(r.nCol2),nRow2(r.nRow2),nUserIndex(r.nUserIndex),
bHasHeader(r.bHasHeader),bByRow(r.bByRow),bCaseSens(r.bCaseSens),
- bNaturalSort(r.bNaturalSort),bIncludeComments(r.bIncludeComments),bUserDef(r.bUserDef),
+ bNaturalSort(r.bNaturalSort),bIncludeComments(r.bIncludeComments),
+ bIncludeGraphicObjects(r.bIncludeGraphicObjects),bUserDef(r.bUserDef),
bIncludePattern(r.bIncludePattern),bInplace(r.bInplace),
nDestTab(r.nDestTab),nDestCol(r.nDestCol),nDestRow(r.nDestRow),
maKeyState( r.maKeyState ),
@@ -57,6 +58,7 @@ void ScSortParam::Clear()
nUserIndex = 0;
bHasHeader=bCaseSens=bUserDef=bNaturalSort = false;
bIncludeComments = false;
+ bIncludeGraphicObjects = true;
bByRow=bIncludePattern=bInplace = true;
aCollatorLocale = css::lang::Locale();
aCollatorAlgorithm.clear();
@@ -81,6 +83,7 @@ ScSortParam& ScSortParam::operator=( const ScSortParam& r )
bCaseSens = r.bCaseSens;
bNaturalSort = r.bNaturalSort;
bIncludeComments= r.bIncludeComments;
+ bIncludeGraphicObjects = r.bIncludeGraphicObjects;
bUserDef = r.bUserDef;
bIncludePattern = r.bIncludePattern;
bInplace = r.bInplace;
@@ -125,6 +128,7 @@ bool ScSortParam::operator==( const ScSortParam& rOther ) const
&& (bCaseSens == rOther.bCaseSens)
&& (bNaturalSort == rOther.bNaturalSort)
&& (bIncludeComments== rOther.bIncludeComments)
+ && (bIncludeGraphicObjects == rOther.bIncludeGraphicObjects)
&& (bUserDef == rOther.bUserDef)
&& (nUserIndex == rOther.nUserIndex)
&& (bIncludePattern == rOther.bIncludePattern)
@@ -153,7 +157,8 @@ bool ScSortParam::operator==( const ScSortParam& rOther ) const
ScSortParam::ScSortParam( const ScSubTotalParam& rSub, const ScSortParam& rOld ) :
nCol1(rSub.nCol1),nRow1(rSub.nRow1),nCol2(rSub.nCol2),nRow2(rSub.nRow2),nUserIndex(rSub.nUserIndex),
bHasHeader(true),bByRow(true),bCaseSens(rSub.bCaseSens),bNaturalSort(rOld.bNaturalSort),
- bIncludeComments(rOld.bIncludeComments),bUserDef(rSub.bUserDef),bIncludePattern(rSub.bIncludePattern),
+ bIncludeComments(rOld.bIncludeComments),bIncludeGraphicObjects(rOld.bIncludeGraphicObjects),
+ bUserDef(rSub.bUserDef),bIncludePattern(rSub.bIncludePattern),
bInplace(true),
nDestTab(0),nDestCol(0),nDestRow(0),
aCollatorLocale( rOld.aCollatorLocale ), aCollatorAlgorithm( rOld.aCollatorAlgorithm ),
@@ -196,7 +201,7 @@ ScSortParam::ScSortParam( const ScSubTotalParam& rSub, const ScSortParam& rOld )
ScSortParam::ScSortParam( const ScQueryParam& rParam, SCCOL nCol ) :
nCol1(nCol),nRow1(rParam.nRow1),nCol2(nCol),nRow2(rParam.nRow2),nUserIndex(0),
bHasHeader(rParam.bHasHeader),bByRow(true),bCaseSens(rParam.bCaseSens),
- bNaturalSort(false),bIncludeComments(false),
+ bNaturalSort(false),bIncludeComments(false),bIncludeGraphicObjects(true),
//TODO: what about Locale and Algorithm?
bUserDef(false),bIncludePattern(false),
bInplace(true),
diff --git a/sc/source/ui/dbgui/tpsort.cxx b/sc/source/ui/dbgui/tpsort.cxx
index 7cdf814c77b0..9ad1b3898960 100644
--- a/sc/source/ui/dbgui/tpsort.cxx
+++ b/sc/source/ui/dbgui/tpsort.cxx
@@ -505,6 +505,7 @@ ScTabPageSortOptions::ScTabPageSortOptions( vcl::Window* pParent,
get(m_pBtnFormats, "formats");
get(m_pBtnNaturalSort, "naturalsort");
get(m_pBtnIncComments, "includenotes");
+ get(m_pBtnIncImages, "includeimages");
get(m_pBtnCopyResult, "copyresult");
get(m_pLbOutPos, "outarealb");
get(m_pEdOutPos, "outareaed");
@@ -538,6 +539,7 @@ void ScTabPageSortOptions::dispose()
m_pBtnFormats.clear();
m_pBtnNaturalSort.clear();
m_pBtnIncComments.clear();
+ m_pBtnIncImages.clear();
m_pBtnCopyResult.clear();
m_pLbOutPos.clear();
m_pEdOutPos.clear();
@@ -660,6 +662,7 @@ void ScTabPageSortOptions::Reset( const SfxItemSet* /* rArgSet */ )
m_pBtnHeader->Check ( aSortData.bHasHeader );
m_pBtnNaturalSort->Check ( aSortData.bNaturalSort );
m_pBtnIncComments->Check ( aSortData.bIncludeComments );
+ m_pBtnIncImages->Check ( aSortData.bIncludeGraphicObjects );
if ( aSortData.bByRow )
{
@@ -725,6 +728,7 @@ bool ScTabPageSortOptions::FillItemSet( SfxItemSet* rArgSet )
aNewSortData.bCaseSens = m_pBtnCase->IsChecked();
aNewSortData.bNaturalSort = m_pBtnNaturalSort->IsChecked();
aNewSortData.bIncludeComments= m_pBtnIncComments->IsChecked();
+ aNewSortData.bIncludeGraphicObjects = m_pBtnIncImages->IsChecked();
aNewSortData.bIncludePattern = m_pBtnFormats->IsChecked();
aNewSortData.bInplace = !m_pBtnCopyResult->IsChecked();
aNewSortData.nDestCol = theOutPos.Col();
diff --git a/sc/source/ui/docshell/dbdocfun.cxx b/sc/source/ui/docshell/dbdocfun.cxx
index 125d915d36cc..50e0f5b514e6 100644
--- a/sc/source/ui/docshell/dbdocfun.cxx
+++ b/sc/source/ui/docshell/dbdocfun.cxx
@@ -516,7 +516,7 @@ bool ScDBDocFunc::Sort( SCTAB nTab, const ScSortParam& rSortParam,
bool bShrunk = false;
rDoc.ShrinkToUsedDataArea( bShrunk, nTab, aLocalParam.nCol1, aLocalParam.nRow1,
aLocalParam.nCol2, aLocalParam.nRow2, false, aLocalParam.bByRow, !aLocalParam.bByRow,
- aLocalParam.bIncludeComments, true );
+ aLocalParam.bIncludeComments, aLocalParam.bIncludeGraphicObjects );
SCROW nStartRow = aLocalParam.nRow1;
if (aLocalParam.bByRow && aLocalParam.bHasHeader && nStartRow < aLocalParam.nRow2)
diff --git a/sc/source/ui/inc/tpsort.hxx b/sc/source/ui/inc/tpsort.hxx
index 9c79b8020daf..1438693455ff 100644
--- a/sc/source/ui/inc/tpsort.hxx
+++ b/sc/source/ui/inc/tpsort.hxx
@@ -143,6 +143,7 @@ private:
VclPtr<RadioButton> m_pBtnLeftRight;
VclPtr<CheckBox> m_pBtnIncComments;
+ VclPtr<CheckBox> m_pBtnIncImages;
OUString aStrRowLabel;
OUString aStrColLabel;
diff --git a/sc/source/ui/view/cellsh2.cxx b/sc/source/ui/view/cellsh2.cxx
index cfd3a4cbe28a..0546f2abc244 100644
--- a/sc/source/ui/view/cellsh2.cxx
+++ b/sc/source/ui/view/cellsh2.cxx
@@ -380,6 +380,7 @@ void ScCellShell::ExecuteDB( SfxRequest& rReq )
aSortParam.bCaseSens = false;
aSortParam.bNaturalSort = false;
aSortParam.bIncludeComments = false;
+ aSortParam.bIncludeGraphicObjects = true;
aSortParam.bIncludePattern = true;
aSortParam.bInplace = true;
aSortParam.maKeyState[0].bDoSort = true;
@@ -433,6 +434,8 @@ void ScCellShell::ExecuteDB( SfxRequest& rReq )
aSortParam.bNaturalSort = static_cast<const SfxBoolItem*>(pItem)->GetValue();
if ( pArgs->GetItemState( SID_SORT_INCCOMMENTS, true, &pItem ) == SfxItemState::SET )
aSortParam.bIncludeComments = static_cast<const SfxBoolItem*>(pItem)->GetValue();
+ if ( pArgs->GetItemState( SID_SORT_INCIMAGES, true, &pItem ) == SfxItemState::SET )
+ aSortParam.bIncludeGraphicObjects = static_cast<const SfxBoolItem*>(pItem)->GetValue();
if ( pArgs->GetItemState( SID_SORT_ATTRIBS, true, &pItem ) == SfxItemState::SET )
aSortParam.bIncludePattern = static_cast<const SfxBoolItem*>(pItem)->GetValue();
if ( pArgs->GetItemState( SID_SORT_USERDEF, true, &pItem ) == SfxItemState::SET )
@@ -519,6 +522,8 @@ void ScCellShell::ExecuteDB( SfxRequest& rReq )
rOutParam.bNaturalSort ) );
rReq.AppendItem( SfxBoolItem( SID_SORT_INCCOMMENTS,
rOutParam.bIncludeComments ) );
+ rReq.AppendItem( SfxBoolItem( SID_SORT_INCIMAGES,
+ rOutParam.bIncludeGraphicObjects ) );
rReq.AppendItem( SfxBoolItem( SID_SORT_ATTRIBS,
rOutParam.bIncludePattern ) );
sal_uInt16 nUser = rOutParam.bUserDef ? ( rOutParam.nUserIndex + 1 ) : 0;
diff --git a/sc/source/ui/view/gridwin.cxx b/sc/source/ui/view/gridwin.cxx
index 84ad31b969da..f64f9e932e79 100644
--- a/sc/source/ui/view/gridwin.cxx
+++ b/sc/source/ui/view/gridwin.cxx
@@ -754,6 +754,7 @@ void ScGridWindow::UpdateAutoFilterFromMenu(AutoFilterMode eMode)
aSortParam.bCaseSens = false;
aSortParam.bNaturalSort = false;
aSortParam.bIncludeComments = false;
+ aSortParam.bIncludeGraphicObjects = true;
aSortParam.bIncludePattern = true;
aSortParam.bInplace = true;
aSortParam.maKeyState[0].bDoSort = true;
diff --git a/sc/uiconfig/scalc/ui/sortoptionspage.ui b/sc/uiconfig/scalc/ui/sortoptionspage.ui
index 90300e8b5241..aab54bf0d0a7 100644
--- a/sc/uiconfig/scalc/ui/sortoptionspage.ui
+++ b/sc/uiconfig/scalc/ui/sortoptionspage.ui
@@ -99,6 +99,20 @@
</packing>
</child>
<child>
+ <object class="GtkCheckButton" id="includeimages">
+ <property name="label" translatable="yes" context="sortoptionspage|includeimages">Include boundary column(s) containing only images</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="xalign">0</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">5</property>
+ </packing>
+ </child>
+ <child>
<object class="GtkCheckButton" id="copyresult">
<property name="label" translatable="yes" context="sortoptionspage|copyresult">Copy sort results to:</property>
<property name="visible">True</property>
@@ -112,7 +126,7 @@
</object>
<packing>
<property name="left_attach">0</property>
- <property name="top_attach">5</property>
+ <property name="top_attach">6</property>
</packing>
</child>
<child>
@@ -126,13 +140,13 @@
</accessibility>
<child internal-child="accessible">
<object class="AtkObject" id="outarealb-atkobject">
- <property name="AtkObject::accessible-name" translatable="yes" context="sortoptionspage|outarealb-atkobject">Copy sort results to:</property>
+ <property name="AtkObject::accessible-name" translatable="yes" context="sortoptionspage|outarealb-atkobject">Copy sort results to:</property>
</object>
</child>
</object>
<packing>
<property name="left_attach">0</property>
- <property name="top_attach">6</property>
+ <property name="top_attach">7</property>
</packing>
</child>
<child>
@@ -152,7 +166,7 @@
</object>
<packing>
<property name="left_attach">1</property>
- <property name="top_attach">6</property>
+ <property name="top_attach">7</property>
</packing>
</child>
<child>
@@ -169,7 +183,7 @@
</object>
<packing>
<property name="left_attach">0</property>
- <property name="top_attach">7</property>
+ <property name="top_attach">8</property>
</packing>
</child>
<child>
@@ -189,7 +203,7 @@
</object>
<packing>
<property name="left_attach">0</property>
- <property name="top_attach">8</property>
+ <property name="top_attach">9</property>
<property name="width">2</property>
</packing>
</child>
@@ -204,7 +218,7 @@
</object>
<packing>
<property name="left_attach">0</property>
- <property name="top_attach">9</property>
+ <property name="top_attach">10</property>
</packing>
</child>
<child>
@@ -218,7 +232,7 @@
</object>
<packing>
<property name="left_attach">1</property>
- <property name="top_attach">9</property>
+ <property name="top_attach">10</property>
</packing>
</child>
<child>
@@ -228,7 +242,7 @@
</object>
<packing>
<property name="left_attach">0</property>
- <property name="top_attach">10</property>
+ <property name="top_attach">11</property>
</packing>
</child>
<child>
@@ -238,7 +252,7 @@
</object>
<packing>
<property name="left_attach">1</property>
- <property name="top_attach">10</property>
+ <property name="top_attach">11</property>
</packing>
</child>
<child>
@@ -259,6 +273,12 @@
<child>
<placeholder/>
</child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
</object>
</child>
</object>
More information about the Libreoffice-commits
mailing list