mirror of
https://github.com/fergalmoran/flameshot.git
synced 2026-02-02 08:37:38 +00:00
Fix - Calculate workdir on Windows if startup option was set before the latest fix
This commit is contained in:
committed by
Yuriy Puchkov
parent
0c05b03a5b
commit
a810f103c1
@@ -2,6 +2,8 @@
|
||||
#include <QDir>
|
||||
#include <QSettings>
|
||||
#include <QFileInfo>
|
||||
#include <QString>
|
||||
#include <QSettings>
|
||||
|
||||
|
||||
ConfigEnterprise::ConfigEnterprise()
|
||||
@@ -9,11 +11,18 @@ ConfigEnterprise::ConfigEnterprise()
|
||||
// get enterprise settings
|
||||
m_settings = nullptr;
|
||||
QString configIniPath = QDir(QDir::currentPath()).filePath("config.ini");
|
||||
#if defined(Q_OS_LINUX) || defined(Q_OS_UNIX)
|
||||
if(!(QFileInfo::exists(configIniPath) && QFileInfo(configIniPath).isFile())) {
|
||||
#if defined(Q_OS_LINUX) || defined(Q_OS_UNIX)
|
||||
configIniPath = "/etc/flameshot/config.ini";
|
||||
}
|
||||
#elif defined(Q_OS_WIN)
|
||||
// calculate workdir for flameshot on startup if is not set yet
|
||||
QSettings bootUpSettings(
|
||||
"HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run",
|
||||
QSettings::NativeFormat);
|
||||
QFileInfo fi(bootUpSettings.value("Flameshot").toString());
|
||||
configIniPath = QDir(fi.absolutePath()).filePath("config.ini");
|
||||
#endif
|
||||
}
|
||||
m_settings = new QSettings(configIniPath, QSettings::IniFormat);
|
||||
}
|
||||
|
||||
|
||||
@@ -310,6 +310,7 @@ void ConfigHandler::setStartupLaunch(const bool start) {
|
||||
QSettings bootUpSettings(
|
||||
"HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run",
|
||||
QSettings::NativeFormat);
|
||||
// set workdir for flameshot on startup
|
||||
QSettings bootUpPath(
|
||||
"HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\App Paths",
|
||||
QSettings::NativeFormat);
|
||||
@@ -320,7 +321,7 @@ void ConfigHandler::setStartupLaunch(const bool start) {
|
||||
|
||||
// set application workdir
|
||||
bootUpPath.beginGroup("flameshot.exe");
|
||||
bootUpPath.setValue("Path", QCoreApplication::applicationFilePath());
|
||||
bootUpPath.setValue("Path", QCoreApplication::applicationDirPath());
|
||||
bootUpPath.endGroup();
|
||||
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user