forked from qt-creator/qt-creator
QtSupport: Streamline QtOptionsPage
Change-Id: I2af97fdc07eb065a7e55d84f72697452b70a294a Reviewed-by: Eike Ziller <eike.ziller@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
This commit is contained in:
@@ -27,8 +27,7 @@ add_qtc_plugin(QtSupport
|
|||||||
qtsupportplugin.cpp qtsupportplugin.h
|
qtsupportplugin.cpp qtsupportplugin.h
|
||||||
qttestparser.cpp qttestparser.h
|
qttestparser.cpp qttestparser.h
|
||||||
qtversionfactory.h
|
qtversionfactory.h
|
||||||
qtversioninfo.ui
|
qtversionmanager.cpp qtversionmanager.h
|
||||||
qtversionmanager.cpp qtversionmanager.h qtversionmanager.ui
|
|
||||||
qtversions.cpp qtversions.h
|
qtversions.cpp qtversions.h
|
||||||
translationwizardpage.cpp translationwizardpage.h
|
translationwizardpage.cpp translationwizardpage.h
|
||||||
uicgenerator.cpp uicgenerator.h
|
uicgenerator.cpp uicgenerator.h
|
||||||
|
@@ -26,8 +26,6 @@
|
|||||||
#include "qtoptionspage.h"
|
#include "qtoptionspage.h"
|
||||||
|
|
||||||
#include "qtconfigwidget.h"
|
#include "qtconfigwidget.h"
|
||||||
#include "ui_qtversionmanager.h"
|
|
||||||
#include "ui_qtversioninfo.h"
|
|
||||||
#include "qtsupportconstants.h"
|
#include "qtsupportconstants.h"
|
||||||
#include "qtversionmanager.h"
|
#include "qtversionmanager.h"
|
||||||
#include "qtversionfactory.h"
|
#include "qtversionfactory.h"
|
||||||
@@ -46,8 +44,10 @@
|
|||||||
|
|
||||||
#include <utils/algorithm.h>
|
#include <utils/algorithm.h>
|
||||||
#include <utils/buildablehelperlibrary.h>
|
#include <utils/buildablehelperlibrary.h>
|
||||||
|
#include <utils/detailswidget.h>
|
||||||
#include <utils/filepath.h>
|
#include <utils/filepath.h>
|
||||||
#include <utils/hostosinfo.h>
|
#include <utils/hostosinfo.h>
|
||||||
|
#include <utils/layoutbuilder.h>
|
||||||
#include <utils/pathchooser.h>
|
#include <utils/pathchooser.h>
|
||||||
#include <utils/qtcassert.h>
|
#include <utils/qtcassert.h>
|
||||||
#include <utils/runextensions.h>
|
#include <utils/runextensions.h>
|
||||||
@@ -55,12 +55,18 @@
|
|||||||
#include <utils/utilsicons.h>
|
#include <utils/utilsicons.h>
|
||||||
#include <utils/variablechooser.h>
|
#include <utils/variablechooser.h>
|
||||||
|
|
||||||
|
#include <QComboBox>
|
||||||
#include <QDesktopServices>
|
#include <QDesktopServices>
|
||||||
#include <QDialogButtonBox>
|
#include <QDialogButtonBox>
|
||||||
#include <QDir>
|
#include <QDir>
|
||||||
|
#include <QFormLayout>
|
||||||
|
#include <QHeaderView>
|
||||||
|
#include <QLabel>
|
||||||
#include <QMessageBox>
|
#include <QMessageBox>
|
||||||
|
#include <QPushButton>
|
||||||
#include <QSortFilterProxyModel>
|
#include <QSortFilterProxyModel>
|
||||||
#include <QTextBrowser>
|
#include <QTextBrowser>
|
||||||
|
#include <QTreeView>
|
||||||
|
|
||||||
#include <utility>
|
#include <utility>
|
||||||
|
|
||||||
@@ -190,17 +196,6 @@ private:
|
|||||||
QtVersion *currentVersion() const;
|
QtVersion *currentVersion() const;
|
||||||
QtVersionItem *currentItem() const;
|
QtVersionItem *currentItem() const;
|
||||||
|
|
||||||
const QString m_specifyNameString;
|
|
||||||
|
|
||||||
Ui::QtVersionManager m_ui;
|
|
||||||
Ui::QtVersionInfo m_versionUi;
|
|
||||||
QTextBrowser *m_infoBrowser;
|
|
||||||
QIcon m_invalidVersionIcon;
|
|
||||||
QIcon m_warningVersionIcon;
|
|
||||||
QIcon m_validVersionIcon;
|
|
||||||
QtConfigWidget *m_configurationWidget;
|
|
||||||
|
|
||||||
private:
|
|
||||||
void updateQtVersions(const QList<int> &, const QList<int> &, const QList<int> &);
|
void updateQtVersions(const QList<int> &, const QList<int> &, const QList<int> &);
|
||||||
void versionChanged(const QModelIndex ¤t, const QModelIndex &previous);
|
void versionChanged(const QModelIndex ¤t, const QModelIndex &previous);
|
||||||
void addQtDir();
|
void addQtDir();
|
||||||
@@ -232,6 +227,28 @@ private:
|
|||||||
QSortFilterProxyModel *m_filterModel;
|
QSortFilterProxyModel *m_filterModel;
|
||||||
TreeItem *m_autoItem;
|
TreeItem *m_autoItem;
|
||||||
TreeItem *m_manualItem;
|
TreeItem *m_manualItem;
|
||||||
|
|
||||||
|
const QString m_specifyNameString;
|
||||||
|
|
||||||
|
QTreeView *m_qtdirList;
|
||||||
|
DetailsWidget *m_versionInfoWidget;
|
||||||
|
DetailsWidget *m_infoWidget;
|
||||||
|
QComboBox *m_documentationSetting;
|
||||||
|
QPushButton *m_delButton;
|
||||||
|
QPushButton *m_linkWithQtButton;
|
||||||
|
QPushButton *m_cleanUpButton;
|
||||||
|
|
||||||
|
QTextBrowser *m_infoBrowser;
|
||||||
|
QIcon m_invalidVersionIcon;
|
||||||
|
QIcon m_warningVersionIcon;
|
||||||
|
QIcon m_validVersionIcon;
|
||||||
|
QtConfigWidget *m_configurationWidget;
|
||||||
|
|
||||||
|
QLineEdit *m_nameEdit;
|
||||||
|
QLabel *m_qmakePath;
|
||||||
|
QPushButton *m_editPathPushButton;
|
||||||
|
QLabel *m_errorLabel;
|
||||||
|
QFormLayout *m_formLayout;
|
||||||
};
|
};
|
||||||
|
|
||||||
QtOptionsPageWidget::QtOptionsPageWidget()
|
QtOptionsPageWidget::QtOptionsPageWidget()
|
||||||
@@ -241,11 +258,71 @@ QtOptionsPageWidget::QtOptionsPageWidget()
|
|||||||
, m_warningVersionIcon(Utils::Icons::WARNING.icon())
|
, m_warningVersionIcon(Utils::Icons::WARNING.icon())
|
||||||
, m_configurationWidget(nullptr)
|
, m_configurationWidget(nullptr)
|
||||||
{
|
{
|
||||||
auto versionInfoWidget = new QWidget;
|
resize(446, 450);
|
||||||
m_versionUi.setupUi(versionInfoWidget);
|
|
||||||
m_versionUi.editPathPushButton->setText(PathChooser::browseButtonLabel());
|
|
||||||
|
|
||||||
m_ui.setupUi(this);
|
m_qtdirList = new QTreeView(this);
|
||||||
|
m_qtdirList->setUniformRowHeights(true);
|
||||||
|
|
||||||
|
m_versionInfoWidget = new DetailsWidget(this);
|
||||||
|
|
||||||
|
m_infoWidget = new DetailsWidget(this);
|
||||||
|
|
||||||
|
m_documentationSetting = new QComboBox(this);
|
||||||
|
|
||||||
|
auto addButton = new QPushButton(tr("Add..."));
|
||||||
|
m_delButton = new QPushButton(tr("Remove"));
|
||||||
|
m_linkWithQtButton = new QPushButton(tr("Link with Qt..."));
|
||||||
|
m_cleanUpButton = new QPushButton(tr("Clean Up"));
|
||||||
|
|
||||||
|
m_nameEdit = new QLineEdit;
|
||||||
|
|
||||||
|
m_qmakePath = new QLabel;
|
||||||
|
m_qmakePath->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
|
||||||
|
m_qmakePath->setTextInteractionFlags(Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse);
|
||||||
|
|
||||||
|
m_editPathPushButton = new QPushButton(tr("Edit"));
|
||||||
|
m_editPathPushButton->setText(PathChooser::browseButtonLabel());
|
||||||
|
|
||||||
|
m_errorLabel = new QLabel;
|
||||||
|
|
||||||
|
using namespace Utils::Layouting;
|
||||||
|
|
||||||
|
auto versionInfoWidget = new QWidget;
|
||||||
|
Form {
|
||||||
|
new QLabel(tr("Name:")), m_nameEdit, Break(),
|
||||||
|
new QLabel(tr("qmake path:")),
|
||||||
|
Row {
|
||||||
|
m_qmakePath,
|
||||||
|
m_editPathPushButton,
|
||||||
|
},
|
||||||
|
Break(),
|
||||||
|
Span(2, m_errorLabel)
|
||||||
|
|
||||||
|
}.attachTo(versionInfoWidget, false);
|
||||||
|
|
||||||
|
m_formLayout = qobject_cast<QFormLayout*>(versionInfoWidget->layout());
|
||||||
|
|
||||||
|
Row {
|
||||||
|
Column {
|
||||||
|
m_qtdirList,
|
||||||
|
m_versionInfoWidget,
|
||||||
|
m_infoWidget,
|
||||||
|
Row {
|
||||||
|
new QLabel(tr("Register documentation:")),
|
||||||
|
m_documentationSetting,
|
||||||
|
Stretch()
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
Column {
|
||||||
|
addButton,
|
||||||
|
m_delButton,
|
||||||
|
Space(20),
|
||||||
|
m_linkWithQtButton,
|
||||||
|
m_cleanUpButton,
|
||||||
|
Stretch()
|
||||||
|
}
|
||||||
|
}.attachTo(this);
|
||||||
|
|
||||||
setupLinkWithQtButton();
|
setupLinkWithQtButton();
|
||||||
|
|
||||||
@@ -253,12 +330,12 @@ QtOptionsPageWidget::QtOptionsPageWidget()
|
|||||||
m_infoBrowser->setTextInteractionFlags(Qt::TextBrowserInteraction);
|
m_infoBrowser->setTextInteractionFlags(Qt::TextBrowserInteraction);
|
||||||
connect(m_infoBrowser, &QTextBrowser::anchorClicked,
|
connect(m_infoBrowser, &QTextBrowser::anchorClicked,
|
||||||
this, &QtOptionsPageWidget::infoAnchorClicked);
|
this, &QtOptionsPageWidget::infoAnchorClicked);
|
||||||
m_ui.infoWidget->setWidget(m_infoBrowser);
|
m_infoWidget->setWidget(m_infoBrowser);
|
||||||
connect(m_ui.infoWidget, &DetailsWidget::expanded,
|
connect(m_infoWidget, &DetailsWidget::expanded,
|
||||||
this, &QtOptionsPageWidget::setInfoWidgetVisibility);
|
this, &QtOptionsPageWidget::setInfoWidgetVisibility);
|
||||||
|
|
||||||
m_ui.versionInfoWidget->setWidget(versionInfoWidget);
|
m_versionInfoWidget->setWidget(versionInfoWidget);
|
||||||
m_ui.versionInfoWidget->setState(DetailsWidget::NoSummary);
|
m_versionInfoWidget->setState(DetailsWidget::NoSummary);
|
||||||
|
|
||||||
m_autoItem = new StaticTreeItem({ProjectExplorer::Constants::msgAutoDetected()},
|
m_autoItem = new StaticTreeItem({ProjectExplorer::Constants::msgAutoDetected()},
|
||||||
{ProjectExplorer::Constants::msgAutoDetectedToolTip()});
|
{ProjectExplorer::Constants::msgAutoDetectedToolTip()});
|
||||||
@@ -273,49 +350,49 @@ QtOptionsPageWidget::QtOptionsPageWidget()
|
|||||||
m_filterModel->setSourceModel(m_model);
|
m_filterModel->setSourceModel(m_model);
|
||||||
m_filterModel->setSortCaseSensitivity(Qt::CaseInsensitive);
|
m_filterModel->setSortCaseSensitivity(Qt::CaseInsensitive);
|
||||||
|
|
||||||
m_ui.qtdirList->setModel(m_filterModel);
|
m_qtdirList->setModel(m_filterModel);
|
||||||
m_ui.qtdirList->setSortingEnabled(true);
|
m_qtdirList->setSortingEnabled(true);
|
||||||
|
|
||||||
m_ui.qtdirList->setFirstColumnSpanned(0, QModelIndex(), true);
|
m_qtdirList->setFirstColumnSpanned(0, QModelIndex(), true);
|
||||||
m_ui.qtdirList->setFirstColumnSpanned(1, QModelIndex(), true);
|
m_qtdirList->setFirstColumnSpanned(1, QModelIndex(), true);
|
||||||
|
|
||||||
m_ui.qtdirList->header()->setStretchLastSection(false);
|
m_qtdirList->header()->setStretchLastSection(false);
|
||||||
m_ui.qtdirList->header()->setSectionResizeMode(0, QHeaderView::ResizeToContents);
|
m_qtdirList->header()->setSectionResizeMode(0, QHeaderView::ResizeToContents);
|
||||||
m_ui.qtdirList->header()->setSectionResizeMode(1, QHeaderView::Stretch);
|
m_qtdirList->header()->setSectionResizeMode(1, QHeaderView::Stretch);
|
||||||
m_ui.qtdirList->setTextElideMode(Qt::ElideMiddle);
|
m_qtdirList->setTextElideMode(Qt::ElideMiddle);
|
||||||
m_ui.qtdirList->sortByColumn(0, Qt::AscendingOrder);
|
m_qtdirList->sortByColumn(0, Qt::AscendingOrder);
|
||||||
|
|
||||||
m_ui.documentationSetting->addItem(tr("Highest Version Only"),
|
m_documentationSetting->addItem(tr("Highest Version Only"),
|
||||||
int(QtVersionManager::DocumentationSetting::HighestOnly));
|
int(QtVersionManager::DocumentationSetting::HighestOnly));
|
||||||
m_ui.documentationSetting->addItem(tr("All"), int(QtVersionManager::DocumentationSetting::All));
|
m_documentationSetting->addItem(tr("All"), int(QtVersionManager::DocumentationSetting::All));
|
||||||
m_ui.documentationSetting->addItem(tr("None"),
|
m_documentationSetting->addItem(tr("None"),
|
||||||
int(QtVersionManager::DocumentationSetting::None));
|
int(QtVersionManager::DocumentationSetting::None));
|
||||||
const int selectedIndex = m_ui.documentationSetting->findData(
|
const int selectedIndex = m_documentationSetting->findData(
|
||||||
int(QtVersionManager::documentationSetting()));
|
int(QtVersionManager::documentationSetting()));
|
||||||
if (selectedIndex >= 0)
|
if (selectedIndex >= 0)
|
||||||
m_ui.documentationSetting->setCurrentIndex(selectedIndex);
|
m_documentationSetting->setCurrentIndex(selectedIndex);
|
||||||
|
|
||||||
QList<int> additions = transform(QtVersionManager::versions(), &QtVersion::uniqueId);
|
QList<int> additions = transform(QtVersionManager::versions(), &QtVersion::uniqueId);
|
||||||
|
|
||||||
updateQtVersions(additions, QList<int>(), QList<int>());
|
updateQtVersions(additions, QList<int>(), QList<int>());
|
||||||
|
|
||||||
m_ui.qtdirList->expandAll();
|
m_qtdirList->expandAll();
|
||||||
|
|
||||||
connect(m_versionUi.nameEdit, &QLineEdit::textEdited,
|
connect(m_nameEdit, &QLineEdit::textEdited,
|
||||||
this, &QtOptionsPageWidget::updateCurrentQtName);
|
this, &QtOptionsPageWidget::updateCurrentQtName);
|
||||||
|
|
||||||
connect(m_versionUi.editPathPushButton, &QAbstractButton::clicked,
|
connect(m_editPathPushButton, &QAbstractButton::clicked,
|
||||||
this, &QtOptionsPageWidget::editPath);
|
this, &QtOptionsPageWidget::editPath);
|
||||||
|
|
||||||
connect(m_ui.addButton, &QAbstractButton::clicked,
|
connect(addButton, &QAbstractButton::clicked,
|
||||||
this, &QtOptionsPageWidget::addQtDir);
|
this, &QtOptionsPageWidget::addQtDir);
|
||||||
connect(m_ui.delButton, &QAbstractButton::clicked,
|
connect(m_delButton, &QAbstractButton::clicked,
|
||||||
this, &QtOptionsPageWidget::removeQtDir);
|
this, &QtOptionsPageWidget::removeQtDir);
|
||||||
|
|
||||||
connect(m_ui.qtdirList->selectionModel(), &QItemSelectionModel::currentChanged,
|
connect(m_qtdirList->selectionModel(), &QItemSelectionModel::currentChanged,
|
||||||
this, &QtOptionsPageWidget::versionChanged);
|
this, &QtOptionsPageWidget::versionChanged);
|
||||||
|
|
||||||
connect(m_ui.cleanUpButton, &QAbstractButton::clicked,
|
connect(m_cleanUpButton, &QAbstractButton::clicked,
|
||||||
this, &QtOptionsPageWidget::cleanUpQtVersions);
|
this, &QtOptionsPageWidget::cleanUpQtVersions);
|
||||||
userChangedCurrentVersion();
|
userChangedCurrentVersion();
|
||||||
updateCleanUpButton();
|
updateCleanUpButton();
|
||||||
@@ -327,7 +404,7 @@ QtOptionsPageWidget::QtOptionsPageWidget()
|
|||||||
this, &QtOptionsPageWidget::toolChainsUpdated);
|
this, &QtOptionsPageWidget::toolChainsUpdated);
|
||||||
|
|
||||||
auto chooser = new VariableChooser(this);
|
auto chooser = new VariableChooser(this);
|
||||||
chooser->addSupportedWidget(m_versionUi.nameEdit, "Qt:Name");
|
chooser->addSupportedWidget(m_nameEdit, "Qt:Name");
|
||||||
chooser->addMacroExpanderProvider([this] {
|
chooser->addMacroExpanderProvider([this] {
|
||||||
QtVersion *version = currentVersion();
|
QtVersion *version = currentVersion();
|
||||||
return version ? version->macroExpander() : nullptr;
|
return version ? version->macroExpander() : nullptr;
|
||||||
@@ -344,7 +421,7 @@ QtVersion *QtOptionsPageWidget::currentVersion() const
|
|||||||
|
|
||||||
QtVersionItem *QtOptionsPageWidget::currentItem() const
|
QtVersionItem *QtOptionsPageWidget::currentItem() const
|
||||||
{
|
{
|
||||||
QModelIndex idx = m_ui.qtdirList->selectionModel()->currentIndex();
|
QModelIndex idx = m_qtdirList->selectionModel()->currentIndex();
|
||||||
QModelIndex sourceIdx = m_filterModel->mapToSource(idx);
|
QModelIndex sourceIdx = m_filterModel->mapToSource(idx);
|
||||||
return m_model->itemForIndexAtLevel<2>(sourceIdx);
|
return m_model->itemForIndexAtLevel<2>(sourceIdx);
|
||||||
}
|
}
|
||||||
@@ -393,8 +470,8 @@ void QtOptionsPageWidget::toolChainsUpdated()
|
|||||||
|
|
||||||
void QtOptionsPageWidget::setInfoWidgetVisibility()
|
void QtOptionsPageWidget::setInfoWidgetVisibility()
|
||||||
{
|
{
|
||||||
m_ui.versionInfoWidget->setVisible(m_ui.infoWidget->state() == DetailsWidget::Collapsed);
|
m_versionInfoWidget->setVisible(m_infoWidget->state() == DetailsWidget::Collapsed);
|
||||||
m_ui.infoWidget->setVisible(true);
|
m_infoWidget->setVisible(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
void QtOptionsPageWidget::infoAnchorClicked(const QUrl &url)
|
void QtOptionsPageWidget::infoAnchorClicked(const QUrl &url)
|
||||||
@@ -611,9 +688,9 @@ void QtOptionsPageWidget::addQtDir()
|
|||||||
item->setIcon(version->isValid()? m_validVersionIcon : m_invalidVersionIcon);
|
item->setIcon(version->isValid()? m_validVersionIcon : m_invalidVersionIcon);
|
||||||
m_manualItem->appendChild(item);
|
m_manualItem->appendChild(item);
|
||||||
QModelIndex source = m_model->indexForItem(item);
|
QModelIndex source = m_model->indexForItem(item);
|
||||||
m_ui.qtdirList->setCurrentIndex(m_filterModel->mapFromSource(source)); // should update the rest of the ui
|
m_qtdirList->setCurrentIndex(m_filterModel->mapFromSource(source)); // should update the rest of the ui
|
||||||
m_versionUi.nameEdit->setFocus();
|
m_nameEdit->setFocus();
|
||||||
m_versionUi.nameEdit->selectAll();
|
m_nameEdit->selectAll();
|
||||||
} else {
|
} else {
|
||||||
QMessageBox::warning(this, tr("Qmake Not Executable"),
|
QMessageBox::warning(this, tr("Qmake Not Executable"),
|
||||||
tr("The qmake executable %1 could not be added: %2").arg(qtVersion.toUserOutput()).arg(error));
|
tr("The qmake executable %1 could not be added: %2").arg(qtVersion.toUserOutput()).arg(error));
|
||||||
@@ -684,7 +761,7 @@ void QtOptionsPageWidget::updateCleanUpButton()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
m_ui.cleanUpButton->setEnabled(hasInvalidVersion);
|
m_cleanUpButton->setEnabled(hasInvalidVersion);
|
||||||
}
|
}
|
||||||
|
|
||||||
void QtOptionsPageWidget::userChangedCurrentVersion()
|
void QtOptionsPageWidget::userChangedCurrentVersion()
|
||||||
@@ -699,13 +776,13 @@ void QtOptionsPageWidget::updateDescriptionLabel()
|
|||||||
const QtVersion *version = item ? item->version() : nullptr;
|
const QtVersion *version = item ? item->version() : nullptr;
|
||||||
const ValidityInfo info = validInformation(version);
|
const ValidityInfo info = validInformation(version);
|
||||||
if (info.message.isEmpty()) {
|
if (info.message.isEmpty()) {
|
||||||
m_versionUi.errorLabel->setVisible(false);
|
m_errorLabel->setVisible(false);
|
||||||
} else {
|
} else {
|
||||||
m_versionUi.errorLabel->setVisible(true);
|
m_errorLabel->setVisible(true);
|
||||||
m_versionUi.errorLabel->setText(info.message);
|
m_errorLabel->setText(info.message);
|
||||||
m_versionUi.errorLabel->setToolTip(info.toolTip);
|
m_errorLabel->setToolTip(info.toolTip);
|
||||||
}
|
}
|
||||||
m_ui.infoWidget->setSummaryText(info.description);
|
m_infoWidget->setSummaryText(info.description);
|
||||||
if (item)
|
if (item)
|
||||||
item->setIcon(info.icon);
|
item->setIcon(info.icon);
|
||||||
|
|
||||||
@@ -714,8 +791,8 @@ void QtOptionsPageWidget::updateDescriptionLabel()
|
|||||||
setInfoWidgetVisibility();
|
setInfoWidgetVisibility();
|
||||||
} else {
|
} else {
|
||||||
m_infoBrowser->clear();
|
m_infoBrowser->clear();
|
||||||
m_ui.versionInfoWidget->setVisible(false);
|
m_versionInfoWidget->setVisible(false);
|
||||||
m_ui.infoWidget->setVisible(false);
|
m_infoWidget->setVisible(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -732,25 +809,25 @@ void QtOptionsPageWidget::updateWidgets()
|
|||||||
m_configurationWidget = nullptr;
|
m_configurationWidget = nullptr;
|
||||||
QtVersion *version = currentVersion();
|
QtVersion *version = currentVersion();
|
||||||
if (version) {
|
if (version) {
|
||||||
m_versionUi.nameEdit->setText(version->unexpandedDisplayName());
|
m_nameEdit->setText(version->unexpandedDisplayName());
|
||||||
m_versionUi.qmakePath->setText(version->qmakeFilePath().toUserOutput());
|
m_qmakePath->setText(version->qmakeFilePath().toUserOutput());
|
||||||
m_configurationWidget = version->createConfigurationWidget();
|
m_configurationWidget = version->createConfigurationWidget();
|
||||||
if (m_configurationWidget) {
|
if (m_configurationWidget) {
|
||||||
m_versionUi.formLayout->addRow(m_configurationWidget);
|
m_formLayout->addRow(m_configurationWidget);
|
||||||
m_configurationWidget->setEnabled(!version->isAutodetected());
|
m_configurationWidget->setEnabled(!version->isAutodetected());
|
||||||
connect(m_configurationWidget, &QtConfigWidget::changed,
|
connect(m_configurationWidget, &QtConfigWidget::changed,
|
||||||
this, &QtOptionsPageWidget::updateDescriptionLabel);
|
this, &QtOptionsPageWidget::updateDescriptionLabel);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
m_versionUi.nameEdit->clear();
|
m_nameEdit->clear();
|
||||||
m_versionUi.qmakePath->clear();
|
m_qmakePath->clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
const bool enabled = version != nullptr;
|
const bool enabled = version != nullptr;
|
||||||
const bool isAutodetected = enabled && version->isAutodetected();
|
const bool isAutodetected = enabled && version->isAutodetected();
|
||||||
m_ui.delButton->setEnabled(enabled && !isAutodetected);
|
m_delButton->setEnabled(enabled && !isAutodetected);
|
||||||
m_versionUi.nameEdit->setEnabled(enabled);
|
m_nameEdit->setEnabled(enabled);
|
||||||
m_versionUi.editPathPushButton->setEnabled(enabled && !isAutodetected);
|
m_editPathPushButton->setEnabled(enabled && !isAutodetected);
|
||||||
}
|
}
|
||||||
|
|
||||||
static QString settingsFile(const QString &baseDir)
|
static QString settingsFile(const QString &baseDir)
|
||||||
@@ -822,8 +899,8 @@ void QtOptionsPageWidget::setupLinkWithQtButton()
|
|||||||
{
|
{
|
||||||
QString tip;
|
QString tip;
|
||||||
canLinkWithQt(&tip);
|
canLinkWithQt(&tip);
|
||||||
m_ui.linkWithQtButton->setToolTip(tip);
|
m_linkWithQtButton->setToolTip(tip);
|
||||||
connect(m_ui.linkWithQtButton, &QPushButton::clicked, this, &QtOptionsPage::linkWithQt);
|
connect(m_linkWithQtButton, &QPushButton::clicked, this, &QtOptionsPage::linkWithQt);
|
||||||
}
|
}
|
||||||
|
|
||||||
void QtOptionsPageWidget::updateCurrentQtName()
|
void QtOptionsPageWidget::updateCurrentQtName()
|
||||||
@@ -833,7 +910,7 @@ void QtOptionsPageWidget::updateCurrentQtName()
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
item->setChanged(true);
|
item->setChanged(true);
|
||||||
item->version()->setUnexpandedDisplayName(m_versionUi.nameEdit->text());
|
item->version()->setUnexpandedDisplayName(m_nameEdit->text());
|
||||||
|
|
||||||
updateDescriptionLabel();
|
updateDescriptionLabel();
|
||||||
m_model->forItemsAtLevel<2>([this](QtVersionItem *item) { updateVersionItem(item); });
|
m_model->forItemsAtLevel<2>([this](QtVersionItem *item) { updateVersionItem(item); });
|
||||||
@@ -847,7 +924,7 @@ void QtOptionsPageWidget::apply()
|
|||||||
&QtOptionsPageWidget::updateQtVersions);
|
&QtOptionsPageWidget::updateQtVersions);
|
||||||
|
|
||||||
QtVersionManager::setDocumentationSetting(
|
QtVersionManager::setDocumentationSetting(
|
||||||
QtVersionManager::DocumentationSetting(m_ui.documentationSetting->currentData().toInt()));
|
QtVersionManager::DocumentationSetting(m_documentationSetting->currentData().toInt()));
|
||||||
|
|
||||||
QtVersions versions;
|
QtVersions versions;
|
||||||
m_model->forItemsAtLevel<2>([&versions](QtVersionItem *item) {
|
m_model->forItemsAtLevel<2>([&versions](QtVersionItem *item) {
|
||||||
|
@@ -95,10 +95,8 @@ Project {
|
|||||||
"qttestparser.cpp",
|
"qttestparser.cpp",
|
||||||
"qttestparser.h",
|
"qttestparser.h",
|
||||||
"qtversionfactory.h",
|
"qtversionfactory.h",
|
||||||
"qtversioninfo.ui",
|
|
||||||
"qtversionmanager.cpp",
|
"qtversionmanager.cpp",
|
||||||
"qtversionmanager.h",
|
"qtversionmanager.h",
|
||||||
"qtversionmanager.ui",
|
|
||||||
"translationwizardpage.cpp",
|
"translationwizardpage.cpp",
|
||||||
"translationwizardpage.h",
|
"translationwizardpage.h",
|
||||||
"uicgenerator.cpp",
|
"uicgenerator.cpp",
|
||||||
|
@@ -1,84 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<ui version="4.0">
|
|
||||||
<class>QtSupport::Internal::QtVersionInfo</class>
|
|
||||||
<widget class="QWidget" name="QtSupport::Internal::QtVersionInfo">
|
|
||||||
<property name="geometry">
|
|
||||||
<rect>
|
|
||||||
<x>0</x>
|
|
||||||
<y>0</y>
|
|
||||||
<width>208</width>
|
|
||||||
<height>89</height>
|
|
||||||
</rect>
|
|
||||||
</property>
|
|
||||||
<layout class="QFormLayout" name="formLayout">
|
|
||||||
<property name="fieldGrowthPolicy">
|
|
||||||
<enum>QFormLayout::ExpandingFieldsGrow</enum>
|
|
||||||
</property>
|
|
||||||
<property name="leftMargin">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<property name="topMargin">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<property name="rightMargin">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<property name="bottomMargin">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<item row="0" column="0">
|
|
||||||
<widget class="QLabel" name="versionNameLabel">
|
|
||||||
<property name="text">
|
|
||||||
<string>Name:</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="0" column="1">
|
|
||||||
<widget class="QLineEdit" name="nameEdit"/>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="0">
|
|
||||||
<widget class="QLabel" name="pathLabel">
|
|
||||||
<property name="text">
|
|
||||||
<string>qmake path:</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="1">
|
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
|
||||||
<item>
|
|
||||||
<widget class="QLabel" name="qmakePath">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string/>
|
|
||||||
</property>
|
|
||||||
<property name="textInteractionFlags">
|
|
||||||
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse</set>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QPushButton" name="editPathPushButton">
|
|
||||||
<property name="text">
|
|
||||||
<string>Edit</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</item>
|
|
||||||
<item row="2" column="0" colspan="2">
|
|
||||||
<widget class="QLabel" name="errorLabel">
|
|
||||||
<property name="text">
|
|
||||||
<string/>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
<resources/>
|
|
||||||
<connections/>
|
|
||||||
</ui>
|
|
@@ -1,148 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<ui version="4.0">
|
|
||||||
<class>QtSupport::Internal::QtVersionManager</class>
|
|
||||||
<widget class="QWidget" name="QtSupport::Internal::QtVersionManager">
|
|
||||||
<property name="geometry">
|
|
||||||
<rect>
|
|
||||||
<x>0</x>
|
|
||||||
<y>0</y>
|
|
||||||
<width>446</width>
|
|
||||||
<height>450</height>
|
|
||||||
</rect>
|
|
||||||
</property>
|
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
|
||||||
<item>
|
|
||||||
<layout class="QVBoxLayout" name="verticalLayout">
|
|
||||||
<item>
|
|
||||||
<widget class="QTreeView" name="qtdirList">
|
|
||||||
<property name="uniformRowHeights">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="Utils::DetailsWidget" name="versionInfoWidget" native="true"/>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="Utils::DetailsWidget" name="infoWidget" native="true"/>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout2">
|
|
||||||
<item>
|
|
||||||
<widget class="QLabel" name="label">
|
|
||||||
<property name="text">
|
|
||||||
<string>Register documentation:</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QComboBox" name="documentationSetting"/>
|
|
||||||
</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>
|
|
||||||
</layout>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<layout class="QVBoxLayout">
|
|
||||||
<item>
|
|
||||||
<widget class="QPushButton" name="addButton">
|
|
||||||
<property name="minimumSize">
|
|
||||||
<size>
|
|
||||||
<width>21</width>
|
|
||||||
<height>23</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>Add...</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QPushButton" name="delButton">
|
|
||||||
<property name="minimumSize">
|
|
||||||
<size>
|
|
||||||
<width>21</width>
|
|
||||||
<height>23</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>Remove</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<spacer>
|
|
||||||
<property name="orientation">
|
|
||||||
<enum>Qt::Vertical</enum>
|
|
||||||
</property>
|
|
||||||
<property name="sizeType">
|
|
||||||
<enum>QSizePolicy::Fixed</enum>
|
|
||||||
</property>
|
|
||||||
<property name="sizeHint" stdset="0">
|
|
||||||
<size>
|
|
||||||
<width>10</width>
|
|
||||||
<height>20</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
</spacer>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QPushButton" name="linkWithQtButton">
|
|
||||||
<property name="text">
|
|
||||||
<string>Link with Qt...</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QPushButton" name="cleanUpButton">
|
|
||||||
<property name="text">
|
|
||||||
<string>Clean Up</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<spacer name="spacer_2">
|
|
||||||
<property name="orientation">
|
|
||||||
<enum>Qt::Vertical</enum>
|
|
||||||
</property>
|
|
||||||
<property name="sizeHint" stdset="0">
|
|
||||||
<size>
|
|
||||||
<width>77</width>
|
|
||||||
<height>37</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
</spacer>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
<customwidgets>
|
|
||||||
<customwidget>
|
|
||||||
<class>Utils::DetailsWidget</class>
|
|
||||||
<extends>QWidget</extends>
|
|
||||||
<header location="global">utils/detailswidget.h</header>
|
|
||||||
<container>1</container>
|
|
||||||
</customwidget>
|
|
||||||
</customwidgets>
|
|
||||||
<tabstops>
|
|
||||||
<tabstop>qtdirList</tabstop>
|
|
||||||
<tabstop>addButton</tabstop>
|
|
||||||
<tabstop>delButton</tabstop>
|
|
||||||
</tabstops>
|
|
||||||
<resources/>
|
|
||||||
<connections/>
|
|
||||||
</ui>
|
|
Reference in New Issue
Block a user