[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    extragear/office/skrooge
From:       Stephane Mankowski <stephane () mankowski ! fr>
Date:       2011-02-21 22:19:45
Message-ID: 20110221221945.1F109AC8BF () svn ! kde ! org
[Download RAW message or body]

SVN commit 1222148 by smankowski:

Correction: Better management of codex for exports

 M  +1 -0      CHANGELOG  
 M  +3 -1      skgbankmodeler/skgimportexportmanager.cpp  
 M  +2 -1      skgbankmodelertest/skgtestimportqif.cpp  
 M  +9 -5      skrooge_importexport/skgimportexportplugin.cpp  


--- trunk/extragear/office/skrooge/CHANGELOG #1222147:1222148
@@ -21,6 +21,7 @@
   *Correction: Many small correction in "interest" computation (tooltips, items in \
                combo box, computation, ...)
   *Correction: Bad unit in "unit" page for units having a unit reference
   *Correction: Better tooltips in report (usefull for huge report where lines title \
is not visible) +  *Correction: Better management of codex for exports
   *New feature: Import csv with ' as cote (for "Money Manager Ex" exports)  
   *New feature: Import csv is now possible on file without header
   *New feature: Import csv supports more than one "category" column
--- trunk/extragear/office/skrooge/skgbankmodeler/skgimportexportmanager.cpp \
#1222147:1222148 @@ -358,6 +358,7 @@
                     err.setMessage(i18nc("Error message",  "Save file '%1' failed", \
m_fileName));  } else {
                     QTextStream stream(&file);
+                    if(!m_codec.isEmpty()) \
stream.setCodec(m_codec.toAscii().constData());  stream << doc.toString() << endl;
                 }
 
@@ -389,7 +390,7 @@
             err.setMessage(i18nc("Error message",  "Save file '%1' failed", \
m_fileName));  } else {
             QTextStream stream(&file);
-            SKGTRACEL(2) << "Text codec=" << QTextCodec::codecForLocale()->name() << \
endl; +            if(!m_codec.isEmpty()) \
stream.setCodec(m_codec.toAscii().constData());  
             err = m_document->beginTransaction("#INTERNAL#", 3);
             if(err.isSucceeded()) {
@@ -652,6 +653,7 @@
             err.setMessage(i18nc("Error message",  "Save file '%1' failed", \
m_fileName));  } else {
             QTextStream out(&file);
+            if(!m_codec.isEmpty()) out.setCodec(m_codec.toAscii().constData());
             err = m_document->dumpSelectSqliteOrder(
                       "SELECT d_date as date, t_ACCOUNT as account, i_number as \
                number, t_mode as mode, "
                       "t_PAYEE as payee, t_REALCOMMENT as comment, f_REALQUANTITY as \
                quantity, "
--- trunk/extragear/office/skrooge/skgbankmodelertest/skgtestimportqif.cpp \
#1222147:1222148 @@ -687,7 +687,6 @@
 
             SKGImportExportManager imp1(&document1, getTestPath("IN") + \
"/skgtestimportqif/216520.qif");  SKGTESTERROR("QIF.importFile", imp1.importFile(), \
                true);
-
         }
         {
             SKGAccountObject account(&document1);
@@ -714,9 +713,11 @@
             SKGBEGINTRANSACTION(document1, "IMPORT", err);
 
             SKGImportExportManager imp1(&document1, getTestPath("IN") + \
"/skgtestimportqif/exp_inv.qif"); +            SKGTESTERROR("QIF.setCodec", \
imp1.setCodec("UTF-8"), true);  SKGTESTERROR("QIF.importFile", imp1.importFile(), \
true);  
             SKGImportExportManager exp1(&document1, getTestPath("OUT") + \
"/skgtestimportqif/exp_inv.qif"); +            SKGTESTERROR("QIF.setCodec", \
exp1.setCodec("UTF-8"), true);  SKGTESTERROR("QIF.exportFile", exp1.exportFile(), \
true);  
             document1.dump(DUMPBANKOBJECT);
--- trunk/extragear/office/skrooge/skrooge_importexport/skgimportexportplugin.cpp \
#1222147:1222148 @@ -415,26 +415,30 @@
 {
     SKGError err;
     SKGTRACEINRC(10, "SKGImportExportPlugin::exportFile", err);
-    QString fileName = SKGMainPanel::getSaveFileName(KUrl("kfiledialog:///IMPEXP"),
+    QString lastCodecUsed = \
m_currentBankDocument->getParameter("SKG_LAST_CODEC_USED_FOR_IMPORT"); +    \
if(lastCodecUsed.length() == 0) lastCodecUsed = QTextCodec::codecForLocale()->name(); \
+    QString codec; +    KEncodingFileDialog::Result result = \
KEncodingFileDialog::getSaveFileNameAndEncoding(lastCodecUsed, \
                "kfiledialog:///IMPEXP",
                        "*.qif|" + i18nc("A file format", "QIF file") + '\n' +
                        "*.csv|" + i18nc("A file format", "CSV file") + '\n' +
                        "*.xml|" + i18nc("A file format", "XML file") + '\n' +
                        "*.skg|" + i18nc("A file format", "Skrooge document") + '\n' \
                +
                        "*.sqlite|" + i18nc("A file format", "Sqlite document") + \
                '\n' +
                        "*.kmy|" + i18nc("A file format", "KMyMoney document") , \
                SKGMainPanel::getMainPanel());
-    if(fileName.isEmpty() || !m_currentBankDocument) return;
+    if(!result.fileNames.count() || !m_currentBankDocument) return;
 
     {
         SKGBEGINTRANSACTION(*m_currentBankDocument, i18nc("Noun, name of the user \
action", "Export"), err);  if(err.isSucceeded()) {
-            SKGImportExportManager imp1(m_currentBankDocument, fileName);
+            SKGImportExportManager imp1(m_currentBankDocument, \
result.fileNames.at(0)); +            imp1.setCodec(result.encoding);
             err = imp1.exportFile();
         }
     }
 
     //status bar
-    if(err.isSucceeded()) err = SKGError(0, i18nc("Successful message after an user \
                action", "File '%1' successfully exported.", fileName));
-    else err.addError(ERR_FAIL, i18nc("Error message", "Export of '%1' failed", \
fileName)); +    if(err.isSucceeded()) err = SKGError(0, i18nc("Successful message \
after an user action", "File '%1' successfully exported.", result.fileNames.at(0))); \
+    else err.addError(ERR_FAIL, i18nc("Error message", "Export of '%1' failed", \
result.fileNames.at(0)));  
     //Display error
     if(SKGMainPanel::getMainPanel()) \
SKGMainPanel::getMainPanel()->displayErrorMessage(err);


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic