[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