#!/usr/bin/env python3 # Copyright (c) 2026 Storm Dragon # Authors: Storm Dragon, Angus Kola # SPDX-License-Identifier: GPL-3.0-or-later """Private Qt table reproducing Mumble's repeated accessible column labels.""" import ctypes import sys from PySide6 import QtCore, QtWidgets if ctypes.CDLL(None).prctl(15, sys.argv[1].encode(), 0, 0, 0) != 0: raise RuntimeError("Cannot set fixture process identity") application = QtWidgets.QApplication([]) window = QtWidgets.QMainWindow() window.setWindowTitle("Server table fixture") table = QtWidgets.QTreeWidget() table.setAccessibleName("Server list") table.setHeaderLabels(["Servername", "Ping", "Users"]) for labels in [ ["Server Alpha"] * 3, ["Server Beta", "12", "12"], ["Server Gamma, 界"] * 3, ]: item = QtWidgets.QTreeWidgetItem([labels[0], "12", "12"]) for columnIndex, label in enumerate(labels): item.setData(columnIndex, QtCore.Qt.ItemDataRole.AccessibleTextRole, label) table.addTopLevelItem(item) window.setCentralWidget(table) window.resize(500, 250) window.show() table.setFocus() QtCore.QTimer.singleShot(0, lambda: print("ready", int(window.winId()), flush=True)) application.exec()