[Libreoffice-commits] core.git: sc/source

Eike Rathke erack at redhat.com
Tue Oct 6 09:09:41 PDT 2015


 sc/source/ui/optdlg/calcoptionsdlg.cxx |   49 ++++++++++++++++++---------------
 sc/source/ui/optdlg/calcoptionsdlg.hxx |    1 
 2 files changed, 29 insertions(+), 21 deletions(-)

New commits:
commit d4bb1ea98640c0cf575f8ac556b22cdc6f83ba0d
Author: Eike Rathke <erack at redhat.com>
Date:   Tue Oct 6 17:59:38 2015 +0200

    reintroduce initial coupling of EmptyStringAsZero to StringConversion
    
    ... as not all combinations make sense and aren't handled.
    For ILLEGAL and ZERO string conversions the EmptyAsZero checkbox is to
    be disabled. Also, remember the EmptyAsZero value again if the user
    toggled it.
    
    Got lost in commit e224c9cb929cd744674b5d4d265cfb4680c82a2b
    "Refactor OpenCL settings dialog"
    
    Change-Id: I86f9278e3d7856c70e94c2d1eb9f507359b90899

diff --git a/sc/source/ui/optdlg/calcoptionsdlg.cxx b/sc/source/ui/optdlg/calcoptionsdlg.cxx
index d9965eb..72b962e 100644
--- a/sc/source/ui/optdlg/calcoptionsdlg.cxx
+++ b/sc/source/ui/optdlg/calcoptionsdlg.cxx
@@ -97,6 +97,7 @@ ScCalcOptionsDialog::ScCalcOptionsDialog(vcl::Window* pParent, const ScCalcConfi
     get(mpEmptyAsZero,"checkEmptyAsZero");
     mpEmptyAsZero->Check(rConfig.mbEmptyStringAsZero);
     mpEmptyAsZero->SetClickHdl(LINK(this, ScCalcOptionsDialog, AsZeroModifiedHdl));
+    CoupleEmptyAsZeroToStringConversion();
 
     get(mpSyntax,"comboSyntaxRef");
     mpSyntax->SelectEntryPos( toSelectedItem(rConfig.meStringRefAddressSyntax) );
@@ -192,34 +193,40 @@ void ScCalcOptionsDialog::SelectedDeviceChanged()
 #endif
 }
 
+void ScCalcOptionsDialog::CoupleEmptyAsZeroToStringConversion()
+{
+    switch (maConfig.meStringConversion)
+    {
+        case ScCalcConfig::StringConversion::ILLEGAL:
+            maConfig.mbEmptyStringAsZero = false;
+            mpEmptyAsZero->Check(false);
+            mpEmptyAsZero->Enable(false);
+            break;
+        case ScCalcConfig::StringConversion::ZERO:
+            maConfig.mbEmptyStringAsZero = true;
+            mpEmptyAsZero->Check();
+            mpEmptyAsZero->Enable(false);
+            break;
+        case ScCalcConfig::StringConversion::UNAMBIGUOUS:
+        case ScCalcConfig::StringConversion::LOCALE:
+            // Reset to the value the user selected before.
+            maConfig.mbEmptyStringAsZero = mbSelectedEmptyStringAsZero;
+            mpEmptyAsZero->Enable(true);
+            mpEmptyAsZero->Check( mbSelectedEmptyStringAsZero);
+            break;
+    }
+}
+
 IMPL_LINK_TYPED(ScCalcOptionsDialog, AsZeroModifiedHdl, Button*, pCheckBox, void )
 {
-    maConfig.mbEmptyStringAsZero = static_cast<CheckBox*>(pCheckBox)->IsChecked();
+    maConfig.mbEmptyStringAsZero = mbSelectedEmptyStringAsZero = static_cast<CheckBox*>(pCheckBox)->IsChecked();
 }
 
 IMPL_LINK(ScCalcOptionsDialog, ConversionModifiedHdl, ListBox*, pConv )
 {
 
-  maConfig.meStringConversion = (ScCalcConfig::StringConversion)pConv->GetSelectEntryPos();
-    switch (maConfig.meStringConversion)
-    {
-         case ScCalcConfig::StringConversion::ILLEGAL:
-                    maConfig.mbEmptyStringAsZero = false;
-                    mpEmptyAsZero->Check(false);
-                    mpEmptyAsZero->Enable(false);
-         break;
-         case ScCalcConfig::StringConversion::ZERO:
-                    maConfig.mbEmptyStringAsZero = true;
-                    mpEmptyAsZero->Check();
-                    mpEmptyAsZero->Enable(false);
-         break;
-         case ScCalcConfig::StringConversion::UNAMBIGUOUS:
-         case ScCalcConfig::StringConversion::LOCALE:
-                    // Reset to the value the user selected before.
-                    maConfig.mbEmptyStringAsZero = mbSelectedEmptyStringAsZero;
-                    mpEmptyAsZero->Enable(true);
-         break;
-     }
+    maConfig.meStringConversion = (ScCalcConfig::StringConversion)pConv->GetSelectEntryPos();
+    CoupleEmptyAsZeroToStringConversion();
     return 0;
 }
 
diff --git a/sc/source/ui/optdlg/calcoptionsdlg.hxx b/sc/source/ui/optdlg/calcoptionsdlg.hxx
index 4ee896d..f7a2040 100644
--- a/sc/source/ui/optdlg/calcoptionsdlg.hxx
+++ b/sc/source/ui/optdlg/calcoptionsdlg.hxx
@@ -53,6 +53,7 @@ public:
 private:
     void OpenCLAutomaticSelectionChanged();
     void SelectedDeviceChanged();
+    void CoupleEmptyAsZeroToStringConversion();
 
 private:
     VclPtr<CheckBox> mpEmptyAsZero;


More information about the Libreoffice-commits mailing list