projects
/
quassel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
futher internal prettifications of the buffer switching process
[quassel.git]
/
src
/
qtui
/
bufferwidget.cpp
diff --git
a/src/qtui/bufferwidget.cpp
b/src/qtui/bufferwidget.cpp
index
e408e71
..
0ebcffb
100644
(file)
--- a/
src/qtui/bufferwidget.cpp
+++ b/
src/qtui/bufferwidget.cpp
@@
-109,16
+109,18
@@
void BufferWidget::removeBuffer(BufferId bufferId) {
}
void BufferWidget::currentChanged(const QModelIndex ¤t, const QModelIndex &previous) {
}
void BufferWidget::currentChanged(const QModelIndex ¤t, const QModelIndex &previous) {
- Q_UNUSED(previous);
- QVariant variant;
-
- variant = current.data(NetworkModel::BufferIdRole);
- if(!variant.isValid())
- return;
- setCurrentBuffer(variant.value<BufferId>());
+ BufferId newBufferId = current.data(NetworkModel::BufferIdRole).value<BufferId>();
+ BufferId oldBufferId = previous.data(NetworkModel::BufferIdRole).value<BufferId>();
+ if(newBufferId != oldBufferId)
+ setCurrentBuffer(newBufferId);
}
void BufferWidget::setCurrentBuffer(BufferId bufferId) {
}
void BufferWidget::setCurrentBuffer(BufferId bufferId) {
+ if(!bufferId.isValid()) {
+ ui.stackedWidget->setCurrentWidget(ui.page);
+ return;
+ }
+
ChatWidget *chatWidget = 0;
Buffer *buf = Client::buffer(bufferId);
if(!buf) {
ChatWidget *chatWidget = 0;
Buffer *buf = Client::buffer(bufferId);
if(!buf) {