summaryrefslogtreecommitdiffhomepage
path: root/api/plugin-api.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'api/plugin-api.cpp')
-rw-r--r--api/plugin-api.cpp89
1 files changed, 61 insertions, 28 deletions
diff --git a/api/plugin-api.cpp b/api/plugin-api.cpp
index 729b011f..4d8d90e9 100644
--- a/api/plugin-api.cpp
+++ b/api/plugin-api.cpp
@@ -1,44 +1,77 @@
#include "plugin-api.hpp"
+#include <QCloseEvent>
+#include <QDebug>
-using namespace plugin_api::detail;
+namespace plugin_api::detail {
+
+BaseDialog::BaseDialog() = default;
+void BaseDialog::closeEvent(QCloseEvent* e)
+{
+ if (isVisible())
+ emit closing();
+ e->accept();
+}
+
+void BaseDialog::done(int)
+{
+ if (isVisible())
+ close();
+}
+
+bool BaseDialog::embeddable() noexcept { return false; }
+void BaseDialog::save() {}
+void BaseDialog::reload() {}
+void BaseDialog::set_buttons_visible(bool) {}
+
+} // ns plugin_api::detail
// these exist so that vtable is emitted in a single compilation unit, not all of them.
-Metadata::~Metadata() {}
-IFilter::~IFilter() {}
-IFilterDialog::~IFilterDialog() {}
-IProtocol::~IProtocol() {}
-IProtocolDialog::~IProtocolDialog() {}
-ITracker::~ITracker() {}
-ITrackerDialog::~ITrackerDialog() {}
+Metadata_::Metadata_() = default;
+Metadata_::~Metadata_() = default;
+Metadata::Metadata() = default;
+Metadata::~Metadata() = default;
+IFilter::IFilter() = default;
+IFilter::~IFilter() = default;
+IFilterDialog::IFilterDialog() = default;
+IFilterDialog::~IFilterDialog() = default;
+void IFilterDialog::register_filter(IFilter*) {}
+void IFilterDialog::unregister_filter() {}
+IProtocol::IProtocol() = default;
+IProtocol::~IProtocol() = default;
+IProtocolDialog::IProtocolDialog() = default;
+IProtocolDialog::~IProtocolDialog() = default;
+void IProtocolDialog::register_protocol(IProtocol*){}
+void IProtocolDialog::unregister_protocol() {}
+ITracker::ITracker() = default;
+ITracker::~ITracker() = default;
+bool ITracker::center() { return false; }
+ITrackerDialog::ITrackerDialog() = default;
+ITrackerDialog::~ITrackerDialog() = default;
void ITrackerDialog::register_tracker(ITracker*) {}
void ITrackerDialog::unregister_tracker() {}
-BaseDialog::BaseDialog() {}
+bool module_status::is_ok() const
+{
+ return error.isNull();
+}
+module_status_mixin::~module_status_mixin() = default;
+module_status::module_status(const QString& error) : error(error) {}
+module_status::module_status() = default;
+module_status module_status_mixin::status_ok() { return {}; }
-void BaseDialog::closeEvent(QCloseEvent*)
+module_status module_status_mixin::error(const QString& error)
{
- if (isVisible())
- {
- hide();
- emit closing();
- }
+ return module_status(error.isEmpty() ? tr("Unknown error") : error);
}
-Metadata::Metadata() {}
-IFilter::IFilter() {}
-IFilterDialog::IFilterDialog() {}
-IProtocol::IProtocol() {}
-IProtocolDialog::IProtocolDialog() {}
-ITracker::ITracker() {}
-ITrackerDialog::ITrackerDialog() {}
+module_status ITracker::status_ok()
+{
+ return module_status();
+}
-void BaseDialog::done(int)
+module_status ITracker::error(const QString& error)
{
- if (isVisible())
- {
- hide();
- close();
- }
+ return module_status_mixin::error(error);
}