-void NickView::rowsInserted(const QModelIndex &index, int start, int end) {
- QTreeView::rowsInserted(index, start, end);
- expandAll(); // FIXME We need to do this more intelligently. Maybe a pimped TreeView?
+QModelIndexList NickView::selectedIndexes() const
+{
+ QModelIndexList indexList = TreeViewTouch::selectedIndexes();
+
+ // make sure the item we clicked on is first
+ if (indexList.contains(currentIndex())) {
+ indexList.removeAll(currentIndex());
+ indexList.prepend(currentIndex());
+ }
+
+ return indexList;
+}
+
+void NickView::unanimatedExpandAll()
+{
+ // since of Qt Version 4.8.0 the default expandAll will not properly work if
+ // animations are enabled. Therefore we perform an unanimated expand when a
+ // model is set or a toplevel node is inserted.
+ bool wasAnimated = isAnimated();
+ setAnimated(false);
+ expandAll();
+ setAnimated(wasAnimated);
+}
+
+void NickView::showContextMenu(const QPoint& pos)
+{
+ Q_UNUSED(pos);
+
+ QMenu contextMenu(this);
+ GraphicalUi::contextMenuActionProvider()->addActions(&contextMenu, selectedIndexes());
+ contextMenu.exec(QCursor::pos());