summaryrefslogtreecommitdiff
path: root/ui/quicksettings.h
blob: 56bb9a6d3f5fd38b7ffce73e9e414e4a8b880a8c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#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;
	bool visible;
};


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 void setQuickSettingVisibility(const QString& settingKey, bool visible, const QString& group = "");
	static void setDisplayName(const QString& settingKey, const QString& displayName, const QString& group = "");
	static bool isQuickSetting(const QString& settingKey, const QString& group = "");
	static bool isQuickSettingVisible(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();
};