コード例 #1
0
        /// <summary>
        /// Import several new progams into the guide.
        /// </summary>
        /// <param name="guidePrograms">An array containing all programs to import.</param>
        /// <param name="source">The source of the programs.</param>
        public async Task ImportPrograms(IEnumerable <GuideProgram> guidePrograms, GuideSource source)
        {
            var request = NewRequest(HttpMethod.Post, "ImportPrograms");

            request.AddBody(new
            {
                Programs = guidePrograms,
                Source   = source
            });
            await ExecuteAsync(request).ConfigureAwait(false);
        }
コード例 #2
0
        /// <summary>
        /// Import a new program into the guide.
        /// </summary>
        /// <param name="guideProgram">The program to import.</param>
        /// <param name="source">The source of the program.</param>
        /// <returns>The ID of the imported program.</returns>
        public async Task <Guid> ImportProgram(GuideProgram guideProgram, GuideSource source)
        {
            var request = NewRequest(HttpMethod.Post, "ImportNewProgram");

            request.AddBody(new
            {
                Program = guideProgram,
                Source  = source
            });
            var result = await ExecuteAsync <GuideProgramIdResult>(request).ConfigureAwait(false);

            return(result.GuideProgramId);
        }
コード例 #3
0
        private GuideSource GetGuideSourceFromString(string source)
        {
            GuideSource guideSource = GuideSource.Other;

            if (source == GuideSource.DvbEpg.ToString())
            {
                guideSource = GuideSource.DvbEpg;
            }
            else if (source == GuideSource.XmlTv.ToString())
            {
                guideSource = GuideSource.XmlTv;
            }
            else if (source == GuideSource.Other.ToString())
            {
                guideSource = GuideSource.Other;
            }
            return(guideSource);
        }
コード例 #4
0
        private void OnchangeEpgSource()
        {
            GUIDialogMenu dlg = (GUIDialogMenu)GUIWindowManager.GetWindow((int)GUIWindow.Window.WINDOW_DIALOG_MENU);

            if (dlg != null)
            {
                dlg.Reset();
                dlg.SetHeading(Utility.GetLocalizedText(TextId.PreferedEPGSource));

                dlg.Add(GuideSource.XmlTv.ToString());
                dlg.Add(GuideSource.DvbEpg.ToString());

                int selectedId = 0;
                if (_currentGuideSource == GuideSource.XmlTv)
                {
                    selectedId = 0;
                }
                else if (_currentGuideSource == GuideSource.DvbEpg)
                {
                    selectedId = 1;
                }
                dlg.SelectedLabel = selectedId;

                dlg.DoModal(GetID);
                if (dlg.SelectedId > 0)
                {
                    switch (dlg.SelectedLabel)
                    {
                    case 0:
                        _currentGuideSource = GuideSource.XmlTv;
                        break;

                    case 1:
                        _currentGuideSource = GuideSource.DvbEpg;
                        break;
                    }
                }
            }
        }
