def __init__(self, item, name, current, importing, parent=None): """ Initialize the project dialog. :type item: Item :type name: str :type current: str :type importing: str :type parent: QWidget """ super().__init__(parent) self.item = item self.name = name ############################################# # LEFT SIDE ################################# widget = QtWidgets.QLabel(self) widget.setAlignment(QtCore.Qt.AlignCenter) widget.setFont(Font('Roboto', 14, bold=True, capitalization=Font.AllUppercase)) widget.setObjectName('current_title') widget.setText('Current') self.addWidget(widget) widget = TextField(self) widget.setFixedSize(300, 200) widget.setFocusPolicy(QtCore.Qt.NoFocus) widget.setFont(Font('Roboto', 12)) widget.setObjectName('current_documentation') widget.setReadOnly(True) widget.setValue(current) self.addWidget(widget) widget = PHCQPushButton(self) widget.setAutoDefault(False) widget.setDefault(False) widget.setProperty('class', 'flat blue') widget.setFixedWidth(32) widget.setIcon(QtGui.QIcon(':/icons/24/ic_keyboard_arrow_right_black')) widget.setIconSize(QtCore.QSize(24, 24)) widget.setObjectName('pick_current_button') widget.setSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Expanding) connect(widget.clicked, self.doPickDocumentation) self.addWidget(widget) # widget = QtWidgets.QLabel(self) # widget.setFixedSize(QtCore.QSize(24, 24)) # widget.setPixmap(QtGui.QIcon(':/icons/24/ic_compare_arrows_black').pixmap(24)) # widget.setObjectName('compare_arrows_current_icon') # self.addWidget(widget) ############################################# # MIDDLE SIDE ################################# widget = QtWidgets.QLabel(self) widget.setAlignment(QtCore.Qt.AlignCenter) widget.setFont(Font('Roboto', 14, bold=True, capitalization=Font.AllUppercase)) widget.setObjectName('final_title') widget.setText('Final') self.addWidget(widget) widget = TextField(self) widget.setFixedSize(300, 200) widget.setFont(Font('Roboto', 12)) widget.setObjectName('final_documentation') self.addWidget(widget) ############################################# # RIGHT SIDE ################################# widget = QtWidgets.QLabel(self) widget.setAlignment(QtCore.Qt.AlignCenter) widget.setFont(Font('Roboto', 14, bold=True, capitalization=Font.AllUppercase)) widget.setObjectName('importing_title') widget.setText('Importing') self.addWidget(widget) widget = TextField(self) widget.setFixedSize(300, 200) widget.setFocusPolicy(QtCore.Qt.NoFocus) widget.setFont(Font('Roboto', 12)) widget.setObjectName('importing_documentation') widget.setReadOnly(True) widget.setValue(importing) self.addWidget(widget) widget = PHCQPushButton(self) widget.setAutoDefault(False) widget.setDefault(False) widget.setProperty('class', 'flat blue') widget.setFixedWidth(32) widget.setIcon(QtGui.QIcon(':/icons/24/ic_keyboard_arrow_left_black')) widget.setIconSize(QtCore.QSize(24, 24)) widget.setObjectName('pick_importing_button') widget.setSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Expanding) connect(widget.clicked, self.doPickDocumentation) self.addWidget(widget) # widget = QtWidgets.QLabel(self) # widget.setFixedSize(QtCore.QSize(24, 24)) # widget.setPixmap(QtGui.QIcon(':/icons/24/ic_compare_arrows_black').pixmap(24)) # widget.setObjectName('compare_arrows_importing_icon') # self.addWidget(widget) ############################################# # CONFIRMATION AREA ################################# widget = QtWidgets.QDialogButtonBox(QtCore.Qt.Horizontal, self) widget.addButton(QtWidgets.QDialogButtonBox.Ok) widget.addButton(QtWidgets.QDialogButtonBox.Abort) widget.setContentsMargins(0, 4, 0, 0) widget.setFont(Font('Roboto', 12)) widget.setObjectName('confirmation_box') connect(widget.accepted, self.accept) connect(widget.rejected, self.reject) self.addWidget(widget) ############################################# # SETUP DIALOG LAYOUT ################################# gridWidget = QtWidgets.QWidget(self) gridLayout = QtWidgets.QGridLayout(gridWidget) gridLayout.setContentsMargins(0, 0, 0, 0) gridLayout.addWidget(self.widget('current_title'), 0, 0) gridLayout.addWidget(self.widget('current_documentation'), 1, 0) gridLayout.addWidget(self.widget('final_title'), 0, 2) gridLayout.addWidget(self.widget('final_documentation'), 1, 2) gridLayout.addWidget(self.widget('importing_title'), 0, 4) gridLayout.addWidget(self.widget('importing_documentation'), 1, 4) # gridLayout.addWidget(self.widget('compare_arrows_current_icon'), 0, 1, QtCore.Qt.AlignCenter) # gridLayout.addWidget(self.widget('compare_arrows_importing_icon'), 0, 3, QtCore.Qt.AlignCenter) gridLayout.addWidget(self.widget('pick_current_button'), 1, 1) gridLayout.addWidget(self.widget('pick_importing_button'), 1, 3) mainLayout = QtWidgets.QVBoxLayout() mainLayout.addWidget(gridWidget) mainLayout.addWidget(self.widget('confirmation_box')) mainLayout.setContentsMargins(10, 10, 10, 10) self.setLayout(mainLayout) self.setFixedSize(self.sizeHint()) self.setFont(Font('Roboto', 12)) self.setWindowIcon(QtGui.QIcon(':/icons/128/ic_eddy')) self.setWindowTitle("Resolve documentation conflict for {0} '{1}'...".format(self.item.shortName, self.name))