예제 #1
0
class ExportWindow(QDialog):
    def __init__(self, dataManager: DBManager, parent=None):
        super(QDialog, self).__init__(parent=parent)
        self.UI = Ui_ExportCSV()
        self.UI.setupUi(self)
        self.UI.dirButton.clicked.connect(self.directory_selection_clicked)
        self.UI.btnOK.clicked.connect(self.export)
        self.UI.btnCancel.clicked.connect(self.reject)
        self.dbMan = dataManager

    @pyqtSlot()
    def directory_selection_clicked(self):
        print('file selection')
        directory = QFileDialog().getExistingDirectory(
            caption="Sélectionnez le répertoire pour exporter")

        print(directory)

        if directory:
            self.UI.lineDir.setText(directory)

    @pyqtSlot()
    def export(self):
        directory = self.UI.lineDir.text()
        print('Should export in : ', directory)
        self.dbMan.export_csv(directory)
        self.accept()
예제 #2
0
 def __init__(self, dataManager: DBManager, parent=None):
     super(QDialog, self).__init__(parent=parent)
     self.UI = Ui_ExportCSV()
     self.UI.setupUi(self)
     self.UI.dirButton.clicked.connect(self.directory_selection_clicked)
     self.UI.btnOK.clicked.connect(self.export)
     self.UI.btnCancel.clicked.connect(self.reject)
     self.dbMan = dataManager
예제 #3
0
    def __init__(self, dataManager: DBManager, parent=None):
        super().__init__(parent=parent)
        self.UI = Ui_ExportCSV()
        self.UI.setupUi(self)
        self.UI.dirButton.clicked.connect(self.directory_selection_clicked)
        self.UI.btnOK.clicked.connect(self.export)
        self.UI.btnCancel.clicked.connect(self.reject)
        self.UI.lineDir.textChanged.connect(self.directory_changed)
        self.UI.btnOK.setEnabled(False)

        self.dbMan = dataManager
예제 #4
0
class ExportWindow(QDialog):
    def __init__(self, dataManager: DBManager, parent=None):
        super().__init__(parent=parent)
        self.UI = Ui_ExportCSV()
        self.UI.setupUi(self)
        self.UI.dirButton.clicked.connect(self.directory_selection_clicked)
        self.UI.btnOK.clicked.connect(self.export)
        self.UI.btnCancel.clicked.connect(self.reject)
        self.UI.lineDir.textChanged.connect(self.directory_changed)
        self.UI.btnOK.setEnabled(False)

        self.dbMan = dataManager

    @pyqtSlot()
    def directory_selection_clicked(self):
        print('file selection')
        directory = QFileDialog().getExistingDirectory(
            caption="Sélectionnez le répertoire pour exporter")

        print(directory)

        if directory:
            self.UI.lineDir.setText(directory)

    @pyqtSlot()
    def directory_changed(self):
        if self.UI.lineDir.text() != "":
            self.UI.btnOK.setEnabled(True)
        else:
            self.UI.btnOK.setEnabled(False)

    @pyqtSlot()
    def export(self):
        directory = self.UI.lineDir.text()
        print('Should export in : ', directory)

        class CSVExporter(WorkerTask):
            def __init__(self, dbmanager, directory):
                super().__init__('Exportation CSV', 0)
                self.dbMan = dbmanager
                self.directory = directory

            def process(self):
                print('Exporting in :', self.directory)
                self.dbMan.export_csv(directory)
                self.update_progress.emit(100)
                print('Exporting done!')

        exporter = CSVExporter(self.dbMan, directory)

        process = BackgroundProcess([exporter])

        # Create progress dialog
        dialog = ProgressDialog(process, 'CSV Export', self)
        process.finished.connect(dialog.accept)
        process.start()

        # Show dialog
        dialog.exec()

        # Done
        self.accept()