forked from qt-creator/qt-creator
Merge remote-tracking branch 'origin/4.8'
Change-Id: I2ebb6de6a5777a5a756e5765bd397323f84971ce
This commit is contained in:
@@ -1525,16 +1525,16 @@ void PluginManagerPrivate::profilingReport(const char *what, const PluginSpec *s
|
|||||||
const int absoluteElapsedMS = m_profileTimer->elapsed();
|
const int absoluteElapsedMS = m_profileTimer->elapsed();
|
||||||
const int elapsedMS = absoluteElapsedMS - m_profileElapsedMS;
|
const int elapsedMS = absoluteElapsedMS - m_profileElapsedMS;
|
||||||
m_profileElapsedMS = absoluteElapsedMS;
|
m_profileElapsedMS = absoluteElapsedMS;
|
||||||
if (spec)
|
|
||||||
m_profileTotal[spec] += elapsedMS;
|
|
||||||
if (spec)
|
if (spec)
|
||||||
qDebug("%-22s %-22s %8dms (%8dms)", what, qPrintable(spec->name()), absoluteElapsedMS, elapsedMS);
|
qDebug("%-22s %-22s %8dms (%8dms)", what, qPrintable(spec->name()), absoluteElapsedMS, elapsedMS);
|
||||||
else
|
else
|
||||||
qDebug("%-45s %8dms (%8dms)", what, absoluteElapsedMS, elapsedMS);
|
qDebug("%-45s %8dms (%8dms)", what, absoluteElapsedMS, elapsedMS);
|
||||||
if (what && *what == '<') {
|
if (what && *what == '<') {
|
||||||
QString tc;
|
QString tc;
|
||||||
if (spec)
|
if (spec) {
|
||||||
|
m_profileTotal[spec] += elapsedMS;
|
||||||
tc = spec->name() + '_';
|
tc = spec->name() + '_';
|
||||||
|
}
|
||||||
tc += QString::fromUtf8(QByteArray(what + 1));
|
tc += QString::fromUtf8(QByteArray(what + 1));
|
||||||
Utils::Benchmarker::report("loadPlugins", tc, elapsedMS);
|
Utils::Benchmarker::report("loadPlugins", tc, elapsedMS);
|
||||||
}
|
}
|
||||||
|
@@ -655,6 +655,7 @@ QString PathChooser::promptDialogTitle() const
|
|||||||
void PathChooser::setPromptDialogFilter(const QString &filter)
|
void PathChooser::setPromptDialogFilter(const QString &filter)
|
||||||
{
|
{
|
||||||
d->m_dialogFilter = filter;
|
d->m_dialogFilter = filter;
|
||||||
|
d->m_lineEdit->validate();
|
||||||
}
|
}
|
||||||
|
|
||||||
QString PathChooser::promptDialogFilter() const
|
QString PathChooser::promptDialogFilter() const
|
||||||
|
@@ -54,7 +54,8 @@ QStringList filterInterfering(const QStringList &provided, QStringList *omitted)
|
|||||||
"--gtest_stream_result_to=",
|
"--gtest_stream_result_to=",
|
||||||
"--gtest_break_on_failure",
|
"--gtest_break_on_failure",
|
||||||
"--gtest_throw_on_failure",
|
"--gtest_throw_on_failure",
|
||||||
"--gtest_color="
|
"--gtest_color=",
|
||||||
|
"--gtest_print_time="
|
||||||
};
|
};
|
||||||
|
|
||||||
QSet<QString> allowed = Utils::filtered(provided.toSet(), [] (const QString &arg) {
|
QSet<QString> allowed = Utils::filtered(provided.toSet(), [] (const QString &arg) {
|
||||||
|
@@ -69,9 +69,9 @@ static QIcon testResultIcon(Result::Type result) {
|
|||||||
case Result::MessageTestCaseFail:
|
case Result::MessageTestCaseFail:
|
||||||
return icons[Result::Fail];
|
return icons[Result::Fail];
|
||||||
case Result::MessageTestCaseSuccessWarn:
|
case Result::MessageTestCaseSuccessWarn:
|
||||||
return icons[13];
|
|
||||||
case Result::MessageTestCaseFailWarn:
|
|
||||||
return icons[14];
|
return icons[14];
|
||||||
|
case Result::MessageTestCaseFailWarn:
|
||||||
|
return icons[15];
|
||||||
default:
|
default:
|
||||||
return QIcon();
|
return QIcon();
|
||||||
}
|
}
|
||||||
|
@@ -87,17 +87,19 @@ void CppcheckRunner::addToQueue(const Utils::FileNameList &files,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (m_isRunning) {
|
if (m_isRunning) {
|
||||||
if (existing == m_currentFiles)
|
stop(existing);
|
||||||
m_process->kill(); // Further processing in handleFinished
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
m_queueTimer.start();
|
m_queueTimer.start();
|
||||||
}
|
}
|
||||||
|
|
||||||
void CppcheckRunner::stop()
|
void CppcheckRunner::stop(const Utils::FileNameList &files)
|
||||||
{
|
{
|
||||||
if (m_isRunning)
|
if (!m_isRunning)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (files.isEmpty() || m_currentFiles == files)
|
||||||
m_process->kill();
|
m_process->kill();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -51,7 +51,7 @@ public:
|
|||||||
void addToQueue(const Utils::FileNameList &files,
|
void addToQueue(const Utils::FileNameList &files,
|
||||||
const QString &additionalArguments = {});
|
const QString &additionalArguments = {});
|
||||||
void removeFromQueue(const Utils::FileNameList &files);
|
void removeFromQueue(const Utils::FileNameList &files);
|
||||||
void stop();
|
void stop(const Utils::FileNameList &files = {});
|
||||||
|
|
||||||
const Utils::FileNameList ¤tFiles() const;
|
const Utils::FileNameList ¤tFiles() const;
|
||||||
QString currentCommand() const;
|
QString currentCommand() const;
|
||||||
|
@@ -47,7 +47,7 @@ namespace Internal {
|
|||||||
|
|
||||||
CppcheckTool::CppcheckTool(CppcheckTextMarkManager &marks) :
|
CppcheckTool::CppcheckTool(CppcheckTextMarkManager &marks) :
|
||||||
m_marks(marks),
|
m_marks(marks),
|
||||||
m_progressRegexp("^.* checked (\\d)% done$"),
|
m_progressRegexp("^.* checked (\\d+)% done$"),
|
||||||
m_messageRegexp("^(.+),(\\d+),(\\w+),(\\w+),(.*)$")
|
m_messageRegexp("^(.+),(\\d+),(\\w+),(\\w+),(.*)$")
|
||||||
{
|
{
|
||||||
m_runner = std::make_unique<CppcheckRunner>(*this);
|
m_runner = std::make_unique<CppcheckRunner>(*this);
|
||||||
@@ -229,7 +229,7 @@ void CppcheckTool::addToQueue(const Utils::FileNameList &files, CppTools::Projec
|
|||||||
void CppcheckTool::stop(const Utils::FileNameList &files)
|
void CppcheckTool::stop(const Utils::FileNameList &files)
|
||||||
{
|
{
|
||||||
m_runner->removeFromQueue(files);
|
m_runner->removeFromQueue(files);
|
||||||
m_runner->stop();
|
m_runner->stop(files);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CppcheckTool::startParsing()
|
void CppcheckTool::startParsing()
|
||||||
|
@@ -67,7 +67,6 @@ BranchView::BranchView() :
|
|||||||
m_model(new BranchModel(GitPlugin::client(), this))
|
m_model(new BranchModel(GitPlugin::client(), this))
|
||||||
{
|
{
|
||||||
m_addButton->setIcon(Utils::Icons::PLUS_TOOLBAR.icon());
|
m_addButton->setIcon(Utils::Icons::PLUS_TOOLBAR.icon());
|
||||||
m_addButton->setToolTip(tr("Add Branch"));
|
|
||||||
m_addButton->setProperty("noArrow", true);
|
m_addButton->setProperty("noArrow", true);
|
||||||
connect(m_addButton, &QToolButton::clicked, this, &BranchView::add);
|
connect(m_addButton, &QToolButton::clicked, this, &BranchView::add);
|
||||||
|
|
||||||
@@ -126,10 +125,12 @@ void BranchView::refresh(const QString &repository, bool force)
|
|||||||
m_repository = repository;
|
m_repository = repository;
|
||||||
if (m_repository.isEmpty()) {
|
if (m_repository.isEmpty()) {
|
||||||
m_repositoryLabel->setText(tr("<No repository>"));
|
m_repositoryLabel->setText(tr("<No repository>"));
|
||||||
|
m_addButton->setToolTip(tr("Create Git Repository..."));
|
||||||
m_branchView->setEnabled(false);
|
m_branchView->setEnabled(false);
|
||||||
} else {
|
} else {
|
||||||
m_repositoryLabel->setText(QDir::toNativeSeparators(m_repository));
|
m_repositoryLabel->setText(QDir::toNativeSeparators(m_repository));
|
||||||
m_repositoryLabel->setToolTip(GitPlugin::msgRepositoryLabel(m_repository));
|
m_repositoryLabel->setToolTip(GitPlugin::msgRepositoryLabel(m_repository));
|
||||||
|
m_addButton->setToolTip(tr("Add Branch..."));
|
||||||
m_branchView->setEnabled(true);
|
m_branchView->setEnabled(true);
|
||||||
}
|
}
|
||||||
QString errorMessage;
|
QString errorMessage;
|
||||||
@@ -180,6 +181,9 @@ void BranchView::slotCustomContextMenu(const QPoint &point)
|
|||||||
contextMenu.addAction(tr("Fetch"), this, [this, &remote]() {
|
contextMenu.addAction(tr("Fetch"), this, [this, &remote]() {
|
||||||
GitPlugin::client()->fetch(m_repository, *remote);
|
GitPlugin::client()->fetch(m_repository, *remote);
|
||||||
});
|
});
|
||||||
|
contextMenu.addSeparator();
|
||||||
|
contextMenu.addAction(tr("Manage Remotes..."), GitPlugin::instance(),
|
||||||
|
&GitPlugin::manageRemotes);
|
||||||
}
|
}
|
||||||
if (hasActions) {
|
if (hasActions) {
|
||||||
if (!currentSelected && (isLocal || isTag))
|
if (!currentSelected && (isLocal || isTag))
|
||||||
@@ -249,6 +253,11 @@ QModelIndex BranchView::selectedIndex()
|
|||||||
|
|
||||||
bool BranchView::add()
|
bool BranchView::add()
|
||||||
{
|
{
|
||||||
|
if (m_repository.isEmpty()) {
|
||||||
|
GitPlugin::instance()->initRepository();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
QModelIndex trackedIndex = selectedIndex();
|
QModelIndex trackedIndex = selectedIndex();
|
||||||
QString trackedBranch = m_model->fullName(trackedIndex);
|
QString trackedBranch = m_model->fullName(trackedIndex);
|
||||||
if (trackedBranch.isEmpty()) {
|
if (trackedBranch.isEmpty()) {
|
||||||
|
@@ -1564,10 +1564,11 @@ bool GitClient::synchronousRevParseCmd(const QString &workingDirectory, const QS
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Retrieve head revision
|
// Retrieve head revision
|
||||||
QString GitClient::synchronousTopRevision(const QString &workingDirectory, QString *errorMessageIn)
|
QString GitClient::synchronousTopRevision(const QString &workingDirectory)
|
||||||
{
|
{
|
||||||
QString revision;
|
QString revision;
|
||||||
if (!synchronousRevParseCmd(workingDirectory, HEAD, &revision, errorMessageIn))
|
QString errorMessage;
|
||||||
|
if (!synchronousRevParseCmd(workingDirectory, HEAD, &revision, &errorMessage))
|
||||||
return QString();
|
return QString();
|
||||||
|
|
||||||
return revision;
|
return revision;
|
||||||
|
@@ -235,7 +235,7 @@ public:
|
|||||||
QString synchronousTopic(const QString &workingDirectory) const;
|
QString synchronousTopic(const QString &workingDirectory) const;
|
||||||
bool synchronousRevParseCmd(const QString &workingDirectory, const QString &ref,
|
bool synchronousRevParseCmd(const QString &workingDirectory, const QString &ref,
|
||||||
QString *output, QString *errorMessage = nullptr) const;
|
QString *output, QString *errorMessage = nullptr) const;
|
||||||
QString synchronousTopRevision(const QString &workingDirectory, QString *errorMessage = nullptr);
|
QString synchronousTopRevision(const QString &workingDirectory);
|
||||||
void synchronousTagsForCommit(const QString &workingDirectory, const QString &revision,
|
void synchronousTagsForCommit(const QString &workingDirectory, const QString &revision,
|
||||||
QString &precedes, QString &follows) const;
|
QString &precedes, QString &follows) const;
|
||||||
bool isRemoteCommit(const QString &workingDirectory, const QString &commit);
|
bool isRemoteCommit(const QString &workingDirectory, const QString &commit);
|
||||||
|
@@ -573,7 +573,7 @@ bool GitPlugin::initialize(const QStringList &arguments, QString *errorMessage)
|
|||||||
remoteRepositoryMenu->addSeparator(context);
|
remoteRepositoryMenu->addSeparator(context);
|
||||||
|
|
||||||
createRepositoryAction(remoteRepositoryMenu, tr("Manage Remotes..."), "Git.RemoteList",
|
createRepositoryAction(remoteRepositoryMenu, tr("Manage Remotes..."), "Git.RemoteList",
|
||||||
context, false, std::bind(&GitPlugin::remoteList, this));
|
context, false, std::bind(&GitPlugin::manageRemotes, this));
|
||||||
|
|
||||||
/* \"Remote Repository" menu */
|
/* \"Remote Repository" menu */
|
||||||
|
|
||||||
@@ -1314,11 +1314,16 @@ void GitPlugin::branchList()
|
|||||||
NavigationWidget::activateSubWidget(Constants::GIT_BRANCH_VIEW_ID, Side::Right);
|
NavigationWidget::activateSubWidget(Constants::GIT_BRANCH_VIEW_ID, Side::Right);
|
||||||
}
|
}
|
||||||
|
|
||||||
void GitPlugin::remoteList()
|
void GitPlugin::manageRemotes()
|
||||||
{
|
{
|
||||||
showNonModalDialog(currentState().topLevel(), m_remoteDialog);
|
showNonModalDialog(currentState().topLevel(), m_remoteDialog);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void GitPlugin::initRepository()
|
||||||
|
{
|
||||||
|
createRepository();
|
||||||
|
}
|
||||||
|
|
||||||
void GitPlugin::stashList()
|
void GitPlugin::stashList()
|
||||||
{
|
{
|
||||||
showNonModalDialog(currentState().topLevel(), m_stashDialog);
|
showNonModalDialog(currentState().topLevel(), m_stashDialog);
|
||||||
|
@@ -92,6 +92,8 @@ public:
|
|||||||
|
|
||||||
QObject *remoteCommand(const QStringList &options, const QString &workingDirectory,
|
QObject *remoteCommand(const QStringList &options, const QString &workingDirectory,
|
||||||
const QStringList &args) override;
|
const QStringList &args) override;
|
||||||
|
void manageRemotes();
|
||||||
|
void initRepository();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void updateActions(VcsBase::VcsBasePlugin::ActionState) override;
|
void updateActions(VcsBase::VcsBasePlugin::ActionState) override;
|
||||||
@@ -135,7 +137,6 @@ private:
|
|||||||
void stashSnapshot();
|
void stashSnapshot();
|
||||||
void stashPop();
|
void stashPop();
|
||||||
void branchList();
|
void branchList();
|
||||||
void remoteList();
|
|
||||||
void stashList();
|
void stashList();
|
||||||
void fetch();
|
void fetch();
|
||||||
void pull();
|
void pull();
|
||||||
|
@@ -78,8 +78,11 @@ Core::Id GitVersionControl::id() const
|
|||||||
|
|
||||||
bool GitVersionControl::isVcsFileOrDirectory(const Utils::FileName &fileName) const
|
bool GitVersionControl::isVcsFileOrDirectory(const Utils::FileName &fileName) const
|
||||||
{
|
{
|
||||||
return fileName.toFileInfo().isDir()
|
if (fileName.fileName().compare(".git", Utils::HostOsInfo::fileNameCaseSensitivity()))
|
||||||
&& !fileName.fileName().compare(".git", Utils::HostOsInfo::fileNameCaseSensitivity());
|
return false;
|
||||||
|
if (fileName.toFileInfo().isDir())
|
||||||
|
return true;
|
||||||
|
return QFile(fileName.toString()).readLine().startsWith("gitdir: ");
|
||||||
}
|
}
|
||||||
|
|
||||||
bool GitVersionControl::isConfigured() const
|
bool GitVersionControl::isConfigured() const
|
||||||
|
@@ -76,7 +76,7 @@ public:
|
|||||||
|
|
||||||
static void aboutToShutdown();
|
static void aboutToShutdown();
|
||||||
|
|
||||||
void handleHelpRequest(
|
Q_INVOKABLE void handleHelpRequest(
|
||||||
const QUrl &url,
|
const QUrl &url,
|
||||||
Core::HelpManager::HelpViewerLocation location = Core::HelpManager::HelpModeAlways) override;
|
Core::HelpManager::HelpViewerLocation location = Core::HelpManager::HelpModeAlways) override;
|
||||||
|
|
||||||
|
@@ -1707,9 +1707,11 @@ void ProjectExplorerPlugin::extensionsInitialized()
|
|||||||
BuildManager::extensionsInitialized();
|
BuildManager::extensionsInitialized();
|
||||||
|
|
||||||
DeviceManager::instance()->addDevice(IDevice::Ptr(new DesktopDevice));
|
DeviceManager::instance()->addDevice(IDevice::Ptr(new DesktopDevice));
|
||||||
|
// delay restoring kits until UI is shown for improved perceived startup performance
|
||||||
|
QTimer::singleShot(0, this, &ProjectExplorerPlugin::restoreKits);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ProjectExplorerPlugin::delayedInitialize()
|
void ProjectExplorerPlugin::restoreKits()
|
||||||
{
|
{
|
||||||
dd->determineSessionToRestoreAtStartup();
|
dd->determineSessionToRestoreAtStartup();
|
||||||
ExtraAbi::load(); // Load this before Toolchains!
|
ExtraAbi::load(); // Load this before Toolchains!
|
||||||
@@ -1717,7 +1719,6 @@ bool ProjectExplorerPlugin::delayedInitialize()
|
|||||||
ToolChainManager::restoreToolChains();
|
ToolChainManager::restoreToolChains();
|
||||||
dd->m_kitManager->restoreKits();
|
dd->m_kitManager->restoreKits();
|
||||||
QTimer::singleShot(0, dd, &ProjectExplorerPluginPrivate::restoreSession); // delay a bit...
|
QTimer::singleShot(0, dd, &ProjectExplorerPluginPrivate::restoreSession); // delay a bit...
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void ProjectExplorerPluginPrivate::updateRunWithoutDeployMenu()
|
void ProjectExplorerPluginPrivate::updateRunWithoutDeployMenu()
|
||||||
|
@@ -123,7 +123,7 @@ public:
|
|||||||
//PluginInterface
|
//PluginInterface
|
||||||
bool initialize(const QStringList &arguments, QString *errorMessage) override;
|
bool initialize(const QStringList &arguments, QString *errorMessage) override;
|
||||||
void extensionsInitialized() override;
|
void extensionsInitialized() override;
|
||||||
bool delayedInitialize() override;
|
void restoreKits();
|
||||||
ShutdownFlag aboutToShutdown() override;
|
ShutdownFlag aboutToShutdown() override;
|
||||||
|
|
||||||
static void setProjectExplorerSettings(const Internal::ProjectExplorerSettings &pes);
|
static void setProjectExplorerSettings(const Internal::ProjectExplorerSettings &pes);
|
||||||
|
@@ -43,6 +43,16 @@ using namespace ProjectExplorer;
|
|||||||
using namespace QmakeProjectManager;
|
using namespace QmakeProjectManager;
|
||||||
using namespace QmakeProjectManager::Internal;
|
using namespace QmakeProjectManager::Internal;
|
||||||
|
|
||||||
|
static void fillLibraryPlatformTypes(QComboBox *comboBox)
|
||||||
|
{
|
||||||
|
comboBox->clear();
|
||||||
|
comboBox->addItem("Windows (*.lib lib*.a)", int(Utils::OsTypeWindows));
|
||||||
|
comboBox->addItem("Linux (lib*.so lib*.a)", int(Utils::OsTypeLinux));
|
||||||
|
comboBox->addItem("macOS (*.dylib *.a *.framework)", int(Utils::OsTypeMac));
|
||||||
|
const int currentIndex = comboBox->findData(int(Utils::HostOsInfo::hostOs()));
|
||||||
|
comboBox->setCurrentIndex(std::max(0, currentIndex));
|
||||||
|
}
|
||||||
|
|
||||||
LibraryDetailsController::LibraryDetailsController(
|
LibraryDetailsController::LibraryDetailsController(
|
||||||
Ui::LibraryDetailsWidget *libraryDetails,
|
Ui::LibraryDetailsWidget *libraryDetails,
|
||||||
const QString &proFile, QObject *parent) :
|
const QString &proFile, QObject *parent) :
|
||||||
@@ -73,6 +83,8 @@ LibraryDetailsController::LibraryDetailsController(
|
|||||||
this, &LibraryDetailsController::slotPlatformChanged);
|
this, &LibraryDetailsController::slotPlatformChanged);
|
||||||
connect(m_libraryDetailsWidget->winCheckBox, &QAbstractButton::clicked,
|
connect(m_libraryDetailsWidget->winCheckBox, &QAbstractButton::clicked,
|
||||||
this, &LibraryDetailsController::slotPlatformChanged);
|
this, &LibraryDetailsController::slotPlatformChanged);
|
||||||
|
|
||||||
|
fillLibraryPlatformTypes(m_libraryDetailsWidget->libraryTypeComboBox);
|
||||||
}
|
}
|
||||||
|
|
||||||
Ui::LibraryDetailsWidget *LibraryDetailsController::libraryDetailsWidget() const
|
Ui::LibraryDetailsWidget *LibraryDetailsController::libraryDetailsWidget() const
|
||||||
@@ -95,6 +107,16 @@ AddLibraryWizard::MacLibraryType LibraryDetailsController::macLibraryType() cons
|
|||||||
return m_macLibraryType;
|
return m_macLibraryType;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Utils::OsType LibraryDetailsController::libraryPlatformType() const
|
||||||
|
{
|
||||||
|
return Utils::OsType(m_libraryDetailsWidget->libraryTypeComboBox->currentData().value<int>());
|
||||||
|
}
|
||||||
|
|
||||||
|
QString LibraryDetailsController::libraryPlatformFilter() const
|
||||||
|
{
|
||||||
|
return m_libraryDetailsWidget->libraryTypeComboBox->currentText();
|
||||||
|
}
|
||||||
|
|
||||||
void LibraryDetailsController::updateGui()
|
void LibraryDetailsController::updateGui()
|
||||||
{
|
{
|
||||||
// read values from gui
|
// read values from gui
|
||||||
@@ -249,6 +271,8 @@ void LibraryDetailsController::setMacLibraryGroupVisible(bool ena)
|
|||||||
|
|
||||||
void LibraryDetailsController::setLibraryPathChooserVisible(bool ena)
|
void LibraryDetailsController::setLibraryPathChooserVisible(bool ena)
|
||||||
{
|
{
|
||||||
|
libraryDetailsWidget()->libraryTypeComboBox->setVisible(ena);
|
||||||
|
libraryDetailsWidget()->libraryTypeLabel->setVisible(ena);
|
||||||
libraryDetailsWidget()->libraryPathChooser->setVisible(ena);
|
libraryDetailsWidget()->libraryPathChooser->setVisible(ena);
|
||||||
libraryDetailsWidget()->libraryFileLabel->setVisible(ena);
|
libraryDetailsWidget()->libraryFileLabel->setVisible(ena);
|
||||||
}
|
}
|
||||||
@@ -578,29 +602,6 @@ NonInternalLibraryDetailsController::NonInternalLibraryDetailsController(
|
|||||||
setLibraryComboBoxVisible(false);
|
setLibraryComboBoxVisible(false);
|
||||||
setLibraryPathChooserVisible(true);
|
setLibraryPathChooserVisible(true);
|
||||||
|
|
||||||
if (Utils::HostOsInfo::isWindowsHost()) {
|
|
||||||
libraryDetailsWidget()->libraryPathChooser->setPromptDialogFilter(
|
|
||||||
QLatin1String("Library file (*.lib lib*.a)"));
|
|
||||||
setLinkageRadiosVisible(true);
|
|
||||||
setRemoveSuffixVisible(true);
|
|
||||||
} else {
|
|
||||||
setLinkageRadiosVisible(false);
|
|
||||||
setRemoveSuffixVisible(false);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (Utils::HostOsInfo::isLinuxHost())
|
|
||||||
libraryDetailsWidget()->libraryPathChooser->setPromptDialogFilter(
|
|
||||||
QLatin1String("Library file (lib*.so lib*.a)"));
|
|
||||||
|
|
||||||
if (Utils::HostOsInfo::isMacHost()) {
|
|
||||||
libraryDetailsWidget()->libraryPathChooser->setPromptDialogFilter(
|
|
||||||
QLatin1String("Library file (*.dylib *.a *.framework)"));
|
|
||||||
// QLatin1String("Library file (lib*.dylib lib*.a *.framework)"));
|
|
||||||
libraryDetailsWidget()->libraryPathChooser->setExpectedKind(Utils::PathChooser::Any);
|
|
||||||
} else {
|
|
||||||
libraryDetailsWidget()->libraryPathChooser->setExpectedKind(Utils::PathChooser::File);
|
|
||||||
}
|
|
||||||
|
|
||||||
connect(libraryDetailsWidget()->libraryPathChooser, &Utils::PathChooser::validChanged,
|
connect(libraryDetailsWidget()->libraryPathChooser, &Utils::PathChooser::validChanged,
|
||||||
this, &LibraryDetailsController::completeChanged);
|
this, &LibraryDetailsController::completeChanged);
|
||||||
connect(libraryDetailsWidget()->libraryPathChooser, &Utils::PathChooser::rawPathChanged,
|
connect(libraryDetailsWidget()->libraryPathChooser, &Utils::PathChooser::rawPathChanged,
|
||||||
@@ -611,12 +612,15 @@ NonInternalLibraryDetailsController::NonInternalLibraryDetailsController(
|
|||||||
this, &NonInternalLibraryDetailsController::slotLinkageTypeChanged);
|
this, &NonInternalLibraryDetailsController::slotLinkageTypeChanged);
|
||||||
connect(libraryDetailsWidget()->staticRadio, &QAbstractButton::clicked,
|
connect(libraryDetailsWidget()->staticRadio, &QAbstractButton::clicked,
|
||||||
this, &NonInternalLibraryDetailsController::slotLinkageTypeChanged);
|
this, &NonInternalLibraryDetailsController::slotLinkageTypeChanged);
|
||||||
|
connect(libraryDetailsWidget()->libraryTypeComboBox, &QComboBox::currentTextChanged,
|
||||||
|
this, &NonInternalLibraryDetailsController::slotLibraryTypeChanged);
|
||||||
|
slotLibraryTypeChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
AddLibraryWizard::LinkageType NonInternalLibraryDetailsController::suggestedLinkageType() const
|
AddLibraryWizard::LinkageType NonInternalLibraryDetailsController::suggestedLinkageType() const
|
||||||
{
|
{
|
||||||
AddLibraryWizard::LinkageType type = AddLibraryWizard::NoLinkage;
|
AddLibraryWizard::LinkageType type = AddLibraryWizard::NoLinkage;
|
||||||
if (!Utils::HostOsInfo::isWindowsHost()) {
|
if (libraryPlatformType() != Utils::OsTypeWindows) {
|
||||||
if (libraryDetailsWidget()->libraryPathChooser->isValid()) {
|
if (libraryDetailsWidget()->libraryPathChooser->isValid()) {
|
||||||
QFileInfo fi(libraryDetailsWidget()->libraryPathChooser->path());
|
QFileInfo fi(libraryDetailsWidget()->libraryPathChooser->path());
|
||||||
if (fi.suffix() == QLatin1String("a"))
|
if (fi.suffix() == QLatin1String("a"))
|
||||||
@@ -631,7 +635,7 @@ AddLibraryWizard::LinkageType NonInternalLibraryDetailsController::suggestedLink
|
|||||||
AddLibraryWizard::MacLibraryType NonInternalLibraryDetailsController::suggestedMacLibraryType() const
|
AddLibraryWizard::MacLibraryType NonInternalLibraryDetailsController::suggestedMacLibraryType() const
|
||||||
{
|
{
|
||||||
AddLibraryWizard::MacLibraryType type = AddLibraryWizard::NoLibraryType;
|
AddLibraryWizard::MacLibraryType type = AddLibraryWizard::NoLibraryType;
|
||||||
if (Utils::HostOsInfo::isMacHost()) {
|
if (libraryPlatformType() == Utils::OsTypeMac) {
|
||||||
if (libraryDetailsWidget()->libraryPathChooser->isValid()) {
|
if (libraryDetailsWidget()->libraryPathChooser->isValid()) {
|
||||||
QFileInfo fi(libraryDetailsWidget()->libraryPathChooser->path());
|
QFileInfo fi(libraryDetailsWidget()->libraryPathChooser->path());
|
||||||
if (fi.suffix() == QLatin1String("framework"))
|
if (fi.suffix() == QLatin1String("framework"))
|
||||||
@@ -665,7 +669,7 @@ QString NonInternalLibraryDetailsController::suggestedIncludePath() const
|
|||||||
void NonInternalLibraryDetailsController::updateWindowsOptionsEnablement()
|
void NonInternalLibraryDetailsController::updateWindowsOptionsEnablement()
|
||||||
{
|
{
|
||||||
bool ena = platforms() & (AddLibraryWizard::WindowsMinGWPlatform | AddLibraryWizard::WindowsMSVCPlatform);
|
bool ena = platforms() & (AddLibraryWizard::WindowsMinGWPlatform | AddLibraryWizard::WindowsMSVCPlatform);
|
||||||
if (Utils::HostOsInfo::isWindowsHost()) {
|
if (libraryPlatformType() == Utils::OsTypeWindows) {
|
||||||
libraryDetailsWidget()->addSuffixCheckBox->setEnabled(ena);
|
libraryDetailsWidget()->addSuffixCheckBox->setEnabled(ena);
|
||||||
ena = true;
|
ena = true;
|
||||||
}
|
}
|
||||||
@@ -695,9 +699,26 @@ void NonInternalLibraryDetailsController::slotRemoveSuffixChanged(bool ena)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void NonInternalLibraryDetailsController::slotLibraryTypeChanged()
|
||||||
|
{
|
||||||
|
libraryDetailsWidget()->libraryPathChooser->setPromptDialogFilter(libraryPlatformFilter());
|
||||||
|
const bool isMacOs = libraryPlatformType() == Utils::OsTypeMac;
|
||||||
|
const bool isWindows = libraryPlatformType() == Utils::OsTypeWindows;
|
||||||
|
libraryDetailsWidget()->libraryPathChooser->setExpectedKind(isMacOs ? Utils::PathChooser::Any
|
||||||
|
: Utils::PathChooser::File);
|
||||||
|
setMacLibraryRadiosVisible(!isMacOs);
|
||||||
|
setLinkageRadiosVisible(isWindows);
|
||||||
|
setRemoveSuffixVisible(isWindows);
|
||||||
|
|
||||||
|
updateWindowsOptionsEnablement();
|
||||||
|
slotLibraryPathChanged();
|
||||||
|
slotLinkageTypeChanged();
|
||||||
|
libraryDetailsWidget()->detailsLayout->parentWidget()->window()->adjustSize();
|
||||||
|
}
|
||||||
|
|
||||||
void NonInternalLibraryDetailsController::slotLibraryPathChanged()
|
void NonInternalLibraryDetailsController::slotLibraryPathChanged()
|
||||||
{
|
{
|
||||||
if (Utils::HostOsInfo::isWindowsHost()) {
|
if (libraryPlatformType() == Utils::OsTypeWindows) {
|
||||||
bool subfoldersEnabled = true;
|
bool subfoldersEnabled = true;
|
||||||
bool removeSuffixEnabled = true;
|
bool removeSuffixEnabled = true;
|
||||||
if (libraryDetailsWidget()->libraryPathChooser->isValid()) {
|
if (libraryDetailsWidget()->libraryPathChooser->isValid()) {
|
||||||
@@ -739,13 +760,13 @@ QString NonInternalLibraryDetailsController::snippet() const
|
|||||||
QString libName;
|
QString libName;
|
||||||
const bool removeSuffix = isWindowsGroupVisible()
|
const bool removeSuffix = isWindowsGroupVisible()
|
||||||
&& libraryDetailsWidget()->removeSuffixCheckBox->isChecked();
|
&& libraryDetailsWidget()->removeSuffixCheckBox->isChecked();
|
||||||
if (Utils::HostOsInfo::isWindowsHost()) {
|
if (libraryPlatformType() == Utils::OsTypeWindows) {
|
||||||
libName = fi.completeBaseName();
|
libName = fi.completeBaseName();
|
||||||
if (removeSuffix && !libName.isEmpty()) // remove last letter which needs to be "d"
|
if (removeSuffix && !libName.isEmpty()) // remove last letter which needs to be "d"
|
||||||
libName = libName.left(libName.size() - 1);
|
libName = libName.left(libName.size() - 1);
|
||||||
if (fi.completeSuffix() == QLatin1String("a")) // the mingw lib case
|
if (fi.completeSuffix() == QLatin1String("a")) // the mingw lib case
|
||||||
libName = libName.mid(3); // cut the "lib" prefix
|
libName = libName.mid(3); // cut the "lib" prefix
|
||||||
} else if (Utils::HostOsInfo::isMacHost()) {
|
} else if (libraryPlatformType() == Utils::OsTypeMac) {
|
||||||
if (macLibraryType() == AddLibraryWizard::FrameworkType)
|
if (macLibraryType() == AddLibraryWizard::FrameworkType)
|
||||||
libName = fi.completeBaseName();
|
libName = fi.completeBaseName();
|
||||||
else
|
else
|
||||||
@@ -759,7 +780,7 @@ QString NonInternalLibraryDetailsController::snippet() const
|
|||||||
if (isWindowsGroupVisible()) {
|
if (isWindowsGroupVisible()) {
|
||||||
// when we are on Win but we don't generate the code for Win
|
// when we are on Win but we don't generate the code for Win
|
||||||
// we still need to remove "debug" or "release" subfolder
|
// we still need to remove "debug" or "release" subfolder
|
||||||
const bool useSubfoldersCondition = (Utils::HostOsInfo::isWindowsHost())
|
const bool useSubfoldersCondition = (libraryPlatformType() == Utils::OsTypeWindows)
|
||||||
? true : platforms() & (AddLibraryWizard::WindowsMinGWPlatform
|
? true : platforms() & (AddLibraryWizard::WindowsMinGWPlatform
|
||||||
| AddLibraryWizard::WindowsMSVCPlatform);
|
| AddLibraryWizard::WindowsMSVCPlatform);
|
||||||
if (useSubfoldersCondition)
|
if (useSubfoldersCondition)
|
||||||
@@ -774,7 +795,7 @@ QString NonInternalLibraryDetailsController::snippet() const
|
|||||||
QFileInfo pfi(proFile());
|
QFileInfo pfi(proFile());
|
||||||
QDir pdir = pfi.absoluteDir();
|
QDir pdir = pfi.absoluteDir();
|
||||||
QString absoluteLibraryPath = fi.absolutePath();
|
QString absoluteLibraryPath = fi.absolutePath();
|
||||||
if (Utils::HostOsInfo::isWindowsHost() && useSubfolders) { // drop last subfolder which needs to be "debug" or "release"
|
if (libraryPlatformType() == Utils::OsTypeWindows && useSubfolders) { // drop last subfolder which needs to be "debug" or "release"
|
||||||
QFileInfo libfi(absoluteLibraryPath);
|
QFileInfo libfi(absoluteLibraryPath);
|
||||||
absoluteLibraryPath = libfi.absolutePath();
|
absoluteLibraryPath = libfi.absolutePath();
|
||||||
}
|
}
|
||||||
@@ -889,12 +910,10 @@ void ExternalLibraryDetailsController::updateWindowsOptionsEnablement()
|
|||||||
{
|
{
|
||||||
NonInternalLibraryDetailsController::updateWindowsOptionsEnablement();
|
NonInternalLibraryDetailsController::updateWindowsOptionsEnablement();
|
||||||
|
|
||||||
if (!Utils::HostOsInfo::isWindowsHost())
|
|
||||||
return;
|
|
||||||
|
|
||||||
bool subfoldersEnabled = true;
|
bool subfoldersEnabled = true;
|
||||||
bool removeSuffixEnabled = true;
|
bool removeSuffixEnabled = true;
|
||||||
if (libraryDetailsWidget()->libraryPathChooser->isValid()) {
|
if (libraryPlatformType() == Utils::OsTypeWindows
|
||||||
|
&& libraryDetailsWidget()->libraryPathChooser->isValid()) {
|
||||||
QFileInfo fi(libraryDetailsWidget()->libraryPathChooser->path());
|
QFileInfo fi(libraryDetailsWidget()->libraryPathChooser->path());
|
||||||
QFileInfo dfi(fi.absolutePath());
|
QFileInfo dfi(fi.absolutePath());
|
||||||
const QString parentFolderName = dfi.fileName().toLower();
|
const QString parentFolderName = dfi.fileName().toLower();
|
||||||
@@ -905,7 +924,6 @@ void ExternalLibraryDetailsController::updateWindowsOptionsEnablement()
|
|||||||
|
|
||||||
if (baseName.isEmpty() || baseName.at(baseName.size() - 1).toLower() != QLatin1Char('d'))
|
if (baseName.isEmpty() || baseName.at(baseName.size() - 1).toLower() != QLatin1Char('d'))
|
||||||
removeSuffixEnabled = false;
|
removeSuffixEnabled = false;
|
||||||
|
|
||||||
}
|
}
|
||||||
libraryDetailsWidget()->useSubfoldersCheckBox->setEnabled(subfoldersEnabled);
|
libraryDetailsWidget()->useSubfoldersCheckBox->setEnabled(subfoldersEnabled);
|
||||||
libraryDetailsWidget()->removeSuffixCheckBox->setEnabled(removeSuffixEnabled);
|
libraryDetailsWidget()->removeSuffixCheckBox->setEnabled(removeSuffixEnabled);
|
||||||
|
@@ -52,6 +52,8 @@ protected:
|
|||||||
AddLibraryWizard::Platforms platforms() const;
|
AddLibraryWizard::Platforms platforms() const;
|
||||||
AddLibraryWizard::LinkageType linkageType() const;
|
AddLibraryWizard::LinkageType linkageType() const;
|
||||||
AddLibraryWizard::MacLibraryType macLibraryType() const;
|
AddLibraryWizard::MacLibraryType macLibraryType() const;
|
||||||
|
Utils::OsType libraryPlatformType() const;
|
||||||
|
QString libraryPlatformFilter() const;
|
||||||
QString proFile() const;
|
QString proFile() const;
|
||||||
bool isIncludePathChanged() const;
|
bool isIncludePathChanged() const;
|
||||||
bool guiSignalsIgnored() const;
|
bool guiSignalsIgnored() const;
|
||||||
@@ -127,6 +129,7 @@ protected:
|
|||||||
private:
|
private:
|
||||||
void slotLinkageTypeChanged();
|
void slotLinkageTypeChanged();
|
||||||
void slotRemoveSuffixChanged(bool ena);
|
void slotRemoveSuffixChanged(bool ena);
|
||||||
|
void slotLibraryTypeChanged();
|
||||||
void slotLibraryPathChanged();
|
void slotLibraryPathChanged();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -6,13 +6,23 @@
|
|||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>455</width>
|
<width>456</width>
|
||||||
<height>370</height>
|
<height>438</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QGridLayout" name="gridLayout_2">
|
<layout class="QGridLayout" name="gridLayout_2">
|
||||||
|
<property name="sizeConstraint">
|
||||||
|
<enum>QLayout::SetMinimumSize</enum>
|
||||||
|
</property>
|
||||||
<item row="0" column="0" colspan="2">
|
<item row="0" column="0" colspan="2">
|
||||||
<layout class="QGridLayout" name="gridLayout">
|
<layout class="QGridLayout" name="gridLayout">
|
||||||
|
<item row="2" column="0">
|
||||||
|
<widget class="QLabel" name="libraryFileLabel">
|
||||||
|
<property name="text">
|
||||||
|
<string>Library file:</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
<item row="0" column="0">
|
<item row="0" column="0">
|
||||||
<widget class="QLabel" name="libraryLabel">
|
<widget class="QLabel" name="libraryLabel">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
@@ -20,30 +30,20 @@
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="0" column="1">
|
<item row="4" column="0">
|
||||||
<widget class="QComboBox" name="libraryComboBox"/>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="0">
|
|
||||||
<widget class="QLabel" name="libraryFileLabel">
|
|
||||||
<property name="text">
|
|
||||||
<string>Library file:</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="1">
|
|
||||||
<widget class="Utils::PathChooser" name="libraryPathChooser" native="true"/>
|
|
||||||
</item>
|
|
||||||
<item row="3" column="0">
|
|
||||||
<widget class="QLabel" name="includeLabel">
|
<widget class="QLabel" name="includeLabel">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Include path:</string>
|
<string>Include path:</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="3" column="1">
|
<item row="4" column="1">
|
||||||
<widget class="Utils::PathChooser" name="includePathChooser" native="true"/>
|
<widget class="Utils::PathChooser" name="includePathChooser" native="true"/>
|
||||||
</item>
|
</item>
|
||||||
<item row="2" column="0">
|
<item row="3" column="1">
|
||||||
|
<widget class="QLineEdit" name="packageLineEdit"/>
|
||||||
|
</item>
|
||||||
|
<item row="3" column="0">
|
||||||
<widget class="QLabel" name="packageLabel">
|
<widget class="QLabel" name="packageLabel">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Package:</string>
|
<string>Package:</string>
|
||||||
@@ -51,7 +51,20 @@
|
|||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="2" column="1">
|
<item row="2" column="1">
|
||||||
<widget class="QLineEdit" name="packageLineEdit"/>
|
<widget class="Utils::PathChooser" name="libraryPathChooser" native="true"/>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="1">
|
||||||
|
<widget class="QComboBox" name="libraryComboBox"/>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
|
<widget class="QLabel" name="libraryTypeLabel">
|
||||||
|
<property name="text">
|
||||||
|
<string>Library type:</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="1">
|
||||||
|
<widget class="QComboBox" name="libraryTypeComboBox"/>
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
@@ -115,7 +128,10 @@
|
|||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
<item row="1" column="1">
|
<item row="1" column="1">
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_4">
|
<layout class="QVBoxLayout" name="detailsLayout">
|
||||||
|
<property name="sizeConstraint">
|
||||||
|
<enum>QLayout::SetMinimumSize</enum>
|
||||||
|
</property>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QGroupBox" name="linkageGroupBox">
|
<widget class="QGroupBox" name="linkageGroupBox">
|
||||||
<property name="title">
|
<property name="title">
|
||||||
|
@@ -361,7 +361,8 @@ bool TarPackageCreationStep::writeHeader(QFile &tarFile, const QFileInfo &fileIn
|
|||||||
const QByteArray sizeString = QString::fromLatin1("%1").arg(fileInfo.size(),
|
const QByteArray sizeString = QString::fromLatin1("%1").arg(fileInfo.size(),
|
||||||
sizeof header.length - 1, 8, QLatin1Char('0')).toLatin1();
|
sizeof header.length - 1, 8, QLatin1Char('0')).toLatin1();
|
||||||
std::memcpy(&header.length, sizeString.data(), sizeString.length());
|
std::memcpy(&header.length, sizeString.data(), sizeString.length());
|
||||||
const QByteArray mtimeString = QString::fromLatin1("%1").arg(fileInfo.lastModified().toTime_t(),
|
const QByteArray mtimeString = QString::fromLatin1("%1").arg(
|
||||||
|
fileInfo.lastModified().toSecsSinceEpoch(),
|
||||||
sizeof header.mtime - 1, 8, QLatin1Char('0')).toLatin1();
|
sizeof header.mtime - 1, 8, QLatin1Char('0')).toLatin1();
|
||||||
std::memcpy(&header.mtime, mtimeString.data(), mtimeString.length());
|
std::memcpy(&header.mtime, mtimeString.data(), mtimeString.length());
|
||||||
if (fileInfo.isDir())
|
if (fileInfo.isDir())
|
||||||
|
@@ -179,16 +179,10 @@ bool UpdateInfoPlugin::isCheckForUpdatesRunning() const
|
|||||||
return d->m_checkUpdatesCommand;
|
return d->m_checkUpdatesCommand;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool UpdateInfoPlugin::delayedInitialize()
|
void UpdateInfoPlugin::extensionsInitialized()
|
||||||
{
|
{
|
||||||
if (isAutomaticCheck())
|
if (isAutomaticCheck())
|
||||||
QTimer::singleShot(OneMinute, this, &UpdateInfoPlugin::startAutoCheckForUpdates);
|
QTimer::singleShot(OneMinute, this, &UpdateInfoPlugin::startAutoCheckForUpdates);
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
void UpdateInfoPlugin::extensionsInitialized()
|
|
||||||
{
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool UpdateInfoPlugin::initialize(const QStringList & /* arguments */, QString *errorMessage)
|
bool UpdateInfoPlugin::initialize(const QStringList & /* arguments */, QString *errorMessage)
|
||||||
|
@@ -52,7 +52,6 @@ public:
|
|||||||
UpdateInfoPlugin();
|
UpdateInfoPlugin();
|
||||||
virtual ~UpdateInfoPlugin();
|
virtual ~UpdateInfoPlugin();
|
||||||
|
|
||||||
bool delayedInitialize();
|
|
||||||
void extensionsInitialized();
|
void extensionsInitialized();
|
||||||
bool initialize(const QStringList &arguments, QString *errorMessage);
|
bool initialize(const QStringList &arguments, QString *errorMessage);
|
||||||
|
|
||||||
|
@@ -65,7 +65,7 @@ def startQC(additionalParameters=None, withPreparedSettingsPath=True):
|
|||||||
if platform.system() in ('Microsoft', 'Windows'): # for hooking into native file dialog
|
if platform.system() in ('Microsoft', 'Windows'): # for hooking into native file dialog
|
||||||
appWithOptions.extend(('-platform', 'windows:dialogs=none'))
|
appWithOptions.extend(('-platform', 'windows:dialogs=none'))
|
||||||
test.log("Starting now: %s" % ' '.join(appWithOptions))
|
test.log("Starting now: %s" % ' '.join(appWithOptions))
|
||||||
startApplication(' '.join(appWithOptions))
|
return startApplication(' '.join(appWithOptions))
|
||||||
|
|
||||||
def startedWithoutPluginError():
|
def startedWithoutPluginError():
|
||||||
try:
|
try:
|
||||||
|
@@ -68,6 +68,7 @@ def main():
|
|||||||
for current in availableProjectTypes:
|
for current in availableProjectTypes:
|
||||||
category = current.keys()[0]
|
category = current.keys()[0]
|
||||||
template = current.values()[0]
|
template = current.values()[0]
|
||||||
|
with TestSection("Testing project template %s -> %s" % (category, template)):
|
||||||
displayedPlatforms = __createProject__(category, template)
|
displayedPlatforms = __createProject__(category, template)
|
||||||
if template.startswith("Qt Quick Application - "):
|
if template.startswith("Qt Quick Application - "):
|
||||||
qtVersionsForQuick = ["5.6", "5.10"] if template == "Qt Quick Application - Empty" else ["5.10"]
|
qtVersionsForQuick = ["5.6", "5.10"] if template == "Qt Quick Application - Empty" else ["5.10"]
|
||||||
|
Reference in New Issue
Block a user