diff options
Diffstat (limited to 'api/plugin-api.cpp')
| -rw-r--r-- | api/plugin-api.cpp | 89 |
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); } |
