diff options
author | Nils Schwabe | 2014-03-07 16:23:16 +0100 |
---|---|---|
committer | Nils Schwabe | 2014-03-07 16:23:16 +0100 |
commit | 56d213b3c8984ef033784e60fccf25d3cfbdbb13 (patch) | |
tree | ac6fdf1487a2051a702b58cae349cd6c6e3d6e84 /src/dialog.cpp | |
parent | fixed umlauts in xml (diff) | |
download | vmchooser2-56d213b3c8984ef033784e60fccf25d3cfbdbb13.tar.gz vmchooser2-56d213b3c8984ef033784e60fccf25d3cfbdbb13.tar.xz vmchooser2-56d213b3c8984ef033784e60fccf25d3cfbdbb13.zip |
Added function to add info entries if the xml file could not be loaded
Diffstat (limited to 'src/dialog.cpp')
-rw-r--r-- | src/dialog.cpp | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/src/dialog.cpp b/src/dialog.cpp index 9367bf8..b48ff1b 100644 --- a/src/dialog.cpp +++ b/src/dialog.cpp @@ -84,6 +84,18 @@ void Dialog::addItems(const QList<Session*>& entries, const QString& section) { ui->treeView->expandAll(); } +void Dialog::addLabelItem(const QString& label, const QString& section) { + this->model_->addLabelItem(label, section); + ui->treeView->setModel(model_); + ui->treeView->expandAll(); +} + +void Dialog::removeItem(const QString& name, const QString& section) { + this->model_->removeItem(name, section); + ui->treeView->setModel(model_); + ui->treeView->expandAll(); +} + void Dialog::on_pushButtonAbort_clicked() { close(); } @@ -262,6 +274,8 @@ void Dialog::addSessionsAfterDownload(QNetworkReply* reply) { if (debugMode) { qDebug() << "Cannot read backup file " << backup_filename << " either"; } + this->removeItem(QCoreApplication::instance()->translate("Dialog", "Loading..."),QCoreApplication::instance()->translate("Dialog", "Virtual Sessions")); + this->addLabelItem(QCoreApplication::instance()->translate("Dialog", "URL Error"), QCoreApplication::instance()->translate("Dialog", "Virtual Sessions")); return; } @@ -292,6 +306,14 @@ void Dialog::addSessionsAfterDownload(QNetworkReply* reply) { file.close(); } - this->addItems(VSession::readXmlFile(filename), QCoreApplication::instance()->translate("Dialog", "Virtual Sessions")); + const QList<Session*> sessions = VSession::readXmlFile(filename); + + this->removeItem(QCoreApplication::instance()->translate("Dialog", "Loading..."),QCoreApplication::instance()->translate("Dialog", "Virtual Sessions")); + + if (!sessions.isEmpty()) { + this->addItems(sessions, QCoreApplication::instance()->translate("Dialog", "Virtual Sessions")); + } else { + this->addLabelItem(QCoreApplication::instance()->translate("Dialog", "No Items"), QCoreApplication::instance()->translate("Dialog", "Virtual Sessions")); + } } |