fixed setting changed callback + added use of it in widgets plugin
This commit is contained in:
parent
40fa025317
commit
eca5dcc2de
@ -173,6 +173,7 @@ class SettingManager implements CallbackListener {
|
||||
* @return bool
|
||||
*/
|
||||
public function setSetting($object, $settingName, $value) {
|
||||
//TODO nowhere used, everywhere saveSettings used, is it depreciated?
|
||||
$setting = $this->getSettingObject($object, $settingName);
|
||||
if ($setting) {
|
||||
$setting->value = $value;
|
||||
@ -190,9 +191,6 @@ class SettingManager implements CallbackListener {
|
||||
|
||||
$this->storeSetting($setting);
|
||||
|
||||
// Trigger Settings Changed Callback
|
||||
$this->maniaControl->callbackManager->triggerCallback(self::CB_SETTING_CHANGED, $setting);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -321,6 +319,9 @@ class SettingManager implements CallbackListener {
|
||||
return false;
|
||||
}
|
||||
$settingStatement->close();
|
||||
|
||||
// Trigger Settings Changed Callback
|
||||
$this->maniaControl->callbackManager->triggerCallback(self::CB_SETTING_CHANGED, $setting);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -17,6 +17,8 @@ use ManiaControl\Manialinks\IconManager;
|
||||
use ManiaControl\Players\Player;
|
||||
use ManiaControl\Players\PlayerManager;
|
||||
use ManiaControl\Plugins\Plugin;
|
||||
use ManiaControl\Settings\Setting;
|
||||
use ManiaControl\Settings\SettingManager;
|
||||
use ManiaControl\Utils\Formatter;
|
||||
|
||||
/**
|
||||
@ -129,6 +131,7 @@ class WidgetPlugin implements CallbackListener, TimerListener, Plugin {
|
||||
$this->maniaControl->callbackManager->registerCallbackListener(PlayerManager::CB_PLAYERCONNECT, $this, 'handlePlayerConnect');
|
||||
$this->maniaControl->callbackManager->registerCallbackListener(PlayerManager::CB_PLAYERDISCONNECT, $this, 'updateWidgets');
|
||||
$this->maniaControl->callbackManager->registerCallbackListener(PlayerManager::CB_PLAYERINFOCHANGED, $this, 'updateWidgets');
|
||||
$this->maniaControl->callbackManager->registerCallbackListener(SettingManager::CB_SETTING_CHANGED, $this, 'updateSettings');
|
||||
|
||||
$this->maniaControl->settingManager->initSetting($this, self::SETTING_MAP_WIDGET_ACTIVATED, true);
|
||||
$this->maniaControl->settingManager->initSetting($this, self::SETTING_MAP_WIDGET_POSX, 160 - 20);
|
||||
@ -512,6 +515,17 @@ class WidgetPlugin implements CallbackListener, TimerListener, Plugin {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Update Widgets on Setting Changes
|
||||
*
|
||||
* @param Setting $setting
|
||||
*/
|
||||
public function updateSettings(Setting $setting){
|
||||
if($setting->belongsToClass($this)){
|
||||
$this->displayWIdgets();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Update Widget on certain callbacks
|
||||
*/
|
||||
|
Loading…
Reference in New Issue
Block a user