예제 #1
0
    def addTabs(self):
        self.documenti_setup_page = AnagraficaDocumentiSetup(self)
        self.setup_notebook.append_page(self.documenti_setup_page._anagrafica_documenti_setup_frame, self.documenti_setup_page.documenti_setup_page_label)

        self.articoli_setup_page = AnagraficaArticoliSetup(self)
        self.setup_notebook.append_page(self.articoli_setup_page._anagrafica_articoli_setup_frame, self.articoli_setup_page.articoli_setup_page_label)

        self.clienti_setup_page = AnagraficaClientiSetup(self)
        self.setup_notebook.append_page(self.clienti_setup_page._anagrafica_clienti_setup_frame, self.clienti_setup_page.clienti_setup_page_label)

        self.fornitori_setup_page = AnagraficaFornitoriSetup(self)
        self.setup_notebook.append_page(self.fornitori_setup_page._anagrafica_fornitori_setup_frame, self.fornitori_setup_page.fornitori_setup_page_label)

        self.primanota_setup_page = AnagraficaPrimaNotaSetup(self)
        self.setup_notebook.append_page(self.primanota_setup_page._anagrafica_primanota_setup_frame, self.primanota_setup_page.primanota_setup_page_label)

        self.label_setup_page = AnagraficaLabelSetup(self)
        self.setup_notebook.append_page(self.label_setup_page._anagrafica_label_setup_frame, self.label_setup_page.label_setup_page_label)
        if posso("VD"):
            from promogest.modules.VenditaDettaglio.ui.AnagraficaVenditadettaglioSetup import VenditadettaglioSetup
            self.vendita_dettaglio_setup_page = VenditadettaglioSetup(self)
            self.setup_notebook.append_page(self.vendita_dettaglio_setup_page._vendita_dettaglio_setup_frame, self.vendita_dettaglio_setup_page.venditadettaglio_setup_page_label)

        self._refresh()
예제 #2
0
class ConfiguraWindow(GladeWidget):

    def __init__(self, mainWindow):
        self.mainWindow = mainWindow
        GladeWidget.__init__(self, root='configura_window',
                                    path='configura_window.glade')
        self.placeWindow(self.getTopLevel())

        self.draw()
        self.addTabs()

    def draw(self):
        folder = setconf("General", "cartella_predefinita") or ""
        self.cartella_predefinita_filechooserbutton.set_current_folder(folder)
        self.path_label.set_text(folder)

    def on_cartella_predefinita_filechooserbutton_file_set(self,filechooser):
        self.path_label.set_text(str(filechooser.get_current_folder()))

    def addTabs(self):
        self.documenti_setup_page = AnagraficaDocumentiSetup(self)
        self.setup_notebook.append_page(self.documenti_setup_page._anagrafica_documenti_setup_frame, self.documenti_setup_page.documenti_setup_page_label)

        self.articoli_setup_page = AnagraficaArticoliSetup(self)
        self.setup_notebook.append_page(self.articoli_setup_page._anagrafica_articoli_setup_frame, self.articoli_setup_page.articoli_setup_page_label)

        self.clienti_setup_page = AnagraficaClientiSetup(self)
        self.setup_notebook.append_page(self.clienti_setup_page._anagrafica_clienti_setup_frame, self.clienti_setup_page.clienti_setup_page_label)

        self.fornitori_setup_page = AnagraficaFornitoriSetup(self)
        self.setup_notebook.append_page(self.fornitori_setup_page._anagrafica_fornitori_setup_frame, self.fornitori_setup_page.fornitori_setup_page_label)

        self.primanota_setup_page = AnagraficaPrimaNotaSetup(self)
        self.setup_notebook.append_page(self.primanota_setup_page._anagrafica_primanota_setup_frame, self.primanota_setup_page.primanota_setup_page_label)

        self.label_setup_page = AnagraficaLabelSetup(self)
        self.setup_notebook.append_page(self.label_setup_page._anagrafica_label_setup_frame, self.label_setup_page.label_setup_page_label)
        if posso("VD"):
            from promogest.modules.VenditaDettaglio.ui.AnagraficaVenditadettaglioSetup import VenditadettaglioSetup
            self.vendita_dettaglio_setup_page = VenditadettaglioSetup(self)
            self.setup_notebook.append_page(self.vendita_dettaglio_setup_page._vendita_dettaglio_setup_frame, self.vendita_dettaglio_setup_page.venditadettaglio_setup_page_label)

        self._refresh()

