summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNoel Grandin <noel@peralex.com>2014-05-05 08:00:36 +0200
committerCaolán McNamara <caolanm@redhat.com>2014-05-08 09:19:25 +0000
commitff1a7a59434f5f793d4044aad615bcf78148e963 (patch)
tree9f64199265f4bace340fad6abc400b642c5e2612
parent10314b5d8b653864c92d392cbb774438633b2fe1 (diff)
RFC: add IsValueChangedFromSaved to VCL button and listbox
Add a method bool IsValueChangedFromSaved() to the various Button and Listbox classes. Use it to simplify code like if ( maBoldAppFont.GetSavedValue() != TriState(maBoldAppFont.IsChecked()) ) to if ( maBoldAppFont.IsValueChangedFromSaved() ) Change-Id: I26b291d0980237497063ee301d63a49c7d2bc227 Reviewed-on: https://gerrit.libreoffice.org/9250 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
-rw-r--r--forms/source/solar/control/navtoolbar.cxx2
-rw-r--r--include/vcl/button.hxx13
-rw-r--r--include/vcl/edit.hxx1
-rw-r--r--include/vcl/lstbox.hxx3
-rw-r--r--include/vcl/vclmedit.hxx1
-rw-r--r--reportdesign/source/ui/dlg/GroupsSorting.cxx16
-rw-r--r--vcl/source/app/dbggui.cxx2
7 files changed, 23 insertions, 15 deletions
diff --git a/forms/source/solar/control/navtoolbar.cxx b/forms/source/solar/control/navtoolbar.cxx
index 1ae0c983d2ee..40462ac3600d 100644
--- a/forms/source/solar/control/navtoolbar.cxx
+++ b/forms/source/solar/control/navtoolbar.cxx
@@ -681,7 +681,7 @@ namespace frm
void RecordPositionInput::FirePosition( bool _bForce )
{
- if ( _bForce || (GetText() != GetSavedValue()) )
+ if ( _bForce || IsValueChangedFromSaved() )
{
sal_Int64 nRecord = GetValue();
if ( nRecord < GetMin() || nRecord > GetMax() )
diff --git a/include/vcl/button.hxx b/include/vcl/button.hxx
index 84718fe00711..1c283aff5f47 100644
--- a/include/vcl/button.hxx
+++ b/include/vcl/button.hxx
@@ -48,9 +48,9 @@ private:
SAL_DLLPRIVATE Button (const Button &);
SAL_DLLPRIVATE Button & operator= (const Button &);
public:
- SAL_DLLPRIVATE sal_uInt16 ImplGetButtonState() const;
- SAL_DLLPRIVATE sal_uInt16& ImplGetButtonState();
- SAL_DLLPRIVATE sal_uInt16 ImplGetTextStyle( OUString& rText, WinBits nWinStyle, sal_uLong nDrawFlags );
+ SAL_DLLPRIVATE sal_uInt16 ImplGetButtonState() const;
+ SAL_DLLPRIVATE sal_uInt16& ImplGetButtonState();
+ SAL_DLLPRIVATE sal_uInt16 ImplGetTextStyle( OUString& rText, WinBits nWinStyle, sal_uLong nDrawFlags );
SAL_DLLPRIVATE void ImplDrawAlignedImage( OutputDevice* pDev, Point& rPos, Size& rSize,
bool bLayout, sal_uLong nImageSep, sal_uLong nDrawFlags,
sal_uInt16 nTextStyle, Rectangle *pSymbolRect=NULL, bool bAddImageSep = false );
@@ -106,7 +106,7 @@ protected:
SymbolType meSymbol;
TriState meState;
TriState meSaveValue;
- sal_uInt16 mnDDStyle;
+ sal_uInt16 mnDDStyle;
bool mbPressed;
bool mbInUserDraw;
Link maToggleHdl;
@@ -185,6 +185,7 @@ public:
void SaveValue() { meSaveValue = GetState(); }
TriState GetSavedValue() const { return meSaveValue; }
+ bool IsValueChangedFromSaved() const { return meSaveValue != GetState(); }
Size CalcMinimumSize( long nMaxWidth = 0 ) const;
virtual Size GetOptimalSize() const SAL_OVERRIDE;
@@ -367,7 +368,7 @@ public:
void EnableRadioCheck( bool bRadioCheck = true ) { mbRadioCheck = bRadioCheck; }
bool IsRadioCheckEnabled() const { return mbRadioCheck; }
- bool SetModeRadioImage( const Image& rImage );
+ bool SetModeRadioImage( const Image& rImage );
const Image& GetModeRadioImage( ) const;
void SetState( bool bCheck );
@@ -376,6 +377,7 @@ public:
void SaveValue() { mbSaveValue = IsChecked(); }
bool GetSavedValue() const { return mbSaveValue; }
+ bool IsValueChangedFromSaved() const { return mbSaveValue != IsChecked(); }
static Image GetRadioImage( const AllSettings& rSettings, sal_uInt16 nFlags );
@@ -488,6 +490,7 @@ public:
void SaveValue() { meSaveValue = GetState(); }
TriState GetSavedValue() const { return meSaveValue; }
+ bool IsValueChangedFromSaved() const { return meSaveValue != GetState(); }
static Image GetCheckImage( const AllSettings& rSettings, sal_uInt16 nFlags );
diff --git a/include/vcl/edit.hxx b/include/vcl/edit.hxx
index 8c06faa72ee9..e0d968950b6c 100644
--- a/include/vcl/edit.hxx
+++ b/include/vcl/edit.hxx
@@ -218,6 +218,7 @@ public:
void SaveValue() { maSaveValue = GetText(); }
const OUString& GetSavedValue() const { return maSaveValue; }
+ bool IsValueChangedFromSaved() const { return maSaveValue != GetText(); }
virtual void SetModifyHdl( const Link& rLink ) { maModifyHdl = rLink; }
virtual const Link& GetModifyHdl() const { return maModifyHdl; }
diff --git a/include/vcl/lstbox.hxx b/include/vcl/lstbox.hxx
index 791f9a360019..f8b76b113d8d 100644
--- a/include/vcl/lstbox.hxx
+++ b/include/vcl/lstbox.hxx
@@ -164,6 +164,7 @@ public:
void SaveValue() { mnSaveValue = GetSelectEntryPos(); }
sal_Int32 GetSavedValue() const { return mnSaveValue; }
+ bool IsValueChangedFromSaved() const { return mnSaveValue != GetSelectEntryPos(); }
void SetSeparatorPos( sal_Int32 n = LISTBOX_ENTRY_NOTFOUND );
sal_Int32 GetSeparatorPos() const;
@@ -244,10 +245,12 @@ class VCL_DLLPUBLIC MultiListBox : public ListBox
public:
using ListBox::SaveValue;
using ListBox::GetSavedValue;
+ using ListBox::IsValueChangedFromSaved;
private:
// Bei MultiListBox nicht erlaubt...
void SaveValue();
sal_Int32 GetSavedValue();
+ bool IsValueChangedFromSaved() const;
public:
explicit MultiListBox( Window* pParent, WinBits nStyle = 0 );
diff --git a/include/vcl/vclmedit.hxx b/include/vcl/vclmedit.hxx
index b29436f55fc3..6e292a41050b 100644
--- a/include/vcl/vclmedit.hxx
+++ b/include/vcl/vclmedit.hxx
@@ -108,6 +108,7 @@ public:
void SaveValue() { aSaveValue = GetText(); }
const OUString& GetSavedValue() const { return aSaveValue; }
+ bool IsValueChangedFromSaved() const { return aSaveValue != GetText(); }
void SetModifyHdl( const Link& rLink ) SAL_OVERRIDE { aModifyHdlLink = rLink; }
const Link& GetModifyHdl() const SAL_OVERRIDE { return aModifyHdlLink; }
diff --git a/reportdesign/source/ui/dlg/GroupsSorting.cxx b/reportdesign/source/ui/dlg/GroupsSorting.cxx
index cc18b17353a8..441658bd1ff9 100644
--- a/reportdesign/source/ui/dlg/GroupsSorting.cxx
+++ b/reportdesign/source/ui/dlg/GroupsSorting.cxx
@@ -1071,23 +1071,23 @@ void OGroupsSortingDialog::SaveData( sal_Int32 _nRow)
return;
uno::Reference< report::XGroup> xGroup = getGroup(nGroupPos);
- if ( m_aHeaderLst.GetSavedValue() != m_aHeaderLst.GetSelectEntryPos() )
+ if ( m_aHeaderLst.IsValueChangedFromSaved() )
xGroup->setHeaderOn( m_aHeaderLst.GetSelectEntryPos() == 0 );
- if ( m_aFooterLst.GetSavedValue() != m_aFooterLst.GetSelectEntryPos() )
+ if ( m_aFooterLst.IsValueChangedFromSaved() )
xGroup->setFooterOn( m_aFooterLst.GetSelectEntryPos() == 0 );
- if ( m_aKeepTogetherLst.GetSavedValue() != m_aKeepTogetherLst.GetSelectEntryPos() )
+ if ( m_aKeepTogetherLst.IsValueChangedFromSaved() )
xGroup->setKeepTogether( m_aKeepTogetherLst.GetSelectEntryPos() );
- if ( m_aGroupOnLst.GetSavedValue() != m_aGroupOnLst.GetSelectEntryPos() )
+ if ( m_aGroupOnLst.IsValueChangedFromSaved() )
{
sal_Int16 nGroupOn = static_cast<sal_Int16>(reinterpret_cast<sal_IntPtr>(m_aGroupOnLst.GetEntryData(m_aGroupOnLst.GetSelectEntryPos())));
xGroup->setGroupOn( nGroupOn );
}
- if ( m_aGroupIntervalEd.GetSavedValue().toInt32() != m_aGroupIntervalEd.GetValue() )
+ if ( m_aGroupIntervalEd.IsValueChangedFromSaved() )
{
xGroup->setGroupInterval( static_cast<sal_Int32>(m_aGroupIntervalEd.GetValue()) );
m_aGroupIntervalEd.SaveValue();
}
- if ( m_aOrderLst.GetSavedValue() != m_aOrderLst.GetSelectEntryPos() )
+ if ( m_aOrderLst.IsValueChangedFromSaved() )
xGroup->setSortAscending( m_aOrderLst.GetSelectEntryPos() == 0 );
ListBox* pControls[] = { &m_aHeaderLst,&m_aFooterLst,&m_aGroupOnLst,&m_aKeepTogetherLst,&m_aOrderLst};
@@ -1196,13 +1196,13 @@ IMPL_LINK( OGroupsSortingDialog, OnFormatAction, ToolBox*, /*NOTINTERESTEDIN*/ )
IMPL_LINK( OGroupsSortingDialog, LBChangeHdl, ListBox*, pListBox )
{
- if ( pListBox->GetSavedValue() != pListBox->GetSelectEntryPos() )
+ if ( pListBox->IsValueChangedFromSaved() )
{
sal_Int32 nRow = m_pFieldExpression->GetCurRow();
sal_Int32 nGroupPos = m_pFieldExpression->getGroupPosition(nRow);
if ( pListBox != &m_aHeaderLst && pListBox != &m_aFooterLst)
{
- if ( pListBox->GetSavedValue() != pListBox->GetSelectEntryPos() )
+ if ( pListBox->IsValueChangedFromSaved() )
SaveData(nRow);
if ( pListBox == &m_aGroupOnLst )
m_aGroupIntervalEd.Enable( pListBox->GetSelectEntryPos() != 0 );
diff --git a/vcl/source/app/dbggui.cxx b/vcl/source/app/dbggui.cxx
index a03e1110dd0f..97745739198d 100644
--- a/vcl/source/app/dbggui.cxx
+++ b/vcl/source/app/dbggui.cxx
@@ -334,7 +334,7 @@ IMPL_LINK( DbgDialog, ClickHdl, Button*, pButton )
#define IMMEDIATE_FLAGS (DBG_TEST_RESOURCE | DBG_TEST_DIALOG | DBG_TEST_BOLDAPPFONT)
pData->nTestFlags &= ~IMMEDIATE_FLAGS;
pData->nTestFlags |= aData.nTestFlags & IMMEDIATE_FLAGS;
- if ( maBoldAppFont.GetSavedValue() != TriState(maBoldAppFont.IsChecked()) )
+ if ( maBoldAppFont.IsValueChangedFromSaved() )
{
AllSettings aSettings = Application::GetSettings();
StyleSettings aStyleSettings = aSettings.GetStyleSettings();