示例#1
0
    def setupUpdateUi(self):
        self.resetUi()
        self.ui.label_icon.show()
        self.dialog.setMinimumSize(QSize(rt(346 * 2), rt(346)))
        self.dialog.resize(rt(346 * 2), rt(346))
        show_widgets = [
            self.ui.main_container, self.ui.label_changelog,
            self.ui.button_skip, self.ui.button_cancel, self.ui.button_install,
            self.ui.label_info, self.ui.release_notes, self.ui.label_headline
        ]
        for widget in show_widgets:
            widget.show()
        labels = [self.ui.label_headline, self.ui.label_info]
        for label in labels:
            label.setText(self.replaceAppVars(label.text()))
        self.ui.label_changelog.setHtml(
            release_utils.generateChangelogDocument(self._updates))
        self.ui.label_changelog.setOpenExternalLinks(True)
        self.ui.label_changelog.setReadOnly(True)

        self.ui.button_confirm.clicked.connect(self.dialog.accept)
        self.ui.button_skip.clicked.connect(self.skipRelease)
        self.ui.button_cancel.clicked.connect(self.dialog.reject)

        self.ui.button_install.setFocus()
        self.ui.button_install.clicked.connect(self.onButtonInstall)
        self.dialog.adjustSize()
示例#2
0
 def setupLoadingUi(self):
     if self._silent:
         return
     self.resetUi()
     self.dialog.setMinimumSize(QSize(rt(500), rt(120)))
     self.dialog.resize(rt(500), rt(120))
     self.ui.main_container.show()
     self.ui.label_headline_loading.show()
     self.ui.progress_bar.show()
     self.ui.progress_bar.setMaximum(0)
     self.ui.progress_bar.setMinimum(0)
     self.ui.label_icon.show()
     self.dialog.adjustSize()
示例#3
0
 def setupInstallFailedUi(self):
     self.resetUi()
     self.dialog.setMinimumSize(QSize(rt(500), rt(120)))
     self.dialog.resize(rt(500), rt(120))
     show_widgets = [
         self.ui.main_container, self.ui.label_icon,
         self.ui.label_info_unable_update,
         self.ui.label_headline_unable_update
     ]
     for widget in show_widgets:
         widget.show()
     self.ui.label_info_unable_update.setText(
         self.replaceAppVars(self.ui.label_info_unable_update.text()))
     self.dialog.adjustSize()
示例#4
0
 def setupNoUpdatesUi(self):
     if self._silent:
         return
     self.resetUi()
     self.dialog.setMinimumSize(QSize(rt(500), rt(120)))
     self.dialog.resize(rt(500), rt(120))
     show_widgets = [
         self.ui.label_info_no_updates, self.ui.button_confirm,
         self.ui.label_headline_no_updates, self.ui.main_container,
         self.ui.label_icon
     ]
     for widget in show_widgets:
         widget.show()
     self.ui.button_confirm.setFocus()
     self.ui.label_headline_no_updates.setText(
         self.replaceAppVars(self.ui.label_headline_no_updates.text()))
     self.ui.button_confirm.clicked.connect(self.dialog.accept)
     self.dialog.adjustSize()
示例#5
0
    def setupDownloadingUi(self):
        self.resetUi()
        self.dialog.setWindowTitle(
            self.tr("Updating") + " %s…" % QApplication.applicationName())
        self.dialog.setMinimumSize(QSize(rt(500), rt(120)))
        self.dialog.resize(rt(500), rt(120))
        show_widgets = [
            self.ui.main_container, self.ui.label_icon, self.ui.progress_bar,
            self.ui.label_downloading, self.ui.button_cancel_loading,
            self.ui.progress_label
        ]
        for widget in show_widgets:
            widget.show()

        self.ui.button_cancel_loading.setEnabled(True)
        self.ui.button_cancel_loading.setFocus()
        self.ui.button_cancel_loading.clicked.connect(self.dialog.reject)
        self.dialog.adjustSize()