#        frame = ParametriFrame(self,"NONE", modules=self.parametri_modules)
#        self.setup_notebook.append_page(frame, documenti_setup_page_label)

    def _refresh(self):
        try:
            self.zeri_in_riga_check.set_active(int(setconf("Stampa", "zeri_in_riga")))
        except:
            self.zeri_in_riga_check.set_active(0)
        try:
            self.turbo_check.set_active(int(setconf("General", "turbo")))
        except:
            self.turbo_check.set_active(0)
        try:
            self.zeri_in_totali_check.set_active(int(setconf("Stampa", "zeri_in_totali")))
        except:
            self.zeri_in_totali_check.set_active(0)
        try:
            self.feed_check.set_active(int(setconf("Feed", "feed")))
        except:
            self.feed_check.set_active(1)

        try:
            curr = setconf("Valuta", "valuta_curr")
            if curr =="€":
                self.euro_radio.set_active(1)
            elif curr =="$":
                self.dollaro_radio.set_active(1)
            elif curr =="£":
                self.sterlina_radio.set_active(1)
            elif curr =="CHF":
                self.francosvizzero_radio.set_active(1)
        except:
            self.euro_radio.set_active(1)
        try:
            self.mercatino_check.set_active(int(setconf("General", "gestione_totali_mercatino")))
        except:
            self.mercatino_check.set_active(0)

        try:
            self.gestione_lotti_check.set_active(int(setconf("General", "gestione_lotti")))
        except:
            self.gestione_lotti_check.set_active(0)


        try:
            self.vettore_codice_upper_check.set_active(int(setconf("Vettori", "vettore_codice_upper")))
        except:
            self.vettore_codice_upper_check.set_active(1)

        self.vettore_struttura_codice_entry.set_text(str(setconf("Vettori", "vettore_struttura_codice")))
        self.altezza_logo_entry.set_text(str(setconf("Documenti", "altezza_logo")))
        self.larghezza_logo_entry.set_text(str(setconf("Documenti", "larghezza_logo")))
        self.combo_column_entry.set_text(str(setconf("Numbers", "combo_column")))
        self.decimals_entry.set_text(str(setconf("Numbers","decimals")))
        self.separatore_entry.set_text(str(setconf("Documenti","separatore_numerazione") or ""))
        self.batch_size_entry.set_text(str(setconf("Numbers","batch_size")))
        self.documenti_setup_page._refresh()
        self.articoli_setup_page._refresh()
        self.clienti_setup_page._refresh()
        self.fornitori_setup_page._refresh()
        self.primanota_setup_page._refresh()
        self.label_setup_page._refresh()
        if posso("VD"):
            self.vendita_dettaglio_setup_page._refresh()

        if setconf("Stampa", "singolo_ori") == "orizzontale":
            self.singolo_land_radio.set_active(True)
        elif setconf("Stampa", "singolo_ori") == "verticale":
            self.singolo_vert_radio.set_active(True)
        else:
            self.singolo_vert_radio.set_active(True)

        self.singolo_margine_alto_entry.set_text(
            str(setconf("Stampa", "singolo_margine_alto") or "4.3"))
        self.singolo_margine_destro_entry.set_text(
            str(setconf("Stampa", "singolo_margine_destro") or "4.3"))
        self.singolo_margine_basso_entry.set_text(
            str(setconf("Stampa", "singolo_margine_basso") or "4.3"))
        self.singolo_margine_sinistro_entry.set_text(
            str(setconf("Stampa", "singolo_margine_sinistro") or "4.3"))

        if setconf("Stampa", "report_ori") == "orizzontale":
            self.report_land_radio.set_active(True)
        elif setconf("Stampa", "report_ori") == "verticale":
            self.report_vert_radio.set_active(True)
        else:
            self.report_land_radio.set_active(True)

        self.report_margine_alto_entry.set_text(
            str(setconf("Stampa", "report_margine_alto") or "4.3"))
        self.report_margine_destro_entry.set_text(
            str(setconf("Stampa", "report_margine_destro") or "4.3"))
        self.report_margine_basso_entry.set_text(
            str(setconf("Stampa", "report_margine_basso") or "4.3"))
        self.report_margine_sinistro_entry.set_text(
            str(setconf("Stampa", "report_margine_sinistro") or "4.3"))



    def on_salva_button_clicked(self, button_salva):

        a = SetConf().select(key="feed", section="Feed")
        a[0].value= str(self.feed_check.get_active())
        a[0].tipo = "bool"
        Environment.session.add(a[0])

        b = SetConf().select(key="zeri_in_totali", section="Stampa")
        b[0].value = str(self.zeri_in_totali_check.get_active())
        b[0].tipo = "bool"
        Environment.session.add(b[0])

        cc = SetConf().select(key="turbo", section="General")
        if not cc:
            cc = SetConf()
            cc.key = "turbo"
            cc.section = "General"
            cc.tipo_section = "Generico"
            cc.description = "turbo per connessioni remote"
            cc.active = True
            cc.tipo = "bool"
            cc.date = datetime.datetime.now()
        else:
            cc = cc[0]
        cc.value = str(self.turbo_check.get_active())
        Environment.session.add(cc)

        c = SetConf().select(key="zeri_in_riga", section="Stampa")
        c[0].value = str(self.zeri_in_riga_check.get_active())
        c[0].tipo = "bool"
        Environment.session.add(c[0])

        d = SetConf().select(key="altezza_logo", section="Documenti")
        d[0].value = str(self.altezza_logo_entry.get_text())
        d[0].tipo = "float"
        Environment.session.add(d[0])
        if Environment.tipo_eng =="postgresql":
            if not hasattr(Environment.conf, "Documenti"):
                Environment.conf.add_section("Documenti")
                Environment.conf.save()
            if  hasattr(Environment.conf, "Documenti") and not hasattr(Environment.conf.Documenti, "cartella_predefinita"):
                setattr(Environment.conf.Documenti,"cartella_predefinita",Environment.documentsDir)
                Environment.conf.save()
            Environment.conf.Documenti.cartella_predefinita = str(self.path_label.get_text()+os.sep)
            Environment.conf.save()
        else:
            d = SetConf().select(key="cartella_predefinita", section="General")
            d[0].value = str(self.path_label.get_text()+os.sep)
            d[0].tipo = "str"
            Environment.session.add(d[0])

        e = SetConf().select(key="larghezza_logo", section="Documenti")
        e[0].value = str(self.larghezza_logo_entry.get_text())
        e[0].tipo = "float"
        Environment.session.add(e[0])

        f = SetConf().select(key="combo_column", section="Numbers")
        f[0].value = str(self.combo_column_entry.get_text())
        f[0].tipo = "int"
        Environment.session.add(f[0])

        g = SetConf().select(key="decimals", section="Numbers")
        g[0].value = str(self.decimals_entry.get_text()) or "2"
        g[0].tipo = "int"
        Environment.session.add(g[0])

        g = SetConf().select(key="separatore_numerazione", section="Documenti")
        g[0].value = str(self.separatore_entry.get_text()) or ""
        g[0].tipo = "str"
        Environment.session.add(g[0])

        f = SetConf().select(key="batch_size", section="Numbers")
        f[0].value = str(self.batch_size_entry.get_text()) or "3"
        f[0].tipo = "int"
        Environment.session.add(f[0])

        c = SetConf().select(key="vettore_codice_upper", section="Vettori")
        c[0].value = str(self.vettore_codice_upper_check.get_active())
        c[0].tipo = "bool"
        Environment.session.add(c[0])

        c = SetConf().select(key="gestione_totali_mercatino", section="General")
        c[0].value = str(self.mercatino_check.get_active())
        c[0].tipo = "bool"
        Environment.session.add(c[0])

        c = SetConf().select(key="gestione_lotti", section="General")
        c[0].value = str(self.gestione_lotti_check.get_active())
        c[0].tipo = "bool"
        Environment.session.add(c[0])


        g = SetConf().select(key="vettore_struttura_codice", section="Vettori")
        g[0].value = str(self.vettore_struttura_codice_entry.get_text())
        g[0].tipo = "str"
        Environment.session.add(g[0])

        g = SetConf().select(key="valuta_curr", section="Valuta")
        if self.euro_radio.get_active():
            g[0].value = "€"
        elif self.dollaro_radio.get_active():
            g[0].value = "$"
        elif self.sterlina_radio.get_active():
            g[0].value = "£"
        elif self.francosvizzero_radio.get_active():
            g[0].value = "CHF"
        g[0].tipo = "str"
        Environment.session.add(g[0])

        # può bastare un bool su true su vert se è false allora sarà landscape
        # REPORT
        c = SetConf().select(key="report_ori", section="Stampa")
        if not c:
            c = SetConf()
            c.key = "report_ori"
            c.section = "Stampa"
            c.tipo_section = "Generico"
            c.description = " orientamento stampa report"
            c.active = True
            c.tipo = "str"
            c.date = datetime.datetime.now()
        else:
            c = c[0]
        if self.report_vert_radio.get_active():
            c.value = "verticale"
        else:
            c.value = "orizzontale"
        Environment.session.add(c)

        c = SetConf().select(key="report_margine_alto", section="Stampa")
        if not c:
            c = SetConf()
            c.key = "report_margine_alto"
            c.section = "Stampa"
            c.tipo_section = "Generico"
            c.description = " margine report alto"
            c.active = True
            c.tipo = "str"
            c.date = datetime.datetime.now()
        else:
            c = c[0]
        c.value = str(self.report_margine_alto_entry.get_text())
        Environment.session.add(c)

        c = SetConf().select(key="report_margine_basso", section="Stampa")
        if not c:
            c = SetConf()
            c.key = "report_margine_basso"
            c.section = "Stampa"
            c.tipo_section = "Generico"
            c.description = " margine report basso"
            c.active = True
            c.tipo = "str"
            c.date = datetime.datetime.now()
        else:
            c = c[0]
        c.value = str(self.report_margine_basso_entry.get_text())
        Environment.session.add(c)

        c = SetConf().select(key="report_margine_destro", section="Stampa")
        if not c:
            c = SetConf()
            c.key = "report_margine_destro"
            c.section = "Stampa"
            c.tipo_section = "Generico"
            c.description = " margine report destro"
            c.active = True
            c.tipo = "str"
            c.date = datetime.datetime.now()
        else:
            c = c[0]
        c.value = str(self.report_margine_destro_entry.get_text())
        Environment.session.add(c)

        c = SetConf().select(key="report_margine_sinistro", section="Stampa")
        if not c:
            c = SetConf()
            c.key = "report_margine_sinistro"
            c.section = "Stampa"
            c.tipo_section = "Generico"
            c.description = " margine report sinistro"
            c.active = True
            c.tipo = "str"
            c.date = datetime.datetime.now()
        else:
            c = c[0]
        c.value = str(self.report_margine_sinistro_entry.get_text())
        Environment.session.add(c)
        # SINGOLO
        c = SetConf().select(key="singolo_ori", section="Stampa")
        if not c:
            c = SetConf()
            c.key = "singolo_ori"
            c.section = "Stampa"
            c.tipo_section = "Generico"
            c.description = " orientamento stampa singolo"
            c.active = True
            c.tipo = "str"
            c.date = datetime.datetime.now()
        else:
            c = c[0]
        if self.singolo_vert_radio.get_active():
            c.value = "verticale"
        else:
            c.value = "orizzontale"
        Environment.session.add(c)

        c = SetConf().select(key="singolo_margine_alto", section="Stampa")
        if not c:
            c = SetConf()
            c.key = "singolo_margine_alto"
            c.section = "Stampa"
            c.tipo_section = "Generico"
            c.description = " margine singolo alto"
            c.active = True
            c.tipo = "str"
            c.date = datetime.datetime.now()
        else:
            c = c[0]
        c.value = str(self.singolo_margine_alto_entry.get_text())
        Environment.session.add(c)

        c = SetConf().select(key="singolo_margine_basso", section="Stampa")
        if not c:
            c = SetConf()
            c.key = "singolo_margine_basso"
            c.section = "Stampa"
            c.tipo_section = "Generico"
            c.description = " margine singolo basso"
            c.active = True
            c.tipo = "str"
            c.date = datetime.datetime.now()
        else:
            c = c[0]
        c.value = str(self.singolo_margine_basso_entry.get_text())
        Environment.session.add(c)

        c = SetConf().select(key="singolo_margine_destro", section="Stampa")
        if not c:
            c = SetConf()
            c.key = "singolo_margine_destro"
            c.section = "Stampa"
            c.tipo_section = "Generico"
            c.description = " margine singolo destro"
            c.active = True
            c.tipo = "str"
            c.date = datetime.datetime.now()
        else:
            c = c[0]
        c.value = str(self.singolo_margine_destro_entry.get_text())
        Environment.session.add(c)

        c = SetConf().select(key="singolo_margine_sinistro", section="Stampa")
        if not c:
            c = SetConf()
            c.key = "singolo_margine_sinistro"
            c.section = "Stampa"
            c.tipo_section = "Generico"
            c.description = " margine singolo sinistro"
            c.active = True
            c.tipo = "str"
            c.date = datetime.datetime.now()
        else:
            c = c[0]
        c.value = str(self.singolo_margine_sinistro_entry.get_text())
        Environment.session.add(c)

        self.documenti_setup_page._saveSetup()
        self.articoli_setup_page._saveSetup()
        self.clienti_setup_page._saveSetup()
        self.fornitori_setup_page._saveSetup()
        self.primanota_setup_page._saveSetup()
        self.label_setup_page._saveSetup()
        if posso("VD"):
            self.vendita_dettaglio_setup_page._saveSetup()

        Environment.session.commit()
        confList = SetConf().select(batchSize=None)
        for d in confList:
            Environment.confDict[(d.key,d.section)] = d
        self.destroy()


    def on_quit(self, widget=None, event=None):
        self.destroy()
