- 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
69 lines
2.4 KiB
Python
69 lines
2.4 KiB
Python
# 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 ..uic import UIFile
|
|
|
|
from .source_file import SourceFile
|
|
from .translations import Context, Message
|
|
from .user import User, UserException
|
|
|
|
|
|
class DesignerSource(SourceFile, User):
|
|
""" Encapsulate a Designer source file. """
|
|
|
|
def __init__(self, **kwargs):
|
|
""" Initialise the object. """
|
|
|
|
super().__init__(**kwargs)
|
|
|
|
# Read the source file.
|
|
self.progress("Reading {0}...".format(self.filename))
|
|
|
|
try:
|
|
ui_file = UIFile(self.filename)
|
|
except Exception as e:
|
|
raise UserException(str(e))
|
|
|
|
if ui_file.widget is not None:
|
|
context = Context(ui_file.class_name)
|
|
|
|
# Get each <string> element. Note that we don't support the
|
|
# <stringlist> element which seems to provide defaults for the
|
|
# attributes of any child <string> elements.
|
|
for string_el in ui_file.widget.iter('string'):
|
|
if string_el.get('notr', 'false') == 'true':
|
|
continue
|
|
|
|
# This can be None or an empty string depending on the exact
|
|
# XML.
|
|
if not string_el.text:
|
|
continue
|
|
|
|
message = Message(self.filename, 0, string_el.text,
|
|
string_el.get('comment', ''), False)
|
|
|
|
extra_comment = string_el.get('extracomment')
|
|
if extra_comment:
|
|
message.embedded_comments.extra_comments.append(
|
|
extra_comment)
|
|
|
|
context.messages.append(message)
|
|
|
|
if context.messages:
|
|
self.contexts.append(context)
|