コード例 #5
0
        private void ReloadSettingsUI()
        {
            _preRecordSeconds = Utility.SetDateTimePickerValue(MainForm, _preRecDateTimePicker, ConfigurationKey.Scheduler.PreRecordsSeconds);
            _postRecordSeconds = Utility.SetDateTimePickerValue(MainForm, _postRecDateTimePicker, ConfigurationKey.Scheduler.PostRecordsSeconds);

            _keepUntilMode = KeepUntilMode.UntilSpaceIsNeeded;
            string keepUntilMode = Proxies.ConfigurationService.GetStringValue(ConfigurationModule.Scheduler, ConfigurationKey.Scheduler.DefaultKeepUntilMode).Result;
            if (!String.IsNullOrEmpty(keepUntilMode))
            {
                _keepUntilMode = (KeepUntilMode)Enum.Parse(typeof(KeepUntilMode), keepUntilMode);
            }
            _keepUntilValue = Proxies.ConfigurationService.GetIntValue(ConfigurationModule.Scheduler, ConfigurationKey.Scheduler.DefaultKeepUntilValue).Result;
            _keepUntilControl.SetKeepUntil(_keepUntilMode, _keepUntilValue);

            // TV-Guide
            string preferredSourceString = Proxies.ConfigurationService.GetStringValue(ConfigurationModule.Scheduler, ConfigurationKey.Scheduler.PreferredGuideSource).Result;
            _preferredSource = GuideSource.Other;
            if (!String.IsNullOrEmpty(preferredSourceString))
            {
                _preferredSource = (GuideSource)Enum.Parse(typeof(GuideSource), preferredSourceString);
            }
            _sourceComboBox.SelectedIndex = (_preferredSource == GuideSource.XmlTv) ? 0 : 1;

            // Recording conflicts
            _combineConsecutiveRecordings = GetBooleanSetting(ConfigurationKey.Scheduler.CombineConsecutiveRecordings);
            _combineConsecutiveRecordingsCheckBox.Checked = _combineConsecutiveRecordings;
            _autoCombineConsecutiveRecordings = GetBooleanSetting(ConfigurationKey.Scheduler.AutoCombineConsecutiveRecordings);
            _autoCombineConsecutiveRecordingsCheckBox.Checked = _autoCombineConsecutiveRecordings;
            _combineRecordingsOnlyOnSameChannel = GetBooleanSetting(ConfigurationKey.Scheduler.CombineRecordingsOnlyOnSameChannel);
            _combineRecordingsOnlyOnSameChannelCheckBox.Checked = _combineRecordingsOnlyOnSameChannel;
            _swapRecorderdTunerPriority = GetBooleanSetting(ConfigurationKey.Scheduler.SwapRecorderTunerPriorityForRecordings);
            _swapRecorderdTunerPriorityCheckBox.Checked = _swapRecorderdTunerPriority;

            // eMail server
            _smtpServerTextBox.Text = Proxies.ConfigurationService.GetStringValue(
                ConfigurationModule.Scheduler, ConfigurationKey.Scheduler.SmtpServer).Result;
            _smtpPortNumericUpDown.Value = Proxies.ConfigurationService.GetIntValue(
                ConfigurationModule.Scheduler, ConfigurationKey.Scheduler.SmtpPort).Result.Value;
            _smtpUserNameTextBox.Text = Proxies.ConfigurationService.GetStringValue(
                ConfigurationModule.Scheduler, ConfigurationKey.Scheduler.SmtpUserName).Result;
            _smtpPasswordTextBox.Text = Proxies.ConfigurationService.GetStringValue(
                ConfigurationModule.Scheduler, ConfigurationKey.Scheduler.SmtpPassword).Result;
            _smtpUseSslCheckBox.Checked = GetBooleanSetting(ConfigurationKey.Scheduler.SmtpEnableSsl);
            _adminEmailsTextBox.Text = Proxies.ConfigurationService.GetStringValue(
                ConfigurationModule.Scheduler, ConfigurationKey.Scheduler.AdministratorEmail).Result;
            _fromEmailTextBox.Text = Proxies.ConfigurationService.GetStringValue(
                ConfigurationModule.Scheduler, ConfigurationKey.Scheduler.EmailSender).Result;

            // IMBot settings            
            _msnUserNameTextBox.Text = Proxies.ConfigurationService.GetStringValue(ConfigurationModule.Messenger, ConfigurationKey.Messenger.MsnAccount).Result;
            _msnPasswordTextBox.Text = Proxies.ConfigurationService.GetStringValue(ConfigurationModule.Messenger, ConfigurationKey.Messenger.MsnPassword).Result;
            int? minutesBeforeAlert = Proxies.ConfigurationService.GetIntValue(ConfigurationModule.Messenger, ConfigurationKey.Messenger.MinutesBeforeAlert).Result;
            if (minutesBeforeAlert.HasValue)
            {
                _msnMinutesBeforeAlert.Value = minutesBeforeAlert.Value;
            }
            _msnAddressesTextBox.Text = Proxies.ConfigurationService.GetStringValue(ConfigurationModule.Messenger, ConfigurationKey.Messenger.MsnContactList).Result;

            // ARGUS TV Scheduler
            _serverTextBox.Text = Proxies.ServerSettings.ServiceUrlPrefix;
            bool? includeBetaVersionsInUpdateCheck =
                Proxies.ConfigurationService.GetBooleanValue(ConfigurationModule.Scheduler, ConfigurationKey.Scheduler.IncludeBetaVersionsInUpdateCheck).Result;
            _includeBetaVersionsInUpdateCheck = includeBetaVersionsInUpdateCheck.HasValue && includeBetaVersionsInUpdateCheck.Value;
            _checkBetaVersionsCheckBox.Checked = _includeBetaVersionsInUpdateCheck;

            // Disk space settings
            int minimumFreeDiskSpaceInMB = Proxies.ConfigurationService.GetIntValue(ConfigurationModule.Scheduler, ConfigurationKey.Scheduler.MinimumFreeDiskSpaceInMB).Result.Value;
            if (minimumFreeDiskSpaceInMB >= _minFreeDiskSpaceNumericUpDown.Minimum && minimumFreeDiskSpaceInMB <= _minFreeDiskSpaceNumericUpDown.Maximum)
            {
                _minFreeDiskSpaceNumericUpDown.Value = minimumFreeDiskSpaceInMB;
            }
            else
            {
                _minFreeDiskSpaceNumericUpDown.Minimum = minimumFreeDiskSpaceInMB;
                _minFreeDiskSpaceNumericUpDown.Value = minimumFreeDiskSpaceInMB;
            }
            _freeDiskSpaceNumericUpDown.Minimum = _minFreeDiskSpaceNumericUpDown.Value;

            int freeDiskSpaceInMB = Proxies.ConfigurationService.GetIntValue(ConfigurationModule.Scheduler, ConfigurationKey.Scheduler.FreeDiskSpaceInMB).Result.Value;
            if (freeDiskSpaceInMB >= _freeDiskSpaceNumericUpDown.Minimum && freeDiskSpaceInMB <= _freeDiskSpaceNumericUpDown.Maximum)
            {
                _freeDiskSpaceNumericUpDown.Value = freeDiskSpaceInMB;
            }
            else
            {
                _freeDiskSpaceNumericUpDown.Value = _freeDiskSpaceNumericUpDown.Minimum;
            }

            this._minFreeDiskSpaceNumericUpDown.ValueChanged += new System.EventHandler(this._minFreeDiskSpaceNumericUpDown_ValueChanged);

            int wakeupMinutes = Proxies.ConfigurationService.GetIntValue(ConfigurationModule.Scheduler, ConfigurationKey.Scheduler.WakeupBeforeEventMinutes).Result.Value;
            _wakeupMinutesNumericUpDown.Value = Math.Max(wakeupMinutes, _wakeupMinutesNumericUpDown.Minimum);

            _createThumbnails = GetBooleanSetting(ConfigurationKey.Scheduler.CreateVideoThumbnails);
            _createThumbnailsCheckBox.Checked = _createThumbnails;
            _alwaysCreate4trFiles = GetBooleanSetting(ConfigurationKey.Scheduler.AlwaysCreateMetadataFiles);
            _alwaysCreate4trFilesCheckBox.Checked = _alwaysCreate4trFiles;

            EnableButtons();
        }
