Removed all python bullsh*t

This commit is contained in:
Jonas_Jones 2022-08-26 21:21:30 +02:00
parent d345c9d823
commit ae689452a1
30 changed files with 0 additions and 1208 deletions

1
.gitignore vendored
View file

@ -1 +0,0 @@
__pycache__

3
.idea/.gitignore generated vendored
View file

@ -1,3 +0,0 @@
# Default ignored files
/shelf/
/workspace.xml

View file

@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="PYTHON_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$" />
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

View file

@ -1,6 +0,0 @@
<component name="InspectionProjectProfileManager">
<settings>
<option name="USE_PROJECT_PROFILE" value="false" />
<version value="1.0" />
</settings>
</component>

4
.idea/misc.xml generated
View file

@ -1,4 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.9" project-jdk-type="Python SDK" />
</project>

8
.idea/modules.xml generated
View file

@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/WindowsBloatwareRemover.iml" filepath="$PROJECT_DIR$/.idea/WindowsBloatwareRemover.iml" />
</modules>
</component>
</project>

6
.idea/vcs.xml generated
View file

@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>

View file

@ -1,43 +0,0 @@
# WindowsBloatwareRemover
A tool that allows for removal of all Preinstalled Apps on Windows that can't be removed by Windows, such as Microsoft Edge
**This tool has been properly tested on Windows 10 and 11** (I used the bug a while ago that let me install Windows 11 on my laptop)
## How to use
Download the executable of the ![latest releases](https://github.com/J-onasJones/WindowsBloatwareRemover/releases/latest) and run it as administrator.
To do that locate your download folder, right-click the file and click "Run as Administrator"
Windows probably won't run it at first but display a prompt, claiming it had "protected" your pc by blocking the program. Click on "More Info" and then on "Run Anyway".
<img src="https://github.com/J-onasJones/WindowsBloatwareRemover/blob/main/ReadMeSrc/red1.png" height="250"/>
<img src="https://github.com/J-onasJones/WindowsBloatwareRemover/blob/main/ReadMeSrc/red2.png" height="250"/>
Now follow the instructions in the terminal.
**As of version 1.0.0 a proper UI replaces the terminal.**
*NOTE: Said Version hasn't been released yet.*
### Screenshots
![Terminal Screenshot <v1.0.0](https://github.com/J-onasJones/WindowsBloatwareRemover/blob/main/ReadMeSrc/TerminalScreenshot.png)
![UI Screenshot >=v1.0.0](https://github.com/J-onasJones/WindowsBloatwareRemover/blob/main/ReadMeSrc/UiScreenshot.png)
# Known Issues and Bugs
### Edge won't be removed automatically
The Process to remove the Edge browser doesn't work properly.
There are two steps to permanently remove Microsoft Edge from Windows:
1. The executable needs to be run to uninstall the application itself
2. A registry key needs to be created to tell Windows to not reinstall the browser after a Windows update.
The second step is surprisingly the easy part and can be done with only two commands. But running the uninstaller for the edge browser is way trickier than I originally thought, and here is why:
- The Windows Powershell has issues finding files that are located within the "Program Files (x86)" directory and all of its child directories, meaning all folders and files within that folder which, unfortunately, is where the edge executable is located. There seam to be ways to solve that problem (by using a combination of the alias for the x86 directory but not immediately parsing it into the directory path by defining it as a variable first but my countless tries to achieve that were unsuccessful and right now I am way too frustrated from writing powershell scripts (Ps-script is one of the ugliest shell scripting languages I have ever seen))
- Programmatically running the executable seams to be impossible. When using the default command line to run the command that runs the executable (or running the program in the powershell from the exact location of the uninstall-executable for edge to avoid the x86 issue) windows seams to not run it correctly but when I, as a user, paste the command and run it manually, it always worked. Either Windows has a built-in function that prevents you from programmatically remove Edge, or I am just a moron.
But just in case, I am working on a solution, and I will (probably) find one. Since I don't use Windows anymore but have switched over Linux a while ago, this is of course not my highest priority so there might not be any updates and bug-fixing in the near future (I also have no time rn).
## Why
Ever used Windows? - I don't think this needs more explanation, especially for 10 and 11.
For everyone else: Microsoft is a master when it comes to slapping bloatware and advertisement onto their operating system, the edge browser being the most prominent one.
For real though, I occasionally use Windows virtual machines and despite having a backup that I can easily clone every time I do experiments, etc.., reinstalling a fresh copy of Windows 10 needs to be done from time to time.
# Donations for new PC
Click [here](http://jonasjones.me/uwu) (definitely not a Rick Roll) to donate me money so that I can buy a new PC to test this on Windows 11.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 104 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 287 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 116 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

View file

@ -1,143 +0,0 @@
VERSION = "0.1.2"
import os
import ctypes
from sys import exit as sysexit
import sys
import acceptdestruction, adminprompt, done, mainwindow, process
from PyQt5 import QtGui
def isAdmin():
try:
if ctypes.windll.shell32.IsUserAnAdmin():
return True
else:
return False
except:
return False
modeOptions = ["1", "2", "3", "4", "5", "6", "q"]
modeOptionsDisplay = str(modeOptions).replace("'", "").replace(",", "/").replace(" ", "")
requireAdmin = ["1", "2", "3", "4", "5", "6"]
requireAdminDisplay = str(requireAdmin).replace("'", "").replace(",", "/").replace(" ", "")
apps = ["3D Builder", "Alarms", "Calculator", "Communications", "Camera", "Cortana", "Get Office", "Skype", "Get Started", "Groove Music", "Maps", "News", "One Note", "People", "Solitaire Collection", "Finance", "Video & TV", "Photos", "Microsoft Store", "Sports", "Voice Recorder", "Weather", "Xbox", "Xbox Gaming Overlay", "Get Help", "Your Phone", "Cortana", "Edge"]
appsIDs = ["3d", "windowsalarms", "windowscalculator", "windowscommunicationsapps", "windowscamera", "officehub", "skypeapp", "getstarted", "zunemusic", "windowsmaps", "bingnews", "onenote", "people", "solitairecollection", "bingfinance", "zunevideo", "zunemusic", "photos", "windowsstore", "bingsports", "soundrecorder", "bingweather", "xboxapp", "Microsoft.XboxGamingOverlay", "Microsoft.GetHelp", "YourPhone", "Microsoft.549981C3F5F10", None]
removeApp = [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True]
appsBing = ["Finance", "News", "Sports", "Weather"]
appsBingIDs = ["bingfinance", "bingnews", "bingsports", "bingweather"]
appsXbox = ["Xbox", "Xbox Gaming Overlay"]
appsXboxIDs = ["xboxapp", "Microsoft.XboxGamingOverlay"]
appsUsual = ["3D Builder", "Alarms", "Communications", "Camera", "Cortana", "Get Office", "Skype", "Get Started", "Groove Music", "Maps", "News", "One Note", "People", "Solitaire Collection", "Finance", "Sports", "Voice Recorder", "Weather", "Xbox", "Get Help", "Your Phone", "Cortana", "Edge"]
appsUsualIDs = ["3d", "windowsalarms", "windowscommunicationsapps", "windowscamera", "officehub", "skypeapp", "getstarted", "zunemusic", "windowsmaps", "bingnews", "onenote", "people", "solitairecollection", "bingfinance", "bingsports", "soundrecorder", "bingweather", "xboxapp", "Microsoft.GetHelp", "YourPhone", "Microsoft.549981C3F5F10", None]
# if not isAdmin():
# adminprompt.show()
mainwindow.show()
mode = input("Select " + modeOptionsDisplay + ":")
def execPowershell(cmd):
cmd = "powershell -command \"" + cmd + "\""
os.system(cmd)
# define Edge removal as separate function as it requires special Steps
def rmEdge():
# Required Steps to permanently remove edge:
# - Run the edge setup executable with flags to remove it from the system
# - create a ew Registry Key including an entry for windows to not reinstall edge after a new update (because beleive it or not, windows has it as a built-in feature to reinstall Edge after updates if it detects that the user has removed it)
edgeFolders = [ f.path for f in os.scandir("C:/Program Files (x86)/Microsoft/Edge/Application/") if f.is_dir() ]
for i in range(len(edgeFolders)):
if not "." in edgeFolders[i - 1]:
edgeFolders.pop(i - 1)
if len(edgeFolders) == 1:
command = edgeFolders[0] + "/Installer/setup --uninstall --force-uninstall --system-level"
else:
print("\n USER INPUT REQUIRED\n")
for i in range(len(edgeFolders)):
print("\t" + str(i) + ") " + edgeFolders[i - 1].replace("C:/Program Files (x86)/Microsoft/Edge/Application/", ""))
dirIndex = input("Type the number (eg. '1)') of the folder that is similar to '101.0.1210.53': ")
while not dirIndex <= str(len(edgeFolders) - 1):
print("WRONG NUMBER")
dirIndex = input("Type the number (eg. '1)') of the folder that is similar to '101.0.1210.53': ")
#execPowershell("ls 'C:\Program Files (x86)\Microsoft\Edge\Application'")
command = edgeFolders[int(dirIndex) - 1] + "/Installer/setup --uninstall --force-uninstall --system-level"
print(command)
execPowershell(command)
# prevent Edge from reinstalling after updates by creating a registry key
# create new registry key
execPowershell("New-Item -Path 'HKLM:\SOFTWARE\Microsoft' -Name EdgeUpdate")
# create entry within the newly created key
execPowershell("New-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\EdgeUpdate' -Name 'DoNotUpdateToEdgeWithChromium' -Value '1' -PropertyType 'DWORD' -Force")
def rmApp(id, name):
if name == "Edge":
# remove edge
rmEdge()
else:
command = "Get-AppxPackage *" + id + "* | Remove-AppxPackage"
execPowershell(command)
print("Removed " + name)
def rmList(list, listNames, removeApp):
for i in range(len(list)):
if removeApp[i-1]:
rmApp(list[i-1], listNames[i-1])
# if no valid mode selected
while mode not in modeOptions:
print("'" + mode + "' IS INVALID.")
mode = input("PLEASE SELECT ONE OF THE FOLLOWING: " + modeOptionsDisplay + ":")
# run the selected mode
if mode == "q":
print("Quitting.")
sysexit()
else:
agreeToDistruction = None
print("\nBy using this program, any possible damage to your Windows Installation is Your Responsability and NOT this scripts Author's.")
while agreeToDistruction != 'y' and agreeToDistruction != 'n':
agreeToDistruction = input("\nBy typing 'y' (lowercase y) for yes You agree to the above point. By typing anything else, the program will abort. [y/n]: ")
if agreeToDistruction == "n":
print("Aborting due to decline...")
sysexit()
sysexit()
else:
if mode == "1":
print("Removing all Unremovable Apps")
rmList(appsIDs, apps, removeApp)
elif mode == "2":
print("Removing all Bing related Apps")
rmList(appsBingIDs, appsBing, removeApp)
elif mode == "3":
print("Removing all XboX related Apps")
rmList(appsXboxIDs, appsXbox, removeApp)
elif mode == "4":
print("Removing all Apps that are usually removed")
rmList(appsUsualIDs, appsUsual, removeApp)
elif mode == "5":
print("Removing the Microsoft Edge Browser")
rmEdge()
elif mode == "6":
print("Removing a custom Selection of Apps")
print("Answer the following by typing a lowercase 'n' for NO or a lowercase 'y' for YES and hit enter\n")
for i in range(len(apps)):
yesno = input("\tRemove " + apps[i-1] + "?")
while yesno != "y" and yesno != "n":
print("\nPlease enter 'y' for yes and 'n' for no.")
yesno = input("\tRemove " + apps[i-1] + "?")
if yesno == "n":
removeApp[i-1] = False
print("Starting to remove apps...")
rmList(appsIDs, apps, removeApp)
else:
print("Whoops. Something went wrong. This case should be programatically impossible but I might just have done some fucky wucky mistake that allows this case to be legal. We could also just blame it all on python. In reality I am just writing a short error message that has suddenly become very long and I just keep writing and no one will ever see this anyway...")
sysexit()
print("All done!")

View file

@ -1,71 +0,0 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'acceptdestruction.ui'
#
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_acceptDestruction(object):
def setupUi(self, acceptDestruction):
acceptDestruction.setObjectName("acceptDestruction")
acceptDestruction.resize(472, 242)
icon = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap("src/icon.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
acceptDestruction.setWindowIcon(icon)
self.centralwidget = QtWidgets.QWidget(acceptDestruction)
self.centralwidget.setObjectName("centralwidget")
self.label = QtWidgets.QLabel(self.centralwidget)
self.label.setGeometry(QtCore.QRect(30, 30, 201, 31))
self.label.setObjectName("label")
self.label_2 = QtWidgets.QLabel(self.centralwidget)
self.label_2.setGeometry(QtCore.QRect(20, 180, 221, 41))
self.label_2.setObjectName("label_2")
self.pushButton = QtWidgets.QPushButton(self.centralwidget)
self.pushButton.setGeometry(QtCore.QRect(380, 180, 84, 34))
self.pushButton.setObjectName("pushButton")
self.pushButton_2 = QtWidgets.QPushButton(self.centralwidget)
self.pushButton_2.setGeometry(QtCore.QRect(273, 180, 101, 34))
self.pushButton_2.setObjectName("pushButton_2")
self.line = QtWidgets.QFrame(self.centralwidget)
self.line.setGeometry(QtCore.QRect(10, 160, 451, 16))
self.line.setFrameShape(QtWidgets.QFrame.HLine)
self.line.setFrameShadow(QtWidgets.QFrame.Sunken)
self.line.setObjectName("line")
self.label_3 = QtWidgets.QLabel(self.centralwidget)
self.label_3.setGeometry(QtCore.QRect(30, 60, 421, 91))
self.label_3.setObjectName("label_3")
acceptDestruction.setCentralWidget(self.centralwidget)
self.statusbar = QtWidgets.QStatusBar(acceptDestruction)
self.statusbar.setObjectName("statusbar")
acceptDestruction.setStatusBar(self.statusbar)
self.retranslateUi(acceptDestruction)
QtCore.QMetaObject.connectSlotsByName(acceptDestruction)
def retranslateUi(self, acceptDestruction):
_translate = QtCore.QCoreApplication.translate
acceptDestruction.setWindowTitle(_translate("acceptDestruction", "Attention Required"))
self.label.setText(_translate("acceptDestruction", "<html><head/><body><p><span style=\" font-size:14pt; font-weight:600;\">Terms of Conditions</span></p></body></html>"))
self.label_2.setText(_translate("acceptDestruction", "Please accept the terms of conditions\n"
" in order to continue"))
self.pushButton.setText(_translate("acceptDestruction", "Accept"))
self.pushButton_2.setText(_translate("acceptDestruction", "DON\'T accept"))
self.label_3.setText(_translate("acceptDestruction", "Any possible damage caused by this program is this program\'s user\'s\n"
" responsability and NOT the author\'s\n"
"\n"
"This program is not to be redistributed."))
def show():
import sys
app = QtWidgets.QApplication(sys.argv)
acceptDestruction = QtWidgets.QMainWindow()
ui = Ui_acceptDestruction()
ui.setupUi(acceptDestruction)
acceptDestruction.show()
sys.exit(app.exec_())

View file

@ -1,59 +0,0 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'adminprompt.ui'
#
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
import sys
class Ui_administratorRequired(object):
def setupUi(self, administratorRequired):
administratorRequired.setObjectName("administratorRequired")
administratorRequired.resize(271, 168)
icon = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap("src/icon.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
administratorRequired.setWindowIcon(icon)
self.centralwidget = QtWidgets.QWidget(administratorRequired)
self.centralwidget.setObjectName("centralwidget")
self.titleLabel = QtWidgets.QLabel(self.centralwidget)
self.titleLabel.setGeometry(QtCore.QRect(10, 10, 251, 18))
self.titleLabel.setObjectName("titleLabel")
self.contentLabel = QtWidgets.QLabel(self.centralwidget)
self.contentLabel.setGeometry(QtCore.QRect(20, 40, 221, 51))
self.contentLabel.setObjectName("contentLabel")
self.buttonOk = QtWidgets.QPushButton(self.centralwidget)
self.buttonOk.setGeometry(QtCore.QRect(90, 110, 84, 34))
self.buttonOk.setObjectName("buttonOk")
self.buttonOk.clicked.connect(sys.exit) # stop program when OK is clicked
administratorRequired.setCentralWidget(self.centralwidget)
self.statusbar = QtWidgets.QStatusBar(administratorRequired)
self.statusbar.setObjectName("statusbar")
administratorRequired.setStatusBar(self.statusbar)
self.retranslateUi(administratorRequired)
QtCore.QMetaObject.connectSlotsByName(administratorRequired)
def retranslateUi(self, administratorRequired):
_translate = QtCore.QCoreApplication.translate
administratorRequired.setWindowTitle(_translate("administratorRequired", "Administrator Required"))
self.titleLabel.setText(_translate("administratorRequired", "<html><head/><body><p><span style=\" font-size:12pt; font-weight:600;\">Administrator Rights Required</span></p></body></html>"))
self.contentLabel.setText(_translate("administratorRequired", "Windows Administrator is required to\n"
" run this program. Right Click on exe\n"
" and click \"Run as administrator\"."))
self.buttonOk.setText(_translate("administratorRequired", "OK"))
def show():
import sys
app = QtWidgets.QApplication(sys.argv)
administratorRequired = QtWidgets.QMainWindow()
ui = Ui_administratorRequired()
ui.setupUi(administratorRequired)
administratorRequired.show()
sys.exit(app.exec_())

57
done.py
View file

@ -1,57 +0,0 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'done.ui'
#
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_done(object):
def setupUi(self, done):
done.setObjectName("done")
done.resize(248, 182)
icon = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap("src/icon.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
done.setWindowIcon(icon)
self.centralwidget = QtWidgets.QWidget(done)
self.centralwidget.setObjectName("centralwidget")
self.label = QtWidgets.QLabel(self.centralwidget)
self.label.setGeometry(QtCore.QRect(80, 20, 91, 31))
self.label.setObjectName("label")
self.label_2 = QtWidgets.QLabel(self.centralwidget)
self.label_2.setGeometry(QtCore.QRect(40, 50, 171, 61))
self.label_2.setObjectName("label_2")
self.pushButton = QtWidgets.QPushButton(self.centralwidget)
self.pushButton.setGeometry(QtCore.QRect(70, 120, 91, 34))
self.pushButton.setObjectName("pushButton")
done.setCentralWidget(self.centralwidget)
self.statusbar = QtWidgets.QStatusBar(done)
self.statusbar.setObjectName("statusbar")
done.setStatusBar(self.statusbar)
self.retranslateUi(done)
QtCore.QMetaObject.connectSlotsByName(done)
def retranslateUi(self, done):
_translate = QtCore.QCoreApplication.translate
done.setWindowTitle(_translate("done", "All Done!"))
self.label.setText(_translate("done", "<html><head/><body><p><span style=\" font-size:14pt; font-weight:600;\">All Done!</span></p></body></html>"))
self.label_2.setText(_translate("done", "Thanks for using this tool\n"
" and enjoy your now less\n"
" bloaty Windows installation!"))
self.pushButton.setText(_translate("done", "Exit Program"))
def show():
import sys
app = QtWidgets.QApplication(sys.argv)
done = QtWidgets.QMainWindow()
ui = Ui_done()
ui.setupUi(done)
done.show()
sys.exit(app.exec_())

View file

@ -1,149 +0,0 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'mainwindow.ui'
#
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
import process
import sys
app = QtWidgets.QApplication(sys.argv)
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(888, 481)
MainWindow.setAcceptDrops(False)
icon = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap("src/icon.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
MainWindow.setWindowIcon(icon)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.titleLabel = QtWidgets.QLabel(self.centralwidget)
self.titleLabel.setGeometry(QtCore.QRect(40, 20, 521, 71))
self.titleLabel.setScaledContents(False)
self.titleLabel.setObjectName("titleLabel")
self.actionLabel = QtWidgets.QLabel(self.centralwidget)
self.actionLabel.setGeometry(QtCore.QRect(50, 100, 111, 17))
self.actionLabel.setObjectName("actionLabel")
self.buttonAll = QtWidgets.QPushButton(self.centralwidget)
self.buttonAll.setGeometry(QtCore.QRect(40, 120, 351, 71))
self.buttonAll.setObjectName("buttonAll")
self.buttonAll.clicked.connect(lambda:MainWindow.close())
self.buttonBing = QtWidgets.QPushButton(self.centralwidget)
self.buttonBing.setGeometry(QtCore.QRect(40, 200, 351, 25))
self.buttonBing.setObjectName("buttonBing")
self.buttonBing.clicked.connect(lambda:process.show("bing"))
self.buttonXbox = QtWidgets.QPushButton(self.centralwidget)
self.buttonXbox.setGeometry(QtCore.QRect(40, 230, 351, 25))
self.buttonXbox.setObjectName("buttonXbox")
self.buttonXbox.clicked.connect(lambda:process.show("xbox"))
self.buttonUsual = QtWidgets.QPushButton(self.centralwidget)
self.buttonUsual.setGeometry(QtCore.QRect(40, 260, 351, 71))
self.buttonUsual.setObjectName("buttonUsual")
self.buttonUsual.clicked.connect(lambda:process.show("usual"))
self.buttonCustom = QtWidgets.QPushButton(self.centralwidget)
self.buttonCustom.setGeometry(QtCore.QRect(40, 370, 351, 25))
self.buttonCustom.setObjectName("buttonCustom")
self.buttonCustom.clicked.connect(lambda:process.show("custom"))
self.listBing = QtWidgets.QLabel(self.centralwidget)
self.listBing.setGeometry(QtCore.QRect(400, 200, 451, 20))
self.listBing.setObjectName("listBing")
self.listAll = QtWidgets.QLabel(self.centralwidget)
self.listAll.setGeometry(QtCore.QRect(400, 120, 471, 71))
self.listAll.setObjectName("listAll")
self.listXbox = QtWidgets.QLabel(self.centralwidget)
self.listXbox.setGeometry(QtCore.QRect(400, 230, 451, 20))
self.listXbox.setObjectName("listXbox")
self.listUsual = QtWidgets.QLabel(self.centralwidget)
self.listUsual.setGeometry(QtCore.QRect(400, 260, 461, 71))
self.listUsual.setObjectName("listUsual")
self.buttonEdge = QtWidgets.QPushButton(self.centralwidget)
self.buttonEdge.setGeometry(QtCore.QRect(40, 340, 351, 25))
self.buttonEdge.setObjectName("buttonEdge")
self.listEdge = QtWidgets.QLabel(self.centralwidget)
self.listEdge.setGeometry(QtCore.QRect(400, 340, 451, 20))
self.listEdge.setObjectName("listEdge")
self.listCustom = QtWidgets.QLabel(self.centralwidget)
self.listCustom.setGeometry(QtCore.QRect(400, 370, 451, 20))
self.listCustom.setObjectName("listCustom")
self.listLabel = QtWidgets.QLabel(self.centralwidget)
self.listLabel.setGeometry(QtCore.QRect(400, 100, 181, 17))
self.listLabel.setObjectName("listLabel")
self.labelCredits = QtWidgets.QLabel(self.centralwidget)
self.labelCredits.setGeometry(QtCore.QRect(570, 50, 101, 18))
self.labelCredits.setObjectName("labelCredits")
MainWindow.setCentralWidget(self.centralwidget)
self.statusbar = QtWidgets.QStatusBar(MainWindow)
self.statusbar.setObjectName("statusbar")
MainWindow.setStatusBar(self.statusbar)
self.menuBar = QtWidgets.QMenuBar(MainWindow)
self.menuBar.setGeometry(QtCore.QRect(0, 0, 888, 30))
self.menuBar.setObjectName("menuBar")
self.menuFile = QtWidgets.QMenu(self.menuBar)
self.menuFile.setObjectName("menuFile")
self.menuAbout = QtWidgets.QMenu(self.menuBar)
self.menuAbout.setObjectName("menuAbout")
self.menuHelp = QtWidgets.QMenu(self.menuBar)
self.menuHelp.setObjectName("menuHelp")
MainWindow.setMenuBar(self.menuBar)
self.actionExit = QtWidgets.QAction(MainWindow)
self.actionExit.setObjectName("actionExit")
self.actionCredits = QtWidgets.QAction(MainWindow)
self.actionCredits.setObjectName("actionCredits")
self.actionGet_Help_Online = QtWidgets.QAction(MainWindow)
self.actionGet_Help_Online.setObjectName("actionGet_Help_Online")
self.menuFile.addAction(self.actionExit)
self.menuAbout.addAction(self.actionCredits)
self.menuHelp.addAction(self.actionGet_Help_Online)
self.menuBar.addAction(self.menuFile.menuAction())
self.menuBar.addAction(self.menuAbout.menuAction())
self.menuBar.addAction(self.menuHelp.menuAction())
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "Windows Bloatware Removal Tool"))
self.titleLabel.setText(_translate("MainWindow", "<html><head/><body><p><span style=\" font-size:16pt;\">Welcome to the Windows Bloatware Removal Tool v0.1.2</span></p></body></html>"))
self.actionLabel.setText(_translate("MainWindow", "<html><head/><body><p><span style=\" font-size:10pt; font-weight:700;\">Select an Action:</span></p></body></html>"))
self.buttonAll.setText(_translate("MainWindow", "Remove all preinstalled unremovable Apps from Windows"))
self.buttonBing.setText(_translate("MainWindow", "Remove all Bing related Apps from Windows"))
self.buttonXbox.setText(_translate("MainWindow", "Remove all Xbox related Apps from Windows"))
self.buttonUsual.setText(_translate("MainWindow", "Remove all Apps that You would usually\n"
" remove from Windows"))
self.buttonCustom.setText(_translate("MainWindow", "Remove a custom selection of Apps from Windows"))
self.listBing.setText(_translate("MainWindow", "Finance, News, Sports, Weather"))
self.listAll.setText(_translate("MainWindow", "3D Builder, Alarms, Calculator, Communications, Camera, Cortana, Get Office,\n"
" Skype, Get Started, Groove Music, Maps, News, One Note, People, Solitaire\n"
" Collection, Finance, Video & TV, Photos, Microsoft Store, Sports, Voice Recorder,\n"
" Weather, Xbox, Xbox Gaming Overlay, Get Help, Your Phone, Cortana, Edge"))
self.listXbox.setText(_translate("MainWindow", "Xbox, Xbox Game Bar"))
self.listUsual.setText(_translate("MainWindow", "3D Builder, Alarms, Communications, Camera, Cortana, Get Office, Skype,\n"
" Get Started, Groove Music, Maps, News, One Note, People, Solitaire Collection,\n"
" Finance, Sports, Voice Recorder, Weather, Xbox, Get Help, Your Phone, Cortana,\n"
" Edge"))
self.buttonEdge.setText(_translate("MainWindow", "Remove Microsoft Edge from Windows"))
self.listEdge.setText(_translate("MainWindow", "Edge"))
self.listCustom.setText(_translate("MainWindow", "Custom..."))
self.listLabel.setText(_translate("MainWindow", "<html><head/><body><p><span style=\" font-size:10pt; font-weight:700;\">Apps that will be removed:</span></p></body></html>"))
self.labelCredits.setText(_translate("MainWindow", "<html><head/><body><p><span style=\" font-weight:600;\">by Jonas_jones</span></p></body></html>"))
self.menuFile.setTitle(_translate("MainWindow", "File"))
self.menuAbout.setTitle(_translate("MainWindow", "About"))
self.menuHelp.setTitle(_translate("MainWindow", "Help"))
self.actionExit.setText(_translate("MainWindow", "Exit"))
self.actionCredits.setText(_translate("MainWindow", "Credits"))
self.actionGet_Help_Online.setText(_translate("MainWindow", "Get Help Online"))
def show():
MainWindow = QtWidgets.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
app.exec_()

View file

@ -1,53 +0,0 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'process.ui'
#
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_Working(object):
def setupUi(self, Working):
Working.setObjectName("Working")
Working.resize(881, 426)
icon = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap("src/icon.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
Working.setWindowIcon(icon)
self.centralwidget = QtWidgets.QWidget(Working)
self.centralwidget.setObjectName("centralwidget")
self.progressBar = QtWidgets.QProgressBar(self.centralwidget)
self.progressBar.setGeometry(QtCore.QRect(30, 70, 821, 23))
self.progressBar.setProperty("value", 24)
self.progressBar.setObjectName("progressBar")
self.titleLabel = QtWidgets.QLabel(self.centralwidget)
self.titleLabel.setGeometry(QtCore.QRect(30, 30, 91, 31))
self.titleLabel.setObjectName("titleLabel")
self.progressOutput = QtWidgets.QPlainTextEdit(self.centralwidget)
self.progressOutput.setGeometry(QtCore.QRect(30, 100, 821, 301))
self.progressOutput.setObjectName("progressOutput")
Working.setCentralWidget(self.centralwidget)
self.statusbar = QtWidgets.QStatusBar(Working)
self.statusbar.setObjectName("statusbar")
Working.setStatusBar(self.statusbar)
self.retranslateUi(Working)
QtCore.QMetaObject.connectSlotsByName(Working)
def retranslateUi(self, Working):
_translate = QtCore.QCoreApplication.translate
Working.setWindowTitle(_translate("Working", "Working...."))
self.titleLabel.setText(_translate("Working", "<html><head/><body><p><span style=\" font-size:12pt; font-weight:600;\">Working...</span></p></body></html>"))
def show(app, mode):
import sys
Working = QtWidgets.QMainWindow()
ui = Ui_Working()
ui.setupUi(Working)
Working.show()
app.exec_()

Binary file not shown.

Before

Width:  |  Height:  |  Size: 81 KiB

View file

@ -1,108 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>acceptDestruction</class>
<widget class="QMainWindow" name="acceptDestruction">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>472</width>
<height>242</height>
</rect>
</property>
<property name="windowTitle">
<string>Attention Required</string>
</property>
<property name="windowIcon">
<iconset>
<normaloff>src/icon.png</normaloff>src/icon.png</iconset>
</property>
<widget class="QWidget" name="centralwidget">
<widget class="QLabel" name="label">
<property name="geometry">
<rect>
<x>30</x>
<y>30</y>
<width>201</width>
<height>31</height>
</rect>
</property>
<property name="text">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:14pt; font-weight:600;&quot;&gt;Terms of Conditions&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
<widget class="QLabel" name="label_2">
<property name="geometry">
<rect>
<x>20</x>
<y>180</y>
<width>221</width>
<height>41</height>
</rect>
</property>
<property name="text">
<string>Please accept the terms of conditions
in order to continue</string>
</property>
</widget>
<widget class="QPushButton" name="pushButton">
<property name="geometry">
<rect>
<x>380</x>
<y>180</y>
<width>84</width>
<height>34</height>
</rect>
</property>
<property name="text">
<string>Accept</string>
</property>
</widget>
<widget class="QPushButton" name="pushButton_2">
<property name="geometry">
<rect>
<x>273</x>
<y>180</y>
<width>101</width>
<height>34</height>
</rect>
</property>
<property name="text">
<string>DON'T accept</string>
</property>
</widget>
<widget class="Line" name="line">
<property name="geometry">
<rect>
<x>10</x>
<y>160</y>
<width>451</width>
<height>16</height>
</rect>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
<widget class="QLabel" name="label_3">
<property name="geometry">
<rect>
<x>30</x>
<y>60</y>
<width>421</width>
<height>91</height>
</rect>
</property>
<property name="text">
<string>Any possible damage caused by this program is this program's user's
responsability and NOT the author's
This program is not to be redistributed.</string>
</property>
</widget>
</widget>
<widget class="QStatusBar" name="statusbar"/>
</widget>
<resources/>
<connections/>
</ui>

View file

@ -1,67 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>administratorRequired</class>
<widget class="QMainWindow" name="administratorRequired">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>271</width>
<height>168</height>
</rect>
</property>
<property name="windowTitle">
<string>Administrator Required</string>
</property>
<property name="windowIcon">
<iconset>
<normaloff>src/icon.png</normaloff>src/icon.png</iconset>
</property>
<widget class="QWidget" name="centralwidget">
<widget class="QLabel" name="titleLabel">
<property name="geometry">
<rect>
<x>10</x>
<y>10</y>
<width>251</width>
<height>18</height>
</rect>
</property>
<property name="text">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Administrator Rights Required&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
<widget class="QLabel" name="contentLabel">
<property name="geometry">
<rect>
<x>20</x>
<y>40</y>
<width>221</width>
<height>51</height>
</rect>
</property>
<property name="text">
<string>Windows Administrator is required to
run this program. Right Click on exe
and click &quot;Run as administrator&quot;.</string>
</property>
</widget>
<widget class="QPushButton" name="buttonOk">
<property name="geometry">
<rect>
<x>90</x>
<y>110</y>
<width>84</width>
<height>34</height>
</rect>
</property>
<property name="text">
<string>OK</string>
</property>
</widget>
</widget>
<widget class="QStatusBar" name="statusbar"/>
</widget>
<resources/>
<connections/>
</ui>

View file

@ -1,67 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>done</class>
<widget class="QMainWindow" name="done">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>248</width>
<height>182</height>
</rect>
</property>
<property name="windowTitle">
<string>All Done!</string>
</property>
<property name="windowIcon">
<iconset>
<normaloff>src/icon.png</normaloff>src/icon.png</iconset>
</property>
<widget class="QWidget" name="centralwidget">
<widget class="QLabel" name="label">
<property name="geometry">
<rect>
<x>80</x>
<y>20</y>
<width>91</width>
<height>31</height>
</rect>
</property>
<property name="text">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:14pt; font-weight:600;&quot;&gt;All Done!&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
<widget class="QLabel" name="label_2">
<property name="geometry">
<rect>
<x>40</x>
<y>50</y>
<width>171</width>
<height>61</height>
</rect>
</property>
<property name="text">
<string>Thanks for using this tool
and enjoy your now less
bloaty Windows installation!</string>
</property>
</widget>
<widget class="QPushButton" name="pushButton">
<property name="geometry">
<rect>
<x>70</x>
<y>120</y>
<width>91</width>
<height>34</height>
</rect>
</property>
<property name="text">
<string>Exit Program</string>
</property>
</widget>
</widget>
<widget class="QStatusBar" name="statusbar"/>
</widget>
<resources/>
<connections/>
</ui>

View file

@ -1,293 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>MainWindow</class>
<widget class="QMainWindow" name="MainWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>888</width>
<height>481</height>
</rect>
</property>
<property name="acceptDrops">
<bool>false</bool>
</property>
<property name="windowTitle">
<string>Windows Bloatware Removal Tool</string>
</property>
<property name="windowIcon">
<iconset>
<normaloff>src/icon.png</normaloff>src/icon.png</iconset>
</property>
<widget class="QWidget" name="centralwidget">
<widget class="QLabel" name="titleLabel">
<property name="geometry">
<rect>
<x>40</x>
<y>20</y>
<width>521</width>
<height>71</height>
</rect>
</property>
<property name="text">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:16pt;&quot;&gt;Welcome to the Windows Bloatware Removal Tool v0.1.2&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="scaledContents">
<bool>false</bool>
</property>
</widget>
<widget class="QLabel" name="actionLabel">
<property name="geometry">
<rect>
<x>50</x>
<y>100</y>
<width>111</width>
<height>17</height>
</rect>
</property>
<property name="text">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:10pt; font-weight:700;&quot;&gt;Select an Action:&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
<widget class="QPushButton" name="buttonAll">
<property name="geometry">
<rect>
<x>40</x>
<y>120</y>
<width>351</width>
<height>71</height>
</rect>
</property>
<property name="text">
<string>Remove all preinstalled unremovable Apps from Windows</string>
</property>
</widget>
<widget class="QPushButton" name="butonBing">
<property name="geometry">
<rect>
<x>40</x>
<y>200</y>
<width>351</width>
<height>25</height>
</rect>
</property>
<property name="text">
<string>Remove all Bing related Apps from Windows</string>
</property>
</widget>
<widget class="QPushButton" name="buttonXbox">
<property name="geometry">
<rect>
<x>40</x>
<y>230</y>
<width>351</width>
<height>25</height>
</rect>
</property>
<property name="text">
<string>Remove all Xbox related Apps from Windows</string>
</property>
</widget>
<widget class="QPushButton" name="buttonUsual">
<property name="geometry">
<rect>
<x>40</x>
<y>260</y>
<width>351</width>
<height>71</height>
</rect>
</property>
<property name="text">
<string>Remove all Apps that You would usually
remove from Windows</string>
</property>
</widget>
<widget class="QPushButton" name="buttonCustom">
<property name="geometry">
<rect>
<x>40</x>
<y>370</y>
<width>351</width>
<height>25</height>
</rect>
</property>
<property name="text">
<string>Remove a custom selection of Apps from Windows</string>
</property>
</widget>
<widget class="QLabel" name="listBing">
<property name="geometry">
<rect>
<x>400</x>
<y>200</y>
<width>451</width>
<height>20</height>
</rect>
</property>
<property name="text">
<string>Finance, News, Sports, Weather</string>
</property>
</widget>
<widget class="QLabel" name="listAll">
<property name="geometry">
<rect>
<x>400</x>
<y>120</y>
<width>471</width>
<height>71</height>
</rect>
</property>
<property name="text">
<string>3D Builder, Alarms, Calculator, Communications, Camera, Cortana, Get Office,
Skype, Get Started, Groove Music, Maps, News, One Note, People, Solitaire
Collection, Finance, Video &amp; TV, Photos, Microsoft Store, Sports, Voice Recorder,
Weather, Xbox, Xbox Gaming Overlay, Get Help, Your Phone, Cortana, Edge</string>
</property>
</widget>
<widget class="QLabel" name="listXbox">
<property name="geometry">
<rect>
<x>400</x>
<y>230</y>
<width>451</width>
<height>20</height>
</rect>
</property>
<property name="text">
<string>Xbox, Xbox Game Bar</string>
</property>
</widget>
<widget class="QLabel" name="listUsual">
<property name="geometry">
<rect>
<x>400</x>
<y>260</y>
<width>461</width>
<height>71</height>
</rect>
</property>
<property name="text">
<string>3D Builder, Alarms, Communications, Camera, Cortana, Get Office, Skype,
Get Started, Groove Music, Maps, News, One Note, People, Solitaire Collection,
Finance, Sports, Voice Recorder, Weather, Xbox, Get Help, Your Phone, Cortana,
Edge</string>
</property>
</widget>
<widget class="QPushButton" name="buttonEdge">
<property name="geometry">
<rect>
<x>40</x>
<y>340</y>
<width>351</width>
<height>25</height>
</rect>
</property>
<property name="text">
<string>Remove Microsoft Edge from Windows</string>
</property>
</widget>
<widget class="QLabel" name="listEdge">
<property name="geometry">
<rect>
<x>400</x>
<y>340</y>
<width>451</width>
<height>20</height>
</rect>
</property>
<property name="text">
<string>Edge</string>
</property>
</widget>
<widget class="QLabel" name="listCustom">
<property name="geometry">
<rect>
<x>400</x>
<y>370</y>
<width>451</width>
<height>20</height>
</rect>
</property>
<property name="text">
<string>Custom...</string>
</property>
</widget>
<widget class="QLabel" name="listLabel">
<property name="geometry">
<rect>
<x>400</x>
<y>100</y>
<width>181</width>
<height>17</height>
</rect>
</property>
<property name="text">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:10pt; font-weight:700;&quot;&gt;Apps that will be removed:&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
<widget class="QLabel" name="labelCredits">
<property name="geometry">
<rect>
<x>570</x>
<y>50</y>
<width>101</width>
<height>18</height>
</rect>
</property>
<property name="text">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;by Jonas_jones&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
</widget>
<widget class="QStatusBar" name="statusbar"/>
<widget class="QMenuBar" name="menuBar">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>888</width>
<height>30</height>
</rect>
</property>
<widget class="QMenu" name="menuFile">
<property name="title">
<string>File</string>
</property>
<addaction name="actionExit"/>
</widget>
<widget class="QMenu" name="menuAbout">
<property name="title">
<string>About</string>
</property>
<addaction name="actionCredits"/>
</widget>
<widget class="QMenu" name="menuHelp">
<property name="title">
<string>Help</string>
</property>
<addaction name="actionGet_Help_Online"/>
</widget>
<addaction name="menuFile"/>
<addaction name="menuAbout"/>
<addaction name="menuHelp"/>
</widget>
<action name="actionExit">
<property name="text">
<string>Exit</string>
</property>
</action>
<action name="actionCredits">
<property name="text">
<string>Credits</string>
</property>
</action>
<action name="actionGet_Help_Online">
<property name="text">
<string>Get Help Online</string>
</property>
</action>
</widget>
<resources/>
<connections/>
</ui>

View file

@ -1,62 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>Working</class>
<widget class="QMainWindow" name="Working">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>881</width>
<height>426</height>
</rect>
</property>
<property name="windowTitle">
<string>Working....</string>
</property>
<property name="windowIcon">
<iconset>
<normaloff>src/icon.png</normaloff>src/icon.png</iconset>
</property>
<widget class="QWidget" name="centralwidget">
<widget class="QProgressBar" name="progressBar">
<property name="geometry">
<rect>
<x>30</x>
<y>70</y>
<width>821</width>
<height>23</height>
</rect>
</property>
<property name="value">
<number>24</number>
</property>
</widget>
<widget class="QLabel" name="titleLabel">
<property name="geometry">
<rect>
<x>30</x>
<y>30</y>
<width>91</width>
<height>31</height>
</rect>
</property>
<property name="text">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;Working...&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
<widget class="QPlainTextEdit" name="progressOutput">
<property name="geometry">
<rect>
<x>30</x>
<y>100</y>
<width>821</width>
<height>301</height>
</rect>
</property>
</widget>
</widget>
<widget class="QStatusBar" name="statusbar"/>
</widget>
<resources/>
<connections/>
</ui>