예제 #3
0
class ConfiguraWindow(GladeWidget):

    def __init__(self, mainWindow):
        self.mainWindow = mainWindow
        GladeWidget.__init__(self, root='configura_window',
                                    path='configura_window.glade')
        self.placeWindow(self.getTopLevel())

        self.draw()
        self.addTabs()

    def draw(self):
        folder = setconf("General", "cartella_predefinita") or ""
        self.cartella_predefinita_filechooserbutton.set_current_folder(folder)
        self.path_label.set_text(folder)

    def on_cartella_predefinita_filechooserbutton_file_set(self,filechooser):
        self.path_label.set_text(str(filechooser.get_current_folder()))

    def addTabs(self):
        self.documenti_setup_page = AnagraficaDocumentiSetup(self)
        self.setup_notebook.append_page(self.documenti_setup_page._anagrafica_documenti_setup_frame, self.documenti_setup_page.documenti_setup_page_label)

        self.articoli_setup_page = AnagraficaArticoliSetup(self)
        self.setup_notebook.append_page(self.articoli_setup_page._anagrafica_articoli_setup_frame, self.articoli_setup_page.articoli_setup_page_label)

        self.clienti_setup_page = AnagraficaClientiSetup(self)
        self.setup_notebook.append_page(self.clienti_setup_page._anagrafica_clienti_setup_frame, self.clienti_setup_page.clienti_setup_page_label)

        self.fornitori_setup_page = AnagraficaFornitoriSetup(self)
        self.setup_notebook.append_page(self.fornitori_setup_page._anagrafica_fornitori_setup_frame, self.fornitori_setup_page.fornitori_setup_page_label)

        self.primanota_setup_page = AnagraficaPrimaNotaSetup(self)
        self.setup_notebook.append_page(self.primanota_setup_page._anagrafica_primanota_setup_frame, self.primanota_setup_page.primanota_setup_page_label)

        self.label_setup_page = AnagraficaLabelSetup(self)
        self.setup_notebook.append_page(self.label_setup_page._anagrafica_label_setup_frame, self.label_setup_page.label_setup_page_label)
        if posso("VD"):
            from promogest.modules.VenditaDettaglio.ui.AnagraficaVenditadettaglioSetup import VenditadettaglioSetup
            self.vendita_dettaglio_setup_page = VenditadettaglioSetup(self)
            self.setup_notebook.append_page(self.vendita_dettaglio_setup_page._vendita_dettaglio_setup_frame, self.vendita_dettaglio_setup_page.venditadettaglio_setup_page_label)

        self._refresh()

