From 56d213b3c8984ef033784e60fccf25d3cfbdbb13 Mon Sep 17 00:00:00 2001 From: Nils Schwabe Date: Fri, 7 Mar 2014 16:23:16 +0100 Subject: Added function to add info entries if the xml file could not be loaded --- src/dialog.cpp | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) (limited to 'src/dialog.cpp') 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& 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 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")); + } } -- cgit v1.2.3-55-g7522