diff --git a/interface.py b/interface.py index 1d249dc..15ddc98 100644 --- a/interface.py +++ b/interface.py @@ -2,7 +2,7 @@ # Form implementation generated from reading ui file 'interface.ui' # -# Created: Sun Apr 19 19:39:41 2009 +# Created: Sun Apr 26 18:50:24 2009 # by: PyQt4 UI code generator 4.4.4 # # WARNING! All changes made in this file will be lost! @@ -28,7 +28,7 @@ class Ui_MainWindow(object): sizePolicy.setHeightForWidth(self.list_songs.sizePolicy().hasHeightForWidth()) self.list_songs.setSizePolicy(sizePolicy) self.list_songs.setObjectName("list_songs") - self.gridLayout.addWidget(self.list_songs, 0, 0, 1, 1) + 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) @@ -37,7 +37,7 @@ class Ui_MainWindow(object): 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, 1, 0, 2, 1) + self.gridLayout.addLayout(self.horizontalLayout, 2, 0, 2, 1) self.verticalLayout = QtGui.QVBoxLayout() self.verticalLayout.setObjectName("verticalLayout") self.gridLayout_2 = QtGui.QGridLayout() @@ -77,7 +77,7 @@ class Ui_MainWindow(object): self.te_body.setAcceptRichText(False) self.te_body.setObjectName("te_body") self.verticalLayout.addWidget(self.te_body) - self.gridLayout.addLayout(self.verticalLayout, 0, 1, 1, 1) + 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) @@ -86,13 +86,25 @@ class Ui_MainWindow(object): 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, 1, 1, 2, 1) + 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") @@ -109,13 +121,18 @@ class Ui_MainWindow(object): 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.menuFile.addAction(self.actionApri) self.menuFile.addAction(self.actionSalva) - self.menuFile.addAction(self.actionSalva_canzone) - self.menuFile.addAction(self.actionImporta_canzone) self.menuFile.addSeparator() self.menuFile.addAction(self.actionEsci_2) + self.menuCanzoniere.addAction(self.actionEsporta_in_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) @@ -123,20 +140,33 @@ class Ui_MainWindow(object): def retranslateUi(self, MainWindow): MainWindow.setWindowTitle(QtGui.QApplication.translate("MainWindow", "SongBook Editor 0.1", None, QtGui.QApplication.UnicodeUTF8)) - self.btn_new_song.setText(QtGui.QApplication.translate("MainWindow", "New Song", None, QtGui.QApplication.UnicodeUTF8)) - self.btn_delete_song.setText(QtGui.QApplication.translate("MainWindow", "Delete Song", 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", "Salva", None, QtGui.QApplication.UnicodeUTF8)) - self.btn_create_latex_song.setText(QtGui.QApplication.translate("MainWindow", "Esporta in LaTeX", 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)) diff --git a/interface.pyc b/interface.pyc index 5aabd90..d72621b 100644 Binary files a/interface.pyc and b/interface.pyc differ diff --git a/interface.ui b/interface.ui index 3fa3da4..6448a54 100644 --- a/interface.ui +++ b/interface.ui @@ -27,7 +27,7 @@ <property name="sizeConstraint"> <enum>QLayout::SetMaximumSize</enum> </property> - <item row="0" column="0"> + <item row="1" column="0"> <widget class="QListWidget" name="list_songs"> <property name="sizePolicy"> <sizepolicy hsizetype="Fixed" vsizetype="Expanding"> @@ -37,25 +37,25 @@ </property> </widget> </item> - <item row="1" column="0" rowspan="2"> + <item row="2" column="0" rowspan="2"> <layout class="QHBoxLayout" name="horizontalLayout"> <item> <widget class="QPushButton" name="btn_new_song"> <property name="text"> - <string>New Song</string> + <string>Nuova Canzone</string> </property> </widget> </item> <item> <widget class="QPushButton" name="btn_delete_song"> <property name="text"> - <string>Delete Song</string> + <string>Elimina Canzone</string> </property> </widget> </item> </layout> </item> - <item row="0" column="1"> + <item row="1" column="1"> <layout class="QVBoxLayout" name="verticalLayout"> <item> <layout class="QGridLayout" name="gridLayout_2"> @@ -120,24 +120,52 @@ </item> </layout> </item> - <item row="1" column="1" rowspan="2"> + <item row="2" column="1" rowspan="2"> <layout class="QHBoxLayout" name="horizontalLayout_2"> <item> <widget class="QPushButton" name="btn_savesong"> <property name="text"> - <string>Salva</string> + <string>Aggiungi al canzoniere</string> </property> </widget> </item> <item> <widget class="QPushButton" name="btn_create_latex_song"> <property name="text"> - <string>Esporta in LaTeX</string> + <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> @@ -156,12 +184,25 @@ </property> <addaction name="actionApri"/> <addaction name="actionSalva"/> - <addaction name="actionSalva_canzone"/> - <addaction name="actionImporta_canzone"/> <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"/> + </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"> @@ -194,6 +235,11 @@ <string>Importa canzone</string> </property> </action> + <action name="actionEsporta_in_LaTeX"> + <property name="text"> + <string>Esporta in LaTeX</string> + </property> + </action> </widget> <resources/> <connections> diff --git a/songbook-editor.py b/songbook-editor.py index 9ab80e8..ffbc86e 100755 --- a/songbook-editor.py +++ b/songbook-editor.py @@ -31,10 +31,13 @@ class interface(QtGui.QMainWindow): self.connect(self.ui.btn_new_song, QtCore.SIGNAL("clicked()"), self.new_song) self.connect(self.ui.btn_delete_song, QtCore.SIGNAL("clicked()"), self.delete_item_from_list) - # File menu + # Menu Canzone self.connect(self.ui.actionSalva_canzone, QtCore.SIGNAL("activated()"), self.save_song_to_file) self.connect(self.ui.actionImporta_canzone, QtCore.SIGNAL("activated()"), self.import_song_from_file) self.connect(self.ui.actionSalva, QtCore.SIGNAL("activated()"), self.save_songs_to_file) + + # Menu Canzoniere + self.connect(self.ui.actionEsporta_in_LaTeX, QtCore.SIGNAL("activated()"), self.export_songbook) # Functions to manage events def new_song(self): @@ -168,11 +171,20 @@ class interface(QtGui.QMainWindow): song = self.get_active_song() filetowrite = lm.create_song(song) filename = QtGui.QFileDialog.getSaveFileName(self, "Salva file latex", "/home/leonardo", "LaTeX Source File (*.tex)") + if(filename == ''): + # We do not have to do nothing, the user clicked Cancel + return 0 handle = open(filename, 'w') # Just remember that filetowrite is an "unicode" object, treat it # as it just deserve handle.write(filetowrite.encode("utf-8")) handle.close() + + def export_songbook(self): + # Chiedo al latex manager di farlo.. :) + return 0 + +