Merge lp:~meths/openlp/trivialfixes into lp:openlp

Proposed by Jon Tibble
Status: Merged
Merged at revision: not available
Proposed branch: lp:~meths/openlp/trivialfixes
Merge into: lp:openlp
Diff against target: None lines
To merge this branch: bzr merge lp:~meths/openlp/trivialfixes
Reviewer Review Type Date Requested Status
Raoul Snyman Approve
Review via email: mp+12146@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Jon Tibble (meths) wrote :

Fix issues with song editor

Revision history for this message
Raoul Snyman (raoul-snyman) :
review: Approve
lp:~meths/openlp/trivialfixes updated
562. By Jon Tibble

Song editor fixes

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'openlp/plugins/songs/forms/editsongform.py'
--- openlp/plugins/songs/forms/editsongform.py 2009-09-12 17:31:03 +0000
+++ openlp/plugins/songs/forms/editsongform.py 2009-09-21 02:42:59 +0000
@@ -45,6 +45,7 @@
45 Constructor45 Constructor
46 """46 """
47 QtGui.QDialog.__init__(self, parent)47 QtGui.QDialog.__init__(self, parent)
48 self.parent = parent
48 self.setupUi(self)49 self.setupUi(self)
49 # Connecting signals and slots50 # Connecting signals and slots
50 QtCore.QObject.connect(self.AuthorAddButton,51 QtCore.QObject.connect(self.AuthorAddButton,
@@ -52,13 +53,15 @@
52 QtCore.QObject.connect(self.AuthorRemoveButton,53 QtCore.QObject.connect(self.AuthorRemoveButton,
53 QtCore.SIGNAL(u'clicked()'), self.onAuthorRemoveButtonClicked)54 QtCore.SIGNAL(u'clicked()'), self.onAuthorRemoveButtonClicked)
54 QtCore.QObject.connect(self.AuthorsListView,55 QtCore.QObject.connect(self.AuthorsListView,
55 QtCore.SIGNAL(u'itemClicked(QListWidgetItem*)'), self.onAuthorsListViewPressed)56 QtCore.SIGNAL(u'itemClicked(QListWidgetItem*)'),
57 self.onAuthorsListViewPressed)
56 QtCore.QObject.connect(self.TopicAddButton,58 QtCore.QObject.connect(self.TopicAddButton,
57 QtCore.SIGNAL(u'clicked()'), self.onTopicAddButtonClicked)59 QtCore.SIGNAL(u'clicked()'), self.onTopicAddButtonClicked)
58 QtCore.QObject.connect(self.TopicRemoveButton,60 QtCore.QObject.connect(self.TopicRemoveButton,
59 QtCore.SIGNAL(u'clicked()'), self.onTopicRemoveButtonClicked)61 QtCore.SIGNAL(u'clicked()'), self.onTopicRemoveButtonClicked)
60 QtCore.QObject.connect(self.TopicsListView,62 QtCore.QObject.connect(self.TopicsListView,
61 QtCore.SIGNAL(u'itemClicked(QListWidgetItem*)'), self.onTopicListViewPressed)63 QtCore.SIGNAL(u'itemClicked(QListWidgetItem*)'),
64 self.onTopicListViewPressed)
62 QtCore.QObject.connect(self.CopyrightInsertButton,65 QtCore.QObject.connect(self.CopyrightInsertButton,
63 QtCore.SIGNAL(u'clicked()'), self.onCopyrightInsertButtonTriggered)66 QtCore.SIGNAL(u'clicked()'), self.onCopyrightInsertButtonTriggered)
64 QtCore.QObject.connect(self.VerseAddButton,67 QtCore.QObject.connect(self.VerseAddButton,
@@ -70,11 +73,15 @@
70 QtCore.QObject.connect(self.VerseDeleteButton,73 QtCore.QObject.connect(self.VerseDeleteButton,
71 QtCore.SIGNAL(u'clicked()'), self.onVerseDeleteButtonClicked)74 QtCore.SIGNAL(u'clicked()'), self.onVerseDeleteButtonClicked)
72 QtCore.QObject.connect(self.VerseListWidget,75 QtCore.QObject.connect(self.VerseListWidget,
73 QtCore.SIGNAL(u'itemClicked(QListWidgetItem*)'), self.onVerseListViewPressed)76 QtCore.SIGNAL(u'itemClicked(QListWidgetItem*)'),
77 self.onVerseListViewPressed)
74 QtCore.QObject.connect(self.SongbookCombo,78 QtCore.QObject.connect(self.SongbookCombo,
75 QtCore.SIGNAL(u'activated(int)'), self.onSongBookComboChanged)79 QtCore.SIGNAL(u'activated(int)'), self.onSongBookComboChanged)
76 QtCore.QObject.connect(self.ThemeSelectionComboItem,80 QtCore.QObject.connect(self.ThemeSelectionComboItem,
77 QtCore.SIGNAL(u'activated(int)'), self.onThemeComboChanged)81 QtCore.SIGNAL(u'activated(int)'), self.onThemeComboChanged)
82 QtCore.QObject.connect(self.ThemeAddButton,
83 QtCore.SIGNAL(u'clicked()'),
84 self.parent.parent.render_manager.theme_manager.onAddTheme)
78 QtCore.QObject.connect(self.MaintenanceButton,85 QtCore.QObject.connect(self.MaintenanceButton,
79 QtCore.SIGNAL(u'clicked()'), self.onMaintenanceButtonClicked)86 QtCore.SIGNAL(u'clicked()'), self.onMaintenanceButtonClicked)
80 QtCore.QObject.connect(self.TitleEditItem,87 QtCore.QObject.connect(self.TitleEditItem,
@@ -89,7 +96,6 @@
89 QtCore.SIGNAL(u'lostFocus()'), self.onVerseOrderEditLostFocus)96 QtCore.SIGNAL(u'lostFocus()'), self.onVerseOrderEditLostFocus)
90 # Create other objects and forms97 # Create other objects and forms
91 self.songmanager = songmanager98 self.songmanager = songmanager
92 self.parent = parent
93 self.verse_form = EditVerseForm()99 self.verse_form = EditVerseForm()
94 self.initialise()100 self.initialise()
95 self.AuthorsListView.setSortingEnabled(False)101 self.AuthorsListView.setSortingEnabled(False)
@@ -110,7 +116,8 @@
110 for author in authors:116 for author in authors:
111 row = self.AuthorsSelectionComboItem.count()117 row = self.AuthorsSelectionComboItem.count()
112 self.AuthorsSelectionComboItem.addItem(author.display_name)118 self.AuthorsSelectionComboItem.addItem(author.display_name)
113 self.AuthorsSelectionComboItem.setItemData(row, QtCore.QVariant(author.id))119 self.AuthorsSelectionComboItem.setItemData(
120 row, QtCore.QVariant(author.id))
114121
115 def loadTopics(self):122 def loadTopics(self):
116 topics = self.songmanager.get_topics()123 topics = self.songmanager.get_topics()
@@ -165,13 +172,15 @@
165 title = self.song.search_title.split(u'@')172 title = self.song.search_title.split(u'@')
166 if self.song.song_book_id != 0:173 if self.song.song_book_id != 0:
167 book_name = self.songmanager.get_book(self.song.song_book_id)174 book_name = self.songmanager.get_book(self.song.song_book_id)
168 id = self.SongbookCombo.findText(unicode(book_name.name), QtCore.Qt.MatchExactly)175 id = self.SongbookCombo.findText(
176 unicode(book_name.name), QtCore.Qt.MatchExactly)
169 if id == -1:177 if id == -1:
170 # Not Found178 # Not Found
171 id = 0179 id = 0
172 self.SongbookCombo.setCurrentIndex(id)180 self.SongbookCombo.setCurrentIndex(id)
173 if self.song.theme_name is not None and len(self.song.theme_name) > 0:181 if self.song.theme_name is not None and len(self.song.theme_name) > 0:
174 id = self.ThemeSelectionComboItem.findText(unicode(self.song.theme_name), QtCore.Qt.MatchExactly)182 id = self.ThemeSelectionComboItem.findText(
183 unicode(self.song.theme_name), QtCore.Qt.MatchExactly)
175 if id == -1:184 if id == -1:
176 # Not Found185 # Not Found
177 id = 0186 id = 0
@@ -272,7 +281,8 @@
272 self.song.song_book_id = 0281 self.song.song_book_id = 0
273 else:282 else:
274 item = int(self.SongbookCombo.currentIndex())283 item = int(self.SongbookCombo.currentIndex())
275 self.song.song_book_id = (self.SongbookCombo.itemData(item)).toInt()[0]284 self.song.song_book_id = \
285 (self.SongbookCombo.itemData(item)).toInt()[0]
276286
277 def onThemeComboChanged(self, item):287 def onThemeComboChanged(self, item):
278 if item == 0:288 if item == 0:
@@ -337,7 +347,8 @@
337347
338 def _validate_song(self):348 def _validate_song(self):
339 """349 """
340 Check the validity of the form. Only display the 'save' if the data can be saved.350 Check the validity of the form. Only display the 'save' if the data
351 can be saved.
341 """352 """
342 log.debug(u'Validate Song')353 log.debug(u'Validate Song')
343 # Lets be nice and assume the data is correct.354 # Lets be nice and assume the data is correct.
@@ -345,26 +356,32 @@
345 message = u''356 message = u''
346 if len(self.TitleEditItem.displayText()) == 0:357 if len(self.TitleEditItem.displayText()) == 0:
347 valid = False358 valid = False
348 ##self.TitleEditItem.setStyleSheet(u'background-color: red; color: white')359 #self.TitleEditItem.setStyleSheet(
360 # u'background-color: red; color: white')
349 self.SongTabWidget.setCurrentIndex(0)361 self.SongTabWidget.setCurrentIndex(0)
350 self.TitleEditItem.setFocus()362 self.TitleEditItem.setFocus()
351 return False, translate(u'SongFormDialog', u'You need to enter a song title.')363 return False, translate(
364 u'SongFormDialog', u'You need to enter a song title.')
352 #else:365 #else:
353 #self.TitleEditItem.setStyleSheet(u'')366 #self.TitleEditItem.setStyleSheet(u'')
354 if self.VerseListWidget.count() == 0:367 if self.VerseListWidget.count() == 0:
355 valid = False368 valid = False
356 #self.VerseListWidget.setStyleSheet(u'background-color: red; color: white')369 #self.VerseListWidget.setStyleSheet(
370 # u'background-color: red; color: white')
357 self.SongTabWidget.setCurrentIndex(0)371 self.SongTabWidget.setCurrentIndex(0)
358 self.VerseListWidget.setFocus()372 self.VerseListWidget.setFocus()
359 return False, translate(u'SongFormDialog', u'You need to enter some verses.')373 return False, translate(
374 u'SongFormDialog', u'You need to enter some verses.')
360 #else:375 #else:
361 #self.VerseListWidget.setStyleSheet(u'')376 #self.VerseListWidget.setStyleSheet(u'')
362 if self.AuthorsListView.count() == 0:377 if self.AuthorsListView.count() == 0:
363 valid = False378 valid = False
364 #self.AuthorsListView.setStyleSheet(u'background-color: red; color: white')379 #self.AuthorsListView.setStyleSheet(
380 # u'background-color: red; color: white')
365 self.SongTabWidget.setCurrentIndex(2)381 self.SongTabWidget.setCurrentIndex(2)
366 self.AuthorsListView.setFocus()382 self.AuthorsListView.setFocus()
367 return False, translate(u'SongFormDialog', u'You need to provide at least one author.')383 return False, translate(
384 u'SongFormDialog', u'You need to provide at least one author.')
368 #else:385 #else:
369 #self.AuthorsListView.setStyleSheet(u'')386 #self.AuthorsListView.setStyleSheet(u'')
370 return valid, message387 return valid, message
@@ -406,7 +423,8 @@
406 return423 return
407 self.song.title = unicode(self.TitleEditItem.displayText())424 self.song.title = unicode(self.TitleEditItem.displayText())
408 self.song.copyright = unicode(self.CopyrightEditItem.displayText())425 self.song.copyright = unicode(self.CopyrightEditItem.displayText())
409 self.song.search_title = unicode(self.TitleEditItem.displayText()) + u'@'+ unicode(self.AlternativeEdit.displayText())426 self.song.search_title = unicode(self.TitleEditItem.displayText()) + \
427 u'@'+ unicode(self.AlternativeEdit.displayText())
410 self.song.comments = unicode(self.CommentsEdit.toPlainText())428 self.song.comments = unicode(self.CommentsEdit.toPlainText())
411 self.song.ccli_number = unicode(self.CCLNumberEdit.displayText())429 self.song.ccli_number = unicode(self.CCLNumberEdit.displayText())
412 self.processLyrics()430 self.processLyrics()
413431
=== modified file 'openlp/plugins/songs/lib/models.py'
--- openlp/plugins/songs/lib/models.py 2009-09-08 19:58:05 +0000
+++ openlp/plugins/songs/lib/models.py 2009-09-21 00:47:10 +0000
@@ -32,7 +32,7 @@
32def init_models(url):32def init_models(url):
33 engine = create_engine(url)33 engine = create_engine(url)
34 metadata.bind = engine34 metadata.bind = engine
35 session = scoped_session(sessionmaker(autoflush=True,35 session = scoped_session(sessionmaker(autoflush=False,
36 autocommit=False, bind=engine))36 autocommit=False, bind=engine))
37 mapper(Author, authors_table)37 mapper(Author, authors_table)
38 mapper(Book, song_books_table)38 mapper(Book, song_books_table)