summaryrefslogtreecommitdiff
path: root/ui/quicksettings.h
blob: a87c17387be36eb2f702ccc6d78a79792e3d120b (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
#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 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();
};