From abd348860829f3479f26ff2e23a4c88ddfb4dd84 Mon Sep 17 00:00:00 2001 From: stubbfel Date: Tue, 26 Nov 2013 11:25:10 +0100 Subject: [PATCH] adddisplaysetting and unicolor --- CampusAppWP8/CampusAppWP8/App.xaml | 1 + CampusAppWP8/CampusAppWP8/App.xaml.cs | 14 ++++ CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj | 5 ++ .../CampusAppWP8/Model/Setting/AppSettings.cs | 21 ++++++ .../Model/Setting/DisplaySetting.cs | 64 +++++++++++++++++++ .../CampusAppWP8/Pages/StartPage.xaml.cs | 7 +- .../CampusAppWP8/Resources/Constants.resx | 6 ++ .../Resources/Constants1.Designer.cs | 18 ++++++ .../CampusAppWP8/Styles/UniColors.xaml | 12 ++++ .../CampusAppWP8/Utility/Utilities.cs | 25 ++++++++ 10 files changed, 170 insertions(+), 3 deletions(-) create mode 100644 CampusAppWP8/CampusAppWP8/Model/Setting/DisplaySetting.cs create mode 100644 CampusAppWP8/CampusAppWP8/Styles/UniColors.xaml diff --git a/CampusAppWP8/CampusAppWP8/App.xaml b/CampusAppWP8/CampusAppWP8/App.xaml index 1d6fd99b..443e964d 100644 --- a/CampusAppWP8/CampusAppWP8/App.xaml +++ b/CampusAppWP8/CampusAppWP8/App.xaml @@ -13,6 +13,7 @@ + diff --git a/CampusAppWP8/CampusAppWP8/App.xaml.cs b/CampusAppWP8/CampusAppWP8/App.xaml.cs index 5bb47375..b5ddfcdb 100644 --- a/CampusAppWP8/CampusAppWP8/App.xaml.cs +++ b/CampusAppWP8/CampusAppWP8/App.xaml.cs @@ -10,6 +10,7 @@ using System.IO.IsolatedStorage; using System.Threading; using System.Windows; using System.Windows.Markup; +using System.Windows.Media; using System.Windows.Navigation; @@ -157,6 +158,19 @@ namespace CampusAppWP8 Settings.AppSetting.InitApp = false; } + Color appColor = ((SolidColorBrush)App.Current.Resources["PhoneAccentBrush"]).Color; + if (!Settings.AppSetting.DisplaySetting.PhoneAccentColor.Equals(appColor)) + { + if (Settings.AppSetting.DisplaySetting.AppAccentColor.Equals(Settings.AppSetting.DisplaySetting.PhoneAccentColor)) + { + Settings.AppSetting.DisplaySetting.AppAccentColor = appColor; + } + Settings.AppSetting.DisplaySetting.PhoneAccentColor = appColor; + } + + appColor = Settings.AppSetting.DisplaySetting.AppAccentColor; + Utilities.SwitchAccentColor(appColor); + this.UserSettingsLoaded(); Settings.AppSetting.NetworkSetting.UniNetwork = Utilities.IsUniNetworkAvailable(); diff --git a/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj b/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj index 0fbc7b96..4e7abe58 100644 --- a/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj +++ b/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj @@ -134,6 +134,7 @@ + @@ -542,6 +543,10 @@ MSBuild:Compile Designer + + MSBuild:Compile + Designer + MSBuild:Compile Designer diff --git a/CampusAppWP8/CampusAppWP8/Model/Setting/AppSettings.cs b/CampusAppWP8/CampusAppWP8/Model/Setting/AppSettings.cs index e4f482f8..1224cdcb 100644 --- a/CampusAppWP8/CampusAppWP8/Model/Setting/AppSettings.cs +++ b/CampusAppWP8/CampusAppWP8/Model/Setting/AppSettings.cs @@ -26,10 +26,30 @@ namespace CampusAppWP8.Model.Setting /// The locating setting. private static LocatingSetting locatingSetting = new LocatingSetting(); + private static DisplaySetting displaySetting = new DisplaySetting(); + #endregion #region Property + /// Gets or sets the display setting. + /// The display setting. + public DisplaySetting DisplaySetting + { + get + { + return AppSettings.displaySetting; + } + + set + { + if (AppSettings.displaySetting != value) + { + AppSettings.displaySetting = value; + } + } + } + /// Gets or sets the locating setting. /// The locating setting. public LocatingSetting LocatingSetting @@ -150,6 +170,7 @@ namespace CampusAppWP8.Model.Setting this.FunctionSettings.SetSettingToDefault(); this.NetworkSetting.SetSettingToDefault(); this.LocatingSetting.SetSettingToDefault(); + this.DisplaySetting.SetSettingToDefault(); } #endregion } diff --git a/CampusAppWP8/CampusAppWP8/Model/Setting/DisplaySetting.cs b/CampusAppWP8/CampusAppWP8/Model/Setting/DisplaySetting.cs new file mode 100644 index 00000000..3416267f --- /dev/null +++ b/CampusAppWP8/CampusAppWP8/Model/Setting/DisplaySetting.cs @@ -0,0 +1,64 @@ +using CampusAppWP8.Resources; +//----------------------------------------------------------------------- +// +// The MIT License (MIT). Copyright (c) 2013 BTU/IIT. +// +// Stubbfel +// 26.11.2013 +// Implements the display setting class +//----------------------------------------------------------------------- +using System.Windows.Media; + +namespace CampusAppWP8.Model.Setting +{ + /// A display setting. + /// Stubbfel, 26.11.2013. + /// + public class DisplaySetting : ISetting + { + #region property + + /// Gets or sets the color of the application accent. + /// The color of the application accent. + public Color AppAccentColor + { + get + { + return App.LoadFromAppState(Constants.Setting_AppAccentColor); + } + + set + { + App.SaveToAppState(Constants.Setting_AppAccentColor, value); + } + } + + /// Gets or sets the color of the phone accent. + /// The color of the phone accent. + public Color PhoneAccentColor + { + get + { + return App.LoadFromAppState(Constants.Setting_PhoneAccentColor); + } + + set + { + App.SaveToAppState(Constants.Setting_PhoneAccentColor, value); + } + } + + #endregion + + #region method + + /// Sets setting to default. + /// Stubbfel, 25.11.2013. + /// + public void SetSettingToDefault() + { + this.AppAccentColor = this.PhoneAccentColor; + } + #endregion + } +} diff --git a/CampusAppWP8/CampusAppWP8/Pages/StartPage.xaml.cs b/CampusAppWP8/CampusAppWP8/Pages/StartPage.xaml.cs index 8f103089..ed3ee63b 100644 --- a/CampusAppWP8/CampusAppWP8/Pages/StartPage.xaml.cs +++ b/CampusAppWP8/CampusAppWP8/Pages/StartPage.xaml.cs @@ -27,6 +27,7 @@ namespace CampusAppWP8.Pages using Microsoft.Phone.Controls; using Microsoft.Phone.Shell; using Windows.Networking.Proximity; + using System.Windows.Media; /// Class for the StartPage. /// Stubbfel, 15.10.2013. @@ -75,7 +76,7 @@ namespace CampusAppWP8.Pages #region protected - /// Methods overrides the OnNavigatedTo-Method. + /// Methods overrides the OnNavigatedTo-Method. /// Stubbfel, 15.10.2013. /// protected override void OnNavigatedTo(NavigationEventArgs e) @@ -84,7 +85,7 @@ namespace CampusAppWP8.Pages if (device != null) { this.ndefId = this.device.SubscribeForMessage(Constants.NCFMessageType_NDEF, this.NDEFHandler); - } + } } /// Methods overrides the OnNavigatedFrom-Method. @@ -123,7 +124,7 @@ namespace CampusAppWP8.Pages /// Stubbfel, 15.10.2013. /// Caller of the function. /// some EventArgs. - private void NFCButton_Click(object sender,RoutedEventArgs e) + private void NFCButton_Click(object sender, RoutedEventArgs e) { MessageBoxes.ShowMainModelInfoMessageBox(AppResources.ScarNfc_Search); } diff --git a/CampusAppWP8/CampusAppWP8/Resources/Constants.resx b/CampusAppWP8/CampusAppWP8/Resources/Constants.resx index 5f02e256..f72cd6ad 100644 --- a/CampusAppWP8/CampusAppWP8/Resources/Constants.resx +++ b/CampusAppWP8/CampusAppWP8/Resources/Constants.resx @@ -678,4 +678,10 @@ MensaDefaultCampus + + AppAccentColor + + + PhoneAccentColor + \ No newline at end of file diff --git a/CampusAppWP8/CampusAppWP8/Resources/Constants1.Designer.cs b/CampusAppWP8/CampusAppWP8/Resources/Constants1.Designer.cs index 4b3fe01c..95ec9c9d 100644 --- a/CampusAppWP8/CampusAppWP8/Resources/Constants1.Designer.cs +++ b/CampusAppWP8/CampusAppWP8/Resources/Constants1.Designer.cs @@ -1383,6 +1383,15 @@ namespace CampusAppWP8.Resources { } } + /// + /// Sucht eine lokalisierte Zeichenfolge, die AppAccentColor ähnelt. + /// + public static string Setting_AppAccentColor { + get { + return ResourceManager.GetString("Setting_AppAccentColor", resourceCulture); + } + } + /// /// Sucht eine lokalisierte Zeichenfolge, die AppSetting ähnelt. /// @@ -1482,6 +1491,15 @@ namespace CampusAppWP8.Resources { } } + /// + /// Sucht eine lokalisierte Zeichenfolge, die PhoneAccentColor ähnelt. + /// + public static string Setting_PhoneAccentColor { + get { + return ResourceManager.GetString("Setting_PhoneAccentColor", resourceCulture); + } + } + /// /// Sucht eine lokalisierte Zeichenfolge, die UserSetting ähnelt. /// diff --git a/CampusAppWP8/CampusAppWP8/Styles/UniColors.xaml b/CampusAppWP8/CampusAppWP8/Styles/UniColors.xaml new file mode 100644 index 00000000..448b75f6 --- /dev/null +++ b/CampusAppWP8/CampusAppWP8/Styles/UniColors.xaml @@ -0,0 +1,12 @@ + + + #d20078 + #0050a0 + #009bd2 + #a5c300 + #ff9900 + + \ No newline at end of file diff --git a/CampusAppWP8/CampusAppWP8/Utility/Utilities.cs b/CampusAppWP8/CampusAppWP8/Utility/Utilities.cs index 70a4f339..9bdecc35 100644 --- a/CampusAppWP8/CampusAppWP8/Utility/Utilities.cs +++ b/CampusAppWP8/CampusAppWP8/Utility/Utilities.cs @@ -445,6 +445,31 @@ namespace CampusAppWP8.Utility obj.SelectedIndex = -1; } } + + /// Switch color. + /// Stubbfel, 26.11.2013. + /// The ressource key. + /// The new color. + public static void SwitchColor(string ressourceKey, Color newColor) + { + SolidColorBrush oldColor = App.Current.Resources[ressourceKey] as SolidColorBrush; + + if (oldColor == null || oldColor.Color.Equals(newColor)) + { + return; + } + App.Current.Resources.Remove(ressourceKey); + App.Current.Resources.Add(ressourceKey, newColor); + ((SolidColorBrush)App.Current.Resources[ressourceKey]).Color = newColor; + } + + /// Switch accent color. + /// Stubbfel, 26.11.2013. + /// The new color. + public static void SwitchAccentColor(Color newColor) + { + Utilities.SwitchColor("PhoneAccentBrush", newColor); + } #endregion } } \ No newline at end of file