Drop reverse-applicable patch.

This commit is contained in:
Simon Quigley 2022-11-18 15:04:55 -06:00
parent 70c8b521bd
commit f5a0640c17
3 changed files with 1 additions and 110 deletions

1
debian/changelog vendored
View File

@ -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

View File

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

View File

@ -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;