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

List:       kde-commits
Subject:    [skrooge] /: Refactoring to prepare QML dashboard widget
From:       Stephane Mankowski <stephane () mankowski ! fr>
Date:       2015-12-31 22:32:28
Message-ID: E1aEllk-00038N-F2 () scm ! kde ! org
[Download RAW message or body]

Git commit 4520204aa6981daa83a845d48b84bfda78934d1e by Stephane Mankowski.
Committed on 31/12/2015 at 22:31.
Pushed by smankowski into branch 'master'.

Refactoring to prepare QML dashboard widget

M  +1    -1    plugins/generic/skg_statistic/skgstatisticplugin.cpp
M  +2    -2    plugins/skrooge/default/personal_finance_score.html
A  +56   -0    plugins/skrooge/default/personal_finance_score.qml     [License: \
UNKNOWN]  * M  +2    -2    plugins/skrooge/responsive.txt
M  +10   -0    skgbankmodeler/skgdocumentbank.cpp
M  +14   -0    skgbankmodeler/skgdocumentbank.h
M  +28   -23   skgbankmodeler/skgreportbank.cpp
M  +33   -19   skgbankmodeler/skgreportbank.h
M  +31   -27   skgbasegui/skghtmlboardwidget.cpp
M  +3    -1    skgbasegui/skghtmlboardwidget.h
M  +1    -0    skgbasemodeler/skgdocument.h
M  +20   -18   skgbasemodeler/skgreport.cpp
M  +16   -6    skgbasemodeler/skgreport.h
A  +2    -0    skrooge.config
A  +1    -0    skrooge.creator
A  +1567 -0    skrooge.files
A  +54   -0    skrooge.includes
M  +10   -10   tests/skgbankmodelertest/skgtestpfs.cpp

The files marked with a * at the end have a non valid license. Please read: \
http://techbase.kde.org/Policies/Licensing_Policy and use the headers which are \
listed at that page.


http://commits.kde.org/skrooge/4520204aa6981daa83a845d48b84bfda78934d1e

