From 81dcf7de91c1866d565f7aa9eb38f7fbd1cd7ad7 Mon Sep 17 00:00:00 2001 From: Akshay Nair Date: Fri, 25 Jul 2025 20:27:44 +0530 Subject: Add decoration is_enabled api + allowed specifying win_id for enabled --- src/WindowActionRouter.hpp | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'src/WindowActionRouter.hpp') diff --git a/src/WindowActionRouter.hpp b/src/WindowActionRouter.hpp index aa8737d..7cc530c 100644 --- a/src/WindowActionRouter.hpp +++ b/src/WindowActionRouter.hpp @@ -5,11 +5,14 @@ #include #include #include +#include +#include #include "EventQueue.hpp" #include "keymap/KeymapEvaluator.hpp" #include "utils.hpp" #include "widgets/BrowserWindow.hpp" +#include "widgets/Decorations.hpp" #include "widgets/WebViewStack.hpp" #define WITH_WEBVIEW_WINDOW(WEBVIEW_ID, IDENT, BLOCK) \ @@ -38,6 +41,7 @@ public: QList fetch_webview_data_list(WindowId win_id = 0); QVariant fetch_config_value(const QString &key); KeyMode fetch_current_mode() const; + bool fetch_is_decoration_enabled(DecorationType type, WindowId win_id); DEFINE_GETTER(fetch_current_search_text, current_search_text) DEFINE_SETTER(set_current_search_text, current_search_text) @@ -45,6 +49,24 @@ public: DELEGATE(&event_queue, dispatch_event, dispatch_event) DELEGATE(&event_queue, register_event, register_event) + std::vector get_windows_for_optional_win_id(std::optional win_id) { + std::vector windows; + + if (!win_id.has_value()) { + for (auto &win_pair : window_map) + windows.push_back(win_pair.second); + } else if (win_id.value() == 0) { + for (auto &win_pair : window_map) { + if (win_pair.second->isActiveWindow()) + windows.push_back(win_pair.second); + } + } else if (win_id.value() > 0 && window_map.contains(win_id.value())) { + windows.push_back(window_map.at(win_id.value())); + } + + return windows; + } + protected: WindowActionRouter() = default; -- cgit v1.3.1