1#include "backgroundmanager.h"
3#include "settingsstore.h"
4#include "mauimanutils.h"
8#if !defined Q_OS_ANDROID
9#include <QDBusInterface>
13BackgroundManager::BackgroundManager(
QObject *parent) :
QObject(parent)
16 qDebug(
" INIT BACKGORUND MANAGER");
17#if !defined Q_OS_ANDROID
19 if(server->serverRunning())
21 this->setConnections();
25 connect(server, &MauiManUtils::serverRunningChanged, [
this](
bool state)
29 this->setConnections();
40 return m_wallpaperSource;
45 return m_dimWallpaper;
50 return m_fitWallpaper;
60 return m_showWallpaper;
63void BackgroundManager::setWallpaperSource(QString wallpaperSource)
69 m_settings->save(QStringLiteral(
"Wallpaper"), m_wallpaperSource);
70 sync(QStringLiteral(
"setWallpaperSource"), m_wallpaperSource);
71 Q_EMIT wallpaperSourceChanged(m_wallpaperSource);
74void BackgroundManager::setDimWallpaper(
bool dimWallpaper)
80 m_settings->save(QStringLiteral(
"DimWallpaper"), m_dimWallpaper);
81 sync(QStringLiteral(
"setDimWallpaper"), m_dimWallpaper);
82 Q_EMIT dimWallpaperChanged(m_dimWallpaper);
85void BackgroundManager::setFitWallpaper(
bool fitWallpaper)
91 m_settings->save(QStringLiteral(
"FitWallpaper"), m_fitWallpaper);
92 sync(QStringLiteral(
"setFitWallpaper"), m_fitWallpaper);
93 Q_EMIT fitWallpaperChanged(m_fitWallpaper);
96void BackgroundManager::setSolidColor(QString solidColor)
102 m_settings->save(QStringLiteral(
"SolidColor"), m_solidColor);
103 sync(QStringLiteral(
"setSolidColor"), m_solidColor);
104 Q_EMIT solidColorChanged(m_solidColor);
107void BackgroundManager::setShowWallpaper(
bool showWallpaper)
113 sync(QStringLiteral(
"setShowWallpaper"), m_showWallpaper);
114 m_settings->save(QStringLiteral(
"ShowWallpaper"), m_showWallpaper);
115 Q_EMIT showWallpaperChanged(m_showWallpaper);
120 return m_wallpaperSourceDir;
123void BackgroundManager::setWallpaperSourceDir(QString wallpaperSourceDir)
129 Q_EMIT wallpaperSourceDirChanged(m_wallpaperSourceDir);
132void BackgroundManager::onWallpaperChanged(
const QString &wallpaperSource)
138 Q_EMIT wallpaperSourceChanged(m_wallpaperSource);
141void BackgroundManager::onSolidColorChanged(
const QString &solidColor)
147 Q_EMIT solidColorChanged(m_solidColor);
150void BackgroundManager::onFitWallpaperChanged(
const bool &fitWallpaper)
156 Q_EMIT fitWallpaperChanged(m_fitWallpaper);
159void BackgroundManager::onDimWallpaperChanged(
const bool &dimWallpaper)
165 Q_EMIT dimWallpaperChanged(m_dimWallpaper);
168void BackgroundManager::onShowWallpaperChanged(
const bool &showWallpaper)
174 Q_EMIT showWallpaperChanged(m_showWallpaper);
177void BackgroundManager::sync(
const QString &key,
const QVariant &value)
179#if !defined Q_OS_ANDROID
180 if (m_interface && m_interface->isValid())
182 m_interface->call(key, value);
190void BackgroundManager::setConnections()
192#if !defined Q_OS_ANDROID
196 m_interface->disconnect();
197 m_interface->deleteLater();
198 m_interface =
nullptr;
201 m_interface =
new QDBusInterface (QStringLiteral(
"org.mauiman.Manager"),
202 QStringLiteral(
"/Background"),
203 QStringLiteral(
"org.mauiman.Background"),
205 if (m_interface->isValid())
207 connect(m_interface, SIGNAL(wallpaperSourceChanged(QString)),
this, SLOT(onWallpaperChanged(QString)));
208 connect(m_interface, SIGNAL(solidColorChanged(QString)),
this, SLOT(onSolidColorChanged(QString)));
209 connect(m_interface, SIGNAL(fitWallpaperChanged(
bool)),
this, SLOT(onFitWallpaperChanged(
bool)));
210 connect(m_interface, SIGNAL(showWallpaperChanged(
bool)),
this, SLOT(onShowWallpaperChanged(
bool)));
211 connect(m_interface, SIGNAL(dimWallpaperChanged(
bool)),
this, SLOT(onDimWallpaperChanged(
bool)));
217void BackgroundManager::loadSettings()
219 m_settings->beginModule(QStringLiteral(
"Background"));
221#if !defined Q_OS_ANDROID
223 if(m_interface && m_interface->isValid())
225 m_wallpaperSource = m_interface->property(
"wallpaperSource").toString();
226 m_dimWallpaper = m_interface->property(
"dimWallpaper").toBool();
227 m_showWallpaper = m_interface->property(
"showWallpaper").toBool();
228 m_fitWallpaper = m_interface->property(
"fitWallpaper").toBool();
229 m_solidColor = m_interface->property(
"solidColor").toString();
234 m_wallpaperSource = m_settings->load(QStringLiteral(
"Wallpaper"), m_wallpaperSource).toString();
235 m_dimWallpaper = m_settings->load(QStringLiteral(
"DimWallpaper"), m_dimWallpaper).toBool();
236 m_showWallpaper = m_settings->load(QStringLiteral(
"ShowWallpaper"), m_showWallpaper).toBool();
237 m_fitWallpaper = m_settings->load(QStringLiteral(
"FitWallpaper"), m_fitWallpaper).toBool();
238 m_solidColor = m_settings->load(QStringLiteral(
"SolidColor"), m_solidColor).toString();
bool showWallpaper
Whether to display the wallpaper image.
QString wallpaperSource
The image file path to be used as the wallpaper background.
bool fitWallpaper
Whether the wallpaper image should fit the screen area, preserving its aspect ratio,...
bool dimWallpaper
Whether the wallpaper background should have a dimmed effect.
QString solidColor
A color to be used in the background.
QString wallpaperSourceDir
The preferred file path to the directory containing the wallpaper images.
The SettingsStore class Allows to store and read settings for MauiMan from the local conf file.
The MauiMan name-space contains all of the available modules for configuring the Maui Applications an...
QDBusConnection sessionBus()
QMetaObject::Connection connect(const QObject *sender, PointerToMemberFunction signal, Functor functor)
QFuture< ArgsType< Signal > > connect(Sender *sender, Signal signal)