aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/cpaster/cpasterplugin.cpp9
-rw-r--r--src/plugins/docker/kitdetector.cpp1
-rw-r--r--src/plugins/languageclient/languageclientmanager.cpp3
-rw-r--r--src/plugins/languageclient/languageclientsettings.cpp1
-rw-r--r--src/plugins/lua/bindings/qt.cpp37
-rw-r--r--src/plugins/lua/bindings/texteditor.cpp9
-rw-r--r--src/plugins/texteditor/texteditor.cpp5
-rw-r--r--src/plugins/texteditor/texteditor.h1
8 files changed, 64 insertions, 2 deletions
diff --git a/src/plugins/cpaster/cpasterplugin.cpp b/src/plugins/cpaster/cpasterplugin.cpp
index 2f3c4561960..a2aedfb39d8 100644
--- a/src/plugins/cpaster/cpasterplugin.cpp
+++ b/src/plugins/cpaster/cpasterplugin.cpp
@@ -22,6 +22,7 @@
#include <coreplugin/messagemanager.h>
#include <extensionsystem/iplugin.h>
+#include <extensionsystem/pluginmanager.h>
#include <utils/algorithm.h>
#include <utils/fileutils.h>
@@ -74,6 +75,7 @@ class CodePasterPluginPrivate : public QObject
{
public:
CodePasterPluginPrivate();
+ ~CodePasterPluginPrivate();
void post(PasteSource pasteSources);
void post(QString data, const QString &mimeType);
@@ -173,6 +175,13 @@ CodePasterPluginPrivate::CodePasterPluginPrivate()
.setText(Tr::tr("Fetch from URL..."))
.addToContainer(menu)
.addOnTriggered(this, &CodePasterPluginPrivate::fetchUrl);
+
+ ExtensionSystem::PluginManager::addObject(&m_service);
+}
+
+CodePasterPluginPrivate::~CodePasterPluginPrivate()
+{
+ ExtensionSystem::PluginManager::removeObject(&m_service);
}
static inline void textFromCurrentEditor(QString *text, QString *mimeType)
diff --git a/src/plugins/docker/kitdetector.cpp b/src/plugins/docker/kitdetector.cpp
index 6d8e9d36536..c73d20f2f19 100644
--- a/src/plugins/docker/kitdetector.cpp
+++ b/src/plugins/docker/kitdetector.cpp
@@ -355,6 +355,7 @@ void KitDetectorPrivate::autoDetect()
RunDeviceTypeKitAspect::setDeviceTypeId(k, m_device->type());
RunDeviceKitAspect::setDevice(k, m_device);
+ BuildDeviceTypeKitAspect::setDeviceTypeId(k, m_device->type());
BuildDeviceKitAspect::setDevice(k, m_device);
const Toolchains toolchainCandidates = ToolchainManager::toolchains(
diff --git a/src/plugins/languageclient/languageclientmanager.cpp b/src/plugins/languageclient/languageclientmanager.cpp
index 41058b14fbf..02c995d8a4c 100644
--- a/src/plugins/languageclient/languageclientmanager.cpp
+++ b/src/plugins/languageclient/languageclientmanager.cpp
@@ -660,7 +660,8 @@ void LanguageClientManager::documentOpened(Core::IDocument *document)
clients.removeAll(clientForProject);
}
} else if (setting->m_startBehavior == BaseSettings::RequiresFile && clients.isEmpty()) {
- clients << startClient(setting);
+ if (Client *client = startClient(setting); QTC_GUARD(client))
+ clients << client;
}
allClients << clients;
}
diff --git a/src/plugins/languageclient/languageclientsettings.cpp b/src/plugins/languageclient/languageclientsettings.cpp
index f5e73eb0a4b..357487cc8a3 100644
--- a/src/plugins/languageclient/languageclientsettings.cpp
+++ b/src/plugins/languageclient/languageclientsettings.cpp
@@ -618,6 +618,7 @@ Client *BaseSettings::createClient(ProjectExplorer::Project *project) const
BaseClientInterface *interface = createInterface(project);
QTC_ASSERT(interface, return nullptr);
auto *client = createClient(interface);
+ QTC_ASSERT(client, return nullptr);
if (client->name().isEmpty())
client->setName(Utils::globalMacroExpander()->expand(m_name));
diff --git a/src/plugins/lua/bindings/qt.cpp b/src/plugins/lua/bindings/qt.cpp
index 16bcb12b714..eace0e0ab09 100644
--- a/src/plugins/lua/bindings/qt.cpp
+++ b/src/plugins/lua/bindings/qt.cpp
@@ -7,10 +7,11 @@
#include <utils/stringutils.h>
+#include <QAction>
#include <QApplication>
#include <QClipboard>
-#include <QCursor>
#include <QCompleter>
+#include <QCursor>
#include <QDir>
#include <QFileDevice>
#include <QFontMetrics>
@@ -26,6 +27,40 @@ void setupQtModule()
sol::table qt(lua, sol::create);
const ScriptPluginSpec *pluginSpec = lua.get<ScriptPluginSpec *>("PluginSpec"sv);
+ qt.new_usertype<QAction>(
+ "QAction",
+ sol::no_constructor,
+ "checkable",
+ sol::property(&QAction::isCheckable, &QAction::setCheckable),
+ "checked",
+ sol::property(&QAction::isChecked, &QAction::setChecked),
+ "enabled",
+ sol::property(&QAction::isEnabled, &QAction::setEnabled),
+ "icon",
+ sol::property(
+ &QAction::icon,
+ [](QAction *action, IconFilePathOrString icon) {
+ action->setIcon(toIcon(icon)->icon());
+ }),
+ "text",
+ sol::property(&QAction::text, &QAction::setText),
+ "iconText",
+ sol::property(&QAction::iconText, &QAction::setIconText),
+ "toolTip",
+ sol::property(&QAction::toolTip, &QAction::setToolTip),
+ "statusTip",
+ sol::property(&QAction::statusTip, &QAction::setStatusTip),
+ "whatsThis",
+ sol::property(&QAction::whatsThis, &QAction::setWhatsThis),
+ "visible",
+ sol::property(&QAction::isVisible, &QAction::setVisible),
+ "iconVisibleInMenu",
+ sol::property(&QAction::isIconVisibleInMenu, &QAction::setIconVisibleInMenu),
+ "shortcutVisibleInContextMenu",
+ sol::property(
+ &QAction::isShortcutVisibleInContextMenu,
+ &QAction::setShortcutVisibleInContextMenu));
+
qt.new_usertype<QCompleter>(
"QCompleter",
"create",
diff --git a/src/plugins/lua/bindings/texteditor.cpp b/src/plugins/lua/bindings/texteditor.cpp
index 4e5aa2cd8f3..0fe3d77b172 100644
--- a/src/plugins/lua/bindings/texteditor.cpp
+++ b/src/plugins/lua/bindings/texteditor.cpp
@@ -224,6 +224,15 @@ void setupTextEditorModule()
return BaseTextEditor::currentTextEditor();
};
+ result["openedEditors"] = [lua]() mutable -> sol::table {
+ QList<BaseTextEditor *> editors = BaseTextEditor::openedTextEditors();
+ sol::table result = lua.create_table();
+ for (auto& editor : editors) {
+ result.add(TextEditorPtr(editor));
+ }
+ return result;
+ };
+
result.new_usertype<MultiTextCursor>(
"MultiTextCursor",
sol::no_constructor,
diff --git a/src/plugins/texteditor/texteditor.cpp b/src/plugins/texteditor/texteditor.cpp
index 0df4d50af7b..35e03c5ceb4 100644
--- a/src/plugins/texteditor/texteditor.cpp
+++ b/src/plugins/texteditor/texteditor.cpp
@@ -10354,6 +10354,11 @@ BaseTextEditor *BaseTextEditor::currentTextEditor()
return qobject_cast<BaseTextEditor *>(EditorManager::currentEditor());
}
+QList<BaseTextEditor *> BaseTextEditor::openedTextEditors()
+{
+ return qobject_container_cast<BaseTextEditor *>(DocumentModel::editorsForOpenedDocuments());
+}
+
QList<BaseTextEditor *> BaseTextEditor::textEditorsForDocument(TextDocument *doc)
{
return qobject_container_cast<BaseTextEditor *>(DocumentModel::editorsForDocument(doc));
diff --git a/src/plugins/texteditor/texteditor.h b/src/plugins/texteditor/texteditor.h
index c3ed07936e2..91bb164bfa9 100644
--- a/src/plugins/texteditor/texteditor.h
+++ b/src/plugins/texteditor/texteditor.h
@@ -127,6 +127,7 @@ public:
virtual void finalizeInitialization() {}
static BaseTextEditor *currentTextEditor();
+ static QList<BaseTextEditor *> openedTextEditors();
static QList<BaseTextEditor *> textEditorsForDocument(TextDocument *textDocument);
static QList<BaseTextEditor *> textEditorsForFilePath(const Utils::FilePath &path);