diff options
author | Christian Gmeiner <christian.gmeiner@gmail.com> | 2010-04-16 21:05:57 +0200 |
---|---|---|
committer | Christian Gmeiner <christian.gmeiner@gmail.com> | 2010-04-16 21:05:57 +0200 |
commit | c182191b3d54dcb22abc5c8b08d9c63e7a57b585 (patch) | |
tree | 253bbf0d84a0e79f226fc84910ac971d58aed99b /dxr3.c | |
parent | c4bd8a38e6547b3ccd2eadd151053e0a5e7d7ac2 (diff) | |
download | vdr-plugin-dxr3-c182191b3d54dcb22abc5c8b08d9c63e7a57b585.tar.gz vdr-plugin-dxr3-c182191b3d54dcb22abc5c8b08d9c63e7a57b585.tar.bz2 |
add infrastructure to observe settings changes
Check it out by changing BSC vales in the settings osd.
Diffstat (limited to 'dxr3.c')
-rw-r--r-- | dxr3.c | 22 |
1 files changed, 22 insertions, 0 deletions
@@ -90,6 +90,21 @@ cMenuSetupDxr3::cMenuSetupDxr3() // save menu values void cMenuSetupDxr3::Store() { + bool emitAudio = false; + bool emitBCS = false; + + // check which events we should emit + if (cSettings::instance()->useDigitalOut() != newUseDigitalOut) { + emitAudio = true; + } + + if (cSettings::instance()->brightness() != newBrightness || + cSettings::instance()->contrast() != newContrast || + cSettings::instance()->saturation() != newSaturation) { + emitBCS = true; + } + + // store new settings SetupStore("Brightness", cSettings::instance()->brightness(newBrightness)); SetupStore("Contrast", cSettings::instance()->contrast(newContrast)); SetupStore("Saturation", cSettings::instance()->saturation(newSaturation)); @@ -98,6 +113,13 @@ void cMenuSetupDxr3::Store() SetupStore("UseDigitalOut", cSettings::instance()->useDigitalOut(newUseDigitalOut)); SetupStore("HideMenu", cSettings::instance()->hideMenu(newHideMenu)); SetupStore("Dxr3Card", cSettings::instance()->card(newDxr3Card)); + + // emit + if (emitAudio) + cSettings::instance()->emitChange(AUDIO); + + if (emitBCS) + cSettings::instance()->emitChange(BCS); } // ================================== |