1/*
2 SPDX-FileCopyrightText: 2013 Christoph Cullmann <cullmann@kde.org>
3
4 SPDX-License-Identifier: LGPL-2.0-or-later
5*/
6
7#include <ktexteditor/application.h>
8#include <ktexteditor/mainwindow.h>
9#include <ktexteditor/plugin.h>
10
11#include "kateglobal.h"
12
13namespace KTextEditor
14{
15Application::Application(QObject *parent)
16 : QObject(parent)
17 , d(nullptr)
18{
19}
20
21Application::~Application() = default;
22
23bool Application::quit()
24{
25 // dispatch to parent
26 bool success = false;
27 QMetaObject::invokeMethod(obj: parent(), member: "quit", c: Qt::DirectConnection, Q_RETURN_ARG(bool, success));
28
29 return success;
30}
31
32QList<KTextEditor::MainWindow *> Application::mainWindows()
33{
34 // dispatch to parent
35 QList<KTextEditor::MainWindow *> mainWindow;
36 QMetaObject::invokeMethod(obj: parent(), member: "mainWindows", c: Qt::DirectConnection, Q_RETURN_ARG(QList<KTextEditor::MainWindow *>, mainWindow));
37 return mainWindow;
38}
39
40KTextEditor::MainWindow *Application::activeMainWindow()
41{
42 // dispatch to parent
43 KTextEditor::MainWindow *window = nullptr;
44 QMetaObject::invokeMethod(obj: parent(), member: "activeMainWindow", c: Qt::DirectConnection, Q_RETURN_ARG(KTextEditor::MainWindow *, window));
45
46 // always return some kind of window to not need to check for valid pointer
47 return window ? window : KTextEditor::EditorPrivate::self()->dummyMainWindow();
48}
49
50QList<KTextEditor::Document *> Application::documents()
51{
52 // dispatch to parent
53 QList<KTextEditor::Document *> documents;
54 QMetaObject::invokeMethod(obj: parent(), member: "documents", c: Qt::DirectConnection, Q_RETURN_ARG(QList<KTextEditor::Document *>, documents));
55 return documents;
56}
57
58KTextEditor::Document *Application::findUrl(const QUrl &url)
59{
60 // dispatch to parent
61 KTextEditor::Document *document = nullptr;
62 QMetaObject::invokeMethod(obj: parent(), member: "findUrl", c: Qt::DirectConnection, Q_RETURN_ARG(KTextEditor::Document *, document), Q_ARG(QUrl, url));
63 return document;
64}
65
66KTextEditor::Document *Application::openUrl(const QUrl &url, const QString &encoding)
67{
68 // dispatch to parent
69 KTextEditor::Document *document = nullptr;
70 QMetaObject::invokeMethod(obj: parent(),
71 member: "openUrl",
72 c: Qt::DirectConnection,
73 Q_RETURN_ARG(KTextEditor::Document *, document),
74 Q_ARG(QUrl, url),
75 Q_ARG(QString, encoding));
76 return document;
77}
78
79bool Application::closeDocument(KTextEditor::Document *document)
80{
81 // dispatch to parent
82 bool success = false;
83 QMetaObject::invokeMethod(obj: parent(), member: "closeDocument", c: Qt::DirectConnection, Q_RETURN_ARG(bool, success), Q_ARG(KTextEditor::Document *, document));
84 return success;
85}
86
87bool Application::closeDocuments(const QList<KTextEditor::Document *> &documents)
88{
89 // dispatch to parent
90 bool success = false;
91 QMetaObject::invokeMethod(obj: parent(), member: "closeDocuments", c: Qt::DirectConnection, Q_RETURN_ARG(bool, success), Q_ARG(QList<KTextEditor::Document *>, documents));
92 return success;
93}
94
95KTextEditor::Plugin *Application::plugin(const QString &name)
96{
97 // dispatch to parent
98 Plugin *plugin = nullptr;
99 QMetaObject::invokeMethod(obj: parent(), member: "plugin", c: Qt::DirectConnection, Q_RETURN_ARG(KTextEditor::Plugin *, plugin), Q_ARG(QString, name));
100 return plugin;
101}
102
103} // namespace KTextEditor
104

source code of ktexteditor/src/utils/application.cpp