Skip to content

Commit 60437e5

Browse files
committed
fix: Removed broken delayed autostart optiongi
1 parent a62420b commit 60437e5

File tree

5 files changed

+28
-77
lines changed

5 files changed

+28
-77
lines changed

src/interface/fragment/FirstLaunchWizard.cpp

Lines changed: 3 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -44,16 +44,15 @@ FirstLaunchWizard::FirstLaunchWizard(QWidget *parent) :
4444
connect(ui->p4_next, &QPushButton::clicked, this, [&] {
4545
emit wizardFinished();
4646
});
47-
connect(ui->p4_telegram, &QPushButton::clicked, [this] {
47+
connect(ui->p4_telegram, &QPushButton::clicked, this, [this] {
4848
DesktopServices::openUrl("https://t.me/joinchat/FTKC2A2bolHkFAyO-fuPjw", this);
4949
});
5050

5151
ui->p3_systray_disable->setChecked(!AppConfig::instance().get<bool>(AppConfig::TrayIconEnabled));
5252
ui->p3_systray_enable->setChecked(AppConfig::instance().get<bool>(AppConfig::TrayIconEnabled));
5353
ui->p3_systray_minOnBoot->setEnabled(AppConfig::instance().get<bool>(AppConfig::TrayIconEnabled));
5454

55-
ui->p3_systray_minOnBoot->setChecked(AutostartManager::inspectDesktopFile(AutostartManager::getAutostartPath("jdsp-gui.desktop"),
56-
AutostartManager::Exists));
55+
ui->p3_systray_minOnBoot->setChecked(AutostartManager::isEnabled());
5756

5857
connect(ui->p3_systray_disable, &QRadioButton::clicked, this, &FirstLaunchWizard::onSystrayRadioSelected);
5958
connect(ui->p3_systray_enable, &QRadioButton::clicked, this, &FirstLaunchWizard::onSystrayRadioSelected);
@@ -82,15 +81,5 @@ void FirstLaunchWizard::onSystrayRadioSelected()
8281

8382
void FirstLaunchWizard::onSystrayAutostartToggled(bool isChecked)
8483
{
85-
auto path = AutostartManager::getAutostartPath("jdsp-gui.desktop");
86-
if (isChecked)
87-
{
88-
AutostartManager::saveDesktopFile(path,
89-
AppConfig::instance().get<QString>(AppConfig::ExecutablePath),
90-
AutostartManager::inspectDesktopFile(path, AutostartManager::Delayed));
91-
}
92-
else
93-
{
94-
QFile(path).remove();
95-
}
84+
AutostartManager::setEnabled(isChecked);
9685
}

src/interface/fragment/SettingsFragment.cpp

Lines changed: 3 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,6 @@ SettingsFragment::SettingsFragment(TrayIcon *trayIcon,
8080
connect(ui->systray_r_none, &QRadioButton::clicked, this, &SettingsFragment::onSystrayToggled);
8181
connect(ui->systray_r_showtray, &QRadioButton::clicked, this, &SettingsFragment::onSystrayToggled);
8282
connect(ui->systray_minOnBoot, &QPushButton::clicked, this, &SettingsFragment::onAutoStartToggled);
83-
connect(ui->systray_delay, &QPushButton::clicked, this, &SettingsFragment::onAutoStartToggled);
8483
connect(ui->menu_edit, &QMenuEditor::targetChanged, this, &SettingsFragment::onTrayEditorCommitted);
8584
connect(ui->menu_edit, &QMenuEditor::resetPressed, this, &SettingsFragment::onTrayEditorReset);
8685
ui->menu_edit->setSourceMenu(trayIcon->buildAvailableActions());
@@ -193,9 +192,8 @@ void SettingsFragment::refreshDevices()
193192
void SettingsFragment::refreshAll()
194193
{
195194
_lockslot = true;
196-
QString autostart_path = AutostartManager::getAutostartPath("jdsp-gui.desktop");
197195

198-
ui->menu_edit->setTargetMenu(_trayIcon->getTrayMenu());
196+
ui->menu_edit->setTargetMenu(_trayIcon->getTrayMenu());
199197
ui->irspath->setText(AppConfig::instance().getIrsPath());
200198
ui->ddcpath->setText(AppConfig::instance().getVdcPath());
201199
ui->liveprog_path->setText(AppConfig::instance().getLiveprogPath());
@@ -234,10 +232,7 @@ void SettingsFragment::refreshAll()
234232
ui->systray_icon_box->setEnabled(AppConfig::instance().get<bool>(AppConfig::TrayIconEnabled));
235233
ui->menu_edit->setEnabled(AppConfig::instance().get<bool>(AppConfig::TrayIconEnabled));
236234

237-
bool autostartEnabled = AutostartManager::inspectDesktopFile(autostart_path, AutostartManager::Exists);
238-
ui->systray_minOnBoot->setChecked(autostartEnabled);
239-
ui->systray_delay->setEnabled(autostartEnabled);
240-
ui->systray_delay->setChecked(AutostartManager::inspectDesktopFile(autostart_path, AutostartManager::Delayed));
235+
ui->systray_minOnBoot->setChecked(AutostartManager::isEnabled());
241236

242237
ui->eq_alwaysdrawhandles->setChecked(AppConfig::instance().get<bool>(AppConfig::EqualizerShowHandles));
243238

@@ -320,19 +315,7 @@ void SettingsFragment::onTreeItemSelected(QTreeWidgetItem *cur, QTreeWidgetItem
320315

321316
void SettingsFragment::onAutoStartToggled()
322317
{
323-
QString path = AutostartManager::getAutostartPath("jdsp-gui.desktop");
324-
if (ui->systray_minOnBoot->isChecked())
325-
{
326-
AutostartManager::saveDesktopFile(path,
327-
AppConfig::instance().get<QString>(AppConfig::ExecutablePath),
328-
ui->systray_delay->isChecked());
329-
}
330-
else
331-
{
332-
QFile(path).remove();
333-
}
334-
335-
ui->systray_delay->setEnabled(ui->systray_minOnBoot->isChecked());
318+
AutostartManager::setEnabled(ui->systray_minOnBoot->isChecked());
336319
}
337320

338321
void SettingsFragment::onSystrayToggled()

src/interface/fragment/SettingsFragment.ui

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@
129129
<bool>true</bool>
130130
</property>
131131
<property name="currentIndex">
132-
<number>3</number>
132+
<number>4</number>
133133
</property>
134134
<widget class="QWidget" name="interface_2">
135135
<property name="maximumSize">
@@ -689,13 +689,6 @@
689689
</property>
690690
</widget>
691691
</item>
692-
<item>
693-
<widget class="QCheckBox" name="systray_delay">
694-
<property name="text">
695-
<string>Delay autostart by 5 seconds</string>
696-
</property>
697-
</widget>
698-
</item>
699692
</layout>
700693
</widget>
701694
</item>

src/utils/AutoStartManager.cpp

Lines changed: 17 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -7,46 +7,39 @@
77
#include <QFile>
88
#include <QStandardPaths>
99

10+
#define DESKTOP_FILE "jdsp-gui.desktop"
11+
1012
AutostartManager::AutostartManager()
1113
{}
1214

13-
void AutostartManager::saveDesktopFile(QString path,
14-
const QString &exepath,
15-
bool delayed)
15+
void AutostartManager::setEnabled(bool enabled)
1616
{
17+
if(!enabled) {
18+
QFile::remove(DESKTOP_FILE);
19+
return;
20+
}
21+
1722
ConfigContainer *conf = new ConfigContainer();
18-
conf->setValue("Exec", QString("%0%1 --tray%2")
19-
.arg(delayed ? "sleep 5s && " : "")
20-
.arg(exepath)
21-
.arg(delayed ? " &" : ""));
22-
conf->setValue("Name", "JamesDSP for Linux Systray");
23+
conf->setValue("Exec", QString("%0 --tray").arg(AppConfig::instance().get<QString>(AppConfig::ExecutablePath)));
24+
conf->setValue("Name", "JamesDSP for Linux (Systray)");
2325
conf->setValue("StartupNotify", false);
2426
conf->setValue("Terminal", false);
2527
conf->setValue("Type", "Application");
26-
conf->setValue("Version", "1.0");
27-
conf->setValue("X-GNOME-Autostart-Delay", 10);
28+
conf->setValue("Version", "1.0");
29+
conf->setValue("X-GNOME-Autostart-Delay", 6);
2830
conf->setValue("X-GNOME-Autostart-enabled", true);
2931
conf->setValue("X-KDE-autostart-after", "panel");
3032
conf->setValue("X-KDE-autostart-phase", 2);
31-
conf->setValue("X-MATE-Autostart-Delay", 10);
32-
ConfigIO::writeFile(path, conf->getConfigMap(), "[Desktop Entry]");
33+
conf->setValue("X-MATE-Autostart-Delay", 6);
34+
ConfigIO::writeFile(getAutostartPath(DESKTOP_FILE), conf->getConfigMap(), "[Desktop Entry]");
3335
}
3436

35-
bool AutostartManager::inspectDesktopFile(const QString &path,
36-
InspectionMode mode)
37+
bool AutostartManager::isEnabled()
3738
{
39+
auto path = getAutostartPath(DESKTOP_FILE);
3840
ConfigContainer conf;
3941
conf.setConfigMap(ConfigIO::readFile(path));
40-
41-
switch (mode)
42-
{
43-
case Delayed:
44-
return conf.getString("Exec").contains("sleep 5s");
45-
case Exists:
46-
return QFile::exists(path);
47-
}
48-
49-
return false;
42+
return QFile::exists(path);
5043
}
5144

5245
QString AutostartManager::getAutostartPath(const QString &filename)

src/utils/AutoStartManager.h

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -15,22 +15,15 @@
1515
#ifndef AUTOSTARTMANAGER_H
1616
#define AUTOSTARTMANAGER_H
1717

18-
#include <QObject>
18+
#include <QString>
1919

2020
class AutostartManager
2121
{
2222
public:
23-
typedef enum InspectionMode
24-
{
25-
Exists,
26-
Delayed,
27-
} InspectionMode;
2823
AutostartManager();
29-
static void saveDesktopFile(QString path,
30-
const QString &exepath,
31-
bool delayed);
32-
static bool inspectDesktopFile(const QString &path,
33-
InspectionMode mode);
24+
static void setEnabled(bool enabled);
25+
static bool isEnabled();
26+
private:
3427
static QString getAutostartPath(const QString &filename);
3528

3629
};

0 commit comments

Comments
 (0)