Beispiel #1
0
    def __init__(self, parent=None):
        QtGui.QWidget.__init__(self, parent)
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)

        QtCore.QObject.connect(self.ui.toolButton,
                               QtCore.SIGNAL("clicked()"), self.askfolder)
        QtCore.QObject.connect(self.ui.toolButton_2,
                               QtCore.SIGNAL("clicked()"), self.askfolder2)
        QtCore.QObject.connect(self.ui.toolButton_3,
                               QtCore.SIGNAL("clicked()"), self.askfolder3)
        QtCore.QObject.connect(self.ui.checkBox,
                               QtCore.SIGNAL(_fromUtf8("stateChanged(int)")),
                               self.toggleDropbox)
        QtCore.QObject.connect(self.ui.actionAbout,
                               QtCore.SIGNAL(_fromUtf8("activated()")),
                               self.about)
        QtCore.QObject.connect(self.ui.pushButton_3,
                               QtCore.SIGNAL(_fromUtf8("clicked()")),
                               self.reset)
        QtCore.QObject.connect(self.ui.pushButton,
                               QtCore.SIGNAL(_fromUtf8("clicked()")),
                               self.kopieren)
        QtCore.QObject.connect(self.ui.pushButton_2,
                               QtCore.SIGNAL(_fromUtf8("clicked()")),
                               self.delete_dirs)
Beispiel #2
0
class QtCopy(QtGui.QMainWindow):
    def __init__(self, parent=None):
        QtGui.QWidget.__init__(self, parent)
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)

        QtCore.QObject.connect(self.ui.toolButton,
                               QtCore.SIGNAL("clicked()"), self.askfolder)
        QtCore.QObject.connect(self.ui.toolButton_2,
                               QtCore.SIGNAL("clicked()"), self.askfolder2)
        QtCore.QObject.connect(self.ui.toolButton_3,
                               QtCore.SIGNAL("clicked()"), self.askfolder3)
        QtCore.QObject.connect(self.ui.checkBox,
                               QtCore.SIGNAL(_fromUtf8("stateChanged(int)")),
                               self.toggleDropbox)
        QtCore.QObject.connect(self.ui.actionAbout,
                               QtCore.SIGNAL(_fromUtf8("activated()")),
                               self.about)
        QtCore.QObject.connect(self.ui.pushButton_3,
                               QtCore.SIGNAL(_fromUtf8("clicked()")),
                               self.reset)
        QtCore.QObject.connect(self.ui.pushButton,
                               QtCore.SIGNAL(_fromUtf8("clicked()")),
                               self.kopieren)
        QtCore.QObject.connect(self.ui.pushButton_2,
                               QtCore.SIGNAL(_fromUtf8("clicked()")),
                               self.delete_dirs)

    def askfolder(self):
        folder = str(QtGui.QFileDialog.getExistingDirectory(self,
                                                        "Select Directory"))
        if folder:
            self.ui.lineEdit.setText(_fromUtf8(folder))

    def askfolder2(self):
        folder = str(QtGui.QFileDialog.getExistingDirectory(self,
                                                        "Select Directory"))
        if folder:
            self.ui.lineEdit_2.setText(_fromUtf8(folder))

    def askfolder3(self):
        folder = str(QtGui.QFileDialog.getExistingDirectory(self,
                                                        "Select Directory"))
        if folder:
            self.ui.lineEdit_3.setText(_fromUtf8(folder))

    def toggleDropbox(self):
        if not self.ui.checkBox.isChecked():
            self.ui.lineEdit_3.hide()
            self.ui.toolButton_3.hide()
            self.ui.label_3.hide()
        else:
            self.ui.lineEdit_3.show()
            self.ui.toolButton_3.show()
            self.ui.label_3.show()

    def about(self):
        self.ui.plainTextEdit.setPlainText(_fromUtf8("qtcopy\n\n"
                                           "Autor: Martin Fischer\n\n"
                                            "E-Mail: [email protected]\n\n"
                                            "Website: martinfischer.name"))

    def reset(self):
        self.ui.plainTextEdit.setPlainText(_fromUtf8("Hallo!\n"
                                           "\n"
"Wähle einen Ausgangsordner mit Unterordnern mit Dateien und einen Zielordner "
"wohin diese Dateien verschoben werden sollen.\n"
"\n"
"Mp3 Dateien (Podcasts) werden direkt in die Dropbox verschoben und der ID3 "
"Tag wird leicht verändert.\n"
"\n"
"Diese Software ist gedacht, um Miro Content in einen anderen Ordner zu "
"verschieben und Podcasts Android-Dropbox-bereit zu machen."))
        self.ui.lineEdit.setText(_fromUtf8("/home/martin/Videos/Miro"))
        self.ui.lineEdit_2.setText(_fromUtf8("/home/martin/Videos/TV/C Tube"))
        self.ui.checkBox.setChecked(True)
        self.ui.lineEdit_3.setText(_fromUtf8("/home/martin/Dropbox/radio"))

    def kopieren(self):
        self.ui.plainTextEdit.setPlainText(_fromUtf8(""))
        src = self.ui.lineEdit.text() + "/*"
        dst = self.ui.lineEdit_2.text()

        self.files = glob.glob(os.path.join(src, "*.*"))
        self.thread = Worker(dst, self.ui.lineEdit_3.text(),
                             self.ui.checkBox.isChecked(), self.files)
        self.thread.kopiert.connect(self.on_ready)
        self.thread.start()

    def on_ready(self, text):
        self.ui.plainTextEdit.appendPlainText(_fromUtf8(text))

    def delete_dirs(self):
        reply = QtGui.QMessageBox.question(self, _fromUtf8("Ordner löschen"),
            "Bist du sicher?", QtGui.QMessageBox.Yes |
            QtGui.QMessageBox.No, QtGui.QMessageBox.No)
        src = self.ui.lineEdit.text()

        if reply == QtGui.QMessageBox.Yes:
            self.ui.plainTextEdit.setPlainText(_fromUtf8(""))
            dirs = glob.glob(src + "/*")
            for dirname in dirs:
                dirname = os.path.normpath(dirname)
                if dirname == os.path.join(src, "Incomplete Downloads"):
                    continue
                else:
                    shutil.rmtree(dirname)
                    self.ui.plainTextEdit.appendPlainText(_fromUtf8(
                                                        dirname + " gelöscht"))
            if len(dirs) > 1:
                self.ui.plainTextEdit.appendPlainText(_fromUtf8(
                                                      "{}\n".format("*" * 80)))
                self.ui.plainTextEdit.appendPlainText(_fromUtf8(
                                                      "Ordner gelöscht\n"))
                self.ui.plainTextEdit.appendPlainText(_fromUtf8(
                                                      "{}\n".format("*" * 80)))
            else:
                self.ui.plainTextEdit.appendPlainText(_fromUtf8(
                                                      "{}\n".format("*" * 80)))
                self.ui.plainTextEdit.appendPlainText(_fromUtf8(
                                                "Keine Ordner zu löschen\n"))
                self.ui.plainTextEdit.appendPlainText(_fromUtf8(
                                                      "{}\n".format("*" * 80)))