aboutsummaryrefslogtreecommitdiff
path: root/src/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/plugins.qbs5
-rw-r--r--src/plugins/testplugin/testplugin.cpp31
-rw-r--r--src/plugins/testplugin/testplugin.h45
-rw-r--r--src/plugins/tomleditor/tomleditor.qbs26
-rw-r--r--src/plugins/tomleditor/tomleditorform.cpp53
-rw-r--r--src/plugins/tomleditor/tomleditorform.h56
-rw-r--r--src/plugins/tomleditor/tomleditorform.ui22
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>