In this merge:

- Moved setting for controlling unblanking behaviour to General options tab.
- Removed it from  advanced tab
- Changed default setting to "no"
- Looped playback (once or to end) is now linked to this setting
- Unblanking slides on click -.- no longer unblanks display when sending new items live if
  "Unblank display when sending new item to live" is not enabled. -.-
- Doubleclicking preview -.- ^^
- Improved some comments

To do:
Test(s)?
This commit is contained in:
suutari-olli 2016-03-15 20:37:55 +02:00
parent ddae0b4247
commit 4a6b5b7cc4
4 changed files with 24 additions and 13 deletions

View File

@ -119,7 +119,6 @@ class Settings(QtCore.QSettings):
'advanced/default service name': UiStrings().DefaultServiceName,
'advanced/display size': 0,
'advanced/double click live': False,
'advanced/click live slide to unblank': True,
'advanced/enable exit confirmation': True,
'advanced/expand service item': False,
'advanced/hide mouse': True,
@ -141,6 +140,7 @@ class Settings(QtCore.QSettings):
'core/auto preview': False,
'core/audio start paused': True,
'core/auto unblank': False,
'core/click live slide to unblank': False,
'core/blank warning': False,
'core/ccli number': '',
'core/has run wizard': False,

View File

@ -73,10 +73,7 @@ class AdvancedTab(SettingsTab):
self.ui_layout.addRow(self.media_plugin_check_box)
self.double_click_live_check_box = QtWidgets.QCheckBox(self.ui_group_box)
self.double_click_live_check_box.setObjectName('double_click_live_check_box')
self.click_live_slide_to_unblank_check_box = QtWidgets.QCheckBox(self.ui_group_box)
self.click_live_slide_to_unblank_check_box.setObjectName('click_live_slide_to_unblank_')
self.ui_layout.addRow(self.double_click_live_check_box)
self.ui_layout.addRow(self.click_live_slide_to_unblank_check_box)
self.single_click_preview_check_box = QtWidgets.QCheckBox(self.ui_group_box)
self.single_click_preview_check_box.setObjectName('single_click_preview_check_box')
self.ui_layout.addRow(self.single_click_preview_check_box)
@ -271,8 +268,6 @@ class AdvancedTab(SettingsTab):
'Remember active media manager tab on startup'))
self.double_click_live_check_box.setText(translate('OpenLP.AdvancedTab',
'Double-click to send items straight to live'))
self.click_live_slide_to_unblank_check_box.setText(translate('OpenLP.AdvancedTab',
'Unblank display when changing slide in Live'))
self.single_click_preview_check_box.setText(translate('OpenLP.AdvancedTab',
'Preview items when clicked in Media Manager'))
self.expand_service_item_check_box.setText(translate('OpenLP.AdvancedTab',
@ -343,7 +338,6 @@ class AdvancedTab(SettingsTab):
self.recent_spin_box.setValue(settings.value('recent file count'))
self.media_plugin_check_box.setChecked(settings.value('save current plugin'))
self.double_click_live_check_box.setChecked(settings.value('double click live'))
self.click_live_slide_to_unblank_check_box.setChecked(settings.value('click live slide to unblank'))
self.single_click_preview_check_box.setChecked(settings.value('single click preview'))
self.expand_service_item_check_box.setChecked(settings.value('expand service item'))
self.enable_auto_close_check_box.setChecked(settings.value('enable exit confirmation'))
@ -425,7 +419,6 @@ class AdvancedTab(SettingsTab):
settings.setValue('recent file count', self.recent_spin_box.value())
settings.setValue('save current plugin', self.media_plugin_check_box.isChecked())
settings.setValue('double click live', self.double_click_live_check_box.isChecked())
settings.setValue('click live slide to unblank', self.click_live_slide_to_unblank_check_box.isChecked())
settings.setValue('single click preview', self.single_click_preview_check_box.isChecked())
settings.setValue('expand service item', self.expand_service_item_check_box.isChecked())
settings.setValue('enable exit confirmation', self.enable_auto_close_check_box.isChecked())

View File

@ -173,6 +173,9 @@ class GeneralTab(SettingsTab):
self.auto_unblank_check_box = QtWidgets.QCheckBox(self.settings_group_box)
self.auto_unblank_check_box.setObjectName('auto_unblank_check_box')
self.settings_layout.addRow(self.auto_unblank_check_box)
self.click_live_slide_to_unblank_check_box = QtWidgets.QCheckBox(self.settings_group_box)
self.click_live_slide_to_unblank_check_box.setObjectName('click_live_slide_to_unblank_')
self.settings_layout.addRow(self.click_live_slide_to_unblank_check_box)
self.auto_preview_check_box = QtWidgets.QCheckBox(self.settings_group_box)
self.auto_preview_check_box.setObjectName('auto_preview_check_box')
self.settings_layout.addRow(self.auto_preview_check_box)
@ -217,6 +220,8 @@ class GeneralTab(SettingsTab):
self.save_check_service_check_box.setText(translate('OpenLP.GeneralTab',
'Prompt to save before starting a new service'))
self.auto_unblank_check_box.setText(translate('OpenLP.GeneralTab', 'Unblank display when adding new live item'))
self.click_live_slide_to_unblank_check_box.setText(translate('OpenLP.GeneralTab',
'Unblank display when changing slide in Live'))
self.auto_preview_check_box.setText(translate('OpenLP.GeneralTab',
'Automatically preview next item in service'))
self.timeout_label.setText(translate('OpenLP.GeneralTab', 'Timed slide interval:'))
@ -250,6 +255,7 @@ class GeneralTab(SettingsTab):
self.password_edit.setText(settings.value('songselect password'))
self.save_check_service_check_box.setChecked(settings.value('save prompt'))
self.auto_unblank_check_box.setChecked(settings.value('auto unblank'))
self.click_live_slide_to_unblank_check_box.setChecked(settings.value('click live slide to unblank'))
self.display_on_monitor_check.setChecked(self.screens.display)
self.warning_check_box.setChecked(settings.value('blank warning'))
self.auto_open_check_box.setChecked(settings.value('auto open'))
@ -287,6 +293,7 @@ class GeneralTab(SettingsTab):
settings.setValue('update check', self.check_for_updates_check_box.isChecked())
settings.setValue('save prompt', self.save_check_service_check_box.isChecked())
settings.setValue('auto unblank', self.auto_unblank_check_box.isChecked())
settings.setValue('click live slide to unblank', self.click_live_slide_to_unblank_check_box.isChecked())
settings.setValue('auto preview', self.auto_preview_check_box.isChecked())
settings.setValue('loop delay', self.timeout_spin_box.value())
settings.setValue('ccli number', self.number_edit.displayText())

View File

@ -792,6 +792,8 @@ class SlideController(DisplayController, RegistryProperties):
This action also takes place when a song that is sent to live from Service Manager is edited.
If display is blanked, this will update the song and then re-blank the display.
As result, lyrics are flashed on screen for a very short time before re-blanking happens. (Bug)
This happens only when Automatic unblanking is enabled when new item is sen to Live,
if it's not enabled they won't flash.
:param item: The current service item
"""
@ -1105,8 +1107,14 @@ class SlideController(DisplayController, RegistryProperties):
self.log_debug('Could not get lock in slide_selected after waiting %f, skip to avoid deadlock.'
% timeout)
return
if self.is_live and Settings().value('advanced/click live slide to unblank'):
Registry().execute('slidecontroller_live_unblank')
# If "click live slide to unblank" is enabled, unblank the display.
# Note: If this if statement is placed at the bottom of this function instead of top slide transitions are lost.
if self.is_live and Settings().value('core/click live slide to unblank'):
# With this display stays blanked when "auto unblank" setting is not enabled and new item is sent to Live.
if not Settings().value('core/auto unblank') and start:
()
else:
Registry().execute('slidecontroller_live_unblank')
row = self.preview_widget.current_slide_number()
old_selected_row = self.selected_row
self.selected_row = 0
@ -1275,7 +1283,8 @@ class SlideController(DisplayController, RegistryProperties):
self.play_slides_once.setText(UiStrings().PlaySlidesToEnd)
self.play_slides_menu.setDefaultAction(self.play_slides_loop)
self.play_slides_once.setChecked(False)
Registry().execute('slidecontroller_live_unblank')
if Settings().value('core/click live slide to unblank'):
Registry().execute('slidecontroller_live_unblank')
else:
self.play_slides_loop.setIcon(build_icon(':/media/media_time.png'))
self.play_slides_loop.setText(UiStrings().PlaySlidesInLoop)
@ -1299,7 +1308,8 @@ class SlideController(DisplayController, RegistryProperties):
self.play_slides_loop.setText(UiStrings().PlaySlidesInLoop)
self.play_slides_menu.setDefaultAction(self.play_slides_once)
self.play_slides_loop.setChecked(False)
Registry().execute('slidecontroller_live_unblank')
if Settings().value('core/click live slide to unblank'):
Registry().execute('slidecontroller_live_unblank')
else:
self.play_slides_once.setIcon(build_icon(':/media/media_time'))
self.play_slides_once.setText(UiStrings().PlaySlidesToEnd)
@ -1361,7 +1371,8 @@ class SlideController(DisplayController, RegistryProperties):
Registry().execute('%s_stop' % self.service_item.name.lower(), [self.service_item, self.is_live])
if self.service_item.is_media():
self.on_media_close()
self.on_go_live()
if Settings().value('core/auto unblank'):
self.on_go_live()
else:
self.on_preview_add_to_service()