示例#1
0
    def show_game(self, display: GameDisplay):
        QApplication.setOverrideCursor(Qt.WaitCursor)
        self.display = display
        start_state = display.start_state
        self.start_state = start_state
        collection_name = self.get_collection_name()
        self.setWindowTitle(f'{collection_name} - {start_state.game_name}')
        self.ui.game_name.setText(start_state.game_name)
        settings = get_settings(start_state)
        is_locked = settings.value('searches_locked', False, bool)
        self.ui.searches_lock1.setChecked(is_locked)
        self.ui.searches_lock2.setChecked(is_locked)
        search_count = settings.value('searches', 600, int)
        self.ui.searches1.setValue(search_count)
        self.ui.searches2.setValue(search_count)
        self.ui.shuffle_players.setChecked(
            settings.value('shuffle_players', False, bool))
        heuristics = self.load_heuristics()
        player1_index = settings.value('player_1', 0, int)
        player2_index = settings.value('player_2', 0, int)
        self.ui.player1.clear()
        self.ui.player2.clear()
        self.ui.player1.addItem('Human', None)
        self.ui.player2.addItem('Human', None)
        for name, heuristic in heuristics:
            self.ui.player1.addItem(name, heuristic)
            self.ui.player2.addItem(name, heuristic)

        self.ui.player1.setCurrentIndex(player1_index)
        self.ui.player2.setCurrentIndex(player2_index)
        self.ui.stacked_widget.setCurrentWidget(self.ui.players_page)
        self.board_to_resume = None
        self.on_toggle_review()
        QApplication.restoreOverrideCursor()
示例#2
0
        def decorated_function(*args, **kwargs):

            QApplication.setOverrideCursor(QCursor(Qt.WaitCursor))

            normal_function(*args, **kwargs)

            QApplication.restoreOverrideCursor()
示例#3
0
def error_msg(error_message):
    message = QMessageBox()
    message.setText(
        "There was a problem processing your file. Please click more details for more information."
    )
    message.setInformativeText(error_message)
    message.setWindowTitle("Error processing file")
    message.setDetailedText(error_message)
    message.setStandardButtons(QMessageBox.Ok)
    QApplication.setOverrideCursor(QCursor(Qt.ArrowCursor))
    message.exec_()
示例#4
0
 def thread_finished(self):
     """Set up Main view after finishing a task."""
     ui.progressbar.hide()
     ui.label_refresh.hide()
     ui.label_info.show()
     ui.progressbar.setValue(0)
     QApplication.setOverrideCursor(QCursor())
     ui.label_info.setText(self.main_title)
     for widget in (ui.refresh_btn, ui.refresh_bind, ui.store_btn,
                    ui.store_bind):
         widget.setEnabled(True)
     self.enable_buttons()
示例#5
0
    def update_data(self):
        QApplication.setOverrideCursor(QCursor(Qt.WaitCursor))
        meta_data = get_metadata(self.url_name)

        if os.path.exists(self.db_name):
            os.remove(self.db_name)

        conn, cursor = open_db(self.db_name)
        setup_school_db(cursor)
        process_data(self.url_name, meta_data, cursor)
        close_db(conn)
        QApplication.setOverrideCursor(QCursor(Qt.ArrowCursor))

        file_name = QFileDialog.getOpenFileName(
            self, "Please select an .xlsx file to import from")[0]
        print(file_name, " was the file selected.")

        conn, cursor = open_db(self.db_name)

        QApplication.setOverrideCursor(QCursor(Qt.WaitCursor))
        read_excel_data(file_name, cursor)
        close_db(conn)
        QApplication.setOverrideCursor(QCursor(Qt.ArrowCursor))

        self.statusBar().showMessage(
            f"Update success from: {file_name} on {datetime.now()}")

        return file_name
示例#6
0
    def mouseMoveEvent(self, event):
        anchor = self.anchorAt(event.pos())

        if self._mousePressAnchor != anchor:
            self._mousePressAnchor = ''

        if self._lastHoveredAnchor != anchor:
            self._lastHoveredAnchor = anchor
            if self._lastHoveredAnchor:
                QApplication.setOverrideCursor(QCursor(Qt.PointingHandCursor))
                self.linkHovered.emit(self._lastHoveredAnchor)
            else:
                QApplication.restoreOverrideCursor()
                self.linkUnhovered.emit()