diff --git a/plugins/generic/skg_statistic/skgstatisticplugin.cpp \
b/plugins/generic/skg_statistic/skgstatisticplugin.cpp index 44891b5..b90c6ba 100644
--- a/plugins/generic/skg_statistic/skgstatisticplugin.cpp
+++ b/plugins/generic/skg_statistic/skgstatisticplugin.cpp
@@ -77,7 +77,7 @@ bool SKGStatisticPlugin::setupActions(SKGDocument* iDocument, const \
QStringList&  setXMLFile(QStringLiteral("skg_statistic.rc"));
 
     // Connect actions
-    /*QMap<QString, QPointer<QAction> > actions = \
SKGMainPanel::getMainPanel()->getGlobalActions(); +    /* TODO QMap<QString, \
QPointer<QAction> > actions = SKGMainPanel::getMainPanel()->getGlobalActions();  \
QStringList keys = actions.keys();  foreach(const QString & k, keys) {
         QPointer<QAction> act = actions[k];
diff --git a/plugins/skrooge/default/personal_finance_score.html \
b/plugins/skrooge/default/personal_finance_score.html index aeb7c37..644d606 100644
--- a/plugins/skrooge/default/personal_finance_score.html
+++ b/plugins/skrooge/default/personal_finance_score.html
@@ -1,6 +1,6 @@
-<center style="background-color:#{{ report.personal_finance_score_details.3 \
}};font-size:xx-large;">{{ report.personal_finance_score_details.0|floatformat \
}}</center> +<center style="background-color:#{{ \
report.personal_finance_score_details.color }};font-size:xx-large;">{{ \
report.personal_finance_score_details.value|floatformat }}</center>  <p>
 = {{ title_annual_spending }} / {{ title_networth }}<br/>
 = {{ report.annual_spending|money|safe }} / {{ report.networth|money|safe }}
 </p>
-<p style="white-space:pre-wrap;">{{ report.personal_finance_score_details.2 }}</p>
+<p style="white-space:pre-wrap;">{{ report.personal_finance_score_details.message \
                }}</p>
diff --git a/plugins/skrooge/default/personal_finance_score.qml \
b/plugins/skrooge/default/personal_finance_score.qml new file mode 100644
index 0000000..6b5f6b4
--- /dev/null
+++ b/plugins/skrooge/default/personal_finance_score.qml
@@ -0,0 +1,56 @@
+import QtQuick 2.0
+
+Row {
+    spacing: 5
+
+    Rectangle {
+        id: rect1
+        width: 50
+        height: width
+        color: "#" +report.personal_finance_score_details.color
+        radius: width / 10
+
+        Text {
+            id: pfstext
+            text: report.personal_finance_score_details.value.toFixed(2)
+            fontSizeMode: Text.Fit
+            minimumPixelSize: 10
+            font.pixelSize: 72
+            horizontalAlignment: Text.AlignHCenter
+            verticalAlignment: Text.AlignVCenter
+            color: "black"
+            anchors.fill: rect1
+        }
+    }
+
+    Column {
+           spacing: 5
+            Text {
+                width: rect1.width * 4
+                height: rect1.height / 2
+                text: '='+document.formatPrimaryMoney(report.annual_spending) + ' / \
' + document.formatPrimaryMoney(report.networth) +                fontSizeMode: \
Text.Fit +                minimumPixelSize: 10
+                font.pixelSize: 72
+                horizontalAlignment: Text.left
+                verticalAlignment: Text.AlignVCenter
+                wrapMode: Text.Wrap
+                color: "black"
+            }
+            Text {
+                id: msg
+                width: rect1.width * 4
+                height: rect1.height / 2
+                text: report.personal_finance_score_details.message
+                fontSizeMode: Text.Fit
+                minimumPixelSize: 10
+                font.pixelSize: 72
+                horizontalAlignment: Text.left
+                verticalAlignment: Text.AlignVCenter
+                wrapMode: Text.Wrap
+                color: "black"
+            }
+    }
+}
+
+
diff --git a/plugins/skrooge/responsive.txt b/plugins/skrooge/responsive.txt
index 1f3cb0d..dbc9c1f 100644
--- a/plugins/skrooge/responsive.txt
+++ b/plugins/skrooge/responsive.txt
@@ -194,13 +194,13 @@
   
 <div class="container">  
     <h2>{{ title_personal_finance_score }}</h2>
-    <span class="btn btn-{{ report.personal_finance_score_details.1 }} btn-lg">{{ \
report.personal_finance_score_details.0|floatformat }} +    <span class="btn btn-{{ \
report.personal_finance_score_details.level }} btn-lg">{{ \
report.personal_finance_score_details.value|floatformat }}  <span class="badge">
         {{ title_annual_spending }} / {{ title_networth }}</br>
         {{ report.annual_spending|money|safe }} / {{ report.networth|money|safe }}
         </span>
     </span>  
-    <p>{{ report.personal_finance_score_details.2 }}</p>
+    <p>{{ report.personal_finance_score_details.message }}</p>
     
     <h2>{{ document|display:"f_CURRENTAMOUNT_INCOME" }} &amp; {{ \
document|display:"f_CURRENTAMOUNT_EXPENSE" }} *</h2>  {% include \
                "default/income_vs_expenditure_table.html" %}
diff --git a/skgbankmodeler/skgdocumentbank.cpp b/skgbankmodeler/skgdocumentbank.cpp
index 0d80925..1695d3c 100644
--- a/skgbankmodeler/skgdocumentbank.cpp
+++ b/skgbankmodeler/skgdocumentbank.cpp
@@ -2266,6 +2266,16 @@ SKGServices::SKGUnitInfo SKGDocumentBank::getSecondaryUnit()
     return output;
 }
 
+QString SKGDocumentBank::formatPrimaryMoney(double iValue)
+{
+    return formatMoney(iValue, getPrimaryUnit());
+}
+
+QString SKGDocumentBank::formatSecondaryMoney(double iValue)
+{
+    return formatMoney(iValue, getSecondaryUnit());
+}
+
 QString SKGDocumentBank::getCategoryForPayee(const QString& iPayee)
 {
     QString output;
diff --git a/skgbankmodeler/skgdocumentbank.h b/skgbankmodeler/skgdocumentbank.h
index 05dc0f6..5d726ac 100644
--- a/skgbankmodeler/skgdocumentbank.h
+++ b/skgbankmodeler/skgdocumentbank.h
@@ -118,6 +118,20 @@ public Q_SLOTS:
     virtual SKGServices::SKGUnitInfo getSecondaryUnit();
 
     /**
+     * Get formated money in primary unit
+     * @param iValue value
+     * @return formated value in red or black
+     */
+    virtual QString formatPrimaryMoney(double iValue);
+
+    /**
+     * Get formated money in primary unit
+     * @param iValue value
+     * @return formated value in red or black
+     */
+    virtual QString formatSecondaryMoney(double iValue);
+
+    /**
     * Get the preferred category for a payee. WARNING: This value can be not \
                uptodated in a transaction.
     * @param iPayee the payee
     * @return The preferred category.
diff --git a/skgbankmodeler/skgreportbank.cpp b/skgbankmodeler/skgreportbank.cpp
index a5d9867..a0282ae 100644
--- a/skgbankmodeler/skgreportbank.cpp
+++ b/skgbankmodeler/skgreportbank.cpp
@@ -34,8 +34,7 @@
 #include "skgoperationobject.h"
 #include "skgrecurrentoperationobject.h"
 
-SKGReportBank::SKGReportBank(SKGDocument* iDocument)
-    : SKGReport(iDocument)
+SKGReportBank::SKGReportBank(SKGDocument* iDocument) : SKGReport(iDocument)
 {
     SKGTRACEINFUNC(1);
 }
@@ -422,37 +421,37 @@ QStringList SKGReportBank::get5MainCategoriesVariation()
     return table;
 }
 
-QVariantList SKGReportBank::getPersonalFinanceScoreDetails(bool iTransfert, bool \
iTracker) +QVariantMap SKGReportBank::getPersonalFinanceScoreDetails(bool iTransfert, \
bool iTracker)  {
     KColorScheme scheme(QPalette::Normal, KColorScheme::Window);
 
-    QVariantList output;
+    QVariantMap output;
     double pfs = getPersonalFinanceScore(iTransfert, iTracker);
-    output.push_back(pfs);
+    output[QStringLiteral("value")] = pfs;
     if (pfs < 0) {
-        output.push_back("danger");
-        output.push_back(i18nc("An advice", "You must try to get out of debt."));
-        output.push_back(scheme.foreground(KColorScheme::NegativeText).color().name().right(6));
 +        output[QStringLiteral("level")] = QStringLiteral("danger");
+        output[QStringLiteral("message")] = i18nc("An advice", "You must try to get \
out of debt."); +        output[QStringLiteral("color")] = \
scheme.foreground(KColorScheme::NegativeText).color().name().right(6);  } else if \
                (pfs >= 25) {
-        output.push_back("success");
-        output.push_back(i18nc("An advice", "Congratulations, you are now \
                financially independent."));
-        output.push_back(scheme.foreground(KColorScheme::PositiveText).color().name().right(6));
 +        output[QStringLiteral("level")] = QStringLiteral("success");
+        output[QStringLiteral("message")] = i18nc("An advice", "Congratulations, you \
are now financially independent."); +        output[QStringLiteral("color")] = \
scheme.foreground(KColorScheme::PositiveText).color().name().right(6);  } else if \
                (pfs >= 10) {
-        output.push_back("success");
-        output.push_back(i18nc("An advice", "Congratulations, You saved up ten \
                year's worth of expenses."));
-        output.push_back(scheme.foreground(KColorScheme::PositiveText).color().name().right(6));
 +        output[QStringLiteral("level")] = QStringLiteral("success");
+        output[QStringLiteral("message")] = i18nc("An advice", "Congratulations, You \
saved up ten year's worth of expenses."); +        output[QStringLiteral("color")] = \
scheme.foreground(KColorScheme::PositiveText).color().name().right(6);  } else if \
                (pfs >= 2) {
-        output.push_back("warning");
-        output.push_back(i18nc("An advice", "You saved up %1 year's worth of \
                expenses. You should continue your effort.", \
                SKGServices::intToString(pfs)));
-        output.push_back(scheme.foreground(KColorScheme::NeutralText).color().name().right(6));
 +        output[QStringLiteral("level")] = QStringLiteral("warning");
+        output[QStringLiteral("message")] = i18nc("An advice", "You saved up %1 \
year's worth of expenses. You should continue your effort.", \
SKGServices::intToString(pfs)); +        output[QStringLiteral("color")] = \
scheme.foreground(KColorScheme::NeutralText).color().name().right(6);  } else if (pfs \
                >= 1) {
-        output.push_back("warning");
-        output.push_back(i18nc("An advice", "You saved up one year's worth of \
                expenses. You should maintain your effort."));
-        output.push_back(scheme.foreground(KColorScheme::NeutralText).color().name().right(6));
 +        output[QStringLiteral("level")] = QStringLiteral("warning");
+        output[QStringLiteral("message")] = i18nc("An advice", "You saved up one \
year's worth of expenses. You should maintain your effort."); +        \
output[QStringLiteral("color")] = \
scheme.foreground(KColorScheme::NeutralText).color().name().right(6);  } else {
-        output.push_back("warning");
-        output.push_back(i18nc("An advice", "You do not have debt but you have no \
                margin. You must maintain your effort."));
-        output.push_back(scheme.foreground(KColorScheme::NeutralText).color().name().right(6));
 +        output[QStringLiteral("level")] = QStringLiteral("warning");
+        output[QStringLiteral("message")] = i18nc("An advice", "You do not have debt \
but you have no margin. You must maintain your effort."); +        \
output[QStringLiteral("color")] = \
scheme.foreground(KColorScheme::NeutralText).color().name().right(6);  }
     return output;
 }
@@ -578,6 +577,12 @@ QVariantList SKGReportBank::getIncomeVsExpenditure(bool \
iOnSubOperation, bool iT  return table;
 }
 
+void SKGReportBank::cleanCache()
+{
+    SKGReport::cleanCache();
+    emit changed2();
+}
+
 void SKGReportBank::addItemsInMapping(QVariantHash& iMapping)
 {
     SKGReport::addItemsInMapping(iMapping);
diff --git a/skgbankmodeler/skgreportbank.h b/skgbankmodeler/skgreportbank.h
index 2f816a1..b734a8d 100644
--- a/skgbankmodeler/skgreportbank.h
+++ b/skgbankmodeler/skgreportbank.h
@@ -38,83 +38,82 @@ class SKGBANKMODELER_EXPORT SKGReportBank : public SKGReport
     /**
      * The budget table
      */
-    Q_PROPERTY(QVariantList budget_table READ getBudgetTable)
+    Q_PROPERTY(QVariantList budget_table READ getBudgetTable NOTIFY changed2)
 
     /**
      * The unit table
      */
-    Q_PROPERTY(QVariantList unit_table READ getUnitTable)
+    Q_PROPERTY(QVariantList unit_table READ getUnitTable NOTIFY changed2)
 
     /**
      * The portfolio
      */
-    Q_PROPERTY(QVariantList portfolio READ getPortfolio)
+    Q_PROPERTY(QVariantList portfolio READ getPortfolio NOTIFY changed2)
 
     /**
      * The account table
      */
-    Q_PROPERTY(QVariantList account_table READ getAccountTable)
+    Q_PROPERTY(QVariantList account_table READ getAccountTable NOTIFY changed2)
 
     /**
      * The bank table
      */
-    Q_PROPERTY(QVariantList bank_table READ getBankTable)
+    Q_PROPERTY(QVariantList bank_table READ getBankTable NOTIFY changed2)
 
     /**
      * The scheduled operations
      */
-    Q_PROPERTY(QVariantList scheduled_operations READ getScheduledOperations)
+    Q_PROPERTY(QVariantList scheduled_operations READ getScheduledOperations NOTIFY \
changed2)  
     /**
      * The main categories of the period
      */
-    Q_PROPERTY(QVariantList categories_period READ getMainCategoriesForPeriod)
+    Q_PROPERTY(QVariantList categories_period READ getMainCategoriesForPeriod NOTIFY \
changed2)  
     /**
      * The main categories of the previous period
      */
-    Q_PROPERTY(QVariantList categories_previous_period READ \
getMainCategoriesForPreviousPeriod) +    Q_PROPERTY(QVariantList \
categories_previous_period READ getMainCategoriesForPreviousPeriod NOTIFY changed2)  
     /**
      * The main categories of the period (for compatibility)
      */
-    Q_PROPERTY(QVariantList categories_month READ getMainCategoriesForPeriod)
+    Q_PROPERTY(QVariantList categories_month READ getMainCategoriesForPeriod NOTIFY \
changed2)  
     /**
      * The main categories of the previous period (for compatibility)
      */
-    Q_PROPERTY(QVariantList categories_previous_month READ \
getMainCategoriesForPreviousPeriod) +    Q_PROPERTY(QVariantList \
categories_previous_month READ getMainCategoriesForPreviousPeriod NOTIFY changed2)  
     /**
      * The income versus expenditure
      */
-    Q_PROPERTY(QVariantList income_vs_expenditure READ getIncomeVsExpenditure)
+    Q_PROPERTY(QVariantList income_vs_expenditure READ getIncomeVsExpenditure NOTIFY \
changed2)  
     /**
      * The net worth
      */
-    Q_PROPERTY(double networth READ getNetWorth)
+    Q_PROPERTY(double networth READ getNetWorth NOTIFY changed2)
 
     /**
      * The annual spending
      */
-    Q_PROPERTY(double annual_spending READ getAnnualSpending)
+    Q_PROPERTY(double annual_spending READ getAnnualSpending NOTIFY changed2)
 
     /**
      * The personal finance score
      */
-    Q_PROPERTY(double personal_finance_score READ getPersonalFinanceScore)
+    Q_PROPERTY(double personal_finance_score READ getPersonalFinanceScore NOTIFY \
changed2)  
     /**
      * The personal finance score details
      */
-    Q_PROPERTY(QVariantList personal_finance_score_details READ \
                getPersonalFinanceScoreDetails())
-
+    Q_PROPERTY(QVariantMap personal_finance_score_details READ \
getPersonalFinanceScoreDetails NOTIFY changed2)  
     /**
      * The main categories variations
      */
-    Q_PROPERTY(QStringList categories_variations READ get5MainCategoriesVariation)
+    Q_PROPERTY(QStringList categories_variations READ get5MainCategoriesVariation \
NOTIFY changed2)  
 public:
     /**
@@ -220,9 +219,20 @@ public:
      * Get the personal finance score \
(https://jlyblog.wordpress.com/2013/10/13/the-new-score-that-outweighs-your-credit-score/)
                
      * @param iTransfert the computation includes transferts
      * @param iTracker the computation includes tracked operations
-     * @return the personal finance score + (success, warning or danger) + advice \
string +     * @return the personal finance score + (success, warning or danger) + \
                advice string + color
      */
-    virtual QVariantList getPersonalFinanceScoreDetails(bool iTransfert = false, \
bool iTracker = true); +    virtual QVariantMap getPersonalFinanceScoreDetails(bool \
iTransfert = false, bool iTracker = true); +
+    /**
+     * Clean the cache
+     */
+    virtual void cleanCache();
+
+Q_SIGNALS:
+    /**
+     * Emmited when the report changed
+     */
+    void changed2();
 
 protected:
     /**
@@ -243,4 +253,8 @@ private:
     };
 };
 
+/**
+ * Declare the class
+ */
+Q_DECLARE_TYPEINFO(SKGReportBank, Q_MOVABLE_TYPE);
 #endif  // SKGREPORTBANK_H
diff --git a/skgbasegui/skghtmlboardwidget.cpp b/skgbasegui/skghtmlboardwidget.cpp
index eee5531..56bd744 100644
--- a/skgbasegui/skghtmlboardwidget.cpp
+++ b/skgbasegui/skghtmlboardwidget.cpp
@@ -26,6 +26,8 @@
 #include <QDomDocument>
 #include <qfileinfo.h>
 #include <QQuickWidget>
+#include <QQmlContext>
+#include <QTemporaryFile>
 
 #include <klocalizedstring.h>
 
@@ -35,16 +37,22 @@
 #include "skgmainpanel.h"
 
 SKGHtmlBoardWidget::SKGHtmlBoardWidget(SKGDocument* iDocument, const QString& \
iTitle, const QString& iTemplate, const QStringList& iTablesRefreshing, \
                SKGSimplePeriodEdit::Modes iOptions)
-    : SKGBoardWidget(iDocument, iTitle), m_Text(nullptr), m_Quick(nullptr), \
m_Template(iTemplate), m_TablesRefreshing(iTablesRefreshing), m_refreshNeeded(false), \
m_period(nullptr) +    : SKGBoardWidget(iDocument, iTitle), m_Text(nullptr), \
m_Quick(nullptr), m_Report(iDocument->getReport()),  m_Template(iTemplate), \
m_TablesRefreshing(iTablesRefreshing), m_refreshNeeded(false), m_period(nullptr)  {
     SKGTRACEINFUNC(10);
-    if (QFileInfo(iTemplate).suffix().toLower() == QStringLiteral("qml")) {
+    QString ext = QFileInfo(iTemplate).suffix().toLower();
+    if (ext == QStringLiteral("qml")) {
+        // Mode QML
         m_Quick = new QQuickWidget();
+        m_Quick->setResizeMode(QQuickWidget::SizeViewToRootObject);
         m_Quick->setObjectName(QStringLiteral("m_Quick"));
-        m_Quick->setSource(QUrl::fromLocalFile(m_Template));
+        m_Quick->rootContext()->setContextProperty(QStringLiteral("report"), \
m_Report); +        m_Quick->rootContext()->setContextProperty(QStringLiteral("document"), \
iDocument); +        m_Quick->setSource(QUrl::fromLocalFile(iTemplate));
 
         setMainWidget(m_Quick);
     } else {
+        // Mode template HTML
         m_Text = new QLabel();
         m_Text->setObjectName(QStringLiteral("m_Text"));
         m_Text->setTextFormat(Qt::RichText);
@@ -55,6 +63,8 @@ SKGHtmlBoardWidget::SKGHtmlBoardWidget(SKGDocument* iDocument, \
const QString& iT  });
 
         setMainWidget(m_Text);
+
+        connect(getDocument(), &SKGDocument::tableModified, this, \
&SKGHtmlBoardWidget::dataModified, Qt::QueuedConnection);  }
 
     // Create menu
@@ -80,12 +90,14 @@ SKGHtmlBoardWidget::SKGHtmlBoardWidget(SKGDocument* iDocument, \
const QString& iT  
         addAction(periodEditWidget);
 
+        connect(getDocument(), &SKGDocument::tableModified, this, \
                &SKGHtmlBoardWidget::dataModified, Qt::QueuedConnection);
         connect(m_period, static_cast<void (SKGComboBox::*)(const \
QString&)>(&SKGComboBox::currentIndexChanged), [ = ]() { +            QString period \
= (m_period ? m_period->period() : SKGServices::dateToPeriod(QDate::currentDate(), \
QStringLiteral("M"))); +            m_Report->setPeriod(period);
             this->dataModified();
         });
     }
 
-    connect(getDocument(), &SKGDocument::tableModified, this, \
                &SKGHtmlBoardWidget::dataModified, Qt::QueuedConnection);
     connect(SKGMainPanel::getMainPanel(), &SKGMainPanel::currentPageChanged, this, \
&SKGHtmlBoardWidget::pageChanged, Qt::QueuedConnection);  }
 
@@ -93,6 +105,10 @@ SKGHtmlBoardWidget::~SKGHtmlBoardWidget()
 {
     SKGTRACEINFUNC(10);
     m_period = nullptr;
+    if (m_Report) {
+        delete m_Report;
+        m_Report = nullptr;
+    }
 }
 
 QString SKGHtmlBoardWidget::getState()
@@ -145,38 +161,26 @@ void SKGHtmlBoardWidget::dataModified(const QString& \
iTableName, int iIdTransact  SKGTRACEINFUNC(10);
     Q_UNUSED(iIdTransaction);
 
-    if (m_TablesRefreshing.isEmpty() || m_TablesRefreshing.contains(iTableName) || \
iTableName.isEmpty()) { +    // Set title
+    QString period = (m_period ? m_period->period() : QStringLiteral(""));
+    setMainTitle(getOriginalTitle() % QStringLiteral(" - ") % period);
+
+    if (m_Text != nullptr && (m_TablesRefreshing.isEmpty() || \
m_TablesRefreshing.contains(iTableName) || iTableName.isEmpty())) {  // Is this the \
current page  SKGTabPage* page = SKGTabPage::parentTabPage(this);
         if (page != nullptr && page != SKGMainPanel::getMainPanel()->currentPage()) \
                {
-            // No, we memorize that we have to cumpute later the report
+            // No, we memorize that we have to compute later the report
             m_refreshNeeded = true;
             return;
         }
         QApplication::setOverrideCursor(QCursor(Qt::WaitCursor));
 
-        // Computation of the report
-        SKGReport* report = getDocument()->getReport();
-        if (report) {
-            // Compute parameters
-            QString period = (m_period ? m_period->period() : \
                SKGServices::dateToPeriod(QDate::currentDate(), \
                QStringLiteral("M")));
-
-            // Set title
-            setMainTitle(getOriginalTitle() % (m_period ? QStringLiteral(" - ") % \
                period : QStringLiteral("")));
-
-            // Set month
-            report->setPeriod(period);
+        QString stream;
+        SKGError err = SKGReport::getReportFromTemplate(m_Report, m_Template, \
stream); +        IFKO(err) stream = err.getFullMessage();
+        stream = stream.remove(QRegExp(QStringLiteral("<img[^>]*/>")));
+        m_Text->setText(stream);
 
-            QString stream;
-            SKGError err = SKGReport::getReportFromTemplate(report, m_Template, \
                stream);
-            IFKO(err) stream = err.getFullMessage();
-            stream = stream.remove(QRegExp(QStringLiteral("<img[^>]*/>")));
-            if (m_Text != nullptr) {
-                m_Text->setText(stream);
-            }
-
-            delete report;
-        }
         m_refreshNeeded = false;
 
         QApplication::restoreOverrideCursor();
diff --git a/skgbasegui/skghtmlboardwidget.h b/skgbasegui/skghtmlboardwidget.h
index 36e924e..50c50cd 100644
--- a/skgbasegui/skghtmlboardwidget.h
+++ b/skgbasegui/skghtmlboardwidget.h
@@ -28,6 +28,7 @@
 
 class QLabel;
 class QQuickWidget;
+class SKGReport;
 
 /**
  * This file is a generic Skrooge plugin for html/qml reports
@@ -44,7 +45,7 @@ public:
      * Default Constructor
      * @param iDocument the document
      * @param iTitle the title
-     * @param iTemplate the html/qml template
+     * @param iTemplate the html template (.html) or the qml file (.qml)
      * @param iTablesRefreshing the list of table refreshing the report when the \
                table is updated. (empty means all)
      * @param iOptions to enable options in menu
      */
@@ -79,6 +80,7 @@ private:
 
     QLabel* m_Text;
     QQuickWidget* m_Quick;
+    SKGReport* m_Report;
     QString m_Template;
     QStringList m_TablesRefreshing;
     bool m_refreshNeeded;
diff --git a/skgbasemodeler/skgdocument.h b/skgbasemodeler/skgdocument.h
index 335d8b2..805283c 100644
--- a/skgbasemodeler/skgdocument.h
+++ b/skgbasemodeler/skgdocument.h
@@ -86,6 +86,7 @@ class SKGBASEMODELER_EXPORT SKGDocument : public QObject
      * To know if the document is modifier
      */
     Q_PROPERTY(bool modified READ isFileModified)
+
 public:
     /**
      * This enumerate defines a type of modification
diff --git a/skgbasemodeler/skgreport.cpp b/skgbasemodeler/skgreport.cpp
index ab241a8..f1a80a7 100644
--- a/skgbasemodeler/skgreport.cpp
+++ b/skgbasemodeler/skgreport.cpp
@@ -51,6 +51,7 @@ SKGReport::SKGReport(SKGDocument* iDocument)
     SKGTRACEINFUNC(1);
 
     connect(m_document, &SKGDocument::transactionSuccessfullyEnded, this, \
&SKGReport::cleanCache); +    connect(m_document, \
&SKGDocument::transactionSuccessfullyEnded, this, &SKGReport::changed);  
     // Grantlee initialization
     Grantlee::registerMetaType<SKGObjectBase>();
@@ -125,6 +126,24 @@ void SKGReport::addItemsInMapping(QVariantHash& iMapping)
 
     QFont generalFont = QFontDatabase::systemFont(QFontDatabase::GeneralFont);
     iMapping.insert(QStringLiteral("font_family"), generalFont.family());
+
+    QString dir = "file://" % \
QFileInfo(QStandardPaths::locate(QStandardPaths::GenericDataLocation, \
QStringLiteral("kf5/infopage/kde_infopage.css"))).dir().absolutePath() % '/'; +    {
+        QFile file(QStandardPaths::locate(QStandardPaths::GenericDataLocation, \
QStringLiteral("kf5/infopage/kde_infopage.css"))); +        if \
(file.open(QIODevice::ReadOnly | QIODevice::Text)) { +            \
iMapping.insert(QStringLiteral("kde_infopage_css"), \
QString(file.readAll()).replace(QStringLiteral("url("), "url(" % dir)); +        }
+    }
+
+    KAboutData about = KAboutData::applicationData();
+    iMapping.insert(QStringLiteral("about_welcome"), i18nc("Welcome message", \
"Welcome to %1", about.displayName())); +    \
iMapping.insert(QStringLiteral("about_programname"), about.displayName()); +    \
iMapping.insert(QStringLiteral("about_version"), about.version()); +    \
iMapping.insert(QStringLiteral("about_bugaddress"), about.bugAddress()); +    \
iMapping.insert(QStringLiteral("about_copyrightstatement"), \
about.copyrightStatement()); +    iMapping.insert(QStringLiteral("about_homepage"), \
about.homepage()); +    iMapping.insert(QStringLiteral("about_shortdescription"), \
about.shortDescription()); +    iMapping.insert(QStringLiteral("about_othertext"), \
about.otherText());  }
 
 SKGError SKGReport::getReportFromTemplate(SKGReport* iReport, const QString& iFile, \
QString& oHtml) @@ -150,24 +169,6 @@ SKGError \
SKGReport::getReportFromTemplate(SKGReport* iReport, const QString& iFi  if (doc) {
         mapping.insert(QStringLiteral("document"), \
QVariant::fromValue<QObject*>(doc));  }
-
-    QString dir = "file://" % \
QFileInfo(QStandardPaths::locate(QStandardPaths::GenericDataLocation, \
                QStringLiteral("kf5/infopage/kde_infopage.css"))).dir().absolutePath() \
                % '/';
-    {
-        QFile file(QStandardPaths::locate(QStandardPaths::GenericDataLocation, \
                QStringLiteral("kf5/infopage/kde_infopage.css")));
-        if (file.open(QIODevice::ReadOnly | QIODevice::Text)) {
-            mapping.insert(QStringLiteral("kde_infopage_css"), \
                QString(file.readAll()).replace(QStringLiteral("url("), "url(" % \
                dir));
-        }
-    }
-
-    KAboutData about = KAboutData::applicationData();
-    mapping.insert(QStringLiteral("about_welcome"), i18nc("Welcome message", \
                "Welcome to %1", about.displayName()));
-    mapping.insert(QStringLiteral("about_programname"), about.displayName());
-    mapping.insert(QStringLiteral("about_version"), about.version());
-    mapping.insert(QStringLiteral("about_bugaddress"), about.bugAddress());
-    mapping.insert(QStringLiteral("about_copyrightstatement"), \
                about.copyrightStatement());
-    mapping.insert(QStringLiteral("about_homepage"), about.homepage());
-    mapping.insert(QStringLiteral("about_shortdescription"), \
                about.shortDescription());
-    mapping.insert(QStringLiteral("about_othertext"), about.otherText());
     Grantlee::Context gContext(mapping);
 
     // Generation
@@ -184,4 +185,5 @@ SKGError SKGReport::getReportFromTemplate(SKGReport* iReport, \
const QString& iFi  void SKGReport::cleanCache()
 {
     m_cache.clear();
+    emit changed();
 }
diff --git a/skgbasemodeler/skgreport.h b/skgbasemodeler/skgreport.h
index 1d60ec9..79c704c 100644
--- a/skgbasemodeler/skgreport.h
+++ b/skgbasemodeler/skgreport.h
@@ -37,27 +37,27 @@ class SKGBASEMODELER_EXPORT SKGReport : public QObject
     /**
      * The period
      */
-    Q_PROPERTY(QString period READ getPeriod)
+    Q_PROPERTY(QString period READ getPeriod NOTIFY changed)
 
     /**
      * The month (for compatibility in templates)
      */
-    Q_PROPERTY(QString month READ getPeriod)
+    Q_PROPERTY(QString month READ getPeriod NOTIFY changed)
 
     /**
      * The previous object
      */
-    Q_PROPERTY(SKGReport* previous READ getPrevious)
+    Q_PROPERTY(SKGReport* previous READ getPrevious NOTIFY changed)
 
     /**
      * The previous period
      */
-    Q_PROPERTY(QString previous_period READ getPreviousPeriod)
+    Q_PROPERTY(QString previous_period READ getPreviousPeriod NOTIFY changed)
 
     /**
      * The previous month (for compatibility in templates)
      */
-    Q_PROPERTY(QString previous_month READ getPreviousPeriod)
+    Q_PROPERTY(QString previous_month READ getPreviousPeriod NOTIFY changed)
 
 public:
     /**
@@ -97,7 +97,7 @@ public:
     /**
      * Clean the cache
      */
-    void cleanCache();
+    virtual void cleanCache();
 
     /**
      * Get report
@@ -109,6 +109,12 @@ public:
      */
     static SKGError getReportFromTemplate(SKGReport* iReport, const QString& iFile, \
QString& oHtml);  
+Q_SIGNALS:
+    /**
+     * Emmited when the report changed
+     */
+    void changed();
+
 protected:
     /**
      * Enrich the grantlee mapping
@@ -124,4 +130,8 @@ private:
     Q_DISABLE_COPY(SKGReport)
 };
 
+/**
+ * Declare the class
+ */
+Q_DECLARE_TYPEINFO(SKGReport, Q_MOVABLE_TYPE);
 #endif  // SKGREPORT_H
diff --git a/skrooge.config b/skrooge.config
new file mode 100644
index 0000000..e0284f4
--- /dev/null
+++ b/skrooge.config
@@ -0,0 +1,2 @@
+// Add predefined macros for your project here. For example:
+// #define THE_ANSWER 42
diff --git a/skrooge.creator b/skrooge.creator
new file mode 100644
index 0000000..e94cbbd
--- /dev/null
+++ b/skrooge.creator
@@ -0,0 +1 @@
+[General]
diff --git a/skrooge.files b/skrooge.files
new file mode 100644
index 0000000..eac1666
--- /dev/null
+++ b/skrooge.files
@@ -0,0 +1,1567 @@
+cmake/modules/FindLibOfx.cmake
+cmake/modules/FindSqlite.cmake
+doc/after_mass_update.png
+doc/alarm.png
+doc/analysis_build_report.png
+doc/analysis_build_transport_report.png
+doc/analysis_operations_view.png
+doc/analysis_report_1.png
+doc/analysis_report_2.png
+doc/analysis_report_3.png
+doc/analysis_report_4.png
+doc/analysis_report_5.png
+doc/analysis_report_6.png
+doc/analysis_trackers_view.png
+doc/apa.html
+doc/apb.html
+doc/apc.html
+doc/apply_process.png
+doc/back_forward.png
+doc/balance_evolution.png
+doc/bank_accounts.png
+doc/bar_location.png
+doc/before_mass_update.png
+doc/bookmarks_browser.png
+doc/budgets.png
+doc/categories.png
+doc/category_distribution.png
+doc/category_one_level_more.png
+doc/ch01.html
+doc/ch02.html
+doc/ch03.html
+doc/ch04.html
+doc/ch05.html
+doc/ch06.html
+doc/CMakeLists.txt
+doc/concentric_pie.png
+doc/context_chooser.png
+doc/dashboard.png
+doc/dashboard_accounts_full.png
+doc/dashboard_accounts_light.png
+doc/dashboard_advice.png
+doc/dashboard_banks_full.png
+doc/dashboard_banks_light.png
+doc/dashboard_budget.png
+doc/dashboard_categories.png
+doc/dashboard_highlighted.png
+doc/dashboard_income.png
+doc/dashboard_interest.png
+doc/dashboard_portfolio.png
+doc/dashboard_quotes.png
+doc/dashboard_report.png
+doc/dashboard_scheduled.png
+doc/dashboard_tip.png
+doc/dashboard_variations.png
+doc/define_processing.png
+doc/define_search.png
+doc/docks_detached.png
+doc/docks_left_right.png
+doc/docks_stacked.png
+doc/document-save.png
+doc/edit-redo.png
+doc/edit-undo.png
+doc/edition_panel_buttons.png
+doc/export_graph_menu.png
+doc/export_table_menu.png
+doc/fast_edition.png
+doc/frozen.png
+doc/graph_on_tracker.png
+doc/histogram.png
+doc/history_browser.png
+doc/imported_operations.png
+doc/incomes_expenses.png
+doc/index.docbook
+doc/index.html
+doc/kde_docbook
+doc/line_graph.png
+doc/menu_edit.png
+doc/menu_file.png
+doc/menu_go1.png
+doc/menu_go2.png
+doc/menu_help.png
+doc/menu_import.png
+doc/menu_settings.png
+doc/menu_tools.png
+doc/menu_view.png
+doc/messages.png
+doc/monthly.png
+doc/multi_tabs.png
+doc/operations.png
+doc/operations_panel.png
+doc/payees.png
+doc/pie.png
+doc/plus.png
+doc/point_report.png
+doc/preview_search_result.png
+doc/progress-bar.png
+doc/property_editor.png
+doc/reconciliation_information.png
+doc/refund_tracker.png
+doc/report_table.png
+doc/reports.png
+doc/schedule_operation.png
+doc/scheduled.png
+doc/search.png
+doc/search_result.png
+doc/secondary_unit_display.png
+doc/shares.png
+doc/show.png
+doc/simulations.png
+doc/skrooge_mac_OSX.jpg
+doc/skrooge_windows.jpg
+doc/split_operation.png
+doc/stack.png
+doc/switch_information.png
+doc/tab_state_management.png
+doc/table_menu.png
+doc/template_button.png
+doc/tooltip_account_balance.png
+doc/trackers.png
+doc/transfer_operation.png
+doc/units.png
+doc/validate.png
+doc/zoom_graph.png
+examples/demo.skg
+examples/demo.skg.old
+examples/skrooge_example.skg
+examples/skrooge_example.skg.old
+images/logos/l10n/ad/list_bank.txt
+images/logos/l10n/au/list_bank.txt
+images/logos/l10n/be/list_bank.txt
+images/logos/l10n/fr/list_bank.txt
+images/logos/l10n/gb/list_bank.txt
+images/logos/l10n/ie/list_bank.txt
+images/logos/l10n/kp/list_bank.txt
+images/logos/l10n/kr/list_bank.txt
+images/logos/l10n/lt/list_bank.txt
+images/logos/l10n/ru/list_bank.txt
+images/logos/l10n/ua/list_bank.txt
+images/logos/l10n/um/list_bank.txt
+images/logos/l10n/us/list_bank.txt
+images/logos/l10n/za/list_bank.txt
+images/logos/l10n/listofcountries.txt
+images/logos/abn_amro.png
+images/logos/absa_bank__632005.png
+images/logos/aib.png
+images/logos/ak_bars_bank.png
+images/logos/alfa_bank.png
+images/logos/allianz.png
+images/logos/axa_banque__41179.png
+images/logos/bank_moskvi.png
+images/logos/bank_petrokommerc.png
+images/logos/bank_rossiyskiy_kapital.png
+images/logos/bank_russkij_standart.png
+images/logos/bank_sankt-peterburg.png
+images/logos/banque_de_savoie__10548.png
+images/logos/banque_hervet__30368.png
+images/logos/banque_postale__20041.png
+images/logos/barclays.png
+images/logos/bigbank.png
+images/logos/bnp_paribas__30004.png
+images/logos/boursorama_banque.png
+images/logos/bred__40398.png
+images/logos/caisse_epargne.png
+images/logos/capitec__470010.png
+images/logos/cic__30066.png
+images/logos/citadele.jpg
+images/logos/citibank.png
+images/logos/CMakeLists.txt
+images/logos/cnp.png
+images/logos/commonwealth.png
+images/logos/cortal_consors__18889.png
+images/logos/covefi__14690.png
+images/logos/credit_agricole.png
+images/logos/credit_cooperatif__42559.png
+images/logos/credit_du_nord__30076.png
+images/logos/credit_maritime__07389.png
+images/logos/credit_municipal.png
+images/logos/credit_mutuel.png
+images/logos/danske_bankas.png
+images/logos/dexia__17290.png
+images/logos/dnb_nor.png
+images/logos/farmers.png
+images/logos/finasta.png
+images/logos/first_national_bank.png
+images/logos/fortuneo.png
+images/logos/globeks.png
+images/logos/groupama_banque__14878.png
+images/logos/halifax.png
+images/logos/hana_bank.png
+images/logos/hellobank.png
+images/logos/home_credit_bank.png
+images/logos/hsbc.png
+images/logos/ing_direct__14559.png
+images/logos/ing_direct__30438.png
+images/logos/investec__580105.png
+images/logos/jeju_bank.png
+images/logos/kookmin_bank.png
+images/logos/korea_exchange_bank.png
+images/logos/la_nef.png
+images/logos/lcl__30002.png
+images/logos/list_bank.txt
+images/logos/lloyds_tsb.png
+images/logos/medicinos_bankas.png
+images/logos/merrill_lynch.png
+images/logos/monabanq.png
+images/logos/national_bank.png
+images/logos/nationwide.png
+images/logos/natwest.png
+images/logos/nedbank__198765.png
+images/logos/nordea.png
+images/logos/paypal.png
+images/logos/post_office.png
+images/logos/postbank__460005.png
+images/logos/promsvyazbank.png
+images/logos/rabobank.png
+images/logos/raiffeisen_bank.png
+images/logos/rosbank.png
+images/logos/rosselhozbank.png
+images/logos/sberbank.png
+images/logos/sc_first_bank.png
+images/logos/seb.png
+images/logos/shinhan_bank.png
+images/logos/siauliu_bankas.png
+images/logos/smc__30077.png
+images/logos/snoras.png
+images/logos/societe_generale__30003.png
+images/logos/st_george_bank.png
+images/logos/standard_bank__051001.png
+images/logos/svyaz_bank.png
+images/logos/swedbank.png
+images/logos/trust.png
+images/logos/ubs__30938.png
+images/logos/ukio_bankas.png
+images/logos/unicredit_bank.png
+images/logos/uralsib.png
+images/logos/vostochniy_express_bank.png
+images/logos/vtb24.png
+images/logos/westpac.png
+images/logos/woori_bank.png
+images/CMakeLists.txt
+images/skrooge_datamodel.png
+images/splash.png
+images/splash.svg.in
+plugins/generic/skg_advice/CMakeLists.txt
+plugins/generic/skg_advice/org.kde.skg-plugin-advice.desktop
+plugins/generic/skg_advice/skg_advice.rc
+plugins/generic/skg_advice/skgadviceboardwidget.cpp
+plugins/generic/skg_advice/skgadviceboardwidget.h
+plugins/generic/skg_advice/skgadviceplugin.cpp
+plugins/generic/skg_advice/skgadviceplugin.h
+plugins/generic/skg_advice/skgtipofdayboardwidget.cpp
+plugins/generic/skg_advice/skgtipofdayboardwidget.h
+plugins/generic/skg_advice/skgtipofdayboardwidget.ui
+plugins/generic/skg_bookmark/CMakeLists.txt
+plugins/generic/skg_bookmark/org.kde.skg-plugin-bookmark.desktop
+plugins/generic/skg_bookmark/skg_bookmark.rc
+plugins/generic/skg_bookmark/skgbookmark_settings.kcfg
+plugins/generic/skg_bookmark/skgbookmark_settings.kcfgc
+plugins/generic/skg_bookmark/skgbookmarkplugin.cpp
+plugins/generic/skg_bookmark/skgbookmarkplugin.h
+plugins/generic/skg_bookmark/skgbookmarkplugindockwidget.cpp
+plugins/generic/skg_bookmark/skgbookmarkplugindockwidget.h
+plugins/generic/skg_bookmark/skgbookmarkplugindockwidget_base.ui
+plugins/generic/skg_bookmark/skgbookmarkpluginwidget_pref.ui
+plugins/generic/skg_dashboard/CMakeLists.txt
+plugins/generic/skg_dashboard/org.kde.skg-plugin-dashboard.desktop
+plugins/generic/skg_dashboard/skg_dashboard.rc
+plugins/generic/skg_dashboard/skgdashboard_settings.kcfg
+plugins/generic/skg_dashboard/skgdashboard_settings.kcfgc
+plugins/generic/skg_dashboard/skgdashboardplugin.cpp
+plugins/generic/skg_dashboard/skgdashboardplugin.h
+plugins/generic/skg_dashboard/skgdashboardpluginwidget.cpp
+plugins/generic/skg_dashboard/skgdashboardpluginwidget.h
+plugins/generic/skg_dashboard/skgdashboardpluginwidget_base.ui
+plugins/generic/skg_dashboard/skgdashboardpluginwidget_pref.ui
+plugins/generic/skg_debug/CMakeLists.txt
+plugins/generic/skg_debug/org.kde.skg-plugin-debug.desktop
+plugins/generic/skg_debug/skg_debug.rc
+plugins/generic/skg_debug/skgdebugplugin.cpp
+plugins/generic/skg_debug/skgdebugplugin.h
+plugins/generic/skg_debug/skgdebugpluginwidget.cpp
+plugins/generic/skg_debug/skgdebugpluginwidget.h
+plugins/generic/skg_debug/skgdebugpluginwidget_base.ui
+plugins/generic/skg_delete/CMakeLists.txt
+plugins/generic/skg_delete/org.kde.skg-plugin-delete.desktop
+plugins/generic/skg_delete/skg_delete.rc
+plugins/generic/skg_delete/skgdeleteplugin.cpp
+plugins/generic/skg_delete/skgdeleteplugin.h
+plugins/generic/skg_file/CMakeLists.txt
+plugins/generic/skg_file/org.kde.skg-plugin-file.desktop
+plugins/generic/skg_file/skg_file.rc
+plugins/generic/skg_file/skgfile_settings.kcfg
+plugins/generic/skg_file/skgfile_settings.kcfgc
+plugins/generic/skg_file/skgfileplugin.cpp
+plugins/generic/skg_file/skgfileplugin.h
+plugins/generic/skg_file/skgfilepluginwidget_pref.ui
+plugins/generic/skg_highlight/CMakeLists.txt
+plugins/generic/skg_highlight/org.kde.skg-plugin-highlight.desktop
+plugins/generic/skg_highlight/skg_highlight.rc
+plugins/generic/skg_highlight/skghighlightplugin.cpp
+plugins/generic/skg_highlight/skghighlightplugin.h
+plugins/generic/skg_monthly/grantlee_filters/CMakeLists.txt
+plugins/generic/skg_monthly/grantlee_filters/skgdocumentfilter.cpp
+plugins/generic/skg_monthly/grantlee_filters/skgdocumentfilter.h
+plugins/generic/skg_monthly/grantlee_filters/skggrantleefilters.cpp
+plugins/generic/skg_monthly/grantlee_filters/skggrantleefilters.h
+plugins/generic/skg_monthly/grantlee_filters/skgobjectfilter.cpp
+plugins/generic/skg_monthly/grantlee_filters/skgobjectfilter.h
+plugins/generic/skg_monthly/CMakeLists.txt
+plugins/generic/skg_monthly/org.kde.skg-plugin-monthly.desktop
+plugins/generic/skg_monthly/skg_monthly.rc
+plugins/generic/skg_monthly/skgmonthlyplugin.cpp
+plugins/generic/skg_monthly/skgmonthlyplugin.h
+plugins/generic/skg_monthly/skgmonthlypluginwidget.cpp
+plugins/generic/skg_monthly/skgmonthlypluginwidget.h
+plugins/generic/skg_monthly/skgmonthlypluginwidget_base.ui
+plugins/generic/skg_print/CMakeLists.txt
+plugins/generic/skg_print/org.kde.skg-plugin-print.desktop
+plugins/generic/skg_print/skg_print.rc
+plugins/generic/skg_print/skgprint_settings.kcfg
+plugins/generic/skg_print/skgprint_settings.kcfgc
+plugins/generic/skg_print/skgprintplugin.cpp
+plugins/generic/skg_print/skgprintplugin.h
+plugins/generic/skg_print/skgprintpluginwidget_pref.ui
+plugins/generic/skg_properties/CMakeLists.txt
+plugins/generic/skg_properties/org.kde.skg-plugin-properties.desktop
+plugins/generic/skg_properties/skg_properties.rc
+plugins/generic/skg_properties/skgpropertiesplugin.cpp
+plugins/generic/skg_properties/skgpropertiesplugin.h
+plugins/generic/skg_properties/skgpropertiesplugindockwidget.cpp
+plugins/generic/skg_properties/skgpropertiesplugindockwidget.h
+plugins/generic/skg_properties/skgpropertiesplugindockwidget_base.ui
+plugins/generic/skg_selectall/CMakeLists.txt
+plugins/generic/skg_selectall/org.kde.skg-plugin-selectall.desktop
+plugins/generic/skg_selectall/skg_selectall.rc
+plugins/generic/skg_selectall/skgselectallplugin.cpp
+plugins/generic/skg_selectall/skgselectallplugin.h
+plugins/generic/skg_statistic/CMakeLists.txt
+plugins/generic/skg_statistic/org.kde.skg-plugin-statistic.desktop
+plugins/generic/skg_statistic/skg_statistic.rc
+plugins/generic/skg_statistic/skgstatisticplugin.cpp
+plugins/generic/skg_statistic/skgstatisticplugin.h
+plugins/generic/skg_undoredo/CMakeLists.txt
+plugins/generic/skg_undoredo/org.kde.skg-plugin-undoredo.desktop
+plugins/generic/skg_undoredo/skg_undoredo.rc
+plugins/generic/skg_undoredo/skgundoredo_settings.kcfg
+plugins/generic/skg_undoredo/skgundoredo_settings.kcfgc
+plugins/generic/skg_undoredo/skgundoredoplugin.cpp
+plugins/generic/skg_undoredo/skgundoredoplugin.h
+plugins/generic/skg_undoredo/skgundoredoplugindockwidget.cpp
+plugins/generic/skg_undoredo/skgundoredoplugindockwidget.h
+plugins/generic/skg_undoredo/skgundoredoplugindockwidget_base.ui
+plugins/generic/skg_undoredo/skgundoredopluginwidget_pref.ui
+plugins/generic/CMakeLists.txt
+plugins/import/skrooge_import_afb120/CMakeLists.txt
+plugins/import/skrooge_import_afb120/org.kde.skrooge-import-afb120.desktop
+plugins/import/skrooge_import_afb120/skgimportpluginafb120.cpp
+plugins/import/skrooge_import_afb120/skgimportpluginafb120.h
+plugins/import/skrooge_import_backend/aqbanking.backend.disabled
+plugins/import/skrooge_import_backend/CMakeLists.txt
+plugins/import/skrooge_import_backend/org.kde.skrooge-import-backend.desktop
+plugins/import/skrooge_import_backend/skgimportpluginbackend.cpp
+plugins/import/skrooge_import_backend/skgimportpluginbackend.h
+plugins/import/skrooge_import_backend/weboob.backend
+plugins/import/skrooge_import_backend/weboob0g.backend
+plugins/import/skrooge_import_csv/CMakeLists.txt
+plugins/import/skrooge_import_csv/org.kde.skrooge-import-csv.desktop
+plugins/import/skrooge_import_csv/skgimportplugincsv.cpp
+plugins/import/skrooge_import_csv/skgimportplugincsv.h
+plugins/import/skrooge_import_gnc/CMakeLists.txt
+plugins/import/skrooge_import_gnc/org.kde.skrooge-import-gnc.desktop
+plugins/import/skrooge_import_gnc/skgimportplugingnc.cpp
+plugins/import/skrooge_import_gnc/skgimportplugingnc.h
+plugins/import/skrooge_import_gsb/CMakeLists.txt
+plugins/import/skrooge_import_gsb/org.kde.skrooge-import-gsb.desktop
+plugins/import/skrooge_import_gsb/skgimportplugingsb.cpp
+plugins/import/skrooge_import_gsb/skgimportplugingsb.h
+plugins/import/skrooge_import_iif/CMakeLists.txt
+plugins/import/skrooge_import_iif/org.kde.skrooge-import-iif.desktop
+plugins/import/skrooge_import_iif/skgimportpluginiif.cpp
+plugins/import/skrooge_import_iif/skgimportpluginiif.h
+plugins/import/skrooge_import_json/CMakeLists.txt
+plugins/import/skrooge_import_json/org.kde.skrooge-import-json.desktop
+plugins/import/skrooge_import_json/skgimportpluginjson.cpp
+plugins/import/skrooge_import_json/skgimportpluginjson.h
+plugins/import/skrooge_import_kmy/CMakeLists.txt
+plugins/import/skrooge_import_kmy/org.kde.skrooge-import-kmy.desktop
+plugins/import/skrooge_import_kmy/skgimportpluginkmy.cpp
+plugins/import/skrooge_import_kmy/skgimportpluginkmy.h
+plugins/import/skrooge_import_mmb/CMakeLists.txt
+plugins/import/skrooge_import_mmb/org.kde.skrooge-import-mmb.desktop
+plugins/import/skrooge_import_mmb/skgimportpluginmmb.cpp
+plugins/import/skrooge_import_mmb/skgimportpluginmmb.h
+plugins/import/skrooge_import_mny/CMakeLists.txt
+plugins/import/skrooge_import_mny/org.kde.skrooge-import-mny.desktop
+plugins/import/skrooge_import_mny/skgimportpluginmny.cpp
+plugins/import/skrooge_import_mny/skgimportpluginmny.h
+plugins/import/skrooge_import_mt940/CMakeLists.txt
+plugins/import/skrooge_import_mt940/org.kde.skrooge-import-mt940.desktop
+plugins/import/skrooge_import_mt940/skgimportpluginmt940.cpp
+plugins/import/skrooge_import_mt940/skgimportpluginmt940.h
+plugins/import/skrooge_import_ofx/CMakeLists.txt
+plugins/import/skrooge_import_ofx/org.kde.skrooge-import-ofx.desktop
+plugins/import/skrooge_import_ofx/skgimportpluginofx.cpp
+plugins/import/skrooge_import_ofx/skgimportpluginofx.h
+plugins/import/skrooge_import_qif/CMakeLists.txt
+plugins/import/skrooge_import_qif/org.kde.skrooge-import-qif.desktop
+plugins/import/skrooge_import_qif/skgimportpluginqif.cpp
+plugins/import/skrooge_import_qif/skgimportpluginqif.h
+plugins/import/skrooge_import_skg/CMakeLists.txt
+plugins/import/skrooge_import_skg/org.kde.skrooge-import-skg.desktop
+plugins/import/skrooge_import_skg/skgimportpluginskg.cpp
+plugins/import/skrooge_import_skg/skgimportpluginskg.h
+plugins/import/skrooge_import_xhb/CMakeLists.txt
+plugins/import/skrooge_import_xhb/org.kde.skrooge-import-xhb.desktop
+plugins/import/skrooge_import_xhb/skgimportpluginxhb.cpp
+plugins/import/skrooge_import_xhb/skgimportpluginxhb.h
+plugins/import/skrooge_import_xml/CMakeLists.txt
+plugins/import/skrooge_import_xml/org.kde.skrooge-import-xml.desktop
+plugins/import/skrooge_import_xml/skgimportpluginxml.cpp
+plugins/import/skrooge_import_xml/skgimportpluginxml.h
+plugins/import/CMakeLists.txt
+plugins/krunner/skrooge_add_operation/CMakeLists.txt
+plugins/krunner/skrooge_add_operation/org.kde.plasma-runner-skrooge-add-operation.desktop
 +plugins/krunner/skrooge_add_operation/skgaddoperation.cpp
+plugins/krunner/skrooge_add_operation/skgaddoperation.h
+plugins/krunner/CMakeLists.txt
+plugins/skrooge/default/account_table.html
+plugins/skrooge/default/advices_table.html
+plugins/skrooge/default/bank_table.html
+plugins/skrooge/default/bank_table_light.html
+plugins/skrooge/default/budget_table.html
+plugins/skrooge/default/categories_period_table.html
+plugins/skrooge/default/categories_previous_period_table.html
+plugins/skrooge/default/categories_variations.html
+plugins/skrooge/default/highlighted_operations.html
+plugins/skrooge/default/income_vs_expenditure_table.html
+plugins/skrooge/default/personal_finance_score.html
+plugins/skrooge/default/portfolio.html
+plugins/skrooge/default/scheduled_operations.html
+plugins/skrooge/default/unit_table.html
+plugins/skrooge/skrooge_bank/CMakeLists.txt
+plugins/skrooge/skrooge_bank/org.kde.skrooge-plugin-bank.desktop
+plugins/skrooge/skrooge_bank/skgaccountboardwidget.cpp
+plugins/skrooge/skrooge_bank/skgaccountboardwidget.h
+plugins/skrooge/skrooge_bank/skgbankplugin.cpp
+plugins/skrooge/skrooge_bank/skgbankplugin.h
+plugins/skrooge/skrooge_bank/skgbankpluginwidget.cpp
+plugins/skrooge/skrooge_bank/skgbankpluginwidget.h
+plugins/skrooge/skrooge_bank/skgbankpluginwidget_base.ui
+plugins/skrooge/skrooge_bank/skgbankpluginwidget_board.ui
+plugins/skrooge/skrooge_bank/skrooge_bank.rc
+plugins/skrooge/skrooge_budget/CMakeLists.txt
+plugins/skrooge/skrooge_budget/org.kde.skrooge-plugin-budget.desktop
+plugins/skrooge/skrooge_budget/skgbudgetdelegate.cpp
+plugins/skrooge/skrooge_budget/skgbudgetdelegate.h
+plugins/skrooge/skrooge_budget/skgbudgetplugin.cpp
+plugins/skrooge/skrooge_budget/skgbudgetplugin.h
+plugins/skrooge/skrooge_budget/skgbudgetpluginwidget.cpp
+plugins/skrooge/skrooge_budget/skgbudgetpluginwidget.h
+plugins/skrooge/skrooge_budget/skgbudgetpluginwidget_base.ui
+plugins/skrooge/skrooge_budget/skrooge_budget.rc
+plugins/skrooge/skrooge_calculator/CMakeLists.txt
+plugins/skrooge/skrooge_calculator/org.kde.skrooge-plugin-calculator.desktop
+plugins/skrooge/skrooge_calculator/skgcalculatorplugin.cpp
+plugins/skrooge/skrooge_calculator/skgcalculatorplugin.h
+plugins/skrooge/skrooge_calculator/skgcalculatorpluginwidget.cpp
+plugins/skrooge/skrooge_calculator/skgcalculatorpluginwidget.h
+plugins/skrooge/skrooge_calculator/skgcalculatorpluginwidget_base.ui
+plugins/skrooge/skrooge_calculator/skginterestboardwidget.cpp
+plugins/skrooge/skrooge_calculator/skginterestboardwidget.h
+plugins/skrooge/skrooge_calculator/skrooge_calculator.rc
+plugins/skrooge/skrooge_categories/fr/associations.qif
+plugins/skrooge/skrooge_categories/fr/liberal.qif
+plugins/skrooge/skrooge_categories/fr/plan_comptable.qif
+plugins/skrooge/skrooge_categories/CMakeLists.txt
+plugins/skrooge/skrooge_categories/org.kde.skrooge-plugin-categories.desktop
+plugins/skrooge/skrooge_categories/skgcategoriesplugin.cpp
+plugins/skrooge/skrooge_categories/skgcategoriesplugin.h
+plugins/skrooge/skrooge_categories/skgcategoriespluginwidget.cpp
+plugins/skrooge/skrooge_categories/skgcategoriespluginwidget.h
+plugins/skrooge/skrooge_categories/skgcategoriespluginwidget_base.ui
+plugins/skrooge/skrooge_categories/skrooge_categories.rc
+plugins/skrooge/skrooge_importexport/CMakeLists.txt
+plugins/skrooge/skrooge_importexport/org.kde.skrooge-plugin-importexport.desktop
+plugins/skrooge/skrooge_importexport/skgimportexport_settings.kcfg
+plugins/skrooge/skrooge_importexport/skgimportexport_settings.kcfgc
+plugins/skrooge/skrooge_importexport/skgimportexportplugin.cpp
+plugins/skrooge/skrooge_importexport/skgimportexportplugin.h
+plugins/skrooge/skrooge_importexport/skgimportexportpluginwidget_pref.ui
+plugins/skrooge/skrooge_importexport/skrooge_importexport.rc
+plugins/skrooge/skrooge_operation/CMakeLists.txt
+plugins/skrooge/skrooge_operation/org.kde.skrooge-plugin-operation.desktop
+plugins/skrooge/skrooge_operation/skgoperation_settings.kcfg
+plugins/skrooge/skrooge_operation/skgoperation_settings.kcfgc
+plugins/skrooge/skrooge_operation/skgoperationboardwidget.cpp
+plugins/skrooge/skrooge_operation/skgoperationboardwidget.h
+plugins/skrooge/skrooge_operation/skgoperationplugin.cpp
+plugins/skrooge/skrooge_operation/skgoperationplugin.h
+plugins/skrooge/skrooge_operation/skgoperationpluginwidget.cpp
+plugins/skrooge/skrooge_operation/skgoperationpluginwidget.h
+plugins/skrooge/skrooge_operation/skgoperationpluginwidget_base.ui
+plugins/skrooge/skrooge_operation/skgoperationpluginwidget_board.ui
+plugins/skrooge/skrooge_operation/skgoperationpluginwidget_pref.ui
+plugins/skrooge/skrooge_operation/skgsplittabledelegate.cpp
+plugins/skrooge/skrooge_operation/skgsplittabledelegate.h
+plugins/skrooge/skrooge_operation/skrooge_operation.rc
+plugins/skrooge/skrooge_payee/CMakeLists.txt
+plugins/skrooge/skrooge_payee/org.kde.skrooge-plugin-payee.desktop
+plugins/skrooge/skrooge_payee/skgpayee_settings.kcfg
+plugins/skrooge/skrooge_payee/skgpayee_settings.kcfgc
+plugins/skrooge/skrooge_payee/skgpayeeplugin.cpp
+plugins/skrooge/skrooge_payee/skgpayeeplugin.h
+plugins/skrooge/skrooge_payee/skgpayeepluginwidget.cpp
+plugins/skrooge/skrooge_payee/skgpayeepluginwidget.h
+plugins/skrooge/skrooge_payee/skgpayeepluginwidget_base.ui
+plugins/skrooge/skrooge_payee/skgpayeepluginwidget_pref.ui
+plugins/skrooge/skrooge_payee/skrooge_payee.rc
+plugins/skrooge/skrooge_report/CMakeLists.txt
+plugins/skrooge/skrooge_report/org.kde.skrooge-plugin-report.desktop
+plugins/skrooge/skrooge_report/skgreport_settings.kcfg
+plugins/skrooge/skrooge_report/skgreport_settings.kcfgc
+plugins/skrooge/skrooge_report/skgreportboardwidget.cpp
+plugins/skrooge/skrooge_report/skgreportboardwidget.h
+plugins/skrooge/skrooge_report/skgreportplugin.cpp
+plugins/skrooge/skrooge_report/skgreportplugin.h
+plugins/skrooge/skrooge_report/skgreportpluginwidget.cpp
+plugins/skrooge/skrooge_report/skgreportpluginwidget.h
+plugins/skrooge/skrooge_report/skgreportpluginwidget_base.ui
+plugins/skrooge/skrooge_report/skgreportpluginwidget_pref.ui
+plugins/skrooge/skrooge_report/skrooge_report.rc
+plugins/skrooge/skrooge_scheduled/CMakeLists.txt
+plugins/skrooge/skrooge_scheduled/org.kde.skrooge-plugin-scheduled.desktop
+plugins/skrooge/skrooge_scheduled/skgscheduled_settings.kcfg
+plugins/skrooge/skrooge_scheduled/skgscheduled_settings.kcfgc
+plugins/skrooge/skrooge_scheduled/skgscheduledplugin.cpp
+plugins/skrooge/skrooge_scheduled/skgscheduledplugin.h
+plugins/skrooge/skrooge_scheduled/skgscheduledpluginwidget.cpp
+plugins/skrooge/skrooge_scheduled/skgscheduledpluginwidget.h
+plugins/skrooge/skrooge_scheduled/skgscheduledpluginwidget_base.ui
+plugins/skrooge/skrooge_scheduled/skgscheduledpluginwidget_pref.ui
+plugins/skrooge/skrooge_scheduled/skrooge_scheduled.rc
+plugins/skrooge/skrooge_search/CMakeLists.txt
+plugins/skrooge/skrooge_search/org.kde.skrooge-plugin-search.desktop
+plugins/skrooge/skrooge_search/skgalarmboardwidget.cpp
+plugins/skrooge/skrooge_search/skgalarmboardwidget.h
+plugins/skrooge/skrooge_search/skgsearch_settings.kcfg
+plugins/skrooge/skrooge_search/skgsearch_settings.kcfgc
+plugins/skrooge/skrooge_search/skgsearchplugin.cpp
+plugins/skrooge/skrooge_search/skgsearchplugin.h
+plugins/skrooge/skrooge_search/skgsearchpluginwidget.cpp
+plugins/skrooge/skrooge_search/skgsearchpluginwidget.h
+plugins/skrooge/skrooge_search/skgsearchpluginwidget_base.ui
+plugins/skrooge/skrooge_search/skgsearchpluginwidget_pref.ui
+plugins/skrooge/skrooge_search/skrooge_search.rc
+plugins/skrooge/skrooge_tracker/CMakeLists.txt
+plugins/skrooge/skrooge_tracker/org.kde.skrooge-plugin-tracker.desktop
+plugins/skrooge/skrooge_tracker/skgtracker_settings.kcfg
+plugins/skrooge/skrooge_tracker/skgtracker_settings.kcfgc
+plugins/skrooge/skrooge_tracker/skgtrackerplugin.cpp
+plugins/skrooge/skrooge_tracker/skgtrackerplugin.h
+plugins/skrooge/skrooge_tracker/skgtrackerpluginwidget.cpp
+plugins/skrooge/skrooge_tracker/skgtrackerpluginwidget.h
+plugins/skrooge/skrooge_tracker/skgtrackerpluginwidget_base.ui
+plugins/skrooge/skrooge_tracker/skgtrackerpluginwidget_pref.ui
+plugins/skrooge/skrooge_tracker/skrooge_tracker.rc
+plugins/skrooge/skrooge_unit/CMakeLists.txt
+plugins/skrooge/skrooge_unit/org.kde.skrooge-plugin-unit.desktop
+plugins/skrooge/skrooge_unit/skgunit_settings.kcfg
+plugins/skrooge/skrooge_unit/skgunit_settings.kcfgc
+plugins/skrooge/skrooge_unit/skgunitboardwidget.cpp
+plugins/skrooge/skrooge_unit/skgunitboardwidget.h
+plugins/skrooge/skrooge_unit/skgunitplugin.cpp
+plugins/skrooge/skrooge_unit/skgunitplugin.h
+plugins/skrooge/skrooge_unit/skgunitpluginwidget.cpp
+plugins/skrooge/skrooge_unit/skgunitpluginwidget.h
+plugins/skrooge/skrooge_unit/skgunitpluginwidget_base.ui
+plugins/skrooge/skrooge_unit/skgunitpluginwidget_pref.ui
+plugins/skrooge/skrooge_unit/skrooge_unit.knsrc
+plugins/skrooge/skrooge_unit/skrooge_unit.rc
+plugins/skrooge/CMakeLists.txt
+plugins/skrooge/dark.txt
+plugins/skrooge/default.txt
+plugins/skrooge/detailed.txt
+plugins/skrooge/main.txt
+plugins/skrooge/responsive.txt
+plugins/skrooge/skrooge_monthly.knsrc
+plugins/CMakeLists.txt
+scripts/addNewImportPlugin.sh.in
+scripts/addNewPlugin.sh.in
+scripts/astyle.sh.in
+scripts/codecheck.sh.in
+scripts/full.sh
+scripts/generateIcons.sh.in
+scripts/generateSplash.sh.in
+skgbankgui/icons_breeze/skrooge_credit_card.svgz
+skgbankgui/icons_breeze/skrooge_less.svgz
+skgbankgui/icons_breeze/skrooge_more.svgz
+skgbankgui/icons_breeze/skrooge_much_less.svgz
+skgbankgui/icons_breeze/skrooge_much_more.svgz
+skgbankgui/icons_breeze/skrooge_type.svgz
+skgbankgui/icons_breeze/view-categories-expenditures.svgz
+skgbankgui/icons_breeze/view-categories-incomes.svgz
+skgbankgui/icons_breeze-dark/skrooge_credit_card.svgz
+skgbankgui/icons_breeze-dark/skrooge_less.svgz
+skgbankgui/icons_breeze-dark/skrooge_more.svgz
+skgbankgui/icons_breeze-dark/skrooge_much_less.svgz
+skgbankgui/icons_breeze-dark/skrooge_much_more.svgz
+skgbankgui/icons_breeze-dark/skrooge_type.svgz
+skgbankgui/icons_breeze-dark/view-categories-expenditures.svgz
+skgbankgui/icons_breeze-dark/view-categories-incomes.svgz
+skgbankgui/icons_hicolor/128-actions-skrooge_credit_card.png
+skgbankgui/icons_hicolor/128-actions-skrooge_less.png
+skgbankgui/icons_hicolor/128-actions-skrooge_more.png
+skgbankgui/icons_hicolor/128-actions-skrooge_much_less.png
+skgbankgui/icons_hicolor/128-actions-skrooge_much_more.png
+skgbankgui/icons_hicolor/128-actions-skrooge_type.png
+skgbankgui/icons_hicolor/16-actions-skrooge_credit_card.png
+skgbankgui/icons_hicolor/16-actions-skrooge_less.png
+skgbankgui/icons_hicolor/16-actions-skrooge_more.png
+skgbankgui/icons_hicolor/16-actions-skrooge_much_less.png
+skgbankgui/icons_hicolor/16-actions-skrooge_much_more.png
+skgbankgui/icons_hicolor/16-actions-skrooge_type.png
+skgbankgui/icons_hicolor/22-actions-skrooge_credit_card.png
+skgbankgui/icons_hicolor/22-actions-skrooge_less.png
+skgbankgui/icons_hicolor/22-actions-skrooge_more.png
+skgbankgui/icons_hicolor/22-actions-skrooge_much_less.png
+skgbankgui/icons_hicolor/22-actions-skrooge_much_more.png
+skgbankgui/icons_hicolor/22-actions-skrooge_type.png
+skgbankgui/icons_hicolor/256-actions-skrooge_credit_card.png
+skgbankgui/icons_hicolor/256-actions-skrooge_less.png
+skgbankgui/icons_hicolor/256-actions-skrooge_more.png
+skgbankgui/icons_hicolor/256-actions-skrooge_much_less.png
+skgbankgui/icons_hicolor/256-actions-skrooge_much_more.png
+skgbankgui/icons_hicolor/256-actions-skrooge_type.png
+skgbankgui/icons_hicolor/32-actions-skrooge_credit_card.png
+skgbankgui/icons_hicolor/32-actions-skrooge_less.png
+skgbankgui/icons_hicolor/32-actions-skrooge_more.png
+skgbankgui/icons_hicolor/32-actions-skrooge_much_less.png
+skgbankgui/icons_hicolor/32-actions-skrooge_much_more.png
+skgbankgui/icons_hicolor/32-actions-skrooge_type.png
+skgbankgui/icons_hicolor/48-actions-skrooge_credit_card.png
+skgbankgui/icons_hicolor/48-actions-skrooge_less.png
+skgbankgui/icons_hicolor/48-actions-skrooge_more.png
+skgbankgui/icons_hicolor/48-actions-skrooge_much_less.png
+skgbankgui/icons_hicolor/48-actions-skrooge_much_more.png
+skgbankgui/icons_hicolor/48-actions-skrooge_type.png
+skgbankgui/icons_hicolor/512-actions-skrooge_credit_card.png
+skgbankgui/icons_hicolor/512-actions-skrooge_less.png
+skgbankgui/icons_hicolor/512-actions-skrooge_more.png
+skgbankgui/icons_hicolor/512-actions-skrooge_much_less.png
+skgbankgui/icons_hicolor/512-actions-skrooge_much_more.png
+skgbankgui/icons_hicolor/512-actions-skrooge_type.png
+skgbankgui/icons_hicolor/64-actions-skrooge_credit_card.png
+skgbankgui/icons_hicolor/64-actions-skrooge_less.png
+skgbankgui/icons_hicolor/64-actions-skrooge_more.png
+skgbankgui/icons_hicolor/64-actions-skrooge_much_less.png
+skgbankgui/icons_hicolor/64-actions-skrooge_much_more.png
+skgbankgui/icons_hicolor/64-actions-skrooge_type.png
+skgbankgui/icons_hicolor/sc-actions-skrooge_credit_card.svgz
+skgbankgui/icons_hicolor/sc-actions-skrooge_less.svgz
+skgbankgui/icons_hicolor/sc-actions-skrooge_more.svgz
+skgbankgui/icons_hicolor/sc-actions-skrooge_much_less.svgz
+skgbankgui/icons_hicolor/sc-actions-skrooge_much_more.svgz
+skgbankgui/icons_hicolor/sc-actions-skrooge_type.svgz
+skgbankgui/CMakeLists.txt
+skgbankgui/skgbkwidgetcollectiondesignerplugin.cpp
+skgbankgui/skgbkwidgetcollectiondesignerplugin.h
+skgbankgui/skgobjectmodel.cpp
+skgbankgui/skgobjectmodel.h
+skgbankgui/skgpredicatcreator.cpp
+skgbankgui/skgpredicatcreator.h
+skgbankgui/skgpredicatcreatordesignerplugin.cpp
+skgbankgui/skgpredicatcreatordesignerplugin.h
+skgbankgui/skgquerycreator.cpp
+skgbankgui/skgquerycreator.h
+skgbankgui/skgquerycreator.ui
+skgbankgui/skgquerycreatordesignerplugin.cpp
+skgbankgui/skgquerycreatordesignerplugin.h
+skgbankgui/skgquerydelegate.cpp
+skgbankgui/skgquerydelegate.h
+skgbankgui/skgunitcombobox.cpp
+skgbankgui/skgunitcombobox.h
+skgbankgui/skgunitcomboboxdesignerplugin.cpp
+skgbankgui/skgunitcomboboxdesignerplugin.h
+skgbankmodeler/quotes/BitcoinCharts.txt
+skgbankmodeler/quotes/GrandTrunk.txt
+skgbankmodeler/quotes/Skrooge.txt
+skgbankmodeler/quotes/Stooq monthly history.txt
+skgbankmodeler/quotes/Stooq.txt
+skgbankmodeler/CMakeLists.txt
+skgbankmodeler/org.kde.skrooge-import-plugin.desktop
+skgbankmodeler/skgaccountobject.cpp
+skgbankmodeler/skgaccountobject.h
+skgbankmodeler/skgbankincludes.h
+skgbankmodeler/skgbankobject.cpp
+skgbankmodeler/skgbankobject.h
+skgbankmodeler/skgbudgetobject.cpp
+skgbankmodeler/skgbudgetobject.h
+skgbankmodeler/skgbudgetruleobject.cpp
+skgbankmodeler/skgbudgetruleobject.h
+skgbankmodeler/skgcategoryobject.cpp
+skgbankmodeler/skgcategoryobject.h
+skgbankmodeler/skgdefinebank.h
+skgbankmodeler/skgdocumentbank.cpp
+skgbankmodeler/skgdocumentbank.h
+skgbankmodeler/skgimportexportmanager.cpp
+skgbankmodeler/skgimportexportmanager.h
+skgbankmodeler/skgimportplugin.cpp
+skgbankmodeler/skgimportplugin.h
+skgbankmodeler/skginterestobject.cpp
+skgbankmodeler/skginterestobject.h
+skgbankmodeler/skgoperationobject.cpp
+skgbankmodeler/skgoperationobject.h
+skgbankmodeler/skgpayeeobject.cpp
+skgbankmodeler/skgpayeeobject.h
+skgbankmodeler/skgrecurrentoperationobject.cpp
+skgbankmodeler/skgrecurrentoperationobject.h
+skgbankmodeler/skgreportbank.cpp
+skgbankmodeler/skgreportbank.h
+skgbankmodeler/skgruleobject.cpp
+skgbankmodeler/skgruleobject.h
+skgbankmodeler/skgsuboperationobject.cpp
+skgbankmodeler/skgsuboperationobject.h
+skgbankmodeler/skgtrackerobject.cpp
+skgbankmodeler/skgtrackerobject.h
+skgbankmodeler/skgunitobject.cpp
+skgbankmodeler/skgunitobject.h
+skgbankmodeler/skgunitvalueobject.cpp
+skgbankmodeler/skgunitvalueobject.h
+skgbasegui/icons_breeze/skg-chart-bubble.svgz
+skgbasegui/icons_breeze-dark/skg-chart-bubble.svgz
+skgbasegui/icons_hicolor/128-actions-skg-chart-bubble.png
+skgbasegui/icons_hicolor/16-actions-skg-chart-bubble.png
+skgbasegui/icons_hicolor/22-actions-skg-chart-bubble.png
+skgbasegui/icons_hicolor/256-actions-skg-chart-bubble.png
+skgbasegui/icons_hicolor/32-actions-skg-chart-bubble.png
+skgbasegui/icons_hicolor/48-actions-skg-chart-bubble.png
+skgbasegui/icons_hicolor/512-actions-skg-chart-bubble.png
+skgbasegui/icons_hicolor/64-actions-skg-chart-bubble.png
+skgbasegui/icons_hicolor/sc-actions-skg-chart-bubble.svgz
+skgbasegui/CMakeLists.txt
+skgbasegui/kdateedit.cpp
+skgbasegui/kdateedit.h
+skgbasegui/kdatepickerpopup.cpp
+skgbasegui/kdatepickerpopup.h
+skgbasegui/kdatevalidator.cpp
+skgbasegui/kdatevalidator.h
+skgbasegui/org.kde.skg-plugin.desktop
+skgbasegui/skgbasegui_settings.kcfg
+skgbasegui/skgbasegui_settings.kcfgc
+skgbasegui/skgboardwidget.cpp
+skgbasegui/skgboardwidget.h
+skgbasegui/skgcalculatoredit.cpp
+skgbasegui/skgcalculatoredit.h
+skgbasegui/skgcalculatoreditdesignerplugin.cpp
+skgbasegui/skgcalculatoreditdesignerplugin.h
+skgbasegui/skgcolorbutton.cpp
+skgbasegui/skgcolorbutton.h
+skgbasegui/skgcolorbutton.ui
+skgbasegui/skgcolorbuttondesignerplugin.cpp
+skgbasegui/skgcolorbuttondesignerplugin.h
+skgbasegui/skgcombobox.cpp
+skgbasegui/skgcombobox.h
+skgbasegui/skgcomboboxdesignerplugin.cpp
+skgbasegui/skgcomboboxdesignerplugin.h
+skgbasegui/skgdateedit.cpp
+skgbasegui/skgdateedit.h
+skgbasegui/skgdateeditdesignerplugin.cpp
+skgbasegui/skgdateeditdesignerplugin.h
+skgbasegui/skgfilteredtableview.cpp
+skgbasegui/skgfilteredtableview.h
+skgbasegui/skgfilteredtableview.ui
+skgbasegui/skgfilteredtableviewdesignerplugin.cpp
+skgbasegui/skgfilteredtableviewdesignerplugin.h
+skgbasegui/skgflowlayout.cpp
+skgbasegui/skgflowlayout.h
+skgbasegui/skggraphicsscene.cpp
+skgbasegui/skggraphicsscene.h
+skgbasegui/skggraphicsview.cpp
+skgbasegui/skggraphicsview.h
+skgbasegui/skggraphicsview.ui
+skgbasegui/skggraphicsviewdesignerplugin.cpp
+skgbasegui/skggraphicsviewdesignerplugin.h
+skgbasegui/skghtmlboardwidget.cpp
+skgbasegui/skghtmlboardwidget.h
+skgbasegui/skginterfaceplugin.cpp
+skgbasegui/skginterfaceplugin.h
+skgbasegui/skgmainpanel.cpp
+skgbasegui/skgmainpanel.h
+skgbasegui/skgmainpanel.rc
+skgbasegui/skgmainpanel_base.ui
+skgbasegui/skgmainpanel_pref.ui
+skgbasegui/skgobjectmodelbase.cpp
+skgbasegui/skgobjectmodelbase.h
+skgbasegui/skgperiodedit.cpp
+skgbasegui/skgperiodedit.h
+skgbasegui/skgperiodedit.ui
+skgbasegui/skgperiodeditdesignerplugin.cpp
+skgbasegui/skgperiodeditdesignerplugin.h
+skgbasegui/skgprogressbar.cpp
+skgbasegui/skgprogressbar.h
+skgbasegui/skgprogressbardesignerplugin.cpp
+skgbasegui/skgprogressbardesignerplugin.h
+skgbasegui/skgshow.cpp
+skgbasegui/skgshow.h
+skgbasegui/skgshowdesignerplugin.cpp
+skgbasegui/skgshowdesignerplugin.h
+skgbasegui/skgsimpleperiodedit.cpp
+skgbasegui/skgsimpleperiodedit.h
+skgbasegui/skgsimpleperiodeditdesignerplugin.cpp
+skgbasegui/skgsimpleperiodeditdesignerplugin.h
+skgbasegui/skgsortfilterproxymodel.cpp
+skgbasegui/skgsortfilterproxymodel.h
+skgbasegui/skgtableview.cpp
+skgbasegui/skgtableview.h
+skgbasegui/skgtableviewdesignerplugin.cpp
+skgbasegui/skgtableviewdesignerplugin.h
+skgbasegui/skgtablewidget.cpp
+skgbasegui/skgtablewidget.h
+skgbasegui/skgtablewidgetdesignerplugin.cpp
+skgbasegui/skgtablewidgetdesignerplugin.h
+skgbasegui/skgtablewithgraph.cpp
+skgbasegui/skgtablewithgraph.h
+skgbasegui/skgtablewithgraph.ui
+skgbasegui/skgtablewithgraphdesignerplugin.cpp
+skgbasegui/skgtablewithgraphdesignerplugin.h
+skgbasegui/skgtabpage.cpp
+skgbasegui/skgtabpage.h
+skgbasegui/skgtabwidget.cpp
+skgbasegui/skgtabwidget.h
+skgbasegui/skgtabwidgetdesignerplugin.cpp
+skgbasegui/skgtabwidgetdesignerplugin.h
+skgbasegui/skgtreeview.cpp
+skgbasegui/skgtreeview.h
+skgbasegui/skgtreeviewdesignerplugin.cpp
+skgbasegui/skgtreeviewdesignerplugin.h
+skgbasegui/skgwebview.cpp
+skgbasegui/skgwebview.h
+skgbasegui/skgwebviewdesignerplugin.cpp
+skgbasegui/skgwebviewdesignerplugin.h
+skgbasegui/skgwidget.cpp
+skgbasegui/skgwidget.h
+skgbasegui/skgwidgetcollectiondesignerplugin.cpp
+skgbasegui/skgwidgetcollectiondesignerplugin.h
+skgbasegui/skgwidgetselector.cpp
+skgbasegui/skgwidgetselector.h
+skgbasegui/skgwidgetselector.ui
+skgbasegui/skgwidgetselectordesignerplugin.cpp
+skgbasegui/skgwidgetselectordesignerplugin.h
+skgbasegui/skgzoomselector.cpp
+skgbasegui/skgzoomselector.h
+skgbasegui/skgzoomselector.ui
+skgbasegui/skgzoomselectordesignerplugin.cpp
+skgbasegui/skgzoomselectordesignerplugin.h
+skgbasemodeler/CMakeLists.txt
+skgbasemodeler/skgadvice.cpp
+skgbasemodeler/skgadvice.h
+skgbasemodeler/skgdefine.h
+skgbasemodeler/skgdocument.cpp
+skgbasemodeler/skgdocument.h
+skgbasemodeler/skgdocument2.cpp
+skgbasemodeler/skgerror.cpp
+skgbasemodeler/skgerror.h
+skgbasemodeler/skgnamedobject.cpp
+skgbasemodeler/skgnamedobject.h
+skgbasemodeler/skgnodeobject.cpp
+skgbasemodeler/skgnodeobject.h
+skgbasemodeler/skgobjectbase.cpp
+skgbasemodeler/skgobjectbase.h
+skgbasemodeler/skgpropertyobject.cpp
+skgbasemodeler/skgpropertyobject.h
+skgbasemodeler/skgreport.cpp
+skgbasemodeler/skgreport.h
+skgbasemodeler/skgservices.cpp
+skgbasemodeler/skgservices.h
+skgbasemodeler/skgtraces.cpp
+skgbasemodeler/skgtraces.h
+skgbasemodeler/skgtransactionmng.cpp
+skgbasemodeler/skgtransactionmng.h
+skgsqlcipher/CMakeLists.txt
+skgsqlcipher/qsql_sqlite.cpp
+skgsqlcipher/qsql_sqlite_p.h
+skgsqlcipher/skgsqlcipherdriverplugin.cpp
+skgsqlcipher/skgsqlcipherdriverplugin.json
+skrooge/icons_breeze/application-x-skg.svgz
+skrooge/icons_breeze/application-x-skgc.svgz
+skrooge/icons_breeze/skrooge.svgz
+skrooge/icons_hicolor/128-apps-skrooge-black.png
+skrooge/icons_hicolor/128-apps-skrooge-initial.png
+skrooge/icons_hicolor/128-apps-skrooge.png
+skrooge/icons_hicolor/128-mimetypes-application-x-skg.png
+skrooge/icons_hicolor/128-mimetypes-application-x-skgc.png
+skrooge/icons_hicolor/16-apps-skrooge-black.png
+skrooge/icons_hicolor/16-apps-skrooge-initial.png
+skrooge/icons_hicolor/16-apps-skrooge.png
+skrooge/icons_hicolor/16-mimetypes-application-x-skg.png
+skrooge/icons_hicolor/16-mimetypes-application-x-skgc.png
+skrooge/icons_hicolor/22-apps-skrooge-black.png
+skrooge/icons_hicolor/22-apps-skrooge-initial.png
+skrooge/icons_hicolor/22-apps-skrooge.png
+skrooge/icons_hicolor/22-mimetypes-application-x-skg.png
+skrooge/icons_hicolor/22-mimetypes-application-x-skgc.png
+skrooge/icons_hicolor/256-apps-skrooge-black.png
+skrooge/icons_hicolor/256-apps-skrooge-initial.png
+skrooge/icons_hicolor/256-apps-skrooge.png
+skrooge/icons_hicolor/256-mimetypes-application-x-skg.png
+skrooge/icons_hicolor/256-mimetypes-application-x-skgc.png
+skrooge/icons_hicolor/32-apps-skrooge-black.png
+skrooge/icons_hicolor/32-apps-skrooge-initial.png
+skrooge/icons_hicolor/32-apps-skrooge.png
+skrooge/icons_hicolor/32-mimetypes-application-x-skg.png
+skrooge/icons_hicolor/32-mimetypes-application-x-skgc.png
+skrooge/icons_hicolor/48-apps-skrooge-black.png
+skrooge/icons_hicolor/48-apps-skrooge-initial.png
+skrooge/icons_hicolor/48-apps-skrooge.png
+skrooge/icons_hicolor/48-mimetypes-application-x-skg.png
+skrooge/icons_hicolor/48-mimetypes-application-x-skgc.png
+skrooge/icons_hicolor/512-apps-skrooge-black.png
+skrooge/icons_hicolor/512-apps-skrooge-initial.png
+skrooge/icons_hicolor/512-apps-skrooge.png
+skrooge/icons_hicolor/512-mimetypes-application-x-skg.png
+skrooge/icons_hicolor/512-mimetypes-application-x-skgc.png
+skrooge/icons_hicolor/64-apps-skrooge-black.png
+skrooge/icons_hicolor/64-apps-skrooge-initial.png
+skrooge/icons_hicolor/64-apps-skrooge.png
+skrooge/icons_hicolor/64-mimetypes-application-x-skg.png
+skrooge/icons_hicolor/64-mimetypes-application-x-skgc.png
+skrooge/icons_hicolor/sc-apps-skrooge-black.svgz
+skrooge/icons_hicolor/sc-apps-skrooge-initial.svgz
+skrooge/icons_hicolor/sc-apps-skrooge.svgz
+skrooge/icons_hicolor/sc-mimetypes-application-x-skg.svgz
+skrooge/icons_hicolor/sc-mimetypes-application-x-skgc.svgz
+skrooge/CMakeLists.txt
+skrooge/main.cpp
+skrooge/org.kde.skrooge.appdata.xml
+skrooge/org.kde.skrooge.desktop
+skrooge/skrooge.notifyrc
+skrooge/x-skg.xml
+skroogeakonadi/CMakeLists.txt
+skroogeakonadi/org.kde.skroogeakonadiresource.desktop
+skroogeakonadi/settings.kcfgc
+skroogeakonadi/skroogeakonadiresource.cpp
+skroogeakonadi/skroogeakonadiresource.h
+skroogeakonadi/skroogeakonadiresource.kcfg
+skroogeconvert/CMakeLists.txt
+skroogeconvert/main.cpp
+templates/skrooge_import_xxx/CMakeLists.txt
+templates/skrooge_import_xxx/org.kde.skrooge-import-xxx.desktop
+templates/skrooge_import_xxx/skgimportpluginxxx.cpp
+templates/skrooge_import_xxx/skgimportpluginxxx.h
+templates/skrooge_xxx/CMakeLists.txt
+templates/skrooge_xxx/org.kde.skrooge-plugin-xxx.desktop
+templates/skrooge_xxx/skgxxx_settings.kcfg
+templates/skrooge_xxx/skgxxx_settings.kcfgc
+templates/skrooge_xxx/skgxxxplugin.cpp
+templates/skrooge_xxx/skgxxxplugin.h
+templates/skrooge_xxx/skgxxxpluginwidget.cpp
+templates/skrooge_xxx/skgxxxpluginwidget.h
+templates/skrooge_xxx/skgxxxpluginwidget_base.ui
+templates/skrooge_xxx/skgxxxpluginwidget_pref.ui
+templates/skrooge_xxx/skrooge_xxx.rc
+templates/cpp
+templates/h
+tests/input/skgtestautoreconcile/complex.skg
+tests/input/skgtestautoreconcile/complex.skg.old
+tests/input/skgtestbudget/320323.skg
+tests/input/skgtestbudget/budget.skg
+tests/input/skgtestimportafb120/gs_01139_021239S.cfo
+tests/input/skgtestimportbackend/320716_1/boobank
+tests/input/skgtestimportbackend/320716_2/boobank
+tests/input/skgtestimportbackend/329876/boobank
+tests/input/skgtestimportbackend/error1/boobank
+tests/input/skgtestimportbackend/error2/boobank
+tests/input/skgtestimportbackend/error3/boobank
+tests/input/skgtestimportbackend/error4/boobank
+tests/input/skgtestimportbackend/fake1/boobank
+tests/input/skgtestimportbackend/fake1/fake1.skg
+tests/input/skgtestimportbackend/weboob0h/boobank
+tests/input/skgtestimportbackend/accounts.txt
+tests/input/skgtestimportbackend/balance.txt
+tests/input/skgtestimportbackend/cmd.txt
+tests/input/skgtestimportbackend/transactions.csv
+tests/input/skgtestimportbackend/transactions.ctx
+tests/input/skgtestimportcsv/206894.csv
+tests/input/skgtestimportcsv/209705.csv
+tests/input/skgtestimportcsv/209705_2.csv
+tests/input/skgtestimportcsv/263263.csv
+tests/input/skgtestimportcsv/320112.csv
+tests/input/skgtestimportcsv/349961.csv
+tests/input/skgtestimportcsv/backslashes.csv
+tests/input/skgtestimportcsv/bankperfect.csv
+tests/input/skgtestimportcsv/bankperfect2.csv
+tests/input/skgtestimportcsv/commas.csv
+tests/input/skgtestimportcsv/compte.csv
+tests/input/skgtestimportcsv/coopanet.csv
+tests/input/skgtestimportcsv/credit-debit.csv
+tests/input/skgtestimportcsv/date_DDMMMYYYY.csv
+tests/input/skgtestimportcsv/file.csv
+tests/input/skgtestimportcsv/ing.csv
+tests/input/skgtestimportcsv/mmex.csv
+tests/input/skgtestimportcsv/mmex_no_header.csv
+tests/input/skgtestimportcsv/multiline.csv
+tests/input/skgtestimportcsv/mutual fund.csv
+tests/input/skgtestimportcsv/non_numerical_amount.csv
+tests/input/skgtestimportcsv/remi_1.csv
+tests/input/skgtestimportcsv/skrooge_partial.csv
+tests/input/skgtestimportcsv/tabs.csv
+tests/input/skgtestimportcsv/XXXXXXMxxxXXXXXXX.csv
+tests/input/skgtestimportcsvrule/test1.csv
+tests/input/skgtestimportcsvunit/coma.csv
+tests/input/skgtestimportcsvunit/test.csv
+tests/input/skgtestimportcsvunit/test2.csv
+tests/input/skgtestimportgnucash/228808.gnc
+tests/input/skgtestimportgnucash/228901.gnucash
+tests/input/skgtestimportgnucash/228904.gnucash
+tests/input/skgtestimportgnucash/234597.gnc
+tests/input/skgtestimportgnucash/234608.gnc
+tests/input/skgtestimportgnucash/243738.gnucash
+tests/input/skgtestimportgnucash/302388.gnc
+tests/input/skgtestimportgnucash/325174.gnucash
+tests/input/skgtestimportgnucash/all.uncompressed
+tests/input/skgtestimportgnucash/initial_balance.uncompressed
+tests/input/skgtestimportgnucash/interet-revenue-frais-emprunt.gnucash
+tests/input/skgtestimportgnucash/interet-revenue-frais.gnucash
+tests/input/skgtestimportgnucash/rapprochement-incorrect.uncompressed
+tests/input/skgtestimportgnucash/scheduled-action.uncompressed
+tests/input/skgtestimportgnucash/test_data.uncompressed
+tests/input/skgtestimportgnucash/transfert-CPP-vers-PEE.uncompressed
+tests/input/skgtestimportgnucash/transfert-PEE-vers-CCP.uncompressed
+tests/input/skgtestimportgnucash/wallet.gnucash
+tests/input/skgtestimportgnucash/without_book.gnucash
+tests/input/skgtestimportgsb/essai.gsb
+tests/input/skgtestimportgsb/imputations_budgetaires.gsb
+tests/input/skgtestimportgsb/split.gsb
+tests/input/skgtestimportgsb/test-obfuscated.gsb
+tests/input/skgtestimportgsb/version_0.5.9.gsb
+tests/input/skgtestimportiif/full_bill.iif
+tests/input/skgtestimportiif/full_bill_credit.iif
+tests/input/skgtestimportiif/full_bill_payment.iif
+tests/input/skgtestimportiif/full_cash_sale.iif
+tests/input/skgtestimportiif/full_check.iif
+tests/input/skgtestimportiif/full_credit_card_refund.iif
+tests/input/skgtestimportiif/full_credit_memo.iif
+tests/input/skgtestimportiif/full_customer_payment.iif
+tests/input/skgtestimportiif/full_deposit.iif
+tests/input/skgtestimportiif/full_estimate.iif
+tests/input/skgtestimportiif/full_invoice.iif
+tests/input/skgtestimportiif/full_item_reciept.iif
+tests/input/skgtestimportiif/full_po.iif
+tests/input/skgtestimportiif/full_statement_charge.iif
+tests/input/skgtestimportiif/full_transfer.iif
+tests/input/skgtestimportkmy/252869.kmy
+tests/input/skgtestimportkmy/304313.kmy
+tests/input/skgtestimportkmy/action.kmy
+tests/input/skgtestimportkmy/mytest.kmy
+tests/input/skgtestimportkmy/rapprochement-incorrect.kmy
+tests/input/skgtestimportkmy2/to_skrooge.anon.kmy
+tests/input/skgtestimportkmy3/wallet.kmy
+tests/input/skgtestimportkmy4/320066.skg
+tests/input/skgtestimportkmy4/bug_import_cat.kmy
+tests/input/skgtestimportkmy4/bug_import_cat.skg
+tests/input/skgtestimportkmy4/bug_import_cat.skg.old
+tests/input/skgtestimportkmy4/randy1.kmy
+tests/input/skgtestimportmmb/jd.mmb
+tests/input/skgtestimportmmb/test.mmb
+tests/input/skgtestimportmny1/A B/money2002.mny
+tests/input/skgtestimportmny1/money2001.mny
+tests/input/skgtestimportmny1/money2004-pwd:123@ABC!.mny
+tests/input/skgtestimportmny1/money2005-pwd:123@ABC!.mny
+tests/input/skgtestimportmny1/money2008-pwd:TEST12345.mny
+tests/input/skgtestimportmny1/notreadable.mny
+tests/input/skgtestimportmny1/wrongfile.mny
+tests/input/skgtestimportmny2/sunset-sample-5-pwd:12@a!.mny
+tests/input/skgtestimportmny3/transfert_and_mode.mny
+tests/input/skgtestimportmt940/267442_1.mt940
+tests/input/skgtestimportmt940/267442_2.mt940
+tests/input/skgtestimportmt940/341076.mt940
+tests/input/skgtestimportmt940/583501.mt940
+tests/input/skgtestimportmt940/test1.mt940
+tests/input/skgtestimportofx/20150818_133327_gnucash_export.ofx
+tests/input/skgtestimportofx/234771.ofx
+tests/input/skgtestimportofx/284843.ofx
+tests/input/skgtestimportofx/336320.ofx
+tests/input/skgtestimportofx/385366.ofx
+tests/input/skgtestimportofx/430130.ofx
+tests/input/skgtestimportofx/bug_statement.ofx
+tests/input/skgtestimportofx/ca_remi.ofx
+tests/input/skgtestimportofx/debit_pos.ofx
+tests/input/skgtestimportofx/exception.ofx
+tests/input/skgtestimportofx/initial_balance.ofx
+tests/input/skgtestimportofx/mut.ofx
+tests/input/skgtestimportofx/ofx_spec160_stmtrs_example.ofx
+tests/input/skgtestimportofx/ofx_spec201_stmtrs_example.ofx
+tests/input/skgtestimportofx/t1.ofx
+tests/input/skgtestimportofx/UTF8.ofx
+tests/input/skgtestimportqif1/271708/10-Compte A.qif
+tests/input/skgtestimportqif1/271708/20-Compte B.qif
+tests/input/skgtestimportqif1/271708/30-Compte C.qif
+tests/input/skgtestimportqif1/271708/40-Compte D.qif
+tests/input/skgtestimportqif1/199818.qif
+tests/input/skgtestimportqif1/201316.qif
+tests/input/skgtestimportqif1/201451.qif
+tests/input/skgtestimportqif1/216520.qif
+tests/input/skgtestimportqif1/233930.qif
+tests/input/skgtestimportqif1/267996.qif
+tests/input/skgtestimportqif1/350286.qif
+tests/input/skgtestimportqif1/373584.qif
+tests/input/skgtestimportqif1/392707.qif
+tests/input/skgtestimportqif1/393596.qif
+tests/input/skgtestimportqif1/503166.qif
+tests/input/skgtestimportqif1/BNP_CC_virement.qif
+tests/input/skgtestimportqif1/Cortal PEA.qif
+tests/input/skgtestimportqif1/double.qif
+tests/input/skgtestimportqif1/E0269787.qif
+tests/input/skgtestimportqif1/EADS.qif
+tests/input/skgtestimportqif1/exp_inv.qif
+tests/input/skgtestimportqif1/Fortuneo PEA (Caisse).qif
+tests/input/skgtestimportqif1/Fortuneo PEA.qif
+tests/input/skgtestimportqif1/ing.qif
+tests/input/skgtestimportqif1/kmm-with-category.qif
+tests/input/skgtestimportqif1/kmm-without-category.qif
+tests/input/skgtestimportqif1/moto.qif
+tests/input/skgtestimportqif1/quicken.qif
+tests/input/skgtestimportqif1/ref.qif
+tests/input/skgtestimportqif1/remi_2.qif
+tests/input/skgtestimportqif1/t2.qif
+tests/input/skgtestimportqif2/autorepair.qif
+tests/input/skgtestimportqif2/date_money.qif
+tests/input/skgtestimportqif2/export_qif.skg
+tests/input/skgtestimportqif2/LA-1234567@ing.qif
+tests/input/skgtestimportqif2/MoneydanceExportExample.qif
+tests/input/skgtestimportqif2/t2.qif
+tests/input/skgtestimportskg/all_types.skg
+tests/input/skgtestimportskg/encrypted.skg
+tests/input/skgtestimportskg/euro_bitcoin_dollar.skg
+tests/input/skgtestimportskg/euro_bitcoin_dollar.skg.old
+tests/input/skgtestimportstockqif/2307068-BNP CC.qif
+tests/input/skgtestimportstockqif/2307068-Compte Titre.qif
+tests/input/skgtestimportstockqif/goog.qif
+tests/input/skgtestimportstockqif/La Poste GMO (Caisse).qif
+tests/input/skgtestimportstockqif/La Poste GMO.qif
+tests/input/skgtestimporturl/test.cfo
+tests/input/skgtestimporturl/test.csv
+tests/input/skgtestimporturl/test.gnucash
+tests/input/skgtestimporturl/test.gsb
+tests/input/skgtestimporturl/test.kmy
+tests/input/skgtestimporturl/test.mmb
+tests/input/skgtestimporturl/test.mt940
+tests/input/skgtestimporturl/test.ofx
+tests/input/skgtestimporturl/test.qif
+tests/input/skgtestimporturl/test.skg
+tests/input/skgtestimporturl/test.xhb
+tests/input/skgtestimporturl/unit.csv
+tests/input/skgtestimportxhb/comptes.xhb
+tests/input/skgtestimportxhb/error_import.xhb
+tests/input/skgtestimportxhb/example_budget.xhb
+tests/input/skgtestimportxhb/test.xhb
+tests/input/skgtestimportxhb/wallet.xhb
+tests/input/skgtestmigration/version_0.1.skg
+tests/input/skgtestmigration/version_0.3.skg
+tests/input/skgtestpfs/personalfinancescore.skg
+tests/input/skgtestpfs/personalfinancescore.skg.old
+tests/input/skgtestrestore/nopwd.skg
+tests/input/skgtestrestore/nopwd.skg.wrk
+tests/input/skgtestrestore/pwd.skg
+tests/input/skgtestrestore/pwd.skg.wrk
+tests/input/skgtestrestore/sqlcipher_no_pwd.skg
+tests/input/skgtestrestore/sqlcipher_pwd_ABC.skg
+tests/input/skgtestrestore/sqlite_no_pwd.skg
+tests/input/skgtestrestore/sqlite_pwd_ABC.skg
+tests/input/skgtestrule/file.skg
+tests/input/skgtestvariousbugs/324649.skg
+tests/input/skgtestvariousbugs/324972_1.csv
+tests/input/skgtestvariousbugs/324972_2.csv
+tests/input/skgtestvariousbugs/329568.skg
+tests/input/skgtestvariousbugs/forrecovery.skg
+tests/input/skgtestvariousbugs/interests_and_shares.skg
+tests/input/skgtestvariousbugs/interests_and_shares.skg.old
+tests/input/skgtestvariousbugs/invalid.skg
+tests/input/skgtestvariousbugs/invalid_protected.skg
+tests/input/skgtestvariousbugs/protected.skg
+tests/input/advice.skg
+tests/input/advice.skg.old
+tests/input/all_plugins.skg
+tests/input/all_plugins.skg.old
+tests/input/dates.txt
+tests/input/from_bp.qif
+tests/input/search_and_process.skg
+tests/input/template.txt
+tests/output/budget/error.png
+tests/output/budget/sikuliresult.txt
+tests/output/operation/error.png
+tests/output/operation/sikuliresult.txt
+tests/output/print/error.png
+tests/output/print/sikuliresult.txt
+tests/output/search/error.png
+tests/output/search/sikuliresult.txt
+tests/output/skgtestbigdocument/skgtestbigdocument.skg
+tests/output/skgtestbigdocument/skgtestbigdocument.skg.old
+tests/output/skgtestbudget/budget.skg
+tests/output/skgtestbudget/budget.skg.old
+tests/output/skgtestimportcsv/bankperfect.csv
+tests/output/skgtestimportcsv/bankperfect2.csv
+tests/output/skgtestimportiif/full_check.iif
+tests/output/skgtestimportkmy1/rapprochement-incorrect.kmy
+tests/output/skgtestimportkmy3/advice.kmy
+tests/output/skgtestimportkmy4/320066.kmy
+tests/output/skgtestimportqif1/267996.csv
+tests/output/skgtestimportqif1/E0269787.qif
+tests/output/skgtestimportqif1/E0269787_bis.qif
+tests/output/skgtestimportqif1/E0269787_ref.qif
+tests/output/skgtestimportqif1/exp_inv.qif
+tests/output/skgtestimportqif1/ing.qif
+tests/output/skgtestimportqif1/ref.qif
+tests/output/skgtestimportqif2/export_qif.qif
+tests/output/skgtestimportskg/all_types.json
+tests/output/skgtestimportskg/all_types.xml
+tests/output/skgtestimportskg/all_types_exp_from_file.skg
+tests/output/skgtestimportskg/all_types_exp_from_file.skg.old
+tests/output/skgtestimportskg/all_types_exp_from_file.sqlcipher
+tests/output/skgtestimportskg/all_types_exp_from_file.sqlite
+tests/output/skgtestimportskg/all_types_exp_from_mem.skg
+tests/output/skgtestimportskg/all_types_exp_from_mem.skg.old
+tests/output/skgtestimportskg/all_types_exp_from_mem.sqlcipher
+tests/output/skgtestimportskg/all_types_exp_from_mem.sqlite
+tests/output/skgtestimportskg/all_types_save.skg
+tests/output/skgtestimportskg/all_types_save.skg.old
+tests/output/skgtestrestore/nopwd.skg
+tests/output/skgtestrestore/nopwd2.skg
+tests/output/skgtestrestore/nopwd2.skg.old
+tests/output/skgtestrestore/pwd.skg
+tests/output/skgtestrestore/sqlcipher_no_pwd.skg
+tests/output/skgtestrestore/sqlcipher_pwd_ABC.skg
+tests/output/skgtestrestore/sqlite_no_pwd.skg
+tests/output/skgtestrestore/sqlite_pwd_ABC.skg
+tests/output/skgtesttablewithgraph/SKGGraphicsView.jpeg
+tests/output/skgtesttablewithgraph/SKGGraphicsView.pdf
+tests/output/skgtesttablewithgraph/SKGGraphicsView.svg
+tests/output/skgtesttablewithgraph/SKGGraphicsView_0.png
+tests/output/skgtesttablewithgraph/SKGGraphicsView_1.png
+tests/output/skgtesttablewithgraph/SKGGraphicsView_2.png
+tests/output/skgtesttablewithgraph/SKGGraphicsView_3.png
+tests/output/skgtesttablewithgraph/SKGGraphicsView_4.png
+tests/output/skgtesttablewithgraph/SKGGraphicsView_5.png
+tests/output/skgtesttablewithgraph/SKGGraphicsView_6.png
+tests/output/skgtesttablewithgraph/SKGGraphicsView_7.png
+tests/output/skgtesttablewithgraph/SKGGraphicsView_8.png
+tests/output/skgtesttablewithgraph/SKGTableWithGraph.csv
+tests/output/skgtesttablewithgraph/SKGTableWithGraph.txt
+tests/output/skgtesttablewithgraph/SKGWebView.htm
+tests/output/skgtesttablewithgraph/SKGWebView.html
+tests/output/skgtesttablewithgraph/SKGWebView.odt
+tests/output/skgtesttablewithgraph/SKGWebView.pdf
+tests/output/skgtesttablewithgraph/SKGWebView.png
+tests/output/skgtesttreeview/SKGTreeView.csv
+tests/output/skgtesttreeview/SKGTreeView.html
+tests/output/skgtesttreeview/SKGTreeView.odt
+tests/output/skgtesttreeview/SKGTreeView.pdf
+tests/output/skgtesttreeview/SKGTreeView.svg
+tests/output/skgtesttreeview/SKGTreeView.txt
+tests/output/skgtestvariousbugs/forrecovery.skg
+tests/output/skgtestvariousbugs/forrecovery_recovered.skg
+tests/output/skgtestvariousbugs/forrecovery_recovered.skg.old
+tests/output/skgtestwidgetcollection/export.html
+tests/output/skgtestwidgetcollection/export.jpg
+tests/output/skgtestwidgetcollection/export.pdf
+tests/output/skroogeconvert/téléchargement/228904.csv
+tests/output/skroogeconvert/228904.csv
+tests/output/skroogeconvert/228904.skg
+tests/output/skroogeconvert/228904.skg.old
+tests/output/skroogeconvert/sqlcipher_pwd_ABC.skg
+tests/output/skroogeconvert/sqlcipher_pwd_ABC.skg.old
+tests/output/skroogeconvert/sqlcipher_pwd_ABC.sqlcipher
+tests/output/skroogeconvert/sqlcipher_pwd_ABC.sqlite
+tests/output/tracker/error.png
+tests/output/tracker/sikuliresult.txt
+tests/output/unit/error.png
+tests/output/unit/sikuliresult.txt
+tests/output/advice.skg
+tests/output/all_plugins_decrypted.skg
+tests/output/all_plugins_encrypted.skg
+tests/output/anonymize-anonymized.skg
+tests/output/anonymize-anonymized.skg.old
+tests/output/anonymize.skg
+tests/output/filename1.skg
+tests/output/filename1.skg.old
+tests/output/skgtestoperation.skg.X27948
+tests/ref/skgtestimportcsv/bankperfect.csv
+tests/ref/skgtestimportqif1/267996.csv
+tests/ref/skgtestimportqif1/E0269787.qif
+tests/ref/skgtestimportqif1/E0269787_ref.qif
+tests/ref/skgtestimportqif1/ing.qif
+tests/ref/skgtestimportqif1/ref.qif
+tests/scripts/libs/libJXGrabKey.so
+tests/scripts/libs/libVisionProxy.so
+tests/scripts/libs/MadeForSikuliX64L.txt
+tests/scripts/init.sh
+tests/scripts/init.sh.in
+tests/scripts/skg_sikuli_tst_budget.sh
+tests/scripts/skg_sikuli_tst_operation.sh
+tests/scripts/skg_sikuli_tst_print.sh
+tests/scripts/skg_sikuli_tst_search.sh
+tests/scripts/skg_sikuli_tst_tracker.sh
+tests/scripts/skg_sikuli_tst_unit.sh
+tests/scripts/skgtestactions.sh
+tests/scripts/skgtestautoreconcile.sh
+tests/scripts/skgtestbankandaccount.sh
+tests/scripts/skgtestbankplugin.sh
+tests/scripts/skgtestbankreport.sh
+tests/scripts/skgtestbankwidgets.sh
+tests/scripts/skgtestbase.sh
+tests/scripts/skgtestbigdocument.sh
+tests/scripts/skgtestbudget.sh
+tests/scripts/skgtestcalculatoredit.sh
+tests/scripts/skgtestcategory.sh
+tests/scripts/skgtestcolorbutton.sh
+tests/scripts/skgtestcombobox.sh
+tests/scripts/skgtestdateedit.sh
+tests/scripts/skgtestdocparameter.sh
+tests/scripts/skgtestfile.sh
+tests/scripts/skgtestimportafb120.sh
+tests/scripts/skgtestimportcsv.sh
+tests/scripts/skgtestimportcsvrule.sh
+tests/scripts/skgtestimportcsvunit.sh
+tests/scripts/skgtestimportgnucash.sh
+tests/scripts/skgtestimportgsb.sh
+tests/scripts/skgtestimportiif.sh
+tests/scripts/skgtestimportkmy1.sh
+tests/scripts/skgtestimportkmy2.sh
+tests/scripts/skgtestimportkmy3.sh
+tests/scripts/skgtestimportkmy4.sh
+tests/scripts/skgtestimportmmb.sh
+tests/scripts/skgtestimportmny1.sh
+tests/scripts/skgtestimportmny2.sh
+tests/scripts/skgtestimportmny3.sh
+tests/scripts/skgtestimportmt940.sh
+tests/scripts/skgtestimportofx.sh
+tests/scripts/skgtestimportqif1.sh
+tests/scripts/skgtestimportqif2.sh
+tests/scripts/skgtestimportskg.sh
+tests/scripts/skgtestimportstockqif.sh
+tests/scripts/skgtestimporturls.sh
+tests/scripts/skgtestimportweboob.sh
+tests/scripts/skgtestimportxhb.sh
+tests/scripts/skgtestinterest.sh
+tests/scripts/skgtestmainpanel.sh
+tests/scripts/skgtestmigration.sh
+tests/scripts/skgtestmodel.sh
+tests/scripts/skgtestmultidocument.sh
+tests/scripts/skgtestnodes.sh
+tests/scripts/skgtestobjects.sh
+tests/scripts/skgtestoperation.sh
+tests/scripts/skgtestpassword.sh
+tests/scripts/skgtestpayee.sh
+tests/scripts/skgtestperfo.sh
+tests/scripts/skgtestperiodedit.sh
+tests/scripts/skgtestpfs.sh
+tests/scripts/skgtestpredicatcreator.sh
+tests/scripts/skgtestrecurrent.sh
+tests/scripts/skgtestrefund.sh
+tests/scripts/skgtestreport.sh
+tests/scripts/skgtestrestore.sh
+tests/scripts/skgtestrule.sh
+tests/scripts/skgtestskrooge.sh
+tests/scripts/skgtesttablewithgraph.sh
+tests/scripts/skgtesttransaction.sh
+tests/scripts/skgtesttreeview.sh
+tests/scripts/skgtestunit.sh
+tests/scripts/skgtestvariousbugs.sh
+tests/scripts/skgtestwidgetcollection.sh
+tests/scripts/skroogeconvert.sh
+tests/sikuli/budget.sikuli/1446153094651.png
+tests/sikuli/budget.sikuli/1446153115180.png
+tests/sikuli/budget.sikuli/1446153142941.png
+tests/sikuli/budget.sikuli/1446155010281.png
+tests/sikuli/budget.sikuli/1446654721017.png
+tests/sikuli/budget.sikuli/budget.html
+tests/sikuli/budget.sikuli/budget.py
+tests/sikuli/operation.sikuli/1306077949040.png
+tests/sikuli/operation.sikuli/1306077966015.png
+tests/sikuli/operation.sikuli/1306079549775.png
+tests/sikuli/operation.sikuli/1306079716239.png
+tests/sikuli/operation.sikuli/1383394583085.png
+tests/sikuli/operation.sikuli/1383394655825.png
+tests/sikuli/operation.sikuli/Amount.png
+tests/sikuli/operation.sikuli/Amwntfshares.png
+tests/sikuli/operation.sikuli/CardPayee1Co.png
+tests/sikuli/operation.sikuli/Category.png
+tests/sikuli/operation.sikuli/ccunt2.png
+tests/sikuli/operation.sikuli/Comment.png
+tests/sikuli/operation.sikuli/Hideallchecl.png
+tests/sikuli/operation.sikuli/Mode.png
+tests/sikuli/operation.sikuli/operation.html
+tests/sikuli/operation.sikuli/operation.py
+tests/sikuli/operation.sikuli/Operations-2.png
+tests/sikuli/operation.sikuli/Payee.png
+tests/sikuli/operation.sikuli/Point.png
+tests/sikuli/operation.sikuli/Shares-1.png
+tests/sikuli/operation.sikuli/Shcw.png
+tests/sikuli/operation.sikuli/Switchhighli.png
+tests/sikuli/operation.sikuli/Traclrer.png
+tests/sikuli/operation.sikuli/TransFer.png
+tests/sikuli/print.sikuli/Cancel.png
+tests/sikuli/print.sikuli/File-1.png
+tests/sikuli/print.sikuli/Print-1.png
+tests/sikuli/print.sikuli/print.html
+tests/sikuli/print.sikuli/print.py
+tests/sikuli/print.sikuli/PrintPrevie-1.png
+tests/sikuli/search.sikuli/1305986344895.png
+tests/sikuli/search.sikuli/1305987216474.png
+tests/sikuli/search.sikuli/1306052486290.png
+tests/sikuli/search.sikuli/1306052650498.png
+tests/sikuli/search.sikuli/1306052703527.png
+tests/sikuli/search.sikuli/1306053834224.png
+tests/sikuli/search.sikuli/1306053853927.png
+tests/sikuli/search.sikuli/1306053869838.png
+tests/sikuli/search.sikuli/1306053885688.png
+tests/sikuli/search.sikuli/1306055505239.png
+tests/sikuli/search.sikuli/Operations-1.png
+tests/sikuli/search.sikuli/search.html
+tests/sikuli/search.sikuli/search.py
+tests/sikuli/search.sikuli/Status-1.png
+tests/sikuli/search.sikuli/Update.png
+tests/sikuli/search.sikuli/YStatus.png
+tests/sikuli/shared.sikuli/1383133566859.png
+tests/sikuli/shared.sikuli/1383133694348.png
+tests/sikuli/shared.sikuli/1446149387754.png
+tests/sikuli/shared.sikuli/1446152114435.png
+tests/sikuli/shared.sikuli/1446152344094.png
+tests/sikuli/shared.sikuli/1446152575740.png
+tests/sikuli/shared.sikuli/1446152645440.png
+tests/sikuli/shared.sikuli/1446152986402.png
+tests/sikuli/shared.sikuli/gunfigureSrg.png
+tests/sikuli/shared.sikuli/Setting.png
+tests/sikuli/shared.sikuli/shared$py.class
+tests/sikuli/shared.sikuli/shared.html
+tests/sikuli/shared.sikuli/shared.py
+tests/sikuli/shared.sikuli/Vox.png
+tests/sikuli/tracker.sikuli/1305985754504.png
+tests/sikuli/tracker.sikuli/1305985800311.png
+tests/sikuli/tracker.sikuli/1305986344895.png
+tests/sikuli/tracker.sikuli/1305987216474.png
+tests/sikuli/tracker.sikuli/Closed.png
+tests/sikuli/tracker.sikuli/CtracIer1b00.png
+tests/sikuli/tracker.sikuli/Nanatradar.png
+tests/sikuli/tracker.sikuli/Operations-1.png
+tests/sikuli/tracker.sikuli/ShowOpened.png
+tests/sikuli/tracker.sikuli/tracker.html
+tests/sikuli/tracker.sikuli/tracker.py
+tests/sikuli/unit.sikuli/1305987974969.png
+tests/sikuli/unit.sikuli/1383487091620.png
+tests/sikuli/unit.sikuli/1383499105796.png
+tests/sikuli/unit.sikuli/5ymbl.png
+tests/sikuli/unit.sikuli/AfghanAfghan.png
+tests/sikuli/unit.sikuli/Download.png
+tests/sikuli/unit.sikuli/Manual.png
+tests/sikuli/unit.sikuli/unit.html
+tests/sikuli/unit.sikuli/unit.py
+tests/sikuli/unit.sikuli/unit1u1.png
+tests/sikuli/unit.sikuli/Units-1.png
+tests/skgbankguitest/CMakeLists.txt
+tests/skgbankguitest/modeltest.cpp
+tests/skgbankguitest/modeltest.h
+tests/skgbankguitest/skgtestactions.cpp
+tests/skgbankguitest/skgtestactions.h
+tests/skgbankguitest/skgtestbankwidgets.cpp
+tests/skgbankguitest/skgtestbankwidgets.h
+tests/skgbankguitest/skgtestmainpanel.cpp
+tests/skgbankguitest/skgtestmainpanel.h
+tests/skgbankguitest/skgtestmodel.cpp
+tests/skgbankguitest/skgtestmodel.h
+tests/skgbankguitest/skgtestpredicatcreator.cpp
+tests/skgbankguitest/skgtestpredicatcreator.h
+tests/skgbankguitest/skgtesttreeview.cpp
+tests/skgbankguitest/skgtesttreeview.h
+tests/skgbankmodelertest/CMakeLists.txt
+tests/skgbankmodelertest/skgtestautoreconcile.cpp
+tests/skgbankmodelertest/skgtestbankandaccount.cpp
+tests/skgbankmodelertest/skgtestbankreport.cpp
+tests/skgbankmodelertest/skgtestbigdocument.cpp
+tests/skgbankmodelertest/skgtestbudget.cpp
+tests/skgbankmodelertest/skgtestcategory.cpp
+tests/skgbankmodelertest/skgtestdocparameter.cpp
+tests/skgbankmodelertest/skgtestimportafb120.cpp
+tests/skgbankmodelertest/skgtestimportcsv.cpp
+tests/skgbankmodelertest/skgtestimportcsvrule.cpp
+tests/skgbankmodelertest/skgtestimportcsvunit.cpp
+tests/skgbankmodelertest/skgtestimportgnucash.cpp
+tests/skgbankmodelertest/skgtestimportgsb.cpp
+tests/skgbankmodelertest/skgtestimportiif.cpp
+tests/skgbankmodelertest/skgtestimportkmy1.cpp
+tests/skgbankmodelertest/skgtestimportkmy2.cpp
+tests/skgbankmodelertest/skgtestimportkmy3.cpp
+tests/skgbankmodelertest/skgtestimportkmy4.cpp
+tests/skgbankmodelertest/skgtestimportmmb.cpp
+tests/skgbankmodelertest/skgtestimportmny1.cpp
+tests/skgbankmodelertest/skgtestimportmny2.cpp
+tests/skgbankmodelertest/skgtestimportmny3.cpp
+tests/skgbankmodelertest/skgtestimportmt940.cpp
+tests/skgbankmodelertest/skgtestimportofx.cpp
+tests/skgbankmodelertest/skgtestimportqif1.cpp
+tests/skgbankmodelertest/skgtestimportqif2.cpp
+tests/skgbankmodelertest/skgtestimportskg.cpp
+tests/skgbankmodelertest/skgtestimportstockqif.cpp
+tests/skgbankmodelertest/skgtestimporturls.cpp
+tests/skgbankmodelertest/skgtestimportweboob.cpp
+tests/skgbankmodelertest/skgtestimportxhb.cpp
+tests/skgbankmodelertest/skgtestinterest.cpp
+tests/skgbankmodelertest/skgtestmigration.cpp
+tests/skgbankmodelertest/skgtestobjects.cpp
+tests/skgbankmodelertest/skgtestoperation.cpp
+tests/skgbankmodelertest/skgtestpayee.cpp
+tests/skgbankmodelertest/skgtestpfs.cpp
+tests/skgbankmodelertest/skgtestrecurrent.cpp
+tests/skgbankmodelertest/skgtestrefund.cpp
+tests/skgbankmodelertest/skgtestrestore.cpp
+tests/skgbankmodelertest/skgtestrule.cpp
+tests/skgbankmodelertest/skgtestunit.cpp
+tests/skgbankmodelertest/skgtestvariousbugs.cpp
+tests/skgbaseguitest/CMakeLists.txt
+tests/skgbaseguitest/skgtestcalculatoredit.cpp
+tests/skgbaseguitest/skgtestcalculatoredit.h
+tests/skgbaseguitest/skgtestcolorbutton.cpp
+tests/skgbaseguitest/skgtestcolorbutton.h
+tests/skgbaseguitest/skgtestcombobox.cpp
+tests/skgbaseguitest/skgtestcombobox.h
+tests/skgbaseguitest/skgtestdateedit.cpp
+tests/skgbaseguitest/skgtestdateedit.h
+tests/skgbaseguitest/skgtestperiodedit.cpp
+tests/skgbaseguitest/skgtestperiodedit.h
+tests/skgbaseguitest/skgtesttablewithgraph.cpp
+tests/skgbaseguitest/skgtesttablewithgraph.h
+tests/skgbaseguitest/skgtestwidgetcollection.cpp
+tests/skgbaseguitest/skgtestwidgetcollection.h
+tests/skgbasemodelertest/CMakeLists.txt
+tests/skgbasemodelertest/skgtestbase.cpp
+tests/skgbasemodelertest/skgtestfile.cpp
+tests/skgbasemodelertest/skgtestmacro.h
+tests/skgbasemodelertest/skgtestmultidocument.cpp
+tests/skgbasemodelertest/skgtestnodes.cpp
+tests/skgbasemodelertest/skgtestpassword.cpp
+tests/skgbasemodelertest/skgtestperfo.cpp
+tests/skgbasemodelertest/skgtestreport.cpp
+tests/skgbasemodelertest/skgtesttransaction.cpp
+tests/skgmyapplitest/CMakeLists.txt
+tests/skgmyapplitest/main.cpp
+tests/skgmyapplitest/org.kde.skgmyapplitest.desktop
+tests/skgmyapplitest/skgmyapplitest.notifyrc
+tests/skroogetest/CMakeLists.txt
+tests/CMakeLists.txt
+various/fr_inflation.csv
+various/quote.php
+various/skrooge_datamodel.mwb
+AUTHORS
+CHANGELOG
+CMakeLists.txt
+COPYING
+CTestConfig.cmake
+CTestCustom.cmake
+Doxyfile
+Mainpage.dox
+Messages.sh
+README
+skrooge.kdev4
+sonar-project.properties
+TODO
\ No newline at end of file
diff --git a/skrooge.includes b/skrooge.includes
new file mode 100644
index 0000000..35edd32
--- /dev/null
+++ b/skrooge.includes
@@ -0,0 +1,54 @@
+plugins/generic/skg_advice
+plugins/generic/skg_bookmark
+plugins/generic/skg_dashboard
+plugins/generic/skg_debug
+plugins/generic/skg_delete
+plugins/generic/skg_file
+plugins/generic/skg_highlight
+plugins/generic/skg_monthly
+plugins/generic/skg_monthly/grantlee_filters
+plugins/generic/skg_print
+plugins/generic/skg_properties
+plugins/generic/skg_selectall
+plugins/generic/skg_statistic
+plugins/generic/skg_undoredo
+plugins/import/skrooge_import_afb120
+plugins/import/skrooge_import_backend
+plugins/import/skrooge_import_csv
+plugins/import/skrooge_import_gnc
+plugins/import/skrooge_import_gsb
+plugins/import/skrooge_import_iif
+plugins/import/skrooge_import_json
+plugins/import/skrooge_import_kmy
+plugins/import/skrooge_import_mmb
+plugins/import/skrooge_import_mny
+plugins/import/skrooge_import_mt940
+plugins/import/skrooge_import_ofx
+plugins/import/skrooge_import_qif
+plugins/import/skrooge_import_skg
+plugins/import/skrooge_import_xhb
+plugins/import/skrooge_import_xml
+plugins/krunner/skrooge_add_operation
+plugins/skrooge/skrooge_bank
+plugins/skrooge/skrooge_budget
+plugins/skrooge/skrooge_calculator
+plugins/skrooge/skrooge_categories
+plugins/skrooge/skrooge_importexport
+plugins/skrooge/skrooge_operation
+plugins/skrooge/skrooge_payee
+plugins/skrooge/skrooge_report
+plugins/skrooge/skrooge_scheduled
+plugins/skrooge/skrooge_search
+plugins/skrooge/skrooge_tracker
+plugins/skrooge/skrooge_unit
+skgbankgui
+skgbankmodeler
+skgbasegui
+skgbasemodeler
+skgsqlcipher
+skroogeakonadi
+templates/skrooge_import_xxx
+templates/skrooge_xxx
+tests/skgbankguitest
+tests/skgbaseguitest
+tests/skgbasemodelertest
\ No newline at end of file
diff --git a/tests/skgbankmodelertest/skgtestpfs.cpp \
b/tests/skgbankmodelertest/skgtestpfs.cpp index 5a8e8f1..c74e189 100644
--- a/tests/skgbankmodelertest/skgtestpfs.cpp
+++ b/tests/skgbankmodelertest/skgtestpfs.cpp
@@ -46,20 +46,20 @@ int main(int argc, char** argv)
         SKGReportBank* rep = static_cast<SKGReportBank*>(document1.getReport());
 
         rep->setPeriod(QStringLiteral("2010"));
-        SKGTEST(QStringLiteral("SKGReportBank:getPersonalFinanceScore"), \
SKGServices::doubleToString(rep->getPersonalFinanceScoreDetails().at(0).toDouble()), \
                QStringLiteral("-0.5238095238"));
-        SKGTEST(QStringLiteral("SKGReportBank:getPersonalFinanceScore"), \
rep->getPersonalFinanceScoreDetails().at(1).toString(), QStringLiteral("danger")); +  \
SKGTEST(QStringLiteral("SKGReportBank:getPersonalFinanceScore"), \
SKGServices::doubleToString(rep->getPersonalFinanceScoreDetails()[QStringLiteral("value")].toDouble()), \
QStringLiteral("-0.5238095238")); +        \
SKGTEST(QStringLiteral("SKGReportBank:getPersonalFinanceScore"), \
rep->getPersonalFinanceScoreDetails()[QStringLiteral("level")].toString(), \
QStringLiteral("danger"));  rep->setPeriod(QStringLiteral("2011"));
-        SKGTEST(QStringLiteral("SKGReportBank:getPersonalFinanceScore"), \
SKGServices::doubleToString(rep->getPersonalFinanceScoreDetails().at(0).toDouble()), \
                QStringLiteral("1.25"));
-        SKGTEST(QStringLiteral("SKGReportBank:getPersonalFinanceScore"), \
rep->getPersonalFinanceScoreDetails().at(1).toString(), QStringLiteral("warning")); + \
SKGTEST(QStringLiteral("SKGReportBank:getPersonalFinanceScore"), \
SKGServices::doubleToString(rep->getPersonalFinanceScoreDetails()[QStringLiteral("value")].toDouble()), \
QStringLiteral("1.25")); +        \
SKGTEST(QStringLiteral("SKGReportBank:getPersonalFinanceScore"), \
rep->getPersonalFinanceScoreDetails()[QStringLiteral("level")].toString(), \
QStringLiteral("warning"));  rep->setPeriod(QStringLiteral("2012"));
-        SKGTEST(QStringLiteral("SKGReportBank:getPersonalFinanceScore"), \
SKGServices::doubleToString(rep->getPersonalFinanceScoreDetails().at(0).toDouble()), \
                QStringLiteral("8.166666667"));
-        SKGTEST(QStringLiteral("SKGReportBank:getPersonalFinanceScore"), \
rep->getPersonalFinanceScoreDetails().at(1).toString(), QStringLiteral("warning")); + \
SKGTEST(QStringLiteral("SKGReportBank:getPersonalFinanceScore"), \
SKGServices::doubleToString(rep->getPersonalFinanceScoreDetails()[QStringLiteral("value")].toDouble()), \
QStringLiteral("8.166666667")); +        \
SKGTEST(QStringLiteral("SKGReportBank:getPersonalFinanceScore"), \
rep->getPersonalFinanceScoreDetails()[QStringLiteral("level")].toString(), \
QStringLiteral("warning"));  rep->setPeriod(QStringLiteral("2013"));
-        SKGTEST(QStringLiteral("SKGReportBank:getPersonalFinanceScore"), \
SKGServices::doubleToString(rep->getPersonalFinanceScoreDetails().at(0).toDouble()), \
                QStringLiteral("11.45"));
-        SKGTEST(QStringLiteral("SKGReportBank:getPersonalFinanceScore"), \
rep->getPersonalFinanceScoreDetails().at(1).toString(), QStringLiteral("success")); + \
SKGTEST(QStringLiteral("SKGReportBank:getPersonalFinanceScore"), \
SKGServices::doubleToString(rep->getPersonalFinanceScoreDetails()[QStringLiteral("value")].toDouble()), \
QStringLiteral("11.45")); +        \
SKGTEST(QStringLiteral("SKGReportBank:getPersonalFinanceScore"), \
rep->getPersonalFinanceScoreDetails()[QStringLiteral("level")].toString(), \
QStringLiteral("success"));  rep->setPeriod(QStringLiteral("2014"));
-        SKGTEST(QStringLiteral("SKGReportBank:getPersonalFinanceScore"), \
SKGServices::doubleToString(rep->getPersonalFinanceScoreDetails().at(0).toDouble()), \
                QStringLiteral("35.45"));
-        SKGTEST(QStringLiteral("SKGReportBank:getPersonalFinanceScore"), \
rep->getPersonalFinanceScoreDetails().at(1).toString(), QStringLiteral("success")); + \
SKGTEST(QStringLiteral("SKGReportBank:getPersonalFinanceScore"), \
SKGServices::doubleToString(rep->getPersonalFinanceScoreDetails()[QStringLiteral("value")].toDouble()), \
QStringLiteral("35.45")); +        \
SKGTEST(QStringLiteral("SKGReportBank:getPersonalFinanceScore"), \
rep->getPersonalFinanceScoreDetails()[QStringLiteral("level")].toString(), \
QStringLiteral("success"));  }
 
     // End test


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

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