From 6813a6cb41260d7c6d30d04761ac6f13d28bab06 Mon Sep 17 00:00:00 2001 From: Sebastian Goth Date: Fri, 9 Jul 2010 10:10:39 +0200 Subject: [PATCH] Fix buffer preselection on reconnect Removes restriction on valid buffers in AbstractBufferContainer to be able to clear buffer selection. --- src/qtui/mainwin.cpp | 5 +++++ src/uisupport/abstractbuffercontainer.cpp | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/qtui/mainwin.cpp b/src/qtui/mainwin.cpp index 398f0a83..68a5f8e1 100644 --- a/src/qtui/mainwin.cpp +++ b/src/qtui/mainwin.cpp @@ -977,6 +977,11 @@ void MainWin::disconnectedFromCore() { } QtUiSettings s; + BufferId lastBufId = Client::bufferModel()->currentBuffer(); + if(lastBufId.isValid()) { + s.setValue("LastUsedBufferId", lastBufId.toInt()); + Client::bufferModel()->standardSelectionModel()->clearSelection(); + } restoreState(s.value("MainWinState").toByteArray()); setDisconnectedState(); } diff --git a/src/uisupport/abstractbuffercontainer.cpp b/src/uisupport/abstractbuffercontainer.cpp index 65377fe3..5ab79aa2 100644 --- a/src/uisupport/abstractbuffercontainer.cpp +++ b/src/uisupport/abstractbuffercontainer.cpp @@ -85,7 +85,8 @@ void AbstractBufferContainer::currentChanged(const QModelIndex ¤t, const Q Q_UNUSED(previous) BufferId newBufferId = current.data(NetworkModel::BufferIdRole).value(); - if(newBufferId.isValid() && currentBuffer() != newBufferId) { + // To be able to reset the selected buffer, we don't check if buffer/index is valid here + if(currentBuffer() != newBufferId) { setCurrentBuffer(newBufferId); emit currentChanged(newBufferId); emit currentChanged(current); -- 2.20.1