sc/source/ui/dbgui/scuiasciiopt.cxx |   27 +++++++++++++++++++++------
 1 file changed, 21 insertions(+), 6 deletions(-)

New commits:
commit a4b5fdc2942d45c5c8aad5d77ca3346bd0862ec3
Author: Maxim Monastirsky <momonas...@gmail.com>
Date:   Thu Dec 19 15:58:21 2013 +0200

    Prefill correct settings for csv and tsv
    
    Change-Id: I21f3109530bc79c6ca1dcc247da987ee4795d086
    Reviewed-on: https://gerrit.libreoffice.org/7142
    Reviewed-by: Michael Meeks <michael.me...@collabora.com>
    Tested-by: Michael Meeks <michael.me...@collabora.com>

diff --git a/sc/source/ui/dbgui/scuiasciiopt.cxx 
b/sc/source/ui/dbgui/scuiasciiopt.cxx
index 87aa28c..1cd49d6 100644
--- a/sc/source/ui/dbgui/scuiasciiopt.cxx
+++ b/sc/source/ui/dbgui/scuiasciiopt.cxx
@@ -288,6 +288,16 @@ ScImportAsciiDlg::ScImportAsciiDlg( Window* 
pParent,OUString aDatName,
             SetText( aName );
     }
 
+    // To be able to prefill the correct values based on the file extension
+    bool bIsCSV = false;
+    bool bIsTSV = false;
+
+    OUString aExtWithDot = aDatName.copy(aDatName.getLength() - 4); // All 
handled extensions (csv, tsv, tab) have length of 3
+    if ( aExtWithDot.equalsIgnoreAsciiCase(".tsv") || 
aExtWithDot.equalsIgnoreAsciiCase(".tab") )
+        bIsTSV = true;
+    else if ( aExtWithDot.equalsIgnoreAsciiCase(".csv") )
+        bIsCSV = true;
+
     // Default options are set in 
officecfg/registry/schema/org/openoffice/Office/Calc.xcs
     OUString sFieldSeparators(",;\t");
     OUString sTextSeparators(mcTextSep);
@@ -303,19 +313,24 @@ ScImportAsciiDlg::ScImportAsciiDlg( Window* 
pParent,OUString aDatName,
     // load from saved settings
     maFieldSeparators = OUString(sFieldSeparators);
 
-    if( bMergeDelimiters )
+    if( bMergeDelimiters && !bIsTSV )
         pCkbAsOnce->Check();
     if (bQuotedFieldAsText)
         pCkbQuotedAsText->Check();
     if (bDetectSpecialNum)
         pCkbDetectNumber->Check();
-    if( bFixedWidth )
+    if( bFixedWidth && !bIsTSV )
         pRbFixed->Check();
-    if( nFromRow != 1 )
+    if( nFromRow != 1 && !bIsTSV )
         pNfRow->SetValue( nFromRow );
 
-    // Set Separators in the dialog from maFieldSeparators (empty are not set)
-    SetSeparators();
+    if ( bIsTSV )
+        pCkbTab->Check();
+    else
+        SetSeparators(); // Set Separators in the dialog from 
maFieldSeparators (empty are not set)
+
+    if ( bIsCSV )
+        pCkbComma->Check();
 
     // Get Separators from the dialog (empty are set from default)
     maFieldSeparators = GetSeparators();
@@ -574,7 +589,7 @@ void ScImportAsciiDlg::SetSeparators()
             case ' ':   pCkbSpace->Check();      break;
             default:
                 pCkbOther->Check();
-               pEdOther->SetText( pEdOther->GetText() + OUString( aSep[i] ) );
+                pEdOther->SetText( pEdOther->GetText() + OUString( aSep[i] ) );
         }
     }
 }
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to