Improve marker line behavior; allow manual setting (Ctrl+R)
[quassel.git] / src / client / client.cpp
index 228d4df..21beda0 100644 (file)
@@ -322,7 +322,7 @@ void Client::setSyncedToCore() {
   connect(bufferSyncer(), SIGNAL(buffersPermanentlyMerged(BufferId, BufferId)), this, SLOT(buffersPermanentlyMerged(BufferId, BufferId)));
   connect(bufferSyncer(), SIGNAL(buffersPermanentlyMerged(BufferId, BufferId)), _messageModel, SLOT(buffersPermanentlyMerged(BufferId, BufferId)));
   connect(bufferSyncer(), SIGNAL(bufferMarkedAsRead(BufferId)), SIGNAL(bufferMarkedAsRead(BufferId)));
   connect(bufferSyncer(), SIGNAL(buffersPermanentlyMerged(BufferId, BufferId)), this, SLOT(buffersPermanentlyMerged(BufferId, BufferId)));
   connect(bufferSyncer(), SIGNAL(buffersPermanentlyMerged(BufferId, BufferId)), _messageModel, SLOT(buffersPermanentlyMerged(BufferId, BufferId)));
   connect(bufferSyncer(), SIGNAL(bufferMarkedAsRead(BufferId)), SIGNAL(bufferMarkedAsRead(BufferId)));
-  connect(networkModel(), SIGNAL(setLastSeenMsg(BufferId, MsgId)), bufferSyncer(), SLOT(requestSetLastSeenMsg(BufferId, const MsgId &)));
+  connect(networkModel(), SIGNAL(requestSetLastSeenMsg(BufferId, MsgId)), bufferSyncer(), SLOT(requestSetLastSeenMsg(BufferId, const MsgId &)));
   signalProxy()->synchronize(bufferSyncer());
 
   // create a new BufferViewManager
   signalProxy()->synchronize(bufferSyncer());
 
   // create a new BufferViewManager
@@ -470,11 +470,17 @@ void Client::setBufferLastSeenMsg(BufferId id, const MsgId &msgId) {
     bufferSyncer()->requestSetLastSeenMsg(id, msgId);
 }
 
     bufferSyncer()->requestSetLastSeenMsg(id, msgId);
 }
 
-void Client::setBufferMarkerLine(BufferId id, const MsgId &msgId) {
+void Client::setMarkerLine(BufferId id, const MsgId &msgId) {
   if(bufferSyncer())
     bufferSyncer()->requestSetMarkerLine(id, msgId);
 }
 
   if(bufferSyncer())
     bufferSyncer()->requestSetMarkerLine(id, msgId);
 }
 
+MsgId Client::markerLine(BufferId id) {
+  if(id.isValid() && networkModel())
+    return networkModel()->markerLineMsgId(id);
+  return MsgId();
+}
+
 void Client::removeBuffer(BufferId id) {
   if(!bufferSyncer()) return;
   bufferSyncer()->requestRemoveBuffer(id);
 void Client::removeBuffer(BufferId id) {
   if(!bufferSyncer()) return;
   bufferSyncer()->requestRemoveBuffer(id);