Source code for pyside_demo.gui.dialog

from PySide6.QtWidgets import (
    QButtonGroup,
    QDialog,
    QLabel,
    QPushButton,
    QRadioButton,
    QVBoxLayout,
)


[docs] class ConflictResolutionDialog(QDialog): def __init__(self, item): super().__init__() self.item = item self.setWindowTitle("Resolve Conflict") self.setGeometry(200, 200, 300, 200) self.init_ui()
[docs] def init_ui(self): layout = QVBoxLayout() layout.addWidget( QLabel( "Conflict detected for item: {}".format( self.item.get("name", "UNKNOWN") ) ) ) layout.addWidget(QLabel("Choose resolution:")) self.local_radio = QRadioButton("Keep local version") self.remote_radio = QRadioButton("Use remote version") button_group = QButtonGroup() button_group.addButton(self.local_radio) button_group.addButton(self.remote_radio) layout.addWidget(self.local_radio) layout.addWidget(self.remote_radio) resolve_button = QPushButton("Resolve") resolve_button.clicked.connect(self.accept) layout.addWidget(resolve_button) self.setLayout(layout)
[docs] def get_resolution(self): if self.local_radio.isChecked(): return "local" elif self.remote_radio.isChecked(): return "remote" return None