diff -r bd9fb6476b80 -r 419c8c3209e8 ui/qt/tree.cpp --- a/ui/qt/tree.cpp Fri Jan 09 14:33:40 2015 +0100 +++ b/ui/qt/tree.cpp Sat Jan 10 10:14:28 2015 +0100 @@ -29,11 +29,31 @@ #include "tree.h" #include "container.h" +#include +#include + UIWIDGET ui_table_var(UiObject *obj, UiListPtr *list, UiModelInfo *modelinfo) { - QTableView *view = new QTableView(); - TableModel *model = new TableModel(list, modelinfo); + QTreeView *view = new QTreeView(); + TableModel *model = new TableModel(obj, view, list, modelinfo); view->setModel(model); + view->setItemsExpandable(false); + view->setRootIsDecorated(false); + + view->setSelectionMode(QAbstractItemView::ExtendedSelection); + QItemSelectionModel *s = view->selectionModel(); + QObject::connect( + s, + SIGNAL(selectionChanged(const QItemSelection &, const QItemSelection &)), + model, + SLOT(selectionChanged(const QItemSelection &, const QItemSelection &))); + QObject::connect( + view, + SIGNAL(doubleClicked(const QModelIndex &)), + model, + SLOT(activate(const QModelIndex &))); + + UiContainer *ct = uic_get_current_container(obj); ct->add(view, true); return view;