Esempio n. 1
0
File: main.py Progetto: nwagu/pablo
    def loadFile(self, fileName):
        file = QFile(fileName)
        if not file.open(QFile.ReadOnly | QFile.Text):
            QMessageBox.warning(
                self, "Pablo",
                "Cannot read file %s:\n%s." % (fileName, file.errorString()))
            return

        inFile = QTextStream(file)
        QApplication.setOverrideCursor(Qt.WaitCursor)

        if (QFileInfo(fileName).suffix() in ("pbl")):
            self.paged_text_edit.setHtml(inFile.readAll())
        elif (QFileInfo(fileName).suffix() in ("html")):
            # FIXME: Prevent double setting of the paged_text_edit where necessary
            # FIXME: Double setting may cause bad UX with large files
            self.paged_text_edit.setHtml(inFile.readAll())
            cleanHtml = HTMLCleaner.clean(
                self.paged_text_edit.toHtml()).decode("utf-8")
            self.paged_text_edit.setHtml(cleanHtml)
        else:
            self.paged_text_edit.setPlainText(inFile.readAll())

        QApplication.restoreOverrideCursor()

        self.setCurrentFile(fileName)
        self.statusBar.writeMessageOnStatus("File loaded", 2000)
Esempio n. 2
0
 def loadFile(self, fileName):
     file = QFile(fileName)
     if not file.open(QFile.ReadOnly | QFile.Text):
         QMessageBox.warning(self, self.tr("Application"), self.tr("Cannot read file "
             "{}:\n{}.".format(fileName, file.errorString())))
         return
 
     inStream = QTextStream(file)
     QApplication.setOverrideCursor(QtGui.Qt.WaitCursor)
     self.textEdit.setPlainText(inStream.readAll())
     print(inStream.readAll())
     QApplication.restoreOverrideCursor()
 
     self.setCurrentFile(fileName)
     self.statusBar().showMessage(self.tr("File loaded"), 2000)
Esempio n. 3
0
    def switch_theme(self):
        """
        Toggle the stylesheet to use the desired path in the Qt resource
        system (prefixed by `:/`) or generically (a path to a file on
        system). This is quoted : https://stackoverflow.com/questions/48256772/dark-theme-for-qt-widgets
        """
        # get the QApplication instance,  or crash if not set
        app = QApplication.instance()
        if app is None:
            raise RuntimeError("No Qt Application found.")

        text = ""
        if self.parent.style_theme == "light":
            self.parent.style_theme = "dark"
            self.parent.style_theme_sheet = ":/dark.qss"
            self.update_statusbar()
            text = "Light"
        elif self.parent.style_theme == "dark":
            self.parent.style_theme = "light"
            self.parent.style_theme_sheet = ":/light.qss"
            self.update_statusbar()
            text = "Dark"

        file = QFile(self.parent.style_theme_sheet)
        self.parent.theme_button.setText(text)
        file.open(QFile.ReadOnly | QFile.Text)
        stream = QTextStream(file)
        app.setStyleSheet(stream.readAll())
Esempio n. 4
0
    def __init__(self, parent=None):
        super(MainWindow, self).__init__(parent)

        self.centralWidget = QWidget()
        self.mainLayout = QVBoxLayout()

        # Initialize board
        self.boardWidget = hichess.BoardWidget()
        # The user can interract with both colors of the board
        self.boardWidget.accessibleSides = hichess.BOTH_SIDES
        # Enable drag and drop
        self.boardWidget.dragAndDrop = True

        # background image
        self.boardWidget.setBoardPixmap(
            defaultPixmap=QPixmap(":/images/chessboard.png"),
            flippedPixmap=QPixmap(":/images/flipped_chessboard.png"))

        # qss
        qss = QFile(":/style/styles.css")
        if qss.open(QFile.ReadOnly):
            textStream = QTextStream(qss)
            self.boardWidget.setStyleSheet(textStream.readAll())

        self.flipButton = QPushButton("Flip")
        # flip the board when the button is pressed
        self.flipButton.clicked.connect(self.boardWidget.flip)

        self.mainLayout.addWidget(self.boardWidget)
        self.mainLayout.addWidget(self.flipButton)
        self.centralWidget.setLayout(self.mainLayout)
        self.setCentralWidget(self.centralWidget)
 def dark_theme(self):
     file = QFile(":/stylesheet/dark.txt")
     file.open(QFile.ReadOnly | QFile.Text)
     stream = QTextStream(file)
     self.setStyleSheet(stream.readAll())
     self.setIcons("white")
     self.spinner.setColor(QtGui.QColor(206, 206, 206))
 def light_theme(self):
     file = QFile(":/stylesheet/light.txt")
     file.open(QFile.ReadOnly | QFile.Text)
     stream = QTextStream(file)
     self.setStyleSheet(stream.readAll())
     self.setIcons("black")
     self.spinner.setColor(QtGui.QColor(26, 25, 28))
    def __init__(self):
        super(DocsWindow, self).__init__()
        docs_ui = docsform.Ui_Dialog()
        docs_ui.setupUi(self)

        file = QFile(":/text/docum.txt")
        file.open(QFile.ReadOnly | QFile.Text)
        stream = QTextStream(file)
        docs_ui.textEdit.setHtml(stream.readAll())
    def __init__(self):
        super(AboutWindow, self).__init__()
        about_ui = abtform.Ui_Dialog()
        about_ui.setupUi(self)

        file = QFile(":/text/about.txt")
        file.open(QFile.ReadOnly | QFile.Text)
        stream = QTextStream(file)
        about_ui.text.setHtml(stream.readAll())
Esempio n. 9
0
    def testConstruction(self):
        '''QTextStream construction'''
        obj = QTextStream()

        self.assertEqual(obj.codec(), QTextCodec.codecForLocale())
        self.assertEqual(obj.device(), None)
        self.assertEqual(obj.string(), None)

        self.assertTrue(obj.atEnd())
        self.assertEqual(obj.readAll(), '')
Esempio n. 10
0
    def _read_file(self, file_path: str) -> str:
        from PySide2.QtCore import QFile
        from PySide2.QtCore import QTextStream
        from PySide2.QtCore import QIODevice

        file = QFile(file_path)
        file.open(QIODevice.ReadOnly)
        ts = QTextStream(file)
        string = ts.readAll()
        return string
Esempio n. 11
0
    def load_file(self, fileName):
        file = QFile(fileName)
        if not file.open(QFile.ReadOnly | QFile.Text):
            QMessageBox.warning(self, "Cryptix",
            f"Cannot read {fileName} :\n{file.errorString()}")
            return

        stream = QTextStream(file)
        self.encryptEdit.setPlainText(stream.readAll())

        self.statusBar().showMessage("File loaded", 2000)
Esempio n. 12
0
    def openFile(self, path = ""):
        fileName = path

        if not fileName:
            fileName, _ = QFileDialog.getOpenFileName(self, self.tr("Open File"), "",
                                                      "qmake Files (*.pro *.prf *.pri)")

        if fileName:
            inFile = QFile(fileName)
            if inFile.open(QFile.ReadOnly | QFile.Text):
                stream = QTextStream(inFile)
                self.editor.setPlainText(stream.readAll())
Esempio n. 13
0
    def load(self):
        filename, _ = QFileDialog.getOpenFileName(self)

        if not filename:
            return

        file = QFile(filename)
        if not file.open(QFile.ReadOnly | QFile.Text):
            QMessageBox.warning(
                self, "Panel Słoneczny", "nie mógł wczytać pliku %s:\n%s." %
                (filename, file.errorString()))
            return

        inf = QTextStream(file)
        #QApplication.setOverrideCursor(QtCore.Qt.WaitCursor)
        self.textEdit.setPlainText(inf.readAll())
        #with open(file, 'r') as input:
        with open('Breslau.txt', 'r') as f:
            # f = self.nameEdit.text()
            # f = self.latitudeEdit.text()
            # f = self.longitudeEdit.text()
            # f = self.dateandtimeEdit.text()
            # print(self.nameEdit.text())
            # print(self.latitudeEdit.text())
            # print(self.longitudeEdit.text())
            # print(self.dateandtimeEdit.text())
            # for line in f:
            #      print (line, end='')
            f_name = f.readline()
            #f_name = self.nameEdit.text()
            self.text1.setText(f_name)
            f_lat = f.readline()
            f_lat = self.latitudeEdit.text()
            f_lon = f.readline()
            f_lon = self.longitudeEdit.text()
            f_dnt = f.readline()
            f_dnt = self.dateandtimeEdit.text()

            # for line in f:
            #     if 'name' in line:
            #         self.text1.setText(line)
            #if 'lat' in line:

        #self.text1.setText(self.textEdit.setPlainText(inf.readAll()))
        #self.text1.setText(self.nameEdit.text())

        #QApplication.restoreOverrideCursor()

        #self.setCurrentFile(filename)

        self.statusBar().showMessage("Wczytano plik", 2000)
Esempio n. 14
0
def readMarkdownFile(fileName):
    inFile = QFile(fileName)

    if not inFile.open(QFile.ReadOnly | QFile.Text):
        inFile.close()

        print("Couldn't read {}".format(fileName))

        return ""

    stream = QTextStream(inFile)
    contents = stream.readAll()
    inFile.close()

    return contents
Esempio n. 15
0
 def setupUi(self):
     self.ui.setupUi(self)
     self.setWindowTitle(Constants.PROGRAM_NAME + " - version " +
                         Constants.CSV2JSON_VERSION)
     self.ui.cbLogger.setEnabled(False)
     self.ui.cbConverter.setEnabled(False)
     self.ui.leSourcePath.setText(Settings().getSpoolPath())
     self.ui.pbStyle.setVisible(Settings().isStyleButtonVisible())
     self.ui.pteEditor.setMaximumBlockCount(Settings().getMaxLogRowCount())
     self.ui.pteEditor.setReadOnly(True)
     file = QFile(":/qss/style")
     file.open(QFile.ReadOnly | QFile.Text)
     ts = QTextStream(file)
     styleSheet = ts.readAll()
     self.setStyleSheet(styleSheet)
Esempio n. 16
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
Esempio n. 17
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
Esempio n. 18
0
    def SpongesMorphotypes() -> dict:
        if len(Loader._sponges_morphotypes) == 0:
            content = ""
            file = QFile(Loader.MORPHOTYPES_FILE_PATH)
            if file.open(QIODevice.ReadOnly | QFile.Text):
                stream = QTextStream(file)
                stream.setCodec("UTF-8")
                content = stream.readAll()
                file.close()

                obj = json.loads(content)

            for i, m in enumerate(obj):
                Loader._sponges_morphotypes[i] = Morphotype(
                    m["name"], QColor(m["color"]))

        return Loader._sponges_morphotypes
Esempio n. 19
0
    def set_dark_style(self):
        f = QFile(Resource.darkstyle)

        if not f.exists():
            LOGGER.error(
                "Unable to load dark stylesheet, file not found in resources")
            return
        else:
            f.open(QFile.ReadOnly | QFile.Text)
            ts = QTextStream(f)
            stylesheet = ts.readAll()

            self.setStyleSheet(stylesheet)
            KnechtSettings.app['app_style'] = 'fusion-dark'
            IconRsc.update_icons(self.ui)

            self.setStyle('Fusion')
Esempio n. 20
0
    def _dependenciesComboBoxChanged(self, idx: int):
        data = self._dependencies_list.currentData()
        self._version.setText(data["version"])
        self._license.setText(data["license"])
        self._author.setText(data["author"])
        self._link.setText("<a href='%s'>%s</a>" %
                           (data["link"], data["link"]))

        license_file = QFile(":/documents/licenses/%s" % data["license-file"])
        text = ""
        if license_file.open(QIODevice.ReadOnly | QFile.Text):
            stream = QTextStream(license_file)
            stream.setCodec("UTF-8")
            text = stream.readAll()
            license_file.close()

        self._license_area.setText(text)
Esempio n. 21
0
    def toggle_stylesheet(self, path):
        '''
        Toggle the stylesheet to use the desired path in the Qt resource
        system (prefixed by `:/`) or generically (a path to a file on
        system).

        :path:      A full path to a resource or file on system
        '''

        # get the QApplication instance,  or crash if not set
        app = QApplication.instance()
        if app is None:
            raise RuntimeError("No Qt Application found.")

        file = QFile(path)
        file.open(QFile.ReadOnly | QFile.Text)
        stream = QTextStream(file)
        app.setStyleSheet(stream.readAll())
Esempio n. 22
0
    def __init__(self, parent=None):
        super(MainWindow, self).__init__(parent)

        self.previous_move = chess.Move(
            chess.A1, chess.A2)  # //HACK get previous move from board?

        self.centralWidget = QWidget()
        self.mainLayout = QVBoxLayout()

        # Initialize board
        self.boardWidget = QBoardWidget()
        #quant stuff here plis
        self.Qpieces = []
        self.quantum_mode = False
        self.split_turn = False  # for second move when split
        self.boardWidget.foreachCells(self.setQboard)

        # The user can interract with both colors of the board
        self.boardWidget.accessibleSides = hichess.BOTH_SIDES
        # Enable drag and drop
        self.boardWidget.dragAndDrop = True

        # background image
        self.boardWidget.setBoardPixmap(
            defaultPixmap=QPixmap(":/images/chessboard.png"),
            flippedPixmap=QPixmap(":/images/flipped_chessboard.png"))

        # qss
        qss = QFile(":/style/styles.css")
        if qss.open(QFile.ReadOnly):
            textStream = QTextStream(qss)
            self.boardWidget.setStyleSheet(textStream.readAll())

        self.flipButton = QPushButton("Flip")
        # flip the board when the button is pressed
        self.flipButton.clicked.connect(self.boardWidget.flip)

        self.mainLayout.addWidget(self.boardWidget)
        self.mainLayout.addWidget(self.flipButton)
        self.centralWidget.setLayout(self.mainLayout)
        self.setCentralWidget(self.centralWidget)

        self.boardWidget.moveMade.connect(self.checkQmove)
        self.boardWidget.illegalClassicalMove.connect(self.entangleMove)
Esempio n. 23
0
    def load_file(self, file_name):
        """
        Load file into current instance.

        :param file_name: whatever QFileDialog.getOpenFileName returns (abs or canonical path?), or canonical
        :return:
        """
        file = QFile(file_name)
        if not file.open(QFile.ReadOnly | QFile.Text):
            QMessageBox.warning(
                self, "OneHandTextEdit",
                "Cannot read file {}:\n{}.".format(file_name,
                                                   file.errorString()))
            return

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

        self.set_current_file(file_name)
        self.statusBar().showMessage("File loaded", 2000)
Esempio n. 24
0
    app.setWindowIcon(QIcon(":/images/chessboard.png"))

    app.setApplicationDisplayName("HiChess")
    app.setOrganizationName("Zneigras")
    app.setOrganizationDomain("https://github.com/H-a-y-k/Hichess")

    breeze = QFile(":qbreeze/dark.qss")
    main = QFile(":/style/styles.css")

    # stylesheet as string
    breezeQss = ""
    mainQss = ""

    if breeze.open(QFile.ReadOnly):
        textstream = QTextStream(breeze)
        breezeQss = textstream.readAll()
    if main.open(QFile.ReadOnly):
        textstream = QTextStream(main)
        mainQss = textstream.readAll()

    app.setStyleSheet(f"{breezeQss}{mainQss}")

    settingsDialog = SettingsDialog()
    status = settingsDialog.exec_()

    if status == SettingsDialog.Accepted:
        window = HichessGui(username=settingsDialog.newUsername,
                            enginePath=settingsDialog.newEnginePath)
        window.setMinimumSize(800, 800)
        window.showMaximized()