コード例 #6
0
        private void OnchangeEpgSource()
        {
            GUIDialogMenu dlg = (GUIDialogMenu)GUIWindowManager.GetWindow((int)GUIWindow.Window.WINDOW_DIALOG_MENU);
            if (dlg != null)
            {
                dlg.Reset();
                dlg.SetHeading(Utility.GetLocalizedText(TextId.PreferedEPGSource));

                dlg.Add(GuideSource.XmlTv.ToString());
                dlg.Add(GuideSource.DvbEpg.ToString());

                int selectedId = 0;
                if (_currentGuideSource == GuideSource.XmlTv)
                {
                    selectedId = 0;
                }
                else if (_currentGuideSource == GuideSource.DvbEpg)
                {
                    selectedId = 1;
                }
                dlg.SelectedLabel = selectedId;

                dlg.DoModal(GetID);
                if (dlg.SelectedId > 0)
                {
                    switch (dlg.SelectedLabel)
                    {
                        case 0:
                            _currentGuideSource = GuideSource.XmlTv;
                            break;
                        case 1 :
                            _currentGuideSource = GuideSource.DvbEpg;
                            break;
                    }
                }
            }
        }
コード例 #7
0
        private void LoadSettings()
        {
            Log.Debug("ServerSettingsBase: LoadSettings()");
            bool? _autoCreateThumbs = ConfigurationServiceAgent.GetBooleanValue(ConfigurationModule.Scheduler, ConfigurationKey.Scheduler.CreateVideoThumbnails, true);
            bool? _metaDataForRecs = ConfigurationServiceAgent.GetBooleanValue(ConfigurationModule.Scheduler, ConfigurationKey.Scheduler.AlwaysCreateMetadataFiles, true);
            bool? _swapTunerPriority = ConfigurationServiceAgent.GetBooleanValue(ConfigurationModule.Scheduler, ConfigurationKey.Scheduler.SwapRecorderTunerPriorityForRecordings, true);
            bool? _autoCombineConsecutive = ConfigurationServiceAgent.GetBooleanValue(ConfigurationModule.Scheduler, ConfigurationKey.Scheduler.AutoCombineConsecutiveRecordings, true);
            bool? _combineConsecutive = ConfigurationServiceAgent.GetBooleanValue(ConfigurationModule.Scheduler, ConfigurationKey.Scheduler.CombineConsecutiveRecordings, true);
            bool? _combineOnlyOnSameChannel = ConfigurationServiceAgent.GetBooleanValue(ConfigurationModule.Scheduler, ConfigurationKey.Scheduler.CombineRecordingsOnlyOnSameChannel, true);

            int? _preRecord = ConfigurationServiceAgent.GetIntValue(ConfigurationModule.Scheduler, ConfigurationKey.Scheduler.PreRecordsSeconds, true);
            int? _postRecord = ConfigurationServiceAgent.GetIntValue(ConfigurationModule.Scheduler, ConfigurationKey.Scheduler.PostRecordsSeconds, true);
            int? _keepUntilValue = ConfigurationServiceAgent.GetIntValue(ConfigurationModule.Scheduler, ConfigurationKey.Scheduler.DefaultKeepUntilValue, true);
            int? _freeDiskSpace = ConfigurationServiceAgent.GetIntValue(ConfigurationModule.Scheduler, ConfigurationKey.Scheduler.FreeDiskSpaceInMB, true);
            int? _minFreeDiskSpace = ConfigurationServiceAgent.GetIntValue(ConfigurationModule.Scheduler, ConfigurationKey.Scheduler.MinimumFreeDiskSpaceInMB, true);

            string _keepUntilMode = ConfigurationServiceAgent.GetStringValue(ConfigurationModule.Scheduler, ConfigurationKey.Scheduler.DefaultKeepUntilMode, true);
            string _guideSource = ConfigurationServiceAgent.GetStringValue(ConfigurationModule.Scheduler, ConfigurationKey.Scheduler.PreferredGuideSource, true);

            if (_autoCreateThumbs.HasValue) _autoCreateThumbsButton.Selected = _autoCreateThumbs.Value;
            if (_metaDataForRecs.HasValue) _metaDataForRecsButton.Selected = _metaDataForRecs.Value;
            if (_keepUntilValue.HasValue) _currentKeepUntilValue = _keepUntilValue.Value;
            if (_keepUntilMode != string.Empty) _currentKeepUntilMode = GetKeepUntilModeFromString(_keepUntilMode);
            if (_guideSource != string.Empty) _currentGuideSource = GetGuideSourceFromString(_guideSource);

            _autoCreateThumbsButton.IsEnabled = _autoCreateThumbs.HasValue;
            _metaDataForRecsButton.IsEnabled = _metaDataForRecs.HasValue;
            _preRecordButton.IsEnabled = _preRecord.HasValue;
            _postRecordButton.IsEnabled = _postRecord.HasValue;
            _keepUntilValueButton.IsEnabled = _keepUntilValue.HasValue;
            _freeDiskSpaceSpinButton.IsEnabled = _freeDiskSpace.HasValue;
            _minFreeDiskSpaceSpinButton.IsEnabled = _minFreeDiskSpace.HasValue;

            if (_preRecord.HasValue)
            {
                int prerec = _preRecord.Value/60;
                bool valueFoundInList = false;

                for (int i = 0; i <= 60; i++)
                {
                    _preRecordButton.AddSpinLabel(i.ToString(), 0);
                    if (i == prerec) valueFoundInList = true;
                }

                if (valueFoundInList)
                {
                    _preRecordButton.SpinValue = prerec;
                }
                else
                {
                    _preRecordButton.AddSpinLabel(prerec.ToString(), 0);
                    _preRecordButton.SpinValue = _preRecordButton.SpinMaxValue() - 1;
                }
            }
            if (_postRecord.HasValue)
            {
                int postrec = _postRecord.Value/60;
                bool valueFoundInList = false;

                for (int i = 0; i <= 60; i++)
                {
                    _postRecordButton.AddSpinLabel(i.ToString(), 0);
                    if (i == postrec) valueFoundInList = true;
                }

                if (valueFoundInList)
                {
                    _postRecordButton.SpinValue = postrec;
                }
                else
                {
                    _postRecordButton.AddSpinLabel(postrec.ToString(), 0);
                    _postRecordButton.SpinValue = _postRecordButton.SpinMaxValue() - 1;
                }
            }
            if (_freeDiskSpace.HasValue)
            {
                int freespace = _freeDiskSpace.Value/1000;
                bool valueFoundInList = false;

                for (int i = 1; i < 1000; i++)
                {
                    _freeDiskSpaceSpinButton.AddSpinLabel(i.ToString(), 0);
                    if (i == freespace) valueFoundInList = true;
                }

                if (valueFoundInList)
                {
                    _freeDiskSpaceSpinButton.SpinValue = freespace - 1;
                }
                else
                {
                    _freeDiskSpaceSpinButton.AddSpinLabel(freespace.ToString(), 0);
                    _freeDiskSpaceSpinButton.SpinValue = _freeDiskSpaceSpinButton.SpinMaxValue() - 1;
                }
            }
            if (_minFreeDiskSpace.HasValue)
            {
                int freespace = _minFreeDiskSpace.Value/1000;
                bool valueFoundInList = false;

                for (int i = 1; i <= 1000; i++)
                {
                    _minFreeDiskSpaceSpinButton.AddSpinLabel(i.ToString(), 0);
                    if (i == freespace) valueFoundInList = true;
                }

                if (valueFoundInList)
                {
                    _minFreeDiskSpaceSpinButton.SpinValue = freespace - 1;
                }
                else
                {
                    _minFreeDiskSpaceSpinButton.AddSpinLabel(freespace.ToString(), 0);
                    _minFreeDiskSpaceSpinButton.SpinValue = _minFreeDiskSpaceSpinButton.SpinMaxValue() - 1;
                }
            }
        }
