diff options
author | Simon Rettberg | 2017-03-31 12:24:01 +0200 |
---|---|---|
committer | Simon Rettberg | 2017-03-31 12:24:01 +0200 |
commit | aeffac3139c13270c97d1ef85576ac1a7f7902a6 (patch) | |
tree | 8334af7adafc7279ff9f6631f64548bd1dd5eb73 /src/dialog.cpp | |
parent | Implement --pvs option (diff) | |
download | vmchooser2-aeffac3139c13270c97d1ef85576ac1a7f7902a6.tar.gz vmchooser2-aeffac3139c13270c97d1ef85576ac1a7f7902a6.tar.xz vmchooser2-aeffac3139c13270c97d1ef85576ac1a7f7902a6.zip |
Add support for <can_edit> XML entry
Diffstat (limited to 'src/dialog.cpp')
-rw-r--r-- | src/dialog.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/dialog.cpp b/src/dialog.cpp index 8c316b5..2fa629a 100644 --- a/src/dialog.cpp +++ b/src/dialog.cpp @@ -84,6 +84,7 @@ Dialog::Dialog(int defaultTab, bool examMode, QWidget *parent) //ui->tabButtonAllClasses->setChecked(true); ui->chkAdminMode->setVisible(g_allowVmEdit); + ui->chkAdminMode->setEnabled(false); // TODO: Implement bug report dialog :) ui->buttonBugReport->setEnabled(false); @@ -447,6 +448,16 @@ void Dialog::addSessionsAfterDownload(QNetworkReply* reply) { qSort(sessions.begin(), sessions.end(), myLessThan); this->addItems(sessions, TAB_ALL_VMS); // TODO: Filter user's classes and add to tab[TAB_MY_COURSES] + bool showEdit = false; + for (QList<Session*>::const_iterator it = sessions.begin(); it != sessions.end(); ++it) { + if (((VSession*)(*it))->canEdit()) { + showEdit = true; + break; + } + } + if (showEdit) { + ui->chkAdminMode->setVisible(true); + } } else { this->addStatusString(STR_NO_ITEMS); } @@ -489,6 +500,8 @@ void Dialog::treeView_selectionChanged(const QModelIndex& current, const QModelI ui->label_platform->setText(vs->getAttribute("virtualizer_name", "param")); ui->label_platform->setToolTip(vs->getAttribute("virtualizer_name", "param")); + ui->chkAdminMode->setEnabled(vs->canEdit()); + if (vs->keywords().length() > 0) { description = "\n\nKeywords: "; for (int i = 0; i < vs->keywords().length(); ++i) { |