Page Menu
Home
Phabricator (Chris)
Search
Configure Global Search
Log In
Files
F135142
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Authored By
Unknown
Size
5 KB
Referenced Files
None
Subscribers
None
View Options
diff --git a/src/ApplicationGlobal.h b/src/ApplicationGlobal.h
index 93d8c91..c87bf2f 100644
--- a/src/ApplicationGlobal.h
+++ b/src/ApplicationGlobal.h
@@ -1,20 +1,22 @@
#ifndef APPLICATIONGLOBAL_H
#define APPLICATIONGLOBAL_H
#include <QColor>
#include <QString>
#include "Theme.h"
struct ApplicationGlobal {
bool start_with_shift_key = false;
- QString application_name;
+ QString generic_config_location;
QString application_data_dir;
+ QString config_file_path;
+ QString application_name;
QString file_command;
QString gpg_command;
QColor panel_bg_color;
ThemePtr theme;
};
extern ApplicationGlobal *global;
#endif // APPLICATIONGLOBAL_H
diff --git a/src/MySettings.cpp b/src/MySettings.cpp
index c7d8fba..ce33f7c 100644
--- a/src/MySettings.cpp
+++ b/src/MySettings.cpp
@@ -1,25 +1,26 @@
#include "MySettings.h"
#include "main.h"
#include "common/joinpath.h"
#include "ApplicationGlobal.h"
#include <QApplication>
#include <QDir>
#include <QString>
#include <QStandardPaths>
#include <QDebug>
-QString makeApplicationDataDir()
-{
- QString dir;
- dir = QStandardPaths::writableLocation(QStandardPaths::AppDataLocation);
- if (!QFileInfo(dir).isDir()) {
- QDir().mkpath(dir);
- }
- return dir;
-}
+//QString makeApplicationDataDir()
+//{
+// QString dir;
+// dir = QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation);
+// QString d = QStandardPaths::writableLocation(QStandardPaths::GenericConfigLocation);
+// if (!QFileInfo(dir).isDir()) {
+// QDir().mkpath(dir);
+// }
+// return dir;
+//}
MySettings::MySettings(QObject *)
- : QSettings(joinpath(makeApplicationDataDir(), global->application_name + ".ini"), QSettings::IniFormat)
+ : QSettings(joinpath(global->application_data_dir, global->application_name + ".ini"), QSettings::IniFormat)
{
}
diff --git a/src/MySettings.h b/src/MySettings.h
index 33c2d8d..f8a402d 100644
--- a/src/MySettings.h
+++ b/src/MySettings.h
@@ -1,20 +1,20 @@
#ifndef MYSETTINGS_H
#define MYSETTINGS_H
#include <QSettings>
class MySettings : public QSettings
{
Q_OBJECT
public:
explicit MySettings(QObject *parent = 0);
signals:
public slots:
};
-QString makeApplicationDataDir();
+//QString makeApplicationDataDir();
#endif // MYSETTINGS_H
diff --git a/src/main.cpp b/src/main.cpp
index 2049e82..14811b6 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -1,115 +1,122 @@
#include "MainWindow.h"
#include <QApplication>
#include "ApplicationGlobal.h"
#include "MySettings.h"
#include "main.h"
#include <string>
#include <QMessageBox>
#include <QDir>
#include <QDebug>
#include <QProxyStyle>
#include <QTranslator>
#include "webclient.h"
#include "win32/win32.h"
#include "common/misc.h"
#include "../darktheme/src/DarkStyle.h"
+#include <QStandardPaths>
+#include "common/joinpath.h"
+
ApplicationGlobal *global = 0;
ApplicationSettings ApplicationSettings::defaultSettings()
{
ApplicationSettings s;
s.proxy_server = "http://squid:3128/";
return s;
}
static bool isHighDpiScalingEnabled(int argc, char *argv[])
{
- QApplication dummy(argc, argv);
- dummy.setOrganizationName(ORGANIZTION_NAME);
- dummy.setApplicationName(global->application_name);
- MySettings s;
+ QSettings s(global->config_file_path, QSettings::IniFormat);
+
s.beginGroup("UI");
QVariant v = s.value("EnableHighDpiScaling");
return v.isNull() || v.toBool();
}
int main(int argc, char *argv[])
{
putenv((char *)"UNICODEMAP_JP=cp932");
ApplicationGlobal g;
global = &g;
+
global->application_name = APPLICATION_NAME;
+ global->generic_config_location = QStandardPaths::writableLocation(QStandardPaths::GenericConfigLocation);
+ global->application_data_dir = global->generic_config_location / ORGANIZTION_NAME / global->application_name;
+ global->config_file_path = joinpath(global->application_data_dir, global->application_name + ".ini");
+ if (!QFileInfo(global->application_data_dir).isDir()) {
+ QDir().mkpath(global->application_data_dir);
+ }
if (isHighDpiScalingEnabled(argc, argv)){
#if (QT_VERSION < QT_VERSION_CHECK(5, 6, 0))
qDebug() << "High DPI scaling is not supported";
#else
QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
#endif
}
QApplication a(argc, argv);
a.setOrganizationName(ORGANIZTION_NAME);
a.setApplicationName(global->application_name);
{
MySettings s;
s.beginGroup("UI");
QString theme = s.value("Theme").toString();
if (theme.compare("dark", Qt::CaseInsensitive) == 0) {
global->theme = createDarkTheme();
} else {
global->theme = createStandardTheme();
}
}
QApplication::setStyle(global->theme->newStyle());
if (QApplication::queryKeyboardModifiers() & Qt::ShiftModifier) {
global->start_with_shift_key = true;
}
WebClient::initialize();
bool f_open_here = false;
for (int i = 1; i < argc; i++) {
std::string arg = argv[i];
if (arg == "--open-here") {
f_open_here = true;
}
}
- global->application_data_dir = makeApplicationDataDir();
if (global->application_data_dir.isEmpty()) {
QMessageBox::warning(0, qApp->applicationName(), "Preparation of data storage folder failed.");
return 1;
}
QTranslator translator;
{
#if defined(Q_OS_MACX)
QString path = "../Resources/Guitar_ja";
#else
QString path = "Guitar_ja";
#endif
translator.load(path, a.applicationDirPath());
a.installTranslator(&translator);
}
MainWindow w;
global->panel_bg_color = w.palette().color(QPalette::Background);
w.setWindowIcon(QIcon(":/image/guitar.png"));
w.show();
w.shown();
if (f_open_here) {
QString dir = QDir::current().absolutePath();
w.autoOpenRepository(dir);
}
return a.exec();
}
File Metadata
Details
Attached
Mime Type
text/x-diff
Expires
Mon, Jun 22, 8:04 PM (6 d, 13 h ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
72957
Default Alt Text
(5 KB)
Attached To
Mode
R77 Guitar
Attached
Detach File
Event Timeline