openlp-core team mailing list archive
-
openlp-core team
-
Mailing list archive
-
Message #09212
[Merge] lp:~raoul-snyman/openlp/bug-788132 into lp:openlp
Raoul Snyman has proposed merging lp:~raoul-snyman/openlp/bug-788132 into lp:openlp.
Requested reviews:
OpenLP Core (openlp-core)
Related bugs:
Bug #788132 in OpenLP: "Search edit has no focus when changing a media manager tab"
https://bugs.launchpad.net/openlp/+bug/788132
For more details, see:
https://code.launchpad.net/~raoul-snyman/openlp/bug-788132/+merge/62417
Give the media items the ability to do something when they are "focused".
Make the search edits on the Songs, Bibles and Custom media items focus when the item is selected.
--
https://code.launchpad.net/~raoul-snyman/openlp/bug-788132/+merge/62417
Your team OpenLP Core is requested to review the proposed merge of lp:~raoul-snyman/openlp/bug-788132 into lp:openlp.
=== modified file 'openlp/core/lib/mediamanageritem.py'
--- openlp/core/lib/mediamanageritem.py 2011-05-24 20:47:05 +0000
+++ openlp/core/lib/mediamanageritem.py 2011-05-26 06:29:24 +0000
@@ -431,6 +431,13 @@
raise NotImplementedError(u'MediaManagerItem.onDeleteClick needs to '
u'be defined by the plugin')
+ def onFocus(self):
+ """
+ Run when a tab in the media manager gains focus. This gives the media
+ item a chance to focus any elements it wants to.
+ """
+ pass
+
def generateSlideData(self, serviceItem, item=None, xmlVersion=False):
raise NotImplementedError(u'MediaManagerItem.generateSlideData needs '
u'to be defined by the plugin')
=== modified file 'openlp/core/ui/mainwindow.py'
--- openlp/core/ui/mainwindow.py 2011-05-25 08:32:37 +0000
+++ openlp/core/ui/mainwindow.py 2011-05-26 06:29:24 +0000
@@ -537,6 +537,9 @@
QtCore.SIGNAL(u'config_screen_changed'), self.screenChanged)
QtCore.QObject.connect(Receiver.get_receiver(),
QtCore.SIGNAL(u'maindisplay_status_text'), self.showStatusMessage)
+ # Media Manager
+ QtCore.QObject.connect(self.mediaToolBox,
+ QtCore.SIGNAL(u'currentChanged(int)'), self.onMediaToolBoxChanged)
Receiver.send_message(u'cursor_busy')
# Simple message boxes
QtCore.QObject.connect(Receiver.get_receiver(),
@@ -602,6 +605,11 @@
LanguageManager.auto_language = value
LanguageManager.set_language(self.languageGroup.checkedAction())
+ def onMediaToolBoxChanged(self, index):
+ widget = self.mediaToolBox.widget(index)
+ if widget:
+ widget.onFocus()
+
def versionNotice(self, version):
"""
Notifies the user that a newer version of OpenLP is available.
=== modified file 'openlp/plugins/bibles/lib/mediaitem.py'
--- openlp/plugins/bibles/lib/mediaitem.py 2011-05-25 18:42:03 +0000
+++ openlp/plugins/bibles/lib/mediaitem.py 2011-05-26 06:29:24 +0000
@@ -273,6 +273,12 @@
QtCore.SIGNAL(u'currentChanged(int)'),
self.onSearchTabBarCurrentChanged)
+ def onFocus(self):
+ if self.quickTab.isVisible():
+ self.quickSearchEdit.setFocus()
+ else:
+ self.advancedBookComboBox.setFocus()
+
def configUpdated(self):
log.debug(u'configUpdated')
if QtCore.QSettings().value(self.settingsSection + u'/second bibles',
@@ -463,6 +469,7 @@
else:
self.quickTab.setVisible(False)
self.advancedTab.setVisible(True)
+ self.advancedBookComboBox.setFocus()
def onLockButtonToggled(self, checked):
if checked:
=== modified file 'openlp/plugins/custom/lib/mediaitem.py'
--- openlp/plugins/custom/lib/mediaitem.py 2011-05-24 20:53:41 +0000
+++ openlp/plugins/custom/lib/mediaitem.py 2011-05-26 06:29:24 +0000
@@ -199,6 +199,9 @@
for row in row_list:
self.listView.takeItem(row)
+ def onFocus(self):
+ self.searchTextEdit.setFocus()
+
def generateSlideData(self, service_item, item=None, xmlVersion=False):
raw_slides = []
raw_footer = []
=== modified file 'openlp/plugins/songs/lib/mediaitem.py'
--- openlp/plugins/songs/lib/mediaitem.py 2011-05-25 18:42:03 +0000
+++ openlp/plugins/songs/lib/mediaitem.py 2011-05-26 06:29:24 +0000
@@ -125,6 +125,9 @@
QtCore.SIGNAL(u'searchTypeChanged(int)'),
self.onSearchTextButtonClick)
+ def onFocus(self):
+ self.searchTextEdit.setFocus()
+
def configUpdated(self):
self.searchAsYouType = QtCore.QSettings().value(
self.settingsSection + u'/search as type',
Follow ups