diff options
author | Andreas Sturmlechner <asturm@gentoo.org> | 2022-12-18 11:02:34 +0100 |
---|---|---|
committer | Andreas Sturmlechner <asturm@gentoo.org> | 2022-12-18 11:04:04 +0100 |
commit | 29dcad42fad387284ba806eec4219e9e9ba0011f (patch) | |
tree | 446edb2e66cdcf6c4a65c0644c72524e62c774e8 /net-im/neochat | |
parent | profiles: mask net-wireless/bluez-hcidump for removal (diff) | |
download | gentoo-29dcad42fad387284ba806eec4219e9e9ba0011f.tar.gz gentoo-29dcad42fad387284ba806eec4219e9e9ba0011f.tar.bz2 gentoo-29dcad42fad387284ba806eec4219e9e9ba0011f.zip |
net-im/neochat: Fix settings crash/UI
KDE-bug: https://bugs.kde.org/show_bug.cgi?id=462853
KDE-bug: https://bugs.kde.org/show_bug.cgi?id=462900
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
Diffstat (limited to 'net-im/neochat')
3 files changed, 162 insertions, 0 deletions
diff --git a/net-im/neochat/files/neochat-22.11-fix-crash-notification-settings.patch b/net-im/neochat/files/neochat-22.11-fix-crash-notification-settings.patch new file mode 100644 index 000000000000..48c65a368fd3 --- /dev/null +++ b/net-im/neochat/files/neochat-22.11-fix-crash-notification-settings.patch @@ -0,0 +1,61 @@ +From 6b3f44e9232bd1bf49752934a896a9aa3afe5a65 Mon Sep 17 00:00:00 2001 +From: James Graham <james.h.graham@protonmail.com> +Date: Sun, 11 Dec 2022 11:53:21 +0000 +Subject: [PATCH] Fix crash when opening notification settings with no account + by making sure that the keyword model doesn't try to update the noficiation + settings when there is no active connection. Also make sure that ability to + add a keyword or change the global notiifcaiton state is disabled without an + active connection as these will cause the same crash. + +--- + src/keywordnotificationrulemodel.cpp | 4 +++- + src/qml/Settings/GlobalNotificationsPage.qml | 4 +++- + 2 files changed, 6 insertions(+), 2 deletions(-) + +diff --git a/src/keywordnotificationrulemodel.cpp b/src/keywordnotificationrulemodel.cpp +index a15f4aa0..e9ac6145 100644 +--- a/src/keywordnotificationrulemodel.cpp ++++ b/src/keywordnotificationrulemodel.cpp +@@ -15,7 +15,9 @@ + KeywordNotificationRuleModel::KeywordNotificationRuleModel(QObject *parent) + : QAbstractListModel(parent) + { +- controllerConnectionChanged(); ++ if (Controller::instance().activeConnection()) { ++ controllerConnectionChanged(); ++ } + connect(&Controller::instance(), &Controller::activeConnectionChanged, this, &KeywordNotificationRuleModel::controllerConnectionChanged); + } + +diff --git a/src/qml/Settings/GlobalNotificationsPage.qml b/src/qml/Settings/GlobalNotificationsPage.qml +index f81b1a65..ab6bdc3f 100644 +--- a/src/qml/Settings/GlobalNotificationsPage.qml ++++ b/src/qml/Settings/GlobalNotificationsPage.qml +@@ -23,7 +23,7 @@ Kirigami.ScrollablePage { + contentItem: MobileForm.FormCheckDelegate { + text: i18n("Enable notifications for this account") + checked: Config.showNotifications +- enabled: !Config.isShowNotificationsImmutable ++ enabled: !Config.isShowNotificationsImmutable && Controller.activeConnection + onToggled: { + Config.showNotifications = checked + Config.save() +@@ -225,6 +225,7 @@ Kirigami.ScrollablePage { + Layout.fillWidth: true + + placeholderText: i18n("Keyword…") ++ enabled: NotificationsManager.keywordNotificationAction !== PushNotificationAction.Unknown + + rightActions: Kirigami.Action { + icon.name: "edit-clear" +@@ -246,6 +247,7 @@ Kirigami.ScrollablePage { + Accessible.name: text + icon.name: "list-add" + display: QQC2.AbstractButton.IconOnly ++ enabled: NotificationsManager.keywordNotificationAction !== PushNotificationAction.Unknown + + onClicked: { + keywordNotificationRuleModel.addKeyword(keywordAddField.text, PushNotificationAction.On) +-- +GitLab + diff --git a/net-im/neochat/files/neochat-22.11-hide-dev-settings-loading.patch b/net-im/neochat/files/neochat-22.11-hide-dev-settings-loading.patch new file mode 100644 index 000000000000..c19e54683839 --- /dev/null +++ b/net-im/neochat/files/neochat-22.11-hide-dev-settings-loading.patch @@ -0,0 +1,41 @@ +From 25c7b7b780d2913c323b8c048e8999ea9f72997f Mon Sep 17 00:00:00 2001 +From: James Graham <james.h.graham@protonmail.com> +Date: Sun, 11 Dec 2022 16:47:16 +0000 +Subject: [PATCH] Hide loading item and show info message when on the devices + page and not logged in. + +--- + src/qml/Settings/DevicesPage.qml | 10 +++++++++- + 1 file changed, 9 insertions(+), 1 deletion(-) + +diff --git a/src/qml/Settings/DevicesPage.qml b/src/qml/Settings/DevicesPage.qml +index dd3f2eab..71a9d950 100644 +--- a/src/qml/Settings/DevicesPage.qml ++++ b/src/qml/Settings/DevicesPage.qml +@@ -27,7 +27,7 @@ Kirigami.ScrollablePage { + } + MobileForm.AbstractFormDelegate { + Layout.fillWidth: true +- visible: deviceRepeater.count === 0 // We can assume 0 means loading since there is at least one device ++ visible: Controller.activeConnection && deviceRepeater.count === 0 // We can assume 0 means loading since there is at least one device + contentItem: Kirigami.LoadingPlaceholder { } + } + Repeater { +@@ -160,6 +160,14 @@ Kirigami.ScrollablePage { + } + } + } ++ Kirigami.InlineMessage { ++ Layout.fillWidth: true ++ Layout.maximumWidth: Kirigami.Units.gridUnit * 30 ++ Layout.alignment: Qt.AlignHCenter ++ text: i18n("Please login to view the signed-in devices for your account.") ++ type: Kirigami.MessageType.Information ++ visible: !Controller.activeConnection ++ } + } + + Kirigami.OverlaySheet { +-- +GitLab + diff --git a/net-im/neochat/neochat-22.11-r1.ebuild b/net-im/neochat/neochat-22.11-r1.ebuild new file mode 100644 index 000000000000..b722512985b7 --- /dev/null +++ b/net-im/neochat/neochat-22.11-r1.ebuild @@ -0,0 +1,60 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +ECM_HANDBOOK=optional +ECM_TEST=true +KDE_ORG_CATEGORY=network +KFMIN=5.99.0 +QTMIN=5.15.5 +inherit ecm plasma-mobile.kde.org + +DESCRIPTION="Client for Matrix, the decentralized communication protocol" +HOMEPAGE="https://apps.kde.org/neochat/" + +if [[ ${KDE_BUILD_TYPE} = release ]]; then + KEYWORDS="~amd64 ~arm64 ~ppc64" +fi + +LICENSE="GPL-3+ handbook? ( CC-BY-SA-4.0 )" +SLOT="0" + +DEPEND=" + app-text/cmark:= + >=dev-libs/kirigami-addons-0.6:5 + dev-libs/qcoro5 + dev-libs/qtkeychain:=[qt5(+)] + >=dev-qt/qtdeclarative-${QTMIN}:5 + >=dev-qt/qtgui-${QTMIN}:5 + >=dev-qt/qtmultimedia-${QTMIN}:5 + >=dev-qt/qtnetwork-${QTMIN}:5 + >=dev-qt/qtquickcontrols2-${QTMIN}:5 + >=dev-qt/qtsvg-${QTMIN}:5 + >=dev-qt/qtwidgets-${QTMIN}:5 + >=kde-frameworks/kconfig-${KFMIN}:5 + >=kde-frameworks/kconfigwidgets-${KFMIN}:5 + >=kde-frameworks/kcoreaddons-${KFMIN}:5 + >=kde-frameworks/kdbusaddons-${KFMIN}:5 + >=kde-frameworks/ki18n-${KFMIN}:5 + >=kde-frameworks/kio-${KFMIN}:5 + >=kde-frameworks/kirigami-${KFMIN}:5 + >=kde-frameworks/kitemmodels-${KFMIN}:5[qml] + >=kde-frameworks/knotifications-${KFMIN}:5[qml] + >=kde-frameworks/kwindowsystem-${KFMIN}:5 + >=kde-frameworks/qqc2-desktop-style-${KFMIN}:5 + >=kde-frameworks/sonnet-${KFMIN}:5[qml] + media-libs/kquickimageeditor:5 + >=net-libs/libquotient-0.6 +" +RDEPEND="${DEPEND} + >=dev-qt/qtgraphicaleffects-${QTMIN}:5 + >=dev-qt/qtmultimedia-${QTMIN}:5[qml] + >=kde-frameworks/purpose-${KFMIN}:5 +" +BDEPEND="virtual/pkgconfig" + +PATCHES=( + "${FILESDIR}/${P}-fix-crash-notification-settings.patch" # KDE-bug #462853 + "${FILESDIR}/${P}-hide-dev-settings-loading.patch" # KDE-bug #462900 +) |