diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..f9765e8e64ffc047243426e910d433392801b840
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,18 @@
+NAME = slu-calendar-gui
+MAIN = slu-calendar.py
+
+DIRNAME = $(NAME:-gui=)
+PY_FILES += $(wildcard src/*.py)
+
+default: bin ${PY_FILES}
+	@cp ${PY_FILES} bin/${DIRNAME}
+	@echo "#!/bin/bash\nexec ${DIRNAME}/${MAIN}" > bin/${NAME}
+	@chmod +x bin/${NAME} bin/${DIRNAME}/${MAIN}
+
+bin:
+	@test -d $@ || mkdir -p $@/${DIRNAME}
+
+clean:
+	@rm -fr bin/ src/*~
+
+.PHONY: clean
diff --git a/src/clu-calendar.py b/src/clu-calendar.py
new file mode 100755
index 0000000000000000000000000000000000000000..1a79c151ec2146e4486a027f19fde1b9bc001b9d
--- /dev/null
+++ b/src/clu-calendar.py
@@ -0,0 +1,577 @@
+#!/usr/bin/python 
+
+# carico moduli
+import os
+import csv
+import time
+import PyTango
+from PyQt4.QtCore import *
+from PyQt4.QtGui import *
+import calendar
+
+calendadevice = PyTango.DeviceProxy('slu/laser/calendar_slu.01')
+nomishift = {1:'morning', 2:'late', 3:'night'}
+dataref = time.localtime()
+spostamese = 0
+listaattivita = calendadevice.activities
+#print(len(listaattivita))
+
+class MainWindow(QTableWidget): #tabelle SHOW
+    def __init__(self, parent=None):
+        super(MainWindow, self).__init__(parent)
+        self.tabella = QTableWidget()
+        self.tabella.setColumnCount(3)
+        self.tabella.setRowCount(31)
+        self.mese_label = QLabel('mese')
+        self.mese_label.setFont(font_medio)
+        self.mesepiu = QPushButton(">>> Next Month >>>")
+        self.mesepiu.clicked.connect(self.futuro)
+        self.mesemeno = QPushButton("<<< Previous Month <<<")
+        self.mesemeno.clicked.connect(self.passato)
+        self.formato_turni = QRadioButton("Shift")
+        self.formato_turni.clicked.connect(self.sistema3)
+        self.formato_turni.setChecked(1)
+        self.formato_ore = QRadioButton("H")
+        self.formato_ore.clicked.connect(self.sistema24)
+        self.calendario_wiki = QPushButton("open FERMI calendar")
+        self.calendario_wiki.clicked.connect(self.fermical)
+        self.applica = QPushButton("Apply Month")
+        self.applica.clicked.connect(self.fallo)
+        self.riempimese_label = QLabel('fill month with:')
+        self.riempimese_box = QComboBox()
+        self.riempimese_box.addItem('Unknown')
+        for attivita in range(len(listaattivita)):
+            self.riempimese_box.addItem(listaattivita[attivita])
+        self.riempimese_tasto = QPushButton("Fill")
+        self.riempimese_tasto.clicked.connect(self.meseuniforme)
+        #
+        lo = QGridLayout()
+        lo.addWidget(self.mese_label, 0, 0, 1, 2)
+        lo.addWidget(self.formato_turni, 0, 2, 1, 1)
+        lo.addWidget(self.formato_ore, 0, 3, 1, 1)
+        lo.addWidget(self.calendario_wiki, 0, 4, 1, 1)
+        lo.addWidget(self.mesemeno, 1, 0, 1, 1)
+        lo.addWidget(self.riempimese_label, 1, 1, 1, 1)
+        lo.addWidget(self.riempimese_box, 1, 2, 1, 1)
+        lo.addWidget(self.riempimese_tasto, 1, 3, 1, 1)
+        lo.addWidget(self.mesepiu, 1, 4, 1, 1)
+        lo.addWidget(self.tabella, 2, 0, 1, 5)
+        lo.addWidget(self.applica, 3, 0, 1, 5)
+        self.setLayout(lo)
+        self.setWindowTitle("SLU CALENDAR")
+        self.setStyleSheet("background-color: rgb(200, 255, 200)")
+        self.resize(1600, 1120)
+        self.inizializzazione()
+
+    def inizializzazione(self):
+        scritta_mese = time.ctime().split(' ')[1] + ' ' + time.ctime().split(' ')[-1]
+        self.mese_label.setText(scritta_mese)
+        mese_num = time.localtime().tm_mon
+        #print(time.ctime().split(' ')[-1])
+        #print(mese_num)
+        quantigiorni = calendar.monthrange(int(time.ctime().split(' ')[-1]), mese_num + spostamese)
+        self.tabella.setRowCount(quantigiorni[1])
+        if self.formato_turni.isChecked():
+            for giorni in range(quantigiorni[1]):
+                for turni in range(3):
+                    self.casellagenerica = QComboBox()
+                    self.casellagenerica.addItem('Unknown')
+                    for attivita in range(len(listaattivita)):
+                        self.casellagenerica.addItem(listaattivita[attivita])
+                    if mese_num < 10 and giorni+1 < 10:
+                        componistringa = time.ctime().split(' ')[-1] + '-0' + str(mese_num + spostamese) + '-0' + str(giorni+1) + ' ' + nomishift[turni+1]
+                    elif mese_num < 10 and giorni+1 > 10:
+                        componistringa = time.ctime().split(' ')[-1] + '-0' + str(mese_num + spostamese) + '-' + str(giorni+1) + ' ' + nomishift[turni+1]
+                    elif mese_num > 10 and giorni+1 < 10:
+                        componistringa = time.ctime().split(' ')[-1] + '-' + str(mese_num + spostamese) + '-0' + str(giorni+1) + ' ' + nomishift[turni+1]
+                    else: 
+                        componistringa = time.ctime().split(' ')[-1] + '-' + str(mese_num + spostamese) + '-' + str(giorni+1) + ' ' + nomishift[turni+1]
+                    #print(componistringa)
+                    cosapensadifare = calendadevice.command_inout('GetShiftActivity', componistringa)
+                    #print(cosapensadifare)
+                    if cosapensadifare == 'Unknown':
+                        self.casellagenerica.setCurrentIndex(0)
+                        #print('0')
+                    elif cosapensadifare == 'SHUTDOWN':
+                        self.casellagenerica.setCurrentIndex(1)
+                        #print('1')
+                    elif cosapensadifare == 'ELITE2_TIMER':
+                        self.casellagenerica.setCurrentIndex(2)
+                        #print('2')
+                    elif cosapensadifare == 'ELITE2_TIMEX':
+                        self.casellagenerica.setCurrentIndex(3)
+                        #print('3')
+                    elif cosapensadifare == 'ELITE2_DIPRI':
+                        self.casellagenerica.setCurrentIndex(4)
+                        #print('4')
+                    elif cosapensadifare == 'ELITE2_LDM':
+                        self.casellagenerica.setCurrentIndex(5)
+                        #print('5')
+                    elif cosapensadifare == 'ELITE2_TOTEM':
+                        self.casellagenerica.setCurrentIndex(6)
+                        #print('6')
+                    elif cosapensadifare == 'ELITE2_MAGNEDYN':
+                        self.casellagenerica.setCurrentIndex(7)
+                        #print('7')
+                    elif cosapensadifare == 'ELITE1_TIMER':
+                        self.casellagenerica.setCurrentIndex(8)
+                        #print('8')
+                    elif cosapensadifare == 'ELITE1_TIMEX':
+                        self.casellagenerica.setCurrentIndex(9)
+                        #print('9')
+                    elif cosapensadifare == 'ELITE1_DIPRI':
+                        self.casellagenerica.setCurrentIndex(10)
+                        #print('10')
+                    elif cosapensadifare == 'ELITE1_LDM':
+                        self.casellagenerica.setCurrentIndex(11)
+                        #print('11')
+                    elif cosapensadifare == 'ELITE1_TOTEM':
+                        self.casellagenerica.setCurrentIndex(12)
+                        #print('12')
+                    elif cosapensadifare == 'ELITE1_MAGNEDYN':
+                        self.casellagenerica.setCurrentIndex(13)
+                        #print('13')
+                    else:
+                        print('no')
+                    self.tabella.setCellWidget(giorni,turni, self.casellagenerica)
+        elif self.formato_ore.isChecked():
+            for giorni in range(quantigiorni[1]):
+                for ore in range(24):
+                    self.casellagenerica = QComboBox()
+                    self.casellagenerica.addItem('Unknown')
+                    for attivita in range(len(listaattivita)):
+                        self.casellagenerica.addItem(listaattivita[attivita])
+                    if mese_num < 10 and giorni+1 < 10:
+                        componistringa = time.ctime().split(' ')[-1] + '-0' + str(mese_num + spostamese) + '-0' + str(giorni+1) + ' ' + str(ore)
+                    elif mese_num < 10 and giorni+1 > 10:
+                        componistringa = time.ctime().split(' ')[-1] + '-0' + str(mese_num + spostamese) + '-' + str(giorni+1) + ' ' + str(ore)
+                    elif mese_num > 10 and giorni+1 < 10:
+                        componistringa = time.ctime().split(' ')[-1] + '-' + str(mese_num + spostamese) + '-0' + str(giorni+1) + ' ' + str(ore)
+                    else: 
+                        componistringa = time.ctime().split(' ')[-1] + '-' + str(mese_num + spostamese) + '-' + str(giorni+1) + ' ' + str(ore)
+                    #print(componistringa)
+                    cosapensadifare = calendadevice.command_inout('GetActivity', componistringa)
+                    #print(cosapensadifare)
+                    if cosapensadifare == 'Unknown':
+                        self.casellagenerica.setCurrentIndex(0)
+                        #print('0')
+                    elif cosapensadifare == 'SHUTDOWN':
+                        self.casellagenerica.setCurrentIndex(1)
+                        #print('1')
+                    elif cosapensadifare == 'ELITE2_TIMER':
+                        self.casellagenerica.setCurrentIndex(2)
+                        #print('2')
+                    elif cosapensadifare == 'ELITE2_TIMEX':
+                        self.casellagenerica.setCurrentIndex(3)
+                        #print('3')
+                    elif cosapensadifare == 'ELITE2_DIPRI':
+                        self.casellagenerica.setCurrentIndex(4)
+                        #print('4')
+                    elif cosapensadifare == 'ELITE2_LDM':
+                        self.casellagenerica.setCurrentIndex(5)
+                        #print('5')
+                    elif cosapensadifare == 'ELITE2_TOTEM':
+                        self.casellagenerica.setCurrentIndex(6)
+                        #print('6')
+                    elif cosapensadifare == 'ELITE2_MAGNEDYN':
+                        self.casellagenerica.setCurrentIndex(7)
+                        #print('7')
+                    elif cosapensadifare == 'ELITE1_TIMER':
+                        self.casellagenerica.setCurrentIndex(8)
+                        #print('8')
+                    elif cosapensadifare == 'ELITE1_TIMEX':
+                        self.casellagenerica.setCurrentIndex(9)
+                        #print('9')
+                    elif cosapensadifare == 'ELITE1_DIPRI':
+                        self.casellagenerica.setCurrentIndex(10)
+                        #print('10')
+                    elif cosapensadifare == 'ELITE1_LDM':
+                        self.casellagenerica.setCurrentIndex(11)
+                        #print('11')
+                    elif cosapensadifare == 'ELITE1_TOTEM':
+                        self.casellagenerica.setCurrentIndex(12)
+                        #print('12')
+                    elif cosapensadifare == 'ELITE1_MAGNEDYN':
+                        self.casellagenerica.setCurrentIndex(13)
+                        #print('13')
+                    else:
+                        print('no')
+                    self.tabella.setCellWidget(giorni,ore, self.casellagenerica)
+        self.tabella.resizeColumnsToContents()
+
+    def futuro(self):
+        global spostamese
+        spostamese = spostamese + 1
+        mese_num = time.localtime().tm_mon
+        scritta_mese = calendar.month_name[mese_num + spostamese] + ' ' + time.ctime().split(' ')[-1]
+        #scritta_mese = time.ctime().split(' ')[1] + ' ' + time.ctime().split(' ')[-1]
+        self.mese_label.setText(scritta_mese)
+        quantigiorni = calendar.monthrange(int(time.ctime().split(' ')[-1]), mese_num + spostamese)
+        self.tabella.setRowCount(quantigiorni[1])
+        if self.formato_turni.isChecked():
+            for giorni in range(quantigiorni[1]):
+                for turni in range(3):
+                    self.casellagenerica = QComboBox()
+                    self.casellagenerica.addItem('Unknown')
+                    for attivita in range(len(listaattivita)):
+                        self.casellagenerica.addItem(listaattivita[attivita])
+                    if mese_num + spostamese < 10 and giorni+1 < 10:
+                        componistringa = time.ctime().split(' ')[-1] + '-0' + str(mese_num + spostamese) + '-0' + str(giorni+1) + ' ' + nomishift[turni+1]
+                    elif mese_num + spostamese < 10 and giorni+1 > 10:
+                        componistringa = time.ctime().split(' ')[-1] + '-0' + str(mese_num + spostamese) + '-' + str(giorni+1) + ' ' + nomishift[turni+1]
+                    elif mese_num + spostamese > 10 and giorni+1 < 10:
+                        componistringa = time.ctime().split(' ')[-1] + '-' + str(mese_num + spostamese) + '-0' + str(giorni+1) + ' ' + nomishift[turni+1]
+                    else: 
+                        componistringa = time.ctime().split(' ')[-1] + '-' + str(mese_num + spostamese) + '-' + str(giorni+1) + ' ' + nomishift[turni+1]
+                    #print(componistringa)
+                    cosapensadifare = calendadevice.command_inout('GetShiftActivity', componistringa)
+                    #print(cosapensadifare)
+                    if cosapensadifare == 'Unknown':
+                        self.casellagenerica.setCurrentIndex(0)
+                        #print('0')
+                    elif cosapensadifare == 'SHUTDOWN':
+                        self.casellagenerica.setCurrentIndex(1)
+                        #print('1')
+                    elif cosapensadifare == 'ELITE2_TIMER':
+                        self.casellagenerica.setCurrentIndex(2)
+                        #print('2')
+                    elif cosapensadifare == 'ELITE2_TIMEX':
+                        self.casellagenerica.setCurrentIndex(3)
+                        #print('3')
+                    elif cosapensadifare == 'ELITE2_DIPRI':
+                        self.casellagenerica.setCurrentIndex(4)
+                        #print('4')
+                    elif cosapensadifare == 'ELITE2_LDM':
+                        self.casellagenerica.setCurrentIndex(5)
+                        #print('5')
+                    elif cosapensadifare == 'ELITE2_TOTEM':
+                        self.casellagenerica.setCurrentIndex(6)
+                        #print('6')
+                    elif cosapensadifare == 'ELITE2_MAGNEDYN':
+                        self.casellagenerica.setCurrentIndex(7)
+                        #print('7')
+                    elif cosapensadifare == 'ELITE1_TIMER':
+                        self.casellagenerica.setCurrentIndex(8)
+                        #print('8')
+                    elif cosapensadifare == 'ELITE1_TIMEX':
+                        self.casellagenerica.setCurrentIndex(9)
+                        #print('9')
+                    elif cosapensadifare == 'ELITE1_DIPRI':
+                        self.casellagenerica.setCurrentIndex(10)
+                        #print('10')
+                    elif cosapensadifare == 'ELITE1_LDM':
+                        self.casellagenerica.setCurrentIndex(11)
+                        #print('11')
+                    elif cosapensadifare == 'ELITE1_TOTEM':
+                        self.casellagenerica.setCurrentIndex(12)
+                        #print('12')
+                    elif cosapensadifare == 'ELITE1_MAGNEDYN':
+                        self.casellagenerica.setCurrentIndex(13)
+                        #print('13')
+                    else:
+                        print('no')
+                    self.tabella.setCellWidget(giorni,turni, self.casellagenerica)
+        elif self.formato_ore.isChecked():
+            for giorni in range(quantigiorni[1]):
+                for ore in range(24):
+                    self.casellagenerica = QComboBox()
+                    self.casellagenerica.addItem('Unknown')
+                    for attivita in range(len(listaattivita)):
+                        self.casellagenerica.addItem(listaattivita[attivita])
+                    if mese_num + spostamese < 10 and giorni+1 < 10:
+                        componistringa = time.ctime().split(' ')[-1] + '-0' + str(mese_num + spostamese) + '-0' + str(giorni+1) + ' ' + str(ore)
+                    elif mese_num + spostamese < 10 and giorni+1 > 10:
+                        componistringa = time.ctime().split(' ')[-1] + '-0' + str(mese_num + spostamese) + '-' + str(giorni+1) + ' ' + str(ore)
+                    elif mese_num + spostamese > 10 and giorni+1 < 10:
+                        componistringa = time.ctime().split(' ')[-1] + '-' + str(mese_num + spostamese) + '-0' + str(giorni+1) + ' ' + str(ore)
+                    else: 
+                        componistringa = time.ctime().split(' ')[-1] + '-' + str(mese_num + spostamese) + '-' + str(giorni+1) + ' ' + str(ore)
+                    #print(componistringa)
+                    cosapensadifare = calendadevice.command_inout('GetActivity', componistringa)
+                    #print(cosapensadifare)
+                    if cosapensadifare == 'Unknown':
+                        self.casellagenerica.setCurrentIndex(0)
+                        #print('0')
+                    elif cosapensadifare == 'SHUTDOWN':
+                        self.casellagenerica.setCurrentIndex(1)
+                        #print('1')
+                    elif cosapensadifare == 'ELITE2_TIMER':
+                        self.casellagenerica.setCurrentIndex(2)
+                        #print('2')
+                    elif cosapensadifare == 'ELITE2_TIMEX':
+                        self.casellagenerica.setCurrentIndex(3)
+                        #print('3')
+                    elif cosapensadifare == 'ELITE2_DIPRI':
+                        self.casellagenerica.setCurrentIndex(4)
+                        #print('4')
+                    elif cosapensadifare == 'ELITE2_LDM':
+                        self.casellagenerica.setCurrentIndex(5)
+                        #print('5')
+                    elif cosapensadifare == 'ELITE2_TOTEM':
+                        self.casellagenerica.setCurrentIndex(6)
+                        #print('6')
+                    elif cosapensadifare == 'ELITE2_MAGNEDYN':
+                        self.casellagenerica.setCurrentIndex(7)
+                        #print('7')
+                    elif cosapensadifare == 'ELITE1_TIMER':
+                        self.casellagenerica.setCurrentIndex(8)
+                        #print('8')
+                    elif cosapensadifare == 'ELITE1_TIMEX':
+                        self.casellagenerica.setCurrentIndex(9)
+                        #print('9')
+                    elif cosapensadifare == 'ELITE1_DIPRI':
+                        self.casellagenerica.setCurrentIndex(10)
+                        #print('10')
+                    elif cosapensadifare == 'ELITE1_LDM':
+                        self.casellagenerica.setCurrentIndex(11)
+                        #print('11')
+                    elif cosapensadifare == 'ELITE1_TOTEM':
+                        self.casellagenerica.setCurrentIndex(12)
+                        #print('12')
+                    elif cosapensadifare == 'ELITE1_MAGNEDYN':
+                        self.casellagenerica.setCurrentIndex(13)
+                        #print('13')
+                    else:
+                        print('no')
+                    self.tabella.setCellWidget(giorni,ore, self.casellagenerica)
+        self.tabella.resizeColumnsToContents()
+
+    def passato(self):
+        global spostamese
+        spostamese = spostamese - 1
+        mese_num = time.localtime().tm_mon
+        scritta_mese = calendar.month_name[mese_num + spostamese] + ' ' + time.ctime().split(' ')[-1]
+        #scritta_mese = time.ctime().split(' ')[1] + ' ' + time.ctime().split(' ')[-1]
+        self.mese_label.setText(scritta_mese)
+        quantigiorni = calendar.monthrange(int(time.ctime().split(' ')[-1]), mese_num + spostamese)
+        self.tabella.setRowCount(quantigiorni[1])
+        if self.formato_turni.isChecked():
+            for giorni in range(quantigiorni[1]):
+                for turni in range(3):
+                    self.casellagenerica = QComboBox()
+                    self.casellagenerica.addItem('Unknown')
+                    for attivita in range(len(listaattivita)):
+                        self.casellagenerica.addItem(listaattivita[attivita])
+                    if mese_num + spostamese < 10 and giorni+1 < 10:
+                        componistringa = time.ctime().split(' ')[-1] + '-0' + str(mese_num + spostamese) + '-0' + str(giorni+1) + ' ' + nomishift[turni+1]
+                    elif mese_num + spostamese < 10 and giorni+1 > 10:
+                        componistringa = time.ctime().split(' ')[-1] + '-0' + str(mese_num + spostamese) + '-' + str(giorni+1) + ' ' + nomishift[turni+1]
+                    elif mese_num + spostamese > 10 and giorni+1 < 10:
+                        componistringa = time.ctime().split(' ')[-1] + '-' + str(mese_num + spostamese) + '-0' + str(giorni+1) + ' ' + nomishift[turni+1]
+                    else: 
+                        componistringa = time.ctime().split(' ')[-1] + '-' + str(mese_num + spostamese) + '-' + str(giorni+1) + ' ' + nomishift[turni+1]
+                    #print(componistringa)
+                    cosapensadifare = calendadevice.command_inout('GetShiftActivity', componistringa)
+                    #print(cosapensadifare)
+                    if cosapensadifare == 'Unknown':
+                        self.casellagenerica.setCurrentIndex(0)
+                        #print('0')
+                    elif cosapensadifare == 'SHUTDOWN':
+                        self.casellagenerica.setCurrentIndex(1)
+                        #print('1')
+                    elif cosapensadifare == 'ELITE2_TIMER':
+                        self.casellagenerica.setCurrentIndex(2)
+                        #print('2')
+                    elif cosapensadifare == 'ELITE2_TIMEX':
+                        self.casellagenerica.setCurrentIndex(3)
+                        #print('3')
+                    elif cosapensadifare == 'ELITE2_DIPRI':
+                        self.casellagenerica.setCurrentIndex(4)
+                        #print('4')
+                    elif cosapensadifare == 'ELITE2_LDM':
+                        self.casellagenerica.setCurrentIndex(5)
+                        #print('5')
+                    elif cosapensadifare == 'ELITE2_TOTEM':
+                        self.casellagenerica.setCurrentIndex(6)
+                        #print('6')
+                    elif cosapensadifare == 'ELITE2_MAGNEDYN':
+                        self.casellagenerica.setCurrentIndex(7)
+                        #print('7')
+                    elif cosapensadifare == 'ELITE1_TIMER':
+                        self.casellagenerica.setCurrentIndex(8)
+                        #print('8')
+                    elif cosapensadifare == 'ELITE1_TIMEX':
+                        self.casellagenerica.setCurrentIndex(9)
+                        #print('9')
+                    elif cosapensadifare == 'ELITE1_DIPRI':
+                        self.casellagenerica.setCurrentIndex(10)
+                        #print('10')
+                    elif cosapensadifare == 'ELITE1_LDM':
+                        self.casellagenerica.setCurrentIndex(11)
+                        #print('11')
+                    elif cosapensadifare == 'ELITE1_TOTEM':
+                        self.casellagenerica.setCurrentIndex(12)
+                        #print('12')
+                    elif cosapensadifare == 'ELITE1_MAGNEDYN':
+                        self.casellagenerica.setCurrentIndex(13)
+                        #print('13')
+                    else:
+                        print('no')
+                    self.tabella.setCellWidget(giorni,turni, self.casellagenerica)
+        elif self.formato_ore.isChecked():
+            for giorni in range(quantigiorni[1]):
+                for ore in range(24):
+                    self.casellagenerica = QComboBox()
+                    self.casellagenerica.addItem('Unknown')
+                    for attivita in range(len(listaattivita)):
+                        self.casellagenerica.addItem(listaattivita[attivita])
+                    if mese_num + spostamese < 10 and giorni+1 < 10:
+                        componistringa = time.ctime().split(' ')[-1] + '-0' + str(mese_num + spostamese) + '-0' + str(giorni+1) + ' ' + str(ore)
+                    elif mese_num + spostamese < 10 and giorni+1 > 10:
+                        componistringa = time.ctime().split(' ')[-1] + '-0' + str(mese_num + spostamese) + '-' + str(giorni+1) + ' ' + str(ore)
+                    elif mese_num + spostamese > 10 and giorni+1 < 10:
+                        componistringa = time.ctime().split(' ')[-1] + '-' + str(mese_num + spostamese) + '-0' + str(giorni+1) + ' ' + str(ore)
+                    else: 
+                        componistringa = time.ctime().split(' ')[-1] + '-' + str(mese_num + spostamese) + '-' + str(giorni+1) + ' ' + str(ore)
+                    #print(componistringa)
+                    cosapensadifare = calendadevice.command_inout('GetActivity', componistringa)
+                    #print(cosapensadifare)
+                    if cosapensadifare == 'Unknown':
+                        self.casellagenerica.setCurrentIndex(0)
+                        #print('0')
+                    elif cosapensadifare == 'SHUTDOWN':
+                        self.casellagenerica.setCurrentIndex(1)
+                        #print('1')
+                    elif cosapensadifare == 'ELITE2_TIMER':
+                        self.casellagenerica.setCurrentIndex(2)
+                        #print('2')
+                    elif cosapensadifare == 'ELITE2_TIMEX':
+                        self.casellagenerica.setCurrentIndex(3)
+                        #print('3')
+                    elif cosapensadifare == 'ELITE2_DIPRI':
+                        self.casellagenerica.setCurrentIndex(4)
+                        #print('4')
+                    elif cosapensadifare == 'ELITE2_LDM':
+                        self.casellagenerica.setCurrentIndex(5)
+                        #print('5')
+                    elif cosapensadifare == 'ELITE2_TOTEM':
+                        self.casellagenerica.setCurrentIndex(6)
+                        #print('6')
+                    elif cosapensadifare == 'ELITE2_MAGNEDYN':
+                        self.casellagenerica.setCurrentIndex(7)
+                        #print('7')
+                    elif cosapensadifare == 'ELITE1_TIMER':
+                        self.casellagenerica.setCurrentIndex(8)
+                        #print('8')
+                    elif cosapensadifare == 'ELITE1_TIMEX':
+                        self.casellagenerica.setCurrentIndex(9)
+                        #print('9')
+                    elif cosapensadifare == 'ELITE1_DIPRI':
+                        self.casellagenerica.setCurrentIndex(10)
+                        #print('10')
+                    elif cosapensadifare == 'ELITE1_LDM':
+                        self.casellagenerica.setCurrentIndex(11)
+                        #print('11')
+                    elif cosapensadifare == 'ELITE1_TOTEM':
+                        self.casellagenerica.setCurrentIndex(12)
+                        #print('12')
+                    elif cosapensadifare == 'ELITE1_MAGNEDYN':
+                        self.casellagenerica.setCurrentIndex(13)
+                        #print('13')
+                    else:
+                        print('no')
+                    self.tabella.setCellWidget(giorni,ore, self.casellagenerica)
+        self.tabella.resizeColumnsToContents()
+
+    def meseuniforme(self):
+        scelta = self.riempimese_box.currentIndex()
+        print(scelta)
+        for righe in range(self.tabella.rowCount()):
+            for colonne in range(self.tabella.columnCount()):
+                self.tabella.cellWidget(righe, colonne).setCurrentIndex(scelta)
+
+    def sistema3(self):
+        self.tabella.setColumnCount(3)
+        self.inizializzazione()
+        #print('3')
+
+    def sistema24(self):
+        self.tabella.setColumnCount(24)
+        self.inizializzazione()
+        #print('24')
+
+    def fermical(self):
+        os.system('firefox http://acswww/Fermi')
+
+    def fallo(self):
+        controllo = self.tabella.columnCount()
+        if controllo > 3:
+            print('h')
+            stringacomando = []
+            for righe in range(self.tabella.rowCount()):
+                for colonne in range(controllo):
+                    if str(self.tabella.cellWidget(righe, colonne).currentText()) != 'Unknown':
+                        #print(self.tabella.cellWidget(righe, colonne).currentText())
+                        #'time=YYYY-MM-DD shiftname;activity=..'
+                        if time.localtime().tm_mon + spostamese < 10:
+                            mese = '-0' + str(time.localtime().tm_mon + spostamese)
+                        else:
+                            mese = '-' + str(time.localtime().tm_mon + spostamese)
+                        if str(righe + 1) < 10:
+                            giorno = '-0' + str(righe + 1)
+                        else:
+                            giorno = '-' + str(righe + 1)
+                        if colonne + 1 < 10 and colonne + 1 < 24:
+                            ora = '0' + str(colonne + 1)
+                        elif colonne + 1 > 10 and colonne + 1 < 24:
+                            ora = str(colonne + 1)
+                        else:
+                            ora = '00'
+                        stringacomando.append('time=' + time.ctime().split(' ')[-1] + mese + giorno + ' ' + ora + ';activity=' + str(self.tabella.cellWidget(righe, colonne).currentText()))
+                        #print(stringacomando)
+                    else:
+                        print('ok')
+            print(stringacomando)
+            calendadevice.command_inout('LoadActivities', [stringacomando])
+        else:
+            print('s')
+            stringacomando = []
+            for righe in range(self.tabella.rowCount()):
+                for colonne in range(controllo):
+                    if str(self.tabella.cellWidget(righe, colonne).currentText()) != 'Unknown':
+                        #print(self.tabella.cellWidget(righe, colonne).currentText())
+                        #'time=YYYY-MM-DD shiftname;activity=..'
+                        if time.localtime().tm_mon + spostamese < 10:
+                            mese = '-0' + str(time.localtime().tm_mon + spostamese)
+                        else:
+                            mese = '-' + str(time.localtime().tm_mon + spostamese)
+                        if str(righe + 1) < 10:
+                            giorno = '-0' + str(righe + 1)
+                        else:
+                            giorno = '-' + str(righe + 1)
+                        stringacomando.append('time=' + time.ctime().split(' ')[-1] + mese + giorno + ' ' + nomishift[colonne + 1] + ';activity=' + str(self.tabella.cellWidget(righe, colonne).currentText()))
+                        #print(stringacomando)
+                    else:
+                        print('ok')
+            print(stringacomando)
+            calendadevice.command_inout('LoadShiftActivities', stringacomando)
+
+
+#####################
+if __name__ == '__main__':
+    app = QApplication([])
+    try:
+        tmpdim = sys.argv[1]
+        tmpdim = tmpdim.split('x')
+        dimensione = [float(tmpdim[0]), float(tmpdim[1])]
+    except:
+        screen = QDesktopWidget().screenGeometry()
+        larghezzaaltezza = [screen.width(), screen.height()]
+        print(larghezzaaltezza)
+        if max(larghezzaaltezza) > 3000:
+            dimensione = max(larghezzaaltezza)*0.38
+        elif max(larghezzaaltezza) > 2000:
+            dimensione = max(larghezzaaltezza)*0.6
+        elif max(larghezzaaltezza) > 1000:
+            dimensione = max(larghezzaaltezza)*0.7
+        else:
+            dimensione = max(larghezzaaltezza)*2
+    font_grande = QFont("Arial", round(screen.width()/50.0), -1, False)
+    font_medio = QFont("Arial", round(screen.width()/100.0), -1, False)
+    font_piccolo = QFont("Arial", round(screen.width()/250.0), -1, False)
+    font_moltopiccolo = QFont("Arial", round(screen.width()/220.0), -1, False)
+    app.setFont(font_piccolo)
+    window = MainWindow()
+    window.resize(larghezzaaltezza[0]/5, larghezzaaltezza[1]/1.8)
+    window.show()
+    app.exec_()