1 #include <QDesktopServices>
4 #include <sailfishapp.h>
5 #include <mlite5/MGConfItem>
9 Settings
* Settings::instance
= nullptr;
11 Settings::Settings(QObject
*parent
) : QObject(parent
),
15 QScopedPointer
<MGConfItem
> ratioItem(new MGConfItem("/desktop/sailfish/silica/theme_pixel_ratio"));
16 pixelRatio
= ratioItem
->value(1.0).toDouble();
18 if (pixelRatio
> 1.75) {
21 else if (pixelRatio
> 1.5) {
24 else if (pixelRatio
> 1.25) {
27 else if (pixelRatio
> 1.0) {
34 imageDir
= SailfishApp::pathTo("qml/images/z" + dir
).toString(QUrl::RemoveScheme
) + "/";
35 qDebug() << "Image folder: " << imageDir
;
38 Settings::~Settings() {
41 void Settings::instantiate(QObject
*parent
) {
42 if (instance
== nullptr) {
43 instance
= new Settings(parent
);
47 Settings
& Settings::getInstance() {
51 QObject
* Settings::provider(QQmlEngine
*engine
, QJSEngine
*scriptEngine
) {
53 Q_UNUSED(scriptEngine
)
58 QString
Settings::getConfigDir() {
59 return QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation
);
62 QString
Settings::getImageDir() const {
65 QString
Settings::getImageUrl(const QString
&id
) const {
66 return imageDir
+ id
+ ".png";
69 void Settings::setMainStatus(Status
&value
) {
73 void Settings::loadSettings() {
74 if (mainStatus
!= nullptr) {
75 mainStatus
->setCycling(settings
.value("status/cycling", false).toBool());
76 mainStatus
->setStartTime(settings
.value("status/startTime", QDateTime::currentMSecsSinceEpoch()).toULongLong());
80 void Settings::saveSettings() {
81 if (mainStatus
!= nullptr) {
82 settings
.setValue("status/cycling", mainStatus
->getCycling());
83 settings
.setValue("status/startTime", mainStatus
->getStartTime());