From cf3e8163fb6c55ce9fb74b7dc385487a8935e417 Mon Sep 17 00:00:00 2001 From: Marco Bubke <marco.bubke@digia.com> Date: Wed, 14 Aug 2013 17:42:48 +0200 Subject: [PATCH] QmlDesigner: Move ImportManagerView to ItemLibrary Change-Id: I546199945e4b0b0acc7e4b656da547868b1cc99d Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com> --- .../components/itemlibrary/itemlibraryview.cpp | 15 ++++++++++++--- .../components/itemlibrary/itemlibraryview.h | 3 ++- .../components/itemlibrary/itemlibrarywidget.cpp | 6 ++++++ .../components/itemlibrary/itemlibrarywidget.h | 2 ++ .../designercore/include/viewmanager.h | 1 - .../designercore/model/viewmanager.cpp | 3 --- 6 files changed, 22 insertions(+), 8 deletions(-) diff --git a/src/plugins/qmldesigner/components/itemlibrary/itemlibraryview.cpp b/src/plugins/qmldesigner/components/itemlibrary/itemlibraryview.cpp index f1d011f878b..5aef537796e 100644 --- a/src/plugins/qmldesigner/components/itemlibrary/itemlibraryview.cpp +++ b/src/plugins/qmldesigner/components/itemlibrary/itemlibraryview.cpp @@ -30,10 +30,14 @@ #include "itemlibraryview.h" #include "itemlibrarywidget.h" #include <import.h> +#include <importmanagerview.h> namespace QmlDesigner { -ItemLibraryView::ItemLibraryView(QObject* parent) : AbstractView(parent) +ItemLibraryView::ItemLibraryView(QObject* parent) + : AbstractView(parent), + m_importManagerView(new ImportManagerView(this)) + { } @@ -50,8 +54,10 @@ bool ItemLibraryView::hasWidget() const WidgetInfo ItemLibraryView::widgetInfo() { - if (m_widget.isNull()) - m_widget = new ItemLibraryWidget; + if (m_widget.isNull()) { + m_widget = new ItemLibraryWidget; + m_widget->setImportsWidget(m_importManagerView->widgetInfo().widget); + } return createWidgetInfo(m_widget.data(), new WidgetInfo::ToolBarWidgetDefaultFactory<ItemLibraryWidget>(m_widget.data()), @@ -65,10 +71,13 @@ void ItemLibraryView::modelAttached(Model *model) AbstractView::modelAttached(model); m_widget->setModel(model); updateImports(); + model->attachView(m_importManagerView); } void ItemLibraryView::modelAboutToBeDetached(Model *model) { + model->detachView(m_importManagerView); + AbstractView::modelAboutToBeDetached(model); m_widget->setModel(0); } diff --git a/src/plugins/qmldesigner/components/itemlibrary/itemlibraryview.h b/src/plugins/qmldesigner/components/itemlibrary/itemlibraryview.h index a4f9a9d3f47..2fc40c4d230 100644 --- a/src/plugins/qmldesigner/components/itemlibrary/itemlibraryview.h +++ b/src/plugins/qmldesigner/components/itemlibrary/itemlibraryview.h @@ -38,7 +38,7 @@ namespace QmlDesigner { class ItemLibraryWidget; - +class ImportManagerView; class ItemLibraryView : public AbstractView { @@ -107,6 +107,7 @@ protected: private: QWeakPointer<ItemLibraryWidget> m_widget; + ImportManagerView *m_importManagerView; }; } diff --git a/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.cpp b/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.cpp index 2cae71db342..bde13ab5dce 100644 --- a/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.cpp +++ b/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.cpp @@ -111,6 +111,7 @@ ItemLibraryWidget::ItemLibraryWidget(QWidget *parent) : QTabBar *tabBar = new QTabBar(this); tabBar->addTab(tr("QML Types", "Title of library QML types view")); tabBar->addTab(tr("Resources", "Title of library resources view")); + tabBar->addTab(tr("Imports", "Title of library imports view")); tabBar->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); m_lineEdit = new Utils::FilterLineEdit(this); @@ -192,6 +193,11 @@ void ItemLibraryWidget::updateImports() setImportFilter(filter); } +void ItemLibraryWidget::setImportsWidget(QWidget *importsWidget) +{ + m_stackedWidget->addWidget(importsWidget); +} + QList<QToolButton *> ItemLibraryWidget::createToolBarWidgets() { QList<QToolButton *> buttons; diff --git a/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.h b/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.h index 7796a9a9be7..8ae8e09958f 100644 --- a/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.h +++ b/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.h @@ -85,6 +85,8 @@ public: void updateImports(); + void setImportsWidget(QWidget *importsWidget); + public Q_SLOTS: void setSearchFilter(const QString &searchFilter); void updateModel(); diff --git a/src/plugins/qmldesigner/designercore/include/viewmanager.h b/src/plugins/qmldesigner/designercore/include/viewmanager.h index c7599be3bd2..6cb1a12a9c9 100644 --- a/src/plugins/qmldesigner/designercore/include/viewmanager.h +++ b/src/plugins/qmldesigner/designercore/include/viewmanager.h @@ -110,7 +110,6 @@ private: // variables Internal::DebugView m_debugView; ComponentView m_componentView; FormEditorView m_formEditorView; - ImportManagerView m_importManagerView; ItemLibraryView m_itemLibraryView; NavigatorView m_navigatorView; PropertyEditorView m_propertyEditorView; diff --git a/src/plugins/qmldesigner/designercore/model/viewmanager.cpp b/src/plugins/qmldesigner/designercore/model/viewmanager.cpp index 95978ad6220..78dda75c874 100644 --- a/src/plugins/qmldesigner/designercore/model/viewmanager.cpp +++ b/src/plugins/qmldesigner/designercore/model/viewmanager.cpp @@ -102,7 +102,6 @@ void ViewManager::detachViewsExceptRewriterAndComponetView() currentModel()->detachView(&m_formEditorView); currentModel()->detachView(&m_navigatorView); currentModel()->detachView(&m_itemLibraryView); - currentModel()->detachView(&m_importManagerView); currentModel()->detachView(&m_statesEditorView); currentModel()->detachView(&m_propertyEditorView); @@ -150,7 +149,6 @@ void ViewManager::attachViewsExceptRewriterAndComponetView() attachNodeInstanceView(); currentModel()->attachView(&m_formEditorView); currentModel()->attachView(&m_navigatorView); - currentModel()->attachView(&m_importManagerView); attachItemLibraryView(); currentModel()->attachView(&m_statesEditorView); currentModel()->attachView(&m_propertyEditorView); @@ -184,7 +182,6 @@ QList<WidgetInfo> ViewManager::widgetInfos() QList<WidgetInfo> widgetInfoList; widgetInfoList.append(m_formEditorView.widgetInfo()); - widgetInfoList.append(m_importManagerView.widgetInfo()); widgetInfoList.append(m_itemLibraryView.widgetInfo()); widgetInfoList.append(m_navigatorView.widgetInfo()); widgetInfoList.append(m_propertyEditorView.widgetInfo()); -- GitLab