From f0379925bc3a00f5f6df0abb0391667bcbcec0eb Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Fri, 11 Mar 2011 16:38:22 +0100 Subject: [PATCH 1/5] fixed bug #719102 Fixes: https://launchpad.net/bugs/719102 --- openlp/plugins/songs/lib/mediaitem.py | 1 + 1 file changed, 1 insertion(+) diff --git a/openlp/plugins/songs/lib/mediaitem.py b/openlp/plugins/songs/lib/mediaitem.py index 46c027316..64802d05f 100644 --- a/openlp/plugins/songs/lib/mediaitem.py +++ b/openlp/plugins/songs/lib/mediaitem.py @@ -274,6 +274,7 @@ class SongMediaItem(MediaManagerItem): def onNewClick(self): log.debug(u'onNewClick') + self.editItem = None self.edit_song_form.newSong() self.edit_song_form.exec_() From 7c7410a218e928d32f376398acd98dd5ff5b6376 Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Fri, 11 Mar 2011 16:53:26 +0100 Subject: [PATCH 2/5] complete fixe --- openlp/plugins/songs/lib/mediaitem.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openlp/plugins/songs/lib/mediaitem.py b/openlp/plugins/songs/lib/mediaitem.py index 64802d05f..6efeee618 100644 --- a/openlp/plugins/songs/lib/mediaitem.py +++ b/openlp/plugins/songs/lib/mediaitem.py @@ -274,7 +274,6 @@ class SongMediaItem(MediaManagerItem): def onNewClick(self): log.debug(u'onNewClick') - self.editItem = None self.edit_song_form.newSong() self.edit_song_form.exec_() @@ -311,6 +310,7 @@ class SongMediaItem(MediaManagerItem): item_id = (self.editItem.data(QtCore.Qt.UserRole)).toInt()[0] self.edit_song_form.loadSong(item_id, False) self.edit_song_form.exec_() + self.editItem = None def onDeleteClick(self): """ From 94d7f4e9326bbddc054a90a1b502e1ddffd7b396 Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Fri, 11 Mar 2011 19:03:16 +0100 Subject: [PATCH 3/5] speed up application start/song search --- openlp/plugins/songs/lib/db.py | 2 +- openlp/plugins/songs/lib/mediaitem.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/openlp/plugins/songs/lib/db.py b/openlp/plugins/songs/lib/db.py index a6255476a..b72517f70 100644 --- a/openlp/plugins/songs/lib/db.py +++ b/openlp/plugins/songs/lib/db.py @@ -256,7 +256,7 @@ def init_schema(url): mapper(Song, songs_table, properties={ 'authors': relation(Author, backref='songs', - secondary=authors_songs_table), + secondary=authors_songs_table, lazy=False), 'book': relation(Book, backref='songs'), 'media_files': relation(MediaFile, backref='songs', secondary=media_files_songs_table), diff --git a/openlp/plugins/songs/lib/mediaitem.py b/openlp/plugins/songs/lib/mediaitem.py index 46c027316..05f8b29bc 100644 --- a/openlp/plugins/songs/lib/mediaitem.py +++ b/openlp/plugins/songs/lib/mediaitem.py @@ -253,9 +253,9 @@ class SongMediaItem(MediaManagerItem): if self.searchAsYouType: search_length = 1 if self.searchTextEdit.currentSearchType() == SongSearch.Entire: - search_length = 7 + search_length = 4 elif self.searchTextEdit.currentSearchType() == SongSearch.Lyrics: - search_length = 6 + search_length = 3 if len(text) > search_length: self.onSearchTextButtonClick() elif len(text) == 0: From 18004c396820b574421906045141004074075a93 Mon Sep 17 00:00:00 2001 From: Raoul Snyman Date: Fri, 11 Mar 2011 22:51:29 +0200 Subject: [PATCH 4/5] Fixed some of the last bugs in the first time wizard. --- openlp.pyw | 2 +- openlp/core/ui/firsttimeform.py | 14 ++++---------- 2 files changed, 5 insertions(+), 11 deletions(-) diff --git a/openlp.pyw b/openlp.pyw index 3dee7452b..0c7893071 100755 --- a/openlp.pyw +++ b/openlp.pyw @@ -186,7 +186,7 @@ class OpenLP(QtGui.QApplication): # start the main app window self.appClipboard = self.clipboard() self.mainWindow = MainWindow(screens, app_version, self.appClipboard, - has_run_wizard) + not has_run_wizard) self.mainWindow.show() if show_splash: # now kill the splashscreen diff --git a/openlp/core/ui/firsttimeform.py b/openlp/core/ui/firsttimeform.py index 9f211e49e..b049e2ea7 100644 --- a/openlp/core/ui/firsttimeform.py +++ b/openlp/core/ui/firsttimeform.py @@ -178,8 +178,8 @@ class FirstTimeForm(QtGui.QWizard, Ui_FirstTimeWizard): """ Prepare the UI for the process. """ - # We start on 9 for the 9 plugins - max_progress = 9 + # We start on 2 for plugins status setting plus a "finished" point. + max_progress = 2 # Loop through the songs list and increase for each selected item for i in xrange(self.songsListWidget.count()): if self.songsListWidget.item(i).checkState() == QtCore.Qt.Checked: @@ -209,6 +209,8 @@ class FirstTimeForm(QtGui.QWizard, Ui_FirstTimeWizard): self.finishButton.setEnabled(True) self.cancelButton.setVisible(False) self.nextButton.setVisible(False) + self.progressLabel.setText(translate('OpenLP.FirstTimeWizard', + 'Download complete. Click the finish button to start OpenLP.')) Receiver.send_message(u'openlp_process_events') def _performWizard(self): @@ -219,21 +221,13 @@ class FirstTimeForm(QtGui.QWizard, Ui_FirstTimeWizard): self._incrementProgressBar(translate('OpenLP.FirstTimeWizard', 'Enabling selected plugins...')) self._setPluginStatus(self.songsCheckBox, u'songs/status') - self._incrementProgressBar(None) self._setPluginStatus(self.bibleCheckBox, u'bibles/status') - self._incrementProgressBar(None) self._setPluginStatus(self.presentationCheckBox, u'presentations/status') - self._incrementProgressBar(None) self._setPluginStatus(self.imageCheckBox, u'images/status') - self._incrementProgressBar(None) self._setPluginStatus(self.mediaCheckBox, u'media/status') - self._incrementProgressBar(None) self._setPluginStatus(self.remoteCheckBox, u'remotes/status') - self._incrementProgressBar(None) self._setPluginStatus(self.customCheckBox, u'custom/status') - self._incrementProgressBar(None) self._setPluginStatus(self.songUsageCheckBox, u'songusage/status') - self._incrementProgressBar(None) self._setPluginStatus(self.alertCheckBox, u'alerts/status') # Build directories for downloads songs_destination = AppLocation.get_section_data_path(u'songs') From 0bf2962ff36863ff44851a015f8ea66133af5e49 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mattias=20P=C3=B5ldaru?= Date: Sat, 12 Mar 2011 00:04:26 +0200 Subject: [PATCH 5/5] Mediaplugin mimetypes extensions hacky fix. --- openlp/plugins/media/mediaplugin.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/openlp/plugins/media/mediaplugin.py b/openlp/plugins/media/mediaplugin.py index b1c1a2f3e..53fc8d2cc 100644 --- a/openlp/plugins/media/mediaplugin.py +++ b/openlp/plugins/media/mediaplugin.py @@ -45,6 +45,18 @@ class MediaPlugin(Plugin): self.icon = build_icon(self.icon_path) # passed with drag and drop messages self.dnd_id = u'Media' + self.additional_extensions = { + u'audio/ac3': [u'.ac3'], + u'audio/flac': [u'.flac'], + u'audio/x-m4a': [u'.m4a'], + u'audio/x-mp3': [u'.mp3'], + u'audio/mpeg': [u'.mp3', u'.mp2', u'.mpga', u'.mpega', u'.m4a'], + u'audio/qcelp': [u'.qcp'], + u'audio/x-wma': [u'.wma'], + u'audio/x-ms-wma': [u'.wma'], + u'video/x-matroska': [u'.mpv', u'.mkv'], + u'video/x-wmv': [u'.wmv'], + u'video/x-ms-wmv': [u'.wmv']} self.audio_extensions_list = [] self.video_extensions_list = [] mimetypes.init() @@ -65,6 +77,17 @@ class MediaPlugin(Plugin): self.serviceManager.supportedSuffixes(extension[1:]) log.info(u'MediaPlugin: %s extensions: %s' % (mimetype, u' '.join(extensions))) + # Add extensions for this mimetype from self.additional_extensions. + # This hack clears mimetypes' and operating system's shortcomings + # by providing possibly missing extensions. + if mimetype in self.additional_extensions.keys(): + for extension in self.additional_extensions[mimetype]: + ext = u'*%s' % extensions + if ext not in list: + list.append(ext) + self.serviceManager.supportedSuffixes(extension[1:]) + log.info(u'MediaPlugin: %s additional extensions: %s' % (mimetype, + u' '.join(self.additional_extensions[mimetype]))) def about(self): about_text = translate('MediaPlugin', 'Media Plugin'