Exemplo n.º 1
0
        private void OnRecentItemRemoveClick(object sender, RoutedEventArgs e)
        {
            ErrorReporting.Log("OnRecentItemRemoveClick");
            var dataContext = (DeparturesAndArrivalsTable)((MenuItem)sender).DataContext;

            RecentItems.Remove(dataContext);
            RefreshRecentItemsList();
        }
Exemplo n.º 2
0
        private void RefreshRecentItemsList()
        {
            var recentItemsToDisplay = RecentItems.GetItemsToDisplay(fromStation, excludeStation);

            hasRecentItemsToDisplay    = recentItemsToDisplay.Count != 0;
            recentStations.ItemsSource = recentItemsToDisplay;

            ApplicationBar.Buttons.OfType <ApplicationBarIconButton>().Single(item => item.Text == "Clear recent").IsEnabled = hasRecentItemsToDisplay;
        }
Exemplo n.º 3
0
 private void OnClearRecentItemsClick(object sender, EventArgs e)
 {
     ErrorReporting.Log("OnClearRecentItemsClick");
     RecentItems.Clear();
     RefreshRecentItemsList();
 }
Exemplo n.º 4
0
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            base.OnNavigatedTo(e);

            if (departuresAndArrivalsTable != null)
            {
                ErrorReporting.Log("departuresAndArrivalsTable is not null");
                Load();
                return;
            }

            var stationStr      = NavigationContext.QueryString["station"];
            var from            = Stations.Get(stationStr);
            var to              = NavigationContext.QueryString.ContainsKey("callingAt") ? Stations.Get(NavigationContext.QueryString["callingAt"]) : null;
            var removeBackEntry = NavigationContext.QueryString.ContainsKey("removeBackEntry");

            departuresAndArrivalsTable = DeparturesAndArrivalsTable.Create(from, to);
            title.Text = departuresAndArrivalsTable.ToString();
            if (title.Text.Length > 40)
            {
                title.Text = title.Text.Replace(" calling at ", "\ncalling at ");
            }

            if (e.NavigationMode == NavigationMode.New)
            {
                RecentItems.Add(departuresAndArrivalsTable);
            }

            if (removeBackEntry)
            {
                NavigationService.RemoveBackEntry();
            }

            if (departuresAndArrivalsTable.HasDestinationFilter)
            {
                var filterOrClearFilterItem = ApplicationBar.Buttons.Cast <ApplicationBarIconButton>().Single(button => button.Text == "Filter");
                filterOrClearFilterItem.Text    = "Clear Filter";
                filterOrClearFilterItem.IconUri = new Uri("/Assets/Icons/dark/appbar.filter.clear.png", UriKind.Relative);

                var filterByAnotherDestinationItem = new ApplicationBarMenuItem("Filter by another destination");
                filterByAnotherDestinationItem.Click += OnFilterByAnotherDestinationClick;
                ApplicationBar.MenuItems.Insert(0, filterByAnotherDestinationItem);

                var reverseJourneyItem = new ApplicationBarIconButton(new Uri("/Assets/Icons/dark/appbar.arrow.left.right.png", UriKind.Relative))
                {
                    Text = "Reverse"
                };
                reverseJourneyItem.Click += OnReverseJourneyClick;
                ApplicationBar.Buttons.Insert(2, reverseJourneyItem);
            }

            if (!NavigationService.CanGoBack)
            {
                var homeButton = new ApplicationBarIconButton
                {
                    IconUri = new Uri("/Assets/Icons/dark/appbar.list.png", UriKind.Relative),
                    Text    = "All Stations",
                };
                homeButton.Click += OnHomeClick;
                ApplicationBar.Buttons.Remove(GetPinToStartButton());
                ApplicationBar.Buttons.Add(homeButton);
            }
            else
            {
                GetPinToStartButton().IsEnabled = !IsStationPinnedToStart();
            }

            CreateDirectionsPivotItem();

            if (!Stations.Country.SupportsArrivals)
            {
                // when supportsArrivals is false PivotSelectionChanged won't be triggered
                Load();
            }
        }