forked from qt-creator/qt-creator
Merge remote-tracking branch 'origin/master' into 4.14
Change-Id: I5efcf81bd8f5a5e6f0e5bbcc2fc1f5439e83acef
This commit is contained in:
@@ -293,9 +293,6 @@ public:
|
||||
{ return _beginLine; }
|
||||
|
||||
private:
|
||||
void setArguments(const QVector<Block> &arguments)
|
||||
{ _arguments = arguments; }
|
||||
|
||||
void addArgument(const Block &block)
|
||||
{ _arguments.append(block); }
|
||||
|
||||
|
@@ -225,18 +225,6 @@ int ExpressionUnderCursor::startOfExpression_helper(BackwardsScanner &tk, int in
|
||||
return index;
|
||||
}
|
||||
|
||||
bool ExpressionUnderCursor::isAccessToken(const Token &tk)
|
||||
{
|
||||
switch (tk.kind()) {
|
||||
case T_COLON_COLON:
|
||||
case T_DOT: case T_ARROW:
|
||||
case T_DOT_STAR: case T_ARROW_STAR:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
} // switch
|
||||
}
|
||||
|
||||
QString ExpressionUnderCursor::operator()(const QTextCursor &cursor)
|
||||
{
|
||||
BackwardsScanner scanner(cursor, _languageFeatures);
|
||||
|
@@ -50,7 +50,6 @@ public:
|
||||
private:
|
||||
int startOfExpression(BackwardsScanner &tk, int index);
|
||||
int startOfExpression_helper(BackwardsScanner &tk, int index);
|
||||
bool isAccessToken(const Token &tk);
|
||||
|
||||
private:
|
||||
bool _jumpedComma;
|
||||
|
@@ -1080,25 +1080,6 @@ void ObjectValue::accept(ValueVisitor *visitor) const
|
||||
visitor->visit(this);
|
||||
}
|
||||
|
||||
bool ObjectValue::checkPrototype(const ObjectValue *, QSet<const ObjectValue *> *) const
|
||||
{
|
||||
#if 0
|
||||
const int previousSize = processed->size();
|
||||
processed->insert(this);
|
||||
|
||||
if (previousSize != processed->size()) {
|
||||
if (this == proto)
|
||||
return false;
|
||||
|
||||
if (prototype() && ! prototype()->checkPrototype(proto, processed))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
#endif
|
||||
return false;
|
||||
}
|
||||
|
||||
void ObjectValue::processMembers(MemberProcessor *processor) const
|
||||
{
|
||||
for (auto it = m_members.cbegin(), end = m_members.cend(); it != end; ++it) {
|
||||
|
@@ -526,10 +526,6 @@ public:
|
||||
QString originId() const
|
||||
{ return m_originId; }
|
||||
|
||||
|
||||
private:
|
||||
bool checkPrototype(const ObjectValue *prototype, QSet<const ObjectValue *> *processed) const;
|
||||
|
||||
private:
|
||||
ValueOwner *m_valueOwner;
|
||||
QHash<QString, PropertyData> m_members;
|
||||
|
@@ -128,8 +128,10 @@ struct SshConnection::SshConnectionPrivate
|
||||
"-o", "Port=" + QString::number(connParams.port())};
|
||||
const bool keyOnly = connParams.authenticationType ==
|
||||
SshConnectionParameters::AuthenticationTypeSpecificKey;
|
||||
if (keyOnly)
|
||||
if (keyOnly) {
|
||||
args << "-o" << "IdentitiesOnly=yes";
|
||||
args << "-i" << connParams.privateKeyFile;
|
||||
}
|
||||
if (keyOnly || SshSettings::askpassFilePath().isEmpty())
|
||||
args << "-o" << "BatchMode=yes";
|
||||
if (sharingEnabled)
|
||||
|
@@ -278,7 +278,7 @@ bool AndroidAvdManager::startAvdAsync(const QString &avdName) const
|
||||
if (AndroidConfigurations::force32bitEmulator())
|
||||
arguments << "-force-32bit";
|
||||
|
||||
arguments << "-partition-size" << QString::number(m_config.partitionSize())
|
||||
arguments << m_config.emulatorArgs()
|
||||
<< "-avd" << avdName;
|
||||
qCDebug(avdManagerLog) << "Running command (startAvdAsync):"
|
||||
<< CommandLine(m_config.emulatorToolPath(), arguments).toUserOutput();
|
||||
|
@@ -116,7 +116,7 @@ namespace {
|
||||
const QLatin1String OpenJDKLocationKey("OpenJDKLocation");
|
||||
const QLatin1String OpenSslPriLocationKey("OpenSSLPriLocation");
|
||||
const QLatin1String AutomaticKitCreationKey("AutomatiKitCreation");
|
||||
const QLatin1String PartitionSizeKey("PartitionSize");
|
||||
const QLatin1String EmulatorArgsKey("EmulatorArgs");
|
||||
|
||||
const QLatin1String ArmToolchainPrefix("arm-linux-androideabi");
|
||||
const QLatin1String X86ToolchainPrefix("x86");
|
||||
@@ -224,7 +224,8 @@ QLatin1String AndroidConfig::displayName(const Abi &abi)
|
||||
void AndroidConfig::load(const QSettings &settings)
|
||||
{
|
||||
// user settings
|
||||
m_partitionSize = settings.value(PartitionSizeKey, 1024).toInt();
|
||||
m_emulatorArgs = settings.value(EmulatorArgsKey,
|
||||
QStringList({"-netdelay", "none", "-netspeed", "full"})).toStringList();
|
||||
m_sdkLocation = FilePath::fromString(settings.value(SDKLocationKey).toString());
|
||||
m_customNdkList = settings.value(CustomNdkLocationsKey).toStringList();
|
||||
m_sdkManagerToolArgs = settings.value(SDKManagerToolArgsKey).toStringList();
|
||||
@@ -262,7 +263,7 @@ void AndroidConfig::save(QSettings &settings) const
|
||||
settings.setValue(SDKManagerToolArgsKey, m_sdkManagerToolArgs);
|
||||
settings.setValue(OpenJDKLocationKey, m_openJDKLocation.toString());
|
||||
settings.setValue(OpenSslPriLocationKey, m_openSslLocation.toString());
|
||||
settings.setValue(PartitionSizeKey, m_partitionSize);
|
||||
settings.setValue(EmulatorArgsKey, m_emulatorArgs);
|
||||
settings.setValue(AutomaticKitCreationKey, m_automaticKitCreation);
|
||||
settings.setValue(SdkFullyConfiguredKey, m_sdkFullyConfigured);
|
||||
}
|
||||
@@ -990,14 +991,14 @@ QString AndroidConfig::toolchainHostFromNdk(const FilePath &ndkPath) const
|
||||
return toolchainHost;
|
||||
}
|
||||
|
||||
unsigned AndroidConfig::partitionSize() const
|
||||
QStringList AndroidConfig::emulatorArgs() const
|
||||
{
|
||||
return m_partitionSize;
|
||||
return m_emulatorArgs;
|
||||
}
|
||||
|
||||
void AndroidConfig::setPartitionSize(unsigned partitionSize)
|
||||
void AndroidConfig::setEmulatorArgs(const QStringList &args)
|
||||
{
|
||||
m_partitionSize = partitionSize;
|
||||
m_emulatorArgs = args;
|
||||
}
|
||||
|
||||
bool AndroidConfig::automaticKitCreation() const
|
||||
|
@@ -146,8 +146,8 @@ public:
|
||||
QString toolchainHost(const QtSupport::BaseQtVersion *qtVersion) const;
|
||||
QString toolchainHostFromNdk(const Utils::FilePath &ndkPath) const;
|
||||
|
||||
unsigned partitionSize() const;
|
||||
void setPartitionSize(unsigned partitionSize);
|
||||
QStringList emulatorArgs() const;
|
||||
void setEmulatorArgs(const QStringList &args);
|
||||
|
||||
bool automaticKitCreation() const;
|
||||
void setAutomaticKitCreation(bool b);
|
||||
@@ -215,7 +215,7 @@ private:
|
||||
Utils::FilePath m_openJDKLocation;
|
||||
Utils::FilePath m_keystoreLocation;
|
||||
Utils::FilePath m_openSslLocation;
|
||||
unsigned m_partitionSize = 1024;
|
||||
QStringList m_emulatorArgs;
|
||||
bool m_automaticKitCreation = true;
|
||||
QUrl m_sdkToolsUrl;
|
||||
QByteArray m_sdkToolsSha256;
|
||||
|
@@ -52,6 +52,7 @@
|
||||
#include <QDir>
|
||||
#include <QFileDialog>
|
||||
#include <QFutureWatcher>
|
||||
#include <QInputDialog>
|
||||
#include <QList>
|
||||
#include <QLoggingCategory>
|
||||
#include <QMessageBox>
|
||||
@@ -119,7 +120,7 @@ private:
|
||||
void removeAVD();
|
||||
void startAVD();
|
||||
void avdActivated(const QModelIndex &);
|
||||
void dataPartitionSizeEditingFinished();
|
||||
void editEmulatorArgsAVD();
|
||||
void createKitToggled();
|
||||
|
||||
void updateUI();
|
||||
@@ -428,7 +429,6 @@ AndroidSettingsWidget::AndroidSettingsWidget()
|
||||
m_androidConfig.setOpenSslLocation(m_androidConfig.sdkLocation() / ("android_openssl"));
|
||||
m_ui.openSslPathChooser->setFilePath(m_androidConfig.openSslLocation());
|
||||
|
||||
m_ui.DataPartitionSizeSpinBox->setValue(m_androidConfig.partitionSize());
|
||||
m_ui.CreateKitCheckBox->setChecked(m_androidConfig.automaticKitCreation());
|
||||
m_ui.AVDTableView->setModel(&m_AVDModel);
|
||||
m_ui.AVDTableView->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
|
||||
@@ -489,8 +489,8 @@ AndroidSettingsWidget::AndroidSettingsWidget()
|
||||
this, &AndroidSettingsWidget::avdActivated);
|
||||
connect(m_ui.AVDTableView, &QAbstractItemView::clicked,
|
||||
this, &AndroidSettingsWidget::avdActivated);
|
||||
connect(m_ui.DataPartitionSizeSpinBox, &QAbstractSpinBox::editingFinished,
|
||||
this, &AndroidSettingsWidget::dataPartitionSizeEditingFinished);
|
||||
connect(m_ui.AVDAdvancedOptionsPushButton, &QAbstractButton::clicked,
|
||||
this, &AndroidSettingsWidget::editEmulatorArgsAVD);
|
||||
connect(m_ui.CreateKitCheckBox, &QAbstractButton::toggled,
|
||||
this, &AndroidSettingsWidget::createKitToggled);
|
||||
connect(m_ui.downloadNDKToolButton, &QAbstractButton::clicked,
|
||||
@@ -807,9 +807,25 @@ void AndroidSettingsWidget::avdActivated(const QModelIndex &index)
|
||||
m_ui.AVDStartPushButton->setEnabled(index.isValid());
|
||||
}
|
||||
|
||||
void AndroidSettingsWidget::dataPartitionSizeEditingFinished()
|
||||
void AndroidSettingsWidget::editEmulatorArgsAVD()
|
||||
{
|
||||
m_androidConfig.setPartitionSize(m_ui.DataPartitionSizeSpinBox->value());
|
||||
const QString helpUrl =
|
||||
"https://developer.android.com/studio/run/emulator-commandline#startup-options";
|
||||
|
||||
QInputDialog dialog(this);
|
||||
dialog.setWindowTitle(tr("Emulator Command-line Startup Options"));
|
||||
dialog.setLabelText(tr("Emulator command-line startup options (<a href=\"%1\">Help Web Page</a>):").arg(helpUrl));
|
||||
dialog.setTextValue(m_androidConfig.emulatorArgs().join(' '));
|
||||
|
||||
if (auto label = dialog.findChild<QLabel*>()) {
|
||||
label->setOpenExternalLinks(true);
|
||||
label->setMinimumWidth(500);
|
||||
}
|
||||
|
||||
if (dialog.exec() != QDialog::Accepted)
|
||||
return;
|
||||
|
||||
m_androidConfig.setEmulatorArgs(QtcProcess::splitArgs(dialog.textValue()));
|
||||
}
|
||||
|
||||
void AndroidSettingsWidget::createKitToggled()
|
||||
|
@@ -313,32 +313,6 @@
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<item>
|
||||
<widget class="QLabel" name="DataPartitionSizeLable">
|
||||
<property name="text">
|
||||
<string>System/data partition size:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QSpinBox" name="DataPartitionSizeSpinBox">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="suffix">
|
||||
<string> Mb</string>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>99999</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>1024</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="AVDStartPushButton">
|
||||
<property name="enabled">
|
||||
@@ -420,6 +394,13 @@
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="AVDAdvancedOptionsPushButton">
|
||||
<property name="text">
|
||||
<string>Advanced Options...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
|
@@ -154,7 +154,7 @@ MakefileParser::TopTarget MakefileParser::topTarget() const
|
||||
return BuiltSources;
|
||||
if (id == QLatin1String("SUBDIRS") || id == QLatin1String("DIST_SUBDIRS"))
|
||||
return SubDirs;
|
||||
if (id.endsWith(QLatin1String("_SOURCES")))
|
||||
if (id.endsWith("_SOURCES") || id.endsWith("_HEADERS"))
|
||||
return Sources;
|
||||
|
||||
return Undefined;
|
||||
@@ -174,7 +174,7 @@ void MakefileParser::parseBinPrograms()
|
||||
|
||||
void MakefileParser::parseSources()
|
||||
{
|
||||
QTC_ASSERT(m_line.contains(QLatin1String("_SOURCES")), return);
|
||||
QTC_ASSERT(m_line.contains("_SOURCES") || m_line.contains("_HEADERS"), return);
|
||||
|
||||
bool hasVariables = false;
|
||||
m_sources.append(targetValues(&hasVariables));
|
||||
|
@@ -136,41 +136,6 @@ void Selector::mouseRelease(QMouseEvent *event, GraphicsScene *scene)
|
||||
m_rect = QRectF();
|
||||
}
|
||||
|
||||
bool Selector::isOverMovableItem(const QPointF &pos, GraphicsScene *scene)
|
||||
{
|
||||
auto intersect = [pos](QGraphicsObject *item) {
|
||||
return item->mapRectToScene(item->boundingRect()).contains(pos);
|
||||
};
|
||||
|
||||
const auto frames = scene->keyframes();
|
||||
for (auto *frame : frames) {
|
||||
if (intersect(frame))
|
||||
return true;
|
||||
|
||||
if (auto *leftHandle = frame->leftHandle()) {
|
||||
if (intersect(leftHandle))
|
||||
return true;
|
||||
}
|
||||
|
||||
if (auto *rightHandle = frame->rightHandle()) {
|
||||
if (intersect(rightHandle))
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
bool Selector::isOverSelectedKeyframe(const QPointF &pos, GraphicsScene *scene)
|
||||
{
|
||||
const auto frames = scene->selectedKeyframes();
|
||||
for (auto *frame : frames) {
|
||||
QRectF frameRect = frame->mapRectToScene(frame->boundingRect());
|
||||
if (frameRect.contains(pos))
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
bool Selector::select(const SelectionTool &tool, const QPointF &pos, GraphicsScene *scene)
|
||||
{
|
||||
auto selectWidthTool = [this,
|
||||
|
@@ -50,10 +50,6 @@ public:
|
||||
void mouseRelease(QMouseEvent *event, GraphicsScene *scene);
|
||||
|
||||
private:
|
||||
bool isOverSelectedKeyframe(const QPointF &pos, GraphicsScene *scene);
|
||||
|
||||
bool isOverMovableItem(const QPointF &pos, GraphicsScene *scene);
|
||||
|
||||
bool select(const SelectionTool &tool, const QPointF &pos, GraphicsScene *scene);
|
||||
|
||||
bool pressSelection(SelectionMode mode, const QPointF &pos, GraphicsScene *scene);
|
||||
|
@@ -68,6 +68,7 @@ public:
|
||||
QString qmlPath() const;
|
||||
QString qmlSource() const;
|
||||
QString requiredImport() const;
|
||||
QString customComponentSource() const;
|
||||
|
||||
using Property = QmlDesigner::PropertyContainer;
|
||||
|
||||
@@ -84,6 +85,7 @@ public:
|
||||
void setQmlPath(const QString &qml);
|
||||
void setRequiredImport(const QString &requiredImport);
|
||||
void addHints(const QHash<QString, QString> &hints);
|
||||
void setCustomComponentSource(const QString &source);
|
||||
|
||||
private:
|
||||
std::shared_ptr<Internal::ItemLibraryEntryData> m_data;
|
||||
|
@@ -50,6 +50,7 @@ public:
|
||||
QString qmlSource;
|
||||
QString requiredImport;
|
||||
QHash<QString, QString> hints;
|
||||
QString customComponentSource;
|
||||
};
|
||||
|
||||
} // namespace Internal
|
||||
@@ -104,6 +105,11 @@ QString ItemLibraryEntry::requiredImport() const
|
||||
return m_data->requiredImport;
|
||||
}
|
||||
|
||||
QString ItemLibraryEntry::customComponentSource() const
|
||||
{
|
||||
return m_data->customComponentSource;
|
||||
}
|
||||
|
||||
int ItemLibraryEntry::majorVersion() const
|
||||
{
|
||||
return m_data->majorVersion;
|
||||
@@ -178,6 +184,11 @@ void ItemLibraryEntry::addHints(const QHash<QString, QString> &hints)
|
||||
Utils::addToHash(&m_data->hints, hints);
|
||||
}
|
||||
|
||||
void ItemLibraryEntry::setCustomComponentSource(const QString &source)
|
||||
{
|
||||
m_data->customComponentSource = source;
|
||||
}
|
||||
|
||||
void ItemLibraryEntry::addProperty(PropertyName &name, QString &type, QVariant &value)
|
||||
{
|
||||
Property property;
|
||||
@@ -200,6 +211,7 @@ QDataStream& operator<<(QDataStream& stream, const ItemLibraryEntry &itemLibrary
|
||||
stream << itemLibraryEntry.m_data->properties;
|
||||
stream << itemLibraryEntry.m_data->qml;
|
||||
stream << itemLibraryEntry.m_data->qmlSource;
|
||||
stream << itemLibraryEntry.m_data->customComponentSource;
|
||||
|
||||
return stream;
|
||||
}
|
||||
@@ -223,6 +235,7 @@ QDataStream& operator>>(QDataStream& stream, ItemLibraryEntry &itemLibraryEntry)
|
||||
stream >> itemLibraryEntry.m_data->properties;
|
||||
stream >> itemLibraryEntry.m_data->qml;
|
||||
stream >> itemLibraryEntry.m_data->qmlSource;
|
||||
stream >> itemLibraryEntry.m_data->customComponentSource;
|
||||
|
||||
return stream;
|
||||
}
|
||||
@@ -242,6 +255,7 @@ QDebug operator<<(QDebug debug, const ItemLibraryEntry &itemLibraryEntry)
|
||||
debug << itemLibraryEntry.m_data->properties;
|
||||
debug << itemLibraryEntry.m_data->qml;
|
||||
debug << itemLibraryEntry.m_data->qmlSource;
|
||||
debug << itemLibraryEntry.m_data->customComponentSource;
|
||||
|
||||
return debug.space();
|
||||
}
|
||||
|
@@ -336,6 +336,7 @@ void SubComponentManager::registerQmlFile(const QFileInfo &fileInfo, const QStri
|
||||
itemLibraryEntry.setType(componentName.toUtf8());
|
||||
itemLibraryEntry.setName(baseComponentName);
|
||||
itemLibraryEntry.setCategory(tr("My QML Components"));
|
||||
itemLibraryEntry.setCustomComponentSource(fileInfo.absoluteFilePath());
|
||||
if (!qualifier.isEmpty()) {
|
||||
itemLibraryEntry.setRequiredImport(fixedQualifier);
|
||||
}
|
||||
|
@@ -1,7 +1,7 @@
|
||||
ACLOCAL_AMFLAGS = -I m4
|
||||
|
||||
lib_LTLIBRARIES = libfoo.la
|
||||
libfoo_la_SOURCES = foo.c
|
||||
libfoo_la_SOURCES = foo.c foo.h
|
||||
|
||||
bin_PROGRAMS = main
|
||||
main_SOURCES = main.c
|
||||
|
Reference in New Issue
Block a user