コード例 #8
0
 /// <summary>
 /// Import several new progams into the guide.
 /// </summary>
 /// <param name="guidePrograms">An array containing all programs to import.</param>
 /// <param name="source">The source of the programs.</param>
 public async Task ImportPrograms(IEnumerable<GuideProgram> guidePrograms, GuideSource source)
 {
     var request = NewRequest(HttpMethod.Post, "ImportPrograms");
     request.AddBody(new
     {
         Programs = guidePrograms,
         Source = source
     });
     await ExecuteAsync(request).ConfigureAwait(false);
 }
コード例 #9
0
 /// <summary>
 /// Import a new program into the guide.
 /// </summary>
 /// <param name="guideProgram">The program to import.</param>
 /// <param name="source">The source of the program.</param>
 /// <returns>The ID of the imported program.</returns>
 public async Task<Guid> ImportProgram(GuideProgram guideProgram, GuideSource source)
 {
     var request = NewRequest(HttpMethod.Post, "ImportNewProgram");
     request.AddBody(new
     {
         Program = guideProgram,
         Source = source
     });
     var result = await ExecuteAsync<GuideProgramIdResult>(request).ConfigureAwait(false);
     return result.GuideProgramId;
 }
コード例 #10
0
        private void LoadSettings()
        {
            Log.Debug("ServerSettingsBase: LoadSettings()");
            bool?_autoCreateThumbs         = Proxies.ConfigurationService.GetBooleanValue(ConfigurationModule.Scheduler, ConfigurationKey.Scheduler.CreateVideoThumbnails).Result;
            bool?_metaDataForRecs          = Proxies.ConfigurationService.GetBooleanValue(ConfigurationModule.Scheduler, ConfigurationKey.Scheduler.AlwaysCreateMetadataFiles).Result;
            bool?_swapTunerPriority        = Proxies.ConfigurationService.GetBooleanValue(ConfigurationModule.Scheduler, ConfigurationKey.Scheduler.SwapRecorderTunerPriorityForRecordings).Result;
            bool?_autoCombineConsecutive   = Proxies.ConfigurationService.GetBooleanValue(ConfigurationModule.Scheduler, ConfigurationKey.Scheduler.AutoCombineConsecutiveRecordings).Result;
            bool?_combineConsecutive       = Proxies.ConfigurationService.GetBooleanValue(ConfigurationModule.Scheduler, ConfigurationKey.Scheduler.CombineConsecutiveRecordings).Result;
            bool?_combineOnlyOnSameChannel = Proxies.ConfigurationService.GetBooleanValue(ConfigurationModule.Scheduler, ConfigurationKey.Scheduler.CombineRecordingsOnlyOnSameChannel).Result;

            int?_preRecord        = Proxies.ConfigurationService.GetIntValue(ConfigurationModule.Scheduler, ConfigurationKey.Scheduler.PreRecordsSeconds).Result;
            int?_postRecord       = Proxies.ConfigurationService.GetIntValue(ConfigurationModule.Scheduler, ConfigurationKey.Scheduler.PostRecordsSeconds).Result;
            int?_keepUntilValue   = Proxies.ConfigurationService.GetIntValue(ConfigurationModule.Scheduler, ConfigurationKey.Scheduler.DefaultKeepUntilValue).Result;
            int?_freeDiskSpace    = Proxies.ConfigurationService.GetIntValue(ConfigurationModule.Scheduler, ConfigurationKey.Scheduler.FreeDiskSpaceInMB).Result;
            int?_minFreeDiskSpace = Proxies.ConfigurationService.GetIntValue(ConfigurationModule.Scheduler, ConfigurationKey.Scheduler.MinimumFreeDiskSpaceInMB).Result;

            string _keepUntilMode = Proxies.ConfigurationService.GetStringValue(ConfigurationModule.Scheduler, ConfigurationKey.Scheduler.DefaultKeepUntilMode).Result;
            string _guideSource   = Proxies.ConfigurationService.GetStringValue(ConfigurationModule.Scheduler, ConfigurationKey.Scheduler.PreferredGuideSource).Result;

            if (_autoCreateThumbs.HasValue)
            {
                _autoCreateThumbsButton.Selected = _autoCreateThumbs.Value;
            }
            if (_metaDataForRecs.HasValue)
            {
                _metaDataForRecsButton.Selected = _metaDataForRecs.Value;
            }
            if (_keepUntilValue.HasValue)
            {
                _currentKeepUntilValue = _keepUntilValue.Value;
            }
            if (_keepUntilMode != string.Empty)
            {
                _currentKeepUntilMode = GetKeepUntilModeFromString(_keepUntilMode);
            }
            if (_guideSource != string.Empty)
            {
                _currentGuideSource = GetGuideSourceFromString(_guideSource);
            }

            _autoCreateThumbsButton.IsEnabled     = _autoCreateThumbs.HasValue;
            _metaDataForRecsButton.IsEnabled      = _metaDataForRecs.HasValue;
            _preRecordButton.IsEnabled            = _preRecord.HasValue;
            _postRecordButton.IsEnabled           = _postRecord.HasValue;
            _keepUntilValueButton.IsEnabled       = _keepUntilValue.HasValue;
            _freeDiskSpaceSpinButton.IsEnabled    = _freeDiskSpace.HasValue;
            _minFreeDiskSpaceSpinButton.IsEnabled = _minFreeDiskSpace.HasValue;

            if (_preRecord.HasValue)
            {
                int  prerec           = _preRecord.Value / 60;
                bool valueFoundInList = false;

                for (int i = 0; i <= 60; i++)
                {
                    _preRecordButton.AddSpinLabel(i.ToString(), 0);
                    if (i == prerec)
                    {
                        valueFoundInList = true;
                    }
                }

                if (valueFoundInList)
                {
                    _preRecordButton.SpinValue = prerec;
                }
                else
                {
                    _preRecordButton.AddSpinLabel(prerec.ToString(), 0);
                    _preRecordButton.SpinValue = _preRecordButton.SpinMaxValue() - 1;
                }
            }
            if (_postRecord.HasValue)
            {
                int  postrec          = _postRecord.Value / 60;
                bool valueFoundInList = false;

                for (int i = 0; i <= 60; i++)
                {
                    _postRecordButton.AddSpinLabel(i.ToString(), 0);
                    if (i == postrec)
                    {
                        valueFoundInList = true;
                    }
                }

                if (valueFoundInList)
                {
                    _postRecordButton.SpinValue = postrec;
                }
                else
                {
                    _postRecordButton.AddSpinLabel(postrec.ToString(), 0);
                    _postRecordButton.SpinValue = _postRecordButton.SpinMaxValue() - 1;
                }
            }
            if (_freeDiskSpace.HasValue)
            {
                int  freespace        = _freeDiskSpace.Value / 1000;
                bool valueFoundInList = false;

                for (int i = 1; i < 1000; i++)
                {
                    _freeDiskSpaceSpinButton.AddSpinLabel(i.ToString(), 0);
                    if (i == freespace)
                    {
                        valueFoundInList = true;
                    }
                }

                if (valueFoundInList)
                {
                    _freeDiskSpaceSpinButton.SpinValue = freespace - 1;
                }
                else
                {
                    _freeDiskSpaceSpinButton.AddSpinLabel(freespace.ToString(), 0);
                    _freeDiskSpaceSpinButton.SpinValue = _freeDiskSpaceSpinButton.SpinMaxValue() - 1;
                }
            }
            if (_minFreeDiskSpace.HasValue)
            {
                int  freespace        = _minFreeDiskSpace.Value / 1000;
                bool valueFoundInList = false;

                for (int i = 1; i <= 1000; i++)
                {
                    _minFreeDiskSpaceSpinButton.AddSpinLabel(i.ToString(), 0);
                    if (i == freespace)
                    {
                        valueFoundInList = true;
                    }
                }

                if (valueFoundInList)
                {
                    _minFreeDiskSpaceSpinButton.SpinValue = freespace - 1;
                }
                else
                {
                    _minFreeDiskSpaceSpinButton.AddSpinLabel(freespace.ToString(), 0);
                    _minFreeDiskSpaceSpinButton.SpinValue = _minFreeDiskSpaceSpinButton.SpinMaxValue() - 1;
                }
            }
        }
