Skip to content

Commit

Permalink
More meaningful return type from conversion to XML
Browse files Browse the repository at this point in the history
  • Loading branch information
dragotin committed Jun 16, 2024
1 parent d4c8141 commit ef5bfb9
Show file tree
Hide file tree
Showing 4 changed files with 42 additions and 36 deletions.
20 changes: 5 additions & 15 deletions src/dbtoxmlconverter.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -72,28 +72,18 @@ QMap<QByteArray, int> DbToXMLConverter::convert(const QString& dBase)

// FIXME Check for errors and set ok flag
}
qDebug() << "Conversion to" << dBase;
for( const auto& k : results.keys()) {
qDebug() << "Conversion result" << k << ":" << results[k];
}

// -- Convert the numbercycles
int nc_cnt = convertNumbercycles(dBase);
qDebug() << "Converted"<< nc_cnt << "numbercycles in"<< dBase;
results["numberCyclesOk"] = nc_cnt;
for( const auto& k : results.keys()) {
qDebug() << "Conversion result" << k << ":" << results[k];
}

if (nc_cnt == 0) {
qDebug() << "Could not convert any numbercycles. Smell!";
ok = false;
}

// if all was good it is switched to the new base dir
if (ok) {
if (DefaultProvider::self()->switchToV2BaseDir(dBase)) {

XmlDocIndex indx;
Q_UNUSED(indx)
}
}
return results;
}

QMap<int, int> DbToXMLConverter::yearMap()
Expand Down
4 changes: 2 additions & 2 deletions src/dbtoxmlconverter.h
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,10 @@ class DbToXMLConverter : public QObject
public:
explicit DbToXMLConverter(QObject *parent = nullptr);

void convert();
QMap<QByteArray, int> convert(const QString &dBase);
QMap <int, int> yearMap();

private:
QMap <int, int> yearMap();

void convertDocsOfYear(int year, const QString& basePath, QMap<QByteArray, int> &);
bool convertLatestPdf(const QString &basePath, const QString& ident, const QString& uuid);
Expand Down
52 changes: 34 additions & 18 deletions src/portal.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1104,28 +1104,44 @@ void Portal::slotReconfigureDatabase()
}
}

void Portal::slotConvertToXML()
QString Portal::slotConvertToXML()
{
DbToXMLConverter converter;

const QString info{ tr("Conversion started")};
const QString dBase = DefaultProvider::self()->createV2BaseDir();
const QString info{ tr("Conversion started to %1").arg(dBase)};

auto dia = new QDialog(this);
dia->setAttribute(Qt::WA_DeleteOnClose);
Ui::dbToXMLDialog ui;
ui.setupUi(dia);
ui.textBrowser->setText(info);
ui.buttonBox->button(QDialogButtonBox::StandardButton::Close)->setEnabled(false);
dia->show();
QApplication::processEvents();

connect(&converter, &DbToXMLConverter::conversionOut, this, [=](const QString& msg) {
qDebug() << "##########" << msg;
ui.textBrowser->append(msg);
QApplication::processEvents();
});
converter.convert();
ui.buttonBox->button(QDialogButtonBox::StandardButton::Close)->setEnabled(true);
auto yearMap = converter.yearMap();

if (yearMap.size() == 0) {
qDebug() << "Nothing to convert, fresh installation!";
} else {
auto dia = new QDialog(this);
dia->setAttribute(Qt::WA_DeleteOnClose);
Ui::dbToXMLDialog ui;
ui.setupUi(dia);
ui.textBrowser->setText(info);
ui.buttonBox->button(QDialogButtonBox::StandardButton::Close)->setEnabled(false);
dia->show();
QApplication::processEvents();

connect(&converter, &DbToXMLConverter::conversionOut, this, [=](const QString& msg) {
qDebug() << "##########" << msg;
ui.textBrowser->append(msg);
QApplication::processEvents();
});
QMap<QByteArray, int> results = converter.convert(dBase);
Q_UNUSED(results)
ui.buttonBox->button(QDialogButtonBox::StandardButton::Close)->setEnabled(true);
}
// switch to the new base dir

if (DefaultProvider::self()->switchToV2BaseDir(dBase)) {

XmlDocIndex indx;
Q_UNUSED(indx)
}
return dBase;
}


Expand Down
2 changes: 1 addition & 1 deletion src/portal.h
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ class Portal : public QMainWindow
void slotDocConvertionFail(const QString &uuid, const QString& failString, const QString &details);
void openInMailer(const QString& fileName, const KContacts::Addressee& contact);

void slotConvertToXML();
QString slotConvertToXML();

public slots:

Expand Down

0 comments on commit ef5bfb9

Please sign in to comment.