def __init__(self, silent):
        super(UpdateDialog, self).__init__()
        self.setupUi(self)
        self.layout().setSizeConstraint(QLayout.SetFixedSize)

        self.silent = silent

        self.update_data_thread = GetUpdateDataThread()
        self.download_update_thread = DownloadUpdateThread()

        self.download_update_thread.chunk_downloaded.connect(
            self.on_chunk_downloaded)
        self.download_update_thread.download_complete.connect(
            self.run_installer)
        self.download_update_thread.error.connect(self.on_downloader_error)

        self.update_data_thread.update_available.connect(self.show_update_text)
        self.update_data_thread.no_update.connect(self.on_no_update)
        self.update_data_thread.error.connect(self.on_updater_error)

        self.downloadButton.clicked.connect(self.download_and_run)

        self.closeButton.clicked.connect(self.update_data_thread.exit)
        self.closeButton.clicked.connect(self.download_update_thread.exit)
        self.closeButton.clicked.connect(self.closeEvent)

        check_on_startup = CONFIG.getboolean("Options",
                                             "check_updates_on_startup",
                                             fallback=True)
        CONFIG["Options"][
            "check_updates_on_startup"] = "yes" if check_on_startup else "no"
        save_config()
        self.checkOnStartupCheckBox.setCheckState(
            Qt.Checked if check_on_startup else Qt.Unchecked)
        self.checkOnStartupCheckBox.stateChanged.connect(
            self.on_startup_check_option_change)

        icon = QPixmap()
        icon.loadFromData(APP_ICON)
        self.setWindowIcon(QIcon(icon))

        self.setWindowTitle(tr_str("updater_dialog.title"))
        self.checkLabel.setText(tr_str("updater_dialog.checking_updates"))
        self.checkOnStartupCheckBox.setText(tr(self.checkOnStartupCheckBox))
        self.downloadButton.setText(tr(self.downloadButton))
        self.closeButton.setText(tr(self.closeButton))

        self.changelogBrowser.hide()
        self.progressLabel.hide()
        self.progressBar.hide()
        self.downloadButton.hide()

        self.setWindowFlags(self.windowFlags()
                            & ~Qt.WindowContextHelpButtonHint)
        self.adjustSize()
Пример #2
0
def main():
    print("Starting MF")

    load_config()

    app = QApplication(sys.argv)
    app.setStyle(QStyleFactory.create("Fusion"))

    window = MainWindow()
    if CONFIG.getboolean("Options", "check_updates_on_startup", fallback=True):
        CONFIG["Options"]["check_updates_on_startup"] = "yes"
        save_config()
        window.check_updates(True)
    window.show()
    window.connect()

    app.exec_()
    print("Exited!")
Пример #3
0
    def translate_ui(self, language):
        load_translation(language)
        CONFIG["Options"]["language"] = language
        save_config()

        subtitle = get_random_title()
        title = BASE_TITLE
        if subtitle is not None:
            title += f" -- {subtitle}"
        self.setWindowTitle(title)

        for menu_item in self.findChildren(QMenu):
            menu_item.setTitle(tr(menu_item))

        for menu_action in self.findChildren(QAction):
            if len(menu_action.objectName()) != 0:
                menu_action.setText(tr(menu_action))

        for tab in self.tabs:
            tab.translate_ui()
Пример #4
0
    def display_warning(self):
        if not CONFIG.getboolean("Options",
                                 "show_startup_warning",
                                 fallback=True) or not self.just_launched:
            return

        self.just_launched = False
        warning_box = QMessageBox(self)
        warning_box.setIcon(QMessageBox.Warning)

        dont_show_cb = QCheckBox(tr_str("warning_dialog.dont_show_again"))
        dont_show_cb.setCheckable(True)
        dont_show_cb.blockSignals(True)

        confirm_button = QPushButton()
        ok_text = tr_str("warning_dialog.ok")
        confirm_button.setText(ok_text)
        confirm_button.setEnabled(False)

        warning_box.addButton(dont_show_cb, QMessageBox.ResetRole)
        warning_box.addButton(confirm_button, QMessageBox.AcceptRole)
        warning_box.setTextFormat(Qt.RichText)
        warning_box.setText(tr_str("warning_dialog.warning"))
        warning_box.setWindowTitle(tr_str("warning_dialog.title"))

        def button_timer():
            for i in range(5, -1, -1):
                time.sleep(1)
                confirm_button.setText(f"{ok_text} ({i})")
            confirm_button.setText(ok_text)
            confirm_button.setEnabled(True)

        threading._start_new_thread(button_timer, ())
        warning_box.exec()

        if dont_show_cb.checkState() == Qt.Checked:
            CONFIG["Options"]["show_startup_warning"] = "no"
            save_config()
 def on_startup_check_option_change(self, state):
     opt = "yes" if state == Qt.Checked else "no"
     CONFIG["Options"]["check_updates_on_startup"] = opt
     save_config()