# HG changeset patch # User Andre Heinecke # Date 1404225838 -7200 # Node ID 0fc1a20adaff00728eab1f1be9587b03ef8d0e36 # Parent 3791a277f00b9fe1a8fe3ad4dc839133edc238c9 (Issue 27) Change Quit button text depending on changes or no changes. diff -r 3791a277f00b -r 0fc1a20adaff ui/mainwindow.cpp --- a/ui/mainwindow.cpp Tue Jul 01 16:39:28 2014 +0200 +++ b/ui/mainwindow.cpp Tue Jul 01 16:43:58 2014 +0200 @@ -549,8 +549,8 @@ QPushButton *searchUpdates = new QPushButton(tr("Check for updates")); searchUpdates->setIcon(QIcon(":/img/edit-find.png")); - QPushButton *quitButton = new QPushButton(tr("Quit without saving")); - quitButton->setIcon(QIcon(":/img/application-exit.png")); + mQuitButton = new QPushButton(tr("Quit without saving")); + mQuitButton->setIcon(QIcon(":/img/application-exit.png")); QPushButton *installButton = new QPushButton(tr("Install updates")); #ifdef Q_OS_WIN if (is_admin()) { @@ -560,12 +560,12 @@ #else installButton->setIcon(QIcon(":/img/view-refresh.png")); #endif - connect(quitButton, SIGNAL(clicked()), this, SLOT(closeApp())); + connect(mQuitButton, SIGNAL(clicked()), this, SLOT(closeApp())); connect(installButton, SIGNAL(clicked()), this, SLOT(checkAndInstallCerts())); connect(searchUpdates, SIGNAL(clicked()), this, SLOT(checkUpdates())); updatesHeaderActionLayout->addWidget(installButton); - updatesHeaderActionLayout->addWidget(quitButton); + updatesHeaderActionLayout->addWidget(mQuitButton); updatesHeaderSearchLayout->insertStretch(0, 1); updatesHeaderSearchLayout->addWidget(searchUpdates); @@ -807,6 +807,15 @@ void MainWindow::listChanged(int selected) { + if (mUpdatesRemove->selectedCertCount() + + mUpdatesNew->selectedCertCount() + + mUpdatesManual->selectedCertCount() == 0) { + /* No changes */ + mQuitButton->setText(tr("Quit")); + } else { + mQuitButton->setText(tr("Quit without saving")); + } + mUpdatesHeader->setText("

" + tr("Updates (%1/%2)") .arg(mUpdatesRemove->selectedCertCount() + mUpdatesNew->selectedCertCount()) .arg(mUpdatesRemove->certificates().size() + mUpdatesNew->certificates().size()) + diff -r 3791a277f00b -r 0fc1a20adaff ui/mainwindow.h --- a/ui/mainwindow.h Tue Jul 01 16:39:28 2014 +0200 +++ b/ui/mainwindow.h Tue Jul 01 16:43:58 2014 +0200 @@ -30,6 +30,7 @@ class QMenu; class QAction; class QTimer; +class QPushButton; class MainWindow : public QMainWindow @@ -186,6 +187,7 @@ QAction *mQuitAction; CurrentState mCurState; QMenuBar *mMenuBar; + QPushButton *mQuitButton; /* The current list that should be installed */ CertificateList mListToInstall;