Sandboxie/SandboxiePlus/SandMan/Windows/SelectBoxWindow.h

66 lines
1.5 KiB
C++

#pragma once
#include <QtWidgets/QMainWindow>
#include "ui_SelectBoxWindow.h"
#include "SbiePlusAPI.h"
//////////////////////////////////////////////////////////////////////////////////////
// CBoxPicker
//
class CBoxPicker : public QWidget
{
Q_OBJECT
public:
CBoxPicker(QString DefaultBox = "", QWidget *parent = Q_NULLPTR);
void EnableMultiSel(bool bEnable);
void LoadBoxed(const QString& Filter = QString(), const QString& SelectBox = QString());
QString GetBoxName() const;
QStringList GetBoxNames() const;
static QTreeWidgetItem* GetBoxParent(const QMap<QString, QStringList>& Groups, QMap<QString, QTreeWidgetItem*>& GroupItems, QTreeWidget* treeBoxes, const QString& Name, int Depth = 0);
static double GetBoxOrder(const QMap<QString, QStringList>& Groups, const QString& Name, double value = 0.0, int Depth = 0);
signals:
void BoxDblClick();
private slots:
void SetFilter(const QString& Exp, int iOptions, int Column);
private:
QTreeWidget *m_pTreeBoxes;
};
//////////////////////////////////////////////////////////////////////////////////////
// CSelectBoxWindow
//
class CSelectBoxWindow : public QDialog
{
Q_OBJECT
public:
CSelectBoxWindow(const QStringList& Commands, const QString& BoxName, const QString& WrkDir = QString(), QWidget *parent = Q_NULLPTR);
~CSelectBoxWindow();
void ShowFCP();
private slots:
void OnBoxType();
void OnRun();
protected:
void closeEvent(QCloseEvent* e);
QStringList m_Commands;
QString m_WrkDir;
private:
Ui::SelectBoxWindow ui;
CBoxPicker* m_pBoxPicker;
};