diff --git a/bananaSPLIT/guimain.py b/bananaSPLIT/guimain.py index 94bbe3c..37ee6b4 100644 --- a/bananaSPLIT/guimain.py +++ b/bananaSPLIT/guimain.py @@ -23,6 +23,7 @@ from PyQt5.QtCore import QDir,pyqtSignal from slugify import slugify class bananaMain(PyQt5.QtWidgets.QMainWindow): + def __init__(self): PyQt5.QtWidgets.QMainWindow.__init__(self) try: @@ -95,6 +96,8 @@ class bananaMain(PyQt5.QtWidgets.QMainWindow): pass def openLoadPreset(self): + self.logger.debug("Forzo applica a tutte le tab") + self.applica() self.logger.debug("Apri Carica Preset") lf = PyQt5.QtWidgets.QFileDialog(self,"Carica Preset",self.conf.getParam('paths', 'configurationPath')) lf.setAcceptMode(PyQt5.QtWidgets.QFileDialog.AcceptOpen) @@ -110,6 +113,8 @@ class bananaMain(PyQt5.QtWidgets.QMainWindow): def openSavePreset(self): self.logger.debug("Apri Salva Preset") + self.logger.debug("Forzo applica a tutte le tab") + self.applica() sf = PyQt5.QtWidgets.QFileDialog(self,"Salva Preset",self.conf.getParam('paths', 'configurationPath')) sf.setAcceptMode(PyQt5.QtWidgets.QFileDialog.AcceptSave) sf.setNameFilter("bananaCONF (*.json)") @@ -150,6 +155,12 @@ class bananaMain(PyQt5.QtWidgets.QMainWindow): def openFileDialog(self, name, path): self.log.debug("Apro in directory: {}".format(path)) return + + def applica(self): + self.titolo.applica() + self.titoloav.applica() + self.selezout.applica() + self.advopt.applica() ############################################################# ####################### INTERFACES ########################## @@ -165,9 +176,7 @@ class bananaTitolo(PyQt5.QtWidgets.QWidget): if self.conf is not None: self.titoloui.btn_avanzate.clicked.connect(self.spawnAvanzate) self.titoloui.btn_avanti.clicked.connect(self.applica) - self.advtitolo = bananaTitoloAvanzate(self.conf) - self.advtitolo.okSig.connect(self.avanzateOk) - self.advtitolo.koSig.connect(self.avanzateKo) + self.advtitolo = bananaTitoloAvanzate(self.conf, self.log) self.fillInterface() pass @@ -203,44 +212,6 @@ class bananaTitolo(PyQt5.QtWidgets.QWidget): self.advtitolo.show() pass - def avanzateOk(self): - self.log.debug("Avanzate Accettate") - c=self.conf - #data - if self.advtitolo.titoloavui.rad_dataprimo: - c.setParam(('docStruct', 'datePos'), 1) - elif self.advtitolo.titoloavui.rad_datasecondo: - c.setParam(('docStruct', 'datePos'), 2) - elif self.advtitolo.titoloavui.rad_dataterzo: - c.setParam(('docStruct', 'datePos'), 3) - else: - c.setParam(('docStruct', 'datePos'), -1) - #numero - if self.advtitolo.titoloavui.rad_numeroprimo: - c.setParam(('docStruct', 'numberPos'), 1) - elif self.advtitolo.titoloavui.rad_numerosecondo: - c.setParam(('docStruct', 'numberPos'), 2) - elif self.advtitolo.titoloavui.rad_numeroterzo: - c.setParam(('docStruct', 'numberPos'), 3) - else: - c.setParam(('docStruct', 'numberPos'), -1) - #titolo - if self.advtitolo.titoloavui.rad_titoloprimo: - c.setParam(('docStruct', 'titlePos'), 1) - elif self.advtitolo.titoloavui.rad_titolosecondo: - c.setParam(('docStruct', 'titlePos'), 2) - elif self.advtitolo.titoloavui.rad_titoloterzo: - c.setParam(('docStruct', 'titlePos'), 3) - else: - c.setParam(('docStruct', 'titlePos'), -1) - #prefisso e suffisso - c.setParam(('docStruct', 'outPrefix'), self.advtitolo.titoloavui.txt_prefisso.text()) - c.setParam(('docStruct', 'outSuffix'), self.advtitolo.titoloavui.txt_suffisso.text()) - - def avanzateKo(self): - self.log.debug("Avanzate Rifiutate") - pass - def applica(self): self.log.info("Applico impostazioni Titolo") c=self.conf @@ -263,9 +234,6 @@ class bananaTitolo(PyQt5.QtWidgets.QWidget): pass class bananaTitoloAvanzate(PyQt5.QtWidgets.QWidget): - okSig = pyqtSignal(bool, name="OK") - koSig = pyqtSignal(bool, name="KO") - def __init__(self, confloader=None, logger=None): PyQt5.QtWidgets.QWidget.__init__(self) self.titoloavui = Ui_advtitolo() @@ -356,16 +324,50 @@ class bananaTitoloAvanzate(PyQt5.QtWidgets.QWidget): pass def returnOk(self): - self.okSig.emit(True) + self.log.debug("Avanzate Titolo Accettate") + self.applica() self.hide() pass def returnKo(self): - self.koSig.emit(False) + self.log.debug("Avanzate Titolo Rifiutate") self.hide() pass - - + + def applica(self): + c=self.conf + #data + if self.titoloavui.rad_dataprimo.isChecked(): + c.setParam(('docStruct', 'datePos'), 1) + elif self.titoloavui.rad_datasecondo.isChecked(): + c.setParam(('docStruct', 'datePos'), 2) + elif self.titoloavui.rad_dataterzo.isChecked(): + c.setParam(('docStruct', 'datePos'), 3) + else: + c.setParam(('docStruct', 'datePos'), -1) + #numero + if self.titoloavui.rad_numeroprimo.isChecked(): + c.setParam(('docStruct', 'numberPos'), 1) + elif self.titoloavui.rad_numerosecondo.isChecked(): + c.setParam(('docStruct', 'numberPos'), 2) + elif self.titoloavui.rad_numeroterzo.isChecked(): + c.setParam(('docStruct', 'numberPos'), 3) + else: + c.setParam(('docStruct', 'numberPos'), -1) + #titolo + if self.titoloavui.rad_titoloprimo.isChecked(): + c.setParam(('docStruct', 'titlePos'), 1) + elif self.titoloavui.rad_titolosecondo.isChecked(): + c.setParam(('docStruct', 'titlePos'), 2) + elif self.titoloavui.rad_titoloterzo.isChecked(): + c.setParam(('docStruct', 'titlePos'), 3) + else: + c.setParam(('docStruct', 'titlePos'), -1) + #prefisso e suffisso + c.setParam(('docStruct', 'outPrefix'), self.titoloavui.txt_prefisso.text()) + c.setParam(('docStruct', 'outSuffix'), self.titoloavui.txt_suffisso.text()) + + class bananaSelezOut(PyQt5.QtWidgets.QWidget): def __init__(self, confloader=None, logger=None): PyQt5.QtWidgets.QWidget.__init__(self) @@ -383,6 +385,9 @@ class bananaSelezOut(PyQt5.QtWidgets.QWidget): except: self.log.critical("SelezUscita: Configurazione non accettata") pass + + def applica(self): + pass class bananaAdvOpt(PyQt5.QtWidgets.QWidget): def __init__(self, confloader=None, logger=None): @@ -402,6 +407,9 @@ class bananaAdvOpt(PyQt5.QtWidgets.QWidget): self.log.critical("AdvancedOptions: Configurazione non accettata") pass + def applica(self): + pass + class bananaSplitterInterface(PyQt5.QtWidgets.QWidget): def __init__(self, confloader=None, logger=None): PyQt5.QtWidgets.QWidget.__init__(self) diff --git a/bananaSPLIT/libbananasplit/defaults.json b/bananaSPLIT/libbananasplit/defaults.json index b4816ec..fe0d98c 100644 --- a/bananaSPLIT/libbananasplit/defaults.json +++ b/bananaSPLIT/libbananasplit/defaults.json @@ -18,8 +18,8 @@ "outNumber": true, "outTitle": false, "numberPos": 1, - "datePos": 1, - "titlePos": 1, + "datePos": 2, + "titlePos": 3, "maxTitleLen": 6, "outNameSep": "_", "customSep": "~", diff --git a/bananaSPLIT/libbananasplit/presettone.json b/bananaSPLIT/libbananasplit/presettone.json new file mode 100644 index 0000000..6b07a1b --- /dev/null +++ b/bananaSPLIT/libbananasplit/presettone.json @@ -0,0 +1,59 @@ +{ + "version": "v1.1a", + "paths": { + "lastUsed": "D:/Emanuele/Documenti/workspace/bananaSPLIT/bananaSPLIT/libbananasplit/presettone.json", + "configurationPath": "D:\\Emanuele\\Documenti\\workspace\\bananaSPLIT\\", + "INworkPath": "D:/Test", + "OUTworkPath": "D:/Emanuele/Desktop" + }, + "docStruct": { + "language": "scelto da languageconf.json", + "docSep": "\\s*Copyright [(0-9)]+", + "dateFormat": "{month} {day:d}, {year:d}{}", + "outPrefix": "789", + "outSuffix": "123", + "outDateType": "jpn", + "outNameFormat": "", + "outDate": false, + "outNumber": false, + "outTitle": false, + "numberPos": 1, + "datePos": 1, + "titlePos": 1, + "maxTitleLen": 11, + "outNameSep": "_", + "customSep": "666", + "dateFormats": { + "jpn": "{year:04d}{month:02d}{day:02d}", + "it": "{day:02d}{month:02d}{year:04d}", + "usa": "{month:02d}{year:04d}{day:02d}" + } + }, + "settings": { + "encoding": "utf-8", + "monthPosition": 0, + "getNewsPaperName": true, + "nameNotFoundStr": "ND", + "includeTitle": true, + "removeDuplicates": true, + "showSkipped": true, + "showRemovedDuplicates": false, + "loadTXT": true, + "loadDOCX": false, + "removeOldFiles": true, + "saveSeparateFiles": true, + "saveBodyFile": true, + "saveBodyNumber": true, + "delLF": false, + "delWordBreak": true, + "delChars": [ + "'", + "@", + "#", + "$", + "%", + "^", + "&" + ] + } +} \ No newline at end of file diff --git a/bananaSPLIT/libbananasplit/prova2.json b/bananaSPLIT/libbananasplit/prova2.json new file mode 100644 index 0000000..5233cfd --- /dev/null +++ b/bananaSPLIT/libbananasplit/prova2.json @@ -0,0 +1,59 @@ +{ + "version": "v1.1a", + "paths": { + "lastUsed": "D:/Emanuele/Documenti/workspace/bananaSPLIT/bananaSPLIT/libbananasplit/prova2.json", + "configurationPath": "D:\\Emanuele\\Documenti\\workspace\\bananaSPLIT\\", + "INworkPath": "D:/Test", + "OUTworkPath": "D:/Emanuele/Desktop" + }, + "docStruct": { + "language": "scelto da languageconf.json", + "docSep": "\\s*Copyright [(0-9)]+", + "dateFormat": "{month} {day:d}, {year:d}{}", + "outPrefix": "789", + "outSuffix": "123", + "outDateType": "ita", + "outNameFormat": "", + "outDate": false, + "outNumber": false, + "outTitle": false, + "numberPos": 1, + "datePos": 1, + "titlePos": 1, + "maxTitleLen": 6, + "outNameSep": "_", + "customSep": "666", + "dateFormats": { + "jpn": "{year:04d}{month:02d}{day:02d}", + "it": "{day:02d}{month:02d}{year:04d}", + "usa": "{month:02d}{year:04d}{day:02d}" + } + }, + "settings": { + "encoding": "utf-8", + "monthPosition": 0, + "getNewsPaperName": true, + "nameNotFoundStr": "ND", + "includeTitle": true, + "removeDuplicates": true, + "showSkipped": true, + "showRemovedDuplicates": false, + "loadTXT": true, + "loadDOCX": false, + "removeOldFiles": true, + "saveSeparateFiles": true, + "saveBodyFile": true, + "saveBodyNumber": true, + "delLF": false, + "delWordBreak": true, + "delChars": [ + "'", + "@", + "#", + "$", + "%", + "^", + "&" + ] + } +} \ No newline at end of file