diff options
author | Aqua-sama <aqua@iserlohn-fortress.net> | 2017-06-03 17:22:50 +0200 |
---|---|---|
committer | Aqua-sama <aqua@iserlohn-fortress.net> | 2017-06-03 17:22:50 +0200 |
commit | 8917ca1cfb8a77a84fea06f6a9c00558f5a21e88 (patch) | |
tree | 2e03ed197f38e93764a3926776888636b22e8e21 /src/plugins | |
parent | Test plugin loading (diff) | |
download | smolbote-8917ca1cfb8a77a84fea06f6a9c00558f5a21e88.tar.xz |
Adding plugin action to the menu bar
Diffstat (limited to 'src/plugins')
-rw-r--r-- | src/plugins/plugins.qbs | 5 | ||||
-rw-r--r-- | src/plugins/testplugin/testplugin.cpp | 31 | ||||
-rw-r--r-- | src/plugins/testplugin/testplugin.h | 45 | ||||
-rw-r--r-- | src/plugins/tomleditor/tomleditor.qbs | 26 | ||||
-rw-r--r-- | src/plugins/tomleditor/tomleditorform.cpp | 53 | ||||
-rw-r--r-- | src/plugins/tomleditor/tomleditorform.h | 56 | ||||
-rw-r--r-- | src/plugins/tomleditor/tomleditorform.ui | 22 |
7 files changed, 238 insertions, 0 deletions
diff --git a/src/plugins/plugins.qbs b/src/plugins/plugins.qbs new file mode 100644 index 0000000..72b4ba2 --- /dev/null +++ b/src/plugins/plugins.qbs @@ -0,0 +1,5 @@ +Project { + references: [ + "tomleditor/tomleditor.qbs", + ] +} diff --git a/src/plugins/testplugin/testplugin.cpp b/src/plugins/testplugin/testplugin.cpp new file mode 100644 index 0000000..10cab91 --- /dev/null +++ b/src/plugins/testplugin/testplugin.cpp @@ -0,0 +1,31 @@ +/******************************************************************************* + ** + ** smolbote: yet another qute browser + ** Copyright (C) 2017 Xian Nox + ** + ** This program is free software: you can redistribute it and/or modify + ** it under the terms of the GNU General Public License as published by + ** the Free Software Foundation, either version 3 of the License, or + ** (at your option) any later version. + ** + ** This program is distributed in the hope that it will be useful, + ** but WITHOUT ANY WARRANTY; without even the implied warranty of + ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + ** GNU General Public License for more details. + ** + ** You should have received a copy of the GNU General Public License + ** along with this program. If not, see <http://www.gnu.org/licenses/>. + ** + ******************************************************************************/ + +#include "testplugin.h" + +TestPlugin::TestPlugin(QObject *parent) : QObject(parent) +{ + +} + +QString TestPlugin::name() const +{ + return QString("Test Plugin"); +} diff --git a/src/plugins/testplugin/testplugin.h b/src/plugins/testplugin/testplugin.h new file mode 100644 index 0000000..eec3b1f --- /dev/null +++ b/src/plugins/testplugin/testplugin.h @@ -0,0 +1,45 @@ +/******************************************************************************* + ** + ** smolbote: yet another qute browser + ** Copyright (C) 2017 Xian Nox + ** + ** This program is free software: you can redistribute it and/or modify + ** it under the terms of the GNU General Public License as published by + ** the Free Software Foundation, either version 3 of the License, or + ** (at your option) any later version. + ** + ** This program is distributed in the hope that it will be useful, + ** but WITHOUT ANY WARRANTY; without even the implied warranty of + ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + ** GNU General Public License for more details. + ** + ** You should have received a copy of the GNU General Public License + ** along with this program. If not, see <http://www.gnu.org/licenses/>. + ** + ******************************************************************************/ + +#ifndef TESTPLUGIN_H +#define TESTPLUGIN_H + +#include <QObject> +#include "interfaces.h" + +class TestPlugin : public QObject, + public PluginInterface +{ + Q_OBJECT + Q_PLUGIN_METADATA(IID PluginInterface_iid) + Q_INTERFACES(PluginInterface) + +public: + explicit TestPlugin(QObject *parent = nullptr); + + // PluginInterface + QString name() const override; + +signals: + +public slots: +}; + +#endif // TESTPLUGIN_H diff --git a/src/plugins/tomleditor/tomleditor.qbs b/src/plugins/tomleditor/tomleditor.qbs new file mode 100644 index 0000000..9b577a7 --- /dev/null +++ b/src/plugins/tomleditor/tomleditor.qbs @@ -0,0 +1,26 @@ +import qbs 1.0 + +Project { + name: "tomleditor" + + DynamicLibrary { + id: tomleditor + name: "tomleditor" + Depends { name: "cpp" } + Depends { name: "Qt"; submodules: ["core", "widgets", "webengine", "webenginewidgets"] } + + cpp.includePaths: ["../.."] + files: [ + "tomleditorform.cpp", + "tomleditorform.h", + "tomleditorform.ui", + ] + + Group { + fileTagsFilter: product.type + qbs.install: true + qbs.installDir: "lib/smolbote/plugins" + } + + } // DynamicLibrary testPlugin +} diff --git a/src/plugins/tomleditor/tomleditorform.cpp b/src/plugins/tomleditor/tomleditorform.cpp new file mode 100644 index 0000000..0a7d2f8 --- /dev/null +++ b/src/plugins/tomleditor/tomleditorform.cpp @@ -0,0 +1,53 @@ +/******************************************************************************* + ** + ** smolbote: yet another qute browser + ** Copyright (C) 2017 Xian Nox + ** + ** This program is free software: you can redistribute it and/or modify + ** it under the terms of the GNU General Public License as published by + ** the Free Software Foundation, either version 3 of the License, or + ** (at your option) any later version. + ** + ** This program is distributed in the hope that it will be useful, + ** but WITHOUT ANY WARRANTY; without even the implied warranty of + ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + ** GNU General Public License for more details. + ** + ** You should have received a copy of the GNU General Public License + ** along with this program. If not, see <http://www.gnu.org/licenses/>. + ** + ******************************************************************************/ + +#include "tomleditorform.h" +#include "ui_tomleditorform.h" + +#include <QAction> + +TomlEditorForm::TomlEditorForm(QWidget *parent) : + QWidget(parent), + ui(new Ui::TomlEditorForm) +{ + ui->setupUi(this); + m_action = new QAction(tr("Editor")); + connect(m_action, SIGNAL(triggered()), this, SLOT(show())); +} + +TomlEditorForm::~TomlEditorForm() +{ + delete ui; +} + +QString TomlEditorForm::name() const +{ + return QString("Toml Editor Plugin"); +} + +QWidget *TomlEditorForm::widget() +{ + return this; +} + +QAction *TomlEditorForm::action() +{ + return m_action; +} diff --git a/src/plugins/tomleditor/tomleditorform.h b/src/plugins/tomleditor/tomleditorform.h new file mode 100644 index 0000000..d0bf022 --- /dev/null +++ b/src/plugins/tomleditor/tomleditorform.h @@ -0,0 +1,56 @@ +/******************************************************************************* + ** + ** smolbote: yet another qute browser + ** Copyright (C) 2017 Xian Nox + ** + ** This program is free software: you can redistribute it and/or modify + ** it under the terms of the GNU General Public License as published by + ** the Free Software Foundation, either version 3 of the License, or + ** (at your option) any later version. + ** + ** This program is distributed in the hope that it will be useful, + ** but WITHOUT ANY WARRANTY; without even the implied warranty of + ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + ** GNU General Public License for more details. + ** + ** You should have received a copy of the GNU General Public License + ** along with this program. If not, see <http://www.gnu.org/licenses/>. + ** + ******************************************************************************/ + +#ifndef TOMLEDITORFORM_H +#define TOMLEDITORFORM_H + +#include <QWidget> +#include <interfaces.h> + +namespace Ui { +class TomlEditorForm; +} + +class TomlEditorForm : public QWidget, + public PluginInterface, + public GuiInterface +{ + Q_OBJECT + Q_PLUGIN_METADATA(IID PluginInterface_iid) + Q_INTERFACES(PluginInterface GuiInterface) + +public: + explicit TomlEditorForm(QWidget *parent = 0); + ~TomlEditorForm(); + + // PluginInterface + QString name() const override; + + // GuiInterface + QWidget *widget() override; + QAction *action() override; + +private: + Ui::TomlEditorForm *ui; + + QAction *m_action; +}; + +#endif // TOMLEDITORFORM_H diff --git a/src/plugins/tomleditor/tomleditorform.ui b/src/plugins/tomleditor/tomleditorform.ui new file mode 100644 index 0000000..adc750e --- /dev/null +++ b/src/plugins/tomleditor/tomleditorform.ui @@ -0,0 +1,22 @@ +<?xml version='1.0'?> +<ui version="4.0"> + <author/> + <comment/> + <exportmacro/> + <class>TomlEditorForm</class> + <widget name="TomlEditorForm" class="QWidget"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>240</width> + <height>320</height> + </rect> + </property> + <property name="windowTitle"> + <string>Form</string> + </property> + </widget> + <pixmapfunction/> + <connections/> +</ui> |