Beispiel #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="eventArgs"></param>
        /// <returns></returns>
        private TabUiItem GetRequestedTabFromOpenTabEventArgs(OpenTabEventArgs eventArgs)
        {
            bool isValidUrl = WebUriProcessorComponent.IsValidUri(eventArgs.RequestedUrl);

            if (isValidUrl)
            {
                Uri uri = new Uri(eventArgs.RequestedUrl);

                if (uri.Scheme.ToLowerInvariant() == App.BROWSER_RESERVED_SCHEME)
                {
                    switch (uri.Host)
                    {
                    case BrowserReservedPages.ABOUT:
                    {
                        TabUiItem aboutTabUiItem = this.GenerateAboutPage();

                        return(aboutTabUiItem);
                    }
                    break;

                    case BrowserReservedPages.SETTINGS:
                    {
                        TabUiItem aboutTabUiItem = this.GenerateSettingsPage();

                        return(aboutTabUiItem);
                    }
                    break;
                    }
                }
            }

            return(new TabUiItem());
        }
Beispiel #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void ViewModel_OnOpenTabRequested(object sender, EventArgs e)
        {
            OpenTabEventArgs eventArgs = (e as OpenTabEventArgs);

            TabUiItem requestedTab = this.GetRequestedTabFromOpenTabEventArgs(eventArgs);

            this.AddTab(requestedTab);
        }
Beispiel #3
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="eventArgs"></param>
        private void OnTabViewTabCloseRequested(TabViewTabCloseRequestedEventArgs eventArgs)
        {
            TabUiItem   tabUiItem   = (eventArgs.Item as TabUiItem);
            TabViewItem tabViewItem = (eventArgs.Tab as TabViewItem);

            this.CurrentTabUiItems.Remove(tabUiItem);

            this.CheckTabItemsEmptyTabs();
        }
Beispiel #4
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="content"></param>
        /// <param name="title"></param>
        /// <param name="icon"></param>
        private TabUiItem GenerateTabUiItem(object content, string title, IconSource icon)
        {
            TabUiItem tabUiItem = new TabUiItem
            {
                DocumentTitle = title,
                Content       = content,
                DocumentIcon  = icon
            };

            return(tabUiItem);
        }
Beispiel #5
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="tabUiItem"></param>
        private void AddTab(TabUiItem tabUiItem)
        {
            /*
             * foreach(TabUiItem tab in this.CurrentTabUiItems)
             * {
             *  tab.IsSelected = false;
             * }
             *
             * tabUiItem.IsSelected = true;
             * /* */

            this.CurrentTabUiItems.Add(tabUiItem);
        }
Beispiel #6
0
        /// <summary>
        ///
        /// </summary>
        private void OpenNewDefaultWebViewTab()
        {
            Browser browserControl = new Browser();

            browserControl.ViewModel.OnWebViewHeaderChanged += ViewModel_OnWebViewHeaderChanged;
            browserControl.ViewModel.OnOpenTabRequested     += ViewModel_OnOpenTabRequested;

            TabUiItem tabUiItem = new TabUiItem
            {
                DocumentTitle = " ",
                Content       = browserControl
            };

            this.AddTab(tabUiItem);
        }
Beispiel #7
0
        /// <summary>
        ///
        /// </summary>
        private TabUiItem GenerateSettingsPage()
        {
            ResourceLoader resources = ResourceLoader.GetForCurrentView("Resources");
            string         title     = resources.GetString("ViewTitleSettings");
            IconSource     icon      = new FontIconSource {
                Glyph = "\uE713", FontFamily = new FontFamily("Segoe MDL2 Assets"), FontSize = 20
            };
            SettingsView view = new SettingsView();

            view.ViewModel.OnOpenTabRequested += ViewModel_OnOpenTabRequested;

            TabUiItem tabUiItem = this.GenerateTabUiItem(view, title, icon);

            return(tabUiItem);
        }
Beispiel #8
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="eventArgs"></param>
        private void ProcessWebViewHeaderChanged(WebViewHeaderChangedEventArgs eventArgs)
        {
            Guid browserId = eventArgs.BrowserId;

            TabUiItem tabUiItem = this.CurrentTabUiItems.FirstOrDefault(x => x.Content.GetType() == typeof(Browser) && (x.Content as Browser).ViewModel.GetId().Equals(browserId));

            if (tabUiItem != null)
            {
                string documentTitle = eventArgs.DocumentTitle;
                tabUiItem.DocumentTitle = documentTitle;

                string documentIcon = eventArgs.DocumentIcon;
                if (documentIcon == null)
                {
                    tabUiItem.DocumentIcon = null;
                }
                else
                {
                    tabUiItem.DocumentIcon = new BitmapIconSource {
                        UriSource = new Uri(documentIcon), ShowAsMonochrome = false
                    };
                }
            }
        }
 /// <summary>
 ///
 /// </summary>
 /// <param name="selectedItem"></param>
 public TabIndexChangedEventArgs(TabUiItem selectedItem)
 {
     SelectedItem = selectedItem;
 }
Beispiel #10
0
        /// <summary>
        ///
        /// </summary>
        private void OpenSettingsPage()
        {
            TabUiItem tabUiItem = this.GenerateSettingsPage();

            this.AddTab(tabUiItem);
        }
Beispiel #11
0
        /// <summary>
        ///
        /// </summary>
        private void OpenAboutPage()
        {
            TabUiItem tabUiItem = this.GenerateAboutPage();

            this.AddTab(tabUiItem);
        }