[Libreoffice-commits] .: 4 commits - sc/source
Markus Mohrhard
mmohrhard at kemper.freedesktop.org
Wed Nov 23 00:01:47 PST 2011
sc/source/ui/inc/namedlg.hrc | 1
sc/source/ui/inc/namedlg.hxx | 3 ++
sc/source/ui/namedlg/namedlg.cxx | 53 +++++++++++++++++++++++++++++++++++---
sc/source/ui/namedlg/namepast.cxx | 6 ++++
sc/source/ui/src/namedlg.src | 4 ++
5 files changed, 64 insertions(+), 3 deletions(-)
New commits:
commit a22ce3e4483f6fe462eaba8826a91355957e3676
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date: Wed Nov 23 09:00:19 2011 +0100
ManageNames: only update the range names if we really changed data
diff --git a/sc/source/ui/inc/namedlg.hxx b/sc/source/ui/inc/namedlg.hxx
index fc2fc0f..c6f4f4a 100644
--- a/sc/source/ui/inc/namedlg.hxx
+++ b/sc/source/ui/inc/namedlg.hxx
@@ -96,6 +96,7 @@ private:
Selection maCurSel;
bool mbNeedUpdate;
+ bool mbDataChanged;
typedef boost::ptr_map<rtl::OUString, ScRangeName> RangeNameContainer;
diff --git a/sc/source/ui/namedlg/namedlg.cxx b/sc/source/ui/namedlg/namedlg.cxx
index d21355c..c273894 100644
--- a/sc/source/ui/namedlg/namedlg.cxx
+++ b/sc/source/ui/namedlg/namedlg.cxx
@@ -111,7 +111,8 @@ ScNameDlg::ScNameDlg( SfxBindings* pB, SfxChildWindow* pCW, Window* pParent,
mpViewData ( ptrViewData ),
mpDoc ( ptrViewData->GetDocument() ),
maCursorPos ( aCursorPos ),
- mbNeedUpdate ( true )
+ mbNeedUpdate ( true ),
+ mbDataChanged ( false )
{
Init();
FreeResource();
@@ -213,8 +214,11 @@ void ScNameDlg::SetReference( const ScRange& rRef, ScDocument* pDocP )
sal_Bool ScNameDlg::Close()
{
- ScDocFunc aFunc(*mpViewData->GetDocShell());
- aFunc.ModifyAllRangeNames(maRangeMap);
+ if (mbDataChanged)
+ {
+ ScDocFunc aFunc(*mpViewData->GetDocShell());
+ aFunc.ModifyAllRangeNames(maRangeMap);
+ }
return DoClose( ScNameDlgWrapper::GetChildWindowId() );
}
@@ -376,6 +380,8 @@ void ScNameDlg::RemovePushed()
// be safe and check for possible problems
if (pData)
pRangeName->erase(*pData);
+
+ mbDataChanged = true;
}
CheckForEmptyTable();
}
@@ -430,6 +436,7 @@ void ScNameDlg::NameModified()
aLine.aScope = aNewScope;
mpRangeManagerTable->addEntry(aLine);
mbNeedUpdate = true;
+ mbDataChanged = true;
}
}
commit 68c591429fd0fc6189d53d4f718fb3edf9038dfb
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date: Wed Nov 23 08:49:37 2011 +0100
ManageNames: set correct text for multiselection
diff --git a/sc/source/ui/inc/namedlg.hrc b/sc/source/ui/inc/namedlg.hrc
index db5c08c..37212c6 100644
--- a/sc/source/ui/inc/namedlg.hrc
+++ b/sc/source/ui/inc/namedlg.hrc
@@ -56,5 +56,6 @@
#define STR_ERR_NAME_EXISTS 73
#define STR_ERR_NAME_INVALID 74
#define STR_DEFAULT_INFO 75
+#define STR_MULTI_SELECT 76
#define FT_INFO 72
diff --git a/sc/source/ui/inc/namedlg.hxx b/sc/source/ui/inc/namedlg.hxx
index ed72e65..fc2fc0f 100644
--- a/sc/source/ui/inc/namedlg.hxx
+++ b/sc/source/ui/inc/namedlg.hxx
@@ -88,6 +88,7 @@ private:
const rtl::OUString maErrInvalidNameStr;
const rtl::OUString maErrNameInUse;
const rtl::OUString maStrInfoDefault;
+ const rtl::OUString maStrMultiSelect;
ScViewData* mpViewData;
ScDocument* mpDoc;
diff --git a/sc/source/ui/namedlg/namedlg.cxx b/sc/source/ui/namedlg/namedlg.cxx
index f0c3b3f..d21355c 100644
--- a/sc/source/ui/namedlg/namedlg.cxx
+++ b/sc/source/ui/namedlg/namedlg.cxx
@@ -106,6 +106,7 @@ ScNameDlg::ScNameDlg( SfxBindings* pB, SfxChildWindow* pCW, Window* pParent,
maErrInvalidNameStr( ResId::toString(ScResId(STR_ERR_NAME_INVALID))),
maErrNameInUse ( ResId::toString(ScResId(STR_ERR_NAME_EXISTS))),
maStrInfoDefault ( ResId::toString(ScResId(STR_DEFAULT_INFO))),
+ maStrMultiSelect ( ResId::toString(ScResId(STR_MULTI_SELECT))),
//
mpViewData ( ptrViewData ),
mpDoc ( ptrViewData->GetDocument() ),
@@ -444,6 +445,9 @@ void ScNameDlg::SelectionChanged()
if (mpRangeManagerTable->IsMultiSelection())
{
+ maEdName.SetText(maStrMultiSelect);
+ maEdAssign.SetText(maStrMultiSelect);
+
maEdName.Disable();
maEdAssign.Disable();
maLbScope.Disable();
diff --git a/sc/source/ui/src/namedlg.src b/sc/source/ui/src/namedlg.src
index 71225ca..66977f7 100644
--- a/sc/source/ui/src/namedlg.src
+++ b/sc/source/ui/src/namedlg.src
@@ -212,4 +212,8 @@ ModelessDialog RID_SCDLG_NAMES
{
Text [en-US] = "Select cells in the document to update the range.";
};
+ String STR_MULTI_SELECT
+ {
+ Text [en-US] = "(multiple)";
+ };
};
commit 6a56210854bc6600f559589531617fb65e250870
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date: Wed Nov 23 08:22:02 2011 +0100
ManageNames: disable some elements if table is empty
diff --git a/sc/source/ui/inc/namedlg.hxx b/sc/source/ui/inc/namedlg.hxx
index 6a9523f..ed72e65 100644
--- a/sc/source/ui/inc/namedlg.hxx
+++ b/sc/source/ui/inc/namedlg.hxx
@@ -109,6 +109,7 @@ private:
bool IsNameValid();
bool IsFormulaValid();
+ void CheckForEmptyTable();
ScRangeName* GetRangeName(const rtl::OUString& rScope);
diff --git a/sc/source/ui/namedlg/namedlg.cxx b/sc/source/ui/namedlg/namedlg.cxx
index 1f2060b..f0c3b3f 100644
--- a/sc/source/ui/namedlg/namedlg.cxx
+++ b/sc/source/ui/namedlg/namedlg.cxx
@@ -178,8 +178,12 @@ void ScNameDlg::Init()
SelectionChanged();
}
+ CheckForEmptyTable();
+
//TODO: fix the Add Button
maBtnAdd.Disable();
+ //TODO: discuss the Select Range button with UX
+ maBtnSelect.Disable();
}
sal_Bool ScNameDlg::IsRefInputMode() const
@@ -213,6 +217,35 @@ sal_Bool ScNameDlg::Close()
return DoClose( ScNameDlgWrapper::GetChildWindowId() );
}
+void ScNameDlg::CheckForEmptyTable()
+{
+ if (!mpRangeManagerTable->GetEntryCount())
+ {
+ maBtnDelete.Disable();
+ maEdAssign.Disable();
+ maEdName.Disable();
+ maLbScope.Disable();
+
+ maBtnCriteria.Disable();
+ maBtnPrintArea.Disable();
+ maBtnColHeader.Disable();
+ maBtnRowHeader.Disable();
+ }
+ else
+ {
+ maBtnDelete.Enable();
+ maEdAssign.Enable();
+ maEdName.Enable();
+ maLbScope.Enable();
+
+
+ maBtnCriteria.Enable();
+ maBtnPrintArea.Enable();
+ maBtnColHeader.Enable();
+ maBtnRowHeader.Enable();
+ }
+}
+
void ScNameDlg::CancelPushed()
{
DoClose( ScNameDlgWrapper::GetChildWindowId() );
@@ -343,6 +376,7 @@ void ScNameDlg::RemovePushed()
if (pData)
pRangeName->erase(*pData);
}
+ CheckForEmptyTable();
}
void ScNameDlg::NameModified()
@@ -400,6 +434,8 @@ void ScNameDlg::NameModified()
void ScNameDlg::SelectionChanged()
{
+
+
//don't update if we have just modified due to user input
if (!mbNeedUpdate)
{
commit 717438333eaa48898728ddc1f6b1394651dab48c
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date: Wed Nov 23 08:15:35 2011 +0100
ManageNames: disable paste buttons if table is empty
diff --git a/sc/source/ui/namedlg/namepast.cxx b/sc/source/ui/namedlg/namepast.cxx
index 9c57061..8613308 100644
--- a/sc/source/ui/namedlg/namepast.cxx
+++ b/sc/source/ui/namedlg/namepast.cxx
@@ -70,6 +70,12 @@ ScNamePasteDlg::ScNamePasteDlg( Window * pParent, ScDocShell* pShell, bool )
maBtnPasteAll.SetClickHdl( LINK( this, ScNamePasteDlg, ButtonHdl));
maBtnClose.SetClickHdl( LINK( this, ScNamePasteDlg, ButtonHdl));
+ if (!mpTable->GetEntryCount())
+ {
+ maBtnPaste.Disable();
+ maBtnPasteAll.Disable();
+ }
+
FreeResource();
}
More information about the Libreoffice-commits
mailing list