示例#6
0
    def setupInstallingUi(self):
        self.resetUi()
        self.dialog.setWindowTitle(
            self.tr("Updating") + " %s…" % QApplication.applicationName())
        self.dialog.setMinimumSize(QSize(rt(500), rt(120)))
        self.dialog.resize(rt(500), rt(120))
        show_widgets = [
            self.ui.main_container, self.ui.label_icon,
            self.ui.button_install_and_relaunch,
            self.ui.label_install_and_relaunch
        ]
        for widget in show_widgets:
            widget.show()

        self.updateProgressBar(self._latest_release.download_size,
                               self._latest_release.download_size)

        self.ui.button_install_and_relaunch.setEnabled(True)
        self.ui.button_install_and_relaunch.setFocus()
        self.ui.button_install_and_relaunch.clicked.connect(self.installUpdate)
        self.dialog.adjustSize()
    def __init__(self, dialog) -> None:
        dialog.setMinimumSize(QSize(rt(400), rt(120)))
        dialog.setModal(True)
        self.main_layout = QtWidgets.QVBoxLayout(dialog)
        self.main_layout.setContentsMargins(rt(20), rt(11), rt(11), rt(11))
        self.main_layout.setSpacing(0)
        self.main_container = QtWidgets.QWidget(dialog)
        self.grid_layout = QtWidgets.QGridLayout(self.main_container)
        self.grid_layout.setContentsMargins(0, rt(6), 0, 0)
        self.grid_layout.setHorizontalSpacing(24)
        self.grid_layout.setVerticalSpacing(6)
        self.label_headline = QtWidgets.QLabel(self.main_container)
        font = QtGui.QFont()
        font.setBold(True)
        font.setWeight(applyFontRatio(105))
        self.label_headline.setFont(font)
        self.grid_layout.addWidget(self.label_headline, 0, 2, 1, 1)

        self.label_headline_loading = QtWidgets.QLabel(self.main_container)
        self.grid_layout.addWidget(self.label_headline_loading, 0, 2, 1, 1)

        self.label_downloading = QtWidgets.QLabel(self.main_container)
        self.label_downloading.setFont(font)
        self.grid_layout.addWidget(self.label_downloading, 0, 2, 1, 1)

        self.label_install_and_relaunch = QtWidgets.QLabel(self.main_container)
        self.label_install_and_relaunch.setFont(font)
        self.grid_layout.addWidget(self.label_install_and_relaunch, 0, 2, 1, 1)

        self.progress_bar = QtWidgets.QProgressBar(self.main_container)
        self.grid_layout.addWidget(self.progress_bar, 1, 2, 2, 1)

        self.label_headline_no_updates = QtWidgets.QLabel(self.main_container)
        self.grid_layout.addWidget(self.label_headline_no_updates, 0, 2, 1, 1)

        self.label_info_no_updates = QtWidgets.QLabel(self.main_container)
        self.grid_layout.addWidget(self.label_info_no_updates, 1, 2, 2, 1)

        self.label_headline_unable_update = QtWidgets.QLabel(
            self.main_container)
        self.grid_layout.addWidget(self.label_headline_unable_update, 0, 2, 1,
                                   1)

        self.label_info_unable_update = QtWidgets.QLabel(self.main_container)
        self.label_info_unable_update.setTextFormat(Qt.RichText)
        self.label_info_unable_update.setTextInteractionFlags(
            Qt.TextBrowserInteraction)
        self.label_info_unable_update.setOpenExternalLinks(True)
        self.grid_layout.addWidget(self.label_info_unable_update, 1, 2, 2, 1)

        self.label_icon = QtWidgets.QLabel(self.main_container)
        self.label_icon.setSizePolicy(
            BQSizePolicy(width=QtWidgets.QSizePolicy.Minimum))
        self.grid_layout.addWidget(self.label_icon, 0, 0, 3, 1)
        self.label_info = QtWidgets.QLabel(self.main_container)
        self.label_info.setSizePolicy(
            BQSizePolicy(width=QtWidgets.QSizePolicy.Expanding))
        self.label_info.setWordWrap(True)
        self.grid_layout.addWidget(self.label_info, 1, 2, 2, 1)
        font = QtGui.QFont()
        font.setBold(True)
        font.setWeight(75)
        self.release_notes = QtWidgets.QLabel(self.main_container)
        self.release_notes.setFont(font)
        self.release_notes.setSizePolicy(
            BQSizePolicy(width=QtWidgets.QSizePolicy.Expanding))
        self.grid_layout.addWidget(self.release_notes, 2, 2, 1, 1)
        self.main_layout.addWidget(self.main_container)
        self.label_changelog = QtWidgets.QTextBrowser(self.main_container)
        self.label_changelog.setSizePolicy(
            BQSizePolicy(height=QtWidgets.QSizePolicy.Expanding))
        self.grid_layout.addWidget(self.label_changelog, 3, 2, 1, 1)

        self.button_container = QtWidgets.QWidget(dialog)
        self.button_container.setSizePolicy(
            BQSizePolicy(height=QtWidgets.QSizePolicy.Minimum))
        self.horizontal_layout = QtWidgets.QHBoxLayout(self.button_container)
        self.horizontal_layout.setContentsMargins(0, 0, 0, 0)
        self.horizontal_layout.setSpacing(rt(12))
        self.button_skip = QtWidgets.QPushButton(self.button_container)
        self.horizontal_layout.addWidget(self.button_skip)
        self.progress_label = QtWidgets.QLabel(self.button_container)
        self.horizontal_layout.addWidget(self.progress_label)
        spacer_item1 = QtWidgets.QSpacerItem(rt(40), rt(20),
                                             QtWidgets.QSizePolicy.Expanding,
                                             QtWidgets.QSizePolicy.Minimum)
        self.horizontal_layout.addItem(spacer_item1)
        self.button_cancel = QtWidgets.QPushButton(self.button_container)
        self.horizontal_layout.addWidget(self.button_cancel)
        self.button_install = QtWidgets.QPushButton(self.button_container)
        self.horizontal_layout.addWidget(self.button_install)
        self.button_install_and_relaunch = QtWidgets.QPushButton(
            self.button_container)
        self.horizontal_layout.addWidget(self.button_install_and_relaunch)
        self.button_confirm = QtWidgets.QPushButton(self.button_container)
        self.horizontal_layout.addWidget(self.button_confirm)
        self.button_cancel_loading = QtWidgets.QPushButton(
            self.button_container)
        self.horizontal_layout.addWidget(self.button_cancel_loading)
        self.grid_layout.addWidget(self.button_container, 4, 2, 1, 1)

        self.retranslateUi()