示例#7
0
    def loadFile(self, fileName):
        file = QFile(fileName)
        if not file.open(QFile.ReadOnly | QFile.Text):
            QMessageBox.warning(
                self, "MateWriter",
                "Cannot read file %s:\n%s." % (fileName, file.errorString()))
            return

        inf = QTextStream(file)
        QApplication.setOverrideCursor(Qt.WaitCursor)
        self.textEdit.setPlainText(inf.readAll())
        QApplication.restoreOverrideCursor()

        self.setCurrentFile(fileName)
        self.statusBar().showMessage("File loaded", 2000)
示例#8
0
    def saveFile(self, fileName):
        file = QFile(fileName)
        if not file.open(QFile.WriteOnly | QFile.Text):
            QMessageBox.warning(
                self, "MateWriter",
                "Cannot write file %s:\n%s." % (fileName, file.errorString()))
            return False

        outf = QTextStream(file)
        QApplication.setOverrideCursor(Qt.WaitCursor)
        outf << self.textEdit.toPlainText()
        QApplication.restoreOverrideCursor()

        self.setCurrentFile(fileName)
        self.statusBar().showMessage("File saved", 2000)
        return True
示例#9
0
    def loadFile(self, fileName):
        file = QFile(fileName)
        if not file.open(QFile.ReadOnly | QFile.Text):
            QMessageBox.warning(
                self, "MDI",
                "Cannot read file %s:\n%s." % (fileName, file.errorString()))
            return False

        instr = QTextStream(file)
        QApplication.setOverrideCursor(Qt.WaitCursor)
        self.setPlainText(instr.readAll())
        QApplication.restoreOverrideCursor()

        self.setCurrentFile(fileName)

        self.document().contentsChanged.connect(self.documentWasModified)

        return True
示例#10
0
    def save(self):
        filename, _ = QFileDialog.getSaveFileName(self, "Choose a file name",
                                                  '.', "HTML (*.html *.htm)")
        if not filename:
            return

        file = QFile(filename)
        if not file.open(QFile.WriteOnly | QFile.Text):
            QMessageBox.warning(
                self, "Dock Widgets",
                "Cannot write file %s:\n%s." % (filename, file.errorString()))
            return

        out = QTextStream(file)
        QApplication.setOverrideCursor(Qt.WaitCursor)
        out << self.textEdit.toHtml()
        QApplication.restoreOverrideCursor()

        self.statusBar().showMessage("Saved '%s'" % filename, 2000)
示例#11
0
    def app_refresh(self):
        """Create threads to refresh list of installed apps."""
        if self.is_link_menu:
            self.store_menu()
        self.installed_apps = []
        self.progress = 0
        for i in self.apps_dict:
            i.setEnabled(False)
            i.setChecked(False)
        ui.label_refresh.show()
        ui.label_info.hide()
        ui.progressbar.show()
        for widget in self.main_widgets:
            widget.setEnabled(False)
        QApplication.setOverrideCursor(QCursor(Qt.BusyCursor))
        ui.label_refresh.setText(self.refresh_title)

        self.check_thread = CheckApps(self.apps_dict)
        self.check_thread.app_signal.connect(self.enable_installed)
        self.check_thread.progress_signal.connect(self.update_progress)
        self.check_thread.start()
示例#12
0
    def saveFile(self, fileName):
        error = None
        QApplication.setOverrideCursor(Qt.WaitCursor)
        file = QSaveFile(fileName)
        if file.open(QFile.WriteOnly | QFile.Text):
            outstr = QTextStream(file)
            outstr << self.toPlainText()
            if not file.commit():
                error = "Cannot write file %s:\n%s." % (fileName,
                                                        file.errorString())
        else:
            error = "Cannot open file %s:\n%s." % (fileName,
                                                   file.errorString())
        QApplication.restoreOverrideCursor()

        if error:
            QMessageBox.warning(self, "MDI", error)
            return False

        self.setCurrentFile(fileName)
        return True