Fix tray visibility and message reception issues
- Disable sound initialization to prevent hanging
- Add missing import re in utils.py
- Fix settings loading for QSettings
- Update file paths to use PROJECT_ROOT
- Revert to working API paths and listener from commit efdc63e
This commit is contained in:
92
venv/lib/python3.12/site-packages/PyQt6/uic/ui_file.py
Normal file
92
venv/lib/python3.12/site-packages/PyQt6/uic/ui_file.py
Normal file
@@ -0,0 +1,92 @@
|
||||
# Copyright (c) 2025 Riverbank Computing Limited <info@riverbankcomputing.com>
|
||||
#
|
||||
# This file is part of PyQt6.
|
||||
#
|
||||
# This file may be used under the terms of the GNU General Public License
|
||||
# version 3.0 as published by the Free Software Foundation and appearing in
|
||||
# the file LICENSE included in the packaging of this file. Please review the
|
||||
# following information to ensure the GNU General Public License version 3.0
|
||||
# requirements will be met: http://www.gnu.org/copyleft/gpl.html.
|
||||
#
|
||||
# If you do not wish to use this file under the terms of the GPL version 3.0
|
||||
# then you may purchase a commercial license. For more information contact
|
||||
# info@riverbankcomputing.com.
|
||||
#
|
||||
# This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
|
||||
# WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
|
||||
from xml.etree import ElementTree
|
||||
|
||||
|
||||
class UIFile:
|
||||
""" Encapsulate a Designer .ui file. """
|
||||
|
||||
def __init__(self, ui_file):
|
||||
""" Initialise the .ui file. """
|
||||
|
||||
# Get the name of the .ui file allowing it to be a file object.
|
||||
if hasattr(ui_file, 'read'):
|
||||
self._ui_file = getattr(ui_file, 'name', "unknown")
|
||||
else:
|
||||
self._ui_file = ui_file
|
||||
|
||||
try:
|
||||
document = ElementTree.parse(ui_file)
|
||||
except Exception as e:
|
||||
self._raise_exception("invalid Qt Designer file", detail=str(e))
|
||||
|
||||
# Perform some sanity checks.
|
||||
root = document.getroot()
|
||||
|
||||
if root.tag != 'ui':
|
||||
self._raise_exception("not created by Qt Designer")
|
||||
|
||||
version = root.get('version')
|
||||
if version is None:
|
||||
self._raise_exception("missing version number")
|
||||
|
||||
if version != '4.0':
|
||||
self._raise_exception("only Qt Designer files v4.0 are supported")
|
||||
|
||||
# Extract the top-level elements.
|
||||
self.button_groups = None
|
||||
self.connections = None
|
||||
self.custom_widgets = None
|
||||
self.layout_default = None
|
||||
self.tab_stops = None
|
||||
self.widget = None
|
||||
|
||||
self.class_name = None
|
||||
|
||||
for el in root:
|
||||
if el.tag == 'class':
|
||||
self.class_name = el.text
|
||||
elif el.tag == 'buttongroups':
|
||||
self.button_groups = el
|
||||
elif el.tag == 'connections':
|
||||
self.connections = el
|
||||
elif el.tag == 'customwidgets':
|
||||
self.custom_widgets = el
|
||||
elif el.tag == 'layoutdefault':
|
||||
self.layout_default = el
|
||||
elif el.tag == 'tabstops':
|
||||
self.tab_stops = el
|
||||
elif el.tag == 'widget':
|
||||
self.widget = el
|
||||
|
||||
# The <class> element was optional in legacy versions of the schema.
|
||||
if not self.class_name:
|
||||
if self.widget is not None:
|
||||
self.class_name = self.widget.get('name')
|
||||
|
||||
if not self.class_name:
|
||||
self._raise_exception(
|
||||
"unable to determine the name of the UI class")
|
||||
|
||||
def _raise_exception(self, message, detail=''):
|
||||
""" Raise a UIFileException. """
|
||||
|
||||
from .exceptions import UIFileException
|
||||
|
||||
raise UIFileException(self._ui_file, message, detail=detail)
|
||||
Reference in New Issue
Block a user