From 31b4e4459e568d89f48d1fe8fc97c3d2e2205940 Mon Sep 17 00:00:00 2001 From: Christian Fiedler Date: Tue, 25 Jun 2013 14:06:27 +0200 Subject: [PATCH] #55 --- .../Assets/Icons/DarkTheme/phone_159.png | Bin 0 -> 6593 bytes .../Assets/Icons/LightTheme/phone_159.png | Bin 0 -> 7142 bytes CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj | 12 + .../Feed/Openinghours/OpeninghoursFeed.cs | 74 +++ .../OpeninghoursInstitutionModel.cs | 581 ++++++++++++++++++ .../Model/Openinghours/OpeninghoursModel.cs | 79 +++ .../Pages/Openinghours/OpeninghoursPage.xaml | 135 ++++ .../Openinghours/OpeninghoursPage.xaml.cs | 196 ++++++ .../CampusAppWP8/Properties/WMAppManifest.xml | 1 + .../Resources/AppResources.Designer.cs | 45 ++ .../CampusAppWP8/Resources/AppResources.resx | 15 + .../Resources/Constants.Designer.cs | 9 + .../CampusAppWP8/Resources/Constants.resx | 3 + .../CampusAppWP8/Resources/Icons.Designer.cs | 148 +++-- .../CampusAppWP8/Resources/Icons.resx | 3 + CampusAppWP8/CampusAppWP8/ThemelizedIcons.cs | 27 +- .../CampusAppWP8/pages/StartPage.xaml | 2 +- .../CampusAppWP8/pages/StartPage.xaml.cs | 13 +- CampusAppWP8/CampusAppWP8/utility/FileList.cs | 19 +- CampusAppWP8/CampusAppWP8/utility/URLList.cs | 29 +- 20 files changed, 1317 insertions(+), 74 deletions(-) create mode 100644 CampusAppWP8/CampusAppWP8/Assets/Icons/DarkTheme/phone_159.png create mode 100644 CampusAppWP8/CampusAppWP8/Assets/Icons/LightTheme/phone_159.png create mode 100644 CampusAppWP8/CampusAppWP8/Feed/Openinghours/OpeninghoursFeed.cs create mode 100644 CampusAppWP8/CampusAppWP8/Model/Openinghours/OpeninghoursInstitutionModel.cs create mode 100644 CampusAppWP8/CampusAppWP8/Model/Openinghours/OpeninghoursModel.cs create mode 100644 CampusAppWP8/CampusAppWP8/Pages/Openinghours/OpeninghoursPage.xaml create mode 100644 CampusAppWP8/CampusAppWP8/Pages/Openinghours/OpeninghoursPage.xaml.cs diff --git a/CampusAppWP8/CampusAppWP8/Assets/Icons/DarkTheme/phone_159.png b/CampusAppWP8/CampusAppWP8/Assets/Icons/DarkTheme/phone_159.png new file mode 100644 index 0000000000000000000000000000000000000000..f469f8166a74b454ccd07176342c51401b3724e0 GIT binary patch literal 6593 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 literal 0 HcmV?d00001 diff --git a/CampusAppWP8/CampusAppWP8/Assets/Icons/LightTheme/phone_159.png b/CampusAppWP8/CampusAppWP8/Assets/Icons/LightTheme/phone_159.png new file mode 100644 index 0000000000000000000000000000000000000000..731f36f8b57e6cee882a974f38bbd01e6aa355f5 GIT binary patch literal 7142 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 literal 0 HcmV?d00001 diff --git a/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj b/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj index 7e2ee55c..41a33767 100644 --- a/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj +++ b/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj @@ -96,6 +96,7 @@ App.xaml + @@ -112,6 +113,8 @@ + + CampusMapPage.xaml @@ -155,6 +158,9 @@ NewsPage.xaml + + OpeninghoursPage.xaml + StartPage.xaml @@ -242,6 +248,10 @@ Designer MSBuild:Compile + + Designer + MSBuild:Compile + Designer MSBuild:Compile @@ -266,6 +276,7 @@ PreserveNewest + @@ -282,6 +293,7 @@ + diff --git a/CampusAppWP8/CampusAppWP8/Feed/Openinghours/OpeninghoursFeed.cs b/CampusAppWP8/CampusAppWP8/Feed/Openinghours/OpeninghoursFeed.cs new file mode 100644 index 00000000..8200ca78 --- /dev/null +++ b/CampusAppWP8/CampusAppWP8/Feed/Openinghours/OpeninghoursFeed.cs @@ -0,0 +1,74 @@ +//----------------------------------------------------------------------- +// +// Company copyright tag. +// +// fiedlchr +// 24.06.2013 +//---------------------------------------------------------------------- +namespace CampusAppWP8.Feed.Openinghours +{ + using System; + using System.Collections.ObjectModel; + using CampusAppWP8.Model.Openinghours; + using CampusAppWP8.Utility; + + /// + /// This Class is for MesaFeeds + /// + public class OpeninghoursFeed : XmlFeed + { + #region Constructor + + /// + /// Initializes a new instance of the class. + /// + public OpeninghoursFeed() + : base(URLList.OpeninghoursFeedURL, FileList.OpeninghoursXmlFile) + { + } + + #endregion + + #region Method + + #region Protected + + /// + /// Method implement CheckIsModelUpToDate()-Method . + /// + /// true, if model is up-to-date, otherwise false + protected override bool CheckIsModelUpToDate() + { + DateTime lastModified = this.Model.CreateTime; + return this.CheckIsUpToDate(lastModified); + } + + /// + /// Method implement CheckIsFileUpToDate()-Method . + /// + /// true, if file is up-to-date, otherwise false + protected override bool CheckIsFileUpToDate() + { + DateTime lastModified = FileManager.GetFileInfo(FileName).LastWriteTime; + return this.CheckIsUpToDate(lastModified); + } + + #endregion + + #region Private + + /// + /// Check if the model or file is up-to-date. + /// + /// Date of the last modification + /// true, if is up-to-date, otherwise false + private bool CheckIsUpToDate(DateTime lastModified) + { + return true; + } + + #endregion + + #endregion + } +} diff --git a/CampusAppWP8/CampusAppWP8/Model/Openinghours/OpeninghoursInstitutionModel.cs b/CampusAppWP8/CampusAppWP8/Model/Openinghours/OpeninghoursInstitutionModel.cs new file mode 100644 index 00000000..8acc2b0a --- /dev/null +++ b/CampusAppWP8/CampusAppWP8/Model/Openinghours/OpeninghoursInstitutionModel.cs @@ -0,0 +1,581 @@ +//----------------------------------------------------------------------------- +// +// Company copyright tag. +// +// fiedlchr +// 24.06.2013 +//----------------------------------------------------------------------------- + +namespace CampusAppWP8.Model.Openinghours +{ + using System.Globalization; + using System.Windows; + using System.Xml.Serialization; + + /// + /// Model for menu + /// + public class OpeninghoursInstitutionModel + { + #region Member + + /// + /// German version of the institution title. + /// + private string titleDE = string.Empty; + + /// + /// English version of the institution title. + /// + private string titleEN = string.Empty; + + /// + /// Opening hours on monday. + /// + private string dayMonday = string.Empty; + + /// + /// Opening hours on tuesday. + /// + private string dayTuesday = string.Empty; + + /// + /// Opening hours on wednesday. + /// + private string dayWednesday = string.Empty; + + /// + /// Opening hours on thursday. + /// + private string dayThursday = string.Empty; + + /// + /// Opening hours on friday. + /// + private string dayFriday = string.Empty; + + /// + /// Opening hours on saturday. + /// + private string daySaturday = string.Empty; + + /// + /// Opening hours on sunday. + /// + private string daySunday = string.Empty; + + /// + /// Email address of the institution. + /// + private string infoEmail = string.Empty; + + /// + /// Phone number of the institution. + /// + private string infoPhone = string.Empty; + + /// + /// Building name where the institution is located. + /// + private string infoBuilding = string.Empty; + + /// + /// Room where the institution is located. + /// + private string infoRoom = string.Empty; + + /// + /// German version of the comment. + /// + private string commentDE = string.Empty; + + /// + /// English version of the comment. + /// + private string commentEN = string.Empty; + + #endregion + + #region Constructor + + /// + /// Initializes a new instance of the class. + /// + public OpeninghoursInstitutionModel() + { + } + + #endregion + + #region Property + + /// + /// Gets or sets the german title of the institution. + /// + [XmlAttribute("title_de")] + public string Title_DE + { + get + { + return this.titleDE; + } + + set + { + this.titleDE = value; + } + } + + /// + /// Gets or sets the english title of the institution. + /// + [XmlAttribute("title_en")] + public string Title_EN + { + get + { + return this.titleEN; + } + + set + { + this.titleEN = value; + } + } + + /// + /// Gets or sets the open hours on monday. + /// + [XmlAttribute("monday")] + public string Monday + { + get + { + return this.dayMonday; + } + + set + { + this.dayMonday = this.FixOpeninghoursString(value); + } + } + + /// + /// Gets or sets the open hours on tuesday. + /// + [XmlAttribute("tuesday")] + public string Tuesday + { + get + { + return this.dayTuesday; + } + + set + { + this.dayTuesday = this.FixOpeninghoursString(value); + } + } + + /// + /// Gets or sets the open hours on wednesday. + /// + [XmlAttribute("wednesday")] + public string Wednesday + { + get + { + return this.dayWednesday; + } + + set + { + this.dayWednesday = this.FixOpeninghoursString(value); + } + } + + /// + /// Gets or sets the open hours on thursday. + /// + [XmlAttribute("thursday")] + public string Thursday + { + get + { + return this.dayThursday; + } + + set + { + this.dayThursday = this.FixOpeninghoursString(value); + } + } + + /// + /// Gets or sets the open hours on friday. + /// + [XmlAttribute("friday")] + public string Friday + { + get + { + return this.dayFriday; + } + + set + { + this.dayFriday = this.FixOpeninghoursString(value); + } + } + + /// + /// Gets or sets the open hours on saturday. + /// + [XmlAttribute("saturday")] + public string Saturday + { + get + { + return this.daySaturday; + } + + set + { + this.daySaturday = this.FixOpeninghoursString(value); + } + } + + /// + /// Gets or sets the open hours on sunday. + /// + [XmlAttribute("sunday")] + public string Sunday + { + get + { + return this.daySunday; + } + + set + { + this.daySunday = this.FixOpeninghoursString(value); + } + } + + /// + /// Gets or sets the email address of the institution. + /// + [XmlAttribute("email")] + public string EMail + { + get + { + return this.infoEmail; + } + + set + { + this.infoEmail = value; + } + } + + /// + /// Gets or sets the phone number of the institution. + /// + [XmlAttribute("phone")] + public string Phone + { + get + { + return this.infoPhone; + } + + set + { + this.infoPhone = value; + } + } + + /// + /// Gets or sets the building where the institution is located. + /// + [XmlAttribute("location_building")] + public string Building + { + get + { + return this.infoBuilding; + } + + set + { + this.infoBuilding = value; + } + } + + /// + /// Gets or sets the room where the institution is located. + /// + [XmlAttribute("location_room")] + public string Room + { + get + { + return this.infoRoom; + } + + set + { + this.infoRoom = value; + } + } + + /// + /// Gets or sets the german comment. + /// + [XmlAttribute("comment_de")] + public string Comment_DE + { + get + { + return this.commentDE; + } + + set + { + this.commentDE = value; + } + } + + /// + /// Gets or sets the english comment. + /// + [XmlAttribute("comment_en")] + public string Comment_EN + { + get + { + return this.commentEN; + } + + set + { + this.commentEN = value; + } + } + + /// + /// Gets the localized title. If the phone is set to german language, + /// the german title will be returned otherwise the english title. + /// + public string Title + { + get + { + if (CultureInfo.CurrentUICulture.Name.StartsWith("de")) + { + return this.titleDE; + } + else + { + return this.titleEN; + } + } + } + + /// + /// Gets the localized comment. if the phone is set to german language, + /// the german comment will be returned otherwise the english comment. + /// + public string Comment + { + get + { + if (CultureInfo.CurrentUICulture.Name.StartsWith("de")) + { + return this.commentDE; + } + else + { + return this.commentEN; + } + } + } + + /// + /// Gets a string containing the email address and the institution + /// title separated by ':'. + /// + public string EMailTitle + { + get + { + return this.EMail + ":" + this.Title; + } + } + + /// + /// Gets a string containing the phone number and the institution + /// title separated by ':'. + /// + public string PhoneTitle + { + get + { + return this.Phone + ":" + this.Title; + } + } + + /// + /// Gets the visibility state of the monday TextBlock. + /// + public Visibility VisibleMonday + { + get + { + return ((this.dayMonday == string.Empty) || (this.dayMonday.Length == 0)) ? Visibility.Collapsed : Visibility.Visible; + } + } + + /// + /// Gets the visibility state of the tuesday TextBlock. + /// + public Visibility VisibleTuesday + { + get + { + return ((this.dayTuesday == string.Empty) || (this.dayTuesday.Length == 0)) ? Visibility.Collapsed : Visibility.Visible; + } + } + + /// + /// Gets the visibility state of the wednesday TextBlock. + /// + public Visibility VisibleWednesday + { + get + { + return ((this.dayWednesday == string.Empty) || (this.dayWednesday.Length == 0)) ? Visibility.Collapsed : Visibility.Visible; + } + } + + /// + /// Gets the visibility state of the thursday TextBlock. + /// + public Visibility VisibleThursday + { + get + { + return ((this.dayThursday == string.Empty) || (this.dayThursday.Length == 0)) ? Visibility.Collapsed : Visibility.Visible; + } + } + + /// + /// Gets the visibility state of the friday TextBlock. + /// + public Visibility VisibleFriday + { + get + { + return ((this.dayFriday == string.Empty) || (this.dayFriday.Length == 0)) ? Visibility.Collapsed : Visibility.Visible; + } + } + + /// + /// Gets the visibility state of the saturday TextBlock. + /// + public Visibility VisibleSaturday + { + get + { + return ((this.daySaturday == string.Empty) || (this.daySaturday.Length == 0)) ? Visibility.Collapsed : Visibility.Visible; + } + } + + /// + /// Gets the visibility state of the sunday TextBlock. + /// + public Visibility VisibleSunday + { + get + { + return ((this.daySunday == string.Empty) || (this.daySunday.Length == 0)) ? Visibility.Collapsed : Visibility.Visible; + } + } + + /// + /// Gets the visibility state of the comment. + /// + public Visibility VisibleComment + { + get + { + return ((this.Comment == string.Empty) || (this.Comment.Length == 0)) ? Visibility.Collapsed : Visibility.Visible; + } + } + + /// + /// Gets the visibility state of the email address. + /// + public Visibility VisibleEMail + { + get + { + return ((this.infoEmail == string.Empty) || (this.infoEmail.Length == 0)) ? Visibility.Collapsed : Visibility.Visible; + } + } + + /// + /// Gets the visibility state of the phone number. + /// + public Visibility VisiblePhone + { + get + { + return ((this.infoPhone == string.Empty) || (this.infoPhone.Length == 0)) ? Visibility.Collapsed : Visibility.Visible; + } + } + + /// + /// Gets the visibility state of the room. + /// + public Visibility VisibleRoom + { + get + { + return ((this.infoRoom == string.Empty) || (this.infoRoom.Length == 0)) ? Visibility.Collapsed : Visibility.Visible; + } + } + + /// + /// Gets the visibility state of the building. + /// + public Visibility VisibleBuilding + { + get + { + return ((this.infoBuilding == string.Empty) || (this.infoBuilding.Length == 0)) ? Visibility.Collapsed : Visibility.Visible; + } + } + + #endregion + + #region Method + + /// + /// Removes unwanted chars in a string. + /// + /// input string + /// fixed string + private string FixOpeninghoursString(string str) + { + string retValue = string.Empty; + + retValue = str.Replace(" | ", "\n"); + + return retValue; + } + + #endregion + } +} diff --git a/CampusAppWP8/CampusAppWP8/Model/Openinghours/OpeninghoursModel.cs b/CampusAppWP8/CampusAppWP8/Model/Openinghours/OpeninghoursModel.cs new file mode 100644 index 00000000..77d3a16a --- /dev/null +++ b/CampusAppWP8/CampusAppWP8/Model/Openinghours/OpeninghoursModel.cs @@ -0,0 +1,79 @@ +//----------------------------------------------------------------------------- +// +// Company copyright tag. +// +// fiedlchr +// 24.06.2013 +//----------------------------------------------------------------------------- + +namespace CampusAppWP8.Model.Openinghours +{ + using System; + using System.Collections.ObjectModel; + using System.Xml.Serialization; + + /// + /// Model for opening hours. + /// + [XmlRoot("root")] + public class OpeninghoursModel + { + #region Member + + /// + /// Time when the model was created. + /// + private readonly DateTime createTime; + + /// + /// Gets or sets feed information item list. + /// + [XmlArray("data")] + [XmlArrayItem("institution")] + public ObservableCollection institutions { get; set; } + + #endregion + + #region Constructor + + /// + /// Initializes a new instance of the class. + /// + public OpeninghoursModel() + { + this.createTime = DateTime.Now; + } + + #endregion + + #region Property + + /// + /// Gets the creation time of the model. + /// + public DateTime CreateTime + { + get + { + return this.createTime; + } + } + + /// + /// Gets the Institutions. + /// + public ObservableCollection Institutions + { + get + { + return this.institutions; + } + } + + #endregion + + #region Method + + #endregion + } +} diff --git a/CampusAppWP8/CampusAppWP8/Pages/Openinghours/OpeninghoursPage.xaml b/CampusAppWP8/CampusAppWP8/Pages/Openinghours/OpeninghoursPage.xaml new file mode 100644 index 00000000..e3c11807 --- /dev/null +++ b/CampusAppWP8/CampusAppWP8/Pages/Openinghours/OpeninghoursPage.xaml @@ -0,0 +1,135 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/CampusAppWP8/CampusAppWP8/Pages/Openinghours/OpeninghoursPage.xaml.cs b/CampusAppWP8/CampusAppWP8/Pages/Openinghours/OpeninghoursPage.xaml.cs new file mode 100644 index 00000000..6c577d86 --- /dev/null +++ b/CampusAppWP8/CampusAppWP8/Pages/Openinghours/OpeninghoursPage.xaml.cs @@ -0,0 +1,196 @@ +//----------------------------------------------------------------------- +// +// Company copyright tag. +// +// fiedlchr +// 24.06.2013 +//---------------------------------------------------------------------- +namespace CampusAppWP8.Pages.Openinghours +{ + using System.Linq; + using System.Windows; + using System.Windows.Controls; + using System.Windows.Navigation; + using CampusAppWP8.Feed.Openinghours; + using CampusAppWP8.Utility; + using Microsoft.Phone.Controls; + using Microsoft.Phone.Tasks; + + /// + /// Opening hours page. + /// + public partial class OpeninghoursPage : PhoneApplicationPage + { + #region Members + + /// + /// Opening hours feed object. + /// + private OpeninghoursFeed feed = null; + + /// + /// last visible UI element. + /// + private UIElement lastOpenUIElem = null; + + #endregion + + #region Constructor + + /// + /// Initializes a new instance of the class. + /// + public OpeninghoursPage() + { + this.InitializeComponent(); + this.InitializeFeed(); + } + + #endregion + + #region Method + + #region protected + + /// + /// Override the OnNavigatedTo method. + /// + /// Arguments of navigation + protected override void OnNavigatedTo(NavigationEventArgs e) + { + base.OnNavigatedTo(e); + if (this.feed == null) + { + this.InitializeFeed(); + } + + if (e.NavigationMode != System.Windows.Navigation.NavigationMode.Back) + { + this.ProgressBar.Visibility = System.Windows.Visibility.Visible; + } + + this.feed.LoadFeed(); + } + + // protected + #endregion + + #region private + + /// + /// Initialize the opening hours feed. + /// + private void InitializeFeed() + { + this.feed = new OpeninghoursFeed(); + this.feed.EventHandler.FeedIsReadyEvent += new FeedEventHandler.FeedReadyHandler(this.FeedIsReady); + } + + /// + /// Will be execute if the feed is ready. + /// + private void FeedIsReady() + { + this.SetupInstitutionList(); + this.ProgressBar.Visibility = System.Windows.Visibility.Collapsed; + } + + /// + /// Setup the institution list. + /// + private void SetupInstitutionList() + { + this.InstitutionPanel.ItemsSource = this.feed.Model.Institutions; + } + + /// + /// Called on clicking on a institution. + /// + /// button object + /// event args + private void InstitutionBtn_Click(object sender, RoutedEventArgs e) + { + if (this.lastOpenUIElem != null) + { + this.lastOpenUIElem.Visibility = Visibility.Collapsed; + } + + FrameworkElement btn = sender as FrameworkElement; + StackPanel parent = btn.Parent as StackPanel; + + if (parent.Children.Count() >= 2) + { + if (this.lastOpenUIElem != parent.Children[1]) + { + this.lastOpenUIElem = parent.Children[1]; + this.lastOpenUIElem.Visibility = Visibility.Visible; + } + else + { + this.lastOpenUIElem = null; + } + } + } + + /// + /// Called on clicking on a mail button. + /// + /// button object + /// event args + private void EMailBtn_Click(object sender, RoutedEventArgs e) + { + FrameworkElement tempUIElem = sender as FrameworkElement; + + string[] info = tempUIElem.Tag.ToString().Split(':'); + + if ((info.Count() > 0) && (info[0] != null)) + { + EmailComposeTask emailTask = new EmailComposeTask(); + emailTask.To = "mailto:" + info[0]; + emailTask.Show(); + } + } + + /// + /// Called on clicking on a phone button. + /// + /// button object + /// event args + private void PhoneBtn_Click(object sender, RoutedEventArgs e) + { + FrameworkElement tempUIElem = sender as FrameworkElement; + PhoneCallTask phoneCallTask = new PhoneCallTask(); + + string[] info = tempUIElem.Tag.ToString().Split(':'); + + if ((info.Count() > 0) && (info[0] != null)) + { + phoneCallTask.PhoneNumber = info[0]; + } + + if ((info.Count() > 1) && (info[1] != null)) + { + phoneCallTask.DisplayName = info[1]; + } + + phoneCallTask.Show(); + } + + /// + /// Called on clicking on a location button. + /// + /// button object + /// event args + private void LocationBtn_Click(object sender, RoutedEventArgs e) + { + FrameworkElement tempUIElem = sender as FrameworkElement; + + // TODO: open campusmap + } + + // private + #endregion + // Method + #endregion + } +} \ No newline at end of file diff --git a/CampusAppWP8/CampusAppWP8/Properties/WMAppManifest.xml b/CampusAppWP8/CampusAppWP8/Properties/WMAppManifest.xml index f4b319d3..7eaa8266 100644 --- a/CampusAppWP8/CampusAppWP8/Properties/WMAppManifest.xml +++ b/CampusAppWP8/CampusAppWP8/Properties/WMAppManifest.xml @@ -11,6 +11,7 @@ + diff --git a/CampusAppWP8/CampusAppWP8/Resources/AppResources.Designer.cs b/CampusAppWP8/CampusAppWP8/Resources/AppResources.Designer.cs index de8c1c1f..c7b511b2 100644 --- a/CampusAppWP8/CampusAppWP8/Resources/AppResources.Designer.cs +++ b/CampusAppWP8/CampusAppWP8/Resources/AppResources.Designer.cs @@ -87,6 +87,15 @@ namespace CampusAppWP8.Resources { } } + /// + /// Sucht eine lokalisierte Zeichenfolge, die Gebäude ähnelt. + /// + public static string Building { + get { + return ResourceManager.GetString("Building", resourceCulture); + } + } + /// /// Sucht eine lokalisierte Zeichenfolge, die Campusplan ähnelt. /// @@ -150,6 +159,15 @@ namespace CampusAppWP8.Resources { } } + /// + /// Sucht eine lokalisierte Zeichenfolge, die Hinweis ähnelt. + /// + public static string Hint { + get { + return ResourceManager.GetString("Hint", resourceCulture); + } + } + /// /// Sucht eine lokalisierte Zeichenfolge, die Hausaufgaben ähnelt. /// @@ -447,6 +465,15 @@ namespace CampusAppWP8.Resources { } } + /// + /// Sucht eine lokalisierte Zeichenfolge, die Raum ähnelt. + /// + public static string Room { + get { + return ResourceManager.GetString("Room", resourceCulture); + } + } + /// /// Sucht eine lokalisierte Zeichenfolge, die Beispielwert für die Laufzeiteigenschaft ähnelt. /// @@ -474,6 +501,24 @@ namespace CampusAppWP8.Resources { } } + /// + /// Sucht eine lokalisierte Zeichenfolge, die Samstag ähnelt. + /// + public static string Time_Day_Saturday { + get { + return ResourceManager.GetString("Time_Day_Saturday", resourceCulture); + } + } + + /// + /// Sucht eine lokalisierte Zeichenfolge, die Sonntag ähnelt. + /// + public static string Time_Day_Sunday { + get { + return ResourceManager.GetString("Time_Day_Sunday", resourceCulture); + } + } + /// /// Sucht eine lokalisierte Zeichenfolge, die Donnerstag ähnelt. /// diff --git a/CampusAppWP8/CampusAppWP8/Resources/AppResources.resx b/CampusAppWP8/CampusAppWP8/Resources/AppResources.resx index 5881da70..4aa62828 100644 --- a/CampusAppWP8/CampusAppWP8/Resources/AppResources.resx +++ b/CampusAppWP8/CampusAppWP8/Resources/AppResources.resx @@ -272,4 +272,19 @@ Studiengangauswahl + + Gebäude + + + Hinweis + + + Raum + + + Samstag + + + Sonntag + \ No newline at end of file diff --git a/CampusAppWP8/CampusAppWP8/Resources/Constants.Designer.cs b/CampusAppWP8/CampusAppWP8/Resources/Constants.Designer.cs index 9db1581b..c4881720 100644 --- a/CampusAppWP8/CampusAppWP8/Resources/Constants.Designer.cs +++ b/CampusAppWP8/CampusAppWP8/Resources/Constants.Designer.cs @@ -231,6 +231,15 @@ namespace CampusAppWP8.Resources { } } + /// + /// Sucht eine lokalisierte Zeichenfolge, die /Pages/Openinghours/OpeninghoursPage.xaml ähnelt. + /// + internal static string PathOpeninghours_OpeninghoursPage { + get { + return ResourceManager.GetString("PathOpeninghours_OpeninghoursPage", resourceCulture); + } + } + /// /// Sucht eine lokalisierte Zeichenfolge, die http://www.zv.tu-cottbus.de/LSFveranst/LSF4 ähnelt. /// diff --git a/CampusAppWP8/CampusAppWP8/Resources/Constants.resx b/CampusAppWP8/CampusAppWP8/Resources/Constants.resx index 8c2fcc88..9011849e 100644 --- a/CampusAppWP8/CampusAppWP8/Resources/Constants.resx +++ b/CampusAppWP8/CampusAppWP8/Resources/Constants.resx @@ -186,4 +186,7 @@ /Pages/News/NewsIndexPage.xaml + + /Pages/Openinghours/OpeninghoursPage.xaml + \ No newline at end of file diff --git a/CampusAppWP8/CampusAppWP8/Resources/Icons.Designer.cs b/CampusAppWP8/CampusAppWP8/Resources/Icons.Designer.cs index 7d222138..a50f46eb 100644 --- a/CampusAppWP8/CampusAppWP8/Resources/Icons.Designer.cs +++ b/CampusAppWP8/CampusAppWP8/Resources/Icons.Designer.cs @@ -8,10 +8,11 @@ // //------------------------------------------------------------------------------ -namespace CampusAppWP8.Resources { +namespace CampusAppWP8.Resources +{ using System; using System.Windows; - + /// /// Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw. /// @@ -22,40 +23,50 @@ namespace CampusAppWP8.Resources { [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - public class Icons { - + public class Icons + { + private static global::System.Resources.ResourceManager resourceMan; - + private static global::System.Globalization.CultureInfo resourceCulture; - + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] - internal Icons() { + internal Icons() + { } - + /// /// Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird. /// [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - public static global::System.Resources.ResourceManager ResourceManager { - get { - if (object.ReferenceEquals(resourceMan, null)) { - global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("CampusAppWP8.Resources.Icons", typeof(Icons).Assembly); + public static global::System.Resources.ResourceManager ResourceManager + { + get + { + if (object.ReferenceEquals(resourceMan, null)) + { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("CampusAppWP8.Resources.Icons", + +typeof(Icons).Assembly); resourceMan = temp; } return resourceMan; } } - + /// /// Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle /// Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden. /// [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - public static global::System.Globalization.CultureInfo Culture { - get { + public static global::System.Globalization.CultureInfo Culture + { + get + { return resourceCulture; } - set { + set + { resourceCulture = value; } } @@ -86,109 +97,144 @@ namespace CampusAppWP8.Resources { /// /// Sucht eine lokalisierte Zeichenfolge, die campus_159.png ähnelt. /// - public static string Campus { - get { + public static string Campus + { + get + { return Themerize("Campus"); } } - + /// /// Sucht eine lokalisierte Zeichenfolge, die departments_159.png ähnelt. /// - public static string Departments { - get { + public static string Departments + { + get + { return Themerize("Departments"); } } - + /// /// Sucht eine lokalisierte Zeichenfolge, die homework_159.png ähnelt. /// - public static string Homework { - get { + public static string Homework + { + get + { return Themerize("Homework"); } } - + /// /// Sucht eine lokalisierte Zeichenfolge, die lectures_159.png ähnelt. /// - public static string Lectures { - get { + public static string Lectures + { + get + { return Themerize("Lectures"); } } - + /// /// Sucht eine lokalisierte Zeichenfolge, die link_159.png ähnelt. /// - public static string Link { - get { + public static string Link + { + get + { return Themerize("Link"); } } - + /// /// Sucht eine lokalisierte Zeichenfolge, die mensa_159.png ähnelt. /// - public static string Mensa { - get { + public static string Mensa + { + get + { return Themerize("Mensa"); } } - + /// /// Sucht eine lokalisierte Zeichenfolge, die news_159.png ähnelt. /// - public static string News { - get { + public static string News + { + get + { return Themerize("News"); } } - + /// /// Sucht eine lokalisierte Zeichenfolge, die openhours_159.png ähnelt. /// - public static string Openhours { - get { + public static string Openhours + { + get + { return Themerize("Openhours"); } } - + /// /// Sucht eine lokalisierte Zeichenfolge, die schedule_159.png ähnelt. /// - public static string Schedule { - get { + public static string Schedule + { + get + { return Themerize("Schedule"); } } - + /// /// Sucht eine lokalisierte Zeichenfolge, die search_159.png ähnelt. /// - public static string Search { - get { + public static string Search + { + get + { return Themerize("Search"); } } - + /// /// Sucht eine lokalisierte Zeichenfolge, die student_council_159.png ähnelt. /// - public static string StudentCouncil { - get { + public static string StudentCouncil + { + get + { return Themerize("StudentCouncil"); } } - + /// /// Sucht eine lokalisierte Zeichenfolge, die webmail_159.png ähnelt. /// - public static string WebMail { - get { + public static string WebMail + { + get + { return Themerize("WebMail"); } } + + /// + /// Sucht eine lokalisierte Zeichenfolge, die phone_159.png ähnelt. + /// + public static string Phone + { + get + { + return Themerize("Phone"); + } + } } } diff --git a/CampusAppWP8/CampusAppWP8/Resources/Icons.resx b/CampusAppWP8/CampusAppWP8/Resources/Icons.resx index 4bba35c2..919f1551 100644 --- a/CampusAppWP8/CampusAppWP8/Resources/Icons.resx +++ b/CampusAppWP8/CampusAppWP8/Resources/Icons.resx @@ -141,6 +141,9 @@ openhours_159.png + + phone_159.png + schedule_159.png diff --git a/CampusAppWP8/CampusAppWP8/ThemelizedIcons.cs b/CampusAppWP8/CampusAppWP8/ThemelizedIcons.cs index a591a883..28f871bf 100644 --- a/CampusAppWP8/CampusAppWP8/ThemelizedIcons.cs +++ b/CampusAppWP8/CampusAppWP8/ThemelizedIcons.cs @@ -1,14 +1,33 @@ -using CampusAppWP8.Resources; - +//----------------------------------------------------------------------- +// +// Company copyright tag. +// +// fiedlchr +// 24.06.2013 +//---------------------------------------------------------------------- namespace CampusAppWP8 { + using CampusAppWP8.Resources; + /// - /// Bietet Zugriff auf Zeichenfolgenressourcen. + /// Theme icons. /// public class ThemelizedIcons { + /// + /// Resource object. + /// private static Icons themelized = new Icons(); - public Icons ThemelizedIcon { get { return themelized; } } + /// + /// Gets the resource object. + /// + public Icons ThemelizedIcon + { + get + { + return themelized; + } + } } } \ No newline at end of file diff --git a/CampusAppWP8/CampusAppWP8/pages/StartPage.xaml b/CampusAppWP8/CampusAppWP8/pages/StartPage.xaml index b3b9e6cd..91009353 100644 --- a/CampusAppWP8/CampusAppWP8/pages/StartPage.xaml +++ b/CampusAppWP8/CampusAppWP8/pages/StartPage.xaml @@ -108,7 +108,7 @@ -