Code Relocations:
	--libPINCE
		GuiUtils.py is used to contain GUI related utility functions
		SysUtils.py is used to contain all useful but non-GDB related libraries such as psutil
		GDB_Engine.py is used to contain all GDB related functions
		type_defs.py is used to contain all static&shared variable definitions
		All codes that'll be injected to the inferior go to the folder "Injection"
		/gdb_python_script/ contains all the python scripts that'll invoked from the gdb
	PINCE.py is used to interract with GUI and other utility libraries
	/media/ contains all the images, icons, logos n' stuff
**Don't touch anything in GUI folder, it contains auto-generated codes created by pyuic

27/3/2017 - All GUI classes that will be instanced multiple times must contain these code blocks to prevent getting removed by garbage collector:

    global instances
    instances.append(self)

    def closeEvent(self, QCloseEvent):
        global instances
        instances.remove(self)

If you need to only create one instance of a GUI class, use this instead to create the instance:

    try:
        self.window.show()
    except AttributeError:
        self.window = WindowForm(self)  # self parameter is optional
        self.window.show()
    self.window.activateWindow()

If you need to pass self as a parameter, please don't use 'super().__init__(parent=parent)' in the child class, it makes Qt hide the child window. Use this in the child instead:
    super().__init__()
    self.parent = lambda: parent  # A quick hack to make other functions see the correct parent(). But Qt won't see it, so there'll be no bugs

28/8/2018 - All QMessageBoxes that's called from outside of their classes(via parent() etc.) must use 'QApplication.focusWidget()' instead of 'self' in their first parameter. Refer to issue #57 for more information

14/11/2018 - All logo requests should be posted in media/logo/your_username. Instead of opening a new issue, PR your logo files to that folder. Your PR must include at least one png file named pince_small, pince_medium or pince_big, according to its size. Optionally, you can also post your design files
So, a minimal PR will look like this:

/media/logo/your_username/pince_big.png

pince_big is interchangeable with pince_medium and pince_small
A full PR will look like this:

/media/logo/your_username/pince_big.png
/media/logo/your_username/pince_medium.png
/media/logo/your_username/pince_small.png
/media/logo/your_username/pince_big.ai
/media/logo/your_username/pince_medium.ai
/media/logo/your_username/pince_small.ai

It doesn't have to be ai extension, I just picked Adobe Illustrator for the example above

23/11/2018 - Don't use get_current_item or get_current_row within currentItemChanged or currentChanged signals. Qt doesn't update selected rows on first currentChanged or currentItemChanged calls