File indexing completed on 2024-05-19 05:28:46

0001 //////////////////////////////////////////////////////////////////////////////
0002 // breezeconfigurationui.h
0003 // -------------------
0004 //
0005 // SPDX-FileCopyrightText: 2009 Hugo Pereira Da Costa <hugo.pereira@free.fr>
0006 //
0007 // SPDX-License-Identifier: MIT
0008 //////////////////////////////////////////////////////////////////////////////
0009 
0010 #pragma once
0011 
0012 #include "breeze.h"
0013 #include "breezeexceptionlistwidget.h"
0014 #include "breezesettings.h"
0015 #include "ui_breezeconfigurationui.h"
0016 
0017 #include <KCModule>
0018 #include <KSharedConfig>
0019 
0020 #include <QSharedPointer>
0021 #include <QWidget>
0022 
0023 namespace Breeze
0024 {
0025 //_____________________________________________
0026 class ConfigWidget : public KCModule
0027 {
0028     Q_OBJECT
0029 
0030 public:
0031     //* constructor
0032     explicit ConfigWidget(QObject *parent, const KPluginMetaData &data, const QVariantList &args);
0033 
0034     //* destructor
0035     virtual ~ConfigWidget() = default;
0036 
0037     //* default
0038     void defaults() override;
0039 
0040     //* load configuration
0041     void load() override;
0042 
0043     //* save configuration
0044     void save() override;
0045 
0046 protected Q_SLOTS:
0047 
0048     //* update changed state
0049     virtual void updateChanged();
0050 
0051 private:
0052     //* ui
0053     Ui_BreezeConfigurationUI m_ui;
0054 
0055     //* kconfiguration object
0056     KSharedConfig::Ptr m_configuration;
0057 
0058     //* internal exception
0059     InternalSettingsPtr m_internalSettings;
0060 
0061     //* changed state
0062     bool m_changed;
0063 };
0064 
0065 }