コード例 #11
0
ファイル: SettingsPanel.cs プロジェクト: rob-opsi/ARGUS-TV
        private void ReloadSettingsUI()
        {
            _preRecordSeconds  = Utility.SetDateTimePickerValue(MainForm, _preRecDateTimePicker, ConfigurationKey.Scheduler.PreRecordsSeconds);
            _postRecordSeconds = Utility.SetDateTimePickerValue(MainForm, _postRecDateTimePicker, ConfigurationKey.Scheduler.PostRecordsSeconds);

            _keepUntilMode = KeepUntilMode.UntilSpaceIsNeeded;
            string keepUntilMode = Proxies.ConfigurationService.GetStringValue(ConfigurationModule.Scheduler, ConfigurationKey.Scheduler.DefaultKeepUntilMode).Result;

            if (!String.IsNullOrEmpty(keepUntilMode))
            {
                _keepUntilMode = (KeepUntilMode)Enum.Parse(typeof(KeepUntilMode), keepUntilMode);
            }
            _keepUntilValue = Proxies.ConfigurationService.GetIntValue(ConfigurationModule.Scheduler, ConfigurationKey.Scheduler.DefaultKeepUntilValue).Result;
            _keepUntilControl.SetKeepUntil(_keepUntilMode, _keepUntilValue);

            // TV-Guide
            string preferredSourceString = Proxies.ConfigurationService.GetStringValue(ConfigurationModule.Scheduler, ConfigurationKey.Scheduler.PreferredGuideSource).Result;

            _preferredSource = GuideSource.Other;
            if (!String.IsNullOrEmpty(preferredSourceString))
            {
                _preferredSource = (GuideSource)Enum.Parse(typeof(GuideSource), preferredSourceString);
            }
            _sourceComboBox.SelectedIndex = (_preferredSource == GuideSource.XmlTv) ? 0 : 1;

            // Recording conflicts
            _combineConsecutiveRecordings = GetBooleanSetting(ConfigurationKey.Scheduler.CombineConsecutiveRecordings);
            _combineConsecutiveRecordingsCheckBox.Checked       = _combineConsecutiveRecordings;
            _autoCombineConsecutiveRecordings                   = GetBooleanSetting(ConfigurationKey.Scheduler.AutoCombineConsecutiveRecordings);
            _autoCombineConsecutiveRecordingsCheckBox.Checked   = _autoCombineConsecutiveRecordings;
            _combineRecordingsOnlyOnSameChannel                 = GetBooleanSetting(ConfigurationKey.Scheduler.CombineRecordingsOnlyOnSameChannel);
            _combineRecordingsOnlyOnSameChannelCheckBox.Checked = _combineRecordingsOnlyOnSameChannel;
            _swapRecorderdTunerPriority = GetBooleanSetting(ConfigurationKey.Scheduler.SwapRecorderTunerPriorityForRecordings);
            _swapRecorderdTunerPriorityCheckBox.Checked = _swapRecorderdTunerPriority;

            // eMail server
            _smtpServerTextBox.Text = Proxies.ConfigurationService.GetStringValue(
                ConfigurationModule.Scheduler, ConfigurationKey.Scheduler.SmtpServer).Result;
            _smtpPortNumericUpDown.Value = Proxies.ConfigurationService.GetIntValue(
                ConfigurationModule.Scheduler, ConfigurationKey.Scheduler.SmtpPort).Result.Value;
            _smtpUserNameTextBox.Text = Proxies.ConfigurationService.GetStringValue(
                ConfigurationModule.Scheduler, ConfigurationKey.Scheduler.SmtpUserName).Result;
            _smtpPasswordTextBox.Text = Proxies.ConfigurationService.GetStringValue(
                ConfigurationModule.Scheduler, ConfigurationKey.Scheduler.SmtpPassword).Result;
            _smtpUseSslCheckBox.Checked = GetBooleanSetting(ConfigurationKey.Scheduler.SmtpEnableSsl);
            _adminEmailsTextBox.Text    = Proxies.ConfigurationService.GetStringValue(
                ConfigurationModule.Scheduler, ConfigurationKey.Scheduler.AdministratorEmail).Result;
            _fromEmailTextBox.Text = Proxies.ConfigurationService.GetStringValue(
                ConfigurationModule.Scheduler, ConfigurationKey.Scheduler.EmailSender).Result;

            // IMBot settings
            _msnUserNameTextBox.Text = Proxies.ConfigurationService.GetStringValue(ConfigurationModule.Messenger, ConfigurationKey.Messenger.MsnAccount).Result;
            _msnPasswordTextBox.Text = Proxies.ConfigurationService.GetStringValue(ConfigurationModule.Messenger, ConfigurationKey.Messenger.MsnPassword).Result;
            int?minutesBeforeAlert = Proxies.ConfigurationService.GetIntValue(ConfigurationModule.Messenger, ConfigurationKey.Messenger.MinutesBeforeAlert).Result;

            if (minutesBeforeAlert.HasValue)
            {
                _msnMinutesBeforeAlert.Value = minutesBeforeAlert.Value;
            }
            _msnAddressesTextBox.Text = Proxies.ConfigurationService.GetStringValue(ConfigurationModule.Messenger, ConfigurationKey.Messenger.MsnContactList).Result;

            // ARGUS TV Scheduler
            _serverTextBox.Text = Proxies.ServerSettings.ServiceUrlPrefix;
            bool?includeBetaVersionsInUpdateCheck =
                Proxies.ConfigurationService.GetBooleanValue(ConfigurationModule.Scheduler, ConfigurationKey.Scheduler.IncludeBetaVersionsInUpdateCheck).Result;

            _includeBetaVersionsInUpdateCheck  = includeBetaVersionsInUpdateCheck.HasValue && includeBetaVersionsInUpdateCheck.Value;
            _checkBetaVersionsCheckBox.Checked = _includeBetaVersionsInUpdateCheck;

            // Disk space settings
            int minimumFreeDiskSpaceInMB = Proxies.ConfigurationService.GetIntValue(ConfigurationModule.Scheduler, ConfigurationKey.Scheduler.MinimumFreeDiskSpaceInMB).Result.Value;

            if (minimumFreeDiskSpaceInMB >= _minFreeDiskSpaceNumericUpDown.Minimum && minimumFreeDiskSpaceInMB <= _minFreeDiskSpaceNumericUpDown.Maximum)
            {
                _minFreeDiskSpaceNumericUpDown.Value = minimumFreeDiskSpaceInMB;
            }
            else
            {
                _minFreeDiskSpaceNumericUpDown.Minimum = minimumFreeDiskSpaceInMB;
                _minFreeDiskSpaceNumericUpDown.Value   = minimumFreeDiskSpaceInMB;
            }
            _freeDiskSpaceNumericUpDown.Minimum = _minFreeDiskSpaceNumericUpDown.Value;

            int freeDiskSpaceInMB = Proxies.ConfigurationService.GetIntValue(ConfigurationModule.Scheduler, ConfigurationKey.Scheduler.FreeDiskSpaceInMB).Result.Value;

            if (freeDiskSpaceInMB >= _freeDiskSpaceNumericUpDown.Minimum && freeDiskSpaceInMB <= _freeDiskSpaceNumericUpDown.Maximum)
            {
                _freeDiskSpaceNumericUpDown.Value = freeDiskSpaceInMB;
            }
            else
            {
                _freeDiskSpaceNumericUpDown.Value = _freeDiskSpaceNumericUpDown.Minimum;
            }

            this._minFreeDiskSpaceNumericUpDown.ValueChanged += new System.EventHandler(this._minFreeDiskSpaceNumericUpDown_ValueChanged);

            int wakeupMinutes = Proxies.ConfigurationService.GetIntValue(ConfigurationModule.Scheduler, ConfigurationKey.Scheduler.WakeupBeforeEventMinutes).Result.Value;

            _wakeupMinutesNumericUpDown.Value = Math.Max(wakeupMinutes, _wakeupMinutesNumericUpDown.Minimum);

            _createThumbnails = GetBooleanSetting(ConfigurationKey.Scheduler.CreateVideoThumbnails);
            _createThumbnailsCheckBox.Checked     = _createThumbnails;
            _alwaysCreate4trFiles                 = GetBooleanSetting(ConfigurationKey.Scheduler.AlwaysCreateMetadataFiles);
            _alwaysCreate4trFilesCheckBox.Checked = _alwaysCreate4trFiles;

            EnableButtons();
        }
