Browse Source

Merge pull request #9170 from SomberNight/202408_android_qr_set_max_brightness

qml/android: set max screen brightness when displaying QR codes
master
ghost43 1 year ago committed by GitHub
parent
commit
fcb4d06421
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 11
      electrum/gui/qml/components/controls/QRImage.qml
  2. 24
      electrum/gui/qml/qeapp.py

11
electrum/gui/qml/components/controls/QRImage.qml

@ -24,7 +24,7 @@ Item {
source: qrdata && render ? 'image://qrgen/' + qrdata : ''
visible: !isTextState
Rectangle {
Rectangle { // container for logo inside qr code
visible: root.render && _qrprops.valid
color: 'white'
x: (parent.width - width) / 2
@ -75,4 +75,13 @@ Item {
}
}
onVisibleChanged: {
if (root.visible) {
// set max brightness to make qr code easier to scan
AppController.setMaxScreenBrightness()
} else {
AppController.resetScreenBrightness()
}
}
}

24
electrum/gui/qml/qeapp.py

@ -206,6 +206,30 @@ class QEAppController(BaseCrashReporter, QObject):
it = jIntent.createChooser(sendIntent, cast('java.lang.CharSequence', jString(title)))
jpythonActivity.startActivity(it)
@pyqtSlot()
def setMaxScreenBrightness(self):
self._set_screen_brightness(1.0)
@pyqtSlot()
def resetScreenBrightness(self):
self._set_screen_brightness(-1.0)
def _set_screen_brightness(self, br: float) -> None:
"""br is the desired screen brightness, a value in the [0, 1] interval.
A negative value, e.g. -1.0, means a "reset" back to the system preferred value.
"""
if not self.isAndroid():
return
from android.runnable import run_on_ui_thread
@run_on_ui_thread
def set_br():
window = jpythonActivity.getWindow()
attrs = window.getAttributes()
attrs.screenBrightness = br
window.setAttributes(attrs)
set_br()
@pyqtSlot('QString')
def textToClipboard(self, text):
QGuiApplication.clipboard().setText(text)

Loading…
Cancel
Save