2014-12-07 19:09:38 -05:00
|
|
|
// Copyright 1998-2015 Epic Games, Inc. All Rights Reserved.
|
2014-11-06 15:17:11 -05:00
|
|
|
|
|
|
|
|
#include "FriendsAndChatPrivatePCH.h"
|
|
|
|
|
#include "FriendsUserSettingsViewModel.h"
|
|
|
|
|
|
|
|
|
|
// ToDO: Read and write these values from the respective calling app.
|
|
|
|
|
|
|
|
|
|
class FFriendsUserSettingsViewModelImpl
|
|
|
|
|
: public FFriendsUserSettingsViewModel
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
FFriendsUserSettingsViewModelImpl(
|
2015-04-22 20:01:57 -04:00
|
|
|
const TSharedRef<FFriendsAndChatManager>& InFriendsAndChatManager
|
2014-11-06 15:17:11 -05:00
|
|
|
)
|
2015-04-22 20:01:57 -04:00
|
|
|
: FriendsAndChatManager(InFriendsAndChatManager)
|
2014-11-06 15:17:11 -05:00
|
|
|
, bShowNotifications(true)
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
2014-12-10 14:24:09 -05:00
|
|
|
virtual void HandleCheckboxStateChanged(ECheckBoxState NewState, EUserSettngsType::Type OptionType) override
|
2014-11-06 15:17:11 -05:00
|
|
|
{
|
|
|
|
|
switch(OptionType)
|
|
|
|
|
{
|
|
|
|
|
case EUserSettngsType::ShowNotifications:
|
|
|
|
|
{
|
2014-12-10 14:24:09 -05:00
|
|
|
bShowNotifications = NewState == ECheckBoxState::Checked ? true : false;
|
2014-11-06 15:17:11 -05:00
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
virtual void EnumerateUserSettings(TArray<EUserSettngsType::Type>& UserSettings) override
|
|
|
|
|
{
|
|
|
|
|
UserSettings.Add(EUserSettngsType::ShowNotifications);
|
|
|
|
|
}
|
|
|
|
|
|
2014-12-10 14:24:09 -05:00
|
|
|
virtual ECheckBoxState GetOptionCheckState(EUserSettngsType::Type Option) const override
|
2014-11-06 15:17:11 -05:00
|
|
|
{
|
|
|
|
|
switch(Option)
|
|
|
|
|
{
|
|
|
|
|
case EUserSettngsType::ShowNotifications:
|
|
|
|
|
{
|
2014-12-10 14:24:09 -05:00
|
|
|
return bShowNotifications ? ECheckBoxState::Checked : ECheckBoxState::Unchecked; break;
|
2014-11-06 15:17:11 -05:00
|
|
|
}
|
|
|
|
|
default:
|
2014-12-10 14:24:09 -05:00
|
|
|
return ECheckBoxState::Undetermined;
|
2014-11-06 15:17:11 -05:00
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
TWeakPtr<FFriendsAndChatManager> FriendsAndChatManager;
|
|
|
|
|
TArray<TSharedRef<FText> > OnlineStateArray;
|
|
|
|
|
bool bShowNotifications;
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
friend FFriendsUserSettingsViewModelFactory;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
TSharedRef< FFriendsUserSettingsViewModel > FFriendsUserSettingsViewModelFactory::Create(
|
|
|
|
|
const TSharedRef<FFriendsAndChatManager>& FriendsAndChatManager
|
|
|
|
|
)
|
|
|
|
|
{
|
|
|
|
|
TSharedRef< FFriendsUserSettingsViewModelImpl > ViewModel(new FFriendsUserSettingsViewModelImpl(FriendsAndChatManager));
|
|
|
|
|
return ViewModel;
|
|
|
|
|
}
|