You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
56 lines
2.4 KiB
56 lines
2.4 KiB
1 year ago
|
Description: lxqt-config-session/autostart: More strict user inputs
|
||
|
Makes name and command mandatory when adding or editing a autostart an
|
||
|
application. Check for already existing files when editing.
|
||
|
.
|
||
|
TODO: Add and Edit functions are almost indentical. Candidates to some
|
||
|
refactoring.
|
||
|
Author: Luís Pereira <luis.artur.pereira@gmail.com>
|
||
|
Origin: upstream
|
||
|
Bug: https://github.com/lxqt/lxqt-session/issues/486
|
||
|
Applied-Upstream: 35acc5e7fe64ab78616968a5b73b150fdf2f002a
|
||
|
Last-Update: 2023-12-22
|
||
|
---
|
||
|
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
|
||
|
--- a/lxqt-config-session/autostartpage.cpp
|
||
|
+++ b/lxqt-config-session/autostartpage.cpp
|
||
|
@@ -133,6 +133,11 @@ void AutoStartPage::addButton_clicked()
|
||
|
while (!success && edit.exec() == QDialog::Accepted)
|
||
|
{
|
||
|
QModelIndex index = ui->autoStartView->selectionModel()->currentIndex();
|
||
|
+ if (edit.name().isEmpty() || edit.command().isEmpty() )
|
||
|
+ {
|
||
|
+ QMessageBox::critical(this, tr("Error"), tr("Please provide Name and Command"));
|
||
|
+ continue;
|
||
|
+ }
|
||
|
XdgDesktopFile file(XdgDesktopFile::ApplicationType, edit.name(), edit.command());
|
||
|
if (edit.needTray())
|
||
|
file.setValue(QL1S("X-LXQt-Need-Tray"), true);
|
||
|
@@ -148,8 +153,14 @@ void AutoStartPage::editButton_clicked()
|
||
|
QModelIndex index = ui->autoStartView->selectionModel()->currentIndex();
|
||
|
XdgDesktopFile file = mXdgAutoStartModel->desktopFile(index);
|
||
|
AutoStartEdit edit(file.name(), file.value(QL1S("Exec")).toString(), file.contains(QL1S("X-LXQt-Need-Tray")));
|
||
|
- if (edit.exec() == QDialog::Accepted)
|
||
|
+ bool success = false;
|
||
|
+ while (!success && edit.exec() == QDialog::Accepted)
|
||
|
{
|
||
|
+ if (edit.name().isEmpty() || edit.command().isEmpty() )
|
||
|
+ {
|
||
|
+ QMessageBox::critical(this, tr("Error"), tr("Please provide Name and Command"));
|
||
|
+ continue;
|
||
|
+ }
|
||
|
file.setLocalizedValue(QL1S("Name"), edit.name());
|
||
|
file.setValue(QL1S("Exec"), edit.command());
|
||
|
if (edit.needTray())
|
||
|
@@ -157,7 +168,10 @@ void AutoStartPage::editButton_clicked()
|
||
|
else
|
||
|
file.removeEntry(QL1S("X-LXQt-Need-Tray"));
|
||
|
|
||
|
- mXdgAutoStartModel->setEntry(index, file, true);
|
||
|
+ if (mXdgAutoStartModel->setEntry(index, file, true))
|
||
|
+ success = true;
|
||
|
+ else
|
||
|
+ QMessageBox::critical(this, tr("Error"), tr("File '%1' already exists!").arg(file.fileName()));
|
||
|
}
|
||
|
}
|
||
|
|