improved about page

This commit is contained in:
Muki 2022-04-24 20:17:58 +02:00
parent 18c6f98c09
commit d31dc3245f
No known key found for this signature in database
GPG key ID: BC8D1811CB9F9932
18 changed files with 55 additions and 63 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

View file

@ -1,21 +1,9 @@
/* /* Copyright (C) 2014-2022 Michal Kosciesza <michal@mkiol.net>
Copyright (C) 2014-2019 Michal Kosciesza <michal@mkiol.net> *
* This Source Code Form is subject to the terms of the Mozilla Public
This file is part of Kaktus. * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
Kaktus is free software: you can redistribute it and/or modify */
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Kaktus is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Kaktus. If not, see <http://www.gnu.org/licenses/>.
*/
import QtQuick 2.0 import QtQuick 2.0
import Sailfish.Silica 1.0 import Sailfish.Silica 1.0
@ -23,7 +11,7 @@ import Sailfish.Silica 1.0
Page { Page {
id: root id: root
property bool showBar: false readonly property bool showBar: false
allowedOrientations: { allowedOrientations: {
switch (settings.allowedOrientations) { switch (settings.allowedOrientations) {
@ -52,12 +40,14 @@ Page {
spacing: Theme.paddingLarge spacing: Theme.paddingLarge
PageHeader { PageHeader {
title: qsTr("About") title: qsTr("About %1").arg(APP_NAME)
} }
Image { Image {
anchors.horizontalCenter: parent.horizontalCenter anchors.horizontalCenter: parent.horizontalCenter
source: "image://icons/icon-i-kaktus" height: root.isPortrait ? Theme.itemSizeHuge : Theme.iconSizeLarge
width: root.isPortrait ? Theme.itemSizeHuge : Theme.iconSizeLarge
source: settings.appIcon()
} }
InfoLabel { InfoLabel {
@ -71,16 +61,17 @@ Page {
text: qsTr("Version %1").arg(APP_VERSION); text: qsTr("Version %1").arg(APP_VERSION);
} }
Button { Flow {
text: qsTr("Changelog")
anchors.horizontalCenter: parent.horizontalCenter anchors.horizontalCenter: parent.horizontalCenter
onClicked: pageStack.push(Qt.resolvedUrl("ChangelogPage.qml")) spacing: Theme.paddingLarge
} Button {
text: qsTr("Project website")
Button { onClicked: Qt.openUrlExternally(PAGE)
text: qsTr("Project website") }
anchors.horizontalCenter: parent.horizontalCenter Button {
onClicked: Qt.openUrlExternally(PAGE) text: qsTr("Changes")
onClicked: pageStack.push(Qt.resolvedUrl("ChangelogPage.qml"))
}
} }
SectionHeader { SectionHeader {
@ -105,16 +96,23 @@ Page {
PaddedLabel { PaddedLabel {
horizontalAlignment: Text.AlignLeft horizontalAlignment: Text.AlignLeft
text: qsTr("Translations are provided by:") textFormat: Text.StyledText
text: qsTr("%1 is developed as an open source project under %2.")
.arg(APP_NAME)
.arg("<a href=\"" + LICENSE_URL + "\">" + LICENSE + "</a>")
}
SectionHeader {
text: qsTr("Translators")
} }
PaddedLabel { PaddedLabel {
horizontalAlignment: Text.AlignLeft horizontalAlignment: Text.AlignLeft
text: "Nathan Follens \nFri \nJozef Mlích \nCarmen Fernández B. " + text: "Nathan Follens · Fri · Jozef Mlích · Carmen Fernández B. " +
"\nGökhan Kalayci \nFallaffel Box \nBenjamin (schnubbbi) \nR.G. Sidler " + "· Gökhan Kalayci · Fallaffel Box · Benjamin (schnubbbi) · R.G. Sidler " +
"\nKoleesch \nFravaccaro \nPetr Tsymbarovich \nAndrey Getmantsev " + "· Koleesch · Fravaccaro · Petr Tsymbarovich · Andrey Getmantsev " +
"\nKiratonin \nАлексей Дедун \nmentaljam \nJosé Jiménez \nMesut Aktaş " + "· Kiratonin · Алексей Дедун · mentaljam · José Jiménez · Mesut Aktaş " +
"\nHeimen Stoffels \nRui Kon \nqwer_asew \nBérenger ARNAUD" "· Heimen Stoffels · Rui Kon · qwer_asew · Bérenger ARNAUD"
} }
PaddedLabel { PaddedLabel {
@ -131,7 +129,7 @@ Page {
PaddedLabel { PaddedLabel {
horizontalAlignment: Text.AlignLeft horizontalAlignment: Text.AlignLeft
text: "QHTTPServer \nReadability.js \nSimpleCrypt" text: "QHTTPServer · Readability.js · SimpleCrypt"
} }
Spacer {} Spacer {}

View file

@ -1,21 +1,9 @@
/* /* Copyright (C) 2016-2022 Michal Kosciesza <michal@mkiol.net>
Copyright (C) 2016 Michal Kosciesza <michal@mkiol.net> *
* This Source Code Form is subject to the terms of the Mozilla Public
This file is part of Kaktus. * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
Kaktus is free software: you can redistribute it and/or modify */
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Kaktus is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Kaktus. If not, see <http://www.gnu.org/licenses/>.
*/
import QtQuick 2.1 import QtQuick 2.1
import Sailfish.Silica 1.0 import Sailfish.Silica 1.0
@ -37,15 +25,13 @@ CoverBackground {
} }
function connectFetcher() { function connectFetcher() {
if (typeof fetcher === 'undefined') if (typeof fetcher === 'undefined') return;
return;
fetcher.progress.connect(fetcherProgress); fetcher.progress.connect(fetcherProgress);
fetcher.busyChanged.connect(fetcherBusyChanged); fetcher.busyChanged.connect(fetcherBusyChanged);
} }
function disconnectFetcher() { function disconnectFetcher() {
if (typeof fetcher === 'undefined') if (typeof fetcher === 'undefined') return;
return;
fetcher.progress.disconnect(fetcherProgress); fetcher.progress.disconnect(fetcherProgress);
fetcher.busyChanged.disconnect(fetcherBusyChanged); fetcher.busyChanged.disconnect(fetcherBusyChanged);
} }
@ -121,7 +107,7 @@ CoverBackground {
} }
CoverPlaceholder { CoverPlaceholder {
text: settings.signedIn ? root.busy ? root.label : root.unreadLabel : qsTr("Not signed in") text: settings.signedIn ? root.busy ? root.label : root.unreadLabel : APP_NAME
icon.source: "image://icons/icon-a-kaktus" icon.source: settings.appIcon()
} }
} }

View file

@ -31,7 +31,7 @@ PullDownMenu {
property bool showNetwork: true property bool showNetwork: true
MenuItem { MenuItem {
text: qsTr("About") text: qsTr("About %1").arg(APP_NAME)
visible: root.showAbout visible: root.showAbout
onClicked: { onClicked: {

View file

@ -17,7 +17,7 @@ static constexpr const char* APP_VERSION = "3.0.4";
static constexpr const char* AUTHOR = "Michal Kosciesza"; static constexpr const char* AUTHOR = "Michal Kosciesza";
static constexpr const char* COPYRIGHT_YEAR = "2014-2022"; static constexpr const char* COPYRIGHT_YEAR = "2014-2022";
static constexpr const char* AUTHOR1 = "Renaud Casenave-Péré"; static constexpr const char* AUTHOR1 = "Renaud Casenave-Péré";
static constexpr const char* COPYRIGHT_YEAR1 = "2019-2022"; static constexpr const char* COPYRIGHT_YEAR1 = "2019";
static constexpr const char* SUPPORT_EMAIL = "kaktus@mkiol.net"; static constexpr const char* SUPPORT_EMAIL = "kaktus@mkiol.net";
static constexpr const char* PAGE = "https://github.com/mkiol/kaktus"; static constexpr const char* PAGE = "https://github.com/mkiol/kaktus";
static constexpr const char* LICENSE = "Mozilla Public License 2.0"; static constexpr const char* LICENSE = "Mozilla Public License 2.0";

View file

@ -757,3 +757,9 @@ QString Settings::getImagesDir() const {
if (d.exists() && d.isDir()) return dir; if (d.exists() && d.isDir()) return dir;
return QStandardPaths::writableLocation(QStandardPaths::PicturesLocation); return QStandardPaths::writableLocation(QStandardPaths::PicturesLocation);
} }
QUrl Settings::appIcon() const {
return QUrl::fromLocalFile(
QString(QStringLiteral("/usr/share/icons/hicolor/172x172/apps/%1.png"))
.arg(Kaktus::APP_BINARY_ID));
}

View file

@ -12,6 +12,7 @@
#include <QObject> #include <QObject>
#include <QSettings> #include <QSettings>
#include <QString> #include <QString>
#include <QUrl>
#include <QVariant> #include <QVariant>
class QQmlContext; class QQmlContext;
@ -292,6 +293,7 @@ class Settings : public QSettings {
QList<ViewMode> viewModeHistory() const; QList<ViewMode> viewModeHistory() const;
Q_INVOKABLE QString pocketConsumerKey() const; Q_INVOKABLE QString pocketConsumerKey() const;
Q_INVOKABLE QUrl appIcon() const;
signals: signals:
void offlineModeChanged(); void offlineModeChanged();