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)