Browse Source

fix(macos): Represent autorun state in UI persistently

Check file setting rather than reporting a global value that isn't persisted
across client restart.
reviewable/pr6577/r2
Anthony Bilinski 4 years ago
parent
commit
ad6b510417
No known key found for this signature in database
GPG Key ID: 2AA8E0DA1B31FB3C
  1. 19
      src/platform/autorun_osx.cpp

19
src/platform/autorun_osx.cpp

@ -25,29 +25,30 @@ @@ -25,29 +25,30 @@
#include <QStandardPaths>
namespace {
bool state;
QString getAutorunFile()
{
return QDir::cleanPath(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)
+ QDir::separator() + "Library" + QDir::separator() + "LaunchAgents"
+ QDir::separator() + "chat.tox.qtox.autorun.plist");
}
} // namespace
bool Platform::setAutorun(const Settings& settings, bool on)
{
std::ignore = settings;
QString qtoxPlist =
QDir::cleanPath(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)
+ QDir::separator() + "Library" + QDir::separator() + "LaunchAgents"
+ QDir::separator() + "chat.tox.qtox.autorun.plist");
QString qtoxDir =
QDir::cleanPath(QCoreApplication::applicationDirPath() + QDir::separator() + "qtox");
QSettings autoRun(qtoxPlist, QSettings::NativeFormat);
QSettings autoRun(getAutorunFile(), QSettings::NativeFormat);
autoRun.setValue("Label", "chat.tox.qtox.autorun");
autoRun.setValue("Program", qtoxDir);
state = on;
autoRun.setValue("RunAtLoad", state);
autoRun.setValue("RunAtLoad", on);
return true;
}
bool Platform::getAutorun(const Settings& settings)
{
std::ignore = settings;
return state;
QSettings autoRun(getAutorunFile(), QSettings::NativeFormat);
return autoRun.value("RunAtLoad", false).toBool();
}

Loading…
Cancel
Save