Files
gotify-tray-customized/venv/lib/python3.12/site-packages/PyQt6/lupdate/designer_source.py
kdusek 5138303016
Some checks failed
build / build-pip (push) Failing after 16s
build / build-win64 (push) Has been cancelled
build / build-macos (push) Has been cancelled
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
2025-12-07 22:39:07 +01:00

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)