[PATCH] tools/string.hxx: add operator==/!= for OUString/String
Michael Stahl (via Code Review)
gerrit at gerrit.libreoffice.org
Mon Jan 21 12:51:51 PST 2013
Hi,
I have submitted a patch for review:
https://gerrit.libreoffice.org/1803
To pull it, you can do:
git pull ssh://gerrit.libreoffice.org:29418/core refs/changes/03/1803/1
tools/string.hxx: add operator==/!= for OUString/String
This has the disadvantage that it makes comparisons involving fast
OUString concatenation via operator+ ambiguous, as can be seen in
scriptdlg.cxx, but it allows comparing String and OUString wihout
explicit conversion, which is nice for incrementally converting code.
Change-Id: Ibfc728bdb161a01e0f8311915c97bcbba8b58c0b
---
M cui/source/dialogs/scriptdlg.cxx
M cui/source/options/opthtml.cxx
M forms/source/solar/control/navtoolbar.cxx
M sc/source/ui/app/inputwin.cxx
M sc/source/ui/dbgui/dbnamdlg.cxx
M sd/source/ui/dlg/paragr.cxx
M tools/inc/tools/string.hxx
7 files changed, 39 insertions(+), 16 deletions(-)
diff --git a/cui/source/dialogs/scriptdlg.cxx b/cui/source/dialogs/scriptdlg.cxx
index f4b1e94..944ca6f 100644
--- a/cui/source/dialogs/scriptdlg.cxx
+++ b/cui/source/dialogs/scriptdlg.cxx
@@ -910,7 +910,7 @@
}
for( sal_Int32 index = 0; index < childNodes.getLength(); index++ )
{
- if ( (aNewName+extn) == childNodes[index]->getName() )
+ if (OUString(aNewName+extn) == childNodes[index]->getName())
{
bFound = sal_True;
break;
@@ -939,7 +939,8 @@
bValid = sal_True;
for( sal_Int32 index = 0; index < childNodes.getLength(); index++ )
{
- if ( (aUserSuppliedName+extn) == childNodes[index]->getName() )
+ if (OUString(aUserSuppliedName+extn)
+ == childNodes[index]->getName())
{
bValid = sal_False;
String aError( m_createErrStr );
diff --git a/cui/source/options/opthtml.cxx b/cui/source/options/opthtml.cxx
index 49a57fc..9993030 100644
--- a/cui/source/options/opthtml.cxx
+++ b/cui/source/options/opthtml.cxx
@@ -111,19 +111,19 @@
sal_Bool OfaHtmlTabPage::FillItemSet( SfxItemSet& )
{
SvxHtmlOptions& rHtmlOpt = SvxHtmlOptions::Get();
- if(OUString(aSize1NF.GetSavedValue()) != aSize1NF.GetText())
+ if(aSize1NF.GetSavedValue() != aSize1NF.GetText())
rHtmlOpt.SetFontSize(0, (sal_uInt16)aSize1NF.GetValue());
- if(OUString(aSize2NF.GetSavedValue()) != aSize2NF.GetText())
+ if(aSize2NF.GetSavedValue() != aSize2NF.GetText())
rHtmlOpt.SetFontSize(1, (sal_uInt16)aSize2NF.GetValue());
- if(OUString(aSize3NF.GetSavedValue()) != aSize3NF.GetText())
+ if(aSize3NF.GetSavedValue() != aSize3NF.GetText())
rHtmlOpt.SetFontSize(2, (sal_uInt16)aSize3NF.GetValue());
- if(OUString(aSize4NF.GetSavedValue()) != aSize4NF.GetText())
+ if(aSize4NF.GetSavedValue() != aSize4NF.GetText())
rHtmlOpt.SetFontSize(3, (sal_uInt16)aSize4NF.GetValue());
- if(OUString(aSize5NF.GetSavedValue()) != aSize5NF.GetText())
+ if(aSize5NF.GetSavedValue() != aSize5NF.GetText())
rHtmlOpt.SetFontSize(4, (sal_uInt16)aSize5NF.GetValue());
- if(OUString(aSize6NF.GetSavedValue()) != aSize6NF.GetText())
+ if(aSize6NF.GetSavedValue() != aSize6NF.GetText())
rHtmlOpt.SetFontSize(5, (sal_uInt16)aSize6NF.GetValue());
- if(OUString(aSize7NF.GetSavedValue()) != aSize7NF.GetText())
+ if(aSize7NF.GetSavedValue() != aSize7NF.GetText())
rHtmlOpt.SetFontSize(6, (sal_uInt16)aSize7NF.GetValue());
if(aNumbersEnglishUSCB.IsChecked() != aNumbersEnglishUSCB.GetSavedValue())
diff --git a/forms/source/solar/control/navtoolbar.cxx b/forms/source/solar/control/navtoolbar.cxx
index a356a7f..f146a7e 100644
--- a/forms/source/solar/control/navtoolbar.cxx
+++ b/forms/source/solar/control/navtoolbar.cxx
@@ -685,7 +685,7 @@
//---------------------------------------------------------------------
void RecordPositionInput::FirePosition( sal_Bool _bForce )
{
- if ( _bForce || ( GetText() != OUString(GetSavedValue()) ) )
+ if ( _bForce || (GetText() != GetSavedValue()) )
{
sal_Int64 nRecord = GetValue();
if ( nRecord < GetMin() || nRecord > GetMax() )
diff --git a/sc/source/ui/app/inputwin.cxx b/sc/source/ui/app/inputwin.cxx
index 64be1b4..79b71d8 100644
--- a/sc/source/ui/app/inputwin.cxx
+++ b/sc/source/ui/app/inputwin.cxx
@@ -1373,7 +1373,7 @@
pEditEngine->SetUpdateMode( sal_True );
// aString ist die Wahrheit...
- if ( bFilled && pEditEngine->GetText() == OUString(aString) )
+ if (bFilled && pEditEngine->GetText() == aString)
Invalidate(); // Repaint fuer (hinterlegte) Felder
else
pEditEngine->SetText(aString); // dann wenigstens den richtigen Text
@@ -1754,7 +1754,7 @@
pEditEngine->SetUpdateMode( sal_True );
// aString ist die Wahrheit...
- if ( bFilled && pEditEngine->GetText() == OUString(aString) )
+ if (bFilled && pEditEngine->GetText() == aString)
Invalidate(); // Repaint fuer (hinterlegte) Felder
else
pEditEngine->SetText(aString); // dann wenigstens den richtigen Text
diff --git a/sc/source/ui/dbgui/dbnamdlg.cxx b/sc/source/ui/dbgui/dbnamdlg.cxx
index 24a1fce..e958bf9 100644
--- a/sc/source/ui/dbgui/dbnamdlg.cxx
+++ b/sc/source/ui/dbgui/dbnamdlg.cxx
@@ -601,7 +601,7 @@
if ( theName.isEmpty() )
{
- if ( aBtnAdd.GetText() != OUString(aStrAdd) )
+ if (aBtnAdd.GetText() != aStrAdd)
aBtnAdd.SetText( aStrAdd );
aBtnAdd .Disable();
aBtnRemove .Disable();
@@ -624,7 +624,7 @@
{
if ( bNameFound )
{
- if ( aBtnAdd.GetText() != OUString(aStrModify) )
+ if (aBtnAdd.GetText() != aStrModify)
aBtnAdd.SetText( aStrModify );
if(!bSaved)
@@ -636,7 +636,7 @@
}
else
{
- if ( aBtnAdd.GetText() != OUString(aStrAdd) )
+ if (aBtnAdd.GetText() != aStrAdd)
aBtnAdd.SetText( aStrAdd );
bSaved=false;
diff --git a/sd/source/ui/dlg/paragr.cxx b/sd/source/ui/dlg/paragr.cxx
index 8cb3b77..1029bae 100644
--- a/sd/source/ui/dlg/paragr.cxx
+++ b/sd/source/ui/dlg/paragr.cxx
@@ -97,7 +97,7 @@
{
if(maNewStartCB.GetState() != maNewStartCB.GetSavedValue() ||
maNewStartNumberCB.GetState() != maNewStartNumberCB.GetSavedValue()||
- maNewStartNF.GetText() != OUString(maNewStartNF.GetSavedValue()))
+ maNewStartNF.GetText() != maNewStartNF.GetSavedValue())
{
mbModified = true;
sal_Bool bNewStartChecked = STATE_CHECK == maNewStartCB.GetState();
diff --git a/tools/inc/tools/string.hxx b/tools/inc/tools/string.hxx
index 03276c1..0adf08c 100644
--- a/tools/inc/tools/string.hxx
+++ b/tools/inc/tools/string.hxx
@@ -333,6 +333,28 @@
#endif
+// some compare operators, so that conversions from String to OUString don't
+// have to insert conversions all over the place
+inline bool operator==(UniString const& rLeft, ::rtl::OUString const& rRight)
+{
+ return ::rtl::OUString(rLeft) == rRight;
+}
+
+inline bool operator==(::rtl::OUString const& rLeft, UniString const& rRight)
+{
+ return rLeft == ::rtl::OUString(rRight);
+}
+
+inline bool operator!=(UniString const& rLeft, ::rtl::OUString const& rRight)
+{
+ return ::rtl::OUString(rLeft) != rRight;
+}
+
+inline bool operator!=(::rtl::OUString const& rLeft, UniString const& rRight)
+{
+ return rLeft != ::rtl::OUString(rRight);
+}
+
#endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
--
To view, visit https://gerrit.libreoffice.org/1803
To unsubscribe, visit https://gerrit.libreoffice.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ibfc728bdb161a01e0f8311915c97bcbba8b58c0b
Gerrit-PatchSet: 1
Gerrit-Project: core
Gerrit-Branch: master
Gerrit-Owner: Michael Stahl <mstahl at redhat.com>
More information about the LibreOffice
mailing list