#include "bufferinfo.h"
#include "coreconnection.h"
+#include "quassel.h"
#include "types.h"
class Message;
static inline CoreAccountModel *coreAccountModel() { return instance()->_coreAccountModel; }
static inline CoreConnection *coreConnection() { return instance()->_coreConnection; }
static inline CoreAccount currentCoreAccount() { return coreConnection()->currentAccount(); }
+ static inline Quassel::Features coreFeatures() { return _coreFeatures; }
static bool isConnected();
- static bool isSynced();
static bool internalCore();
static void userInput(const BufferInfo &bufferInfo, const QString &message);
static void setBufferLastSeenMsg(BufferId id, const MsgId &msgId); // this is synced to core and other clients
+ static void setMarkerLine(BufferId id, const MsgId &msgId); // this is synced to core and other clients
+ static MsgId markerLine(BufferId id);
+
static void removeBuffer(BufferId id);
static void renameBuffer(BufferId bufferId, const QString &newName);
static void mergeBuffersPermanently(BufferId bufferId1, BufferId bufferId2);
void logUpdated(const QString &msg);
+ //! Emitted when a buffer has been marked as read
+ /** This is currently triggered by setting lastSeenMsg, either local or remote,
+ * or by bringing the window to front.
+ * \param id The buffer that has been marked as read
+ */
+ void bufferMarkedAsRead(BufferId id);
+
public slots:
void disconnectFromCore();
void bufferRenamed(BufferId bufferId, const QString &newName);
void buffersPermanentlyMerged(BufferId bufferId1, BufferId bufferId2);
+ void markBufferAsRead(BufferId id);
+
private slots:
void setSyncedToCore();
void setDisconnectedFromCore();
void coreNetworkRemoved(NetworkId);
void requestInitialBacklog();
- void createDefaultBufferView();
void sendBufferedUserInput();
void init();
static void addNetwork(Network *);
+ static void setCoreFeatures(Quassel::Features);
static inline BufferSyncer *bufferSyncer() { return instance()->_bufferSyncer; }
static QPointer<Client> instanceptr;
QHash<NetworkId, Network *> _networks;
QHash<IdentityId, Identity *> _identities;
+ bool _connected;
+ static Quassel::Features _coreFeatures;
+
QString _debugLogBuffer;
QTextStream _debugLog;