summaryrefslogtreecommitdiff
path: root/ui
diff options
context:
space:
mode:
authorBrian Potchik <brian@vector35.com>2025-06-20 00:45:35 -0400
committerBrian Potchik <brian@vector35.com>2025-06-20 00:45:35 -0400
commit55b3ce7de85ef38158e0a248105d3eb2a8562871 (patch)
treef98a7d43fb1712f3a42d3722d1da2e6865c7069f /ui
parent46e058a98054693037b9accba4265f8481e60231 (diff)
Initial support for Quick Settings.
Diffstat (limited to 'ui')
-rw-r--r--ui/quicksettings.h32
-rw-r--r--ui/settingsview.h3
2 files changed, 35 insertions, 0 deletions
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 <QtCore/QString>
+#include <QtCore/QStringList>
+
+#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<bool()>& 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<QuickSettingsInfo> 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;