-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathbloware.pb
More file actions
154 lines (130 loc) · 5.97 KB
/
Copy pathbloware.pb
File metadata and controls
154 lines (130 loc) · 5.97 KB
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
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
; 5. Código principal
Define quit.i = #False
Define selected.i, selectedPackage.s, result.s, file.s, i.i, j.i
CreateGUI()
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
quit = #True
Case #PB_Event_Gadget
Select EventGadget()
Case #List_Packages
If EventType() = #PB_EventType_Change
selected = GetGadgetState(#List_Packages)
If selected >= 0
selectedPackage = GetGadgetItemText(#List_Packages, selected, 0)
; Buscar la descripción en BloatwareDescriptions
description.s = ""
For i = 0 To ArraySize(BloatwarePackages()) - 1
If LCase(selectedPackage) = LCase(BloatwarePackages(i))
description = BloatwareDescriptions(i)
Break
EndIf
Next
; Si no se encontró en BloatwareDescriptions, buscar en PackageDescriptions
If description = ""
For i = 0 To ListSize(DetectedPackages()) - 1
SelectElement(DetectedPackages(), i)
If DetectedPackages() = selectedPackage
SelectElement(PackageDescriptions(), i)
description = PackageDescriptions()
Break
EndIf
Next
EndIf
SetGadgetText(#Text_Description, description)
; Cambiar color de fondo según contenido
If description <> ""
SetGadgetColor(#Text_Description, #PB_Gadget_BackColor, RGB(255, 255, 200))
Else
SetGadgetColor(#Text_Description, #PB_Gadget_BackColor, RGB(255, 255, 255))
EndIf
EndIf
EndIf
Case #Button_Delete
selected = GetGadgetState(#List_Packages)
If selected >= 0
selectedPackage = GetGadgetItemText(#List_Packages, selected, 0)
If MessageRequester("Confirmar", "¿Desinstalar " + selectedPackage + "?", #PB_MessageRequester_YesNo|#PB_MessageRequester_Warning) = #PB_MessageRequester_Yes
HideGadget(#ProgressBar, #False)
SetGadgetState(#ProgressBar, 80)
StatusBarText(#StatusBar, 0, "Desinstalando...")
result = ManagePackage(selectedPackage, "uninstall")
;MessageRequester("Resultado", result)
IdentifyBloatwareForGUI()
UpdatePackageList()
SetGadgetState(#ProgressBar, 0)
HideGadget(#ProgressBar, #True)
EndIf
EndIf
Case #Button_Disable
selected = GetGadgetState(#List_Packages)
If selected >= 0
selectedPackage = GetGadgetItemText(#List_Packages, selected, 0)
If MessageRequester("Confirmar", "¿Deshabilitar " + selectedPackage + "?", #PB_MessageRequester_YesNo|#PB_MessageRequester_Warning) = #PB_MessageRequester_Yes
HideGadget(#ProgressBar, #False)
SetGadgetState(#ProgressBar, 80)
StatusBarText(#StatusBar, 0, "Deshabilitando...")
result = ManagePackage(selectedPackage, "disable")
;MessageRequester("Resultado", result)
IdentifyBloatwareForGUI()
UpdatePackageList()
SetGadgetState(#ProgressBar, 0)
HideGadget(#ProgressBar, #True)
EndIf
EndIf
Case #Button_Salir
CloseWindow(#Window_Main)
SetActiveWindow(#Window_0)
Goto inicio
Case #Button_Search
SearchPackages(GetGadgetText(#Input_Search))
Case #Button_RefreshList
HideGadget(#ProgressBar, #False)
SetGadgetState(#ProgressBar, 80)
StatusBarText(#StatusBar, 0, "Actualizando lista...")
If IdentifyBloatwareForGUI()
UpdatePackageList()
StatusBarText(#StatusBar, 0, "Lista actualizada")
Else
StatusBarText(#StatusBar, 0, "Error al actualizar")
EndIf
SetGadgetState(#ProgressBar, 0)
HideGadget(#ProgressBar, #True)
Case #Button_SaveReport
file = SaveFileRequester("Guardar reporte", "Log.txt", "Text files|*.txt", 0)
If file <> ""
If CreateFile(0, file)
For i = 0 To CountGadgetItems(#List_Packages) - 1
selectedPackage = GetGadgetItemText(#List_Packages, i, 0)
desc.s = ""
For j = 0 To ArraySize(BloatwarePackages()) - 1
If LCase(selectedPackage) = LCase(BloatwarePackages(j))
desc = BloatwareDescriptions(j)
Break
EndIf
Next
WriteStringN(0, "Reporte generado: " + FormatDate("%dd/%mm/%yyyy %hh:%ii", Date()))
WriteStringN(0, "")
WriteStringN(0, "Paquete: " + selectedPackage)
WriteStringN(0, "Tipo: " + GetGadgetItemText(#List_Packages, i, 1))
WriteStringN(0, "Estado: " + GetGadgetItemText(#List_Packages, i, 2))
WriteStringN(0, "Descripción: " + desc)
WriteStringN(0, "")
Next
CloseFile(0)
MessageRequester("Éxito", "Reporte guardado", #PB_MessageRequester_Info)
EndIf
EndIf
Case #Checkbox_SystemApps
UpdatePackageList()
Case #Input_Search
If EventType() = #PB_EventType_Focus
SetActiveGadget(#Input_Search)
EndIf
EndSelect
EndSelect
Until quit = 1
; IDE Options = PureBasic 5.72 (Windows - x64)
; CursorPosition = 90
; EnableXP