From 4414d7e4211ce1f4b653650dc77061dd92cc0c3b Mon Sep 17 00:00:00 2001 From: Garrett Date: Sun, 16 Jan 2011 14:32:39 -0800 Subject: [PATCH 1/7] Add a setting to hide the mouse cursor on the display. --- openlp/core/ui/generaltab.py | 16 ++++++++++++++++ openlp/core/ui/maindisplay.py | 20 ++++++++++++++++++++ 2 files changed, 36 insertions(+) diff --git a/openlp/core/ui/generaltab.py b/openlp/core/ui/generaltab.py index 773637481..b829a67d2 100644 --- a/openlp/core/ui/generaltab.py +++ b/openlp/core/ui/generaltab.py @@ -213,6 +213,14 @@ class GeneralTab(SettingsTab): self.customHeightValueEdit.setObjectName(u'customHeightValueEdit') self.displayLayout.addWidget(self.customHeightValueEdit, 4, 3) self.rightLayout.addWidget(self.displayGroupBox) + self.hideMouseGroupBox = QtGui.QGroupBox(self.rightColumn) + self.hideMouseGroupBox.setObjectName(u'hideMouseGroupBox') + self.hideMouseLayout = QtGui.QVBoxLayout(self.hideMouseGroupBox) + self.hideMouseLayout.setObjectName(u'hideMouseLayout') + self.hideMouseCheckBox = QtGui.QCheckBox(self.hideMouseGroupBox) + self.hideMouseCheckBox.setObjectName(u'hideMouseCheckBox') + self.hideMouseLayout.addWidget(self.hideMouseCheckBox) + self.rightLayout.addWidget(self.hideMouseGroupBox) self.rightLayout.addStretch() # Signals and slots QtCore.QObject.connect(self.overrideCheckBox, @@ -287,6 +295,10 @@ class GeneralTab(SettingsTab): self.customHeightLabel.setText( translate('OpenLP.GeneralTab', 'Height')) self.customWidthLabel.setText(translate('OpenLP.GeneralTab', 'Width')) + self.hideMouseGroupBox.setTitle(translate('OpenLP.GeneralTab', + 'Mouse Cursor')) + self.hideMouseCheckBox.setText(translate('OpenLP.GeneralTab', + 'Hide the Mouse Cursor')) def load(self): """ @@ -341,6 +353,8 @@ class GeneralTab(SettingsTab): self.customWidthValueEdit.setText( settings.value(u'width', QtCore.QVariant( self.screens.current[u'size'].width())).toString()) + self.hideMouseCheckBox.setChecked(settings.value(u'hide mouse', + QtCore.QVariant(False)).toBool()) settings.endGroup() self.customXValueEdit.setEnabled(self.overrideCheckBox.isChecked()) self.customYValueEdit.setEnabled(self.overrideCheckBox.isChecked()) @@ -385,6 +399,8 @@ class GeneralTab(SettingsTab): QtCore.QVariant(self.customWidthValueEdit.text())) settings.setValue(u'override position', QtCore.QVariant(self.overrideCheckBox.isChecked())) + settings.setValue(u'hide mouse', + QtCore.QVariant(self.hideMouseCheckBox.isChecked())) settings.endGroup() self.screens.display = self.displayOnMonitorCheck.isChecked() # Monitor Number has changed. diff --git a/openlp/core/ui/maindisplay.py b/openlp/core/ui/maindisplay.py index 273a3c4f0..2638c99e8 100644 --- a/openlp/core/ui/maindisplay.py +++ b/openlp/core/ui/maindisplay.py @@ -117,6 +117,8 @@ class MainDisplay(DisplayWidget): QtCore.QObject.connect(Receiver.get_receiver(), QtCore.SIGNAL(u'maindisplay_show'), self.showDisplay) + self.generalSettingsSection = u'general' + def retranslateUi(self): """ Setup the interface translation strings. @@ -205,6 +207,8 @@ class MainDisplay(DisplayWidget): Receiver.send_message(u'openlp_process_events') self.frame.evaluateJavaScript(u'show_text("%s")' % \ slide.replace(u'\\', u'\\\\').replace(u'\"', u'\\\"')) + + self.hideMouseCursor() return self.preview() def alert(self, text): @@ -270,6 +274,7 @@ class MainDisplay(DisplayWidget): else: js = u'show_image("");' self.frame.evaluateJavaScript(js) + self.hideMouseCursor() def resetImage(self): """ @@ -359,6 +364,8 @@ class MainDisplay(DisplayWidget): self.webView.setVisible(False) self.videoWidget.setVisible(True) self.audio.setVolume(vol) + + self.hideMouseCursor() return self.preview() def isLoaded(self): @@ -474,6 +481,19 @@ class MainDisplay(DisplayWidget): self.hideMode = None # Trigger actions when display is active again Receiver.send_message(u'maindisplay_active') + + def hideMouseCursor(self): + """ + Hide the mouse cursor if enabled in settings + """ + settings = QtCore.QSettings() + if settings.value(u'%s/hide mouse' % self.generalSettingsSection, + QtCore.QVariant(False)).toBool(): + self.setCursor(QtCore.Qt.BlankCursor) + self.frame.evaluateJavaScript('document.body.style.cursor = "none"') + else: + self.setCursor(QtCore.Qt.ArrowCursor) + self.frame.evaluateJavaScript('document.body.style.cursor = "auto"') class AudioPlayer(QtCore.QObject): """ From e664205282327c8e1f09c8a1d3553a29ceb78331 Mon Sep 17 00:00:00 2001 From: Garrett Date: Sun, 16 Jan 2011 15:52:12 -0800 Subject: [PATCH 2/7] add a setting to the advanced tab to allow hiding the mouse cursor --- openlp/core/ui/advancedtab.py | 17 +++++++++++++++++ openlp/core/ui/maindisplay.py | 17 +++++++++++++++++ 2 files changed, 34 insertions(+) diff --git a/openlp/core/ui/advancedtab.py b/openlp/core/ui/advancedtab.py index 7cebe9930..d7b2a5555 100644 --- a/openlp/core/ui/advancedtab.py +++ b/openlp/core/ui/advancedtab.py @@ -72,6 +72,14 @@ class AdvancedTab(SettingsTab): u'enableAutoCloseCheckBox') self.uiLayout.addRow(self.enableAutoCloseCheckBox) self.leftLayout.addWidget(self.uiGroupBox) + self.hideMouseGroupBox = QtGui.QGroupBox(self.leftColumn) + self.hideMouseGroupBox.setObjectName(u'hideMouseGroupBox') + self.hideMouseLayout = QtGui.QVBoxLayout(self.hideMouseGroupBox) + self.hideMouseLayout.setObjectName(u'hideMouseLayout') + self.hideMouseCheckBox = QtGui.QCheckBox(self.hideMouseGroupBox) + self.hideMouseCheckBox.setObjectName(u'hideMouseCheckBox') + self.hideMouseLayout.addWidget(self.hideMouseCheckBox) + self.leftLayout.addWidget(self.hideMouseGroupBox) # self.sharedDirGroupBox = QtGui.QGroupBox(self.leftColumn) # self.sharedDirGroupBox.setObjectName(u'sharedDirGroupBox') # self.sharedDirLayout = QtGui.QFormLayout(self.sharedDirGroupBox) @@ -117,6 +125,10 @@ class AdvancedTab(SettingsTab): 'Expand new service items on creation')) self.enableAutoCloseCheckBox.setText(translate('OpenLP.AdvancedTab', 'Enable application exit confirmation')) + self.hideMouseGroupBox.setTitle(translate('OpenLP.GeneralTab', + 'Mouse Cursor')) + self.hideMouseCheckBox.setText(translate('OpenLP.GeneralTab', + 'Hide the Mouse Cursor')) # self.sharedDirGroupBox.setTitle( # translate('AdvancedTab', 'Central Data Store')) # self.sharedCheckBox.setText( @@ -150,6 +162,9 @@ class AdvancedTab(SettingsTab): self.enableAutoCloseCheckBox.setChecked( settings.value(u'enable exit confirmation', QtCore.QVariant(True)).toBool()) + self.hideMouseCheckBox.setChecked( + settings.value(u'hide mouse', + QtCore.QVariant(False)).toBool()) settings.endGroup() def save(self): @@ -168,6 +183,8 @@ class AdvancedTab(SettingsTab): QtCore.QVariant(self.expandServiceItemCheckBox.isChecked())) settings.setValue(u'enable exit confirmation', QtCore.QVariant(self.enableAutoCloseCheckBox.isChecked())) + settings.setValue(u'hide mouse', + QtCore.QVariant(self.hideMouseCheckBox.isChecked())) settings.endGroup() # def onSharedCheckBoxChanged(self, checked): diff --git a/openlp/core/ui/maindisplay.py b/openlp/core/ui/maindisplay.py index 273a3c4f0..a13608bb5 100644 --- a/openlp/core/ui/maindisplay.py +++ b/openlp/core/ui/maindisplay.py @@ -117,6 +117,7 @@ class MainDisplay(DisplayWidget): QtCore.QObject.connect(Receiver.get_receiver(), QtCore.SIGNAL(u'maindisplay_show'), self.showDisplay) + self.advancedSettingsSection = u'advanced' def retranslateUi(self): """ Setup the interface translation strings. @@ -205,6 +206,7 @@ class MainDisplay(DisplayWidget): Receiver.send_message(u'openlp_process_events') self.frame.evaluateJavaScript(u'show_text("%s")' % \ slide.replace(u'\\', u'\\\\').replace(u'\"', u'\\\"')) + self.hideMouseCursor() return self.preview() def alert(self, text): @@ -270,6 +272,7 @@ class MainDisplay(DisplayWidget): else: js = u'show_image("");' self.frame.evaluateJavaScript(js) + self.hideMouseCursor() def resetImage(self): """ @@ -359,6 +362,7 @@ class MainDisplay(DisplayWidget): self.webView.setVisible(False) self.videoWidget.setVisible(True) self.audio.setVolume(vol) + self.hideMouseCursor() return self.preview() def isLoaded(self): @@ -474,6 +478,19 @@ class MainDisplay(DisplayWidget): self.hideMode = None # Trigger actions when display is active again Receiver.send_message(u'maindisplay_active') + + def hideMouseCursor(self): + """ + Hide the mouse cursor if enabled in settings + """ + settings = QtCore.QSettings() + if settings.value(u'%s/hide mouse' % self.advancedSettingsSection, + QtCore.QVariant(False)).toBool(): + self.setCursor(QtCore.Qt.BlankCursor) + self.frame.evaluateJavaScript('document.body.style.cursor = "none"') + else: + self.setCursor(QtCore.Qt.ArrowCursor) + self.frame.evaluateJavaScript('document.body.style.cursor = "auto"') class AudioPlayer(QtCore.QObject): """ From 0cab45bcf825fd817e81e1f7b659cd192f0717bd Mon Sep 17 00:00:00 2001 From: Garrett Date: Mon, 17 Jan 2011 08:24:23 -0800 Subject: [PATCH 3/7] moved function code into buildHtml, made setting name more descriptive --- openlp/core/ui/advancedtab.py | 2 +- openlp/core/ui/maindisplay.py | 25 +++++++++---------------- 2 files changed, 10 insertions(+), 17 deletions(-) diff --git a/openlp/core/ui/advancedtab.py b/openlp/core/ui/advancedtab.py index d7b2a5555..2c016ae7b 100644 --- a/openlp/core/ui/advancedtab.py +++ b/openlp/core/ui/advancedtab.py @@ -128,7 +128,7 @@ class AdvancedTab(SettingsTab): self.hideMouseGroupBox.setTitle(translate('OpenLP.GeneralTab', 'Mouse Cursor')) self.hideMouseCheckBox.setText(translate('OpenLP.GeneralTab', - 'Hide the Mouse Cursor')) + 'Hide the ouse cursor when over the display window')) # self.sharedDirGroupBox.setTitle( # translate('AdvancedTab', 'Central Data Store')) # self.sharedCheckBox.setText( diff --git a/openlp/core/ui/maindisplay.py b/openlp/core/ui/maindisplay.py index a13608bb5..acbd1ce62 100644 --- a/openlp/core/ui/maindisplay.py +++ b/openlp/core/ui/maindisplay.py @@ -206,7 +206,6 @@ class MainDisplay(DisplayWidget): Receiver.send_message(u'openlp_process_events') self.frame.evaluateJavaScript(u'show_text("%s")' % \ slide.replace(u'\\', u'\\\\').replace(u'\"', u'\\\"')) - self.hideMouseCursor() return self.preview() def alert(self, text): @@ -272,7 +271,6 @@ class MainDisplay(DisplayWidget): else: js = u'show_image("");' self.frame.evaluateJavaScript(js) - self.hideMouseCursor() def resetImage(self): """ @@ -362,7 +360,6 @@ class MainDisplay(DisplayWidget): self.webView.setVisible(False) self.videoWidget.setVisible(True) self.audio.setVolume(vol) - self.hideMouseCursor() return self.preview() def isLoaded(self): @@ -430,6 +427,15 @@ class MainDisplay(DisplayWidget): # if was hidden keep it hidden if self.hideMode and self.isLive: self.hideDisplay(self.hideMode) + # Hide the mouse cursor over display if enabled in settings + settings = QtCore.QSettings() + if settings.value(u'%s/hide mouse' % self.advancedSettingsSection, + QtCore.QVariant(False)).toBool(): + self.setCursor(QtCore.Qt.BlankCursor) + self.frame.evaluateJavaScript('document.body.style.cursor = "none"') + else: + self.setCursor(QtCore.Qt.ArrowCursor) + self.frame.evaluateJavaScript('document.body.style.cursor = "auto"') def footer(self, text): """ @@ -478,19 +484,6 @@ class MainDisplay(DisplayWidget): self.hideMode = None # Trigger actions when display is active again Receiver.send_message(u'maindisplay_active') - - def hideMouseCursor(self): - """ - Hide the mouse cursor if enabled in settings - """ - settings = QtCore.QSettings() - if settings.value(u'%s/hide mouse' % self.advancedSettingsSection, - QtCore.QVariant(False)).toBool(): - self.setCursor(QtCore.Qt.BlankCursor) - self.frame.evaluateJavaScript('document.body.style.cursor = "none"') - else: - self.setCursor(QtCore.Qt.ArrowCursor) - self.frame.evaluateJavaScript('document.body.style.cursor = "auto"') class AudioPlayer(QtCore.QObject): """ From 6a7edfc7c0e0b09790c406d076b47733acea90d4 Mon Sep 17 00:00:00 2001 From: Garrett Date: Mon, 17 Jan 2011 08:32:58 -0800 Subject: [PATCH 4/7] changed GeneralTab to AdvancedTab when translating since I moved the code --- openlp/core/ui/advancedtab.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/openlp/core/ui/advancedtab.py b/openlp/core/ui/advancedtab.py index 2c016ae7b..22fbfb281 100644 --- a/openlp/core/ui/advancedtab.py +++ b/openlp/core/ui/advancedtab.py @@ -125,9 +125,9 @@ class AdvancedTab(SettingsTab): 'Expand new service items on creation')) self.enableAutoCloseCheckBox.setText(translate('OpenLP.AdvancedTab', 'Enable application exit confirmation')) - self.hideMouseGroupBox.setTitle(translate('OpenLP.GeneralTab', + self.hideMouseGroupBox.setTitle(translate('OpenLP.AdvancedTab', 'Mouse Cursor')) - self.hideMouseCheckBox.setText(translate('OpenLP.GeneralTab', + self.hideMouseCheckBox.setText(translate('OpenLP.AdvancedTab', 'Hide the ouse cursor when over the display window')) # self.sharedDirGroupBox.setTitle( # translate('AdvancedTab', 'Central Data Store')) From d3bc39a2620320a27245a23b91ccb97c3885c956 Mon Sep 17 00:00:00 2001 From: Garrett Date: Mon, 17 Jan 2011 08:36:48 -0800 Subject: [PATCH 5/7] fixed my sad spelling mistakes --- openlp/core/ui/advancedtab.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openlp/core/ui/advancedtab.py b/openlp/core/ui/advancedtab.py index 22fbfb281..b79f1f766 100644 --- a/openlp/core/ui/advancedtab.py +++ b/openlp/core/ui/advancedtab.py @@ -128,7 +128,7 @@ class AdvancedTab(SettingsTab): self.hideMouseGroupBox.setTitle(translate('OpenLP.AdvancedTab', 'Mouse Cursor')) self.hideMouseCheckBox.setText(translate('OpenLP.AdvancedTab', - 'Hide the ouse cursor when over the display window')) + 'Hide the mouse cursor when over the display window')) # self.sharedDirGroupBox.setTitle( # translate('AdvancedTab', 'Central Data Store')) # self.sharedCheckBox.setText( From 55e23bcfbca8038feb4a7b3916fcc3bdd8b57003 Mon Sep 17 00:00:00 2001 From: Garrett Date: Mon, 17 Jan 2011 08:38:39 -0800 Subject: [PATCH 6/7] fixed spelling mistakes --- openlp/core/ui/advancedtab.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openlp/core/ui/advancedtab.py b/openlp/core/ui/advancedtab.py index b79f1f766..52151e5b8 100644 --- a/openlp/core/ui/advancedtab.py +++ b/openlp/core/ui/advancedtab.py @@ -128,7 +128,7 @@ class AdvancedTab(SettingsTab): self.hideMouseGroupBox.setTitle(translate('OpenLP.AdvancedTab', 'Mouse Cursor')) self.hideMouseCheckBox.setText(translate('OpenLP.AdvancedTab', - 'Hide the mouse cursor when over the display window')) + 'Hide the mouse cursor when moved over the display window')) # self.sharedDirGroupBox.setTitle( # translate('AdvancedTab', 'Central Data Store')) # self.sharedCheckBox.setText( From 84882c4841592f6655115b9cb66c0c9d29acf129 Mon Sep 17 00:00:00 2001 From: Garrett Date: Mon, 17 Jan 2011 11:24:37 -0800 Subject: [PATCH 7/7] removed non-necessary variable --- openlp/core/ui/maindisplay.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/openlp/core/ui/maindisplay.py b/openlp/core/ui/maindisplay.py index acbd1ce62..93b4709f4 100644 --- a/openlp/core/ui/maindisplay.py +++ b/openlp/core/ui/maindisplay.py @@ -117,7 +117,6 @@ class MainDisplay(DisplayWidget): QtCore.QObject.connect(Receiver.get_receiver(), QtCore.SIGNAL(u'maindisplay_show'), self.showDisplay) - self.advancedSettingsSection = u'advanced' def retranslateUi(self): """ Setup the interface translation strings. @@ -427,10 +426,9 @@ class MainDisplay(DisplayWidget): # if was hidden keep it hidden if self.hideMode and self.isLive: self.hideDisplay(self.hideMode) - # Hide the mouse cursor over display if enabled in settings + # Hide mouse cursor when moved over display if enabled in settings settings = QtCore.QSettings() - if settings.value(u'%s/hide mouse' % self.advancedSettingsSection, - QtCore.QVariant(False)).toBool(): + if settings.value(u'advanced/hide mouse', QtCore.QVariant(False)).toBool(): self.setCursor(QtCore.Qt.BlankCursor) self.frame.evaluateJavaScript('document.body.style.cursor = "none"') else: