def on_new_connection(self):
     if self.in_socket:
         self.in_socket.readyRead.disconnect(self.on_ready_read)
     self.in_socket = self.server.nextPendingConnection()
     if not self.in_socket:
         return
     self.in_stream = QTextStream(self.in_socket)
     self.in_socket.readyRead.connect(self.on_ready_read)
     if self.activate_on_message:
         self.activate_Window()
    def open_file(self, path=""):
        file_name = path

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

        if file_name:
            inFile = QFile(file_name)
            if inFile.open(QFile.ReadOnly | QFile.Text):
                stream = QTextStream(inFile)
                self._editor.setPlainText(stream.readAll())
    def __init__(self, parent=None):
        super(DragWidget, self).__init__(parent)

        dictionaryFile = QFile(':/dictionary/words.txt')
        dictionaryFile.open(QIODevice.ReadOnly)

        x = 5
        y = 5

        for word in QTextStream(dictionaryFile).readAll().split():
            wordLabel = DragLabel(word, self)
            wordLabel.move(x, y)
            wordLabel.show()
            x += wordLabel.width() + 2
            if x >= 195:
                x = 5
                y += wordLabel.height() + 2

        newPalette = self.palette()
        newPalette.setColor(QPalette.Window, Qt.white)
        self.setPalette(newPalette)

        self.setAcceptDrops(True)
        self.setMinimumSize(400, max(200, y))
        self.setWindowTitle("Draggable Text")
Exemple #4
0
    def loadFile(self):
        file = QFile(self.filename)

        if not file.open(QIODevice.ReadOnly):
            print("Can't open file:\n" + self.filename)
            return

        # Prepare text stream
        textStream = QTextStream(file)

        # Read lines
        data = []
        while not textStream.atEnd():
            data.append(textStream.readLine())

        # Load lines
        self.loadData(data)
Exemple #5
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
Exemple #6
0
    def loadFile(self, fileName):
        file = QFile(fileName)

        if not file.open(QIODevice.ReadOnly):
            QMessageBox.critical(self, self.windowTitle(),
                                 "Can't open file:\n" + fileName)
            return

        # Set filename
        self.m_programFileName = fileName

        # Prepare text stream
        textStream = QTextStream(file)

        # Read lines
        data = []
        while not textStream.atEnd():
            data.append(textStream.readLine())

        # Load lines
        self.loadData(data)
    def __init__(self, id, *argv):

        super(SingleApplication, self).__init__(*argv)
        self.id = id
        self.activation_window = None
        self.activate_on_message = False

        # Is there another instance running?
        self.out_socket = QLocalSocket()
        self.out_socket.connectToServer(self.id)
        self.is_running = self.out_socket.waitForConnected()

        if self.is_running:
            self.out_stream = QTextStream(self.out_socket)
        else:
            # No, there isn't.
            self.out_socket = None
            self.out_stream = None
            self.in_socket = None
            self.in_stream = None
            self.server = QLocalServer()
            self.server.listen(self.id)
            self.server.newConnection.connect(self.on_new_connection)
    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)
Exemple #9
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
Exemple #10
0
    def setPersepolisColorScheme(self, color_scheme):
        self.persepolis_color_scheme = color_scheme
        if color_scheme == 'Dark Fusion':
            dark_fusion = DarkFusionPalette()
            self.setPalette(dark_fusion)
            file = QFile(":/dark_style.qss")
            file.open(QFile.ReadOnly | QFile.Text)
            stream = QTextStream(file)
            self.setStyleSheet(stream.readAll())

        elif color_scheme == 'Light Fusion':
            light_fusion = LightFusionPalette()
            self.setPalette(light_fusion)
            file = QFile(":/light_style.qss")
            file.open(QFile.ReadOnly | QFile.Text)
            stream = QTextStream(file)
            self.setStyleSheet(stream.readAll())
Exemple #11
0
    def __init__(self, persepolis_setting):
        super().__init__(persepolis_setting)

        self.persepolis_setting = persepolis_setting

        # setting window size and position
        size = self.persepolis_setting.value('AboutWindow/size',
                                             QSize(545, 375))
        position = self.persepolis_setting.value('AboutWindow/position',
                                                 QPoint(300, 300))

        # read translators.txt files.
        # this file contains all translators.
        f = QFile(':/translators.txt')

        f.open(QIODevice.ReadOnly | QFile.Text)
        f_text = QTextStream(f).readAll()
        f.close()

        self.translators_textEdit.insertPlainText(f_text)

        self.resize(size)
        self.move(position)
class SingleApplication(QApplication):

    message_received = Signal(str)

    def __init__(self, id, *argv):

        super(SingleApplication, self).__init__(*argv)
        self.id = id
        self.activation_window = None
        self.activate_on_message = False

        # Is there another instance running?
        self.out_socket = QLocalSocket()
        self.out_socket.connectToServer(self.id)
        self.is_running = self.out_socket.waitForConnected()

        if self.is_running:
            self.out_stream = QTextStream(self.out_socket)
        else:
            # No, there isn't.
            self.out_socket = None
            self.out_stream = None
            self.in_socket = None
            self.in_stream = None
            self.server = QLocalServer()
            self.server.listen(self.id)
            self.server.newConnection.connect(self.on_new_connection)

    def get_is_running(self):
        return self.is_running

    def id(self):
        return self.id

    def activation_window(self):
        return self.activation_window

    def set_activation_window(self,
                              activation_window,
                              activate_on_message=True):
        self.activation_window = activation_window
        self.activate_on_message = activate_on_message
        self.message_received.connect(
            self.activation_window.on_message_received)

    def activate_Window(self):

        if not self.activation_window:
            return

        self.activation_window.setWindowState((
            self.activation_window.windowState()
            & ~Qt.WindowMinimized) | Qt.WindowActive)

        self.activation_window.activateWindow()

    def send_message(self, msg):
        if not self.out_stream:
            return False
        self.out_stream << msg << '\n'
        self.out_stream.flush()
        return self.out_socket.waitForBytesWritten()

    def on_new_connection(self):
        if self.in_socket:
            self.in_socket.readyRead.disconnect(self.on_ready_read)
        self.in_socket = self.server.nextPendingConnection()
        if not self.in_socket:
            return
        self.in_stream = QTextStream(self.in_socket)
        self.in_socket.readyRead.connect(self.on_ready_read)
        if self.activate_on_message:
            self.activate_Window()

    def on_ready_read(self):
        while True:
            msg = self.in_stream.readLine()
            if not msg:
                break

            self.message_received.emit(msg)