コード例 #12
0
ファイル: SettingsPanel.cs プロジェクト: rob-opsi/ARGUS-TV
        public override void OnSave()
        {
            try
            {
                Cursor.Current = Cursors.WaitCursor;

                // Schedules
                int preRecordSeconds = (int)_preRecDateTimePicker.Value.TimeOfDay.TotalSeconds;
                if (preRecordSeconds != _preRecordSeconds)
                {
                    Proxies.ConfigurationService.SetIntValue(ConfigurationModule.Scheduler, ConfigurationKey.Scheduler.PreRecordsSeconds, preRecordSeconds).Wait();
                }
                int postRecordSeconds = (int)_postRecDateTimePicker.Value.TimeOfDay.TotalSeconds;
                if (postRecordSeconds != _postRecordSeconds)
                {
                    Proxies.ConfigurationService.SetIntValue(ConfigurationModule.Scheduler, ConfigurationKey.Scheduler.PostRecordsSeconds, postRecordSeconds).Wait();
                }
                if (_keepUntilControl.KeepUntilMode != _keepUntilMode)
                {
                    Proxies.ConfigurationService.SetStringValue(ConfigurationModule.Scheduler, ConfigurationKey.Scheduler.DefaultKeepUntilMode, _keepUntilControl.KeepUntilMode.ToString()).Wait();
                }
                if (_keepUntilControl.KeepUntilValue != _keepUntilValue)
                {
                    Proxies.ConfigurationService.SetIntValue(ConfigurationModule.Scheduler, ConfigurationKey.Scheduler.DefaultKeepUntilValue, _keepUntilControl.KeepUntilValue).Wait();
                }

                // TV-Guide
                GuideSource preferredSource = (_sourceComboBox.SelectedIndex == 0) ? GuideSource.XmlTv : GuideSource.DvbEpg;
                if (preferredSource != _preferredSource)
                {
                    Proxies.ConfigurationService.SetStringValue(ConfigurationModule.Scheduler, ConfigurationKey.Scheduler.PreferredGuideSource, preferredSource.ToString()).Wait();
                }

                // Recording conflicts
                if (_combineConsecutiveRecordingsCheckBox.Checked != _combineConsecutiveRecordings)
                {
                    Proxies.ConfigurationService.SetBooleanValue(ConfigurationModule.Scheduler, ConfigurationKey.Scheduler.CombineConsecutiveRecordings, _combineConsecutiveRecordingsCheckBox.Checked).Wait();
                }
                if (_autoCombineConsecutiveRecordingsCheckBox.Checked != _autoCombineConsecutiveRecordings)
                {
                    Proxies.ConfigurationService.SetBooleanValue(ConfigurationModule.Scheduler,
                                                                 ConfigurationKey.Scheduler.AutoCombineConsecutiveRecordings, _autoCombineConsecutiveRecordingsCheckBox.Checked).Wait();
                }
                if (_combineRecordingsOnlyOnSameChannelCheckBox.Checked != _combineRecordingsOnlyOnSameChannel)
                {
                    Proxies.ConfigurationService.SetBooleanValue(ConfigurationModule.Scheduler,
                                                                 ConfigurationKey.Scheduler.CombineRecordingsOnlyOnSameChannel, _combineRecordingsOnlyOnSameChannelCheckBox.Checked).Wait();
                }
                if (_swapRecorderdTunerPriorityCheckBox.Checked != _swapRecorderdTunerPriority)
                {
                    Proxies.ConfigurationService.SetBooleanValue(ConfigurationModule.Scheduler,
                                                                 ConfigurationKey.Scheduler.SwapRecorderTunerPriorityForRecordings, _swapRecorderdTunerPriorityCheckBox.Checked).Wait();
                }

                if (_createThumbnailsCheckBox.Checked != _createThumbnails)
                {
                    Proxies.ConfigurationService.SetBooleanValue(ConfigurationModule.Scheduler,
                                                                 ConfigurationKey.Scheduler.CreateVideoThumbnails, _createThumbnailsCheckBox.Checked).Wait();
                }
                if (_alwaysCreate4trFilesCheckBox.Checked != _alwaysCreate4trFiles)
                {
                    Proxies.ConfigurationService.SetBooleanValue(ConfigurationModule.Scheduler,
                                                                 ConfigurationKey.Scheduler.AlwaysCreateMetadataFiles, _alwaysCreate4trFilesCheckBox.Checked).Wait();
                }

                if (_checkBetaVersionsCheckBox.Checked != _includeBetaVersionsInUpdateCheck)
                {
                    Proxies.ConfigurationService.SetBooleanValue(ConfigurationModule.Scheduler, ConfigurationKey.Scheduler.IncludeBetaVersionsInUpdateCheck,
                                                                 _checkBetaVersionsCheckBox.Checked).Wait();
                    Proxies.ConfigurationService.SetStringValue(ConfigurationModule.Scheduler, ConfigurationKey.Scheduler.NextUpdateCheck, null).Wait();
                }

                // eMail server
                SaveSmtpSettings();

                // IMBot settings
                SaveIMBotSettings();

                // Disk space settings
                Proxies.ConfigurationService.SetIntValue(
                    ConfigurationModule.Scheduler, ConfigurationKey.Scheduler.MinimumFreeDiskSpaceInMB, (int)_minFreeDiskSpaceNumericUpDown.Value).Wait();
                Proxies.ConfigurationService.SetIntValue(
                    ConfigurationModule.Scheduler, ConfigurationKey.Scheduler.FreeDiskSpaceInMB, (int)_freeDiskSpaceNumericUpDown.Value).Wait();

                Proxies.ConfigurationService.SetIntValue(
                    ConfigurationModule.Scheduler, ConfigurationKey.Scheduler.WakeupBeforeEventMinutes, (int)_wakeupMinutesNumericUpDown.Value).Wait();

                ClosePanel();
            }
            catch (Exception ex)
            {
                MessageBox.Show(this, ex.Message, null, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            finally
            {
                Cursor.Current = Cursors.Default;
            }
        }