#include "uisettings.h"
+#include "global.h"
+
/*****************************************
* The TreeView showing the Buffers
*****************************************/
// ensure that newly inserted network nodes are expanded per default
void BufferView::rowsInserted(const QModelIndex & parent, int start, int end) {
QTreeView::rowsInserted(parent, start, end);
- if(model()->rowCount(parent) == 1 && parent.data(NetworkModel::ItemTypeRole) == NetworkModel::NetworkItemType && parent.data(NetworkModel::ItemActiveRole) == true) {
+ if(model()->rowCount(parent) == 1 && parent.data(NetworkModel::ItemTypeRole) == NetworkModel::NetworkItemType
+ && (Global::SPUTDEV || parent.data(NetworkModel::ItemActiveRole) == true)) {
// without updating the parent the expand will have no effect... Qt Bug?
- update(parent);
+ update(parent);
expand(parent);
}
}
continue;
bool isActive = networkIdx.data(NetworkModel::ItemActiveRole).toBool();
- if(isExpanded(networkIdx) != isActive)
- setExpanded(networkIdx, isActive);
+ if(Global::SPUTDEV) {
+ if(isExpanded(networkIdx) != isActive) setExpanded(networkIdx, true);
+ } else {
+ if(isExpanded(networkIdx) != isActive)
+ setExpanded(networkIdx, isActive);
+ }
}
}
-
+
void BufferView::toggleHeader(bool checked) {
QAction *action = qobject_cast<QAction *>(sender());
header()->setSectionHidden((action->property("column")).toInt(), !checked);
network->requestDisconnect();
} else
if(result == joinChannelAction) {
+ // FIXME no QInputDialog in Qtopia
+#ifndef Q_WS_QWS
bool ok;
QString channelName = QInputDialog::getText(this, tr("Join Channel"),
tr("Input channel name:"),QLineEdit::Normal,
QDir::home().dirName(), &ok);
+
if (ok && !channelName.isEmpty()) {
BufferInfo bufferInfo = index.child(0,0).data(NetworkModel::BufferInfoRole).value<BufferInfo>();
if(bufferInfo.isValid()) {
Client::instance()->userInput(bufferInfo, QString("/J %1").arg(channelName));
}
}
+#endif
} else
if(result == joinBufferAction) {
Client::instance()->userInput(bufferInfo, QString("/JOIN %1").arg(channelname));
}
}
-void BufferView::wheelEvent(QWheelEvent* event)
-{
- UiSettings s;
- if(s.value("MouseWheelChangesBuffers",QVariant(true)).toBool()) {
- int rowDelta = ( event->delta() > 0 ) ? -1 : 1;
- QModelIndex currentIndex = selectionModel()->currentIndex();
- QModelIndex resultingIndex;
- if( model()->hasIndex( currentIndex.row() + rowDelta, currentIndex.column(), currentIndex.parent() ) )
+void BufferView::wheelEvent(QWheelEvent* event) {
+ if(UiSettings().value("MouseWheelChangesBuffers", QVariant(true)).toBool() == (bool)(event->modifiers() & Qt::AltModifier))
+ return QTreeView::wheelEvent(event);
+
+ int rowDelta = ( event->delta() > 0 ) ? -1 : 1;
+ QModelIndex currentIndex = selectionModel()->currentIndex();
+ QModelIndex resultingIndex;
+ if( model()->hasIndex( currentIndex.row() + rowDelta, currentIndex.column(), currentIndex.parent() ) )
{
- resultingIndex = currentIndex.sibling( currentIndex.row() + rowDelta, currentIndex.column() );
+ resultingIndex = currentIndex.sibling( currentIndex.row() + rowDelta, currentIndex.column() );
}
else //if we scroll into a the parent node...
- {
+ {
QModelIndex parent = currentIndex.parent();
QModelIndex aunt = parent.sibling( parent.row() + rowDelta, parent.column() );
if( rowDelta == -1 )
- resultingIndex = aunt.child( model()->rowCount( aunt ) - 1, 0 );
+ resultingIndex = aunt.child( model()->rowCount( aunt ) - 1, 0 );
else
- resultingIndex = aunt.child( 0, 0 );
+ resultingIndex = aunt.child( 0, 0 );
if( !resultingIndex.isValid() )
- return;
- }
- selectionModel()->setCurrentIndex( resultingIndex, QItemSelectionModel::ClearAndSelect | QItemSelectionModel::Rows );
- selectionModel()->select( resultingIndex, QItemSelectionModel::ClearAndSelect );
- } else {
- QAbstractScrollArea::wheelEvent(event);
- }
+ return;
+ }
+ selectionModel()->setCurrentIndex( resultingIndex, QItemSelectionModel::ClearAndSelect | QItemSelectionModel::Rows );
+ selectionModel()->select( resultingIndex, QItemSelectionModel::ClearAndSelect );
+
}
QSize BufferView::sizeHint() const {
+ return QSize(120, 50);
+
if(!model())
return QTreeView::sizeHint();