/***************************************************************************
- * Copyright (C) 2005-09 by the Quassel Project *
+ * Copyright (C) 2005-2020 by the Quassel Project *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
***************************************************************************/
-#ifndef BUFFERVIEWMANAGER_H
-#define BUFFERVIEWMANAGER_H
+#pragma once
-#include "syncableobject.h"
+#include "common-export.h"
-#include <QList>
#include <QHash>
+#include <QList>
+
+#include "syncableobject.h"
class BufferViewConfig;
class SignalProxy;
-class BufferViewManager : public SyncableObject {
- Q_OBJECT
+class COMMON_EXPORT BufferViewManager : public SyncableObject
+{
+ Q_OBJECT
+ SYNCABLE_OBJECT
public:
- BufferViewManager(SignalProxy *proxy, QObject *parent = 0);
+ BufferViewManager(SignalProxy* proxy, QObject* parent = nullptr);
- inline QList<BufferViewConfig *> bufferViewConfigs() const { return _bufferViewConfigs.values(); }
- BufferViewConfig *bufferViewConfig(int bufferViewId) const;
+ inline QList<BufferViewConfig*> bufferViewConfigs() const { return _bufferViewConfigs.values(); }
+ BufferViewConfig* bufferViewConfig(int bufferViewId) const;
public slots:
- void addBufferViewConfig(BufferViewConfig *config);
- void addBufferViewConfig(int bufferViewConfigId);
- inline void newBufferViewConfig(int bufferViewConfigId) { addBufferViewConfig(bufferViewConfigId); }
-
- void deleteBufferViewConfig(int bufferViewConfigId);
+ QVariantList initBufferViewIds() const;
+ void initSetBufferViewIds(const QVariantList bufferViewIds);
- QVariantList initBufferViewIds() const;
- void initSetBufferViewIds(const QVariantList bufferViewIds);
+ void addBufferViewConfig(int bufferViewConfigId);
+ void deleteBufferViewConfig(int bufferViewConfigId);
- virtual inline void requestCreateBufferView(const QVariantMap &properties) { emit createBufferViewRequested(properties); }
- virtual inline void requestCreateBufferViews(const QVariantList &properties) { emit createBufferViewsRequested(properties); }
- virtual inline void requestDeleteBufferView(int bufferViewId) { emit deleteBufferViewRequested(bufferViewId); }
- virtual inline void requestDeleteBufferViews(const QVariantList &bufferViews) { emit deleteBufferViewsRequested(bufferViews); }
+ virtual inline void requestCreateBufferView(const QVariantMap& properties) { REQUEST(ARG(properties)) }
+ virtual inline void requestCreateBufferViews(const QVariantList& properties) { REQUEST(ARG(properties)) }
+ virtual inline void requestDeleteBufferView(int bufferViewId) { REQUEST(ARG(bufferViewId)) }
+ virtual inline void requestDeleteBufferViews(const QVariantList& bufferViews) { REQUEST(ARG(bufferViews)) }
-signals:
- void bufferViewConfigAdded(int bufferViewConfigId);
- void bufferViewConfigDeleted(int bufferViewConfigId);
- void createBufferViewRequested(const QVariantMap &properties);
- void createBufferViewsRequested(const QVariantList &properties);
- void deleteBufferViewRequested(int bufferViewId);
- void deleteBufferViewsRequested(const QVariantList &bufferViews);
+ signals : void bufferViewConfigAdded(int bufferViewConfigId);
+ void bufferViewConfigDeleted(int bufferViewConfigId);
+ // void createBufferViewRequested(const QVariantMap &properties);
+ // void createBufferViewsRequested(const QVariantList &properties);
+ // void deleteBufferViewRequested(int bufferViewId);
+ // void deleteBufferViewsRequested(const QVariantList &bufferViews);
protected:
- typedef QHash<int, BufferViewConfig *> BufferViewConfigHash;
- inline const BufferViewConfigHash &bufferViewConfigHash() { return _bufferViewConfigs; }
+ using BufferViewConfigHash = QHash<int, BufferViewConfig*>;
+ inline const BufferViewConfigHash& bufferViewConfigHash() { return _bufferViewConfigs; }
+ virtual BufferViewConfig* bufferViewConfigFactory(int bufferViewConfigId);
+
+ void addBufferViewConfig(BufferViewConfig* config);
private:
- BufferViewConfigHash _bufferViewConfigs;
- SignalProxy *_proxy;
+ BufferViewConfigHash _bufferViewConfigs;
+ SignalProxy* _proxy;
};
-
-#endif // BUFFERVIEWMANAGER_H