From 55738636d9d1c91aff1621a665184bf61560c2d2 Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Mon, 16 May 2011 13:41:43 +0200 Subject: [PATCH 01/26] render the themes when the screen size changed --- openlp/core/ui/mainwindow.py | 1 + openlp/core/ui/thememanager.py | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/openlp/core/ui/mainwindow.py b/openlp/core/ui/mainwindow.py index 11727f4ae..2d56a2e0c 100644 --- a/openlp/core/ui/mainwindow.py +++ b/openlp/core/ui/mainwindow.py @@ -783,6 +783,7 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow): self.renderer.update_display() self.liveController.screenSizeChanged() self.previewController.screenSizeChanged() + self.themeManagerContents.updatePreviewImages() self.setFocus() self.activateWindow() diff --git a/openlp/core/ui/thememanager.py b/openlp/core/ui/thememanager.py index e30c9dea3..1a9c71cab 100644 --- a/openlp/core/ui/thememanager.py +++ b/openlp/core/ui/thememanager.py @@ -660,6 +660,15 @@ class ThemeManager(QtGui.QWidget): pixmap.save(thumb, u'png') log.debug(u'Theme image written to %s', samplepathname) + def updatePreviewImages(self): + """ + Called to update the themes' preview images. + """ + for theme in self.themelist: + self.generateAndSaveImage( + self.path, theme, self.getThemeData(theme)) + self.loadThemes() + def generateImage(self, themeData, forcePage=False): """ Call the renderer to build a Sample Image From 7829de85978a177fa10237469c90aafec00727ba Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Mon, 16 May 2011 14:22:08 +0200 Subject: [PATCH 02/26] set cursor busy, update the preview images before the displays --- openlp/core/ui/mainwindow.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/openlp/core/ui/mainwindow.py b/openlp/core/ui/mainwindow.py index 593a3de05..1bb7f7bcf 100644 --- a/openlp/core/ui/mainwindow.py +++ b/openlp/core/ui/mainwindow.py @@ -778,17 +778,19 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow): def screenChanged(self): """ - The screen has changed to so tell the displays to update_display - their locations + The screen has changed so we have to update components such as the + renderer. """ log.debug(u'screenChanged') + Receiver.send_message(u'cursor_busy') self.image_manager.update_display() self.renderer.update_display() - self.liveController.screenSizeChanged() - self.previewController.screenSizeChanged() self.themeManagerContents.updatePreviewImages() + self.previewController.screenSizeChanged() + self.liveController.screenSizeChanged() self.setFocus() self.activateWindow() + Receiver.send_message(u'cursor_normal') def closeEvent(self, event): """ From 875202decaf458b0fd45c3130c2ba9473c43901a Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Thu, 19 May 2011 08:01:28 +0200 Subject: [PATCH 03/26] reverted changes --- openlp/core/ui/mainwindow.py | 1 - openlp/core/ui/thememanager.py | 9 --------- 2 files changed, 10 deletions(-) diff --git a/openlp/core/ui/mainwindow.py b/openlp/core/ui/mainwindow.py index 1bb7f7bcf..695fc1c54 100644 --- a/openlp/core/ui/mainwindow.py +++ b/openlp/core/ui/mainwindow.py @@ -785,7 +785,6 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow): Receiver.send_message(u'cursor_busy') self.image_manager.update_display() self.renderer.update_display() - self.themeManagerContents.updatePreviewImages() self.previewController.screenSizeChanged() self.liveController.screenSizeChanged() self.setFocus() diff --git a/openlp/core/ui/thememanager.py b/openlp/core/ui/thememanager.py index 1a9c71cab..e30c9dea3 100644 --- a/openlp/core/ui/thememanager.py +++ b/openlp/core/ui/thememanager.py @@ -660,15 +660,6 @@ class ThemeManager(QtGui.QWidget): pixmap.save(thumb, u'png') log.debug(u'Theme image written to %s', samplepathname) - def updatePreviewImages(self): - """ - Called to update the themes' preview images. - """ - for theme in self.themelist: - self.generateAndSaveImage( - self.path, theme, self.getThemeData(theme)) - self.loadThemes() - def generateImage(self, themeData, forcePage=False): """ Call the renderer to build a Sample Image From 206ee04db69f0cc7259713fa35c6fbfa964d5f32 Mon Sep 17 00:00:00 2001 From: Stevan Pettit Date: Thu, 19 May 2011 18:20:00 -0400 Subject: [PATCH 04/26] modified: openlp/plugins/custom/forms/editcustomform.py openlp/plugins/custom/lib/mediaitem.py openlp/plugins/songs/forms/editsongform.py openlp/plugins/songs/lib/mediaitem.py --- openlp/plugins/custom/forms/editcustomform.py | 2 ++ openlp/plugins/custom/lib/mediaitem.py | 12 +++++++++++- openlp/plugins/songs/forms/editsongform.py | 2 ++ openlp/plugins/songs/lib/mediaitem.py | 10 ++++++++++ 4 files changed, 25 insertions(+), 1 deletion(-) diff --git a/openlp/plugins/custom/forms/editcustomform.py b/openlp/plugins/custom/forms/editcustomform.py index 774789fa0..1d0e0427d 100644 --- a/openlp/plugins/custom/forms/editcustomform.py +++ b/openlp/plugins/custom/forms/editcustomform.py @@ -114,6 +114,8 @@ class EditCustomForm(QtGui.QDialog, Ui_CustomEditDialog): def accept(self): log.debug(u'accept') if self.saveCustom(): + Receiver.send_message(u'custom_set_autoselect_item', + self.customSlide.title) Receiver.send_message(u'custom_load_list') QtGui.QDialog.accept(self) diff --git a/openlp/plugins/custom/lib/mediaitem.py b/openlp/plugins/custom/lib/mediaitem.py index 66b1c3675..7e1298bd8 100644 --- a/openlp/plugins/custom/lib/mediaitem.py +++ b/openlp/plugins/custom/lib/mediaitem.py @@ -62,6 +62,7 @@ class CustomMediaItem(MediaManagerItem): # which Custom is required. self.remoteCustom = -1 self.manager = parent.manager + self.setAutoSelectItem() def addEndHeaderBar(self): self.addToolbarSeparator() @@ -105,6 +106,9 @@ class CustomMediaItem(MediaManagerItem): QtCore.SIGNAL(u'custom_edit_clear'), self.onRemoteEditClear) QtCore.QObject.connect(Receiver.get_receiver(), QtCore.SIGNAL(u'custom_load_list'), self.initialise) + QtCore.QObject.connect(Receiver.get_receiver(), + QtCore.SIGNAL(u'custom_set_autoselect_item'), + self.setAutoSelectItem) QtCore.QObject.connect(Receiver.get_receiver(), QtCore.SIGNAL(u'custom_preview'), self.onPreviewClick) @@ -140,10 +144,16 @@ class CustomMediaItem(MediaManagerItem): custom_name.setData( QtCore.Qt.UserRole, QtCore.QVariant(customSlide.id)) self.listView.addItem(custom_name) + # Auto-select the item if name has been set + if customSlide.title == self.autoSelectItem : + self.listView.setCurrentItem(custom_name) + + def setAutoSelectItem(self,itemToSelect="*"): + self.autoSelectItem = itemToSelect def onNewClick(self): self.parent.edit_custom_form.loadCustom(0) - self.parent.edit_custom_form.exec_() + self.parent.edit_custom_fom.exec_() self.initialise() def onRemoteEditClear(self): diff --git a/openlp/plugins/songs/forms/editsongform.py b/openlp/plugins/songs/forms/editsongform.py index 297318d53..6155145f8 100644 --- a/openlp/plugins/songs/forms/editsongform.py +++ b/openlp/plugins/songs/forms/editsongform.py @@ -695,6 +695,8 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog): self.clearCaches() if self._validate_song(): self.saveSong() + Receiver.send_message(u'songs_set_autoselect_item', + unicode(self.titleEdit.text())) Receiver.send_message(u'songs_load_list') QtGui.QDialog.accept(self) diff --git a/openlp/plugins/songs/lib/mediaitem.py b/openlp/plugins/songs/lib/mediaitem.py index 5f961b2f2..1f7987569 100644 --- a/openlp/plugins/songs/lib/mediaitem.py +++ b/openlp/plugins/songs/lib/mediaitem.py @@ -73,6 +73,7 @@ class SongMediaItem(MediaManagerItem): self.editItem = None self.quickPreviewAllowed = True self.hasSearch = True + self.setAutoSelectItem() def addEndHeaderBar(self): self.addToolbarSeparator() @@ -123,6 +124,9 @@ class SongMediaItem(MediaManagerItem): QtCore.QObject.connect(self.searchTextEdit, QtCore.SIGNAL(u'searchTypeChanged(int)'), self.onSearchTextButtonClick) + QtCore.QObject.connect(Receiver.get_receiver(), + QtCore.SIGNAL(u'songs_set_autoselect_item'), + self.setAutoSelectItem) def configUpdated(self): self.searchAsYouType = QtCore.QSettings().value( @@ -159,6 +163,9 @@ class SongMediaItem(MediaManagerItem): QtCore.QVariant(SongSearch.Entire)).toInt()[0]) self.configUpdated() + def setAutoSelectItem(self,itemToSelect="*"): + self.autoSelectItem = itemToSelect + def onSearchTextButtonClick(self): # Save the current search type to the configuration. QtCore.QSettings().setValue(u'%s/last search type' % @@ -237,6 +244,9 @@ class SongMediaItem(MediaManagerItem): song_name = QtGui.QListWidgetItem(song_detail) song_name.setData(QtCore.Qt.UserRole, QtCore.QVariant(song.id)) self.listView.addItem(song_name) + # Auto-select the item if name has been set + if song.title == self.autoSelectItem : + self.listView.setCurrentItem(song_name) def displayResultsAuthor(self, searchresults): log.debug(u'display results Author') From af5fdcf73d9fbad681ec98dd34bd8183cd331837 Mon Sep 17 00:00:00 2001 From: Stevan Pettit Date: Thu, 19 May 2011 18:34:46 -0400 Subject: [PATCH 05/26] modified: openlp/plugins/custom/lib/mediaitem.py --- openlp/plugins/custom/lib/mediaitem.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openlp/plugins/custom/lib/mediaitem.py b/openlp/plugins/custom/lib/mediaitem.py index 7e1298bd8..f81cc3a2c 100644 --- a/openlp/plugins/custom/lib/mediaitem.py +++ b/openlp/plugins/custom/lib/mediaitem.py @@ -153,7 +153,7 @@ class CustomMediaItem(MediaManagerItem): def onNewClick(self): self.parent.edit_custom_form.loadCustom(0) - self.parent.edit_custom_fom.exec_() + self.parent.edit_custom_form.exec_() self.initialise() def onRemoteEditClear(self): From d4e83ae45ac8eba973d78124a37e764e42619244 Mon Sep 17 00:00:00 2001 From: Jonathan Corwin Date: Fri, 20 May 2011 00:09:42 +0100 Subject: [PATCH 06/26] Remote web add to service --- openlp/core/lib/mediamanageritem.py | 20 ++++++++++---------- openlp/plugins/remotes/html/index.html | 2 +- openlp/plugins/remotes/html/openlp.js | 22 +++++++++++++++------- openlp/plugins/remotes/lib/httpserver.py | 13 ++++++++++++- 4 files changed, 38 insertions(+), 19 deletions(-) diff --git a/openlp/core/lib/mediamanageritem.py b/openlp/core/lib/mediamanageritem.py index 2e514935f..a16754452 100644 --- a/openlp/core/lib/mediamanageritem.py +++ b/openlp/core/lib/mediamanageritem.py @@ -506,18 +506,18 @@ class MediaManagerItem(QtGui.QWidget): # multiple service items? if self.singleServiceItem or self.remoteTriggered: log.debug(u'%s Add requested', self.plugin.name) - serviceItem = self.buildServiceItem(None, True) - if serviceItem: - serviceItem.from_plugin = False - self.parent.serviceManager.addServiceItem(serviceItem, - replace=self.remoteTriggered) + self.addToService([None], self.remoteTriggered) else: items = self.listView.selectedIndexes() - for item in items: - serviceItem = self.buildServiceItem(item, True) - if serviceItem: - serviceItem.from_plugin = False - self.parent.serviceManager.addServiceItem(serviceItem) + self.addToService(items) + + def addToService(self, items, replace=None): + for item in items: + serviceItem = self.buildServiceItem(item, True) + if serviceItem: + serviceItem.from_plugin = False + self.parent.serviceManager.addServiceItem(serviceItem, + replace=replace) def onAddEditClick(self): """ diff --git a/openlp/plugins/remotes/html/index.html b/openlp/plugins/remotes/html/index.html index fd7fb3715..bfb0d5ea4 100644 --- a/openlp/plugins/remotes/html/index.html +++ b/openlp/plugins/remotes/html/index.html @@ -109,7 +109,7 @@ Search -