Sandboxie/SandboxiePlus/SandMan/Views/SbieView.h

111 lines
3.0 KiB
C
Raw Normal View History

2021-03-04 20:13:45 +00:00
#pragma once
2020-06-01 17:11:56 +01:00
#include "../../MiscHelpers/Common/PanelView.h"
#include "../../MiscHelpers/Common/TreeviewEx.h"
#include "../Models/SbieModel.h"
class CSbieView : public CPanelView
{
Q_OBJECT
public:
CSbieView(QWidget* parent = 0);
virtual ~CSbieView();
virtual QTreeViewEx* GetTree() { return m_pSbieTree; }
virtual QList<CSandBoxPtr> GetSelectedBoxes();
virtual QList<CBoxedProcessPtr> GetSelectedProcesses();
2020-11-28 16:20:56 +00:00
//virtual void UpdateRunMenu();
2021-02-01 19:13:09 +00:00
virtual QString AddNewBox();
2021-01-26 20:58:43 +00:00
virtual void SelectBox(const QString& Name);
2020-11-28 16:20:56 +00:00
signals:
void RecoveryRequested(const QString& BoxName);
2020-06-01 17:11:56 +01:00
public slots:
2021-01-02 08:03:16 +00:00
void Clear();
2020-06-01 17:11:56 +01:00
void Refresh();
2020-12-07 16:34:20 +00:00
void ReloadGroups();
2020-06-01 17:11:56 +01:00
private slots:
2020-07-04 11:07:36 +01:00
void OnToolTipCallback(const QVariant& ID, QString& ToolTip);
2020-07-19 21:09:02 +01:00
void OnDoubleClicked(const QModelIndex& index);
2020-06-01 17:11:56 +01:00
void ProcessSelection(const QItemSelection& selected, const QItemSelection& deselected);
2020-12-07 16:34:20 +00:00
void OnGroupAction();
2020-06-01 17:11:56 +01:00
void OnSandBoxAction();
2021-02-21 14:32:20 +00:00
void OnSandBoxAction(QAction* pAction);
2020-06-01 17:11:56 +01:00
void OnProcessAction();
protected:
virtual void OnMenu(const QPoint& Point);
virtual QTreeView* GetView() { return m_pSbieTree; }
virtual QAbstractItemModel* GetModel() { return m_pSortProxy; }
2020-11-28 16:20:56 +00:00
virtual void UpdateRunMenu(const CSandBoxPtr& pBox);
2020-12-07 16:34:20 +00:00
QMap<QString, QStringList> m_Groups;
2020-06-01 17:11:56 +01:00
private:
2020-12-29 08:54:59 +00:00
void UpdateGroupMenu();
2021-02-14 19:18:29 +00:00
QString FindParent(const QString& Name);
bool IsParentOf(const QString& Name, const QString& Group);
2020-06-01 17:11:56 +01:00
QVBoxLayout* m_pMainLayout;
QTreeViewEx* m_pSbieTree;
CSbieModel* m_pSbieModel;
QSortFilterProxyModel* m_pSortProxy;
2020-12-22 14:50:58 +00:00
QAction* m_pNewBox;
2020-12-07 16:34:20 +00:00
QAction* m_pAddGroupe;
QAction* m_pDelGroupe;
int m_iMenuTop;
2020-06-01 17:11:56 +01:00
QMenu* m_pMenuRun;
QAction* m_pMenuRunAny;
2020-11-28 16:20:56 +00:00
QAction* m_pMenuRunMenu;
2020-06-01 17:11:56 +01:00
QAction* m_pMenuRunBrowser;
2020-11-28 16:20:56 +00:00
QAction* m_pMenuRunMailer;
2020-06-01 17:11:56 +01:00
QAction* m_pMenuRunExplorer;
QAction* m_pMenuRunCmd;
2021-02-14 19:18:29 +00:00
QAction* m_pMenuRunCmdAdmin;
2020-11-28 16:20:56 +00:00
QAction* m_pMenuMkLink;
2020-07-04 11:07:36 +01:00
QMenu* m_pMenuPresets;
2021-02-21 14:32:20 +00:00
QActionGroup* m_pMenuPresetsAdmin;
QAction* m_pMenuPresetsShowUAC;
QAction* m_pMenuPresetsNoAdmin;
QAction* m_pMenuPresetsFakeAdmin;
2020-07-04 11:07:36 +01:00
QAction* m_pMenuPresetsINet;
QAction* m_pMenuPresetsShares;
2020-07-19 21:09:02 +01:00
QAction* m_pMenuOptions;
2020-09-05 16:45:39 +01:00
QAction* m_pMenuSnapshots;
2020-06-01 17:11:56 +01:00
QAction* m_pMenuEmptyBox;
2020-10-10 17:18:01 +01:00
QAction* m_pMenuExplore;
2020-11-28 16:20:56 +00:00
QAction* m_pMenuRecover;
2020-06-01 17:11:56 +01:00
QAction* m_pMenuCleanUp;
QAction* m_pMenuRemove;
2020-12-07 16:34:20 +00:00
QMenu* m_pMenuMoveTo;
int m_iMoveTo;
2020-06-01 17:11:56 +01:00
QAction* m_pMenuRename;
int m_iMenuBox;
2020-07-04 11:07:36 +01:00
2020-06-01 17:11:56 +01:00
QAction* m_pMenuTerminate;
2020-12-29 08:54:59 +00:00
QAction* m_pMenuLinkTo;
2020-11-16 16:15:03 +00:00
QMenu* m_pMenuPreset;
QAction* m_pMenuBlackList;
2020-12-29 08:54:59 +00:00
QAction* m_pMenuAllowInternet;
QAction* m_pMenuMarkForced;
2020-11-16 16:15:03 +00:00
QAction* m_pMenuMarkLinger;
QAction* m_pMenuMarkLeader;
2020-11-28 16:20:56 +00:00
QAction* m_pMenuPinToRun;
2020-12-29 08:54:59 +00:00
//QAction* m_pMenuSuspend;
//QAction* m_pMenuResume;
2020-06-01 17:11:56 +01:00
int m_iMenuProc;
2020-11-28 16:20:56 +00:00
int m_iMenuRun;
2020-06-01 17:11:56 +01:00
};