diff options
| author | Tobias Markmann <tm@ayena.de> | 2015-09-01 16:09:56 (GMT) | 
|---|---|---|
| committer | Kevin Smith <kevin.smith@isode.com> | 2015-09-03 13:00:01 (GMT) | 
| commit | b6ffd5a332b6b21fdba9937fa3a0274556a09cdf (patch) | |
| tree | 68881c3e863cdf285ff5de69af2daf3b8df1909b | |
| parent | 397d008fc066694130fed8137891a6bb755ddeb2 (diff) | |
| download | swift-b6ffd5a332b6b21fdba9937fa3a0274556a09cdf.zip swift-b6ffd5a332b6b21fdba9937fa3a0274556a09cdf.tar.bz2 | |
Add close button to about dialog for Linux desktops
The default Debian 7 desktop uses window decorations for dialog
windows that does not have close window buttons at the top. This
commit adds a dedicated close button to the about window.
This button is *not* added on Windows and OS X.
Test-Information:
Tested looks and function on OS X 10.9.5 with Qt 5.4.2 and
Debian 7 with Qt 5.3.2.
Change-Id: Ia363f66666eb88d43834ab0556f7b06efd3cedef
| -rw-r--r-- | Swift/QtUI/QtAboutWidget.cpp | 29 | 
1 files changed, 23 insertions, 6 deletions
| diff --git a/Swift/QtUI/QtAboutWidget.cpp b/Swift/QtUI/QtAboutWidget.cpp index 3de95f4..7145384 100644 --- a/Swift/QtUI/QtAboutWidget.cpp +++ b/Swift/QtUI/QtAboutWidget.cpp @@ -1,20 +1,22 @@  /* - * Copyright (c) 2010 Isode Limited. + * Copyright (c) 2010-2015 Isode Limited.   * All rights reserved.   * See the COPYING file for more information.   */ -#include "Swift/QtUI/QtAboutWidget.h" +#include <Swift/QtUI/QtAboutWidget.h>  #include <QCoreApplication> +#include <QFile>  #include <QIcon>  #include <QLabel> -#include <QVBoxLayout> -#include <QtGlobal>  #include <QPushButton>  #include <QTextEdit> -#include <QFile>  #include <QTextStream> +#include <QVBoxLayout> +#include <QtGlobal> + +#include <Swiften/Base/Platform.h>  namespace Swift { @@ -50,11 +52,26 @@ QtAboutWidget::QtAboutWidget() : QDialog() {  		mainLayout->addWidget(new QLabel(QString("<center><font size='-1'>") + QString(tr("Using the English translation by\n%1")).arg(QCoreApplication::translate("TRANSLATION_INFO", "TRANSLATION_AUTHOR")).replace("\n", "<br/>") + "</font></center>", this));  	}  	QCoreApplication::translate("TRANSLATION_INFO", "TRANSLATION_LICENSE", "This string contains the license under which this translation is licensed. We ask you to license the translation under the BSD license. Please read http://www.opensource.org/licenses/bsd-license.php, and if you agree to release your translation under this license, use the following (untranslated) text: 'This translation is licensed under the BSD License. See http://www.opensource.org/licenses/bsd-license.php'"); - +#if defined(SWIFTEN_PLATFORM_WINDOWS) || defined(SWIFTEN_PLATFORM_MACOSX)  	QPushButton* licenseButton = new QPushButton(tr("View License"), this);  	mainLayout->addWidget(licenseButton);  	connect(licenseButton, SIGNAL(clicked()), this, SLOT(handleLicenseClicked())); +#else +	// Some Linux desktops have dialog window decorations without close window buttons. +	// This code adds a dedicated button to close the about window dialog. +	QHBoxLayout* buttonLayout = new QHBoxLayout(); +	mainLayout->addLayout(buttonLayout); + +	QPushButton* licenseButton = new QPushButton(tr("View License"), this); +	buttonLayout->addWidget(licenseButton); +	connect(licenseButton, SIGNAL(clicked()), this, SLOT(handleLicenseClicked())); + +	buttonLayout->addItem(new QSpacerItem(20,20)); +	QPushButton* closeButton = new QPushButton(tr("Close"), this); +	buttonLayout->addWidget(closeButton); +	connect(closeButton, SIGNAL(clicked()), this, SLOT(accept())); +#endif  	setFixedSize(minimumSizeHint());  } | 
 Swift
 Swift