properly fixing dupes
[quassel.git] / src / client / quasselui.h
index 747d8b8..dac64be 100644 (file)
  *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
  ***************************************************************************/
 
-#ifndef _QUASSELUI_H_
-#define _QUASSELUI_H_
+#ifndef QUASSELUI_H
+#define QUASSELUI_H
 
 #include <QObject>
 #include "message.h"
 
-class AbstractUiMsg {
-
-  public:
-    virtual ~AbstractUiMsg() {};
-    virtual QString sender() const = 0;
-    virtual QString text() const = 0;
-    virtual MsgId msgId() const = 0;
-    virtual BufferInfo bufferInfo() const = 0;
-    virtual QDateTime timestamp() const = 0;
-
-};
-
+class MessageModel;
+class AbstractMessageProcessor;
 
 class AbstractUi : public QObject {
   Q_OBJECT
 
   public:
     virtual void init() {};  // called after the client is initialized
-    virtual AbstractUiMsg *layoutMsg(const Message &) = 0;
+    virtual MessageModel *createMessageModel(QObject *parent) = 0;
+    virtual AbstractMessageProcessor *createMessageProcessor(QObject *parent) = 0;
+
+  inline static bool isVisible() { return _visible; }
+  inline static void setVisible(bool visible) { _visible = visible; }
 
   protected slots:
     virtual void connectedToCore() {}
@@ -52,8 +46,8 @@ class AbstractUi : public QObject {
     void connectToCore(const QVariantMap &connInfo);
     void disconnectFromCore();
 
+private:
+  static bool _visible;
 };
 
-
-
 #endif