-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
/
OptionsStart.cpp
109 lines (91 loc) · 2.8 KB
/
OptionsStart.cpp
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
#include "stdafx.h"
#include "OptionsWindow.h"
#include "SandMan.h"
#include "SettingsWindow.h"
#include "../MiscHelpers/Common/Settings.h"
#include "../MiscHelpers/Common/Common.h"
#include "../MiscHelpers/Common/ComboInputDialog.h"
#include "../MiscHelpers/Common/SettingsWidgets.h"
#include "Helpers/WinAdmin.h"
void COptionsWindow::LoadStart()
{
ui.chkStartBlockMsg->setEnabled(!ui.radStartAll->isChecked());
ui.chkStartBlockMsg->setChecked(m_pBox->GetBool("NotifyStartRunAccessDenied", true));
m_StartChanged = false;
}
void COptionsWindow::SaveStart()
{
WriteAdvancedCheck(ui.chkStartBlockMsg, "NotifyStartRunAccessDenied", "", "n");
m_StartChanged = false;
}
void COptionsWindow::OnRestrictStart()
{
// only selected
bool Enable = ui.radStartSelected->isChecked();
if (Enable)
SetAccessEntry(eIPC, "!<StartRunAccess>", eClosed, "*");
else
DelAccessEntry(eIPC, "!<StartRunAccess>", eClosed, "*");
// all except selected
Enable = ui.radStartExcept->isChecked();
if (Enable)
SetAccessEntry(eIPC, "<StartRunAccess>", eClosed, "*");
else
DelAccessEntry(eIPC, "<StartRunAccess>", eClosed, "*");
ui.chkStartBlockMsg->setEnabled(!ui.radStartAll->isChecked());
//m_StartChanged = true;
//OnOptChanged();
}
void COptionsWindow::OnAddStartProg()
{
QString Value = SelectProgram();
if (Value.isEmpty())
return;
QTreeWidgetItem* pItem = new QTreeWidgetItem();
pItem->setCheckState(0, Qt::Checked);
SetProgramItem(Value, pItem, 0);
pItem->setFlags(pItem->flags() | Qt::ItemIsEditable);
ui.treeStart->addTopLevelItem(pItem);
AddProgramToGroup(Value, "<StartRunAccess>");
//m_StartChanged = true;
//OnOptChanged();
}
void COptionsWindow::OnDelStartProg()
{
QTreeWidgetItem* pItem = ui.treeStart->currentItem();
if (!pItem)
return;
QString Value = pItem->data(0, Qt::UserRole).toString();
delete pItem;
DelProgramFromGroup(Value, "<StartRunAccess>");
DelProgramFromGroup(Value, "<StartRunAccessDisabled>");
//m_StartChanged = true;
//OnOptChanged();
}
void COptionsWindow::OnStartChanged(QTreeWidgetItem* pItem, int Index)
{
QString Name = pItem->data(0, Qt::UserRole).toString();
QString NewName = pItem->text(0);
if (Name != NewName)
{
pItem->setData(0, Qt::UserRole, NewName);
if (pItem->checkState(0) == Qt::Checked) {
if (DelProgramFromGroup(Name, "<StartRunAccess>"))
AddProgramToGroup(NewName, "<StartRunAccess>");
}
else {
if (DelProgramFromGroup(Name, "<StartRunAccessDisabled>"))
AddProgramToGroup(NewName, "<StartRunAccessDisabled>");
}
}
else if (pItem->checkState(0) == Qt::Checked) {
if(DelProgramFromGroup(Name, "<StartRunAccessDisabled>"))
AddProgramToGroup(Name, "<StartRunAccess>");
}
else {
if(DelProgramFromGroup(Name, "<StartRunAccess>"))
AddProgramToGroup(Name, "<StartRunAccessDisabled>");
}
//m_StartChanged = true;
//OnOptChanged();
}