summaryrefslogtreecommitdiff
path: root/src/plugins
diff options
context:
space:
mode:
authorDenis Mingulov <denis.mingulov@gmail.com>2010-07-16 11:18:30 +0200
committerKai Koehne <kai.koehne@nokia.com>2010-07-16 11:24:02 +0200
commit5af6f15f7c6897b65e494838866e01f984093cb7 (patch)
treeebe94fee6c0126196b2021c89d0554a74b53a2cd /src/plugins
parentae8192ad5a88384962f105bd5e18a50784d3edf0 (diff)
downloadqt-creator-5af6f15f7c6897b65e494838866e01f984093cb7.tar.gz
Utils::NavigationTreeView is created - as a base class for any Navigation Widget (Side Bar) tree view
Merge-request: 2167 Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/classview/classviewnavigationwidget.cpp1
-rw-r--r--src/plugins/classview/classviewnavigationwidget.ui18
-rw-r--r--src/plugins/cppeditor/cppoutline.cpp7
-rw-r--r--src/plugins/cppeditor/cppoutline.h3
-rw-r--r--src/plugins/projectexplorer/projecttreewidget.cpp38
-rw-r--r--src/plugins/qmljseditor/qmljsoutline.cpp7
-rw-r--r--src/plugins/qmljseditor/qmljsoutline.h3
7 files changed, 16 insertions, 61 deletions
diff --git a/src/plugins/classview/classviewnavigationwidget.cpp b/src/plugins/classview/classviewnavigationwidget.cpp
index a90a58fa82..8420284d81 100644
--- a/src/plugins/classview/classviewnavigationwidget.cpp
+++ b/src/plugins/classview/classviewnavigationwidget.cpp
@@ -76,7 +76,6 @@ NavigationWidget::NavigationWidget(QWidget *parent) :
{
d_ptr->ui = new Ui::NavigationWidget;
d_ptr->ui->setupUi(this);
- d_ptr->ui->treeView->setIndentation(d_ptr->ui->treeView->indentation() * 9/10);
// tree model
d_ptr->treeModel = new TreeItemModel(this);
diff --git a/src/plugins/classview/classviewnavigationwidget.ui b/src/plugins/classview/classviewnavigationwidget.ui
index d9ba960515..0b0bf55a50 100644
--- a/src/plugins/classview/classviewnavigationwidget.ui
+++ b/src/plugins/classview/classviewnavigationwidget.ui
@@ -21,19 +21,10 @@
<number>0</number>
</property>
<item>
- <widget class="QTreeView" name="treeView">
- <property name="frameShape">
- <enum>QFrame::NoFrame</enum>
- </property>
+ <widget class="Utils::NavigationTreeView" name="treeView">
<property name="editTriggers">
<set>QAbstractItemView::NoEditTriggers</set>
</property>
- <property name="textElideMode">
- <enum>Qt::ElideNone</enum>
- </property>
- <property name="uniformRowHeights">
- <bool>true</bool>
- </property>
<property name="headerHidden">
<bool>true</bool>
</property>
@@ -41,6 +32,13 @@
</item>
</layout>
</widget>
+ <customwidgets>
+ <customwidget>
+ <class>Utils::NavigationTreeView</class>
+ <extends>QTreeView</extends>
+ <header>utils/navigationtreeview.h</header>
+ </customwidget>
+ </customwidgets>
<resources/>
<connections/>
</ui>
diff --git a/src/plugins/cppeditor/cppoutline.cpp b/src/plugins/cppeditor/cppoutline.cpp
index 4e9fcfdbda..14d8b0b9e9 100644
--- a/src/plugins/cppeditor/cppoutline.cpp
+++ b/src/plugins/cppeditor/cppoutline.cpp
@@ -18,16 +18,11 @@ enum {
};
CppOutlineTreeView::CppOutlineTreeView(QWidget *parent) :
- QTreeView(parent)
+ Utils::NavigationTreeView(parent)
{
// see also QmlJSOutlineTreeView
setFocusPolicy(Qt::NoFocus);
- setFrameStyle(QFrame::NoFrame);
- setAttribute(Qt::WA_MacShowFocusRect, false);
- setUniformRowHeights(true);
setHeaderHidden(true);
- setTextElideMode(Qt::ElideNone);
- setIndentation(20);
setExpandsOnDoubleClick(false);
}
diff --git a/src/plugins/cppeditor/cppoutline.h b/src/plugins/cppeditor/cppoutline.h
index d007b9689d..a9f2e65e0f 100644
--- a/src/plugins/cppeditor/cppoutline.h
+++ b/src/plugins/cppeditor/cppoutline.h
@@ -3,6 +3,7 @@
#include "cppeditor.h"
+#include <utils/navigationtreeview.h>
#include <texteditor/ioutlinewidget.h>
#include <QtGui/QSortFilterProxyModel>
@@ -11,7 +12,7 @@
namespace CppEditor {
namespace Internal {
-class CppOutlineTreeView : public QTreeView
+class CppOutlineTreeView : public Utils::NavigationTreeView
{
Q_OBJECT
public:
diff --git a/src/plugins/projectexplorer/projecttreewidget.cpp b/src/plugins/projectexplorer/projecttreewidget.cpp
index 56495cf639..d6fd7a5f62 100644
--- a/src/plugins/projectexplorer/projecttreewidget.cpp
+++ b/src/plugins/projectexplorer/projecttreewidget.cpp
@@ -38,6 +38,7 @@
#include <coreplugin/icore.h>
#include <coreplugin/editormanager/editormanager.h>
#include <utils/qtcassert.h>
+#include <utils/navigationtreeview.h>
#include <QtCore/QDebug>
#include <QtCore/QSettings>
@@ -57,14 +58,12 @@ namespace {
bool debug = false;
}
-class ProjectTreeView : public QTreeView
+class ProjectTreeView : public Utils::NavigationTreeView
{
public:
ProjectTreeView()
{
setEditTriggers(QAbstractItemView::EditKeyPressed);
- setFrameStyle(QFrame::NoFrame);
- setIndentation(indentation() * 9/10);
{
QHeaderView *treeHeader = header();
treeHeader->setVisible(false);
@@ -72,41 +71,8 @@ public:
treeHeader->setStretchLastSection(true);
}
setContextMenuPolicy(Qt::CustomContextMenu);
- setUniformRowHeights(true);
- setTextElideMode(Qt::ElideNone);
// setExpandsOnDoubleClick(false);
- setAttribute(Qt::WA_MacShowFocusRect, false);
}
-
-protected:
- // This is a workaround to stop Qt from redrawing the project tree every
- // time the user opens or closes a menu when it has focus. Would be nicer to
- // fix it in Qt.
- void focusInEvent(QFocusEvent *event)
- {
- if (event->reason() != Qt::PopupFocusReason)
- QTreeView::focusInEvent(event);
- }
-
- void focusOutEvent(QFocusEvent *event)
- {
- if (event->reason() != Qt::PopupFocusReason)
- QTreeView::focusOutEvent(event);
- }
-
-#ifdef Q_WS_MAC
- void keyPressEvent(QKeyEvent *event)
- {
- if ((event->key() == Qt::Key_Return
- || event->key() == Qt::Key_Enter)
- && event->modifiers() == 0
- && currentIndex().isValid()) {
- emit activated(currentIndex());
- return;
- }
- QTreeView::keyPressEvent(event);
- }
-#endif
};
/*!
diff --git a/src/plugins/qmljseditor/qmljsoutline.cpp b/src/plugins/qmljseditor/qmljsoutline.cpp
index 7831670eec..c349dfc9ed 100644
--- a/src/plugins/qmljseditor/qmljsoutline.cpp
+++ b/src/plugins/qmljseditor/qmljsoutline.cpp
@@ -17,16 +17,11 @@ namespace QmlJSEditor {
namespace Internal {
QmlJSOutlineTreeView::QmlJSOutlineTreeView(QWidget *parent) :
- QTreeView(parent)
+ Utils::NavigationTreeView(parent)
{
// see also CppOutlineTreeView
setFocusPolicy(Qt::NoFocus);
- setFrameStyle(QFrame::NoFrame);
- setAttribute(Qt::WA_MacShowFocusRect, false);
- setUniformRowHeights(true);
setHeaderHidden(true);
- setTextElideMode(Qt::ElideNone);
- setIndentation(20);
setExpandsOnDoubleClick(false);
}
diff --git a/src/plugins/qmljseditor/qmljsoutline.h b/src/plugins/qmljseditor/qmljsoutline.h
index 15221210cb..27c2e4f8d4 100644
--- a/src/plugins/qmljseditor/qmljsoutline.h
+++ b/src/plugins/qmljseditor/qmljsoutline.h
@@ -3,6 +3,7 @@
#include "qmljseditor.h"
+#include <utils/navigationtreeview.h>
#include <texteditor/ioutlinewidget.h>
#include <QtGui/QTreeView>
@@ -19,7 +20,7 @@ class Editor;
namespace QmlJSEditor {
namespace Internal {
-class QmlJSOutlineTreeView : public QTreeView
+class QmlJSOutlineTreeView : public Utils::NavigationTreeView
{
Q_OBJECT
public: