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)
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)))