From 55b3ce7de85ef38158e0a248105d3eb2a8562871 Mon Sep 17 00:00:00 2001 From: Brian Potchik Date: Fri, 20 Jun 2025 00:45:35 -0400 Subject: Initial support for Quick Settings. --- ui/quicksettings.h | 32 ++++++++++++++++++++++++++++++++ ui/settingsview.h | 3 +++ 2 files changed, 35 insertions(+) create mode 100644 ui/quicksettings.h (limited to 'ui') diff --git a/ui/quicksettings.h b/ui/quicksettings.h new file mode 100644 index 00000000..387ee4cc --- /dev/null +++ b/ui/quicksettings.h @@ -0,0 +1,32 @@ +#pragma once + +#include +#include + +#include "binaryninjaapi.h" +#include "uitypes.h" + +class View; + + +struct BINARYNINJAUIAPI QuickSettingsInfo +{ + QString settingKey; + QString displayName; + bool workflowDependent; +}; + + +class BINARYNINJAUIAPI QuickSettings +{ + public: + static void bindDynamicActions(View* view, const std::function& isValid); + static void addQuickSetting(const QString& settingKey, const QString& displayName, const QString& group = "", bool workflowDependent = false); + static void removeQuickSetting(const QString& settingKey, const QString& group = ""); + static bool isQuickSetting(const QString& settingKey, const QString& group = ""); + static QStringList getQuickSettingGroups(); + static QList getQuickSettings(const QString& group = ""); + static QString getDisplayName(const QString& settingKey, const QString& group = ""); + static void resetAllQuickSettings(); + static void printAll(); +}; diff --git a/ui/settingsview.h b/ui/settingsview.h index b0f209b3..2506e2ac 100644 --- a/ui/settingsview.h +++ b/ui/settingsview.h @@ -156,6 +156,9 @@ class BINARYNINJAUIAPI SettingsEditor : public QWidget std::string m_settingKey; BinaryViewRef m_view = nullptr; BNSettingsScope m_scope = SettingsAutoScope; + int m_ignoreScope = 0; + QString m_quickSettingsGroup; + bool m_workflowDependent = false; QLabel* m_title = nullptr; ClickableLabel* m_description = nullptr; -- cgit v1.3.1