Esempio n. 25
0
    def text(self) -> str:
        content = ""
        file = QFile(":/documents/report_template.html")
        if file.open(QIODevice.ReadOnly | QFile.Text):
            stream = QTextStream(file)
            stream.setCodec("UTF-8")
            content = stream.readAll()
            file.close()

        # Summary
        content = content.replace("{{TITLE}}", self._analysis._parameters.name())
        content = content.replace("{{ANALYSED_IMAGES}}", str(self._analysis.imagesCount()))
        content = content.replace("{{START_DATE}}", self._analysis.startDateTime().toString("dd/MM/yyyy 'à' hh:mm"))
        content = content.replace("{{END_DATE}}", self._analysis.endDateTime().toString("dd/MM/yyyy 'à' hh:mm"))
        
        # Parameters
        selected_morphotypes_names = [m.name() for m in self._analysis.parameters().selectedMorphotypes().values()]

        content = content.replace("{{ANALYSED_FOLDER}}", self._analysis.parameters().srcFolder())
        content = content.replace("{{CONFIDENCE_THRESHOLD}}", "%.1f%%" % (self._analysis.parameters().threshold()*100))
        content = content.replace("{{SELECTED_MORPHOTYPES}}", ", ".join(selected_morphotypes_names))
        content = content.replace("{{OPT_SAVE_PROCESSED_IMAGES}}", str(self._analysis.parameters().saveProcessedImages()))
        if self._analysis.parameters().saveProcessedImages():
            content = content.replace("{{PROCESSED_IMAGES_FOLDER}}", self._analysis.parameters().destFolder())
        
        # Detections
        morphotypes_stats = ""
        total_progress = ""

        total = self._analysis.totalDetections()
        div_by = total
        if div_by == 0:
            div_by = 1
        
        for morphotype_id, morphotype in self._analysis.parameters().selectedMorphotypes().items():
            detections = self._analysis.cumulativeDetectionsFor(morphotype_id)

            morphotypes_stats += """
                <div class="stat-item">
                    <div class="stat-item-header">
                        <span class="name">%s</span>
                        <span class="count">%s (%.1f%%)</span>
                    </div>
                    <div class="progress-container">
                        <div class="progress" style="width: %.1f%%; background-color: %s"></div>
                    </div>
                </div>
            """ % (morphotype.name(), detections, detections*100/div_by, detections*100/div_by, morphotype.color().name())

            total_progress += """
                <div class="progress" style="width: %.1f%%; background-color: %s"></div>
            """ % (detections*100/div_by, morphotype.color().name())

        content = content.replace("{{MORPHOTYPES_STATS}}", morphotypes_stats)
        content = content.replace("{{TOTAL_PROGRESS}}", total_progress)
        content = content.replace("{{TOTAL_DETECTIONS}}", str(total))


        # Chart
        content = content.replace("{{CHART_IMAGE}}", self._analysis.base64ChartImage())

        legend_items = ""
        for morphotype_id, morphotype in self._analysis.parameters().selectedMorphotypes().items():
            legend_items += """
                <div class="legend-item">
                    <div class="legend-item-color-container">
                        <div class="legend-item-color" style="background-color: %s"></div>
                    </div>
                    <div class="legend-item-name">%s</div>
                </div>
            """ % (morphotype.color().name(), morphotype.name())

        content = content.replace("{{LEGEND_ITEMS}}", legend_items)

        # Interest
        image_items = ""
        for processed_image_filename, base64_img in self._analysis.mostInterestingBase64Images().items():
            image_items += """
                <div class="images-item">
                    <div class="images-item-container">
                        <img src="%s">
                        <span>%s</span>
                    </div>
                </div>
            """ % (base64_img, processed_image_filename)

        content = content.replace("{{IMAGE_ITEMS}}", image_items)

        return content