Riordino generale delle librerie

Leonardo Robol [2009-06-13 13:52]
Riordino generale delle librerie
Filename
interface.py
interface.pyc
interface.ui
latex_manager.py
libs/latex_manager.py
libs/song.py
options.py
options.ui
song.py
ui/interface.py
ui/interface.ui
ui/options.py
ui/options.ui
diff --git a/interface.py b/interface.py
deleted file mode 100644
index 35b2e5f..0000000
--- a/interface.py
+++ /dev/null
@@ -1,176 +0,0 @@
-# -*- coding: utf-8 -*-
-
-# Form implementation generated from reading ui file 'interface.ui'
-#
-# Created: Sun Apr 26 19:28:13 2009
-#      by: PyQt4 UI code generator 4.4.4
-#
-# WARNING! All changes made in this file will be lost!
-
-from PyQt4 import QtCore, QtGui
-
-class Ui_MainWindow(object):
-    def setupUi(self, MainWindow):
-        MainWindow.setObjectName("MainWindow")
-        MainWindow.resize(800, 600)
-        self.centralwidget = QtGui.QWidget(MainWindow)
-        self.centralwidget.setObjectName("centralwidget")
-        self.gridLayoutWidget = QtGui.QWidget(self.centralwidget)
-        self.gridLayoutWidget.setGeometry(QtCore.QRect(10, 10, 781, 541))
-        self.gridLayoutWidget.setObjectName("gridLayoutWidget")
-        self.gridLayout = QtGui.QGridLayout(self.gridLayoutWidget)
-        self.gridLayout.setSizeConstraint(QtGui.QLayout.SetMaximumSize)
-        self.gridLayout.setObjectName("gridLayout")
-        self.list_songs = QtGui.QListWidget(self.gridLayoutWidget)
-        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Expanding)
-        sizePolicy.setHorizontalStretch(0)
-        sizePolicy.setVerticalStretch(0)
-        sizePolicy.setHeightForWidth(self.list_songs.sizePolicy().hasHeightForWidth())
-        self.list_songs.setSizePolicy(sizePolicy)
-        self.list_songs.setObjectName("list_songs")
-        self.gridLayout.addWidget(self.list_songs, 1, 0, 1, 1)
-        self.horizontalLayout = QtGui.QHBoxLayout()
-        self.horizontalLayout.setObjectName("horizontalLayout")
-        self.btn_new_song = QtGui.QPushButton(self.gridLayoutWidget)
-        self.btn_new_song.setObjectName("btn_new_song")
-        self.horizontalLayout.addWidget(self.btn_new_song)
-        self.btn_delete_song = QtGui.QPushButton(self.gridLayoutWidget)
-        self.btn_delete_song.setObjectName("btn_delete_song")
-        self.horizontalLayout.addWidget(self.btn_delete_song)
-        self.gridLayout.addLayout(self.horizontalLayout, 2, 0, 2, 1)
-        self.verticalLayout = QtGui.QVBoxLayout()
-        self.verticalLayout.setObjectName("verticalLayout")
-        self.gridLayout_2 = QtGui.QGridLayout()
-        self.gridLayout_2.setObjectName("gridLayout_2")
-        self.le_title = QtGui.QLineEdit(self.gridLayoutWidget)
-        self.le_title.setObjectName("le_title")
-        self.gridLayout_2.addWidget(self.le_title, 0, 1, 1, 1)
-        self.le_tauthor = QtGui.QLineEdit(self.gridLayoutWidget)
-        self.le_tauthor.setObjectName("le_tauthor")
-        self.gridLayout_2.addWidget(self.le_tauthor, 1, 1, 1, 1)
-        self.label = QtGui.QLabel(self.gridLayoutWidget)
-        self.label.setObjectName("label")
-        self.gridLayout_2.addWidget(self.label, 0, 0, 1, 1)
-        self.label_2 = QtGui.QLabel(self.gridLayoutWidget)
-        self.label_2.setObjectName("label_2")
-        self.gridLayout_2.addWidget(self.label_2, 1, 0, 1, 1)
-        self.le_mauthor = QtGui.QLineEdit(self.gridLayoutWidget)
-        self.le_mauthor.setObjectName("le_mauthor")
-        self.gridLayout_2.addWidget(self.le_mauthor, 2, 1, 1, 1)
-        self.label_3 = QtGui.QLabel(self.gridLayoutWidget)
-        self.label_3.setObjectName("label_3")
-        self.gridLayout_2.addWidget(self.label_3, 2, 0, 1, 1)
-        self.le_year = QtGui.QLineEdit(self.gridLayoutWidget)
-        self.le_year.setObjectName("le_year")
-        self.gridLayout_2.addWidget(self.le_year, 3, 1, 1, 1)
-        self.le_tone = QtGui.QLineEdit(self.gridLayoutWidget)
-        self.le_tone.setObjectName("le_tone")
-        self.gridLayout_2.addWidget(self.le_tone, 4, 1, 1, 1)
-        self.label_4 = QtGui.QLabel(self.gridLayoutWidget)
-        self.label_4.setObjectName("label_4")
-        self.gridLayout_2.addWidget(self.label_4, 3, 0, 1, 1)
-        self.label_5 = QtGui.QLabel(self.gridLayoutWidget)
-        self.label_5.setObjectName("label_5")
-        self.gridLayout_2.addWidget(self.label_5, 4, 0, 1, 1)
-        self.verticalLayout.addLayout(self.gridLayout_2)
-        self.te_body = QtGui.QTextEdit(self.gridLayoutWidget)
-        self.te_body.setAcceptRichText(False)
-        self.te_body.setObjectName("te_body")
-        self.verticalLayout.addWidget(self.te_body)
-        self.gridLayout.addLayout(self.verticalLayout, 1, 1, 1, 1)
-        self.horizontalLayout_2 = QtGui.QHBoxLayout()
-        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
-        self.btn_savesong = QtGui.QPushButton(self.gridLayoutWidget)
-        self.btn_savesong.setObjectName("btn_savesong")
-        self.horizontalLayout_2.addWidget(self.btn_savesong)
-        self.btn_create_latex_song = QtGui.QPushButton(self.gridLayoutWidget)
-        self.btn_create_latex_song.setObjectName("btn_create_latex_song")
-        self.horizontalLayout_2.addWidget(self.btn_create_latex_song)
-        self.gridLayout.addLayout(self.horizontalLayout_2, 2, 1, 2, 1)
-        self.label_6 = QtGui.QLabel(self.gridLayoutWidget)
-        self.label_6.setTextFormat(QtCore.Qt.RichText)
-        self.label_6.setAlignment(QtCore.Qt.AlignCenter)
-        self.label_6.setObjectName("label_6")
-        self.gridLayout.addWidget(self.label_6, 0, 0, 1, 1)
-        self.label_7 = QtGui.QLabel(self.gridLayoutWidget)
-        self.label_7.setObjectName("label_7")
-        self.gridLayout.addWidget(self.label_7, 0, 1, 1, 1)
-        MainWindow.setCentralWidget(self.centralwidget)
-        self.menubar = QtGui.QMenuBar(MainWindow)
-        self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 23))
-        self.menubar.setObjectName("menubar")
-        self.menuFile = QtGui.QMenu(self.menubar)
-        self.menuFile.setObjectName("menuFile")
-        self.menuCanzoniere = QtGui.QMenu(self.menubar)
-        self.menuCanzoniere.setObjectName("menuCanzoniere")
-        self.menuCanzone = QtGui.QMenu(self.menubar)
-        self.menuCanzone.setObjectName("menuCanzone")
-        MainWindow.setMenuBar(self.menubar)
-        self.statusbar = QtGui.QStatusBar(MainWindow)
-        self.statusbar.setObjectName("statusbar")
-        MainWindow.setStatusBar(self.statusbar)
-        self.actionApri = QtGui.QAction(MainWindow)
-        self.actionApri.setObjectName("actionApri")
-        self.actionEsci = QtGui.QAction(MainWindow)
-        self.actionEsci.setObjectName("actionEsci")
-        self.actionSalva = QtGui.QAction(MainWindow)
-        self.actionSalva.setObjectName("actionSalva")
-        self.actionEsci_2 = QtGui.QAction(MainWindow)
-        self.actionEsci_2.setObjectName("actionEsci_2")
-        self.actionSalva_canzone = QtGui.QAction(MainWindow)
-        self.actionSalva_canzone.setObjectName("actionSalva_canzone")
-        self.actionImporta_canzone = QtGui.QAction(MainWindow)
-        self.actionImporta_canzone.setObjectName("actionImporta_canzone")
-        self.actionEsporta_in_LaTeX = QtGui.QAction(MainWindow)
-        self.actionEsporta_in_LaTeX.setObjectName("actionEsporta_in_LaTeX")
-        self.actionOpzioni_LaTeX = QtGui.QAction(MainWindow)
-        self.actionOpzioni_LaTeX.setObjectName("actionOpzioni_LaTeX")
-        self.menuFile.addAction(self.actionApri)
-        self.menuFile.addAction(self.actionSalva)
-        self.menuFile.addSeparator()
-        self.menuFile.addAction(self.actionEsci_2)
-        self.menuCanzoniere.addAction(self.actionEsporta_in_LaTeX)
-        self.menuCanzoniere.addAction(self.actionOpzioni_LaTeX)
-        self.menuCanzone.addAction(self.actionSalva_canzone)
-        self.menuCanzone.addAction(self.actionImporta_canzone)
-        self.menubar.addAction(self.menuFile.menuAction())
-        self.menubar.addAction(self.menuCanzoniere.menuAction())
-        self.menubar.addAction(self.menuCanzone.menuAction())
-
-        self.retranslateUi(MainWindow)
-        QtCore.QObject.connect(self.actionEsci_2, QtCore.SIGNAL("activated()"), MainWindow.close)
-        QtCore.QMetaObject.connectSlotsByName(MainWindow)
-
-    def retranslateUi(self, MainWindow):
-        MainWindow.setWindowTitle(QtGui.QApplication.translate("MainWindow", "SongBook Editor 0.2", None, QtGui.QApplication.UnicodeUTF8))
-        self.btn_new_song.setText(QtGui.QApplication.translate("MainWindow", "Nuova Canzone", None, QtGui.QApplication.UnicodeUTF8))
-        self.btn_delete_song.setText(QtGui.QApplication.translate("MainWindow", "Elimina Canzone", None, QtGui.QApplication.UnicodeUTF8))
-        self.label.setText(QtGui.QApplication.translate("MainWindow", "Titolo", None, QtGui.QApplication.UnicodeUTF8))
-        self.label_2.setText(QtGui.QApplication.translate("MainWindow", "Autore", None, QtGui.QApplication.UnicodeUTF8))
-        self.label_3.setText(QtGui.QApplication.translate("MainWindow", "Copyright", None, QtGui.QApplication.UnicodeUTF8))
-        self.label_4.setText(QtGui.QApplication.translate("MainWindow", "Anno", None, QtGui.QApplication.UnicodeUTF8))
-        self.label_5.setText(QtGui.QApplication.translate("MainWindow", "Tonalità", None, QtGui.QApplication.UnicodeUTF8))
-        self.btn_savesong.setText(QtGui.QApplication.translate("MainWindow", "Aggiungi al canzoniere", None, QtGui.QApplication.UnicodeUTF8))
-        self.btn_create_latex_song.setText(QtGui.QApplication.translate("MainWindow", "Esporta canzone in LaTeX", None, QtGui.QApplication.UnicodeUTF8))
-        self.label_6.setText(QtGui.QApplication.translate("MainWindow", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
-"<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
-"p, li { white-space: pre-wrap; }\n"
-"</style></head><body style=\" font-family:\'Droid Sans\'; font-size:9pt; font-weight:400; font-style:normal;\">\n"
-"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-weight:600;\">Lista Canzoni</span></p></body></html>", None, QtGui.QApplication.UnicodeUTF8))
-        self.label_7.setText(QtGui.QApplication.translate("MainWindow", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
-"<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
-"p, li { white-space: pre-wrap; }\n"
-"</style></head><body style=\" font-family:\'Droid Sans\'; font-size:9pt; font-weight:400; font-style:normal;\">\n"
-"<p align=\"center\" style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-weight:600;\">Canzone selezionata</span></p></body></html>", None, QtGui.QApplication.UnicodeUTF8))
-        self.menuFile.setTitle(QtGui.QApplication.translate("MainWindow", "File", None, QtGui.QApplication.UnicodeUTF8))
-        self.menuCanzoniere.setTitle(QtGui.QApplication.translate("MainWindow", "Canzoniere", None, QtGui.QApplication.UnicodeUTF8))
-        self.menuCanzone.setTitle(QtGui.QApplication.translate("MainWindow", "Canzone", None, QtGui.QApplication.UnicodeUTF8))
-        self.actionApri.setText(QtGui.QApplication.translate("MainWindow", "Apri", None, QtGui.QApplication.UnicodeUTF8))
-        self.actionEsci.setText(QtGui.QApplication.translate("MainWindow", "Esci", None, QtGui.QApplication.UnicodeUTF8))
-        self.actionSalva.setText(QtGui.QApplication.translate("MainWindow", "Salva", None, QtGui.QApplication.UnicodeUTF8))
-        self.actionEsci_2.setText(QtGui.QApplication.translate("MainWindow", "Esci", None, QtGui.QApplication.UnicodeUTF8))
-        self.actionSalva_canzone.setText(QtGui.QApplication.translate("MainWindow", "Salva canzone", None, QtGui.QApplication.UnicodeUTF8))
-        self.actionImporta_canzone.setText(QtGui.QApplication.translate("MainWindow", "Importa canzone", None, QtGui.QApplication.UnicodeUTF8))
-        self.actionEsporta_in_LaTeX.setText(QtGui.QApplication.translate("MainWindow", "Esporta in LaTeX", None, QtGui.QApplication.UnicodeUTF8))
-        self.actionOpzioni_LaTeX.setText(QtGui.QApplication.translate("MainWindow", "Opzioni LaTeX", None, QtGui.QApplication.UnicodeUTF8))
-
diff --git a/interface.pyc b/interface.pyc
deleted file mode 100644
index d72621b..0000000
Binary files a/interface.pyc and /dev/null differ
diff --git a/interface.ui b/interface.ui
deleted file mode 100644
index 0c602c2..0000000
--- a/interface.ui
+++ /dev/null
@@ -1,269 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>MainWindow</class>
- <widget class="QMainWindow" name="MainWindow">
-  <property name="geometry">
-   <rect>
-    <x>0</x>
-    <y>0</y>
-    <width>800</width>
-    <height>600</height>
-   </rect>
-  </property>
-  <property name="windowTitle">
-   <string>SongBook Editor 0.2</string>
-  </property>
-  <widget class="QWidget" name="centralwidget">
-   <widget class="QWidget" name="gridLayoutWidget">
-    <property name="geometry">
-     <rect>
-      <x>10</x>
-      <y>10</y>
-      <width>781</width>
-      <height>541</height>
-     </rect>
-    </property>
-    <layout class="QGridLayout" name="gridLayout">
-     <property name="sizeConstraint">
-      <enum>QLayout::SetMaximumSize</enum>
-     </property>
-     <item row="1" column="0">
-      <widget class="QListWidget" name="list_songs">
-       <property name="sizePolicy">
-        <sizepolicy hsizetype="Fixed" vsizetype="Expanding">
-         <horstretch>0</horstretch>
-         <verstretch>0</verstretch>
-        </sizepolicy>
-       </property>
-      </widget>
-     </item>
-     <item row="2" column="0" rowspan="2">
-      <layout class="QHBoxLayout" name="horizontalLayout">
-       <item>
-        <widget class="QPushButton" name="btn_new_song">
-         <property name="text">
-          <string>Nuova Canzone</string>
-         </property>
-        </widget>
-       </item>
-       <item>
-        <widget class="QPushButton" name="btn_delete_song">
-         <property name="text">
-          <string>Elimina Canzone</string>
-         </property>
-        </widget>
-       </item>
-      </layout>
-     </item>
-     <item row="1" column="1">
-      <layout class="QVBoxLayout" name="verticalLayout">
-       <item>
-        <layout class="QGridLayout" name="gridLayout_2">
-         <item row="0" column="1">
-          <widget class="QLineEdit" name="le_title"/>
-         </item>
-         <item row="1" column="1">
-          <widget class="QLineEdit" name="le_tauthor"/>
-         </item>
-         <item row="0" column="0">
-          <widget class="QLabel" name="label">
-           <property name="text">
-            <string>Titolo</string>
-           </property>
-          </widget>
-         </item>
-         <item row="1" column="0">
-          <widget class="QLabel" name="label_2">
-           <property name="text">
-            <string>Autore</string>
-           </property>
-          </widget>
-         </item>
-         <item row="2" column="1">
-          <widget class="QLineEdit" name="le_mauthor"/>
-         </item>
-         <item row="2" column="0">
-          <widget class="QLabel" name="label_3">
-           <property name="text">
-            <string>Copyright</string>
-           </property>
-          </widget>
-         </item>
-         <item row="3" column="1">
-          <widget class="QLineEdit" name="le_year"/>
-         </item>
-         <item row="4" column="1">
-          <widget class="QLineEdit" name="le_tone"/>
-         </item>
-         <item row="3" column="0">
-          <widget class="QLabel" name="label_4">
-           <property name="text">
-            <string>Anno</string>
-           </property>
-          </widget>
-         </item>
-         <item row="4" column="0">
-          <widget class="QLabel" name="label_5">
-           <property name="text">
-            <string>Tonalità</string>
-           </property>
-          </widget>
-         </item>
-        </layout>
-       </item>
-       <item>
-        <widget class="QTextEdit" name="te_body">
-         <property name="acceptRichText">
-          <bool>false</bool>
-         </property>
-        </widget>
-       </item>
-      </layout>
-     </item>
-     <item row="2" column="1" rowspan="2">
-      <layout class="QHBoxLayout" name="horizontalLayout_2">
-       <item>
-        <widget class="QPushButton" name="btn_savesong">
-         <property name="text">
-          <string>Aggiungi al canzoniere</string>
-         </property>
-        </widget>
-       </item>
-       <item>
-        <widget class="QPushButton" name="btn_create_latex_song">
-         <property name="text">
-          <string>Esporta canzone in LaTeX</string>
-         </property>
-        </widget>
-       </item>
-      </layout>
-     </item>
-     <item row="0" column="0">
-      <widget class="QLabel" name="label_6">
-       <property name="text">
-        <string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
-&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Droid Sans'; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Lista Canzoni&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
-       </property>
-       <property name="textFormat">
-        <enum>Qt::RichText</enum>
-       </property>
-       <property name="alignment">
-        <set>Qt::AlignCenter</set>
-       </property>
-      </widget>
-     </item>
-     <item row="0" column="1">
-      <widget class="QLabel" name="label_7">
-       <property name="text">
-        <string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
-&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Droid Sans'; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p align=&quot;center&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Canzone selezionata&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
-       </property>
-      </widget>
-     </item>
-    </layout>
-   </widget>
-  </widget>
-  <widget class="QMenuBar" name="menubar">
-   <property name="geometry">
-    <rect>
-     <x>0</x>
-     <y>0</y>
-     <width>800</width>
-     <height>23</height>
-    </rect>
-   </property>
-   <widget class="QMenu" name="menuFile">
-    <property name="title">
-     <string>File</string>
-    </property>
-    <addaction name="actionApri"/>
-    <addaction name="actionSalva"/>
-    <addaction name="separator"/>
-    <addaction name="actionEsci_2"/>
-   </widget>
-   <widget class="QMenu" name="menuCanzoniere">
-    <property name="title">
-     <string>Canzoniere</string>
-    </property>
-    <addaction name="actionEsporta_in_LaTeX"/>
-    <addaction name="actionOpzioni_LaTeX"/>
-   </widget>
-   <widget class="QMenu" name="menuCanzone">
-    <property name="title">
-     <string>Canzone</string>
-    </property>
-    <addaction name="actionSalva_canzone"/>
-    <addaction name="actionImporta_canzone"/>
-   </widget>
-   <addaction name="menuFile"/>
-   <addaction name="menuCanzoniere"/>
-   <addaction name="menuCanzone"/>
-  </widget>
-  <widget class="QStatusBar" name="statusbar"/>
-  <action name="actionApri">
-   <property name="text">
-    <string>Apri</string>
-   </property>
-  </action>
-  <action name="actionEsci">
-   <property name="text">
-    <string>Esci</string>
-   </property>
-  </action>
-  <action name="actionSalva">
-   <property name="text">
-    <string>Salva</string>
-   </property>
-  </action>
-  <action name="actionEsci_2">
-   <property name="text">
-    <string>Esci</string>
-   </property>
-  </action>
-  <action name="actionSalva_canzone">
-   <property name="text">
-    <string>Salva canzone</string>
-   </property>
-  </action>
-  <action name="actionImporta_canzone">
-   <property name="text">
-    <string>Importa canzone</string>
-   </property>
-  </action>
-  <action name="actionEsporta_in_LaTeX">
-   <property name="text">
-    <string>Esporta in LaTeX</string>
-   </property>
-  </action>
-  <action name="actionOpzioni_LaTeX">
-   <property name="text">
-    <string>Opzioni LaTeX</string>
-   </property>
-  </action>
- </widget>
- <resources/>
- <connections>
-  <connection>
-   <sender>actionEsci_2</sender>
-   <signal>activated()</signal>
-   <receiver>MainWindow</receiver>
-   <slot>close()</slot>
-   <hints>
-    <hint type="sourcelabel">
-     <x>-1</x>
-     <y>-1</y>
-    </hint>
-    <hint type="destinationlabel">
-     <x>399</x>
-     <y>299</y>
-    </hint>
-   </hints>
-  </connection>
- </connections>
-</ui>
diff --git a/latex_manager.py b/latex_manager.py
deleted file mode 100644
index b12418b..0000000
--- a/latex_manager.py
+++ /dev/null
@@ -1,108 +0,0 @@
-import re
-
-class latex_manager():
-    def __init__(self):
-        ## TODO: Verify Latex Installation
-        return
-
-    def create_song(self, song):
-        # Ci aspettiamo di ottenere un oggetto song
-        title = song.title
-        tone = song.tone
-        mauthor = song.mauthor
-        tauthor = song.tauthor
-        year = song.year
-        body = song.body
-
-        # We really have to assume that latex_song is unicode,
-        # or the write() function will eat us!
-        latex_song = unicode()
-        latex_song += "\\begin{song}{" + title + "}{" + tone + "}\n{" + mauthor + "}\n{" + tauthor + "}\n{" + year + "}" + "{}\n\n\\index{" + title + "}\n\n"
-
-        for item in body:
-            if(item.is_chorus()):
-                latex_song += "\n\\begin{SBChorus}\n"
-                latex_song += re.sub("\n", "\n\n", item.content())
-                latex_song += "\n\\end{SBChorus}\n"
-            else:
-                latex_song += "\n\\begin{SBVerse}"
-                latex_song += re.sub("\n" , "\n\n", item.content())
-                latex_song += "\n\\end{SBVerse}\n"
-
-        latex_song += "\n\\end{song}\n\n"
-
-        # Transform chords in LaTeX Chords (this part has to be removed..)
-        #latex_song = re.sub("\[", "\\Ch{", latex_song)
-        #latex_song = re.sub("\](\w|\s){4}", self.quadra_to_chord_end, latex_song)
-        #latex_song = re.sub("\]", "}{}", latex_song)
-
-        latex_song = self.sub_chord(latex_song)
-
-        return latex_song
-
-
-    def sub_chord(self,m):
-        j = 0
-        # print j, len(m) this is just debug!
-        while(j < len(m)):
-            if(m[j] == '['):
-                # We have a chord!, then...
-                # 1) How many letters is the chords?
-                count = 0
-                while(m[count + j + 1] != ']'):
-                    count += 1
-                # 2) Are there count + 1 words "free" after the chord?
-                free = count + 2
-                for i in range(j + count + 2,j + count + 2 + (count + 2) ):
-                    # print "m[i] = ", m[i] Removing debug
-                    if( (m[i] == '\n') | (m[i] == '[') | (m[i] == '{') ):
-                        free = i - j - count - 2
-                        break
-                # Debug is unuseful now! print "free = " , free
-                # Free what we need...and rebuild the new string...
-                m = m[0:j] + "\Ch{" + m[j+1:j+count+1] + "}{" + m[j+count+2:j+count+free+2] + "}" + m[j+count+free+2:len(m)]
-                j = j + count + free + 3
-            else:
-                j += 1
-        return m
-
-    def export_songbook(self,song_list):
-        # Assume that song list is an array of songs and
-        # create a songbook with them
-
-        # New buffer
-        buf = unicode()
-
-        # TODO: Latex code to compile the songbook
-        # Document class
-        buf += "\documentclass[10pt,a5paper,twoside]{book}\n"
-
-        # Packages
-        buf += "\usepackage[a5paper,chordbk]{songbook}\n"
-        buf += "\usepackage[utf8x]{inputenc}\n"
-        buf += "\usepackage{makeidx}\n"
-        buf += "\n\n"
-
-        # Index generation
-        buf += "\MakeTitleIndex\n"
-        buf += "\MakeTitleContents\n"
-        buf += "\MakeKeyIndex\n"
-        buf += "\makeindex\n"
-        buf += "\n\n"
-
-        # Document begins
-        buf += "\\begin{document}\n\n"
-
-        for song in song_list:
-            buf += "\n\n" # Put some space between songs
-            buf += "% Canzone:" + song.title + "\n\n"
-            buf += self.create_song(song)
-
-        # The Index
-        buf += "\printindex\n"
-
-        # Document ends
-        buf += "\end{document}\n\n"
-
-        # Give buffer back to be printed
-        return buf
diff --git a/libs/latex_manager.py b/libs/latex_manager.py
new file mode 100644
index 0000000..b12418b
--- /dev/null
+++ b/libs/latex_manager.py
@@ -0,0 +1,108 @@
+import re
+
+class latex_manager():
+    def __init__(self):
+        ## TODO: Verify Latex Installation
+        return
+
+    def create_song(self, song):
+        # Ci aspettiamo di ottenere un oggetto song
+        title = song.title
+        tone = song.tone
+        mauthor = song.mauthor
+        tauthor = song.tauthor
+        year = song.year
+        body = song.body
+
+        # We really have to assume that latex_song is unicode,
+        # or the write() function will eat us!
+        latex_song = unicode()
+        latex_song += "\\begin{song}{" + title + "}{" + tone + "}\n{" + mauthor + "}\n{" + tauthor + "}\n{" + year + "}" + "{}\n\n\\index{" + title + "}\n\n"
+
+        for item in body:
+            if(item.is_chorus()):
+                latex_song += "\n\\begin{SBChorus}\n"
+                latex_song += re.sub("\n", "\n\n", item.content())
+                latex_song += "\n\\end{SBChorus}\n"
+            else:
+                latex_song += "\n\\begin{SBVerse}"
+                latex_song += re.sub("\n" , "\n\n", item.content())
+                latex_song += "\n\\end{SBVerse}\n"
+
+        latex_song += "\n\\end{song}\n\n"
+
+        # Transform chords in LaTeX Chords (this part has to be removed..)
+        #latex_song = re.sub("\[", "\\Ch{", latex_song)
+        #latex_song = re.sub("\](\w|\s){4}", self.quadra_to_chord_end, latex_song)
+        #latex_song = re.sub("\]", "}{}", latex_song)
+
+        latex_song = self.sub_chord(latex_song)
+
+        return latex_song
+
+
+    def sub_chord(self,m):
+        j = 0
+        # print j, len(m) this is just debug!
+        while(j < len(m)):
+            if(m[j] == '['):
+                # We have a chord!, then...
+                # 1) How many letters is the chords?
+                count = 0
+                while(m[count + j + 1] != ']'):
+                    count += 1
+                # 2) Are there count + 1 words "free" after the chord?
+                free = count + 2
+                for i in range(j + count + 2,j + count + 2 + (count + 2) ):
+                    # print "m[i] = ", m[i] Removing debug
+                    if( (m[i] == '\n') | (m[i] == '[') | (m[i] == '{') ):
+                        free = i - j - count - 2
+                        break
+                # Debug is unuseful now! print "free = " , free
+                # Free what we need...and rebuild the new string...
+                m = m[0:j] + "\Ch{" + m[j+1:j+count+1] + "}{" + m[j+count+2:j+count+free+2] + "}" + m[j+count+free+2:len(m)]
+                j = j + count + free + 3
+            else:
+                j += 1
+        return m
+
+    def export_songbook(self,song_list):
+        # Assume that song list is an array of songs and
+        # create a songbook with them
+
+        # New buffer
+        buf = unicode()
+
+        # TODO: Latex code to compile the songbook
+        # Document class
+        buf += "\documentclass[10pt,a5paper,twoside]{book}\n"
+
+        # Packages
+        buf += "\usepackage[a5paper,chordbk]{songbook}\n"
+        buf += "\usepackage[utf8x]{inputenc}\n"
+        buf += "\usepackage{makeidx}\n"
+        buf += "\n\n"
+
+        # Index generation
+        buf += "\MakeTitleIndex\n"
+        buf += "\MakeTitleContents\n"
+        buf += "\MakeKeyIndex\n"
+        buf += "\makeindex\n"
+        buf += "\n\n"
+
+        # Document begins
+        buf += "\\begin{document}\n\n"
+
+        for song in song_list:
+            buf += "\n\n" # Put some space between songs
+            buf += "% Canzone:" + song.title + "\n\n"
+            buf += self.create_song(song)
+
+        # The Index
+        buf += "\printindex\n"
+
+        # Document ends
+        buf += "\end{document}\n\n"
+
+        # Give buffer back to be printed
+        return buf
diff --git a/libs/song.py b/libs/song.py
new file mode 100644
index 0000000..f2ae222
--- /dev/null
+++ b/libs/song.py
@@ -0,0 +1,78 @@
+## Object song
+
+class chorus():
+    def __init__(self):
+        self.body = ""
+
+    def content(self):
+        return self.body
+
+    def is_chorus(self):
+        return True
+
+class verse():
+    def __init__(self):
+        self.body = ""
+
+    def content(self):
+        return self.body
+
+    def is_chorus(self):
+        return False
+
+class song():
+
+    def __init__(self, newtitle, newbody=[], newmauthor = "Unknown", newtauthor="Unknown", newtone="Unknown", newyear="Unknown"):
+        # Initialize vars..
+        self.title = newtitle
+        # Body is an array of string with verses and
+        # chorus to be understood with __structure
+        self.body = newbody
+
+        self.mauthor = newmauthor
+        self.tauthor = newtauthor
+        self.tone = newtone
+        self.year = newyear
+
+        # Structure is an array of the type 'c' 'v'
+        # where c means Chorus, v means Verse
+        self.structure = []
+
+
+    # Gives the number of chorus in the song
+    def n_chorus(self):
+        count = 0
+        for item in self.structure:
+            if(item == 'c'):
+                count += 1
+        return count
+
+    # Gives the number of verse in the song
+    def n_verse(self):
+        count = 0
+        for item in self.structure:
+            if(item == 'v'):
+                count += 1
+        return count
+
+    def is_chorus(self, n):
+        if(self.structure[n] == 'c'):
+            return 1
+        return 0
+
+    def is_verse(self, n):
+        if(self.structure[n] == 'v'):
+            return 1
+        return 0
+
+    def add_chorus(self, t_chorus):
+        newchorus = chorus()
+        newchorus.body = t_chorus
+        self.body.append(newchorus)
+        self.structure.append('c')
+
+    def add_verse(self, t_verse):
+        newverse = verse()
+        newverse.body = t_verse
+        self.body.append(newverse)
+        self.structure.append('v')
diff --git a/options.py b/options.py
deleted file mode 100644
index df65a12..0000000
--- a/options.py
+++ /dev/null
@@ -1,78 +0,0 @@
-# -*- coding: utf-8 -*-
-
-# Form implementation generated from reading ui file 'options.ui'
-#
-# Created: Fri May 15 17:06:57 2009
-#      by: PyQt4 UI code generator 4.4.4
-#
-# WARNING! All changes made in this file will be lost!
-
-from PyQt4 import QtCore, QtGui
-
-class Ui_options(object):
-    def setupUi(self, options):
-        options.setObjectName("options")
-        options.resize(400, 266)
-        self.buttonBox = QtGui.QDialogButtonBox(options)
-        self.buttonBox.setGeometry(QtCore.QRect(30, 210, 341, 32))
-        self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
-        self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok)
-        self.buttonBox.setObjectName("buttonBox")
-        self.gridLayoutWidget = QtGui.QWidget(options)
-        self.gridLayoutWidget.setGeometry(QtCore.QRect(30, 50, 341, 141))
-        self.gridLayoutWidget.setObjectName("gridLayoutWidget")
-        self.gridLayout = QtGui.QGridLayout(self.gridLayoutWidget)
-        self.gridLayout.setObjectName("gridLayout")
-        self.label_2 = QtGui.QLabel(self.gridLayoutWidget)
-        self.label_2.setObjectName("label_2")
-        self.gridLayout.addWidget(self.label_2, 0, 0, 1, 1)
-        self.paper_size = QtGui.QComboBox(self.gridLayoutWidget)
-        self.paper_size.setObjectName("paper_size")
-        self.paper_size.addItem(QtCore.QString())
-        self.paper_size.addItem(QtCore.QString())
-        self.gridLayout.addWidget(self.paper_size, 0, 1, 1, 1)
-        self.label_3 = QtGui.QLabel(self.gridLayoutWidget)
-        self.label_3.setObjectName("label_3")
-        self.gridLayout.addWidget(self.label_3, 1, 0, 1, 1)
-        self.type = QtGui.QComboBox(self.gridLayoutWidget)
-        self.type.setObjectName("type")
-        self.type.addItem(QtCore.QString())
-        self.type.addItem(QtCore.QString())
-        self.type.addItem(QtCore.QString())
-        self.gridLayout.addWidget(self.type, 1, 1, 1, 1)
-        self.label_4 = QtGui.QLabel(self.gridLayoutWidget)
-        self.label_4.setObjectName("label_4")
-        self.gridLayout.addWidget(self.label_4, 2, 0, 1, 1)
-        self.title = QtGui.QLineEdit(self.gridLayoutWidget)
-        self.title.setObjectName("title")
-        self.gridLayout.addWidget(self.title, 2, 1, 1, 1)
-        self.label_5 = QtGui.QLabel(self.gridLayoutWidget)
-        self.label_5.setObjectName("label_5")
-        self.gridLayout.addWidget(self.label_5, 3, 0, 1, 1)
-        self.subtitle = QtGui.QLineEdit(self.gridLayoutWidget)
-        self.subtitle.setObjectName("subtitle")
-        self.gridLayout.addWidget(self.subtitle, 3, 1, 1, 1)
-        self.label = QtGui.QLabel(options)
-        self.label.setGeometry(QtCore.QRect(160, 20, 141, 16))
-        self.label.setObjectName("label")
-
-        self.retranslateUi(options)
-        QtCore.QMetaObject.connectSlotsByName(options)
-
-    def retranslateUi(self, options):
-        options.setWindowTitle(QtGui.QApplication.translate("options", "Opzioni LaTeX", None, QtGui.QApplication.UnicodeUTF8))
-        self.label_2.setText(QtGui.QApplication.translate("options", "Formato", None, QtGui.QApplication.UnicodeUTF8))
-        self.paper_size.setItemText(0, QtGui.QApplication.translate("options", "A4 (290mm x 210mm)", None, QtGui.QApplication.UnicodeUTF8))
-        self.paper_size.setItemText(1, QtGui.QApplication.translate("options", "A5 (210mm x 145mm)", None, QtGui.QApplication.UnicodeUTF8))
-        self.label_3.setText(QtGui.QApplication.translate("options", "Tipo di Canzoniere", None, QtGui.QApplication.UnicodeUTF8))
-        self.type.setItemText(0, QtGui.QApplication.translate("options", "Testo e accordi", None, QtGui.QApplication.UnicodeUTF8))
-        self.type.setItemText(1, QtGui.QApplication.translate("options", "Solo Testo", None, QtGui.QApplication.UnicodeUTF8))
-        self.type.setItemText(2, QtGui.QApplication.translate("options", "Slide", None, QtGui.QApplication.UnicodeUTF8))
-        self.label_4.setText(QtGui.QApplication.translate("options", "Titolo", None, QtGui.QApplication.UnicodeUTF8))
-        self.label_5.setText(QtGui.QApplication.translate("options", "Sottotitolo", None, QtGui.QApplication.UnicodeUTF8))
-        self.label.setText(QtGui.QApplication.translate("options", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
-"<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
-"p, li { white-space: pre-wrap; }\n"
-"</style></head><body style=\" font-family:\'Droid Sans\'; font-size:9pt; font-weight:400; font-style:normal;\">\n"
-"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-weight:600;\">Opzioni LaTex</span></p></body></html>", None, QtGui.QApplication.UnicodeUTF8))
-
diff --git a/options.ui b/options.ui
deleted file mode 100644
index 39816c4..0000000
--- a/options.ui
+++ /dev/null
@@ -1,131 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>options</class>
- <widget class="QDialog" name="options">
-  <property name="geometry">
-   <rect>
-    <x>0</x>
-    <y>0</y>
-    <width>400</width>
-    <height>266</height>
-   </rect>
-  </property>
-  <property name="windowTitle">
-   <string>Opzioni LaTeX</string>
-  </property>
-  <widget class="QDialogButtonBox" name="buttonBox">
-   <property name="geometry">
-    <rect>
-     <x>30</x>
-     <y>210</y>
-     <width>341</width>
-     <height>32</height>
-    </rect>
-   </property>
-   <property name="orientation">
-    <enum>Qt::Horizontal</enum>
-   </property>
-   <property name="standardButtons">
-    <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
-   </property>
-  </widget>
-  <widget class="QWidget" name="gridLayoutWidget">
-   <property name="geometry">
-    <rect>
-     <x>30</x>
-     <y>50</y>
-     <width>341</width>
-     <height>141</height>
-    </rect>
-   </property>
-   <layout class="QGridLayout" name="gridLayout">
-    <item row="0" column="0">
-     <widget class="QLabel" name="label_2">
-      <property name="text">
-       <string>Formato</string>
-      </property>
-     </widget>
-    </item>
-    <item row="0" column="1">
-     <widget class="QComboBox" name="paper_size">
-      <item>
-       <property name="text">
-        <string>A4 (290mm x 210mm)</string>
-       </property>
-      </item>
-      <item>
-       <property name="text">
-        <string>A5 (210mm x 145mm)</string>
-       </property>
-      </item>
-     </widget>
-    </item>
-    <item row="1" column="0">
-     <widget class="QLabel" name="label_3">
-      <property name="text">
-       <string>Tipo di Canzoniere</string>
-      </property>
-     </widget>
-    </item>
-    <item row="1" column="1">
-     <widget class="QComboBox" name="type">
-      <item>
-       <property name="text">
-        <string>Testo e accordi</string>
-       </property>
-      </item>
-      <item>
-       <property name="text">
-        <string>Solo Testo</string>
-       </property>
-      </item>
-      <item>
-       <property name="text">
-        <string>Slide</string>
-       </property>
-      </item>
-     </widget>
-    </item>
-    <item row="2" column="0">
-     <widget class="QLabel" name="label_4">
-      <property name="text">
-       <string>Titolo</string>
-      </property>
-     </widget>
-    </item>
-    <item row="2" column="1">
-     <widget class="QLineEdit" name="title"/>
-    </item>
-    <item row="3" column="0">
-     <widget class="QLabel" name="label_5">
-      <property name="text">
-       <string>Sottotitolo</string>
-      </property>
-     </widget>
-    </item>
-    <item row="3" column="1">
-     <widget class="QLineEdit" name="subtitle"/>
-    </item>
-   </layout>
-  </widget>
-  <widget class="QLabel" name="label">
-   <property name="geometry">
-    <rect>
-     <x>160</x>
-     <y>20</y>
-     <width>141</width>
-     <height>16</height>
-    </rect>
-   </property>
-   <property name="text">
-    <string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
-&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Droid Sans'; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Opzioni LaTex&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
-   </property>
-  </widget>
- </widget>
- <resources/>
- <connections/>
-</ui>
diff --git a/song.py b/song.py
deleted file mode 100644
index f2ae222..0000000
--- a/song.py
+++ /dev/null
@@ -1,78 +0,0 @@
-## Object song
-
-class chorus():
-    def __init__(self):
-        self.body = ""
-
-    def content(self):
-        return self.body
-
-    def is_chorus(self):
-        return True
-
-class verse():
-    def __init__(self):
-        self.body = ""
-
-    def content(self):
-        return self.body
-
-    def is_chorus(self):
-        return False
-
-class song():
-
-    def __init__(self, newtitle, newbody=[], newmauthor = "Unknown", newtauthor="Unknown", newtone="Unknown", newyear="Unknown"):
-        # Initialize vars..
-        self.title = newtitle
-        # Body is an array of string with verses and
-        # chorus to be understood with __structure
-        self.body = newbody
-
-        self.mauthor = newmauthor
-        self.tauthor = newtauthor
-        self.tone = newtone
-        self.year = newyear
-
-        # Structure is an array of the type 'c' 'v'
-        # where c means Chorus, v means Verse
-        self.structure = []
-
-
-    # Gives the number of chorus in the song
-    def n_chorus(self):
-        count = 0
-        for item in self.structure:
-            if(item == 'c'):
-                count += 1
-        return count
-
-    # Gives the number of verse in the song
-    def n_verse(self):
-        count = 0
-        for item in self.structure:
-            if(item == 'v'):
-                count += 1
-        return count
-
-    def is_chorus(self, n):
-        if(self.structure[n] == 'c'):
-            return 1
-        return 0
-
-    def is_verse(self, n):
-        if(self.structure[n] == 'v'):
-            return 1
-        return 0
-
-    def add_chorus(self, t_chorus):
-        newchorus = chorus()
-        newchorus.body = t_chorus
-        self.body.append(newchorus)
-        self.structure.append('c')
-
-    def add_verse(self, t_verse):
-        newverse = verse()
-        newverse.body = t_verse
-        self.body.append(newverse)
-        self.structure.append('v')
diff --git a/ui/interface.py b/ui/interface.py
new file mode 100644
index 0000000..35b2e5f
--- /dev/null
+++ b/ui/interface.py
@@ -0,0 +1,176 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'interface.ui'
+#
+# Created: Sun Apr 26 19:28:13 2009
+#      by: PyQt4 UI code generator 4.4.4
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt4 import QtCore, QtGui
+
+class Ui_MainWindow(object):
+    def setupUi(self, MainWindow):
+        MainWindow.setObjectName("MainWindow")
+        MainWindow.resize(800, 600)
+        self.centralwidget = QtGui.QWidget(MainWindow)
+        self.centralwidget.setObjectName("centralwidget")
+        self.gridLayoutWidget = QtGui.QWidget(self.centralwidget)
+        self.gridLayoutWidget.setGeometry(QtCore.QRect(10, 10, 781, 541))
+        self.gridLayoutWidget.setObjectName("gridLayoutWidget")
+        self.gridLayout = QtGui.QGridLayout(self.gridLayoutWidget)
+        self.gridLayout.setSizeConstraint(QtGui.QLayout.SetMaximumSize)
+        self.gridLayout.setObjectName("gridLayout")
+        self.list_songs = QtGui.QListWidget(self.gridLayoutWidget)
+        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.list_songs.sizePolicy().hasHeightForWidth())
+        self.list_songs.setSizePolicy(sizePolicy)
+        self.list_songs.setObjectName("list_songs")
+        self.gridLayout.addWidget(self.list_songs, 1, 0, 1, 1)
+        self.horizontalLayout = QtGui.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.btn_new_song = QtGui.QPushButton(self.gridLayoutWidget)
+        self.btn_new_song.setObjectName("btn_new_song")
+        self.horizontalLayout.addWidget(self.btn_new_song)
+        self.btn_delete_song = QtGui.QPushButton(self.gridLayoutWidget)
+        self.btn_delete_song.setObjectName("btn_delete_song")
+        self.horizontalLayout.addWidget(self.btn_delete_song)
+        self.gridLayout.addLayout(self.horizontalLayout, 2, 0, 2, 1)
+        self.verticalLayout = QtGui.QVBoxLayout()
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.gridLayout_2 = QtGui.QGridLayout()
+        self.gridLayout_2.setObjectName("gridLayout_2")
+        self.le_title = QtGui.QLineEdit(self.gridLayoutWidget)
+        self.le_title.setObjectName("le_title")
+        self.gridLayout_2.addWidget(self.le_title, 0, 1, 1, 1)
+        self.le_tauthor = QtGui.QLineEdit(self.gridLayoutWidget)
+        self.le_tauthor.setObjectName("le_tauthor")
+        self.gridLayout_2.addWidget(self.le_tauthor, 1, 1, 1, 1)
+        self.label = QtGui.QLabel(self.gridLayoutWidget)
+        self.label.setObjectName("label")
+        self.gridLayout_2.addWidget(self.label, 0, 0, 1, 1)
+        self.label_2 = QtGui.QLabel(self.gridLayoutWidget)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout_2.addWidget(self.label_2, 1, 0, 1, 1)
+        self.le_mauthor = QtGui.QLineEdit(self.gridLayoutWidget)
+        self.le_mauthor.setObjectName("le_mauthor")
+        self.gridLayout_2.addWidget(self.le_mauthor, 2, 1, 1, 1)
+        self.label_3 = QtGui.QLabel(self.gridLayoutWidget)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout_2.addWidget(self.label_3, 2, 0, 1, 1)
+        self.le_year = QtGui.QLineEdit(self.gridLayoutWidget)
+        self.le_year.setObjectName("le_year")
+        self.gridLayout_2.addWidget(self.le_year, 3, 1, 1, 1)
+        self.le_tone = QtGui.QLineEdit(self.gridLayoutWidget)
+        self.le_tone.setObjectName("le_tone")
+        self.gridLayout_2.addWidget(self.le_tone, 4, 1, 1, 1)
+        self.label_4 = QtGui.QLabel(self.gridLayoutWidget)
+        self.label_4.setObjectName("label_4")
+        self.gridLayout_2.addWidget(self.label_4, 3, 0, 1, 1)
+        self.label_5 = QtGui.QLabel(self.gridLayoutWidget)
+        self.label_5.setObjectName("label_5")
+        self.gridLayout_2.addWidget(self.label_5, 4, 0, 1, 1)
+        self.verticalLayout.addLayout(self.gridLayout_2)
+        self.te_body = QtGui.QTextEdit(self.gridLayoutWidget)
+        self.te_body.setAcceptRichText(False)
+        self.te_body.setObjectName("te_body")
+        self.verticalLayout.addWidget(self.te_body)
+        self.gridLayout.addLayout(self.verticalLayout, 1, 1, 1, 1)
+        self.horizontalLayout_2 = QtGui.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.btn_savesong = QtGui.QPushButton(self.gridLayoutWidget)
+        self.btn_savesong.setObjectName("btn_savesong")
+        self.horizontalLayout_2.addWidget(self.btn_savesong)
+        self.btn_create_latex_song = QtGui.QPushButton(self.gridLayoutWidget)
+        self.btn_create_latex_song.setObjectName("btn_create_latex_song")
+        self.horizontalLayout_2.addWidget(self.btn_create_latex_song)
+        self.gridLayout.addLayout(self.horizontalLayout_2, 2, 1, 2, 1)
+        self.label_6 = QtGui.QLabel(self.gridLayoutWidget)
+        self.label_6.setTextFormat(QtCore.Qt.RichText)
+        self.label_6.setAlignment(QtCore.Qt.AlignCenter)
+        self.label_6.setObjectName("label_6")
+        self.gridLayout.addWidget(self.label_6, 0, 0, 1, 1)
+        self.label_7 = QtGui.QLabel(self.gridLayoutWidget)
+        self.label_7.setObjectName("label_7")
+        self.gridLayout.addWidget(self.label_7, 0, 1, 1, 1)
+        MainWindow.setCentralWidget(self.centralwidget)
+        self.menubar = QtGui.QMenuBar(MainWindow)
+        self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 23))
+        self.menubar.setObjectName("menubar")
+        self.menuFile = QtGui.QMenu(self.menubar)
+        self.menuFile.setObjectName("menuFile")
+        self.menuCanzoniere = QtGui.QMenu(self.menubar)
+        self.menuCanzoniere.setObjectName("menuCanzoniere")
+        self.menuCanzone = QtGui.QMenu(self.menubar)
+        self.menuCanzone.setObjectName("menuCanzone")
+        MainWindow.setMenuBar(self.menubar)
+        self.statusbar = QtGui.QStatusBar(MainWindow)
+        self.statusbar.setObjectName("statusbar")
+        MainWindow.setStatusBar(self.statusbar)
+        self.actionApri = QtGui.QAction(MainWindow)
+        self.actionApri.setObjectName("actionApri")
+        self.actionEsci = QtGui.QAction(MainWindow)
+        self.actionEsci.setObjectName("actionEsci")
+        self.actionSalva = QtGui.QAction(MainWindow)
+        self.actionSalva.setObjectName("actionSalva")
+        self.actionEsci_2 = QtGui.QAction(MainWindow)
+        self.actionEsci_2.setObjectName("actionEsci_2")
+        self.actionSalva_canzone = QtGui.QAction(MainWindow)
+        self.actionSalva_canzone.setObjectName("actionSalva_canzone")
+        self.actionImporta_canzone = QtGui.QAction(MainWindow)
+        self.actionImporta_canzone.setObjectName("actionImporta_canzone")
+        self.actionEsporta_in_LaTeX = QtGui.QAction(MainWindow)
+        self.actionEsporta_in_LaTeX.setObjectName("actionEsporta_in_LaTeX")
+        self.actionOpzioni_LaTeX = QtGui.QAction(MainWindow)
+        self.actionOpzioni_LaTeX.setObjectName("actionOpzioni_LaTeX")
+        self.menuFile.addAction(self.actionApri)
+        self.menuFile.addAction(self.actionSalva)
+        self.menuFile.addSeparator()
+        self.menuFile.addAction(self.actionEsci_2)
+        self.menuCanzoniere.addAction(self.actionEsporta_in_LaTeX)
+        self.menuCanzoniere.addAction(self.actionOpzioni_LaTeX)
+        self.menuCanzone.addAction(self.actionSalva_canzone)
+        self.menuCanzone.addAction(self.actionImporta_canzone)
+        self.menubar.addAction(self.menuFile.menuAction())
+        self.menubar.addAction(self.menuCanzoniere.menuAction())
+        self.menubar.addAction(self.menuCanzone.menuAction())
+
+        self.retranslateUi(MainWindow)
+        QtCore.QObject.connect(self.actionEsci_2, QtCore.SIGNAL("activated()"), MainWindow.close)
+        QtCore.QMetaObject.connectSlotsByName(MainWindow)
+
+    def retranslateUi(self, MainWindow):
+        MainWindow.setWindowTitle(QtGui.QApplication.translate("MainWindow", "SongBook Editor 0.2", None, QtGui.QApplication.UnicodeUTF8))
+        self.btn_new_song.setText(QtGui.QApplication.translate("MainWindow", "Nuova Canzone", None, QtGui.QApplication.UnicodeUTF8))
+        self.btn_delete_song.setText(QtGui.QApplication.translate("MainWindow", "Elimina Canzone", None, QtGui.QApplication.UnicodeUTF8))
+        self.label.setText(QtGui.QApplication.translate("MainWindow", "Titolo", None, QtGui.QApplication.UnicodeUTF8))
+        self.label_2.setText(QtGui.QApplication.translate("MainWindow", "Autore", None, QtGui.QApplication.UnicodeUTF8))
+        self.label_3.setText(QtGui.QApplication.translate("MainWindow", "Copyright", None, QtGui.QApplication.UnicodeUTF8))
+        self.label_4.setText(QtGui.QApplication.translate("MainWindow", "Anno", None, QtGui.QApplication.UnicodeUTF8))
+        self.label_5.setText(QtGui.QApplication.translate("MainWindow", "Tonalità", None, QtGui.QApplication.UnicodeUTF8))
+        self.btn_savesong.setText(QtGui.QApplication.translate("MainWindow", "Aggiungi al canzoniere", None, QtGui.QApplication.UnicodeUTF8))
+        self.btn_create_latex_song.setText(QtGui.QApplication.translate("MainWindow", "Esporta canzone in LaTeX", None, QtGui.QApplication.UnicodeUTF8))
+        self.label_6.setText(QtGui.QApplication.translate("MainWindow", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:\'Droid Sans\'; font-size:9pt; font-weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-weight:600;\">Lista Canzoni</span></p></body></html>", None, QtGui.QApplication.UnicodeUTF8))
+        self.label_7.setText(QtGui.QApplication.translate("MainWindow", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:\'Droid Sans\'; font-size:9pt; font-weight:400; font-style:normal;\">\n"
+"<p align=\"center\" style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-weight:600;\">Canzone selezionata</span></p></body></html>", None, QtGui.QApplication.UnicodeUTF8))
+        self.menuFile.setTitle(QtGui.QApplication.translate("MainWindow", "File", None, QtGui.QApplication.UnicodeUTF8))
+        self.menuCanzoniere.setTitle(QtGui.QApplication.translate("MainWindow", "Canzoniere", None, QtGui.QApplication.UnicodeUTF8))
+        self.menuCanzone.setTitle(QtGui.QApplication.translate("MainWindow", "Canzone", None, QtGui.QApplication.UnicodeUTF8))
+        self.actionApri.setText(QtGui.QApplication.translate("MainWindow", "Apri", None, QtGui.QApplication.UnicodeUTF8))
+        self.actionEsci.setText(QtGui.QApplication.translate("MainWindow", "Esci", None, QtGui.QApplication.UnicodeUTF8))
+        self.actionSalva.setText(QtGui.QApplication.translate("MainWindow", "Salva", None, QtGui.QApplication.UnicodeUTF8))
+        self.actionEsci_2.setText(QtGui.QApplication.translate("MainWindow", "Esci", None, QtGui.QApplication.UnicodeUTF8))
+        self.actionSalva_canzone.setText(QtGui.QApplication.translate("MainWindow", "Salva canzone", None, QtGui.QApplication.UnicodeUTF8))
+        self.actionImporta_canzone.setText(QtGui.QApplication.translate("MainWindow", "Importa canzone", None, QtGui.QApplication.UnicodeUTF8))
+        self.actionEsporta_in_LaTeX.setText(QtGui.QApplication.translate("MainWindow", "Esporta in LaTeX", None, QtGui.QApplication.UnicodeUTF8))
+        self.actionOpzioni_LaTeX.setText(QtGui.QApplication.translate("MainWindow", "Opzioni LaTeX", None, QtGui.QApplication.UnicodeUTF8))
+
diff --git a/ui/interface.ui b/ui/interface.ui
new file mode 100644
index 0000000..0c602c2
--- /dev/null
+++ b/ui/interface.ui
@@ -0,0 +1,269 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>MainWindow</class>
+ <widget class="QMainWindow" name="MainWindow">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>800</width>
+    <height>600</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>SongBook Editor 0.2</string>
+  </property>
+  <widget class="QWidget" name="centralwidget">
+   <widget class="QWidget" name="gridLayoutWidget">
+    <property name="geometry">
+     <rect>
+      <x>10</x>
+      <y>10</y>
+      <width>781</width>
+      <height>541</height>
+     </rect>
+    </property>
+    <layout class="QGridLayout" name="gridLayout">
+     <property name="sizeConstraint">
+      <enum>QLayout::SetMaximumSize</enum>
+     </property>
+     <item row="1" column="0">
+      <widget class="QListWidget" name="list_songs">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="Fixed" vsizetype="Expanding">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+      </widget>
+     </item>
+     <item row="2" column="0" rowspan="2">
+      <layout class="QHBoxLayout" name="horizontalLayout">
+       <item>
+        <widget class="QPushButton" name="btn_new_song">
+         <property name="text">
+          <string>Nuova Canzone</string>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="QPushButton" name="btn_delete_song">
+         <property name="text">
+          <string>Elimina Canzone</string>
+         </property>
+        </widget>
+       </item>
+      </layout>
+     </item>
+     <item row="1" column="1">
+      <layout class="QVBoxLayout" name="verticalLayout">
+       <item>
+        <layout class="QGridLayout" name="gridLayout_2">
+         <item row="0" column="1">
+          <widget class="QLineEdit" name="le_title"/>
+         </item>
+         <item row="1" column="1">
+          <widget class="QLineEdit" name="le_tauthor"/>
+         </item>
+         <item row="0" column="0">
+          <widget class="QLabel" name="label">
+           <property name="text">
+            <string>Titolo</string>
+           </property>
+          </widget>
+         </item>
+         <item row="1" column="0">
+          <widget class="QLabel" name="label_2">
+           <property name="text">
+            <string>Autore</string>
+           </property>
+          </widget>
+         </item>
+         <item row="2" column="1">
+          <widget class="QLineEdit" name="le_mauthor"/>
+         </item>
+         <item row="2" column="0">
+          <widget class="QLabel" name="label_3">
+           <property name="text">
+            <string>Copyright</string>
+           </property>
+          </widget>
+         </item>
+         <item row="3" column="1">
+          <widget class="QLineEdit" name="le_year"/>
+         </item>
+         <item row="4" column="1">
+          <widget class="QLineEdit" name="le_tone"/>
+         </item>
+         <item row="3" column="0">
+          <widget class="QLabel" name="label_4">
+           <property name="text">
+            <string>Anno</string>
+           </property>
+          </widget>
+         </item>
+         <item row="4" column="0">
+          <widget class="QLabel" name="label_5">
+           <property name="text">
+            <string>Tonalità</string>
+           </property>
+          </widget>
+         </item>
+        </layout>
+       </item>
+       <item>
+        <widget class="QTextEdit" name="te_body">
+         <property name="acceptRichText">
+          <bool>false</bool>
+         </property>
+        </widget>
+       </item>
+      </layout>
+     </item>
+     <item row="2" column="1" rowspan="2">
+      <layout class="QHBoxLayout" name="horizontalLayout_2">
+       <item>
+        <widget class="QPushButton" name="btn_savesong">
+         <property name="text">
+          <string>Aggiungi al canzoniere</string>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="QPushButton" name="btn_create_latex_song">
+         <property name="text">
+          <string>Esporta canzone in LaTeX</string>
+         </property>
+        </widget>
+       </item>
+      </layout>
+     </item>
+     <item row="0" column="0">
+      <widget class="QLabel" name="label_6">
+       <property name="text">
+        <string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Droid Sans'; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Lista Canzoni&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+       </property>
+       <property name="textFormat">
+        <enum>Qt::RichText</enum>
+       </property>
+       <property name="alignment">
+        <set>Qt::AlignCenter</set>
+       </property>
+      </widget>
+     </item>
+     <item row="0" column="1">
+      <widget class="QLabel" name="label_7">
+       <property name="text">
+        <string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Droid Sans'; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p align=&quot;center&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Canzone selezionata&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </widget>
+  </widget>
+  <widget class="QMenuBar" name="menubar">
+   <property name="geometry">
+    <rect>
+     <x>0</x>
+     <y>0</y>
+     <width>800</width>
+     <height>23</height>
+    </rect>
+   </property>
+   <widget class="QMenu" name="menuFile">
+    <property name="title">
+     <string>File</string>
+    </property>
+    <addaction name="actionApri"/>
+    <addaction name="actionSalva"/>
+    <addaction name="separator"/>
+    <addaction name="actionEsci_2"/>
+   </widget>
+   <widget class="QMenu" name="menuCanzoniere">
+    <property name="title">
+     <string>Canzoniere</string>
+    </property>
+    <addaction name="actionEsporta_in_LaTeX"/>
+    <addaction name="actionOpzioni_LaTeX"/>
+   </widget>
+   <widget class="QMenu" name="menuCanzone">
+    <property name="title">
+     <string>Canzone</string>
+    </property>
+    <addaction name="actionSalva_canzone"/>
+    <addaction name="actionImporta_canzone"/>
+   </widget>
+   <addaction name="menuFile"/>
+   <addaction name="menuCanzoniere"/>
+   <addaction name="menuCanzone"/>
+  </widget>
+  <widget class="QStatusBar" name="statusbar"/>
+  <action name="actionApri">
+   <property name="text">
+    <string>Apri</string>
+   </property>
+  </action>
+  <action name="actionEsci">
+   <property name="text">
+    <string>Esci</string>
+   </property>
+  </action>
+  <action name="actionSalva">
+   <property name="text">
+    <string>Salva</string>
+   </property>
+  </action>
+  <action name="actionEsci_2">
+   <property name="text">
+    <string>Esci</string>
+   </property>
+  </action>
+  <action name="actionSalva_canzone">
+   <property name="text">
+    <string>Salva canzone</string>
+   </property>
+  </action>
+  <action name="actionImporta_canzone">
+   <property name="text">
+    <string>Importa canzone</string>
+   </property>
+  </action>
+  <action name="actionEsporta_in_LaTeX">
+   <property name="text">
+    <string>Esporta in LaTeX</string>
+   </property>
+  </action>
+  <action name="actionOpzioni_LaTeX">
+   <property name="text">
+    <string>Opzioni LaTeX</string>
+   </property>
+  </action>
+ </widget>
+ <resources/>
+ <connections>
+  <connection>
+   <sender>actionEsci_2</sender>
+   <signal>activated()</signal>
+   <receiver>MainWindow</receiver>
+   <slot>close()</slot>
+   <hints>
+    <hint type="sourcelabel">
+     <x>-1</x>
+     <y>-1</y>
+    </hint>
+    <hint type="destinationlabel">
+     <x>399</x>
+     <y>299</y>
+    </hint>
+   </hints>
+  </connection>
+ </connections>
+</ui>
diff --git a/ui/options.py b/ui/options.py
new file mode 100644
index 0000000..df65a12
--- /dev/null
+++ b/ui/options.py
@@ -0,0 +1,78 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'options.ui'
+#
+# Created: Fri May 15 17:06:57 2009
+#      by: PyQt4 UI code generator 4.4.4
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt4 import QtCore, QtGui
+
+class Ui_options(object):
+    def setupUi(self, options):
+        options.setObjectName("options")
+        options.resize(400, 266)
+        self.buttonBox = QtGui.QDialogButtonBox(options)
+        self.buttonBox.setGeometry(QtCore.QRect(30, 210, 341, 32))
+        self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
+        self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok)
+        self.buttonBox.setObjectName("buttonBox")
+        self.gridLayoutWidget = QtGui.QWidget(options)
+        self.gridLayoutWidget.setGeometry(QtCore.QRect(30, 50, 341, 141))
+        self.gridLayoutWidget.setObjectName("gridLayoutWidget")
+        self.gridLayout = QtGui.QGridLayout(self.gridLayoutWidget)
+        self.gridLayout.setObjectName("gridLayout")
+        self.label_2 = QtGui.QLabel(self.gridLayoutWidget)
+        self.label_2.setObjectName("label_2")
+        self.gridLayout.addWidget(self.label_2, 0, 0, 1, 1)
+        self.paper_size = QtGui.QComboBox(self.gridLayoutWidget)
+        self.paper_size.setObjectName("paper_size")
+        self.paper_size.addItem(QtCore.QString())
+        self.paper_size.addItem(QtCore.QString())
+        self.gridLayout.addWidget(self.paper_size, 0, 1, 1, 1)
+        self.label_3 = QtGui.QLabel(self.gridLayoutWidget)
+        self.label_3.setObjectName("label_3")
+        self.gridLayout.addWidget(self.label_3, 1, 0, 1, 1)
+        self.type = QtGui.QComboBox(self.gridLayoutWidget)
+        self.type.setObjectName("type")
+        self.type.addItem(QtCore.QString())
+        self.type.addItem(QtCore.QString())
+        self.type.addItem(QtCore.QString())
+        self.gridLayout.addWidget(self.type, 1, 1, 1, 1)
+        self.label_4 = QtGui.QLabel(self.gridLayoutWidget)
+        self.label_4.setObjectName("label_4")
+        self.gridLayout.addWidget(self.label_4, 2, 0, 1, 1)
+        self.title = QtGui.QLineEdit(self.gridLayoutWidget)
+        self.title.setObjectName("title")
+        self.gridLayout.addWidget(self.title, 2, 1, 1, 1)
+        self.label_5 = QtGui.QLabel(self.gridLayoutWidget)
+        self.label_5.setObjectName("label_5")
+        self.gridLayout.addWidget(self.label_5, 3, 0, 1, 1)
+        self.subtitle = QtGui.QLineEdit(self.gridLayoutWidget)
+        self.subtitle.setObjectName("subtitle")
+        self.gridLayout.addWidget(self.subtitle, 3, 1, 1, 1)
+        self.label = QtGui.QLabel(options)
+        self.label.setGeometry(QtCore.QRect(160, 20, 141, 16))
+        self.label.setObjectName("label")
+
+        self.retranslateUi(options)
+        QtCore.QMetaObject.connectSlotsByName(options)
+
+    def retranslateUi(self, options):
+        options.setWindowTitle(QtGui.QApplication.translate("options", "Opzioni LaTeX", None, QtGui.QApplication.UnicodeUTF8))
+        self.label_2.setText(QtGui.QApplication.translate("options", "Formato", None, QtGui.QApplication.UnicodeUTF8))
+        self.paper_size.setItemText(0, QtGui.QApplication.translate("options", "A4 (290mm x 210mm)", None, QtGui.QApplication.UnicodeUTF8))
+        self.paper_size.setItemText(1, QtGui.QApplication.translate("options", "A5 (210mm x 145mm)", None, QtGui.QApplication.UnicodeUTF8))
+        self.label_3.setText(QtGui.QApplication.translate("options", "Tipo di Canzoniere", None, QtGui.QApplication.UnicodeUTF8))
+        self.type.setItemText(0, QtGui.QApplication.translate("options", "Testo e accordi", None, QtGui.QApplication.UnicodeUTF8))
+        self.type.setItemText(1, QtGui.QApplication.translate("options", "Solo Testo", None, QtGui.QApplication.UnicodeUTF8))
+        self.type.setItemText(2, QtGui.QApplication.translate("options", "Slide", None, QtGui.QApplication.UnicodeUTF8))
+        self.label_4.setText(QtGui.QApplication.translate("options", "Titolo", None, QtGui.QApplication.UnicodeUTF8))
+        self.label_5.setText(QtGui.QApplication.translate("options", "Sottotitolo", None, QtGui.QApplication.UnicodeUTF8))
+        self.label.setText(QtGui.QApplication.translate("options", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:\'Droid Sans\'; font-size:9pt; font-weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-weight:600;\">Opzioni LaTex</span></p></body></html>", None, QtGui.QApplication.UnicodeUTF8))
+
diff --git a/ui/options.ui b/ui/options.ui
new file mode 100644
index 0000000..39816c4
--- /dev/null
+++ b/ui/options.ui
@@ -0,0 +1,131 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>options</class>
+ <widget class="QDialog" name="options">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>400</width>
+    <height>266</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>Opzioni LaTeX</string>
+  </property>
+  <widget class="QDialogButtonBox" name="buttonBox">
+   <property name="geometry">
+    <rect>
+     <x>30</x>
+     <y>210</y>
+     <width>341</width>
+     <height>32</height>
+    </rect>
+   </property>
+   <property name="orientation">
+    <enum>Qt::Horizontal</enum>
+   </property>
+   <property name="standardButtons">
+    <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
+   </property>
+  </widget>
+  <widget class="QWidget" name="gridLayoutWidget">
+   <property name="geometry">
+    <rect>
+     <x>30</x>
+     <y>50</y>
+     <width>341</width>
+     <height>141</height>
+    </rect>
+   </property>
+   <layout class="QGridLayout" name="gridLayout">
+    <item row="0" column="0">
+     <widget class="QLabel" name="label_2">
+      <property name="text">
+       <string>Formato</string>
+      </property>
+     </widget>
+    </item>
+    <item row="0" column="1">
+     <widget class="QComboBox" name="paper_size">
+      <item>
+       <property name="text">
+        <string>A4 (290mm x 210mm)</string>
+       </property>
+      </item>
+      <item>
+       <property name="text">
+        <string>A5 (210mm x 145mm)</string>
+       </property>
+      </item>
+     </widget>
+    </item>
+    <item row="1" column="0">
+     <widget class="QLabel" name="label_3">
+      <property name="text">
+       <string>Tipo di Canzoniere</string>
+      </property>
+     </widget>
+    </item>
+    <item row="1" column="1">
+     <widget class="QComboBox" name="type">
+      <item>
+       <property name="text">
+        <string>Testo e accordi</string>
+       </property>
+      </item>
+      <item>
+       <property name="text">
+        <string>Solo Testo</string>
+       </property>
+      </item>
+      <item>
+       <property name="text">
+        <string>Slide</string>
+       </property>
+      </item>
+     </widget>
+    </item>
+    <item row="2" column="0">
+     <widget class="QLabel" name="label_4">
+      <property name="text">
+       <string>Titolo</string>
+      </property>
+     </widget>
+    </item>
+    <item row="2" column="1">
+     <widget class="QLineEdit" name="title"/>
+    </item>
+    <item row="3" column="0">
+     <widget class="QLabel" name="label_5">
+      <property name="text">
+       <string>Sottotitolo</string>
+      </property>
+     </widget>
+    </item>
+    <item row="3" column="1">
+     <widget class="QLineEdit" name="subtitle"/>
+    </item>
+   </layout>
+  </widget>
+  <widget class="QLabel" name="label">
+   <property name="geometry">
+    <rect>
+     <x>160</x>
+     <y>20</y>
+     <width>141</width>
+     <height>16</height>
+    </rect>
+   </property>
+   <property name="text">
+    <string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Droid Sans'; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Opzioni LaTex&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+   </property>
+  </widget>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
ViewGit