summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTobias Markmann <tm@ayena.de>2017-03-15 12:56:19 (GMT)
committerKevin Smith <kevin.smith@isode.com>2017-03-15 14:26:14 (GMT)
commitedfd704d6f33934a22877ea06a474c8e0bfd94d7 (patch)
treec6dc5a6da149344f3cd3fec9bee9cbf27cc2d65b
parente7d414e233b46e3ede399cb7ef385b0d078cafc9 (diff)
downloadswift-edfd704d6f33934a22877ea06a474c8e0bfd94d7.zip
swift-edfd704d6f33934a22877ea06a474c8e0bfd94d7.tar.bz2
Add link to https://swift.im/ to about dialog
In addition, fix display of Swift icon in about dialog. Test-Information: Build on macOS 10.12.3 with Qt 5.4.2 and verified that the icon is display in the about dialog and clicking the link opens the Swift website in the default browser. Change-Id: If13e03bfa976354aeba1de9be4bcb1edabaa5403
-rw-r--r--Swift/QtUI/QtAboutWidget.cpp10
-rw-r--r--Swift/QtUI/Swift.qrc1
2 files changed, 10 insertions, 1 deletions
diff --git a/Swift/QtUI/QtAboutWidget.cpp b/Swift/QtUI/QtAboutWidget.cpp
index a2aa65c..2db0c9d 100644
--- a/Swift/QtUI/QtAboutWidget.cpp
+++ b/Swift/QtUI/QtAboutWidget.cpp
@@ -1,80 +1,88 @@
/*
* Copyright (c) 2010-2017 Isode Limited.
* All rights reserved.
* See the COPYING file for more information.
*/
#include <Swift/QtUI/QtAboutWidget.h>
#include <QCoreApplication>
+#include <QDesktopServices>
#include <QFile>
#include <QIcon>
#include <QLabel>
#include <QProgressBar>
#include <QPushButton>
#include <QTextEdit>
#include <QTextStream>
#include <QVBoxLayout>
#include <QtGlobal>
#include <Swiften/Base/Log.h>
#include <Swiften/Base/Platform.h>
#include <SwifTools/AutoUpdater/AutoUpdater.h>
#include <Swift/QtUI/QtSwiftUtil.h>
#include <Swift/QtUI/QtUISettingConstants.h>
#include <Swift/QtUI/QtUpdateFeedSelectionDialog.h>
#include <Swift/QtUI/SwiftUpdateFeeds.h>
namespace Swift {
QtAboutWidget::QtAboutWidget(SettingsProvider* settingsProvider, AutoUpdater* autoUpdater) : QDialog(), settingsProvider_(settingsProvider), autoUpdater_(autoUpdater) {
#ifndef Q_OS_MAC
setWindowTitle(QString(tr("About %1")).arg("Swift"));
#endif
setWindowIcon(QIcon(":/logo-icon-16.png"));
resize(180, 240);
QVBoxLayout *mainLayout = new QVBoxLayout(this);
mainLayout->setAlignment(Qt::AlignHCenter);
setLayout(mainLayout);
QLabel* iconLabel = new QLabel(this);
- iconLabel->setPixmap(QIcon(":/logo-shaded-text.256.png").pixmap(90, 90));
+ iconLabel->setPixmap(QIcon(":/logo-icon.svg").pixmap(90, 90));
iconLabel->setAlignment(Qt::AlignHCenter);
mainLayout->addWidget(iconLabel);
QLabel* appNameLabel = new QLabel("<center><font size='+1'><b>" + QCoreApplication::applicationName() + "</b></font></center>", this);
mainLayout->addWidget(appNameLabel);
+ auto websiteLabel = new QLabel("<center><font size='-1'><a href='https://swift.im/'>https://swift.im/</a></font></center>", this);
+ websiteLabel->setTextInteractionFlags(Qt::LinksAccessibleByMouse | Qt::LinksAccessibleByKeyboard);
+ connect(websiteLabel, &QLabel::linkActivated, [](){
+ QDesktopServices::openUrl(QUrl("https://swift.im/"));
+ });
+ mainLayout->addWidget(websiteLabel);
+
QLabel* versionLabel = new QLabel((QString("<center><font size='-1'>") + tr("Version %1") + "</font></center><center><font size='-1'><br/>" + QString(tr("Built with Qt %2")) + QString("<br/>") + QString(tr("Running with Qt %3")) + "</font></center>").arg(QCoreApplication::applicationVersion()).arg(QT_VERSION_STR).arg(qVersion()));
versionLabel->setTextInteractionFlags(Qt::TextSelectableByMouse | Qt::TextSelectableByKeyboard);
mainLayout->addWidget(versionLabel);
if (autoUpdater_) {
settingsChangedConnection_ = settingsProvider_->onSettingChanged.connect([&](const std::string& path) {
if (path == QtUISettingConstants::SOFTWARE_UPDATE_CHANNEL.getKey() || path == QtUISettingConstants::ENABLE_SOFTWARE_UPDATES.getKey()) {
updateUpdateInfo();
}
});
autoUpdaterChangeConnection_ = autoUpdater_->onUpdateStateChanged.connect([&](AutoUpdater::State /*updatedState*/) {
updateUpdateInfo();
});
}
updateChannelInfoLabel_ = new QLabel("", this);
updateChannelInfoLabel_->setTextInteractionFlags(Qt::LinksAccessibleByKeyboard | Qt::LinksAccessibleByMouse);
connect(updateChannelInfoLabel_, SIGNAL(linkActivated(const QString &)), this, SLOT(handleChangeUpdateChannelClicked()));
mainLayout->addWidget(updateChannelInfoLabel_);
updateStateInfoLabel_ = new QLabel("", this);
mainLayout->addWidget(updateStateInfoLabel_);
updateProgressBar_ = new QProgressBar(this);
updateProgressBar_->setMinimum(0);
updateProgressBar_->setMaximum(0);
mainLayout->addWidget(updateProgressBar_);
updateUpdateInfo();
diff --git a/Swift/QtUI/Swift.qrc b/Swift/QtUI/Swift.qrc
index cfb0fec..b04503c 100644
--- a/Swift/QtUI/Swift.qrc
+++ b/Swift/QtUI/Swift.qrc
@@ -1,37 +1,38 @@
<!DOCTYPE RCC>
<RCC version="1.0">
<qresource>
<file alias="logo-icon-16.png">../resources/logo/logo-icon-16.png</file>
<file alias="logo-icon-16-win.png">../resources/logo/logo-icon-16-win.png</file>
<file alias="logo-chat-16.png">../resources/logo/logo-chat-16.png</file>
<file alias="logo-shaded-text.png">../resources/logo/logo-shaded-text.png</file>
+ <file alias="logo-icon.svg">../resources/logo/logo-icon.svg</file>
<file alias="icons/online.png">../resources/icons/online.png</file>
<file alias="icons/connecting.mng">../resources/icons/connecting.mng</file>
<file alias="icons/away.png">../resources/icons/away.png</file>
<file alias="icons/dnd.png">../resources/icons/dnd.png</file>
<file alias="icons/offline.png">../resources/icons/offline.png</file>
<file alias="icons/certificate.png">../resources/icons/certificate.png</file>
<file alias="icons/lock.png">../resources/icons/lock.png</file>
<file alias="icons/error.png">../resources/icons/error.png</file>
<file alias="icons/warn.png">../resources/icons/warn.png</file>
<file alias="icons/check.png">../resources/icons/check.png</file>
<file alias="icons/throbber.gif">../resources/icons/throbber.gif</file>
<file alias="icons/avatar.svg">../resources/icons/avatar.svg</file>
<file alias="icons/no-avatar.png">../resources/icons/no-avatar.png</file>
<file alias="icons/tray-standard.png">../resources/icons/tray-standard.png</file>
<file alias="icons/new-chat.png">../resources/icons/new-chat.png</file>
<file alias="icons/actions.png">../resources/icons/actions.png</file>
<file alias="COPYING">COPYING</file>
<file alias="ChangeLog.md">../ChangeLog.md</file>
<file alias="icons/line.png">../resources/icons/line.png</file>
<file alias="icons/rect.png">../resources/icons/rect.png</file>
<file alias="icons/circle.png">../resources/icons/circle.png</file>
<file alias="icons/handline.png">../resources/icons/handline.png</file>
<file alias="icons/text.png">../resources/icons/text.png</file>
<file alias="icons/polygon.png">../resources/icons/polygon.png</file>
<file alias="icons/cursor.png">../resources/icons/cursor.png</file>
<file alias="icons/eraser.png">../resources/icons/eraser.png</file>
<file alias="emoticons/emoticons.txt">../resources/emoticons/emoticons.txt</file>
<file alias="emoticons/evilgrin.png">../resources/emoticons/evilgrin.png</file>
<file alias="emoticons/grin.png">../resources/emoticons/grin.png</file>
<file alias="emoticons/happy.png">../resources/emoticons/happy.png</file>