diff --git a/debian/changelog b/debian/changelog index 6bc65cd..8e36ee4 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +lxqt-config (1.4.0-0ubuntu2) noble; urgency=medium + + * Add two upstream patches to improve the user experience, especially around + monitor handling. + + -- Simon Quigley Fri, 22 Dec 2023 16:05:33 -0600 + lxqt-config (1.4.0-0ubuntu1) noble; urgency=medium * New upstream release. diff --git a/debian/patches/improve-ui-lxqt-config-monitor.patch b/debian/patches/improve-ui-lxqt-config-monitor.patch new file mode 100644 index 0000000..27a98a2 --- /dev/null +++ b/debian/patches/improve-ui-lxqt-config-monitor.patch @@ -0,0 +1,149 @@ +Description: lxqt-config-monitor: Improve UI behind Apply button in Advanced + settings dlg + . + This patch implements four UI changes explained elaborately below: + . + 1) Activate existing Apply button in Advanced settings dialog + . + The Apply button now applies settings from the Saved Settings + (LXQt::ConfigDialog) page. + . + It had no active connections before. + . + 2) Show saved settings on select + . + Details for saved settings was shown on 'activation' signal which + is on most platforms generated on mouse double-click or by + pressing the Enter key. It is more natural to expect the details + page to update on single mouse click or by selecting the + next/previous item by down/up arrow keys. + . + On mouse double-click one would expect to actually _activate_ the + setting, not merely show the details. + . + This also ensures, the selected settings is always displayed + before applying. + . + 3) Remove Apply button from Saved settings page + . + The button did its job applying only the local configuration from + the Saved Settings (LXQt::ConfigDialog) page, but until there are + more configuration pages in the dialog its purpose is hidden and + confusing, appearing as a duplicate for the dialog's own Apply + button. + . + The button may find its way back once it makes sense to have it + there again. + . + 4) Apply selected settings on mouse double-click + . + It is expected intuitively activating the selected saved settings + on mouse double-click. Enable this behavior. +Author: vc-01 +Origin: upstream +Bug: https://github.com/lxqt/lxqt-config/issues/577 +Applied-Upstream: 3005400ce273b117833a8043f03af39f7596101d +Last-Update: 2023-12-22 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +--- a/lxqt-config-monitor/managesavedsettings.cpp ++++ b/lxqt-config-monitor/managesavedsettings.cpp +@@ -23,6 +23,7 @@ + #include "monitor.h" + #include + #include ++#include + #include + + Q_DECLARE_METATYPE(MonitorSavedSettings) +@@ -37,18 +38,21 @@ ManageSavedSettings::ManageSavedSettings + + ui.setupUi(this); + +- connect(ui.allConfigs, &QListWidget::itemActivated, this, &ManageSavedSettings::showSelectedConfig); +- connect(ui.deletePushButton, &QPushButton::clicked, this, &ManageSavedSettings::onDeleteItem); +- connect(ui.renamePushButton, &QPushButton::clicked, this, &ManageSavedSettings::onRenameItem); +- connect(ui.applyPushButton, &QPushButton::clicked, this, &ManageSavedSettings::onApplyItem); ++ connect(ui.allConfigs, &QListWidget::itemSelectionChanged, this, &ManageSavedSettings::showSelectedConfig); ++ connect(ui.allConfigs, &QListWidget::itemDoubleClicked, this, &ManageSavedSettings::onApplyItem); ++ connect(ui.deletePushButton, &QPushButton::clicked, this, &ManageSavedSettings::onDeleteItem); ++ connect(ui.renamePushButton, &QPushButton::clicked, this, &ManageSavedSettings::onRenameItem); + + loadSettings(); + } + + +-void ManageSavedSettings::showSelectedConfig(QListWidgetItem * item) ++void ManageSavedSettings::showSelectedConfig() + { +- MonitorSavedSettings o = item->data(Qt::UserRole).value(); ++ QListWidgetItem * currItem = ui.allConfigs->currentItem(); ++ if (currItem == nullptr) ++ return; ++ MonitorSavedSettings o = currItem->data(Qt::UserRole).value(); + QString text; + for(int i=0; i < o.monitors.size(); i++) { + MonitorSettings setting = o.monitors[i]; +@@ -77,7 +81,6 @@ void ManageSavedSettings::showSelectedCo + } + text += QLatin1String("
"); + ui.selectedSettingsTextEdit->setText(text); +- ui.applyPushButton->setEnabled(isHardwareCompatible(o)); + } + + +@@ -164,6 +167,14 @@ void ManageSavedSettings::onApplyItem() + if (ui.allConfigs->currentItem() == nullptr) + return; + MonitorSavedSettings settings = ui.allConfigs->currentItem()->data(Qt::UserRole).value(); ++ ++ if (!isHardwareCompatible(settings)) { ++ QMessageBox::information(this, tr("Settings Activation Failed"), ++ tr("Selected settings cannot be applied with currently active monitors.\n\n" ++ "Please choose from the highlighted configurations.")); ++ return; ++ } ++ + applySettings(config, settings.monitors); + } + +--- a/lxqt-config-monitor/managesavedsettings.h ++++ b/lxqt-config-monitor/managesavedsettings.h +@@ -41,7 +41,7 @@ public slots: + */ + void loadSettings(); + +- void showSelectedConfig(QListWidgetItem * item); ++ void showSelectedConfig(); + + void onDeleteItem(); + +--- a/lxqt-config-monitor/managesavedsettings.ui ++++ b/lxqt-config-monitor/managesavedsettings.ui +@@ -46,13 +46,6 @@ + + + +- +- +- +- Apply +- +- +- + + + +--- a/lxqt-config-monitor/settingsdialog.cpp ++++ b/lxqt-config-monitor/settingsdialog.cpp +@@ -31,4 +31,10 @@ SettingsDialog::SettingsDialog(const QSt + + ManageSavedSettings * savedSettings = new ManageSavedSettings(settings, config, this); + addPage(savedSettings, QObject::tr("Manage Saved Settings"), QStringLiteral("system-run")); ++ ++ connect(this, &LXQt::ConfigDialog::clicked, [=] (QDialogButtonBox::StandardButton button) { ++ if(button == QDialogButtonBox::Apply) { ++ savedSettings->onApplyItem(); ++ } ++ }); + } diff --git a/debian/patches/reorder-xml-ui-files.patch b/debian/patches/reorder-xml-ui-files.patch new file mode 100644 index 0000000..c89b64f --- /dev/null +++ b/debian/patches/reorder-xml-ui-files.patch @@ -0,0 +1,803 @@ +Description: Reorder XML .ui files to correct tab orders +Author: isf63 <121320947+isf63@users.noreply.github.com> +Origin: upstream, https://github.com/lxqt/lxqt-config/pull/950 +Applied-Upstream: b386674a2ab8fac75b5e0aed2bd2923de1ad16d2 +Last-Update: 2023-12-22 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +--- a/liblxqt-config-cursor/selectwnd.ui ++++ b/liblxqt-config-cursor/selectwnd.ui +@@ -14,16 +14,19 @@ + LXQt Mouse Theme Configuration + + +- +- +- +- false +- ++ ++ + +- &Install New Theme... ++ Select the cursor theme you want to use (hover preview to test cursor). <b>LXQt session needs restart after this change</b>: ++ ++ ++ true + + + ++ ++ ++ + + + +@@ -40,16 +43,6 @@ + + + +- +- +- +- Select the cursor theme you want to use (hover preview to test cursor). <b>LXQt session needs restart after this change</b>: +- +- +- true +- +- +- + + + +@@ -66,6 +59,13 @@ + + + ++ ++ ++ ++ Size ++ ++ ++ + + + +@@ -82,16 +82,6 @@ + + + +- +- +- +- +- +- +- &Remove Theme +- +- +- + + + +@@ -105,10 +95,20 @@ + + + +- +- ++ ++ ++ ++ false ++ + +- Size ++ &Install New Theme... ++ ++ ++ ++ ++ ++ ++ &Remove Theme + + + +@@ -127,11 +127,6 @@ + 1 + + +- +- lbThemes +- btInstall +- btRemove +- + + + +--- a/lxqt-config-appearance/fontsconfig.ui ++++ b/lxqt-config-appearance/fontsconfig.ui +@@ -47,20 +47,6 @@ + + + +- +- +- +- Point size: +- +- +- +- +- +- +- 4 +- +- +- + + + +@@ -85,6 +71,20 @@ + + + ++ ++ ++ ++ Point size: ++ ++ ++ ++ ++ ++ ++ 4 ++ ++ ++ + + + +@@ -101,15 +101,15 @@ + + + +- +- ++ ++ + +- Font hinting style: ++ Subpixel antialiasing: + + + +- +- ++ ++ + + false + +@@ -120,17 +120,22 @@ + + + +- Slight ++ RGB + + + + +- Medium ++ BGR + + + + +- Full ++ VRGB ++ ++ ++ ++ ++ VBGR + + + +@@ -142,39 +147,15 @@ + + + +- +- +- +- Resolution (DPI): +- +- +- +- +- +- +- Autohint +- +- +- +- +- +- +- -1 +- +- +- 1048576 +- +- +- +- +- ++ ++ + +- Subpixel antialiasing: ++ Font hinting style: + + + +- +- ++ ++ + + false + +@@ -185,26 +166,45 @@ + + + +- RGB +- +- +- +- +- BGR ++ Slight + + + + +- VRGB ++ Medium + + + + +- VBGR ++ Full + + + + ++ ++ ++ ++ Resolution (DPI): ++ ++ ++ ++ ++ ++ ++ -1 ++ ++ ++ 1048576 ++ ++ ++ ++ ++ ++ ++ Autohint ++ ++ ++ + + + +--- a/lxqt-config-appearance/gtkconfig.ui ++++ b/lxqt-config-appearance/gtkconfig.ui +@@ -71,6 +71,16 @@ + + + ++ ++ ++ ++ GTK 2 Theme ++ ++ ++ ++ ++ ++ + + + +@@ -87,16 +97,6 @@ + + + +- +- +- +- GTK 2 Theme +- +- +- +- +- +- + + + +--- a/lxqt-config-input/keyboardconfig.ui ++++ b/lxqt-config-input/keyboardconfig.ui +@@ -14,13 +14,6 @@ + Form + + +- +- +- +- Cursor flash time: +- +- +- + + + +@@ -28,55 +21,23 @@ + + + +- +- +- +- Beep when there is an error of keyboard input +- +- +- +- +- +- +- ms +- +- +- 10000 +- +- +- + + + + Character Repeat + + +- +- +- +- +- +- +- 10 +- +- +- 210 +- +- +- 10 +- +- +- Qt::Horizontal +- +- +- QSlider::TicksAbove ++ ++ ++ ++ Repeat delay: + + + +- +- ++ ++ + +- Long ++ Short + + + +@@ -102,17 +63,17 @@ + + + +- +- ++ ++ + +- Repeat delay: ++ Long + + + +- +- ++ ++ + +- Short ++ 0 + + + +@@ -123,13 +84,6 @@ + + + +- +- +- +- Type in the following box to test your keyboard settings +- +- +- + + + +@@ -137,6 +91,25 @@ + + + ++ ++ ++ ++ 10 ++ ++ ++ 210 ++ ++ ++ 10 ++ ++ ++ Qt::Horizontal ++ ++ ++ QSlider::TicksAbove ++ ++ ++ + + + +@@ -144,23 +117,50 @@ + + + +- +- ++ ++ + + 0 + + + +- +- ++ ++ + +- 0 ++ Type in the following box to test your keyboard settings + + + ++ ++ ++ + + + ++ ++ ++ ++ Cursor flash time: ++ ++ ++ ++ ++ ++ ++ ms ++ ++ ++ 10000 ++ ++ ++ ++ ++ ++ ++ Beep when there is an error of keyboard input ++ ++ ++ + + + +--- a/lxqt-config-input/touchpadconfig.ui ++++ b/lxqt-config-input/touchpadconfig.ui +@@ -24,6 +24,13 @@ + + + ++ ++ ++ ++ DeviceInfoLabel ++ ++ ++ + + + +@@ -31,6 +38,22 @@ + + + ++ ++ ++ ++ 2 ++ ++ ++ -1.000000000000000 ++ ++ ++ 1.000000000000000 ++ ++ ++ 0.100000000000000 ++ ++ ++ + + + +@@ -52,22 +75,6 @@ + + + +- +- +- +- 2 +- +- +- -1.000000000000000 +- +- +- 1.000000000000000 +- +- +- 0.100000000000000 +- +- +- + + + +@@ -139,13 +146,6 @@ + + + +- +- +- +- DeviceInfoLabel +- +- +- + + + +--- a/lxqt-config-monitor/managesavedsettings.ui ++++ b/lxqt-config-monitor/managesavedsettings.ui +@@ -30,7 +30,14 @@ + + + +- ++ ++ ++ ++ true ++ ++ ++ ++ + + + +@@ -48,13 +55,6 @@ + + + +- +- +- +- true +- +- +- + + + +--- a/lxqt-config-monitor/monitorwidget.ui ++++ b/lxqt-config-monitor/monitorwidget.ui +@@ -21,7 +21,42 @@ + Setup + + +- ++ ++ ++ ++ Enable this display ++ ++ ++ ++ ++ ++ ++ ++ ++ Resolution: ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ This is my primary display ++ ++ ++ ++ ++ This screen extends another display ++ ++ ++ ++ ++ + + + +@@ -70,42 +105,7 @@ + + + +- +- +- +- +- +- Resolution: +- +- +- +- +- +- +- +- +- +- +- +- Enable this display +- +- +- +- +- +- +- +- This is my primary display +- +- +- +- +- This screen extends another display +- +- +- +- +- ++ + + + Qt::Vertical +@@ -127,26 +127,6 @@ + + + +- +- +- +- Qt::Vertical +- +- +- +- 20 +- 40 +- +- +- +- +- +- +- +- Refresh rate: +- +- +- + + + +@@ -157,6 +137,13 @@ + + + ++ ++ ++ ++ Refresh rate: ++ ++ ++ + + + +@@ -167,6 +154,19 @@ + + + ++ ++ ++ ++ Qt::Vertical ++ ++ ++ ++ 20 ++ 40 ++ ++ ++ ++ + + + diff --git a/debian/patches/series b/debian/patches/series new file mode 100644 index 0000000..bdeee34 --- /dev/null +++ b/debian/patches/series @@ -0,0 +1,2 @@ +improve-ui-lxqt-config-monitor.patch +reorder-xml-ui-files.patch