File indexing completed on 2024-04-21 15:55:31

0001 /**************************************************************************
0002 *   Copyright (C) 2008 by Michel Ludwig (michel.ludwig@kdemail.net)       *
0003 ***************************************************************************/
0004 
0005 /**************************************************************************
0006 *                                                                         *
0007 *   This program is free software; you can redistribute it and/or modify  *
0008 *   it under the terms of the GNU General Public License as published by  *
0009 *   the Free Software Foundation; either version 2 of the License, or     *
0010 *   (at your option) any later version.                                   *
0011 *                                                                         *
0012 ***************************************************************************/
0013 
0014 #ifndef CONFIGURATIONMANAGER_H
0015 #define CONFIGURATIONMANAGER_H
0016 
0017 #include <QObject>
0018 
0019 class Kile;
0020 class KileInfo;
0021 
0022 namespace KileConfiguration {
0023 
0024 /**
0025  * This class handles the configuration management in Kile.
0026  **/
0027 class Manager : public QObject {
0028     friend class ::Kile;
0029 
0030     Q_OBJECT
0031 
0032 public:
0033     /**
0034      * Constructs a new Manager object.
0035      **/
0036     explicit Manager(KileInfo *info, QObject *parent = Q_NULLPTR, const char *name = Q_NULLPTR);
0037     virtual ~Manager();
0038 
0039 Q_SIGNALS:
0040     /**
0041     * This signal is emitted when the configuration has changed. Classes that read and write to the global KConfig object
0042     * should connect to this signal so they can update their settings.
0043     **/
0044     void configChanged();
0045 
0046 protected:
0047     KileInfo *m_kileInfo;
0048 
0049     void emitConfigChanged();
0050 
0051 };
0052 
0053 }
0054 
0055 #endif
0056 
0057