public override void Dispose() { this.Settings.SetValue(CoreSettings.AutoDeleteFrequency, AutoDeleteFrequencyConverter.FromDescription(this.selectedAutoDelete)); this.Settings.SetValue(CoreSettings.DefaultPriority, TaskPriorityConverter.FromDescription(this.selectedDefaultPriority)); this.Settings.SetValue(CoreSettings.DefaultDueDate, DefaultDateConverter.FromDescription(this.selectedDefaultDueDate)); this.Settings.SetValue(CoreSettings.DefaultStartDate, DefaultDateConverter.FromDescription(this.selectedDefaultStartDate)); this.Settings.SetValue(CoreSettings.CompletedTasksMode, CompletedTaskModeConverter.FromDescription(this.selectedCompletedTaskMode)); this.Settings.SetValue(CoreSettings.UseGroupedDates, this.useGroupedDates); this.Settings.SetValue(CoreSettings.ShowFutureStartDates, this.showFutureStartDates); this.Settings.SetValue(CoreSettings.IncludeNoDateInViews, this.showNoDueWithOther); this.Settings.SetValue(CoreSettings.AutoDeleteTags, this.autoDeleteTags); this.Settings.SetValue(CoreSettings.CompleteTaskSetProgress, this.completeTaskSetsProgress); if (this.selectedDefaultContext != null) { this.Settings.SetValue(CoreSettings.DefaultContext, this.selectedDefaultContext.Id); } else { this.Settings.SetValue(CoreSettings.DefaultContext, -1); } if (this.selectedBadgeValue != this.originalSelectedBadgeValue) { string settingValue = null; if (this.selectedBadgeValue != this.badgeValues[0]) { settingValue = LaunchArgumentsHelper.GetArgSelectFolder(this.selectedBadgeValue); } this.Settings.SetValue(CoreSettings.BadgeValue, settingValue); this.tileManager.UpdateTiles(); } }
public static SmartViewRule BuildRule(SmartViewFilter filter, SmartViewField field, object param) { var rule = GetSupportedRule(field); if (rule is SmartViewPriorityRule) { TaskPriority priority; if (param is TaskPriority) { priority = (TaskPriority)param; } else { priority = TaskPriorityConverter.FromDescription((string)param); } return(new SmartViewPriorityRule(filter, field, priority)); } else if (rule is SmartViewStringRule) { return(new SmartViewStringRule(filter, field, (string)param)); } else if (rule is SmartViewDateRule) { DateTime datetime = param is DateTime ? (DateTime)param : DateTime.MinValue; if (datetime != DateTime.MinValue) { return(new SmartViewDateRule(filter, field, new SmartViewDateParameter(datetime))); } else { int value = 0; if (param is string) { string content = (string)param; int.TryParse(content, out value); } else if (param is int) { value = (int)param; } value = Math.Max(0, value); return(new SmartViewDateRule(filter, field, new SmartViewDateParameter(value))); } } else if (rule is SmartViewBoolRule) { bool value = false; if (param is bool) { value = (bool)param; } return(new SmartViewBoolRule(filter, field, value)); } else if (rule is SmartViewFolderRule) { return(new SmartViewFolderRule(filter, field, (string)param)); } else if (rule is SmartViewContextRule) { string parameter = (string)param; if (string.IsNullOrWhiteSpace(parameter)) { parameter = "0"; } return(new SmartViewContextRule(filter, field, parameter)); } else if (rule is SmartViewProgressRule) { double value = 0; if (param is string) { string content = (string)param; double.TryParse(content, out value); } else if (param is int) { value = (int)param; } else if (param is double) { value = (double)param; } return(new SmartViewProgressRule(filter, field, value)); } else if (rule is SmartViewTagRule) { string parameter = (string)param; if (string.IsNullOrWhiteSpace(parameter)) { parameter = "0"; } return(new SmartViewTagRule(filter, field, parameter)); } else { throw new ArgumentException(); } }