Drop reverse-applicable patch.

ubuntu/lunar
Simon Quigley 1 year ago
parent 70c8b521bd
commit f5a0640c17

1
debian/changelog vendored

@ -5,6 +5,7 @@ lxqt-config (1.2.0-0ubuntu1) UNRELEASED; urgency=medium
* Lubuntuify the package slightly, to make debhelper happy.
* Bump Standards-version, no changes needed.
* Bump build dependencies in debian/control.
* Drop reverse-applicable patch.
-- Simon Quigley <tsimonq2@ubuntu.com> Fri, 18 Nov 2022 14:43:44 -0600

@ -1 +0,0 @@
theme-list-enhancements.patch

@ -1,109 +0,0 @@
From ccc2ede1557523ed396e488f705132f187ab750f Mon Sep 17 00:00:00 2001
From: tsujan <tsujan2000@gmail.com>
Date: Mon, 16 May 2022 19:05:49 +0430
Subject: [PATCH] Small enhancement to theme list in appearance config dialog
(#854)
* Small enhancement to theme list in appearance config dialog
Themes are always sorted alphabetically, user themes are distinguished, and theme folders can be opened by double clicking or by using context menus.
Closes https://github.com/lxqt/lxqt-config/issues/852
* Don't use `WhatsThisRole` for theme path
`WhatsThisRole` might be needed later for another purpose, and finding the theme path directly has no real cost.
---
lxqt-config-appearance/lxqtthemeconfig.cpp | 40 ++++++++++++++++++++++
lxqt-config-appearance/lxqtthemeconfig.h | 4 +++
2 files changed, 44 insertions(+)
diff --git a/lxqt-config-appearance/lxqtthemeconfig.cpp b/lxqt-config-appearance/lxqtthemeconfig.cpp
index 49b65e8b..8bc903f8 100644
--- a/lxqt-config-appearance/lxqtthemeconfig.cpp
+++ b/lxqt-config-appearance/lxqtthemeconfig.cpp
@@ -32,6 +32,11 @@
#include <QProcess>
#include <QItemDelegate>
#include <QPainter>
+#include <QMenu>
+#include <QDesktopServices>
+#include <QUrl>
+
+#include <XdgDirs>
/*!
* \brief Simple delegate to draw system background color below decoration/icon
@@ -84,6 +89,10 @@ LXQtThemeConfig::LXQtThemeConfig(LXQt::Settings *settings, QWidget *parent) :
{
QString themeName = theme.name();
themeName[0] = themeName[0].toTitleCase();
+ if (theme.path().contains(XdgDirs::dataHome(false) + QStringLiteral("/")))
+ {
+ themeName += QStringLiteral(" ") + tr("(User Theme)");
+ }
QTreeWidgetItem *item = new QTreeWidgetItem(QStringList(themeName));
if (!theme.previewImage().isEmpty())
{
@@ -93,11 +102,16 @@ LXQtThemeConfig::LXQtThemeConfig(LXQt::Settings *settings, QWidget *parent) :
item->setData(0, Qt::UserRole, theme.name());
ui->lxqtThemeList->addTopLevelItem(item);
}
+ ui->lxqtThemeList->sortItems(0, Qt::AscendingOrder);
+ ui->lxqtThemeList->setContextMenuPolicy(Qt::CustomContextMenu);
initControls();
connect(ui->lxqtThemeList, &QTreeWidget::currentItemChanged, this, &LXQtThemeConfig::settingsChanged);
connect(ui->wallpaperOverride, &QAbstractButton::clicked, this, &LXQtThemeConfig::settingsChanged);
+
+ connect(ui->lxqtThemeList, &QTreeWidget::itemDoubleClicked, this, &LXQtThemeConfig::doubleClicked);
+ connect(ui->lxqtThemeList, &QWidget::customContextMenuRequested, this, &LXQtThemeConfig::contextMenu);
}
@@ -145,3 +159,29 @@ void LXQtThemeConfig::applyLxqtTheme()
}
}
}
+
+void LXQtThemeConfig::doubleClicked(QTreeWidgetItem *item, int /*column*/)
+{
+ if (!item)
+ return;
+
+ LXQt::LXQtTheme theme{item->data(0, Qt::UserRole).toString()};
+ if (!theme.isValid())
+ return;
+
+ // first try "qtxdg-mat"; fall back to QDesktopServices if we are not inside an LXQt session
+ if (!QProcess::startDetached(QStringLiteral("qtxdg-mat"), QStringList() << QStringLiteral("open") << theme.path()))
+ {
+ QDesktopServices::openUrl(QUrl(theme.path()));
+ }
+}
+
+void LXQtThemeConfig::contextMenu(const QPoint& p)
+{
+ QMenu menu;
+ QAction *a = menu.addAction(tr("Open theme folder"));
+ connect(a, &QAction::triggered, [this, p] {
+ doubleClicked(ui->lxqtThemeList->itemAt(p), 0);
+ });
+ menu.exec(ui->lxqtThemeList->viewport()->mapToGlobal(p));
+}
diff --git a/lxqt-config-appearance/lxqtthemeconfig.h b/lxqt-config-appearance/lxqtthemeconfig.h
index 8846dbbe..1886738c 100644
--- a/lxqt-config-appearance/lxqtthemeconfig.h
+++ b/lxqt-config-appearance/lxqtthemeconfig.h
@@ -53,6 +53,10 @@ public slots:
signals:
void settingsChanged();
+private slots:
+ void doubleClicked(QTreeWidgetItem *item, int column);
+ void contextMenu(const QPoint& p);
+
private:
Ui::LXQtThemeConfig *ui;
LXQt::Settings *mSettings;
Loading…
Cancel
Save