Commit d522ec37 authored by Eike Ziller's avatar Eike Ziller

Merge remote-tracking branch 'origin/4.4'

Change-Id: Iec15792ab28b3d34234d8e564a8ee33808772fa8
parents d6b6a887 5a1a20f2
......@@ -15,7 +15,7 @@ Module {
fileTags: ["qt_plugin_metadata"]
filePath: {
var destdir = FileInfo.joinPaths(product.moduleProperty("Qt.core",
"generatedFilesDir"), input.fileName);
"generatedHeadersDir"), input.fileName);
return destdir.replace(/\.[^\.]*$/,'')
}
}
......
......@@ -25,6 +25,8 @@
#include "layoutnodeinstance.h"
#include <QCoreApplication>
namespace QmlDesigner {
namespace Internal {
......
......@@ -28,6 +28,7 @@
#include <enumeration.h>
#include <qmlprivategate.h>
#include <QDebug>
#include <QEvent>
#include <QQmlContext>
#include <QQmlError>
......
......@@ -157,18 +157,16 @@ static inline int askMsgSendFailed()
QMessageBox::Retry);
}
static const char *setHighDpiEnvironmentVariable()
static void setHighDpiEnvironmentVariable()
{
const char* envVarName = 0;
static const char ENV_VAR_QT_DEVICE_PIXEL_RATIO[] = "QT_DEVICE_PIXEL_RATIO";
if (!Utils::HostOsInfo().isMacHost()
if (Utils::HostOsInfo().isWindowsHost()
&& !qEnvironmentVariableIsSet(ENV_VAR_QT_DEVICE_PIXEL_RATIO) // legacy in 5.6, but still functional
&& !qEnvironmentVariableIsSet("QT_AUTO_SCREEN_SCALE_FACTOR")
&& !qEnvironmentVariableIsSet("QT_SCALE_FACTOR")
&& !qEnvironmentVariableIsSet("QT_SCREEN_SCALE_FACTORS")) {
QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
}
return envVarName;
}
// taken from utils/fileutils.cpp. We can not use utils here since that depends app_version.h.
......@@ -304,7 +302,7 @@ int main(int argc, char **argv)
Utils::TemporaryDirectory::setMasterTemporaryDirectory(QDir::tempPath() + "/QtCreator-XXXXXX");
const char *highDpiEnvironmentVariable = setHighDpiEnvironmentVariable();
setHighDpiEnvironmentVariable();
QLoggingCategory::setFilterRules(QLatin1String("qtc.*.debug=false\nqtc.*.info=false"));
......@@ -322,9 +320,6 @@ int main(int argc, char **argv)
loadFonts();
if (highDpiEnvironmentVariable)
qunsetenv(highDpiEnvironmentVariable);
if (Utils::HostOsInfo().isWindowsHost()
&& !qFuzzyCompare(qApp->devicePixelRatio(), 1.0)
&& QApplication::style()->objectName().startsWith(
......
......@@ -19,8 +19,10 @@ QtcLibrary {
Environment.getEnv("ProgramW6432") + "/Debugging Tools For Windows 64-bit/sdk",
Environment.getEnv("ProgramFiles") + "/Windows Kits/8.0/Debuggers",
Environment.getEnv("ProgramFiles") + "/Windows Kits/8.1/Debuggers",
Environment.getEnv("ProgramFiles") + "/Windows Kits/10/Debuggers",
Environment.getEnv("ProgramFiles(x86)") + "/Windows Kits/8.0/Debuggers/inc",
Environment.getEnv("ProgramFiles(x86)") + "/Windows Kits/8.1/Debuggers/inc"
Environment.getEnv("ProgramFiles(x86)") + "/Windows Kits/8.1/Debuggers/inc",
Environment.getEnv("ProgramFiles(x86)") + "/Windows Kits/10/Debuggers/inc"
];
var c = paths.length;
for (var i = 0; i < c; ++i) {
......
......@@ -68,4 +68,11 @@ bool ProcessHandle::equals(const ProcessHandle &rhs) const
return m_pid == rhs.m_pid;
}
#ifndef Q_OS_MACOS
bool ProcessHandle::activate()
{
return false;
}
#endif
} // Utils
......@@ -43,6 +43,8 @@ public:
bool equals(const ProcessHandle &) const;
bool activate();
private:
qint64 m_pid;
};
......
/****************************************************************************
**
** Copyright (C) 2016 Tim Sander <tim@krieglstein.org>
** Copyright (C) 2016 Denis Shienkov <denis.shienkov@gmail.com>
** Copyright (C) 2017 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt Creator.
......@@ -24,27 +23,17 @@
**
****************************************************************************/
#pragma once
#include "processhandle.h"
#import <AppKit/AppKit.h>
#include "baremetalrunconfiguration.h"
namespace Utils {
#include <projectexplorer/runconfiguration.h>
#include <debugger/debuggerstartparameters.h>
namespace BareMetal {
namespace Internal {
class BareMetalRunControlFactory : public ProjectExplorer::IRunControlFactory
bool ProcessHandle::activate()
{
Q_OBJECT
public:
explicit BareMetalRunControlFactory(QObject *parent = 0);
bool canRun(ProjectExplorer::RunConfiguration *runConfiguration, Core::Id mode) const override;
ProjectExplorer::RunControl *create(ProjectExplorer::RunConfiguration *runConfiguration,
Core::Id mode, QString *) override;
};
NSRunningApplication *app = [NSRunningApplication
runningApplicationWithProcessIdentifier:pid()];
return app && [app activateWithOptions:static_cast<NSApplicationActivationOptions>(
NSApplicationActivateIgnoringOtherApps)];
}
} // namespace Internal
} // namespace BareMetal
} // Utils
......@@ -252,8 +252,9 @@ osx {
HEADERS += \
$$PWD/fileutils_mac.h
OBJECTIVE_SOURCES += \
$$PWD/fileutils_mac.mm
LIBS += -framework Foundation
$$PWD/fileutils_mac.mm \
$$PWD/processhandle_mac.mm
LIBS += -framework Foundation -framework AppKit
}
include(mimetypes/mimetypes.pri)
......@@ -30,7 +30,7 @@ Project {
Properties {
condition: qbs.targetOS.contains("macos")
cpp.frameworks: ["Foundation"]
cpp.frameworks: ["Foundation", "AppKit"]
}
Depends { name: "Qt"; submodules: ["concurrent", "network", "qml", "widgets"] }
......@@ -297,6 +297,14 @@ Project {
]
}
Group {
name: "ProcessHandle_macos"
condition: qbs.targetOS.contains("macos")
files: [
"processhandle_mac.mm",
]
}
Group {
name: "MimeTypes"
prefix: "mimetypes/"
......
......@@ -347,7 +347,7 @@ void TestRunner::debugTests()
return;
}
(void) new Debugger::DebuggerRunTool(runControl, sp, &errorMessage);
(void) new Debugger::DebuggerRunTool(runControl, sp);
bool useOutputProcessor = true;
if (ProjectExplorer::Target *targ = config->project()->activeTarget()) {
......
......@@ -10,7 +10,6 @@ SOURCES += baremetalplugin.cpp \
baremetalrunconfiguration.cpp \
baremetalrunconfigurationwidget.cpp \
baremetalgdbcommandsdeploystep.cpp \
baremetalruncontrolfactory.cpp \
baremetaldeviceconfigurationwizardpages.cpp \
baremetaldeviceconfigurationwizard.cpp \
baremetaldeviceconfigurationwidget.cpp \
......@@ -33,7 +32,6 @@ HEADERS += baremetalplugin.h \
baremetalrunconfiguration.h \
baremetalrunconfigurationwidget.h \
baremetalgdbcommandsdeploystep.h \
baremetalruncontrolfactory.h \
baremetaldeviceconfigurationfactory.h \
baremetaldeviceconfigurationwidget.h \
baremetaldeviceconfigurationwizard.h \
......
......@@ -26,7 +26,6 @@ QtcPlugin {
"baremetalrunconfiguration.cpp", "baremetalrunconfiguration.h",
"baremetalrunconfigurationfactory.cpp", "baremetalrunconfigurationfactory.h",
"baremetalrunconfigurationwidget.cpp", "baremetalrunconfigurationwidget.h",
"baremetalruncontrolfactory.cpp", "baremetalruncontrolfactory.h",
"baremetaldebugsupport.cpp", "baremetaldebugsupport.h",
"gdbserverproviderprocess.cpp", "gdbserverproviderprocess.h",
"gdbserverproviderssettingspage.cpp", "gdbserverproviderssettingspage.h",
......
......@@ -27,7 +27,8 @@
#include "baremetalplugin.h"
#include "baremetalconstants.h"
#include "baremetaldeviceconfigurationfactory.h"
#include "baremetalruncontrolfactory.h"
#include "baremetaldebugsupport.h"
#include "baremetalrunconfiguration.h"
#include "baremetalrunconfigurationfactory.h"
#include "gdbserverproviderssettingspage.h"
......@@ -46,6 +47,8 @@
#include <QMenu>
#include <QtPlugin>
using namespace ProjectExplorer;
namespace BareMetal {
namespace Internal {
......@@ -64,11 +67,22 @@ bool BareMetalPlugin::initialize(const QStringList &arguments, QString *errorStr
Q_UNUSED(errorString)
addAutoReleasedObject(new BareMetalDeviceConfigurationFactory);
addAutoReleasedObject(new BareMetalRunControlFactory);
addAutoReleasedObject(new BareMetalRunConfigurationFactory);
addAutoReleasedObject(new GdbServerProvidersSettingsPage);
addAutoReleasedObject(new GdbServerProviderManager);
auto constraint = [](RunConfiguration *runConfig) {
const QByteArray idStr = runConfig->id().name();
return runConfig->isEnabled() && idStr.startsWith(BareMetalRunConfiguration::IdPrefix);
};
RunControl::registerWorker<BareMetalDebugSupport>
(ProjectExplorer::Constants::NORMAL_RUN_MODE, constraint);
RunControl::registerWorker<BareMetalDebugSupport>
(ProjectExplorer::Constants::DEBUG_RUN_MODE, constraint);
RunControl::registerWorker<BareMetalDebugSupport>
(ProjectExplorer::Constants::DEBUG_RUN_MODE_WITH_BREAK_ON_MAIN, constraint);
return true;
}
......
/****************************************************************************
**
** Copyright (C) 2016 Tim Sander <tim@krieglstein.org>
** Copyright (C) 2016 Denis Shienkov <denis.shienkov@gmail.com>
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt Creator.
**
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3 as published by the Free Software
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
** included in the packaging of this file. Please review the following
** information to ensure the GNU General Public License requirements will
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
**
****************************************************************************/
#include "baremetalruncontrolfactory.h"
#include "baremetaldebugsupport.h"
using namespace ProjectExplorer;
namespace BareMetal {
namespace Internal {
BareMetalRunControlFactory::BareMetalRunControlFactory(QObject *parent) :
IRunControlFactory(parent)
{
}
bool BareMetalRunControlFactory::canRun(RunConfiguration *runConfiguration, Core::Id mode) const
{
if (mode != ProjectExplorer::Constants::NORMAL_RUN_MODE
&& mode != ProjectExplorer::Constants::DEBUG_RUN_MODE
&& mode != ProjectExplorer::Constants::DEBUG_RUN_MODE_WITH_BREAK_ON_MAIN) {
return false;
}
const QByteArray idStr = runConfiguration->id().name();
return runConfiguration->isEnabled() && idStr.startsWith(BareMetalRunConfiguration::IdPrefix);
}
RunControl *BareMetalRunControlFactory::create(
RunConfiguration *runConfiguration, Core::Id mode, QString *)
{
auto runControl = new RunControl(runConfiguration, mode);
(void) new BareMetalDebugSupport(runControl);
return runControl;
}
} // namespace Internal
} // namespace BareMetal
......@@ -376,9 +376,11 @@ void ClangDiagnosticManager::generateEditorSelections()
}
void ClangDiagnosticManager::processNewDiagnostics(
const QVector<ClangBackEnd::DiagnosticContainer> &allDiagnostics)
const QVector<ClangBackEnd::DiagnosticContainer> &allDiagnostics,
bool showTextMarkAnnotations)
{
m_diagnosticsInvalidated = false;
m_showTextMarkAnnotations = showTextMarkAnnotations;
filterDiagnostics(allDiagnostics);
generateTextMarks();
......@@ -401,7 +403,8 @@ void ClangDiagnosticManager::addClangTextMarks(
m_clangTextMarks.erase(it, m_clangTextMarks.end());
delete mark;
};
auto textMark = new ClangTextMark(filePath(), diagnostic, onMarkRemoved);
auto textMark = new ClangTextMark(filePath(), diagnostic, onMarkRemoved,
m_showTextMarkAnnotations);
m_clangTextMarks.push_back(textMark);
m_textDocument->addMark(textMark);
}
......
......@@ -49,7 +49,8 @@ public:
ClangDiagnosticManager(TextEditor::TextDocument *textDocument);
~ClangDiagnosticManager();
void processNewDiagnostics(const QVector<ClangBackEnd::DiagnosticContainer> &allDiagnostics);
void processNewDiagnostics(const QVector<ClangBackEnd::DiagnosticContainer> &allDiagnostics,
bool showTextMarkAnnotations);
const QVector<ClangBackEnd::DiagnosticContainer> &diagnosticsWithFixIts() const;
QList<QTextEdit::ExtraSelection> takeExtraSelections();
......@@ -82,6 +83,7 @@ private:
TextEditor::RefactorMarkers m_fixItAvailableMarkers;
std::vector<ClangTextMark *> m_clangTextMarks;
bool m_diagnosticsInvalidated = false;
bool m_showTextMarkAnnotations = false;
};
} // namespace Internal
......
......@@ -180,7 +180,7 @@ void ClangEditorDocumentProcessor::updateCodeWarnings(
uint documentRevision)
{
if (documentRevision == revision()) {
m_diagnosticManager.processNewDiagnostics(diagnostics);
m_diagnosticManager.processNewDiagnostics(diagnostics, m_isProjectFile);
const auto codeWarnings = m_diagnosticManager.takeExtraSelections();
const auto fixitAvailableMarkers = m_diagnosticManager.takeFixItAvailableMarkers();
const auto creator = creatorForHeaderErrorDiagnosticWidget(firstHeaderErrorDiagnostic);
......@@ -368,6 +368,8 @@ void ClangEditorDocumentProcessor::updateProjectPartAndTranslationUnitForEditor(
registerTranslationUnitForEditor(projectPart.data());
m_projectPart = projectPart;
m_isProjectFile = m_parser->projectPartInfo().hints
& CppTools::ProjectPartInfo::IsFromProjectMatch;
}
}
......
......@@ -114,6 +114,7 @@ private:
IpcCommunicator &m_ipcCommunicator;
QSharedPointer<ClangEditorDocumentParser> m_parser;
CppTools::ProjectPart::Ptr m_projectPart;
bool m_isProjectFile = false;
QFutureWatcher<void> m_parserWatcher;
QTimer m_updateTranslationUnitTimer;
unsigned m_parserRevision;
......
......@@ -64,7 +64,8 @@ Core::Id cartegoryForSeverity(ClangBackEnd::DiagnosticSeverity severity)
ClangTextMark::ClangTextMark(const QString &fileName,
const ClangBackEnd::DiagnosticContainer &diagnostic,
const RemovedFromEditorHandler &removedHandler)
const RemovedFromEditorHandler &removedHandler,
bool showLineAnnotations)
: TextEditor::TextMark(fileName,
int(diagnostic.location().line()),
cartegoryForSeverity(diagnostic.severity()))
......@@ -79,7 +80,8 @@ ClangTextMark::ClangTextMark(const QString &fileName,
setPriority(warning ? TextEditor::TextMark::NormalPriority
: TextEditor::TextMark::HighPriority);
updateIcon();
setLineAnnotation(diagnostic.text().toString());
if (showLineAnnotations)
setLineAnnotation(diagnostic.text().toString());
}
void ClangTextMark::updateIcon(bool valid)
......
......@@ -41,7 +41,8 @@ public:
ClangTextMark(const QString &fileName,
const ClangBackEnd::DiagnosticContainer &diagnostic,
const RemovedFromEditorHandler &removedHandler);
const RemovedFromEditorHandler &removedHandler,
bool showLineAnnotations);
void updateIcon(bool valid = true);
private:
......
......@@ -75,7 +75,7 @@ ClangStaticAnalyzerToolRunner::ClangStaticAnalyzerToolRunner(RunControl *runCont
setDisplayName("ClangStaticAnalyzerRunner");
runControl->setDisplayName(tr("Clang Static Analyzer"));
runControl->setIcon(ProjectExplorer::Icons::ANALYZER_START_SMALL_TOOLBAR);
runControl->setSupportsReRunning(false);
setSupportsReRunning(false);
RunConfiguration *runConfiguration = runControl->runConfiguration();
auto tool = ClangStaticAnalyzerTool::instance();
......
......@@ -31,9 +31,8 @@
#include <aggregation/aggregate.h>
#include <coreplugin/icontext.h>
#include <coreplugin/icore.h>
#include <coreplugin/locator/locator.h>
#include <coreplugin/locator/locatorwidget.h>
#include <coreplugin/statusbarmanager.h>
#include <coreplugin/locator/locatormanager.h>
#include <coreplugin/minisplitter.h>
#include <QStatusBar>
#include <QVBoxLayout>
......@@ -56,7 +55,7 @@ EditorWindow::EditorWindow(QWidget *parent) :
auto splitter = new NonResizingSplitter(statusBar);
splitter->setChildrenCollapsible(false);
statusBar->addPermanentWidget(splitter, 10);
auto locatorWidget = createStaticLocatorWidget(Locator::instance());
auto locatorWidget = LocatorManager::createLocatorInputWidget(this);
splitter->addWidget(locatorWidget);
splitter->addWidget(new QWidget);
setAttribute(Qt::WA_DeleteOnClose);
......@@ -74,11 +73,6 @@ EditorWindow::EditorWindow(QWidget *parent) :
deleteLater();
});
updateWindowTitle();
// register locator widget for this window
auto agg = new Aggregation::Aggregate;
agg->add(this);
agg->add(locatorWidget);
}
EditorWindow::~EditorWindow()
......
......@@ -108,9 +108,9 @@ void Locator::initialize(CorePlugin *corePlugin, const QStringList &, QString *)
ActionContainer *mtools = ActionManager::actionContainer(Constants::M_TOOLS);
mtools->addAction(cmd);
m_locatorWidget = createStaticLocatorWidget(this);
auto locatorWidget = LocatorManager::createLocatorInputWidget(ICore::mainWindow());
StatusBarWidget *view = new StatusBarWidget;
view->setWidget(m_locatorWidget);
view->setWidget(locatorWidget);
view->setContext(Context("LocatorWidget"));
view->setPosition(StatusBarWidget::First);
m_corePlugin->addAutoReleasedObject(view);
......@@ -139,11 +139,6 @@ void Locator::initialize(CorePlugin *corePlugin, const QStringList &, QString *)
void Locator::extensionsInitialized()
{
// register locator widget for main window
auto agg = new Aggregation::Aggregate;
agg->add(ICore::mainWindow());
agg->add(m_locatorWidget);
m_filters = ExtensionSystem::PluginManager::getObjects<ILocatorFilter>();
Utils::sort(m_filters, [](const ILocatorFilter *first, const ILocatorFilter *second) -> bool {
if (first->priority() != second->priority())
......@@ -350,11 +345,6 @@ void Locator::setRefreshInterval(int interval)
m_refreshTimer.start();
}
LocatorWidget *Locator::mainLocatorWidget()
{
return m_instance->m_locatorWidget;
}
void Locator::refresh(QList<ILocatorFilter *> filters)
{
if (filters.isEmpty())
......
......@@ -43,7 +43,6 @@ class CorePlugin;
class OpenDocumentsFilter;
class FileSystemFilter;
class LocatorSettingsPage;
class LocatorWidget;
class ExternalToolsFilter;
class Locator : public QObject
......@@ -66,7 +65,6 @@ public:
void setCustomFilters(QList<ILocatorFilter *> f);
int refreshInterval();
void setRefreshInterval(int interval);
static LocatorWidget *mainLocatorWidget();
signals:
void filtersChanged();
......@@ -93,7 +91,6 @@ private:
ExecuteFilter *m_executeFilter;
CorePlugin *m_corePlugin = nullptr;
ExternalToolsFilter *m_externalToolsFilter;
LocatorWidget *m_locatorWidget;
};
} // namespace Internal
......
......@@ -40,6 +40,10 @@ BasicLocatorFilterTest::BasicLocatorFilterTest(ILocatorFilter *filter) : m_filte
{
}
BasicLocatorFilterTest::~BasicLocatorFilterTest()
{
}
QList<LocatorFilterEntry> BasicLocatorFilterTest::matchesFor(const QString &searchText)
{
doBeforeLocatorRun();
......
......@@ -37,6 +37,7 @@ class CORE_EXPORT BasicLocatorFilterTest
{
public:
BasicLocatorFilterTest(ILocatorFilter *filter);
virtual ~BasicLocatorFilterTest();
QList<LocatorFilterEntry> matchesFor(const QString &searchText = QString());
......
......@@ -85,4 +85,14 @@ void LocatorManager::show(const QString &text,
locatorWidget()->showText(text, selectionStart, selectionLength);
}
QWidget *LocatorManager::createLocatorInputWidget(QWidget *window)
{
auto locatorWidget = createStaticLocatorWidget(Locator::instance());
// register locator widget for this window
auto agg = new Aggregation::Aggregate;
agg->add(window);
agg->add(locatorWidget);
return locatorWidget;
}
} // namespace Core
......@@ -44,6 +44,8 @@ public:
static void showFilter(ILocatorFilter *filter);
static void show(const QString &text, int selectionStart = -1, int selectionLength = 0);
static QWidget *createLocatorInputWidget(QWidget *window);
};
} // namespace Core
......@@ -100,3 +100,33 @@ MiniSplitter::MiniSplitter(Qt::Orientation orientation, SplitterStyle style)
setChildrenCollapsible(false);
setProperty("minisplitter", true);
}
/*!
\class NonResizingSplitter
\inmodule Qt Creator
The NonResizingSplitter class is a MiniSplitter that keeps its first widget's size fixed
when it is resized.
*/
/*!
Constructs a non-resizing splitter with \a parent and \a style.
The default style is MiniSplitter::Light.
*/
NonResizingSplitter::NonResizingSplitter(QWidget *parent, SplitterStyle style)
: MiniSplitter(parent, style)
{
}
/*!
\internal
*/
void NonResizingSplitter::resizeEvent(QResizeEvent *ev)
{
// bypass QSplitter magic
int leftSplitWidth = qMin(sizes().at(0), ev->size().width());
int rightSplitWidth = qMax(0, ev->size().width() - leftSplitWidth);
setSizes(QList<int>() << leftSplitWidth << rightSplitWidth);
QWidget::resizeEvent(ev);
}
......@@ -51,4 +51,14 @@ private:
SplitterStyle m_style;
};
class CORE_EXPORT NonResizingSplitter : public MiniSplitter
{
public:
explicit NonResizingSplitter(QWidget *parent, SplitterStyle style = Light);
protected:
void resizeEvent(QResizeEvent *ev);
};
} // namespace Core
......@@ -26,6 +26,7 @@
#include "statusbarmanager.h"
#include "mainwindow.h"
#include "minisplitter.h"
#include "statusbarwidget.h"
#include <extensionsystem/pluginmanager.h>
......@@ -145,17 +146,3 @@ void StatusBarManager::restoreSettings()
sum += w;
m_splitter->setSizes(QList<int>() << leftSplitWidth << (sum - leftSplitWidth));
}
NonResizingSplitter::NonResizingSplitter(QWidget *parent)
: MiniSplitter(parent, Light)
{
}
void NonResizingSplitter::resizeEvent(QResizeEvent *ev)
{
// bypass QSplitter magic
int leftSplitWidth = qMin(sizes().at(0), ev->size().width());
int rightSplitWidth = qMax(0, ev->size().width() - leftSplitWidth);
setSizes(QList<int>() << leftSplitWidth << rightSplitWidth);
QWidget::resizeEvent(ev);
}
......@@ -25,12 +25,11 @@
#pragma once
#include "minisplitter.h"
#include <QList>
#include <QObject>
QT_BEGIN_NAMESPACE
class QSplitter;
class QWidget;
QT_END_NAMESPACE
......@@ -39,17 +38,6 @@ namespace Internal {
class MainWindow;
class NonResizingSplitter : public MiniSplitter
{
Q_OBJECT
public:
explicit NonResizingSplitter(QWidget *parent);
protected:
void resizeEvent(QResizeEvent *ev);
};
class StatusBarManager : public QObject
{
Q_OBJECT
......
......@@ -63,6 +63,7 @@ DEBUGGER_EXPORT void showCannotStartDialog(const QString &toolName);
// Register a tool for a given start mode.
DEBUGGER_EXPORT void registerPerspective(const QByteArray &perspectiveId, const Utils::Perspective *perspective);
DEBUGGER_EXPORT void setPerspectiveEnabled(const QByteArray &perspectiveId, bool enable);
DEBUGGER_EXPORT void registerToolbar(const QByteArray &perspectiveId, const Utils::ToolbarDescription &desc);
DEBUGGER_EXPORT void enableMainWindow(bool on);
......
......@@ -1798,14 +1798,23 @@ void DebuggerEngine::validateExecutable()
QString detailedWarning;
switch (sp->toolChainAbi.binaryFormat()) {