summaryrefslogtreecommitdiffstats
path: root/src/dialog.cpp
diff options
context:
space:
mode:
authorNils Schwabe2014-04-04 15:36:56 +0200
committerNils Schwabe2014-04-04 15:36:56 +0200
commit6fdf8229347dd9c4e039d11166c368ed0d694f92 (patch)
tree388c04e61aa1f3800db59179a05870c331c6e6ee /src/dialog.cpp
parentremoved addPrinters() and addScanners (diff)
downloadvmchooser2-6fdf8229347dd9c4e039d11166c368ed0d694f92.tar.gz
vmchooser2-6fdf8229347dd9c4e039d11166c368ed0d694f92.tar.xz
vmchooser2-6fdf8229347dd9c4e039d11166c368ed0d694f92.zip
fixed some sorting issues
Diffstat (limited to 'src/dialog.cpp')
-rw-r--r--src/dialog.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/dialog.cpp b/src/dialog.cpp
index c5fb21b..8db4a4b 100644
--- a/src/dialog.cpp
+++ b/src/dialog.cpp
@@ -87,6 +87,7 @@ void Dialog::on_treeView_activated(QModelIndex index) {
if (s->run()) {
writePVSSettings();
ChooserSettings::setSetting("last-session", (s->shortDescription()));
+ ChooserSettings::setSetting("last-tab", QString::number(activeTab));
setVisible(false);
} else {
@@ -216,7 +217,10 @@ bool Dialog::selectSession(const QString& name) {
void Dialog::selectPreviousSession() {
if (!ChooserSettings::getSetting("last-session").isEmpty()) {
ui->treeView->clearSelection();
- selectSession(ChooserSettings::getSetting("last-session"));
+ if (!selectSession(ChooserSettings::getSetting("last-session"))) {
+ // could not find last session, change to last used tab
+ this->onTabButtonChanged(ChooserSettings::getSetting("last-tab").toInt());
+ }
}
}
@@ -328,11 +332,12 @@ void Dialog::addSessionsAfterDownload(QNetworkReply* reply) {
file.close();
}
- const QList<Session*> sessions = VSession::readXmlFile(xml_filename);
+ QList<Session*> sessions = VSession::readXmlFile(xml_filename);
this->removeItem(QCoreApplication::instance()->translate("Dialog", "Loading..."), 1);
if (!sessions.isEmpty()) {
+ qSort(sessions.begin(), sessions.end(), myLessThan);
this->addItems(sessions, 1);
} else {
this->addLabelItem(QCoreApplication::instance()->translate("Dialog", "No Items"), 1);