Пример #1
0
 internal void AddWebTab(
     string url,
     string tabName,
     string imageName,
     bool isSwitch,
     string tabKey     = "",
     bool forceRefresh = false)
 {
     if (FeatureManager.Instance.IsCustomUIForNCSoft)
     {
         return;
     }
     if (RegistryManager.Instance.InstallationType == InstallationTypes.GamingEdition)
     {
         Process.Start(url);
     }
     else
     {
         bool flag = false;
         if (!string.IsNullOrEmpty(tabKey))
         {
             flag = true;
         }
         if (this.mDictTabs.ContainsKey(flag ? tabKey : url))
         {
             if (this.mDictTabs[flag ? tabKey : url].GetBrowserControl() == null)
             {
                 this.mDictTabs[tabKey].mControlGrid = this.ParentWindow.AddBrowser(url);
                 this.mDictTabs[tabKey].Init(tabName, url, imageName, this.mDictTabs[tabKey].mControlGrid, tabKey);
             }
             if (flag && string.Compare(url, this.mDictTabs[tabKey].PackageName, StringComparison.OrdinalIgnoreCase) != 0)
             {
                 BrowserControl browserControl = this.mDictTabs[tabKey].GetBrowserControl();
                 this.mDictTabs[tabKey].Init(tabName, url, imageName, this.mDictTabs[tabKey].mControlGrid, tabKey);
                 browserControl?.UpdateUrlAndRefresh(url);
             }
             else if (forceRefresh)
             {
                 BrowserControl browserControl = this.mDictTabs[flag ? tabKey : url].GetBrowserControl();
                 browserControl.UpdateUrlAndRefresh(browserControl.mUrl);
             }
             this.GoToTab(flag ? tabKey : url, true, false);
         }
         else
         {
             AppTabButton button      = new AppTabButton();
             Grid         controlGrid = this.ParentWindow.AddBrowser(url);
             controlGrid.Visibility = Visibility.Visible;
             button.Init(tabName, url, imageName, controlGrid, flag ? tabKey : url);
             button.MouseUp += new MouseButtonEventHandler(this.AppTabButton_MouseUp);
             if (this.ParentWindow.mDiscordhandler != null)
             {
                 this.ParentWindow.mDiscordhandler.AssignTabChangeEvent(button);
             }
             this.mDictTabs.Add(flag ? tabKey : url, button);
             this.mPanel.Children.Add((UIElement)button);
             this.ResizeTabs();
             if (isSwitch)
             {
                 this.GoToTab(flag ? tabKey : url, true, false);
             }
             ClientStats.SendMiscellaneousStatsAsync("WebTabLaunched", RegistryManager.Instance.UserGuid, url, button.AppLabel, RegistryManager.Instance.Version, Oem.Instance.OEM, (string)null, (string)null, (string)null, "Android");
         }
     }
 }