diff options
author | dt <qtc-committer@nokia.com> | 2009-07-16 15:33:19 +0200 |
---|---|---|
committer | dt <qtc-committer@nokia.com> | 2009-07-17 17:25:43 +0200 |
commit | 269fe7f182ebbe954679e5a94fee4b93b819d126 (patch) | |
tree | 1769947546d560e109554e9923db3a08781e0801 /src/plugins | |
parent | 169f1b1be845dbd1c7a6e39336d14e566662c006 (diff) | |
download | qt-creator-269fe7f182ebbe954679e5a94fee4b93b819d126.tar.gz |
New build and run settings ui.
Not finished 100%
Diffstat (limited to 'src/plugins')
17 files changed, 390 insertions, 775 deletions
diff --git a/src/plugins/projectexplorer/buildsettingspropertiespage.cpp b/src/plugins/projectexplorer/buildsettingspropertiespage.cpp index cc8311357d..980b7ba4ec 100644 --- a/src/plugins/projectexplorer/buildsettingspropertiespage.cpp +++ b/src/plugins/projectexplorer/buildsettingspropertiespage.cpp @@ -36,11 +36,10 @@ #include <extensionsystem/pluginmanager.h> #include <QtCore/QDebug> -#include <QtCore/QHash> #include <QtCore/QPair> #include <QtGui/QInputDialog> #include <QtGui/QLabel> -#include <QtGui/QMenu> +#include <QtGui/QVBoxLayout> using namespace ProjectExplorer; using namespace ProjectExplorer::Internal; @@ -85,6 +84,48 @@ QWidget *BuildSettingsPanel::widget() } /// +// BuildSettingsSubWidgets +/// + +BuildSettingsSubWidgets::~BuildSettingsSubWidgets() +{ + clear(); +} + +void BuildSettingsSubWidgets::addWidget(const QString &name, QWidget *widget) +{ + QLabel *label = new QLabel(this); + label->setText(name); + QFont f = label->font(); + f.setBold(true); + f.setPointSizeF(f.pointSizeF() *1.2); + label->setFont(f); + + layout()->addWidget(label); + layout()->addWidget(widget); + + m_labels.append(label); + m_widgets.append(widget); +} + +void BuildSettingsSubWidgets::clear() +{ + qDeleteAll(m_widgets); + qDeleteAll(m_labels); +} + +QList<QWidget *> BuildSettingsSubWidgets::widgets() const +{ + return m_widgets; +} + +BuildSettingsSubWidgets::BuildSettingsSubWidgets(QWidget *parent) + : QGroupBox(parent) +{ + new QVBoxLayout(this); +} + +/// /// BuildSettingsWidget /// @@ -95,62 +136,60 @@ BuildSettingsWidget::~BuildSettingsWidget() BuildSettingsWidget::BuildSettingsWidget(Project *project) : m_project(project) { - m_ui.setupUi(this); - m_ui.splitter->setStretchFactor(1,10); - m_ui.buildSettingsList->setContextMenuPolicy(Qt::CustomContextMenu); - - m_ui.addButton->setIcon(QIcon(Core::Constants::ICON_PLUS)); - m_ui.addButton->setText(""); - m_ui.removeButton->setIcon(QIcon(Core::Constants::ICON_MINUS)); - m_ui.removeButton->setText(""); + QVBoxLayout *vbox = new QVBoxLayout(this); + QHBoxLayout *hbox = new QHBoxLayout(); + hbox->addWidget(new QLabel(tr("Build Configuration:"), this)); + m_buildConfigurationComboBox = new QComboBox(this); + hbox->addWidget(m_buildConfigurationComboBox); + + m_addButton = new QPushButton(this); + m_addButton->setText("Add"); + m_addButton->setIcon(QIcon(Core::Constants::ICON_PLUS)); + m_addButton->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); + hbox->addWidget(m_addButton); + + m_removeButton = new QPushButton(this); + m_removeButton->setText("Remove"); + m_removeButton->setIcon(QIcon(Core::Constants::ICON_MINUS)); + m_removeButton->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); + hbox->addWidget(m_removeButton); + hbox->addSpacerItem(new QSpacerItem(0, 0, QSizePolicy::Expanding, QSizePolicy::Fixed)); + vbox->addLayout(hbox); + + m_subWidgets = new BuildSettingsSubWidgets(this); + vbox->addWidget(m_subWidgets); QMenu *addButtonMenu = new QMenu(this); addButtonMenu->addAction(tr("Create &New"), this, SLOT(createConfiguration())); addButtonMenu->addAction(tr("&Clone Selected"), this, SLOT(cloneConfiguration())); - m_ui.addButton->setMenu(addButtonMenu); + m_addButton->setMenu(addButtonMenu); + connect(m_buildConfigurationComboBox, SIGNAL(currentIndexChanged(int)), + this, SLOT(currentIndexChanged(int))); - connect(m_ui.buildSettingsList, SIGNAL(currentItemChanged(QTreeWidgetItem *, QTreeWidgetItem *)), - this, SLOT(updateSettingsWidget(QTreeWidgetItem *, QTreeWidgetItem *))); - connect(m_ui.buildSettingsList, SIGNAL(customContextMenuRequested (const QPoint &) ), - this, SLOT(showContextMenu(const QPoint &))); - connect(m_ui.buildSettingsList, SIGNAL(itemChanged(QTreeWidgetItem*,int) ), - this, SLOT(itemChanged(QTreeWidgetItem*)), Qt::QueuedConnection); + // TODO currentIndexChanged + // needs to change active configuration + // and set widgets - connect(m_ui.removeButton, SIGNAL(clicked()), + connect(m_removeButton, SIGNAL(clicked()), this, SLOT(deleteConfiguration())); connect(m_project, SIGNAL(activeBuildConfigurationChanged()), - this, SLOT(updateBuildSettings())); + this, SLOT(activeBuildConfigurationChanged())); connect(m_project, SIGNAL(buildConfigurationDisplayNameChanged(const QString &)), this, SLOT(buildConfigurationDisplayNameChanged(const QString &))); - - // remove dummy designer widget - while (QWidget *widget = m_ui.buildSettingsWidgets->currentWidget()) { - m_ui.buildSettingsWidgets->removeWidget(widget); - delete widget; - } - updateBuildSettings(); } void BuildSettingsWidget::buildConfigurationDisplayNameChanged(const QString &buildConfiguration) { - QTreeWidgetItem *rootItem = m_ui.buildSettingsList->invisibleRootItem(); - for (int i = 0; i < rootItem->childCount(); ++i) { - QTreeWidgetItem *child = rootItem->child(i); - if (child->data(0, Qt::UserRole).toString() == buildConfiguration) { - child->setText(0, m_project->displayNameFor(buildConfiguration)); - if (m_ui.buildSettingsList->currentItem() == child) { - QWidget *widget = m_itemToWidget.value(child); - if (BuildStepConfigWidget *buildStepWidget = qobject_cast<BuildStepConfigWidget*>(widget)) { - QString title; - title = buildStepWidget->displayName(); - m_ui.titleLabel->setText(tr("%1 - %2").arg(m_project->displayNameFor(buildConfiguration)).arg(title)); - } - } + + for (int i=0; i<m_buildConfigurationComboBox->count(); ++i) { + if (m_buildConfigurationComboBox->itemData(i).toString() == buildConfiguration) { + m_buildConfigurationComboBox->setItemText(i, m_project->displayNameFor(buildConfiguration)); + break; } } } @@ -158,180 +197,64 @@ void BuildSettingsWidget::buildConfigurationDisplayNameChanged(const QString &bu void BuildSettingsWidget::updateBuildSettings() { - QTreeWidgetItem *rootItem = m_ui.buildSettingsList->invisibleRootItem(); - // update buttons - m_ui.removeButton->setEnabled(m_project->buildConfigurations().size() > 1); - - // Save current selection - QString lastCurrentItem; - if (m_ui.buildSettingsList->currentItem()) - lastCurrentItem = m_ui.buildSettingsList->currentItem()->text(0); - - m_itemToWidget.clear(); + // TODO save position, entry from combbox // Delete old tree items - while (rootItem->childCount()) { - QTreeWidgetItem *configPageItem = rootItem->child(0); - rootItem->removeChild(configPageItem); - delete configPageItem; // does that delete also subitems? - } + m_buildConfigurationComboBox->blockSignals(true); // TODO ... + m_buildConfigurationComboBox->clear(); + m_subWidgets->clear(); - // Delete old pages - while (m_ui.buildSettingsWidgets->count()) { - QWidget *w = m_ui.buildSettingsWidgets->widget(0); - m_ui.buildSettingsWidgets->removeWidget(w); - delete w; - } + // update buttons + m_removeButton->setEnabled(m_project->buildConfigurations().size() > 1); // Add pages - QWidget *dummyWidget = new QWidget(this); - QWidget *buildStepsWidget = new BuildStepsPage(m_project); - QWidget *cleanStepsWidget = new BuildStepsPage(m_project, true); BuildStepConfigWidget *generalConfigWidget = m_project->createConfigWidget(); - QList<BuildStepConfigWidget *> subConfigWidgets = m_project->subConfigWidgets(); + m_subWidgets->addWidget(generalConfigWidget->displayName(), generalConfigWidget); + + m_subWidgets->addWidget(tr("Build Steps"), new BuildStepsPage(m_project)); + m_subWidgets->addWidget(tr("Clean Steps"), new BuildStepsPage(m_project, true)); - m_ui.buildSettingsWidgets->addWidget(dummyWidget); - m_ui.buildSettingsWidgets->addWidget(buildStepsWidget); - m_ui.buildSettingsWidgets->addWidget(cleanStepsWidget); - m_ui.buildSettingsWidgets->addWidget(generalConfigWidget); + QList<BuildStepConfigWidget *> subConfigWidgets = m_project->subConfigWidgets(); foreach (BuildStepConfigWidget *subConfigWidget, subConfigWidgets) - m_ui.buildSettingsWidgets->addWidget(subConfigWidget); + m_subWidgets->addWidget(subConfigWidget->displayName(), subConfigWidget); // Add tree items - QTreeWidgetItem *activeConfigurationItem = 0; QString activeBuildConfiguration = m_project->activeBuildConfiguration(); foreach (const QString &buildConfiguration, m_project->buildConfigurations()) { - QString displayName = m_project->displayNameFor(buildConfiguration); - QTreeWidgetItem *buildConfigItem = new QTreeWidgetItem(); - m_itemToWidget.insert(buildConfigItem, generalConfigWidget); - buildConfigItem->setText(0, displayName); - buildConfigItem->setData(0, Qt::UserRole, buildConfiguration); - buildConfigItem->setCheckState(0, Qt::Unchecked); - if (activeBuildConfiguration == buildConfiguration) { - QFont font = buildConfigItem->font(0); - font.setBold(true); - buildConfigItem->setFont(0, font); - buildConfigItem->setCheckState(0, Qt::Checked); - - activeConfigurationItem = buildConfigItem; - } - rootItem->addChild(buildConfigItem); - - QTreeWidgetItem *generalItem = new QTreeWidgetItem(); - m_itemToWidget.insert(generalItem, generalConfigWidget); - generalItem->setText(0, tr("General")); - buildConfigItem->addChild(generalItem); - - foreach (BuildStepConfigWidget *subConfigWidget, subConfigWidgets) { - QTreeWidgetItem *subConfigItem = new QTreeWidgetItem(); - m_itemToWidget.insert(subConfigItem, subConfigWidget); - subConfigItem->setText(0, subConfigWidget->displayName()); - buildConfigItem->addChild(subConfigItem); - } - - QTreeWidgetItem *buildStepsItem = new QTreeWidgetItem(); - m_itemToWidget.insert(buildStepsItem, buildStepsWidget); - buildStepsItem->setText(0, tr("Build Steps")); - buildConfigItem->addChild(buildStepsItem); - - QTreeWidgetItem *cleanStepsItem = new QTreeWidgetItem(); - m_itemToWidget.insert(cleanStepsItem, cleanStepsWidget); - cleanStepsItem->setText(0, tr("Clean Steps")); - buildConfigItem->addChild(cleanStepsItem); + m_buildConfigurationComboBox->addItem(m_project->displayNameFor(buildConfiguration), buildConfiguration); + if (buildConfiguration == activeBuildConfiguration) + m_buildConfigurationComboBox->setCurrentIndex(m_buildConfigurationComboBox->count() - 1); } - m_ui.buildSettingsList->expandAll(); + // TODO ... + m_buildConfigurationComboBox->blockSignals(false); - // Restore selection - if (!lastCurrentItem.isEmpty()) { - for (int i = rootItem->childCount() - 1; i >= 0; --i) { - if (rootItem->child(i)->text(0) == lastCurrentItem) { - m_ui.buildSettingsList->setCurrentItem(rootItem->child(i)); - break; - } - } - } - - if (!m_ui.buildSettingsList->currentItem()) { - if (activeConfigurationItem) - m_ui.buildSettingsList->setCurrentItem(activeConfigurationItem); - else - m_ui.buildSettingsList->setCurrentItem(m_ui.buildSettingsList->invisibleRootItem()->child(0)); - } + // TODO Restore position, entry from combbox + // TODO? select entry from combobox ? + activeBuildConfigurationChanged(); } -/* switch from one tree item / build step to another */ -void BuildSettingsWidget::updateSettingsWidget(QTreeWidgetItem *newItem, QTreeWidgetItem *oldItem) +void BuildSettingsWidget::currentIndexChanged(int index) { - if (oldItem == newItem) - return; - - if (!newItem) { - QWidget *dummyWidget = m_ui.buildSettingsWidgets->widget(0); - m_ui.buildSettingsWidgets->setCurrentWidget(dummyWidget); - m_ui.titleLabel->clear(); - return; - } - - if (QWidget *widget = m_itemToWidget.value(newItem)) { - QString buildConfiguration; - { - QTreeWidgetItem *configurationItem = newItem; - while (configurationItem && configurationItem->parent()) - configurationItem = configurationItem->parent(); - if (configurationItem) - buildConfiguration = configurationItem->data(0, Qt::UserRole).toString(); - } - - QString title; - if (BuildStepConfigWidget *buildStepWidget = qobject_cast<BuildStepConfigWidget*>(widget)) { - title = buildStepWidget->displayName(); - buildStepWidget->init(buildConfiguration); - } - - m_ui.titleLabel->setText(tr("%1 - %2").arg(m_project->displayNameFor(buildConfiguration)).arg(title)); - m_ui.buildSettingsWidgets->setCurrentWidget(widget); - } + QString buildConfiguration = m_buildConfigurationComboBox->itemData(index).toString(); + m_project->setActiveBuildConfiguration(buildConfiguration); } - -void BuildSettingsWidget::showContextMenu(const QPoint &point) +void BuildSettingsWidget::activeBuildConfigurationChanged() { - if (QTreeWidgetItem *item = m_ui.buildSettingsList->itemAt(point)) { - if (!item->parent()) { - const QString buildConfiguration = item->data(0, Qt::UserRole).toString(); - - QMenu menu; - QAction *setAsActiveAction = new QAction(tr("Set as Active"), &menu); - QAction *cloneAction = new QAction(tr("Clone"), &menu); - QAction *deleteAction = new QAction(tr("Delete"), &menu); - - if (m_project->activeBuildConfiguration() == buildConfiguration) - setAsActiveAction->setEnabled(false); - if (m_project->buildConfigurations().size() < 2) - deleteAction->setEnabled(false); - - menu.addActions(QList<QAction*>() << setAsActiveAction << cloneAction << deleteAction); - QPoint globalPoint = m_ui.buildSettingsList->mapToGlobal(point); - QAction *action = menu.exec(globalPoint); - if (action == setAsActiveAction) { - setActiveConfiguration(buildConfiguration); - } else if (action == cloneAction) { - cloneConfiguration(buildConfiguration); - } else if (action == deleteAction) { - deleteConfiguration(buildConfiguration); - } - - updateBuildSettings(); + const QString &activeBuildConfiguration = m_project->activeBuildConfiguration(); + for (int i = 0; i < m_buildConfigurationComboBox->count(); ++i) { + if (m_buildConfigurationComboBox->itemData(i).toString() == activeBuildConfiguration) { + m_buildConfigurationComboBox->setCurrentIndex(i); + break; + } + } + foreach (QWidget *widget, m_subWidgets->widgets()) { + if (BuildStepConfigWidget *buildStepWidget = qobject_cast<BuildStepConfigWidget*>(widget)) { + buildStepWidget->init(activeBuildConfiguration); } } -} - -void BuildSettingsWidget::setActiveConfiguration() -{ - const QString configuration = m_ui.buildSettingsList->currentItem()->data(0, Qt::UserRole).toString(); - setActiveConfiguration(configuration); } void BuildSettingsWidget::createConfiguration() @@ -373,40 +296,16 @@ void BuildSettingsWidget::createConfiguration() void BuildSettingsWidget::cloneConfiguration() { - QTreeWidgetItem *configItem = m_ui.buildSettingsList->currentItem(); - while (configItem->parent()) - configItem = configItem->parent(); - const QString configuration = configItem->data(0, Qt::UserRole).toString(); + const QString configuration = m_buildConfigurationComboBox->itemData(m_buildConfigurationComboBox->currentIndex()).toString(); cloneConfiguration(configuration); } void BuildSettingsWidget::deleteConfiguration() { - QTreeWidgetItem *configItem = m_ui.buildSettingsList->currentItem(); - while (configItem->parent()) - configItem = configItem->parent(); - const QString configuration = configItem->data(0, Qt::UserRole).toString(); + const QString configuration = m_buildConfigurationComboBox->itemData(m_buildConfigurationComboBox->currentIndex()).toString(); deleteConfiguration(configuration); } -void BuildSettingsWidget::itemChanged(QTreeWidgetItem *item) -{ - // do not allow unchecking - if (item->checkState(0) == Qt::Unchecked) - item->setCheckState(0, Qt::Checked); - else { - setActiveConfiguration(item->data(0, Qt::UserRole).toString()); - } -} - -void BuildSettingsWidget::setActiveConfiguration(const QString &configuration) -{ - if (configuration.isEmpty()) - return; - - m_project->setActiveBuildConfiguration(configuration); -} - void BuildSettingsWidget::cloneConfiguration(const QString &sourceConfiguration) { if (sourceConfiguration.isEmpty()) @@ -440,9 +339,10 @@ void BuildSettingsWidget::cloneConfiguration(const QString &sourceConfiguration) m_project->copyBuildConfiguration(sourceConfiguration, newBuildConfiguration); m_project->setDisplayNameFor(newBuildConfiguration, newDisplayName); - m_project->setActiveBuildConfiguration(newBuildConfiguration); updateBuildSettings(); + + m_project->setActiveBuildConfiguration(newBuildConfiguration); } void BuildSettingsWidget::deleteConfiguration(const QString &deleteConfiguration) diff --git a/src/plugins/projectexplorer/buildsettingspropertiespage.h b/src/plugins/projectexplorer/buildsettingspropertiespage.h index 378ddcbe24..9fe45659ba 100644 --- a/src/plugins/projectexplorer/buildsettingspropertiespage.h +++ b/src/plugins/projectexplorer/buildsettingspropertiespage.h @@ -31,7 +31,12 @@ #define BUILDSETTINGSPROPERTIESPAGE_H #include "iprojectproperties.h" -#include "ui_buildsettingspropertiespage.h" + +#include <QtCore/QHash> +#include <QtGui/QComboBox> +#include <QtGui/QPushButton> +#include <QtGui/QLabel> +#include <QtGui/QGroupBox> namespace ProjectExplorer { @@ -39,6 +44,20 @@ class IBuildStepFactory; namespace Internal { +class BuildSettingsSubWidgets : public QGroupBox +{ + Q_OBJECT +public: + BuildSettingsSubWidgets(QWidget *parent); + ~BuildSettingsSubWidgets(); + void clear(); + void addWidget(const QString &name, QWidget *widget); + QList<QWidget *> widgets() const; +private: + QList<QWidget *> m_widgets; + QList<QLabel *> m_labels; +}; + class BuildSettingsPanelFactory : public IPanelFactory { public: @@ -73,24 +92,24 @@ public: private slots: void buildConfigurationDisplayNameChanged(const QString &buildConfiguration); void updateBuildSettings(); - void updateSettingsWidget(QTreeWidgetItem *newItem, QTreeWidgetItem *oldItem); - void showContextMenu(const QPoint & pos); + void currentIndexChanged(int index); + void activeBuildConfigurationChanged(); - void setActiveConfiguration(); void createConfiguration(); void cloneConfiguration(); void deleteConfiguration(); - void itemChanged(QTreeWidgetItem *item); private: void setActiveConfiguration(const QString &configuration); void cloneConfiguration(const QString &toClone); void deleteConfiguration(const QString &toDelete); - Ui::BuildSettingsPropertiesPage m_ui; Project *m_project; - QHash<QTreeWidgetItem*, QWidget*> m_itemToWidget; + QPushButton *m_addButton; + QPushButton *m_removeButton; + QComboBox *m_buildConfigurationComboBox; + BuildSettingsSubWidgets *m_subWidgets; }; } // namespace Internal diff --git a/src/plugins/projectexplorer/buildsettingspropertiespage.ui b/src/plugins/projectexplorer/buildsettingspropertiespage.ui deleted file mode 100644 index 3fabbcea90..0000000000 --- a/src/plugins/projectexplorer/buildsettingspropertiespage.ui +++ /dev/null @@ -1,184 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<ui version="4.0"> - <class>ProjectExplorer::Internal::BuildSettingsPropertiesPage</class> - <widget class="QWidget" name="ProjectExplorer::Internal::BuildSettingsPropertiesPage"> - <property name="geometry"> - <rect> - <x>0</x> - <y>0</y> - <width>799</width> - <height>525</height> - </rect> - </property> - <layout class="QHBoxLayout" name="horizontalLayout_4"> - <item> - <widget class="QSplitter" name="splitter"> - <property name="orientation"> - <enum>Qt::Horizontal</enum> - </property> - <widget class="QWidget" name="layoutWidget1"> - <layout class="QVBoxLayout" name="verticalLayout_2" stretch="100,1,0"> - <item> - <widget class="QTreeWidget" name="buildSettingsList"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Preferred" vsizetype="Expanding"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="maximumSize"> - <size> - <width>16777215</width> - <height>800</height> - </size> - </property> - <property name="rootIsDecorated"> - <bool>false</bool> - </property> - <property name="uniformRowHeights"> - <bool>true</bool> - </property> - <property name="itemsExpandable"> - <bool>false</bool> - </property> - <property name="headerHidden"> - <bool>true</bool> - </property> - <property name="expandsOnDoubleClick"> - <bool>false</bool> - </property> - <attribute name="headerVisible"> - <bool>false</bool> - </attribute> - <column> - <property name="text"> - <string>Configurations</string> - </property> - </column> - </widget> - </item> - <item> - <layout class="QHBoxLayout" name="horizontalLayout_3"> - <item> - <spacer name="horizontalSpacer"> - <property name="orientation"> - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" stdset="0"> - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - <item> - <widget class="QPushButton" name="addButton"> - <property name="text"> - <string>+</string> - </property> - </widget> - </item> - <item> - <widget class="QPushButton" name="removeButton"> - <property name="text"> - <string>-</string> - </property> - </widget> - </item> - </layout> - </item> - <item> - <spacer name="verticalSpacer"> - <property name="orientation"> - <enum>Qt::Vertical</enum> - </property> - <property name="sizeHint" stdset="0"> - <size> - <width>20</width> - <height>0</height> - </size> - </property> - </spacer> - </item> - </layout> - </widget> - <widget class="QWidget" name="layoutWidget2"> - <layout class="QVBoxLayout" name="verticalLayout"> - <item> - <layout class="QHBoxLayout" name="horizontalLayout" stretch="0,0"> - <item> - <widget class="QLabel" name="titleLabel"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Preferred" vsizetype="Preferred"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="font"> - <font> - <pointsize>16</pointsize> - <weight>50</weight> - <bold>false</bold> - </font> - </property> - </widget> - </item> - <item> - <spacer name="horizontalSpacer_2"> - <property name="orientation"> - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" stdset="0"> - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - </layout> - </item> - <item> - <widget class="QStackedWidget" name="buildSettingsWidgets"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Expanding" vsizetype="Expanding"> - <horstretch>10</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="currentIndex"> - <number>0</number> - </property> - <widget class="QWidget" name="page_2"/> - </widget> - </item> - </layout> - </widget> - </widget> - </item> - </layout> - </widget> - <resources> - <include location="../../libs/cplusplus/cplusplus.qrc"/> - <include location="../../libs/extensionsystem/pluginview.qrc"/> - <include location="../bookmarks/bookmarks.qrc"/> - <include location="../coreplugin/core.qrc"/> - <include location="../coreplugin/fancyactionbar.qrc"/> - <include location="../cppeditor/cppeditor.qrc"/> - <include location="../cpptools/cpptools.qrc"/> - <include location="../designer/designer.qrc"/> - <include location="../find/find.qrc"/> - <include location="../gdbdebugger/gdbdebugger.qrc"/> - <include location="../help/help.qrc"/> - <include location="../perforce/perforce.qrc"/> - <include location="projectexplorer.qrc"/> - <include location="../../../shared/proparser/proparser.qrc"/> - <include location="../qt4projectmanager/qt4projectmanager.qrc"/> - <include location="../qt4projectmanager/wizards/wizards.qrc"/> - <include location="../quickopen/quickopen.qrc"/> - <include location="../resourceeditor/resourceeditor.qrc"/> - <include location="../texteditor/texteditor.qrc"/> - </resources> - <connections/> -</ui> diff --git a/src/plugins/projectexplorer/buildstepspage.ui b/src/plugins/projectexplorer/buildstepspage.ui index fed7abeeee..52a667f6b8 100644 --- a/src/plugins/projectexplorer/buildstepspage.ui +++ b/src/plugins/projectexplorer/buildstepspage.ui @@ -45,11 +45,20 @@ </item> <item> <layout class="QHBoxLayout" name="horizontalLayout_2"> + <property name="spacing"> + <number>-1</number> + </property> <item> <spacer name="horizontalSpacer"> <property name="orientation"> <enum>Qt::Horizontal</enum> </property> + <property name="sizeHint" stdset="0"> + <size> + <width>0</width> + <height>0</height> + </size> + </property> </spacer> </item> <item> diff --git a/src/plugins/projectexplorer/dependenciespanel.cpp b/src/plugins/projectexplorer/dependenciespanel.cpp index 54665ae91b..a472e0e828 100644 --- a/src/plugins/projectexplorer/dependenciespanel.cpp +++ b/src/plugins/projectexplorer/dependenciespanel.cpp @@ -148,7 +148,6 @@ public: QWidget *parent = 0); private: - Ui::DependenciesWidget m_ui; SessionManager *m_session; DependenciesModel *m_model; }; @@ -160,9 +159,13 @@ DependenciesWidget::DependenciesWidget(SessionManager *session, , m_session(session) , m_model(new DependenciesModel(session, project, this)) { - m_ui.setupUi(this); - m_ui.dependenciesView->setModel(m_model); - m_ui.dependenciesView->setHeaderHidden(true); + QHBoxLayout *layout = new QHBoxLayout(this); + QTreeView *treeView = new QTreeView(this); + treeView->setModel(m_model); + treeView->setHeaderHidden(true); + treeView->setMinimumHeight(250); + layout->addWidget(treeView); + layout->addSpacerItem(new QSpacerItem(0, 0 , QSizePolicy::Expanding, QSizePolicy::Fixed)); } // diff --git a/src/plugins/projectexplorer/dependenciespanel.ui b/src/plugins/projectexplorer/dependenciespanel.ui deleted file mode 100644 index 83fc95b1a3..0000000000 --- a/src/plugins/projectexplorer/dependenciespanel.ui +++ /dev/null @@ -1,44 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<ui version="4.0"> - <class>ProjectExplorer::Internal::DependenciesWidget</class> - <widget class="QWidget" name="ProjectExplorer::Internal::DependenciesWidget"> - <property name="geometry"> - <rect> - <x>0</x> - <y>0</y> - <width>502</width> - <height>375</height> - </rect> - </property> - <property name="windowTitle"> - <string>Project Dependencies</string> - </property> - <layout class="QGridLayout" name="gridLayout"> - <item row="1" column="0"> - <widget class="QTreeView" name="dependenciesView"/> - </item> - <item row="1" column="1"> - <spacer name="horizontalSpacer"> - <property name="orientation"> - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" stdset="0"> - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - <item row="0" column="0" colspan="2"> - <widget class="QLabel" name="label"> - <property name="text"> - <string>Project Dependencies:</string> - </property> - </widget> - </item> - </layout> - </widget> - <resources/> - <connections/> -</ui> diff --git a/src/plugins/projectexplorer/editorsettingspropertiespage.ui b/src/plugins/projectexplorer/editorsettingspropertiespage.ui index 640134cfcf..3ac801e224 100644 --- a/src/plugins/projectexplorer/editorsettingspropertiespage.ui +++ b/src/plugins/projectexplorer/editorsettingspropertiespage.ui @@ -2,15 +2,10 @@ <ui version="4.0"> <class>ProjectExplorer::Internal::EditorSettingsPropertiesPage</class> <widget class="QWidget" name="ProjectExplorer::Internal::EditorSettingsPropertiesPage"> - <property name="geometry"> - <rect> - <x>0</x> - <y>0</y> - <width>400</width> - <height>300</height> - </rect> - </property> - <layout class="QGridLayout" name="gridLayout"> + <layout class="QFormLayout" name="formLayout"> + <property name="fieldGrowthPolicy"> + <enum>QFormLayout::ExpandingFieldsGrow</enum> + </property> <item row="0" column="0"> <widget class="QLabel" name="encodingLabel"> <property name="text"> @@ -21,32 +16,6 @@ <item row="0" column="1"> <widget class="QComboBox" name="encodingComboBox"/> </item> - <item row="0" column="2"> - <spacer name="horizontalSpacer"> - <property name="orientation"> - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" stdset="0"> - <size> - <width>232</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - <item row="1" column="0"> - <spacer name="verticalSpacer"> - <property name="orientation"> - <enum>Qt::Vertical</enum> - </property> - <property name="sizeHint" stdset="0"> - <size> - <width>20</width> - <height>249</height> - </size> - </property> - </spacer> - </item> </layout> </widget> <resources/> diff --git a/src/plugins/projectexplorer/projectexplorer.pro b/src/plugins/projectexplorer/projectexplorer.pro index a246d2d52e..ffb0b081ef 100644 --- a/src/plugins/projectexplorer/projectexplorer.pro +++ b/src/plugins/projectexplorer/projectexplorer.pro @@ -112,9 +112,7 @@ SOURCES += projectexplorer.cpp \ debugginghelper.cpp \ abstractmakestep.cpp \ projectexplorersettingspage.cpp -FORMS += dependenciespanel.ui \ - buildsettingspropertiespage.ui \ - processstep.ui \ +FORMS += processstep.ui \ editorsettingspropertiespage.ui \ runsettingspropertiespage.ui \ sessiondialog.ui \ diff --git a/src/plugins/projectexplorer/projectwindow.cpp b/src/plugins/projectexplorer/projectwindow.cpp index 56b7b233b4..4d5cf076a9 100644 --- a/src/plugins/projectexplorer/projectwindow.cpp +++ b/src/plugins/projectexplorer/projectwindow.cpp @@ -50,6 +50,7 @@ #include <QtGui/QTabWidget> #include <QtGui/QTreeWidget> #include <QtGui/QHeaderView> +#include <QtGui/QLabel> using namespace ProjectExplorer; using namespace ProjectExplorer::Internal; @@ -58,6 +59,48 @@ namespace { bool debug = false; } +PanelsWidget::PanelsWidget(QWidget *parent) + : QScrollArea(parent) +{ + m_widget = new QWidget; + m_layout = new QVBoxLayout(m_widget); + + setWidgetResizable(true); + setFrameStyle(QFrame::NoFrame); + setWidget(m_widget); + +} + +PanelsWidget::~PanelsWidget() +{ + clear(); +} + +void PanelsWidget::addWidget(const QString &name, QWidget *widget) +{ + Panel p; + p.nameLabel = new QLabel(this); + p.nameLabel->setText(name); + QFont f = p.nameLabel->font(); + f.setBold(true); + f.setPointSizeF(f.pointSizeF() * 1.4); + p.nameLabel->setFont(f); + p.panelWidget = widget; + m_panels.append(p); + + m_layout->addWidget(p.nameLabel); + m_layout->addWidget(p.panelWidget); +} + +void PanelsWidget::clear() +{ + foreach(Panel p, m_panels) { + delete p.nameLabel; + delete p.panelWidget; + } + m_panels.clear(); +} + ProjectWindow::ProjectWindow(QWidget *parent) : QWidget(parent), m_currentItemChanged(false) { @@ -84,23 +127,7 @@ ProjectWindow::ProjectWindow(QWidget *parent) connect(m_treeWidget, SIGNAL(currentItemChanged(QTreeWidgetItem*, QTreeWidgetItem *)), this, SLOT(handleCurrentItemChanged(QTreeWidgetItem*))); - QWidget *panelsWidget = new QWidget; - m_panelsTabWidget = new QTabWidget; - m_panelsTabWidget->setDocumentMode(true); - QVBoxLayout *panelsLayout = new QVBoxLayout(panelsWidget); - - QWidget *marginWidget = new QWidget; - QVBoxLayout *marginLayout = new QVBoxLayout(marginWidget); - marginLayout->setContentsMargins(0, panelsLayout->margin(), 0, 0); - marginLayout->addWidget(m_panelsTabWidget); - - QScrollArea *scrollArea = new QScrollArea; - scrollArea->setWidgetResizable(true); - scrollArea->setFrameStyle(QFrame::NoFrame); - scrollArea->setWidget(marginWidget); - panelsLayout->setSpacing(0); - panelsLayout->setMargin(0); - panelsLayout->addWidget(scrollArea); + m_panelsWidget = new PanelsWidget(this); QWidget *dummy = new QWidget; QVBoxLayout *dummyLayout = new QVBoxLayout(dummy); @@ -112,9 +139,7 @@ ProjectWindow::ProjectWindow(QWidget *parent) QSplitter *splitter = new Core::MiniSplitter; splitter->setOrientation(Qt::Vertical); splitter->addWidget(dummy); - splitter->addWidget(panelsWidget); - - + splitter->addWidget(m_panelsWidget); // make sure that the tree treewidget has same size policy as qtabwidget m_treeWidget->setSizePolicy(QSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred)); @@ -146,20 +171,22 @@ void ProjectWindow::restoreStatus() m_treeWidget->setCurrentItem(m_treeWidget->topLevelItem(0), 0, QItemSelectionModel::SelectCurrent | QItemSelectionModel::Rows); } - const QVariant lastPanel = m_session->value(QLatin1String("ProjectWindow/Panel")); - if (lastPanel.isValid()) { - const int index = lastPanel.toInt(); - if (index < m_panelsTabWidget->count()) - m_panelsTabWidget->setCurrentIndex(index); - } - - if ((m_panelsTabWidget->currentIndex() == -1) && m_panelsTabWidget->count()) - m_panelsTabWidget->setCurrentIndex(0); + // TODO +// const QVariant lastPanel = m_session->value(QLatin1String("ProjectWindow/Panel")); +// if (lastPanel.isValid()) { +// const int index = lastPanel.toInt(); +// if (index < m_panelsTabWidget->count()) +// m_panelsTabWidget->setCurrentIndex(index); +// } +// +// if ((m_panelsTabWidget->currentIndex() == -1) && m_panelsTabWidget->count()) +// m_panelsTabWidget->setCurrentIndex(0); } void ProjectWindow::saveStatus() { - m_session->setValue(QLatin1String("ProjectWindow/Panel"), m_panelsTabWidget->currentIndex()); + // TODO +// m_session->setValue(QLatin1String("ProjectWindow/Panel"), m_panelsTabWidget->currentIndex()); } void ProjectWindow::showProperties(ProjectExplorer::Project *project, const QModelIndex & /* subIndex */) @@ -168,14 +195,7 @@ void ProjectWindow::showProperties(ProjectExplorer::Project *project, const QMod qDebug() << "ProjectWindow - showProperties called"; // Remove the tabs from the tab widget first - while (m_panelsTabWidget->count() > 0) - m_panelsTabWidget->removeTab(0); - - while (m_panels.count()) { - PropertiesPanel *panel = m_panels.at(0); - m_panels.removeOne(panel); - delete panel; - } + m_panelsWidget->clear(); if (project) { QList<IPanelFactory *> pages = @@ -185,9 +205,7 @@ void ProjectWindow::showProperties(ProjectExplorer::Project *project, const QMod PropertiesPanel *panel = panelFactory->createPanel(project); if (debug) qDebug() << "ProjectWindow - setting up project properties tab " << panel->name(); - - m_panels.append(panel); - m_panelsTabWidget->addTab(panel->widget(), panel->name()); + m_panelsWidget->addWidget(panel->name(), panel->widget()); } } } diff --git a/src/plugins/projectexplorer/projectwindow.h b/src/plugins/projectexplorer/projectwindow.h index 341c6b7f7e..bae2b8b78b 100644 --- a/src/plugins/projectexplorer/projectwindow.h +++ b/src/plugins/projectexplorer/projectwindow.h @@ -31,8 +31,11 @@ #define PROJECTWINDOW_H #include <QtGui/QWidget> +#include <QtGui/QScrollArea> QT_BEGIN_NAMESPACE +class QLabel; +class QVBoxLayout; class QModelIndex; class QTabWidget; class QTreeWidget; @@ -48,6 +51,29 @@ class SessionManager; namespace Internal { +class PanelsWidget : public QScrollArea +{ + Q_OBJECT +public: + PanelsWidget(QWidget *parent); + ~PanelsWidget(); + // Adds a widget + void addWidget(const QString &name, QWidget *widget); + + // Removes all widgets and deletes them + void clear(); +private: + + struct Panel + { + QLabel *nameLabel; + QWidget *panelWidget; + }; + QWidget *m_widget; + QVBoxLayout *m_layout; + QList<Panel> m_panels; +}; + class ProjectWindow : public QWidget { Q_OBJECT @@ -74,9 +100,7 @@ private: ProjectExplorerPlugin *m_projectExplorer; QTreeWidget* m_treeWidget; - QTabWidget *m_panelsTabWidget; - - QList<PropertiesPanel*> m_panels; + PanelsWidget *m_panelsWidget; Project *findProject(const QString &path) const; bool m_currentItemChanged; diff --git a/src/plugins/projectexplorer/runsettingspropertiespage.cpp b/src/plugins/projectexplorer/runsettingspropertiespage.cpp index d0c0b3702c..3166e7da8d 100644 --- a/src/plugins/projectexplorer/runsettingspropertiespage.cpp +++ b/src/plugins/projectexplorer/runsettingspropertiespage.cpp @@ -181,7 +181,9 @@ RunSettingsWidget::RunSettingsWidget(Project *project) m_addMenu = new QMenu(m_ui->addToolButton); m_ui->addToolButton->setIcon(QIcon(Core::Constants::ICON_PLUS)); m_ui->addToolButton->setMenu(m_addMenu); + m_ui->addToolButton->setText(tr("Add")); m_ui->removeToolButton->setIcon(QIcon(Core::Constants::ICON_MINUS)); + m_ui->removeToolButton->setText(tr("Remove")); m_ui->runConfigurationCombo->setModel(m_runConfigurationsModel); m_ui->activeRunConfigurationCombo->setModel(m_enabledRunConfigurationsModel); diff --git a/src/plugins/projectexplorer/runsettingspropertiespage.ui b/src/plugins/projectexplorer/runsettingspropertiespage.ui index c83a5a7709..2daaa3cfae 100644 --- a/src/plugins/projectexplorer/runsettingspropertiespage.ui +++ b/src/plugins/projectexplorer/runsettingspropertiespage.ui @@ -6,31 +6,25 @@ <rect> <x>0</x> <y>0</y> - <width>551</width> + <width>621</width> <height>300</height> </rect> </property> - <layout class="QVBoxLayout" name="layout"> + <layout class="QVBoxLayout" name="verticalLayout"> <item> - <layout class="QHBoxLayout" name="horizontalLayout"> - <item> - <widget class="QLabel" name="label"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Maximum" vsizetype="Preferred"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> + <layout class="QFormLayout" name="formLayout"> + <property name="fieldGrowthPolicy"> + <enum>QFormLayout::ExpandingFieldsGrow</enum> + </property> + <item row="0" column="0"> + <widget class="QLabel" name="label_2"> <property name="text"> - <string>Run &configuration:</string> - </property> - <property name="buddy"> - <cstring>runConfigurationCombo</cstring> + <string>Active run configuration:</string> </property> </widget> </item> - <item> - <widget class="QComboBox" name="runConfigurationCombo"> + <item row="0" column="1"> + <widget class="QComboBox" name="activeRunConfigurationCombo"> <property name="maximumSize"> <size> <width>500</width> @@ -45,65 +39,62 @@ </property> </widget> </item> - <item> - <widget class="QToolButton" name="addToolButton"> - <property name="text"> - <string>+</string> - </property> - <property name="popupMode"> - <enum>QToolButton::InstantPopup</enum> - </property> - </widget> - </item> - <item> - <widget class="QToolButton" name="removeToolButton"> - <property name="text"> - <string>-</string> + <item row="1" column="0"> + <widget class="QLabel" name="label"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Maximum" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> </property> - </widget> - </item> - <item> - <widget class="QLabel" name="label_2"> <property name="text"> - <string>Active run configuration:</string> + <string>Edit run configuration:</string> </property> - </widget> - </item> - <item> - <widget class="QComboBox" name="activeRunConfigurationCombo"> - <property name="maximumSize"> - <size> - <width>500</width> - <height>16777215</height> - </size> - </property> - <property name="sizeAdjustPolicy"> - <enum>QComboBox::AdjustToContents</enum> - </property> - <property name="minimumContentsLength"> - <number>15</number> + <property name="buddy"> + <cstring>runConfigurationCombo</cstring> </property> </widget> </item> - <item> - <spacer name="horizontalSpacer"> - <property name="orientation"> - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" stdset="0"> - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> + <item row="1" column="1"> + <layout class="QHBoxLayout" name="horizontalLayout"> + <item> + <widget class="QComboBox" name="runConfigurationCombo"> + <property name="maximumSize"> + <size> + <width>500</width> + <height>16777215</height> + </size> + </property> + <property name="sizeAdjustPolicy"> + <enum>QComboBox::AdjustToContents</enum> + </property> + <property name="minimumContentsLength"> + <number>15</number> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="addToolButton"> + <property name="text"> + <string>+</string> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="removeToolButton"> + <property name="text"> + <string>-</string> + </property> + </widget> + </item> + </layout> </item> </layout> </item> <item> <widget class="QGroupBox" name="groupBox"> <property name="title"> - <string>Settings</string> + <string/> </property> <layout class="QHBoxLayout" name="horizontalLayout_2"/> </widget> diff --git a/src/plugins/qt4projectmanager/makestep.cpp b/src/plugins/qt4projectmanager/makestep.cpp index 2b3d7aadd4..37501d873a 100644 --- a/src/plugins/qt4projectmanager/makestep.cpp +++ b/src/plugins/qt4projectmanager/makestep.cpp @@ -185,8 +185,6 @@ void MakeStepConfigWidget::init(const QString &buildConfiguration) m_makeStep->setValue(buildConfiguration, "makeargs", QStringList() << "clean"); } - m_ui.stackedWidget->setCurrentIndex(1); - m_ui.makeLabel->setText(tr("Override %1:").arg(pro->makeCommand(buildConfiguration))); const QString &makeCmd = m_makeStep->value(buildConfiguration, "makeCmd").toString(); diff --git a/src/plugins/qt4projectmanager/makestep.ui b/src/plugins/qt4projectmanager/makestep.ui index 1a7189300b..f2007e7e39 100644 --- a/src/plugins/qt4projectmanager/makestep.ui +++ b/src/plugins/qt4projectmanager/makestep.ui @@ -6,71 +6,33 @@ <rect> <x>0</x> <y>0</y> - <width>428</width> - <height>384</height> + <width>235</width> + <height>64</height> </rect> </property> - <layout class="QVBoxLayout" name="verticalLayout"> - <property name="margin"> - <number>0</number> - </property> - <item> - <widget class="QStackedWidget" name="stackedWidget"> - <property name="currentIndex"> - <number>1</number> + <layout class="QFormLayout" name="formLayout"> + <item row="0" column="0"> + <widget class="QLabel" name="makeLabel"> + <property name="text"> + <string>Override %1:</string> </property> - <widget class="QWidget" name="page_1"> - <layout class="QFormLayout" name="formLayout_2"> - <property name="fieldGrowthPolicy"> - <enum>QFormLayout::ExpandingFieldsGrow</enum> - </property> - </layout> - </widget> - <widget class="QWidget" name="page_2"> - <layout class="QVBoxLayout" name="verticalLayout_2"> - <item> - <widget class="QLabel" name="makeLabel"> - <property name="text"> - <string>Override %1:</string> - </property> - </widget> - </item> - <item> - <widget class="QLineEdit" name="makeLineEdit"/> - </item> - <item> - <widget class="QLabel" name="makeArgumentsLabel"> - <property name="text"> - <string>Make arguments:</string> - </property> - </widget> - </item> - <item> - <widget class="QLineEdit" name="makeArgumentsLineEdit"/> - </item> - <item> - <spacer name="verticalSpacer"> - <property name="orientation"> - <enum>Qt::Vertical</enum> - </property> - <property name="sizeHint" stdset="0"> - <size> - <width>20</width> - <height>255</height> - </size> - </property> - </spacer> - </item> - </layout> - </widget> </widget> </item> + <item row="0" column="1"> + <widget class="QLineEdit" name="makeLineEdit"/> + </item> + <item row="1" column="0"> + <widget class="QLabel" name="makeArgumentsLabel"> + <property name="text"> + <string>Make arguments:</string> + </property> + </widget> + </item> + <item row="1" column="1"> + <widget class="QLineEdit" name="makeArgumentsLineEdit"/> + </item> </layout> </widget> - <tabstops> - <tabstop>makeLineEdit</tabstop> - <tabstop>makeArgumentsLineEdit</tabstop> - </tabstops> <resources/> <connections/> </ui> diff --git a/src/plugins/qt4projectmanager/qmakestep.cpp b/src/plugins/qt4projectmanager/qmakestep.cpp index 8ce0cef56a..c9e315d21d 100644 --- a/src/plugins/qt4projectmanager/qmakestep.cpp +++ b/src/plugins/qt4projectmanager/qmakestep.cpp @@ -256,16 +256,11 @@ QString QMakeStepConfigWidget::displayName() const void QMakeStepConfigWidget::init(const QString &buildConfiguration) { m_buildConfiguration = buildConfiguration; - if (buildConfiguration.isEmpty()){ - m_ui.stackedWidget->setCurrentWidget(m_ui.page_2); - } else { - m_ui.stackedWidget->setCurrentWidget(m_ui.page_1); - QString qmakeArgs = ProjectExplorer::Environment::joinArgumentList(m_step->value(buildConfiguration, "qmakeArgs").toStringList()); - m_ui.qmakeAdditonalArgumentsLineEdit->setText(qmakeArgs); - m_ui.qmakeArgumentsEdit->setPlainText(ProjectExplorer::Environment::joinArgumentList(m_step->arguments(buildConfiguration))); - bool debug = QtVersion::QmakeBuildConfig(m_step->value(buildConfiguration, "buildConfiguration").toInt()) & QtVersion::DebugBuild; - m_ui.buildConfigurationComboBox->setCurrentIndex(debug? 0 : 1); - } + QString qmakeArgs = ProjectExplorer::Environment::joinArgumentList(m_step->value(buildConfiguration, "qmakeArgs").toStringList()); + m_ui.qmakeAdditonalArgumentsLineEdit->setText(qmakeArgs); + m_ui.qmakeArgumentsEdit->setPlainText(ProjectExplorer::Environment::joinArgumentList(m_step->arguments(buildConfiguration))); + bool debug = QtVersion::QmakeBuildConfig(m_step->value(buildConfiguration, "buildConfiguration").toInt()) & QtVersion::DebugBuild; + m_ui.buildConfigurationComboBox->setCurrentIndex(debug? 0 : 1); } //// diff --git a/src/plugins/qt4projectmanager/qmakestep.ui b/src/plugins/qt4projectmanager/qmakestep.ui index a28baf6448..abb882d716 100644 --- a/src/plugins/qt4projectmanager/qmakestep.ui +++ b/src/plugins/qt4projectmanager/qmakestep.ui @@ -6,111 +6,66 @@ <rect> <x>0</x> <y>0</y> - <width>414</width> - <height>442</height> + <width>436</width> + <height>187</height> </rect> </property> - <layout class="QVBoxLayout" name="verticalLayout"> - <property name="margin"> - <number>0</number> - </property> - <item> - <widget class="QStackedWidget" name="stackedWidget"> - <property name="currentIndex"> - <number>0</number> + <layout class="QFormLayout" name="formLayout"> + <item row="0" column="0"> + <widget class="QLabel" name="label_2"> + <property name="text"> + <string>QMake Build Configuration:</string> + </property> + </widget> + </item> + <item row="0" column="1"> + <widget class="QComboBox" name="buildConfigurationComboBox"> + <item> + <property name="text"> + <string>debug</string> + </property> + </item> + <item> + <property name="text"> + <string>release</string> + </property> + </item> + </widget> + </item> + <item row="1" column="0"> + <widget class="QLabel" name="qmakeArgsLabel"> + <property name="text"> + <string>Additional arguments:</string> + </property> + </widget> + </item> + <item row="1" column="1"> + <widget class="QLineEdit" name="qmakeAdditonalArgumentsLineEdit"/> + </item> + <item row="2" column="0"> + <widget class="QLabel" name="label"> + <property name="text"> + <string>Effective qmake call:</string> + </property> + <property name="alignment"> + <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set> + </property> + </widget> + </item> + <item row="2" column="1"> + <widget class="QPlainTextEdit" name="qmakeArgumentsEdit"> + <property name="enabled"> + <bool>false</bool> + </property> + <property name="maximumSize"> + <size> + <width>16777215</width> + <height>120</height> + </size> + </property> + <property name="textInteractionFlags"> + <set>Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set> </property> - <widget class="QWidget" name="page_1"> - <layout class="QVBoxLayout" name="verticalLayout_2"> - <item> - <widget class="QLabel" name="label_2"> - <property name="text"> - <string>QMake Build Configuration:</string> - </property> - </widget> - </item> - <item> - <layout class="QHBoxLayout" name="horizontalLayout"> - <item> - <widget class="QComboBox" name="buildConfigurationComboBox"> - <item> - <property name="text"> - <string>debug</string> - </property> - </item> - <item> - <property name="text"> - <string>release</string> - </property> - </item> - </widget> - </item> - <item> - <spacer name="horizontalSpacer"> - <property name="orientation"> - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" stdset="0"> - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - </layout> - </item> - <item> - <widget class="QLabel" name="qmakeArgsLabel"> - <property name="text"> - <string>Additional arguments:</string> - </property> - </widget> - </item> - <item> - <widget class="QLineEdit" name="qmakeAdditonalArgumentsLineEdit"/> - </item> - <item> - <widget class="QLabel" name="label"> - <property name="text"> - <string>Effective qmake call:</string> - </property> - <property name="alignment"> - <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set> - </property> - </widget> - </item> - <item> - <widget class="QPlainTextEdit" name="qmakeArgumentsEdit"> - <property name="enabled"> - <bool>false</bool> - </property> - <property name="maximumSize"> - <size> - <width>16777215</width> - <height>120</height> - </size> - </property> - <property name="textInteractionFlags"> - <set>Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set> - </property> - </widget> - </item> - <item> - <spacer name="verticalSpacer"> - <property name="orientation"> - <enum>Qt::Vertical</enum> - </property> - <property name="sizeHint" stdset="0"> - <size> - <width>393</width> - <height>179</height> - </size> - </property> - </spacer> - </item> - </layout> - </widget> - <widget class="QWidget" name="page_2"/> </widget> </item> </layout> diff --git a/src/plugins/qt4projectmanager/qt4runconfiguration.cpp b/src/plugins/qt4projectmanager/qt4runconfiguration.cpp index 953f90a9ab..9096a58c5c 100644 --- a/src/plugins/qt4projectmanager/qt4runconfiguration.cpp +++ b/src/plugins/qt4projectmanager/qt4runconfiguration.cpp @@ -142,12 +142,12 @@ Qt4RunConfigurationWidget::Qt4RunConfigurationWidget(Qt4RunConfiguration *qt4Run boxlayout->addWidget(resetButton); toplayout->addRow(tr("Working Directory:"), boxlayout); - QLabel *argumentsLabel = new QLabel(tr("&Arguments:")); + QLabel *argumentsLabel = new QLabel(tr("Arguments:")); m_argumentsLineEdit = new QLineEdit(ProjectExplorer::Environment::joinArgumentList(qt4RunConfiguration->commandLineArguments())); argumentsLabel->setBuddy(m_argumentsLineEdit); toplayout->addRow(argumentsLabel, m_argumentsLineEdit); - m_useTerminalCheck = new QCheckBox(tr("Run in &Terminal")); + m_useTerminalCheck = new QCheckBox(tr("Run in Terminal")); m_useTerminalCheck->setChecked(m_qt4RunConfiguration->runMode() == ProjectExplorer::ApplicationRunConfiguration::Console); toplayout->addRow(QString(), m_useTerminalCheck); |