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><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-<html><head><meta name="qrichtext" content="1" /><style type="text/css">
-p, li { white-space: pre-wrap; }
-</style></head><body style=" font-family:'Droid Sans'; font-size:9pt; font-weight:400; font-style:normal;">
-<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></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><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-<html><head><meta name="qrichtext" content="1" /><style type="text/css">
-p, li { white-space: pre-wrap; }
-</style></head><body style=" font-family:'Droid Sans'; font-size:9pt; font-weight:400; font-style:normal;">
-<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></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><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-<html><head><meta name="qrichtext" content="1" /><style type="text/css">
-p, li { white-space: pre-wrap; }
-</style></head><body style=" font-family:'Droid Sans'; font-size:9pt; font-weight:400; font-style:normal;">
-<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></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><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+<html><head><meta name="qrichtext" content="1" /><style type="text/css">
+p, li { white-space: pre-wrap; }
+</style></head><body style=" font-family:'Droid Sans'; font-size:9pt; font-weight:400; font-style:normal;">
+<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></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><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+<html><head><meta name="qrichtext" content="1" /><style type="text/css">
+p, li { white-space: pre-wrap; }
+</style></head><body style=" font-family:'Droid Sans'; font-size:9pt; font-weight:400; font-style:normal;">
+<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></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><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+<html><head><meta name="qrichtext" content="1" /><style type="text/css">
+p, li { white-space: pre-wrap; }
+</style></head><body style=" font-family:'Droid Sans'; font-size:9pt; font-weight:400; font-style:normal;">
+<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></string>
+ </property>
+ </widget>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>