diff --git a/src/libs/extensionsystem/extensionsystem.pro b/src/libs/extensionsystem/extensionsystem.pro index cd492543a3d..ec147aec939 100644 --- a/src/libs/extensionsystem/extensionsystem.pro +++ b/src/libs/extensionsystem/extensionsystem.pro @@ -33,7 +33,7 @@ SOURCES += pluginerrorview.cpp \ optionsparser.cpp \ plugincollection.cpp \ pluginerroroverview.cpp -FORMS += pluginview.ui \ +FORMS += \ pluginerrorview.ui \ plugindetailsview.ui \ pluginerroroverview.ui diff --git a/src/libs/extensionsystem/extensionsystem.qbs b/src/libs/extensionsystem/extensionsystem.qbs index 9b654b0b036..2a5b12a6c75 100644 --- a/src/libs/extensionsystem/extensionsystem.qbs +++ b/src/libs/extensionsystem/extensionsystem.qbs @@ -41,7 +41,6 @@ QtcLibrary { "pluginview.cpp", "pluginview.h", "pluginview.qrc", - "pluginview.ui", "images/error.png", "images/notloaded.png", "images/ok.png", diff --git a/src/libs/extensionsystem/pluginview.cpp b/src/libs/extensionsystem/pluginview.cpp index 0e072647761..d2da0bdff05 100644 --- a/src/libs/extensionsystem/pluginview.cpp +++ b/src/libs/extensionsystem/pluginview.cpp @@ -31,14 +31,13 @@ #include "pluginmanager.h" #include "pluginspec.h" #include "plugincollection.h" -#include "ui_pluginview.h" - -#include -#include -#include -#include #include +#include +#include +#include +#include +#include /*! \class ExtensionSystem::PluginView @@ -76,12 +75,30 @@ Q_DECLARE_METATYPE(ExtensionSystem::PluginCollection*) */ PluginView::PluginView(QWidget *parent) : QWidget(parent), - m_ui(new Internal::Ui::PluginView), m_allowCheckStateUpdate(true), C_LOAD(1) { - m_ui->setupUi(this); - QHeaderView *header = m_ui->categoryWidget->header(); + m_categoryWidget = new QTreeWidget(this); + m_categoryWidget->setAlternatingRowColors(true); + m_categoryWidget->setIndentation(20); + m_categoryWidget->setUniformRowHeights(true); + m_categoryWidget->setSortingEnabled(true); + m_categoryWidget->setColumnCount(4); + m_categoryWidget->setColumnWidth(C_LOAD, 40); + m_categoryWidget->header()->setDefaultSectionSize(120); + m_categoryWidget->header()->setMinimumSectionSize(35); + + QTreeWidgetItem *headerItem = m_categoryWidget->headerItem(); + headerItem->setText(0, tr("Name")); + headerItem->setText(1, tr("Load")); + headerItem->setText(2, tr("Version")); + headerItem->setText(3, tr("Vendor")); + + QGridLayout *gridLayout = new QGridLayout(this); + gridLayout->setContentsMargins(2, 2, 2, 2); + gridLayout->addWidget(m_categoryWidget, 1, 0, 1, 1); + + QHeaderView *header = m_categoryWidget->header(); header->setResizeMode(0, QHeaderView::ResizeToContents); header->setResizeMode(2, QHeaderView::ResizeToContents); @@ -89,16 +106,14 @@ PluginView::PluginView(QWidget *parent) m_errorIcon = QIcon(QLatin1String(":/extensionsystem/images/error.png")); m_notLoadedIcon = QIcon(QLatin1String(":/extensionsystem/images/notloaded.png")); - m_ui->categoryWidget->setColumnWidth(C_LOAD, 40); - // cannot disable these m_whitelist << QString::fromLatin1("Core") << QString::fromLatin1("Locator") << QString::fromLatin1("Find") << QString::fromLatin1("TextEditor"); connect(PluginManager::instance(), SIGNAL(pluginsChanged()), this, SLOT(updateList())); - connect(m_ui->categoryWidget, SIGNAL(currentItemChanged(QTreeWidgetItem*,QTreeWidgetItem*)), + connect(m_categoryWidget, SIGNAL(currentItemChanged(QTreeWidgetItem*,QTreeWidgetItem*)), this, SLOT(selectPlugin(QTreeWidgetItem*))); - connect(m_ui->categoryWidget, SIGNAL(itemActivated(QTreeWidgetItem*,int)), + connect(m_categoryWidget, SIGNAL(itemActivated(QTreeWidgetItem*,int)), this, SLOT(activatePlugin(QTreeWidgetItem*))); updateList(); @@ -109,7 +124,6 @@ PluginView::PluginView(QWidget *parent) */ PluginView::~PluginView() { - delete m_ui; } /*! @@ -117,16 +131,16 @@ PluginView::~PluginView() */ PluginSpec *PluginView::currentPlugin() const { - if (!m_ui->categoryWidget->currentItem()) + if (!m_categoryWidget->currentItem()) return 0; - if (!m_ui->categoryWidget->currentItem()->data(0, Qt::UserRole).isNull()) - return m_ui->categoryWidget->currentItem()->data(0, Qt::UserRole).value(); + if (!m_categoryWidget->currentItem()->data(0, Qt::UserRole).isNull()) + return m_categoryWidget->currentItem()->data(0, Qt::UserRole).value(); return 0; } void PluginView::updateList() { - connect(m_ui->categoryWidget, SIGNAL(itemChanged(QTreeWidgetItem*,int)), + connect(m_categoryWidget, SIGNAL(itemChanged(QTreeWidgetItem*,int)), this, SLOT(updatePluginSettings(QTreeWidgetItem*,int))); PluginCollection *defaultCollection = 0; @@ -176,15 +190,15 @@ void PluginView::updateList() updatePluginDependencies(); - m_ui->categoryWidget->clear(); + m_categoryWidget->clear(); if (!m_items.isEmpty()) { - m_ui->categoryWidget->addTopLevelItems(m_items); - m_ui->categoryWidget->expandAll(); + m_categoryWidget->addTopLevelItems(m_items); + m_categoryWidget->expandAll(); } - m_ui->categoryWidget->sortItems(0, Qt::AscendingOrder); - if (m_ui->categoryWidget->topLevelItemCount()) - m_ui->categoryWidget->setCurrentItem(m_ui->categoryWidget->topLevelItem(0)); + m_categoryWidget->sortItems(0, Qt::AscendingOrder); + if (m_categoryWidget->topLevelItemCount()) + m_categoryWidget->setCurrentItem(m_categoryWidget->topLevelItem(0)); } int PluginView::parsePluginSpecs(QTreeWidgetItem *parentItem, Qt::CheckState &groupState, QList plugins) diff --git a/src/libs/extensionsystem/pluginview.h b/src/libs/extensionsystem/pluginview.h index 4a4fd92a046..cba796c6abf 100644 --- a/src/libs/extensionsystem/pluginview.h +++ b/src/libs/extensionsystem/pluginview.h @@ -37,6 +37,7 @@ #include QT_BEGIN_NAMESPACE +class QTreeWidget; class QTreeWidgetItem; QT_END_NAMESPACE @@ -46,12 +47,6 @@ class PluginManager; class PluginSpec; class PluginCollection; -namespace Internal { -namespace Ui { - class PluginView; -} // namespace Ui -} // namespace Internal - class EXTENSIONSYSTEM_EXPORT PluginView : public QWidget { Q_OBJECT @@ -79,7 +74,7 @@ private: void updatePluginDependencies(); int parsePluginSpecs(QTreeWidgetItem *parentItem, Qt::CheckState &groupState, QList plugins); - Internal::Ui::PluginView *m_ui; + QTreeWidget *m_categoryWidget; QList m_items; QHash m_specToItem; diff --git a/src/libs/extensionsystem/pluginview.ui b/src/libs/extensionsystem/pluginview.ui deleted file mode 100644 index 8dfb08ae2c1..00000000000 --- a/src/libs/extensionsystem/pluginview.ui +++ /dev/null @@ -1,84 +0,0 @@ - - - ExtensionSystem::Internal::PluginView - - - - 0 - 0 - 773 - 304 - - - - - 2 - - - - - true - - - 20 - - - true - - - false - - - true - - - true - - - 4 - - - 120 - - - false - - - 35 - - - 120 - - - 35 - - - false - - - - Name - - - - - Load - - - - - Version - - - - - Vendor - - - - - - - - -