aboutsummaryrefslogtreecommitdiff
path: root/plugins/ProfileEditor
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/ProfileEditor')
-rw-r--r--plugins/ProfileEditor/CMakeLists.txt18
-rw-r--r--plugins/ProfileEditor/ProfileEditor.json5
-rw-r--r--plugins/ProfileEditor/profileeditorplugin.cpp27
-rw-r--r--plugins/ProfileEditor/profileeditorplugin.h29
4 files changed, 79 insertions, 0 deletions
diff --git a/plugins/ProfileEditor/CMakeLists.txt b/plugins/ProfileEditor/CMakeLists.txt
new file mode 100644
index 0000000..3eaa0f5
--- /dev/null
+++ b/plugins/ProfileEditor/CMakeLists.txt
@@ -0,0 +1,18 @@
+cmake_minimum_required(VERSION 3.1.0)
+
+find_package(Qt5Core REQUIRED)
+find_package(Qt5Widgets REQUIRED)
+find_package(Qt5WebEngineWidgets REQUIRED)
+
+set(CMAKE_AUTOMOC ON)
+
+add_library(ProfileEditorPlugin SHARED
+ profileeditorplugin.cpp
+ profileeditorplugin.h)
+
+target_include_directories(ProfileEditorPlugin
+ PUBLIC ..)
+
+target_link_libraries(ProfileEditorPlugin
+ PRIVATE Qt5::Widgets
+ PRIVATE Qt5::WebEngineWidgets)
diff --git a/plugins/ProfileEditor/ProfileEditor.json b/plugins/ProfileEditor/ProfileEditor.json
new file mode 100644
index 0000000..e371eee
--- /dev/null
+++ b/plugins/ProfileEditor/ProfileEditor.json
@@ -0,0 +1,5 @@
+{
+ "name": "Profile Editor",
+ "shortcut": "Ctrl+F2",
+ "author": "Aqua-sama <aqua@iserlohn-fortress.net"
+}
diff --git a/plugins/ProfileEditor/profileeditorplugin.cpp b/plugins/ProfileEditor/profileeditorplugin.cpp
new file mode 100644
index 0000000..1f4f16e
--- /dev/null
+++ b/plugins/ProfileEditor/profileeditorplugin.cpp
@@ -0,0 +1,27 @@
+/*
+ * This file is part of smolbote. It's copyrighted by the contributors recorded
+ * in the version control history of the file, available from its original
+ * location: git://neueland.iserlohn-fortress.net/smolbote.git
+ *
+ * SPDX-License-Identifier: GPL-3.0
+ */
+
+#include "profileeditorplugin.h"
+#include <QLabel>
+#include <QVBoxLayout>
+
+QWidget *ProfileEditorPlugin::createWidget(QWebEngineProfile *profile, QWidget *parent)
+{
+ QWidget *widget = new QWidget(parent);
+ widget->setWindowFlags(Qt::ToolTip);
+ widget->setVisible(false);
+ auto *layout = new QVBoxLayout(widget);
+ widget->setLayout(layout);
+
+ QLabel *storageName_label = new QLabel(profile->storageName(), widget);
+ if(storageName_label->text().isEmpty())
+ storageName_label->setText(tr("Off-the-record"));
+ layout->addWidget(storageName_label);
+
+ return widget;
+}
diff --git a/plugins/ProfileEditor/profileeditorplugin.h b/plugins/ProfileEditor/profileeditorplugin.h
new file mode 100644
index 0000000..3115ab2
--- /dev/null
+++ b/plugins/ProfileEditor/profileeditorplugin.h
@@ -0,0 +1,29 @@
+/*
+ * This file is part of smolbote. It's copyrighted by the contributors recorded
+ * in the version control history of the file, available from its original
+ * location: git://neueland.iserlohn-fortress.net/smolbote.git
+ *
+ * SPDX-License-Identifier: GPL-3.0
+ */
+
+#ifndef PROFILEEDITORPLUGIN_H
+#define PROFILEEDITORPLUGIN_H
+
+#include <QWebEngineProfile>
+#include <QWidget>
+#include <interfaces.h>
+
+class ProfileEditorPlugin : public QObject, public PluginInterface, public ProfileInterface
+{
+ Q_OBJECT
+ Q_PLUGIN_METADATA(IID ProfileInterfaceIid FILE "ProfileEditor.json")
+ Q_INTERFACES(PluginInterface ProfileInterface)
+
+public:
+ // PluginInterface
+
+ // ProfileInterface
+ QWidget *createWidget(QWebEngineProfile *profile, QWidget *parent) override;
+};
+
+#endif //PROFILEEDITORPLUGIN_H