#        frame = ParametriFrame(self,"NONE", modules=self.parametri_modules)
#        self.setup_notebook.append_page(frame, documenti_setup_page_label)

    def _refresh(self):
        try:
            self.zeri_in_riga_check.set_active(int(setconf("Stampa", "zeri_in_riga")))
        except:
            self.zeri_in_riga_check.set_active(0)
        try:
            self.zeri_in_totali_check.set_active(int(setconf("Stampa", "zeri_in_totali")))
        except:
            self.zeri_in_totali_check.set_active(0)
        try:
            self.feed_check.set_active(int(setconf("Feed", "feed")))
        except:
            self.feed_check.set_active(1)
        try:
            findComboboxRowFromId(self.timer_combobox, str(setconf("General", "updates_timeout")))
        except:
            findComboboxRowFromId(self.timer_combobox, '300')

        try:
            curr = setconf("Valuta", "valuta_curr")
            if curr =="€":
                self.euro_radio.set_active(1)
            elif curr =="$":
                self.dollaro_radio.set_active(1)
            elif curr =="£":
                self.sterlina_radio.set_active(1)
            elif curr =="CHF":
                self.francosvizzero_radio.set_active(1)
        except:
            self.euro_radio.set_active(1)
        try:
            self.mercatino_check.set_active(int(setconf("General", "gestione_totali_mercatino")))
        except:
            self.mercatino_check.set_active(0)

        try:
            self.gestione_lotti_check.set_active(int(setconf("General", "gestione_lotti")))
        except:
            self.gestione_lotti_check.set_active(0)


        try:
            self.vettore_codice_upper_check.set_active(int(setconf("Vettori", "vettore_codice_upper")))
        except:
            self.vettore_codice_upper_check.set_active(1)

        self.vettore_struttura_codice_entry.set_text(str(setconf("Vettori", "vettore_struttura_codice")))
        self.altezza_logo_entry.set_text(str(setconf("Documenti", "altezza_logo")))
        self.larghezza_logo_entry.set_text(str(setconf("Documenti", "larghezza_logo")))
        self.combo_column_entry.set_text(str(setconf("Numbers", "combo_column")))
        self.decimals_entry.set_text(str(setconf("Numbers","decimals")))
        self.separatore_entry.set_text(str(setconf("Documenti","separatore_numerazione") or ""))
        self.batch_size_entry.set_text(str(setconf("Numbers","batch_size")))
        self.documenti_setup_page._refresh()
        self.articoli_setup_page._refresh()
        self.clienti_setup_page._refresh()
        self.fornitori_setup_page._refresh()
        self.primanota_setup_page._refresh()
        self.label_setup_page._refresh()
        if posso("VD"):
            self.vendita_dettaglio_setup_page._refresh()

    def on_salva_button_clicked(self, button_salva):

        a = SetConf().select(key="feed", section="Feed")
        a[0].value= str(self.feed_check.get_active())
        a[0].tipo = "bool"
        Environment.session.add(a[0])

        # a = SetConf().select(key="updates_timeout", section="General")
        # a[0].value = str(findIdFromCombobox(self.timer_combobox))
        # Environment.session.add(a[0])

        b = SetConf().select(key="zeri_in_totali", section="Stampa")
        b[0].value = str(self.zeri_in_totali_check.get_active())
        b[0].tipo = "bool"
        Environment.session.add(b[0])

        c = SetConf().select(key="zeri_in_riga", section="Stampa")
        c[0].value = str(self.zeri_in_riga_check.get_active())
        c[0].tipo = "bool"
        Environment.session.add(c[0])

        d = SetConf().select(key="altezza_logo", section="Documenti")
        d[0].value = str(self.altezza_logo_entry.get_text())
        d[0].tipo = "float"
        Environment.session.add(d[0])
        if Environment.tipo_eng =="postgresql":
            if not hasattr(Environment.conf, "Documenti"):
                Environment.conf.add_section("Documenti")
                Environment.conf.save()
            if  hasattr(Environment.conf, "Documenti") and not hasattr(Environment.conf.Documenti, "cartella_predefinita"):
                setattr(Environment.conf.Documenti,"cartella_predefinita",Environment.documentsDir)
                Environment.conf.save()
            Environment.conf.Documenti.cartella_predefinita = str(self.path_label.get_text()+os.sep)
            Environment.conf.save()
        else:
            d = SetConf().select(key="cartella_predefinita", section="General")
            d[0].value = str(self.path_label.get_text()+os.sep)
            d[0].tipo = "str"
            Environment.session.add(d[0])

        e = SetConf().select(key="larghezza_logo", section="Documenti")
        e[0].value = str(self.larghezza_logo_entry.get_text())
        e[0].tipo = "float"
        Environment.session.add(e[0])

        f = SetConf().select(key="combo_column", section="Numbers")
        f[0].value = str(self.combo_column_entry.get_text())
        f[0].tipo = "int"
        Environment.session.add(f[0])

        g = SetConf().select(key="decimals", section="Numbers")
        g[0].value = str(self.decimals_entry.get_text()) or "2"
        g[0].tipo = "int"
        Environment.session.add(g[0])

        g = SetConf().select(key="separatore_numerazione", section="Documenti")
        g[0].value = str(self.separatore_entry.get_text()) or ""
        g[0].tipo = "str"
        Environment.session.add(g[0])

        f = SetConf().select(key="batch_size", section="Numbers")
        f[0].value = str(self.batch_size_entry.get_text()) or "3"
        f[0].tipo = "int"
        Environment.session.add(f[0])

        c = SetConf().select(key="vettore_codice_upper", section="Vettori")
        c[0].value = str(self.vettore_codice_upper_check.get_active())
        c[0].tipo = "bool"
        Environment.session.add(c[0])

        c = SetConf().select(key="gestione_totali_mercatino", section="General")
        c[0].value = str(self.mercatino_check.get_active())
        c[0].tipo = "bool"
        Environment.session.add(c[0])

        c = SetConf().select(key="gestione_lotti", section="General")
        c[0].value = str(self.gestione_lotti_check.get_active())
        c[0].tipo = "bool"
        Environment.session.add(c[0])


        g = SetConf().select(key="vettore_struttura_codice", section="Vettori")
        g[0].value = str(self.vettore_struttura_codice_entry.get_text())
        g[0].tipo = "str"
        Environment.session.add(g[0])

        g = SetConf().select(key="valuta_curr", section="Valuta")
        if self.euro_radio.get_active():
            g[0].value = "€"
        elif self.dollaro_radio.get_active():
            g[0].value = "$"
        elif self.sterlina_radio.get_active():
            g[0].value = "£"
        elif self.francosvizzero_radio.get_active():
            g[0].value = "CHF"
        g[0].tipo = "str"
        Environment.session.add(g[0])


        self.documenti_setup_page._saveSetup()
        self.articoli_setup_page._saveSetup()
        self.clienti_setup_page._saveSetup()
        self.fornitori_setup_page._saveSetup()
        self.primanota_setup_page._saveSetup()
        self.label_setup_page._saveSetup()
        if posso("VD"):
            self.vendita_dettaglio_setup_page._saveSetup()

        Environment.session.commit()
        confList = SetConf().select(batchSize=None)
        for d in confList:
            Environment.confDict[(d.key,d.section)] = d
        self.destroy()


    def on_quit(self, widget=None, event=None):
        self.destroy()