Mercurial > trustbridge
diff ui/mainwindow.cpp @ 652:f65503c1833b trustbridge-refactor
Updated mainwindow layout and removed obsolete code.
author | Raimund Renkert <rrenkert@intevation.de> |
---|---|
date | Wed, 25 Jun 2014 14:54:45 +0200 |
parents | f8be956c819b |
children | 39f03316f675 |
line wrap: on
line diff
--- a/ui/mainwindow.cpp Wed Jun 25 14:51:43 2014 +0200 +++ b/ui/mainwindow.cpp Wed Jun 25 14:54:45 2014 +0200 @@ -59,9 +59,6 @@ MainWindow::MainWindow(bool trayMode): mTrayMode(trayMode) { - mUpdatesNewSize = 0; - mUpdatesRemoveSize = 0; - mUpdatesManualSize = 0; createActions(); createTrayIcon(); createContent(); @@ -375,7 +372,6 @@ QVBoxLayout *buttonBarLayout = new QVBoxLayout; QHBoxLayout *bottomLayout = new QHBoxLayout; QHBoxLayout *containerLayout = new QHBoxLayout; - QVBoxLayout *updatesPanelLayout = new QVBoxLayout; // The header (icon, about text) QImage *logoImage = new QImage(":/img/logo.png"); @@ -391,7 +387,9 @@ headerLayout->setStretch(0, 0); headerLayout->setStretch(1, 10); - // Buttonbar + /*********************************** + * The Buttonbar on the left side. + ***********************************/ mButtonGroup = new QButtonGroup; QToolButton *updatesButton = new QToolButton; @@ -448,49 +446,86 @@ buttonBarLayout->insertStretch(3, 10); buttonBarLayout->addWidget(infoButton); - //The main panels. - //The updates page. + /******************************** + * The main pages. + ********************************/ + + /******************************** + * The updates page. + ********************************/ + QVBoxLayout *updatesMainLayout = new QVBoxLayout; mUpdatesPanel = new QScrollArea; + QScrollArea *updatesContent = new QScrollArea; +// updatesContent->setFrameShape(QFrame::NoFrame); mUpdatesWidget = new QWidget; + + /* The updates header */ QHBoxLayout *updatesHeaderLayout = new QHBoxLayout; QVBoxLayout *updatesHeaderTextLayout = new QVBoxLayout; - QVBoxLayout *updatesHeaderSettLayout = new QVBoxLayout; + QVBoxLayout *updatesHeaderButtonLayout = new QVBoxLayout; + QHBoxLayout *updatesHeaderActionLayout = new QHBoxLayout; + QHBoxLayout *updatesHeaderSearchLayout = new QHBoxLayout; mUpdatesHeader = - new QLabel("<h2>" + tr("Updates (%1/%2)").arg(2).arg(4)+ "</h2>"); + new QLabel("<h2>" + tr("Updates (%1/%2)").arg(0).arg(0)+ "</h2>"); mLastCertUpdate = - new QLabel(tr("Last certificate update: %1").arg("today")); + new QLabel(tr("Last certificate update: %1").arg("")); mLastSWupdate = - new QLabel(tr("Last Software update: %1").arg("today")); + new QLabel(tr("Last Software update: %1").arg("")); + QLabel *updatesTip = + new QLabel("<h4>" + tr("The following certificate changes are recommended.") + "</h4>"); + updatesHeaderTextLayout->addWidget(mUpdatesHeader); updatesHeaderTextLayout->addWidget(mLastCertUpdate); updatesHeaderTextLayout->addWidget(mLastSWupdate); + updatesHeaderTextLayout->addSpacing(10); + updatesHeaderTextLayout->addWidget(updatesTip); QPushButton *searchUpdates = new QPushButton(tr("Search for Updates")); + searchUpdates->setIcon(QIcon(":/img/system-search.png")); + QPushButton *quitButton = new QPushButton(tr("Quit without saving")); + quitButton->setIcon(QIcon(":/img/system-shutdown.png")); + QPushButton *installButton = new QPushButton(tr("Update")); +#ifdef Q_OS_WIN + if (is_admin()) { + QIcon uacShield = QApplication::style()->standardIcon(QStyle::SP_VistaShield); + installButton->setIcon(uacShield); + } +#else + installButton->setIcon(QIcon(":/img/edit-redo.png")); +#endif + connect(quitButton, SIGNAL(clicked()), this, SLOT(closeApp())); + connect(installButton, SIGNAL(clicked()), this, SLOT(installCerts())); connect(searchUpdates, SIGNAL(clicked()), this, SLOT(checkUpdates())); - updatesHeaderSettLayout->insertStretch(0, 10); - updatesHeaderSettLayout->addWidget(searchUpdates); + + updatesHeaderActionLayout->addWidget(installButton); + updatesHeaderActionLayout->addWidget(quitButton); + updatesHeaderSearchLayout->insertStretch(0, 1); + updatesHeaderSearchLayout->addWidget(searchUpdates); + + updatesHeaderButtonLayout->addLayout(updatesHeaderSearchLayout); + updatesHeaderButtonLayout->addLayout(updatesHeaderActionLayout); + updatesHeaderLayout->addLayout(updatesHeaderTextLayout); updatesHeaderLayout->insertStretch(1, 10); - updatesHeaderLayout->addLayout(updatesHeaderSettLayout); + updatesHeaderLayout->addLayout(updatesHeaderButtonLayout); + /* The central panels. */ QVBoxLayout *updatesCenterLayout = new QVBoxLayout; QHBoxLayout *updatesNewLayout = new QHBoxLayout; QHBoxLayout *updatesRemoveLayout = new QHBoxLayout; QHBoxLayout *updatesManualLayout = new QHBoxLayout; - QLabel *updatesTip = - new QLabel(tr("The following certificate changes are recommended.")); mUpdatesNewCertificates = new QLabel("<h3>" + - tr("Install new Certificates (%1/%2)").arg(2).arg(2) + + tr("Install new Certificates (%1/%2)").arg(0).arg(0) + "</h3>"); - QPushButton *updatesDetailsNew = new QPushButton(tr("Details")); - connect(updatesDetailsNew, + mUpdatesDetailsNew = new QPushButton(tr("Show Details")); + connect(mUpdatesDetailsNew, SIGNAL(clicked()), this, SLOT(toggleUpdatesNew())); updatesNewLayout->addWidget(mUpdatesNewCertificates); - updatesNewLayout->addWidget(updatesDetailsNew); + updatesNewLayout->addWidget(mUpdatesDetailsNew); updatesNewLayout->insertStretch(2, 10); mUpdatesNew = new CertificateListWidget(this); connect(mUpdatesNew, SIGNAL(certListChanged(int)), @@ -499,15 +534,15 @@ mUpdatesRemoveCertificates = new QLabel("<h3>" + - tr("Remove insecure Certificates (%1/%2)").arg(2).arg(2) + + tr("Remove insecure Certificates (%1/%2)").arg(0).arg(0) + "</h3>"); - QPushButton *updatesDetailsRemove = new QPushButton(tr("Details")); - connect(updatesDetailsRemove, + mUpdatesDetailsRemove = new QPushButton(tr("Show Details")); + connect(mUpdatesDetailsRemove, SIGNAL(clicked()), this, SLOT(toggleUpdatesRemove())); updatesRemoveLayout->addWidget(mUpdatesRemoveCertificates); - updatesRemoveLayout->addWidget(updatesDetailsRemove); + updatesRemoveLayout->addWidget(mUpdatesDetailsRemove); updatesRemoveLayout->insertStretch(2, 10); mUpdatesRemove = new CertificateListWidget(this); connect(mUpdatesRemove, SIGNAL(certListChanged(int)), @@ -516,68 +551,43 @@ mUpdatesManualCertificates = new QLabel("<h3>" + - tr("Manualy changed Certificates (%1)").arg(2) + + tr("Manualy changed Certificates (%1)").arg(0) + "</h3>"); - QPushButton *updatesDetailsManual = new QPushButton(tr("Details")); - connect(updatesDetailsManual, + mUpdatesDetailsManual = new QPushButton(tr("Show Details")); + connect(mUpdatesDetailsManual, SIGNAL(clicked()), this, SLOT(toggleUpdatesManual())); updatesManualLayout->addWidget(mUpdatesManualCertificates); - updatesManualLayout->addWidget(updatesDetailsManual); + updatesManualLayout->addWidget(mUpdatesDetailsManual); updatesManualLayout->insertStretch(2, 10); mUpdatesManual = new CertificateListWidget(this); mUpdatesManual->hide(); connect(mUpdatesManual, SIGNAL(certChanged(bool, const Certificate&)), this, SLOT(removeFromManual(bool, const Certificate&))); - QHBoxLayout *updatesBottomLayout = new QHBoxLayout; - QPushButton *quitButton = new QPushButton(tr("Quit without saving")); - QPushButton *installButton = new QPushButton(tr("Update")); -#ifdef Q_OS_WIN - if (is_admin()) { - QIcon uacShield = QApplication::style()->standardIcon(QStyle::SP_VistaShield); - installButton->setIcon(uacShield); - } -#endif - connect(quitButton, SIGNAL(clicked()), this, SLOT(closeApp())); - connect(installButton, SIGNAL(clicked()), this, SLOT(installCerts())); - updatesBottomLayout->insertStretch(0, 10); - updatesBottomLayout->addWidget(installButton); - updatesBottomLayout->addWidget(quitButton); - updatesBottomLayout->setAlignment(Qt::AlignBottom); - updatesNewLayout->setAlignment(Qt::AlignTop); updatesRemoveLayout->setAlignment(Qt::AlignTop); updatesManualLayout->setAlignment(Qt::AlignTop); - updatesCenterLayout->addWidget(updatesTip, 0, Qt::AlignTop); updatesCenterLayout->addLayout(updatesNewLayout); -// updatesCenterLayout->setStretchFactor(updatesNewLayout, 100); - updatesCenterLayout->addWidget(mUpdatesNew, 1, Qt::AlignTop); + updatesCenterLayout->addWidget(mUpdatesNew); updatesCenterLayout->addLayout(updatesRemoveLayout); -// updatesCenterLayout->setStretchFactor(updatesRemoveLayout, 100); - updatesCenterLayout->addWidget(mUpdatesRemove, 1, Qt::AlignTop); + updatesCenterLayout->addWidget(mUpdatesRemove); updatesCenterLayout->addLayout(updatesManualLayout); -// updatesCenterLayout->setStretchFactor(updatesManualLayout, 100); - updatesCenterLayout->addWidget(mUpdatesManual, 1, Qt::AlignTop); - updatesCenterLayout->insertStretch(7, 0); - updatesCenterLayout->addLayout(updatesBottomLayout); - + updatesCenterLayout->addWidget(mUpdatesManual); + updatesCenterLayout->addStretch(1); - QFrame *updatesPanelSeparator = new QFrame(); - updatesPanelSeparator->setFrameShape(QFrame::HLine); - updatesPanelSeparator->setFrameShadow(QFrame::Sunken); - updatesPanelLayout->addLayout(updatesHeaderLayout); - updatesPanelLayout->addWidget(updatesPanelSeparator); - updatesPanelLayout->addLayout(updatesCenterLayout); - updatesPanelLayout->setStretchFactor(updatesCenterLayout, 1); - //updatesPanelLayout->insertStretch(3, 2); - //updatesPanelLayout->addLayout(updatesBottomLayout); - mUpdatesWidget->setLayout(updatesPanelLayout); - mUpdatesWidget->setMinimumSize(QSize(820, 440)); - mUpdatesPanel->setWidget(mUpdatesWidget); + updatesCenterLayout->setSizeConstraint(QLayout::SetMinAndMaxSize); + mUpdatesWidget->setLayout(updatesCenterLayout); + updatesContent->setWidget(mUpdatesWidget); - // Panel for trusted certificates. + updatesMainLayout->addLayout(updatesHeaderLayout); + updatesMainLayout->addWidget(updatesContent); + mUpdatesPanel->setLayout(updatesMainLayout); + + /********************************* + * Panel for trusted certificates. + *********************************/ mInstallPanel = new QScrollArea; QVBoxLayout *installPanelLayout = new QVBoxLayout; @@ -606,7 +616,9 @@ installPanelLayout->addWidget(mInstallList); mInstallPanel->setLayout(installPanelLayout); - // Panel for insecure certificates. + /********************************** + * Panel for insecure certificates. + **********************************/ mRemovePanel = new QScrollArea; QVBoxLayout *removePanelLayout = new QVBoxLayout; QVBoxLayout *removeHeaderLayout = new QVBoxLayout; @@ -632,7 +644,9 @@ removePanelLayout->addWidget(mRemoveList); mRemovePanel->setLayout(removePanelLayout); - // Info panel. + /********************************** + * The info panel. + **********************************/ mInfoPanel = new QScrollArea; QVBoxLayout *infoPanelLayout = new QVBoxLayout; @@ -701,7 +715,9 @@ infoPanelLayout->addLayout(infoCenterLayout); mInfoPanel->setLayout(infoPanelLayout); - // The main layout for pages. + /******************************** + * The main layout for pages. + ********************************/ mInstallPanel->hide(); mRemovePanel->hide(); mInfoPanel->hide(); @@ -713,12 +729,7 @@ centerLayout->addLayout(buttonBarLayout); centerLayout->addLayout(containerLayout); - QFrame *topSeparator = new QFrame(); - topSeparator->setFrameShape(QFrame::HLine); - topSeparator->setFrameShadow(QFrame::Sunken); - mainLayout->addLayout(headerLayout); - mainLayout->addWidget(topSeparator); mainLayout->addLayout(centerLayout); mainLayout->addLayout(bottomLayout); base->setLayout(mainLayout); @@ -769,9 +780,6 @@ mRemoveList->addCertificate(cert, state, !state); } } - // Set the date of the old list. -// mCurrentListDate->setText(tr("Current List Date: %1") -// .arg(mInstalledList.date().toString())); } else { // Sort and filter both lists. @@ -812,9 +820,6 @@ .arg(newRemoveCerts.size() + newInstallCerts.size()) + "</h2>"); mLastCertUpdate->setText(tr("Last certificate update: %1") .arg(mInstalledList.date().toString())); -/* mCurrentListDate->setText(tr("Current List Date: %1") - .arg(mInstalledList.date().toString())); - mNewListDate->setText(tr("New List Date: %1").arg(mListToInstall.date().toString()));*/ } mUpdatesNewCertificates->setText("<h3>" + tr("Install new Certificates (%1/%2)") @@ -992,7 +997,6 @@ } void MainWindow::toggleUpdatesNew() { - QSize old = mUpdatesWidget->size(); if (!mUpdatesNew->isVisible()) { mUpdatesNew->show(); if (mUpdatesNewSize == 0) {