diff --git a/src/plugins/projectexplorer/projectwindow.cpp b/src/plugins/projectexplorer/projectwindow.cpp index e00bc9524eb..8241ba3a677 100644 --- a/src/plugins/projectexplorer/projectwindow.cpp +++ b/src/plugins/projectexplorer/projectwindow.cpp @@ -226,8 +226,7 @@ void PanelsWidget::addPanelWidget(PropertiesPanel *panel, int row) ProjectWindow::ProjectWindow(QWidget *parent) : QWidget(parent), - m_currentWidget(0), - m_previousTargetSubIndex(-1) + m_currentWidget(0) { // Setup overall layout: QVBoxLayout *viewLayout = new QVBoxLayout(this); @@ -386,19 +385,12 @@ void ProjectWindow::showProperties(int index, int subIndex) // Set up custom panels again: int pos = 0; IProjectPanelFactory *fac = 0; - // remember previous sub index state of target settings page - if (TargetSettingsPanelWidget *previousPanelWidget - = qobject_cast(m_currentWidget)) { - m_previousTargetSubIndex = previousPanelWidget->currentSubIndex(); - } if (m_hasTarget.value(project) || project->requiresTargetPanel()) { if (subIndex == 0) { // Targets page removeCurrentWidget(); TargetSettingsPanelWidget *panelWidget = new TargetSettingsPanelWidget(project); - if (m_previousTargetSubIndex >= 0) - panelWidget->setCurrentSubIndex(m_previousTargetSubIndex); m_currentWidget = panelWidget; m_centralWidget->addWidget(m_currentWidget); m_centralWidget->setCurrentWidget(m_currentWidget); diff --git a/src/plugins/projectexplorer/projectwindow.h b/src/plugins/projectexplorer/projectwindow.h index 1bb580f0722..c1bd14edd96 100644 --- a/src/plugins/projectexplorer/projectwindow.h +++ b/src/plugins/projectexplorer/projectwindow.h @@ -102,7 +102,6 @@ private: QWidget *m_currentWidget; QList m_tabIndexToProject; QMap m_hasTarget; - int m_previousTargetSubIndex; }; } // namespace Internal diff --git a/src/plugins/projectexplorer/targetsettingspanel.cpp b/src/plugins/projectexplorer/targetsettingspanel.cpp index d1b821f3758..f14c17897f6 100644 --- a/src/plugins/projectexplorer/targetsettingspanel.cpp +++ b/src/plugins/projectexplorer/targetsettingspanel.cpp @@ -67,6 +67,8 @@ using namespace Core; namespace ProjectExplorer { namespace Internal { +int TargetSettingsPanelWidget::s_targetSubIndex = -1; + /// // TargetSettingsWidget /// @@ -194,6 +196,7 @@ void TargetSettingsPanelWidget::setupUi() // Now set the correct target int index = m_targets.indexOf(m_project->activeTarget()); m_selector->setCurrentIndex(index); + m_selector->setCurrentSubIndex(s_targetSubIndex); currentTargetChanged(index, m_selector->currentSubIndex()); connect(m_selector, SIGNAL(currentChanged(int,int)), @@ -231,6 +234,8 @@ void TargetSettingsPanelWidget::currentTargetChanged(int targetIndex, int subInd return; } + s_targetSubIndex = subIndex; + Target *target = m_targets.at(targetIndex); // Target was not actually changed: diff --git a/src/plugins/projectexplorer/targetsettingspanel.h b/src/plugins/projectexplorer/targetsettingspanel.h index 2de991f48a9..57233db6771 100644 --- a/src/plugins/projectexplorer/targetsettingspanel.h +++ b/src/plugins/projectexplorer/targetsettingspanel.h @@ -103,6 +103,7 @@ private: QAction *m_lastAction; QAction *m_importAction; int m_menuTargetIndex; + static int s_targetSubIndex; }; } // namespace Internal