Example #1
0
        protected override void OnPageLoad()
        {
            base.OnPageLoad();
            _mpRestartNeeded     = false;
            _restartPlayerNeeded = false;

            LoadSettings(false);
            _isSingleSeat = Utility.IsThisASingleSeatSetup(_serverSettings.ServerName);
            UpdateButtons();
            GUIPropertyManager.SetProperty("#currentmodule", Utility.GetLocalizedText(TextId.ArgusClientSettings));
        }
Example #2
0
 private bool TestConnection()
 {
     try
     {
         Cursor.Current                           = Cursors.WaitCursor;
         _serverSettings.ServerName               = _serverTextBox.Text.Trim();
         _serverSettings.Transport                = ServiceTransport.Http;
         _serverSettings.Port                     = (int)_portNumericUpDown.Value;
         _serverSettings.WakeOnLan.Enabled        = _useWolCheckBox.Checked;
         _serverSettings.WakeOnLan.TimeoutSeconds = (int)_wolSecondsNumericUpDown.Value;
         Proxies.Initialize(_serverSettings, logger: new Utility.ProxyLogger());
         _isSingleSeat = Utility.IsThisASingleSeatSetup(_serverSettings.ServerName);
         return(true);
     }
     catch (Exception ex)
     {
         MessageBox.Show(this, ex.Message, Utility.GetLocalizedText(TextId.Error), MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
     finally
     {
         Cursor.Current = Cursors.Default;
     }
     return(false);
 }
Example #3
0
        private bool TestConnection()
        {
            bool   wasConnected  = false;
            bool   portChanged   = false;
            bool   serverChanged = false;
            string errorMessage  = string.Empty;

            PluginMain.ForceNoConnection = true;
            if (ServiceChannelFactories.IsInitialized)
            {
                wasConnected = true;
                if (_serverNameButton.Label != ServiceChannelFactories.ServerSettings.ServerName)
                {
                    serverChanged = true;
                }
                if (Int32.Parse(_tcpPortButton.Label) != ServiceChannelFactories.ServerSettings.Port)
                {
                    portChanged = true;
                }
            }

            _serverSettings.ServerName               = _serverNameButton.Label;
            _serverSettings.Transport                = ServiceTransport.NetTcp;
            _serverSettings.Port                     = Int32.Parse(_tcpPortButton.Label);
            _serverSettings.WakeOnLan.Enabled        = _enableWolButton.Selected;
            _serverSettings.WakeOnLan.TimeoutSeconds = Int32.Parse(_WolTimeoutButton.SpinLabel);
            _isSingleSeat = Utility.IsThisASingleSeatSetup(_serverSettings.ServerName);

            if (Utility.InitialiseServerSettings(_serverSettings, out errorMessage))
            {
                GUIDialogOK pDlgOK = (GUIDialogOK)GUIWindowManager.GetWindow((int)Window.WINDOW_DIALOG_OK);
                if (pDlgOK != null)
                {
                    pDlgOK.Reset();
                    pDlgOK.SetHeading(Utility.GetLocalizedText(TextId.Information));
                    pDlgOK.SetLine(1, Utility.GetLocalizedText(TextId.ConnectionSucceeded));
                    pDlgOK.SetLine(2, "Single seat:" + _isSingleSeat);
                    pDlgOK.DoModal(this.GetID);
                }

                SaveSettings(true);
                PluginMain.ForceNoConnection = false;

                if (wasConnected && (serverChanged || portChanged))
                {
                    //we switched between 2 different servers, we suggest to restart mp.
                    _mpRestartNeeded = true;
                }
                return(true);
            }
            else
            {
                if (wasConnected)
                {
                    //load settings that worked before the test button was pressed.
                    LoadSettings(true);
                    UpdateButtons();

                    string error;
                    if (Utility.InitialiseServerSettings(_serverSettings, out error))
                    {
                        PluginMain.ForceNoConnection = false;
                    }
                }

                GUIDialogOK pDlgOK = (GUIDialogOK)GUIWindowManager.GetWindow((int)Window.WINDOW_DIALOG_OK);
                if (pDlgOK != null)
                {
                    pDlgOK.Reset();
                    pDlgOK.SetHeading(Utility.GetLocalizedText(TextId.Error));
                    pDlgOK.SetLine(1, Utility.GetLocalizedText(TextId.ConnectionFailed));
                    pDlgOK.SetLine(2, errorMessage);
                    pDlgOK.DoModal(this.GetID);
                }
            }
            return(false);
        }
Example #4
0
        private void SaveSettings(bool onlyServerSettings)
        {
            using (Settings xmlwriter = new MPSettings())
            {
                xmlwriter.SetValue(_settingSection, TvHome.SettingName.Server, _serverSettings.ServerName);
                xmlwriter.SetValue(_settingSection, TvHome.SettingName.TcpPort, _serverSettings.Port);
                xmlwriter.SetValue(_settingSection, TvHome.SettingName.MacAddresses, _serverSettings.WakeOnLan.MacAddresses);
                xmlwriter.SetValue(_settingSection, TvHome.SettingName.IPAddress, _serverSettings.WakeOnLan.IPAddress);
                xmlwriter.SetValueAsBool(_settingSection, TvHome.SettingName.UseWakeOnLan, _serverSettings.WakeOnLan.Enabled);
                xmlwriter.SetValue(_settingSection, TvHome.SettingName.WakeOnLanTimeoutSeconds, _serverSettings.WakeOnLan.TimeoutSeconds);

                if (!onlyServerSettings)
                {
                    xmlwriter.SetValueAsBool(_settingSection, TvHome.SettingName.NoClientStandbyWhenNotHome, _standbyOnHomeButton.Selected);
                    xmlwriter.SetValueAsBool(_settingSection, TvHome.SettingName.AvoidRtspForLiveTv, !_rtspStreamingTVButton.Selected);
                    xmlwriter.SetValueAsBool(_settingSection, TvHome.SettingName.PlayRecordingsOverRtsp, _rtspStreamingRecButton.Selected);
                    xmlwriter.SetValueAsBool(_settingSection, TvHome.SettingName.AutoStreamingMode, _autoStreamingButton.Selected);
                    xmlwriter.SetValueAsBool(_settingSection, TvHome.SettingName.IsSingleSeat, Utility.IsThisASingleSeatSetup(_serverSettings.ServerName));

                    xmlwriter.SetValueAsBool("mytv", "enableRecNotifier", _recordingNotificationButton.Selected);
                    xmlwriter.SetValueAsBool("mytv", "autofullscreen", _autoFullScreenButton.Selected);
                    xmlwriter.SetValueAsBool("mytv", "showchannelnumber", _showChannelNumbersButton.Selected);
                    xmlwriter.SetValueAsBool("mytv", "hideAllChannelsGroup", _hideAllChannelsGroupButton.Selected);
                    xmlwriter.SetValueAsBool("tvservice", "dvbbitmapsubtitles", _dvbSubtitlesButton.Selected);
                    xmlwriter.SetValueAsBool("tvservice", "dvbttxtsubtitles", _teletextSubtitleButton.Selected);
                    xmlwriter.SetValueAsBool("tvservice", "preferac3", _preferAC3Button.Selected);
                }
            }

            PluginMain.ClearCachedBooleanSettings();
            if (PluginMain.Navigator != null)
            {
                PluginMain.Navigator.Reload();
            }

            TvHome.SettingChanged();
            HomeBase.OnSettingChanged();
        }