diff --git a/src/CalendarSyncPlus/CalendarSyncPlus.Application/ViewModels/AboutViewModel.cs b/src/CalendarSyncPlus/CalendarSyncPlus.Application/ViewModels/AboutViewModel.cs index 8311232..cc4e799 100644 --- a/src/CalendarSyncPlus/CalendarSyncPlus.Application/ViewModels/AboutViewModel.cs +++ b/src/CalendarSyncPlus/CalendarSyncPlus.Application/ViewModels/AboutViewModel.cs @@ -4,6 +4,8 @@ using System.Threading.Tasks; using System.Waf.Applications; using CalendarSyncPlus.Application.Views; +using CalendarSyncPlus.Common.Log; +using CalendarSyncPlus.Domain.Models; using CalendarSyncPlus.Services.Interfaces; namespace CalendarSyncPlus.Application.ViewModels @@ -11,6 +13,7 @@ namespace CalendarSyncPlus.Application.ViewModels [Export] public class AboutViewModel : ViewModel { + public ApplicationLogger ApplicationLogger { get; set; } private readonly IApplicationUpdateService _applicationUpdateService; private DelegateCommand _checkForUpdatesCommand; private DelegateCommand _downloadCommand; @@ -22,9 +25,11 @@ public class AboutViewModel : ViewModel private DelegateCommand _mailToCommand; [ImportingConstructor] - public AboutViewModel(IAboutView aboutView, IApplicationUpdateService applicationUpdateService) + public AboutViewModel(IAboutView aboutView, IApplicationUpdateService applicationUpdateService, + ApplicationLogger applicationLogger) : base(aboutView) { + ApplicationLogger = applicationLogger; _applicationUpdateService = applicationUpdateService; ProductVersion = ApplicationInfo.Version; } @@ -87,12 +92,19 @@ public string UpdateText private void DownloadNewVersion() { - Process.Start(new ProcessStartInfo(_applicationUpdateService.GetDownloadUri().AbsoluteUri)); + try + { + Process.Start(new ProcessStartInfo(_applicationUpdateService.GetDownloadUri().AbsoluteUri)); + } + catch (Exception exception) + { + ApplicationLogger.LogError(exception); + } } private void CheckForUpdates() { - if (IsCheckInProgress || IsLatestVersionAvailable) + if (IsCheckInProgress) { return; } @@ -101,7 +113,7 @@ private void CheckForUpdates() IsLatestVersionAvailable = false; UpdateText = string.Empty; TaskScheduler scheduler = TaskScheduler.FromCurrentSynchronizationContext(); - Task.Factory.StartNew(() => _applicationUpdateService.GetLatestReleaseFromServer()) + Task.Factory.StartNew(() => _applicationUpdateService.GetLatestReleaseFromServer(true)) .ContinueWith(CheckForUpdatesComplete, scheduler); } diff --git a/src/CalendarSyncPlus/CalendarSyncPlus.Application/ViewModels/SettingsViewModel.cs b/src/CalendarSyncPlus/CalendarSyncPlus.Application/ViewModels/SettingsViewModel.cs index 078fe6a..75850b9 100644 --- a/src/CalendarSyncPlus/CalendarSyncPlus.Application/ViewModels/SettingsViewModel.cs +++ b/src/CalendarSyncPlus/CalendarSyncPlus.Application/ViewModels/SettingsViewModel.cs @@ -97,6 +97,7 @@ public SettingsViewModel(ISettingsView view, private bool _allowManualGoogleAuth; private string _googleAuthCode; private bool _isAuthCodeAvailable; + private bool _checkForAlphaReleases; #endregion @@ -186,11 +187,23 @@ public bool IsLoading set { SetProperty(ref _isLoading, value); } } + public bool CheckForAlphaReleases + { + get { return _checkForAlphaReleases; } + set { SetProperty(ref _checkForAlphaReleases, value); } + } public bool CheckForUpdates { get { return _checkForUpdates; } - set { SetProperty(ref _checkForUpdates, value); } + set + { + SetProperty(ref _checkForUpdates, value); + if (!_checkForUpdates) + { + CheckForAlphaReleases = false; + } + } } public bool RunApplicationAtSystemStartup @@ -327,7 +340,7 @@ public ObservableCollection GoogleAccounts get { return _googleAccounts; } set { SetProperty(ref _googleAccounts, value); } } - + private async void AddNewGoogleAccountHandler() { //Accept Email Id @@ -438,7 +451,7 @@ private async Task GetGoogleAuthCode() { return await MessageService.ShowInput("Enter Auth Code after authorization in browser window", "Manual Authentication"); } - + #endregion #region Private Methods @@ -452,6 +465,7 @@ private async void SaveSettings() Settings.AppSettings.MinimizeToSystemTray = MinimizeToSystemTray; Settings.AppSettings.HideSystemTrayTooltip = HideSystemTrayTooltip; Settings.AppSettings.CheckForUpdates = CheckForUpdates; + Settings.AppSettings.CheckForAlphaReleases = CheckForAlphaReleases; Settings.AppSettings.RunApplicationAtSystemStartup = RunApplicationAtSystemStartup; Settings.AppSettings.IsManualSynchronization = IsManualSynchronization; Settings.AllowManualAuthentication = AllowManualGoogleAuth; @@ -542,6 +556,7 @@ private void LoadSettingsAndGetCalendars() MinimizeToSystemTray = Settings.AppSettings.MinimizeToSystemTray; HideSystemTrayTooltip = Settings.AppSettings.HideSystemTrayTooltip; CheckForUpdates = Settings.AppSettings.CheckForUpdates; + CheckForAlphaReleases = Settings.AppSettings.CheckForAlphaReleases; RunApplicationAtSystemStartup = Settings.AppSettings.RunApplicationAtSystemStartup; IsManualSynchronization = Settings.AppSettings.IsManualSynchronization; LoadProfiles(); @@ -636,7 +651,7 @@ private async void DisconnectGoogleHandler() profileViewModel.SelectedCalendar = null; } } - + GoogleAccounts.Remove(googleAccount); await MessageService.ShowMessage("Google account successfully disconnected"); diff --git a/src/CalendarSyncPlus/CalendarSyncPlus.Application/ViewModels/ShellViewModel.cs b/src/CalendarSyncPlus/CalendarSyncPlus.Application/ViewModels/ShellViewModel.cs index 2c98da9..986f29a 100644 --- a/src/CalendarSyncPlus/CalendarSyncPlus.Application/ViewModels/ShellViewModel.cs +++ b/src/CalendarSyncPlus/CalendarSyncPlus.Application/ViewModels/ShellViewModel.cs @@ -275,6 +275,21 @@ public DelegateCommand ShowWhatsNewCommand } } + public DelegateCommand ClearLogCommand + { + get + { + return _clearLogCommand ?? + (_clearLogCommand = new DelegateCommand(ClearLog)); + } + } + + private void ClearLog() + { + _statusBuilder.Clear(); + RaisePropertyChanged("SyncLog"); + } + private void ShowWhatsNew() { var contentView = ChildContentViewFactory.GetChildContentViewModel(ChildViewContentType.WhatsNew); @@ -391,7 +406,14 @@ private void UpdateContinuationAction(Task task) private void Download(object o) { - Process.Start(new ProcessStartInfo(ApplicationUpdateService.GetDownloadUri().AbsoluteUri)); + try + { + Process.Start(new ProcessStartInfo(ApplicationUpdateService.GetDownloadUri().AbsoluteUri)); + } + catch (Exception exception) + { + ApplicationLogger.LogError(exception); + } } private void UpdateStatus(string text) @@ -400,7 +422,7 @@ private void UpdateStatus(string text) { if (IsSyncInProgress && !text.Equals(StatusHelper.LineConstant)) { - UpdateNotification(text); + UpdateNotification(text); } _statusBuilder.AppendLine(text); ApplicationLogger.LogInfo(text); @@ -452,6 +474,7 @@ private void BeginInvokeOnCurrentDispatcher(Action action) private static readonly object lockerObject = new object(); private DelegateCommand _showWhatsNewCommand; + private DelegateCommand _clearLogCommand; private void OnTimerElapsed(object sender, ElapsedEventArgs e) { @@ -668,7 +691,7 @@ public void CheckForUpdates() if (_lastCheckDateTime == null || DateTime.Now.Subtract(_lastCheckDateTime.GetValueOrDefault()).TotalHours > 6) { - Task.Factory.StartNew(() => ApplicationUpdateService.GetLatestReleaseFromServer()) + Task.Factory.StartNew(() => ApplicationUpdateService.GetLatestReleaseFromServer(Settings.AppSettings.CheckForAlphaReleases)) .ContinueWith(UpdateContinuationAction); } } diff --git a/src/CalendarSyncPlus/CalendarSyncPlus.BootstrapperUI/icon.ico b/src/CalendarSyncPlus/CalendarSyncPlus.BootstrapperUI/icon.ico index 8935e0a..e376a66 100644 Binary files a/src/CalendarSyncPlus/CalendarSyncPlus.BootstrapperUI/icon.ico and b/src/CalendarSyncPlus/CalendarSyncPlus.BootstrapperUI/icon.ico differ diff --git a/src/CalendarSyncPlus/CalendarSyncPlus.Common/CalendarSyncPlus.Common.csproj b/src/CalendarSyncPlus/CalendarSyncPlus.Common/CalendarSyncPlus.Common.csproj index a8f7a66..417941a 100644 --- a/src/CalendarSyncPlus/CalendarSyncPlus.Common/CalendarSyncPlus.Common.csproj +++ b/src/CalendarSyncPlus/CalendarSyncPlus.Common/CalendarSyncPlus.Common.csproj @@ -87,6 +87,7 @@ PublicResXFileCodeGenerator Resources2.Designer.cs + Designer diff --git a/src/CalendarSyncPlus/CalendarSyncPlus.Common/Properties/Resources.Designer.cs b/src/CalendarSyncPlus/CalendarSyncPlus.Common/Properties/Resources.Designer.cs index 208ff1d..645613f 100644 --- a/src/CalendarSyncPlus/CalendarSyncPlus.Common/Properties/Resources.Designer.cs +++ b/src/CalendarSyncPlus/CalendarSyncPlus.Common/Properties/Resources.Designer.cs @@ -147,6 +147,17 @@ public static string AdvancedSettingsView_Checkbox_CheckForUpdates_Content } } + /// + /// Looks up a localized string similar to Check For Updates. + /// + public static string AdvancedSettingsView_Checkbox_AlphaCheckForUpdates_Content + { + get + { + return ResourceManager.GetString("AdvancedSettingsView_Checkbox_AlphaCheckForUpdates_Content", resourceCulture); + } + } + /// /// Looks up a localized string similar to Close button minimizes to tray. /// @@ -202,6 +213,17 @@ public static string AdvancedSettingsView_ContentControl_CheckForUpdates_Tooltip } } + /// + /// Looks up a localized string similar to Select this option to automatically check for latest version of this application. + /// + public static string AdvancedSettingsView_ContentControl_AlphaCheckForUpdates_Tooltip + { + get + { + return ResourceManager.GetString("AdvancedSettingsView_ContentControl_AlphaCheckForUpdates_Tooltip", resourceCulture); + } + } + /// /// Looks up a localized string similar to Select this option to minimize to system tray on closing the window. /// diff --git a/src/CalendarSyncPlus/CalendarSyncPlus.Common/Properties/Resources.resx b/src/CalendarSyncPlus/CalendarSyncPlus.Common/Properties/Resources.resx index 5132180..0197715 100644 --- a/src/CalendarSyncPlus/CalendarSyncPlus.Common/Properties/Resources.resx +++ b/src/CalendarSyncPlus/CalendarSyncPlus.Common/Properties/Resources.resx @@ -573,9 +573,18 @@ Select Outlook <-> Google, to sync our Outlook and Google calendar with ea Next Scheduled - Merge into Existing Entries + Update Existing Entries Update existing entries for any changes, instead of adding and deleting for updation + + Include Alpha Releases + + + Check for alpha releases of the application + + + Clear Log + \ No newline at end of file diff --git a/src/CalendarSyncPlus/CalendarSyncPlus.Domain/Models/AppSettings.cs b/src/CalendarSyncPlus/CalendarSyncPlus.Domain/Models/AppSettings.cs index 5f1380c..fa923a4 100644 --- a/src/CalendarSyncPlus/CalendarSyncPlus.Domain/Models/AppSettings.cs +++ b/src/CalendarSyncPlus/CalendarSyncPlus.Domain/Models/AppSettings.cs @@ -8,13 +8,15 @@ public class AppSettings : Model private bool _isManualSynchronization; #region Properties - + public bool MinimizeToSystemTray { get; set; } public bool HideSystemTrayTooltip { get; set; } public bool CheckForUpdates { get; set; } + public bool CheckForAlphaReleases { get; set; } + public bool IsManualSynchronization { get { return _isManualSynchronization; } diff --git a/src/CalendarSyncPlus/CalendarSyncPlus.InstallerBundle/Bundle.wxs b/src/CalendarSyncPlus/CalendarSyncPlus.InstallerBundle/Bundle.wxs index 8a19606..9d0e55c 100644 --- a/src/CalendarSyncPlus/CalendarSyncPlus.InstallerBundle/Bundle.wxs +++ b/src/CalendarSyncPlus/CalendarSyncPlus.InstallerBundle/Bundle.wxs @@ -12,8 +12,8 @@ diff --git a/src/CalendarSyncPlus/CalendarSyncPlus.InstallerBundle/CalendarSyncPlus.InstallerBundle.wixproj b/src/CalendarSyncPlus/CalendarSyncPlus.InstallerBundle/CalendarSyncPlus.InstallerBundle.wixproj index 6e4fc12..ea4d2b2 100644 --- a/src/CalendarSyncPlus/CalendarSyncPlus.InstallerBundle/CalendarSyncPlus.InstallerBundle.wixproj +++ b/src/CalendarSyncPlus/CalendarSyncPlus.InstallerBundle/CalendarSyncPlus.InstallerBundle.wixproj @@ -48,6 +48,7 @@ + diff --git a/src/CalendarSyncPlus/CalendarSyncPlus.InstallerBundle/Logo.png b/src/CalendarSyncPlus/CalendarSyncPlus.InstallerBundle/Logo.png new file mode 100644 index 0000000..140881a Binary files /dev/null and b/src/CalendarSyncPlus/CalendarSyncPlus.InstallerBundle/Logo.png differ diff --git a/src/CalendarSyncPlus/CalendarSyncPlus.InstallerBundle/icon.ico b/src/CalendarSyncPlus/CalendarSyncPlus.InstallerBundle/icon.ico index 8935e0a..e376a66 100644 Binary files a/src/CalendarSyncPlus/CalendarSyncPlus.InstallerBundle/icon.ico and b/src/CalendarSyncPlus/CalendarSyncPlus.InstallerBundle/icon.ico differ diff --git a/src/CalendarSyncPlus/CalendarSyncPlus.OutlookServices/Outlook/OutlookCalendarService.cs b/src/CalendarSyncPlus/CalendarSyncPlus.OutlookServices/Outlook/OutlookCalendarService.cs index 487d41c..a6088da 100644 --- a/src/CalendarSyncPlus/CalendarSyncPlus.OutlookServices/Outlook/OutlookCalendarService.cs +++ b/src/CalendarSyncPlus/CalendarSyncPlus.OutlookServices/Outlook/OutlookCalendarService.cs @@ -661,26 +661,7 @@ public async Task GetCalendarEventsInRangeAsync(DateTime s await Task>.Factory.StartNew( () => GetAppointments(startDate, endDate)); - - - - //var rangeList = SplitDateRange(startDate, endDate, dayChunkSize: (1460)); - //foreach (Tuple rangeTuple in rangeList) - //{ - // //Get Outlook Entries - // Tuple tuple = rangeTuple; - // List appointmentList = - // await - // Task>.Factory.StartNew( - // () => GetAppointments(tuple.Item1, tuple.Item2)); - - - // if (appointmentList != null) - // { - // calendarAppointments.AddRange(appointmentList); - // } - //} - + if (appointmentList == null) { return null; diff --git a/src/CalendarSyncPlus/CalendarSyncPlus.Presentation/Resources/Release Notes.rtf b/src/CalendarSyncPlus/CalendarSyncPlus.Presentation/Resources/Release Notes.rtf index d476ee7..07d587f 100644 --- a/src/CalendarSyncPlus/CalendarSyncPlus.Presentation/Resources/Release Notes.rtf +++ b/src/CalendarSyncPlus/CalendarSyncPlus.Presentation/Resources/Release Notes.rtf @@ -1,329 +1,314 @@ -{\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang16393{\fonttbl{\f0\fswiss\fprq2\fcharset0 Calibri Light;}{\f1\fswiss\fprq2\fcharset0 Calibri;}{\f2\fnil\fcharset0 Calibri;}{\f3\fnil\fcharset2 Symbol;}} +{\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1033\deflangfe1033{\fonttbl{\f0\fswiss\fprq2\fcharset0 Calibri Light;}{\f1\fswiss\fprq2\fcharset0 Calibri;}{\f2\fnil\fcharset2 Symbol;}} {\colortbl ;\red46\green116\blue181;\red31\green77\blue120;} {\stylesheet{ Normal;}{\s1 heading 1;}{\s2 heading 2;}{\s3 heading 3;}} -{\*\generator Riched20 10.0.10074}\viewkind4\uc1 -\pard\keep\keepn\widctlpar\s2\sb40\sl252\slmult1\cf1\b\f0\fs26 Release 1.3.2.3\par +{\*\generator Riched20 10.0.10074}{\*\mmathPr\mnaryLim0\mdispDef1\mwrapIndent1440 }\viewkind4\uc1 +\pard\keep\keepn\widctlpar\s2\sb40\sl252\slmult1\cf1\b\f0\fs26 Release 1.3.2.4\par -\pard\widctlpar\sa160\sl252\slmult1\cf0\b0\f1\fs22\par +\pard\keep\keepn\widctlpar\s3\sb40\sl252\slmult1\cf2\b0\fs24\lang9 Enhancement\par -\pard\keep\keepn\widctlpar\s3\sb40\sl252\slmult1\cf2\f0\fs24\lang9 Enhancement\par +\pard{\pntext\f2\'B7\tab}{\*\pn\pnlvlblt\pnf2\pnindent0{\pntxtb\'B7}}\nowidctlpar\fi-360\li720\cf0\f1\fs22 Alpha release check\par +{\pntext\f2\'B7\tab}Task bar Icon update\par +{\pntext\f2\'B7\tab}Clear Log button added\par -\pard{\pntext\f3\'B7\tab}{\*\pn\pnlvlblt\pnf3\pnindent0{\pntxtb\'B7}}\fi-360\li720\cf0\f1\fs22 Truncate attendees to 200 in Google\par +\pard{\*\pn\pnlvlcont\pnf2\pnindent0{\pntxtb\'B7}}\keep\keepn\widctlpar\s3\sb40\sl252\slmult1\cf2\f0\fs24\par +Bug Fixes\par -\pard\widctlpar\li720\par +\pard{\pntext\f2\'B7\tab}{\*\pn\pnlvlblt\pnf2\pnindent0{\pntxtb\'B7}}\widctlpar\fi-360\li720\cf0\f1\fs22 Merge with existing Option changed to Update existing entries\par +{\pntext\f2\'B7\tab}Delete entries for one way sync for merge with existing entries option\par +{\pntext\f2\'B7\tab}Use Default settings only when \par +{\pntext\f2\'B7\tab}Check for updates for latest fix\par -\pard\keep\keepn\widctlpar\s2\sb40\sl252\slmult1\cf1\b\f0\fs26\lang16393 Release 1.3.2.2\par +\pard{\*\pn\pnlvlcont\pnf2\pnindent0{\pntxtb\'B7}}\widctlpar\li720\par -\pard\widctlpar\sa160\sl252\slmult1\cf0\b0\f1\fs22\par +\pard{\*\pn\pnlvlcont\pnf2\pnindent0{\pntxtb\'B7}}\keep\keepn\widctlpar\s2\sb40\sl252\slmult1\cf1\b\f0\fs26\lang1033 Release 1.3.2.3\par -\pard\keep\keepn\widctlpar\s3\sb40\sl252\slmult1\cf2\f0\fs24\lang9 Enhancement\par +\pard{\*\pn\pnlvlcont\pnf2\pnindent0{\pntxtb\'B7}}\keep\keepn\widctlpar\s3\sb40\sl252\slmult1\cf2\b0\fs24\lang9 Enhancement\par -\pard{\pntext\f3\'B7\tab}{\*\pn\pnlvlblt\pnf3\pnindent0{\pntxtb\'B7}}\fi-360\li720\cf0\f1\fs22 New Sync Engine for Bidirectional & Unidirectional\par -{\pntext\f3\'B7\tab}'Keep Last modified' feature restored and functional\par -{\pntext\f3\'B7\tab}Compare description for upto 8000 chars\par -{\pntext\f3\'B7\tab}Added 'Merge into existing entries'\par -{\pntext\f3\'B7\tab}Added more logging\par -{\pntext\f3\'B7\tab}Show Sync Status in Notification Popup\par +\pard{\pntext\f2\'B7\tab}{\*\pn\pnlvlblt\pnf2\pnindent0{\pntxtb\'B7}}\nowidctlpar\fi-360\li720\cf0\f1\fs22 Truncate attendees to 200 in Google\par -\pard\widctlpar\li720\par +\pard{\*\pn\pnlvlcont\pnf2\pnindent0{\pntxtb\'B7}}\widctlpar\li720\par -\pard\keep\keepn\widctlpar\s3\sb40\sl252\slmult1\cf2\f0\fs24 Bug Fixes\par +\pard{\*\pn\pnlvlcont\pnf2\pnindent0{\pntxtb\'B7}}\keep\keepn\widctlpar\s2\sb40\sl252\slmult1\cf1\b\f0\fs26\lang16393 Release 1.3.2.2\par -\pard{\pntext\f3\'B7\tab}{\*\pn\pnlvlblt\pnf3\pnindent0{\pntxtb\'B7}}\fi-360\li720\cf0\f1\fs22 Removed Old Sync Engine\par +\pard{\*\pn\pnlvlcont\pnf2\pnindent0{\pntxtb\'B7}}\keep\keepn\widctlpar\s3\sb40\sl252\slmult1\cf2\b0\fs24\lang9 Enhancement\par -\pard\keep\keepn\widctlpar\s2\sb40\sl252\slmult1\cf1\b\f0\fs26\lang16393\par -Release 1.3.2.1\par - -\pard\widctlpar\sa160\sl252\slmult1\cf0\b0\f1\fs22\par - -\pard\keep\keepn\widctlpar\s3\sb40\sl252\slmult1\cf2\f0\fs24\lang9 Enhancement\par - -\pard{\pntext\f3\'B7\tab}{\*\pn\pnlvlblt\pnf3\pnindent0{\pntxtb\'B7}}\fi-360\li720\cf0\f1\fs22 New Optimized sync engine\par - -\pard\widctlpar\li720\par - -\pard\keep\keepn\widctlpar\s3\sb40\sl252\slmult1\cf2\f0\fs24 Bug Fixes\par - -\pard{\pntext\f3\'B7\tab}{\*\pn\pnlvlblt\pnf3\pnindent0{\pntxtb\'B7}}\fi-360\li720\cf0\f1\fs22 Settings google calendar error\par -{\pntext\f3\'B7\tab}Outlook recurring delete failed\par -{\pntext\f3\'B7\tab}Check for updates for latest version fixed\par -{\pntext\f3\'B7\tab}Added size limit to log file\par - -\pard\keep\keepn\widctlpar\s2\sb40\sl252\slmult1\cf1\b\f0\fs26\lang16393\par -Release 1.3.1.7\par - -\pard\widctlpar\sa160\sl252\slmult1\cf0\b0\f1\fs22\par - -\pard\keep\keepn\widctlpar\s3\sb40\sl252\slmult1\cf2\f0\fs24\lang9 Enhancement\par +\pard{\pntext\f2\'B7\tab}{\*\pn\pnlvlblt\pnf2\pnindent0{\pntxtb\'B7}}\nowidctlpar\fi-360\li720\cf0\f1\fs22 New Sync Engine for Bidirectional & Unidirectional\par +{\pntext\f2\'B7\tab}'Keep Last modified' feature restored and functional\par +{\pntext\f2\'B7\tab}Compare description for upto 8000 chars\par +{\pntext\f2\'B7\tab}Added 'Merge into existing entries'\par +{\pntext\f2\'B7\tab}Added more logging\par +{\pntext\f2\'B7\tab}Show Sync Status in Notification Popup\par -\pard{\pntext\f3\'B7\tab}{\*\pn\pnlvlblt\pnf3\pnindent0{\pntxtb\'B7}}\fi-360\li720\cf0\f1\fs22 Manual authentication for Google\par -{\pntext\f3\'B7\tab}Default settings updated\par -{\pntext\f3\'B7\tab}Auto retry after Google forbidden error\par -{\pntext\f3\'B7\tab}Google api limit for attendees\par -{\pntext\f3\'B7\tab}Google calendar api library updated - 1240\par +\pard{\*\pn\pnlvlcont\pnf2\pnindent0{\pntxtb\'B7}}\widctlpar\li720\par -\pard\widctlpar\li720\par +\pard{\*\pn\pnlvlcont\pnf2\pnindent0{\pntxtb\'B7}}\keep\keepn\widctlpar\s3\sb40\sl252\slmult1\cf2\f0\fs24 Bug Fixes\par -\pard\keep\keepn\widctlpar\s3\sb40\sl252\slmult1\cf2\f0\fs24 Bug Fixes\par +\pard{\pntext\f2\'B7\tab}{\*\pn\pnlvlblt\pnf2\pnindent0{\pntxtb\'B7}}\nowidctlpar\fi-360\li720\cf0\f1\fs22 Removed Old Sync Engine\par -\pard{\pntext\f3\'B7\tab}{\*\pn\pnlvlblt\pnf3\pnindent0{\pntxtb\'B7}}\fi-360\li720\cf0\f1\fs22 Google preferences not saving for multiple profiles\par -{\pntext\f3\'B7\tab}Outlook preferences not saving for multiple profiles\par -{\pntext\f3\'B7\tab}Disconnect google not removing google account entry from other account\par -{\pntext\f3\'B7\tab}Incorrect Outlook calendar passed for sync if default calendar is selected\par -{\pntext\f3\'B7\tab}Appointment not updating if duration is updated\par - -\pard\keep\keepn\widctlpar\s2\sb40\sl252\slmult1\cf1\b\f0\fs26\lang16393\par -Release 1.3.1.6\par +\pard{\*\pn\pnlvlcont\pnf2\pnindent0{\pntxtb\'B7}}\keep\keepn\widctlpar\s2\sb40\sl252\slmult1\cf1\b\f0\fs26\lang16393\par +Release 1.3.2.1\par -\pard\widctlpar\sa160\sl252\slmult1\cf0\b0\f1\fs22\par +\pard{\*\pn\pnlvlcont\pnf2\pnindent0{\pntxtb\'B7}}\keep\keepn\widctlpar\s3\sb40\sl252\slmult1\cf2\b0\fs24\lang9 Enhancement\par -\pard\keep\keepn\widctlpar\s3\sb40\sl252\slmult1\cf2\f0\fs24\lang9 Enhancement\par +\pard{\pntext\f2\'B7\tab}{\*\pn\pnlvlblt\pnf2\pnindent0{\pntxtb\'B7}}\nowidctlpar\fi-360\li720\cf0\f1\fs22 New Optimized sync engine\par -\pard{\pntext\f3\'B7\tab}{\*\pn\pnlvlblt\pnf3\pnindent0{\pntxtb\'B7}}\fi-360\li720\cf0\f1\fs22 Gets Email from Name for outlook if provided\par +\pard{\*\pn\pnlvlcont\pnf2\pnindent0{\pntxtb\'B7}}\widctlpar\li720\par -\pard\widctlpar\li720\par +\pard{\*\pn\pnlvlcont\pnf2\pnindent0{\pntxtb\'B7}}\keep\keepn\widctlpar\s3\sb40\sl252\slmult1\cf2\f0\fs24 Bug Fixes\par -\pard\keep\keepn\widctlpar\s3\sb40\sl252\slmult1\cf2\f0\fs24 Bug Fixes\par +\pard{\pntext\f2\'B7\tab}{\*\pn\pnlvlblt\pnf2\pnindent0{\pntxtb\'B7}}\nowidctlpar\fi-360\li720\cf0\f1\fs22 Settings google calendar error\par +{\pntext\f2\'B7\tab}Outlook recurring delete failed\par +{\pntext\f2\'B7\tab}Check for updates for latest version fixed\par +{\pntext\f2\'B7\tab}Added size limit to log file\par -\pard{\pntext\f3\'B7\tab}{\*\pn\pnlvlblt\pnf3\pnindent0{\pntxtb\'B7}}\fi-360\li720\cf0\f1\fs22 Reset Outlook Calendar Exception\par -{\pntext\f3\'B7\tab}More CLR exceptions\par -{\pntext\f3\'B7\tab}Preferences loading not shown\par +\pard{\*\pn\pnlvlcont\pnf2\pnindent0{\pntxtb\'B7}}\keep\keepn\widctlpar\s2\sb40\sl252\slmult1\cf1\b\f0\fs26\lang16393\par +Release 1.3.1.7\par -\pard\keep\keepn\widctlpar\s2\sb40\sl252\slmult1\cf1\b\f0\fs26\lang16393\par -Release 1.3.1.5\par +\pard{\*\pn\pnlvlcont\pnf2\pnindent0{\pntxtb\'B7}}\keep\keepn\widctlpar\s3\sb40\sl252\slmult1\cf2\b0\fs24\lang9 Enhancement\par -\pard\widctlpar\sa160\sl252\slmult1\cf0\b0\f1\fs22\par +\pard{\pntext\f2\'B7\tab}{\*\pn\pnlvlblt\pnf2\pnindent0{\pntxtb\'B7}}\nowidctlpar\fi-360\li720\cf0\f1\fs22 Manual authentication for Google\par +{\pntext\f2\'B7\tab}Default settings updated\par +{\pntext\f2\'B7\tab}Auto retry after Google forbidden error\par +{\pntext\f2\'B7\tab}Google api limit for attendees\par +{\pntext\f2\'B7\tab}Google calendar api library updated - 1240\par -\pard\keep\keepn\widctlpar\s3\sb40\sl252\slmult1\cf2\f0\fs24\lang9 Enhancement\par +\pard{\*\pn\pnlvlcont\pnf2\pnindent0{\pntxtb\'B7}}\widctlpar\li720\par -\pard{\pntext\f3\'B7\tab}{\*\pn\pnlvlblt\pnf3\pnindent0{\pntxtb\'B7}}\fi-360\li720\cf0\f1\fs22 Apply proxy settings on start up\par -{\pntext\f3\'B7\tab}Added run at startup registry in installer\par -{\pntext\f3\'B7\tab}Added What\rquote s new view \par -{\pntext\f3\'B7\tab}Sync algorithm optimized\par +\pard{\*\pn\pnlvlcont\pnf2\pnindent0{\pntxtb\'B7}}\keep\keepn\widctlpar\s3\sb40\sl252\slmult1\cf2\f0\fs24 Bug Fixes\par -\pard\widctlpar\li720\par +\pard{\pntext\f2\'B7\tab}{\*\pn\pnlvlblt\pnf2\pnindent0{\pntxtb\'B7}}\nowidctlpar\fi-360\li720\cf0\f1\fs22 Google preferences not saving for multiple profiles\par +{\pntext\f2\'B7\tab}Outlook preferences not saving for multiple profiles\par +{\pntext\f2\'B7\tab}Disconnect google not removing google account entry from other account\par +{\pntext\f2\'B7\tab}Incorrect Outlook calendar passed for sync if default calendar is selected\par +{\pntext\f2\'B7\tab}Appointment not updating if duration is updated\par -\pard\keep\keepn\widctlpar\s3\sb40\sl252\slmult1\cf2\f0\fs24 Bug Fixes\par +\pard{\*\pn\pnlvlcont\pnf2\pnindent0{\pntxtb\'B7}}\keep\keepn\widctlpar\s2\sb40\sl252\slmult1\cf1\b\f0\fs26\lang16393\par +Release 1.3.1.6\par -\pard{\pntext\f3\'B7\tab}{\*\pn\pnlvlblt\pnf3\pnindent0{\pntxtb\'B7}}\fi-360\li720\cf0\f1\fs22 Multiple google calendar error resolved\par -{\pntext\f3\'B7\tab}\ldblquote Unable to get google calendar\rdblquote error resolved.\par -{\pntext\f3\'B7\tab}Error in ShowOverlayAsync with minimized window\par -{\pntext\f3\'B7\tab}Periodic sync at restart \par +\pard{\*\pn\pnlvlcont\pnf2\pnindent0{\pntxtb\'B7}}\keep\keepn\widctlpar\s3\sb40\sl252\slmult1\cf2\b0\fs24\lang9 Enhancement\par -\pard\widctlpar\li720\par +\pard{\pntext\f2\'B7\tab}{\*\pn\pnlvlblt\pnf2\pnindent0{\pntxtb\'B7}}\nowidctlpar\fi-360\li720\cf0\f1\fs22 Gets Email from Name for outlook if provided\par -\pard\keep\keepn\widctlpar\s2\sb40\sl252\slmult1\cf1\b\f0\fs26 Release 1.3.1.4\par +\pard{\*\pn\pnlvlcont\pnf2\pnindent0{\pntxtb\'B7}}\widctlpar\li720\par -\pard\widctlpar\sa160\sl252\slmult1\cf0\b0\f1\fs22\par +\pard{\*\pn\pnlvlcont\pnf2\pnindent0{\pntxtb\'B7}}\keep\keepn\widctlpar\s3\sb40\sl252\slmult1\cf2\f0\fs24 Bug Fixes\par -\pard\keep\keepn\widctlpar\s3\sb40\sl252\slmult1\cf2\f0\fs24 Enhancements\par +\pard{\pntext\f2\'B7\tab}{\*\pn\pnlvlblt\pnf2\pnindent0{\pntxtb\'B7}}\nowidctlpar\fi-360\li720\cf0\f1\fs22 Reset Outlook Calendar Exception\par +{\pntext\f2\'B7\tab}More CLR exceptions\par +{\pntext\f2\'B7\tab}Preferences loading not shown\par -\pard{\pntext\f3\'B7\tab}{\*\pn\pnlvlblt\pnf3\pnindent0{\pntxtb\'B7}}\fi-360\li720\cf0\f1\fs22 "How To Use" Guide added on Help\par -{\pntext\f3\'B7\tab}About updated\par -{\pntext\f3\'B7\tab}Help buttons added for all fields\par -{\pntext\f3\'B7\tab}Sync full calendar, Sync Fixed date range Options added\par -{\pntext\f3\'B7\tab}Auto & Manual Synchronization added\par -{\pntext\f3\'B7\tab}Sync Engine Optimized\par -{\pntext\f3\'B7\tab}Proxy settings password handled\par +\pard{\*\pn\pnlvlcont\pnf2\pnindent0{\pntxtb\'B7}}\keep\keepn\widctlpar\s2\sb40\sl252\slmult1\cf1\b\f0\fs26\lang16393\par +Release 1.3.1.5\par -\pard\widctlpar\li360\par +\pard{\*\pn\pnlvlcont\pnf2\pnindent0{\pntxtb\'B7}}\keep\keepn\widctlpar\s3\sb40\sl252\slmult1\cf2\b0\fs24\lang9 Enhancement\par -\pard\keep\keepn\widctlpar\s3\sb40\sl252\slmult1\cf2\f0\fs24 Bugs Fixes\f1\par +\pard{\pntext\f2\'B7\tab}{\*\pn\pnlvlblt\pnf2\pnindent0{\pntxtb\'B7}}\nowidctlpar\fi-360\li720\cf0\f1\fs22 Apply proxy settings on start up\par +{\pntext\f2\'B7\tab}Added run at startup registry in installer\par +{\pntext\f2\'B7\tab}Added What\rquote s new view \par +{\pntext\f2\'B7\tab}Sync algorithm optimized\par -\pard{\pntext\f3\'B7\tab}{\*\pn\pnlvlblt\pnf3\pnindent0{\pntxtb\'B7}}\fi-360\li720\cf0\fs22 Exception at launch handled\par -{\pntext\f3\'B7\tab}Exception for old settings added\par +\pard{\*\pn\pnlvlcont\pnf2\pnindent0{\pntxtb\'B7}}\widctlpar\li720\par -\pard\widctlpar\li360\par +\pard{\*\pn\pnlvlcont\pnf2\pnindent0{\pntxtb\'B7}}\keep\keepn\widctlpar\s3\sb40\sl252\slmult1\cf2\f0\fs24 Bug Fixes\par -\pard\keep\keepn\widctlpar\s2\sb40\sl252\slmult1\cf1\b\f0\fs26 Release 1.3.1.3\par +\pard{\pntext\f2\'B7\tab}{\*\pn\pnlvlblt\pnf2\pnindent0{\pntxtb\'B7}}\nowidctlpar\fi-360\li720\cf0\f1\fs22 Multiple google calendar error resolved\par +{\pntext\f2\'B7\tab}\ldblquote Unable to get google calendar\rdblquote error resolved.\par +{\pntext\f2\'B7\tab}Error in ShowOverlayAsync with minimized window\par +{\pntext\f2\'B7\tab}Periodic sync at restart \par -\pard\widctlpar\sa160\sl252\slmult1\cf0\b0\f1\fs22\par +\pard{\*\pn\pnlvlcont\pnf2\pnindent0{\pntxtb\'B7}}\widctlpar\li720\par -\pard\keep\keepn\widctlpar\s3\sb40\sl252\slmult1\cf2\f0\fs24 Enhancements\par +\pard{\*\pn\pnlvlcont\pnf2\pnindent0{\pntxtb\'B7}}\keep\keepn\widctlpar\s2\sb40\sl252\slmult1\cf1\b\f0\fs26 Release 1.3.1.4\par -\pard{\pntext\f3\'B7\tab}{\*\pn\pnlvlblt\pnf3\pnindent0{\pntxtb\'B7}}\fi-360\li720\cf0\f1\fs22 Multiple Google Accounts supported\par -{\pntext\f3\'B7\tab}Periodic sync configuration (Auto, Manual added)\par -{\pntext\f3\'B7\tab}Sync range options added: Entire Calendar, Fixed Date Range\par -{\pntext\f3\'B7\tab}Help button added for each setting option\par -{\pntext\f3\'B7\tab}User guide integrated instead of summarized help content\par +\pard{\*\pn\pnlvlcont\pnf2\pnindent0{\pntxtb\'B7}}\keep\keepn\widctlpar\s3\sb40\sl252\slmult1\cf2\b0\fs24 Enhancements\par -\pard\widctlpar\li360\par +\pard{\pntext\f2\'B7\tab}{\*\pn\pnlvlblt\pnf2\pnindent0{\pntxtb\'B7}}\nowidctlpar\fi-360\li720\cf0\f1\fs22 "How To Use" Guide added on Help\par +{\pntext\f2\'B7\tab}About updated\par +{\pntext\f2\'B7\tab}Help buttons added for all fields\par +{\pntext\f2\'B7\tab}Sync full calendar, Sync Fixed date range Options added\par +{\pntext\f2\'B7\tab}Auto & Manual Synchronization added\par +{\pntext\f2\'B7\tab}Sync Engine Optimized\par +{\pntext\f2\'B7\tab}Proxy settings password handled\par -\pard\keep\keepn\widctlpar\s3\sb40\sl252\slmult1\cf2\f0\fs24 Bug Fixes\par +\pard{\*\pn\pnlvlcont\pnf2\pnindent0{\pntxtb\'B7}}\widctlpar\li360\par -\pard{\pntext\f3\'B7\tab}{\*\pn\pnlvlblt\pnf3\pnindent0{\pntxtb\'B7}}\fi-360\li720\cf0\f1\fs22 Hourly Sync changed to Interval sync -> To avoid confusion\par -{\pntext\f3\'B7\tab}Periodic sync halted after a while for hourly sync\par -{\pntext\f3\'B7\tab}Exception handled for previous settings format\par -{\pntext\f3\'B7\tab}Exception handled for new users at application launch\par +\pard{\*\pn\pnlvlcont\pnf2\pnindent0{\pntxtb\'B7}}\keep\keepn\widctlpar\s3\sb40\sl252\slmult1\cf2\f0\fs24 Bugs Fixes\f1\par -\pard\widctlpar\li360\b\par +\pard{\pntext\f2\'B7\tab}{\*\pn\pnlvlblt\pnf2\pnindent0{\pntxtb\'B7}}\nowidctlpar\fi-360\li720\cf0\fs22 Exception at launch handled\par +{\pntext\f2\'B7\tab}Exception for old settings added\par -\pard\keep\keepn\widctlpar\s2\sb40\sl252\slmult1\cf1\f0\fs26 Release 1.3.1.2\par +\pard{\*\pn\pnlvlcont\pnf2\pnindent0{\pntxtb\'B7}}\widctlpar\li360\par -\pard\widctlpar\sa160\sl252\slmult1\cf0\b0\f1\fs22\par +\pard{\*\pn\pnlvlcont\pnf2\pnindent0{\pntxtb\'B7}}\keep\keepn\widctlpar\s2\sb40\sl252\slmult1\cf1\b\f0\fs26 Release 1.3.1.3\par -\pard\keep\keepn\widctlpar\s3\sb40\sl252\slmult1\cf2\f0\fs24 Enhancements\par +\pard{\*\pn\pnlvlcont\pnf2\pnindent0{\pntxtb\'B7}}\keep\keepn\widctlpar\s3\sb40\sl252\slmult1\cf2\b0\fs24 Enhancements\par -\pard{\pntext\f3\'B7\tab}{\*\pn\pnlvlblt\pnf3\pnindent0{\pntxtb\'B7}}\fi-360\li720\cf0\f1\fs22 Proxy settings for connection\par -{\pntext\f3\'B7\tab}Event color for Google Added (Approximate Event color mapped to Outlook categories)\par -{\pntext\f3\'B7\tab}Reminders check added in comparison\par +\pard{\pntext\f2\'B7\tab}{\*\pn\pnlvlblt\pnf2\pnindent0{\pntxtb\'B7}}\nowidctlpar\fi-360\li720\cf0\f1\fs22 Multiple Google Accounts supported\par +{\pntext\f2\'B7\tab}Periodic sync configuration (Auto, Manual added)\par +{\pntext\f2\'B7\tab}Sync range options added: Entire Calendar, Fixed Date Range\par +{\pntext\f2\'B7\tab}Help button added for each setting option\par +{\pntext\f2\'B7\tab}User guide integrated instead of summarized help content\par -\pard\widctlpar\li360\par +\pard{\*\pn\pnlvlcont\pnf2\pnindent0{\pntxtb\'B7}}\widctlpar\li360\par -\pard\keep\keepn\widctlpar\s3\sb40\sl252\slmult1\cf2\f0\fs24 Bug Fixes\par +\pard{\*\pn\pnlvlcont\pnf2\pnindent0{\pntxtb\'B7}}\keep\keepn\widctlpar\s3\sb40\sl252\slmult1\cf2\f0\fs24 Bug Fixes\par -\pard{\pntext\f3\'B7\tab}{\*\pn\pnlvlblt\pnf3\pnindent0{\pntxtb\'B7}}\fi-360\li720\cf0\f1\fs22 Google reminders loaded\par -{\pntext\f3\'B7\tab}About, Help, Preferences flyouts allowed to open if they were loaded previously\par +\pard{\pntext\f2\'B7\tab}{\*\pn\pnlvlblt\pnf2\pnindent0{\pntxtb\'B7}}\nowidctlpar\fi-360\li720\cf0\f1\fs22 Hourly Sync changed to Interval sync -> To avoid confusion\par +{\pntext\f2\'B7\tab}Periodic sync halted after a while for hourly sync\par +{\pntext\f2\'B7\tab}Exception handled for previous settings format\par +{\pntext\f2\'B7\tab}Exception handled for new users at application launch\par -\pard\widctlpar\li720\par +\pard{\*\pn\pnlvlcont\pnf2\pnindent0{\pntxtb\'B7}}\widctlpar\li360\b\par -\pard\keep\keepn\widctlpar\s2\sb40\sl252\slmult1\cf1\b\f0\fs26 Release 1.3.1.1\par +\pard{\*\pn\pnlvlcont\pnf2\pnindent0{\pntxtb\'B7}}\keep\keepn\widctlpar\s2\sb40\sl252\slmult1\cf1\f0\fs26 Release 1.3.1.2\par -\pard\widctlpar\sa160\sl252\slmult1\cf0\b0\f1\fs22\par +\pard{\*\pn\pnlvlcont\pnf2\pnindent0{\pntxtb\'B7}}\keep\keepn\widctlpar\s3\sb40\sl252\slmult1\cf2\b0\fs24 Enhancements\par -\pard\keep\keepn\widctlpar\s3\sb40\sl252\slmult1\cf2\f0\fs24 Enhancements\par +\pard{\pntext\f2\'B7\tab}{\*\pn\pnlvlblt\pnf2\pnindent0{\pntxtb\'B7}}\nowidctlpar\fi-360\li720\cf0\f1\fs22 Proxy settings for connection\par +{\pntext\f2\'B7\tab}Event color for Google Added (Approximate Event color mapped to Outlook categories)\par +{\pntext\f2\'B7\tab}Reminders check added in comparison\par -\pard{\pntext\f3\'B7\tab}{\*\pn\pnlvlblt\pnf3\pnindent0{\pntxtb\'B7}}\fi-360\li720\cf0\f1\fs22 Google Recurring Events\par -{\pntext\f3\'B7\tab}Disconnect Google Account\par -{\pntext\f3\'B7\tab}Set category color to outlook entries\par -{\pntext\f3\'B7\tab}Schedule View updated\par -{\pntext\f3\'B7\tab}Profile management complete\par -{\pntext\f3\'B7\tab}Limit profile name length\par +\pard{\*\pn\pnlvlcont\pnf2\pnindent0{\pntxtb\'B7}}\widctlpar\li360\par -\pard\widctlpar\li360\par +\pard{\*\pn\pnlvlcont\pnf2\pnindent0{\pntxtb\'B7}}\keep\keepn\widctlpar\s3\sb40\sl252\slmult1\cf2\f0\fs24 Bug Fixes\par -\pard\keep\keepn\widctlpar\s3\sb40\sl252\slmult1\cf2\f0\fs24 Bug Fixes\par +\pard{\pntext\f2\'B7\tab}{\*\pn\pnlvlblt\pnf2\pnindent0{\pntxtb\'B7}}\nowidctlpar\fi-360\li720\cf0\f1\fs22 Google reminders loaded\par +{\pntext\f2\'B7\tab}About, Help, Preferences flyouts allowed to open if they were loaded previously\par -\pard{\pntext\f3\'B7\tab}{\*\pn\pnlvlblt\pnf3\pnindent0{\pntxtb\'B7}}\fi-360\li720\cf0\f1\fs22 Hourly sync repeat behavior fixed \par +\pard{\*\pn\pnlvlcont\pnf2\pnindent0{\pntxtb\'B7}}\widctlpar\li720\par -\pard\widctlpar\par +\pard{\*\pn\pnlvlcont\pnf2\pnindent0{\pntxtb\'B7}}\keep\keepn\widctlpar\s2\sb40\sl252\slmult1\cf1\b\f0\fs26 Release 1.3.1.1\par -\pard{\*\pn\pnlvlcont\pnf3\pnindent0{\pntxtb\'B7}}\li360\par +\pard{\*\pn\pnlvlcont\pnf2\pnindent0{\pntxtb\'B7}}\keep\keepn\widctlpar\s3\sb40\sl252\slmult1\cf2\b0\fs24 Enhancements\par -\pard{\*\pn\pnlvlcont\pnf3\pnindent0{\pntxtb\'B7}}\keep\keepn\s2\sb40\sl252\slmult1\cf1\b\f0\fs26 Release 1.3.0.0\par +\pard{\pntext\f2\'B7\tab}{\*\pn\pnlvlblt\pnf2\pnindent0{\pntxtb\'B7}}\nowidctlpar\fi-360\li720\cf0\f1\fs22 Google Recurring Events\par +{\pntext\f2\'B7\tab}Disconnect Google Account\par +{\pntext\f2\'B7\tab}Set category color to outlook entries\par +{\pntext\f2\'B7\tab}Schedule View updated\par +{\pntext\f2\'B7\tab}Profile management complete\par +{\pntext\f2\'B7\tab}Limit profile name length\par -\pard{\*\pn\pnlvlcont\pnf3\pnindent0{\pntxtb\'B7}}\sa160\sl252\slmult1\cf0\b0\f1\fs22\lang16393\par +\pard{\*\pn\pnlvlcont\pnf2\pnindent0{\pntxtb\'B7}}\widctlpar\li360\par -\pard{\*\pn\pnlvlcont\pnf3\pnindent0{\pntxtb\'B7}}\keep\keepn\s3\sb40\sl252\slmult1\cf2\f0\fs24\lang9 Enhancements\par +\pard{\*\pn\pnlvlcont\pnf2\pnindent0{\pntxtb\'B7}}\keep\keepn\widctlpar\s3\sb40\sl252\slmult1\cf2\f0\fs24 Bug Fixes\par -\pard{\pntext\f3\'B7\tab}{\*\pn\pnlvlblt\pnf3\pnindent0{\pntxtb\'B7}}\fi-360\li720\cf0\f1\fs22 Multiple Sync Profiles Added\par -{\pntext\f3\'B7\tab}Create up to 5 profiles\par -{\pntext\f3\'B7\tab}Delete other than default profile\par -{\pntext\f3\'B7\tab}Reset outlook/google calendar\par -{\pntext\f3\'B7\tab}Disable delete Option\par -{\pntext\f3\'B7\tab}Confirm On delete Option\par -{\pntext\f3\'B7\tab}Keep Last modified for bidirectional sync\par -{\pntext\f3\'B7\tab}Select master calendar option for bidirectional sync\par -{\pntext\f3\'B7\tab}bidirectional sync optimized\par -{\pntext\f3\'B7\tab}Reset Outlook/Google calendar option\par -{\pntext\f3\'B7\tab}Preferences view updated\par -{\pntext\f3\'B7\tab}Time picker control changed \par +\pard{\pntext\f2\'B7\tab}{\*\pn\pnlvlblt\pnf2\pnindent0{\pntxtb\'B7}}\nowidctlpar\fi-360\li720\cf0\f1\fs22 Hourly sync repeat behavior fixed \par -\pard\widctlpar\li360\par +\pard{\*\pn\pnlvlcont\pnf2\pnindent0{\pntxtb\'B7}}\widctlpar\par -\pard\keep\keepn\widctlpar\s3\sb40\sl252\slmult1\cf2\f0\fs24 Bug Fixes\par +\pard{\*\pn\pnlvlcont\pnf2\pnindent0{\pntxtb\'B7}}\nowidctlpar\li360\par -\pard{\pntext\f3\'B7\tab}{\*\pn\pnlvlblt\pnf3\pnindent0{\pntxtb\'B7}}\fi-360\li720\cf0\f1\fs22 Google Read Failed\par -{\pntext\f3\'B7\tab}Incorrect failure Status\par -{\pntext\f3\'B7\tab}Exception handling and logging\par -{\pntext\f3\'B7\tab}Handled recipients with no SMTP address (Outlook)\par -{\pntext\f3\'B7\tab}Sync frequency time value update\par -{\pntext\f3\'B7\tab}Outlook instance held longer in delete\par +\pard{\*\pn\pnlvlcont\pnf2\pnindent0{\pntxtb\'B7}}\keep\keepn\nowidctlpar\s2\sb40\sl252\slmult1\cf1\b\f0\fs26 Release 1.3.0.0\par -\pard\widctlpar\sa160\sl252\slmult1\lang16393\par +\pard{\*\pn\pnlvlcont\pnf2\pnindent0{\pntxtb\'B7}}\keep\keepn\nowidctlpar\s3\sb40\sl252\slmult1\cf2\b0\fs24 Enhancements\par -\pard\keep\keepn\widctlpar\s2\sb40\sl252\slmult1\cf1\b\f0\fs26 Release 1.2.1.0\par +\pard{\pntext\f2\'B7\tab}{\*\pn\pnlvlblt\pnf2\pnindent0{\pntxtb\'B7}}\nowidctlpar\fi-360\li720\cf0\f1\fs22 Multiple Sync Profiles Added\par +{\pntext\f2\'B7\tab}Create up to 5 profiles\par +{\pntext\f2\'B7\tab}Delete other than default profile\par +{\pntext\f2\'B7\tab}Reset outlook/google calendar\par +{\pntext\f2\'B7\tab}Disable delete Option\par +{\pntext\f2\'B7\tab}Confirm On delete Option\par +{\pntext\f2\'B7\tab}Keep Last modified for bidirectional sync\par +{\pntext\f2\'B7\tab}Select master calendar option for bidirectional sync\par +{\pntext\f2\'B7\tab}bidirectional sync optimized\par +{\pntext\f2\'B7\tab}Reset Outlook/Google calendar option\par +{\pntext\f2\'B7\tab}Preferences view updated\par +{\pntext\f2\'B7\tab}Time picker control changed \par -\pard\widctlpar\sa160\sl252\slmult1\cf0\b0\f1\fs22\par +\pard{\*\pn\pnlvlcont\pnf2\pnindent0{\pntxtb\'B7}}\widctlpar\li360\par -\pard\keep\keepn\widctlpar\s3\sl252\slmult1\cf2\f0\fs24 Bug Fixes\par +\pard{\*\pn\pnlvlcont\pnf2\pnindent0{\pntxtb\'B7}}\keep\keepn\widctlpar\s3\sb40\sl252\slmult1\cf2\f0\fs24 Bug Fixes\par -\pard{\pntext\f3\'B7\tab}{\*\pn\pnlvlblt\pnf3\pnindent0{\pntxtb\'B7}}\fi-360\li720\cf0\f1\fs22\lang9 Exception on adding description \par -{\pntext\f3\'B7\tab}Adjusted\lang16393 Sync Algorithm to avoid multiple deletion and addition\par +\pard{\pntext\f2\'B7\tab}{\*\pn\pnlvlblt\pnf2\pnindent0{\pntxtb\'B7}}\nowidctlpar\fi-360\li720\cf0\f1\fs22 Google Read Failed\par +{\pntext\f2\'B7\tab}Incorrect failure Status\par +{\pntext\f2\'B7\tab}Exception handling and logging\par +{\pntext\f2\'B7\tab}Handled recipients with no SMTP address (Outlook)\par +{\pntext\f2\'B7\tab}Sync frequency time value update\par +{\pntext\f2\'B7\tab}Outlook instance held longer in delete\par -\pard\widctlpar\li720\par +\pard{\*\pn\pnlvlcont\pnf2\pnindent0{\pntxtb\'B7}}\widctlpar\sa160\sl252\slmult1\lang16393\par -\pard\keep\keepn\widctlpar\s2\sb40\sl252\slmult1\cf1\b\f0\fs26 Release 1.2.0.0\par +\pard{\*\pn\pnlvlcont\pnf2\pnindent0{\pntxtb\'B7}}\keep\keepn\widctlpar\s2\sb40\sl252\slmult1\cf1\b\f0\fs26 Release 1.2.1.0\par -\pard\widctlpar\sa160\sl252\slmult1\cf0\b0\f1\fs22\par +\pard{\*\pn\pnlvlcont\pnf2\pnindent0{\pntxtb\'B7}}\keep\keepn\widctlpar\s3\sl252\slmult1\cf2\b0\fs24 Bug Fixes\par -\pard\keep\keepn\widctlpar\s3\sb40\sl252\slmult1\cf2\f0\fs24 Enhancements \par +\pard{\pntext\f2\'B7\tab}{\*\pn\pnlvlblt\pnf2\pnindent0{\pntxtb\'B7}}\nowidctlpar\fi-360\li720\cf0\f1\fs22\lang9 Exception on adding description \par +{\pntext\f2\'B7\tab}Adjusted\lang16393 Sync Algorithm to avoid multiple deletion and addition\par -\pard{\pntext\f3\'B7\tab}{\*\pn\pnlvlblt\pnf3\pnindent0{\pntxtb\'B7}}\fi-360\li720\cf0\f1\fs22\lang9 Run application at windows start-up\par -{\pntext\f3\'B7\tab}Google to outlook sync\par -{\pntext\f3\'B7\tab}Outlook <=> Google bidirectional sync\par -{\pntext\f3\'B7\tab}Verbose status\par -{\pntext\f3\'B7\tab}Logging added\par -{\pntext\f3\'B7\tab}Exceptions handled\par -{\pntext\f3\'B7\tab}Comparison on unique identifier (includes description field)\par -{\pntext\f3\'B7\tab}Availability and privacy added for appointments\par -{\pntext\f3\'B7\tab}Recipients added to to field\par -{\pntext\f3\'B7\tab}Option to add recipients in description in Preferences\par +\pard{\*\pn\pnlvlcont\pnf2\pnindent0{\pntxtb\'B7}}\widctlpar\li720\par -\pard\widctlpar\li720\par +\pard{\*\pn\pnlvlcont\pnf2\pnindent0{\pntxtb\'B7}}\keep\keepn\widctlpar\s2\sb40\sl252\slmult1\cf1\b\f0\fs26 Release 1.2.0.0\par -\pard\keep\keepn\widctlpar\s3\sb40\sl252\slmult1\cf2\f0\fs24\lang16393 Bug fixes \par +\pard{\*\pn\pnlvlcont\pnf2\pnindent0{\pntxtb\'B7}}\keep\keepn\widctlpar\s3\sb40\sl252\slmult1\cf2\b0\fs24 Enhancements \par -\pard{\pntext\f3\'B7\tab}{\*\pn\pnlvlblt\pnf3\pnindent0{\pntxtb\'B7}}\fi-360\li720\cf0\f1\fs22\lang9 Sync timing fix\par -{\pntext\f3\'B7\tab}Flickering resolved\par +\pard{\pntext\f2\'B7\tab}{\*\pn\pnlvlblt\pnf2\pnindent0{\pntxtb\'B7}}\nowidctlpar\fi-360\li720\cf0\f1\fs22\lang9 Run application at windows start-up\par +{\pntext\f2\'B7\tab}Google to outlook sync\par +{\pntext\f2\'B7\tab}Outlook <=> Google bidirectional sync\par +{\pntext\f2\'B7\tab}Verbose status\par +{\pntext\f2\'B7\tab}Logging added\par +{\pntext\f2\'B7\tab}Exceptions handled\par +{\pntext\f2\'B7\tab}Comparison on unique identifier (includes description field)\par +{\pntext\f2\'B7\tab}Availability and privacy added for appointments\par +{\pntext\f2\'B7\tab}Recipients added to to field\par +{\pntext\f2\'B7\tab}Option to add recipients in description in Preferences\par -\pard\widctlpar\li720\par +\pard{\*\pn\pnlvlcont\pnf2\pnindent0{\pntxtb\'B7}}\widctlpar\li720\par -\pard\keep\keepn\widctlpar\s3\sl252\slmult1\cf2\f0\fs24\lang16393 Visual change \par +\pard{\*\pn\pnlvlcont\pnf2\pnindent0{\pntxtb\'B7}}\keep\keepn\widctlpar\s3\sb40\sl252\slmult1\cf2\f0\fs24\lang16393 Bug fixes \par -\pard{\pntext\f3\'B7\tab}{\*\pn\pnlvlblt\pnf3\pnindent0{\pntxtb\'B7}}\fi-360\li720\cf0\f1\fs22\lang9 Settings are now Preferences\par +\pard{\pntext\f2\'B7\tab}{\*\pn\pnlvlblt\pnf2\pnindent0{\pntxtb\'B7}}\nowidctlpar\fi-360\li720\cf0\f1\fs22\lang9 Sync timing fix\par +{\pntext\f2\'B7\tab}Flickering resolved\par -\pard\widctlpar\par +\pard{\*\pn\pnlvlcont\pnf2\pnindent0{\pntxtb\'B7}}\widctlpar\li720\par -\pard{\*\pn\pnlvlcont\pnf3\pnindent0{\pntxtb\'B7}}\li720\par +\pard{\*\pn\pnlvlcont\pnf2\pnindent0{\pntxtb\'B7}}\keep\keepn\widctlpar\s3\sl252\slmult1\cf2\f0\fs24\lang16393 Visual change \par -\pard{\*\pn\pnlvlcont\pnf3\pnindent0{\pntxtb\'B7}}\keep\keepn\s2\sb40\sl252\slmult1\cf1\b\f0\fs26\lang16393 Release 1.1.0\par +\pard{\pntext\f2\'B7\tab}{\*\pn\pnlvlblt\pnf2\pnindent0{\pntxtb\'B7}}\nowidctlpar\fi-360\li720\cf0\f1\fs22\lang9 Settings are now Preferences\par -\pard{\*\pn\pnlvlcont\pnf3\pnindent0{\pntxtb\'B7}}\sa160\sl252\slmult1\cf0\b0\f1\fs22\par +\pard{\*\pn\pnlvlcont\pnf2\pnindent0{\pntxtb\'B7}}\widctlpar\par -\pard{\*\pn\pnlvlcont\pnf3\pnindent0{\pntxtb\'B7}}\keep\keepn\s3\sb40\sl252\slmult1\cf2\f0\fs24 Enhancements\par +\pard{\*\pn\pnlvlcont\pnf2\pnindent0{\pntxtb\'B7}}\nowidctlpar\li720\par -\pard{\pntext\f3\'B7\tab}{\*\pn\pnlvlblt\pnf3\pnindent0{\pntxtb\'B7}}\fi-360\li720\cf0\f1\fs22\lang9 Check for updates on about, once during a day after a successful sync\par -{\pntext\f3\'B7\tab}Remember periodic sync start/stop state\par -{\pntext\f3\'B7\tab}Settings Flyout to close on saving settings\par -{\pntext\f3\'B7\tab}Settings format updated\par +\pard{\*\pn\pnlvlcont\pnf2\pnindent0{\pntxtb\'B7}}\keep\keepn\nowidctlpar\s2\sb40\sl252\slmult1\cf1\b\f0\fs26\lang16393 Release 1.1.0\par -\pard\widctlpar\li720\par +\pard{\*\pn\pnlvlcont\pnf2\pnindent0{\pntxtb\'B7}}\keep\keepn\nowidctlpar\s3\sb40\sl252\slmult1\cf2\b0\fs24 Enhancements\par -\pard\keep\keepn\widctlpar\s3\sl252\slmult1\cf2\f0\fs24\lang16393 Bug Fixes\par +\pard{\pntext\f2\'B7\tab}{\*\pn\pnlvlblt\pnf2\pnindent0{\pntxtb\'B7}}\nowidctlpar\fi-360\li720\cf0\f1\fs22\lang9 Check for updates on about, once during a day after a successful sync\par +{\pntext\f2\'B7\tab}Remember periodic sync start/stop state\par +{\pntext\f2\'B7\tab}Settings Flyout to close on saving settings\par +{\pntext\f2\'B7\tab}Settings format updated\par -\pard{\pntext\f3\'B7\tab}{\*\pn\pnlvlblt\pnf3\pnindent0{\pntxtb\'B7}}\fi-360\li720\cf0\f1\fs22\lang9 Daily and weekly sync not working\par -{\pntext\f3\'B7\tab}Periodic sync does not show status correctly\par -{\pntext\f3\'B7\tab}Periodic sync caused UI to hang\par -{\pntext\f3\'B7\tab}Taskbar icon staying even if application exists\par -{\pntext\f3\'B7\tab}Notification not displayed if hide system tool tip is not selected\par +\pard{\*\pn\pnlvlcont\pnf2\pnindent0{\pntxtb\'B7}}\widctlpar\li720\par -\pard\widctlpar\li720\par +\pard{\*\pn\pnlvlcont\pnf2\pnindent0{\pntxtb\'B7}}\keep\keepn\widctlpar\s3\sl252\slmult1\cf2\f0\fs24\lang16393 Bug Fixes\par -\pard\keep\keepn\widctlpar\s2\sb40\sl252\slmult1\cf1\b\f0\fs26\lang16393 Release 1.0.1\par +\pard{\pntext\f2\'B7\tab}{\*\pn\pnlvlblt\pnf2\pnindent0{\pntxtb\'B7}}\nowidctlpar\fi-360\li720\cf0\f1\fs22\lang9 Daily and weekly sync not working\par +{\pntext\f2\'B7\tab}Periodic sync does not show status correctly\par +{\pntext\f2\'B7\tab}Periodic sync caused UI to hang\par +{\pntext\f2\'B7\tab}Taskbar icon staying even if application exists\par +{\pntext\f2\'B7\tab}Notification not displayed if hide system tool tip is not selected\par -\pard\widctlpar\sa160\sl252\slmult1\cf0\b0\f1\fs22\par +\pard{\*\pn\pnlvlcont\pnf2\pnindent0{\pntxtb\'B7}}\widctlpar\li720\par -\pard\keep\keepn\widctlpar\s3\sl252\slmult1\cf2\f0\fs24 Bug Fixes\par +\pard{\*\pn\pnlvlcont\pnf2\pnindent0{\pntxtb\'B7}}\keep\keepn\widctlpar\s2\sb40\sl252\slmult1\cf1\b\f0\fs26\lang16393 Release 1.0.1\par -\pard{\pntext\f3\'B7\tab}{\*\pn\pnlvlblt\pnf3\pnindent0{\pntxtb\'B7}}\fi-360\li720\cf0\f1\fs22\lang9 Updated settings not used for sync\par +\pard{\*\pn\pnlvlcont\pnf2\pnindent0{\pntxtb\'B7}}\keep\keepn\widctlpar\s3\sl252\slmult1\cf2\b0\fs24 Bug Fixes\par -\pard\widctlpar\par +\pard{\pntext\f2\'B7\tab}{\*\pn\pnlvlblt\pnf2\pnindent0{\pntxtb\'B7}}\nowidctlpar\fi-360\li720\cf0\f1\fs22\lang9 Updated settings not used for sync\par -\pard{\*\pn\pnlvlcont\pnf3\pnindent0{\pntxtb\'B7}}\li720\par +\pard{\*\pn\pnlvlcont\pnf2\pnindent0{\pntxtb\'B7}}\widctlpar\par -\pard{\*\pn\pnlvlcont\pnf3\pnindent0{\pntxtb\'B7}}\keep\keepn\s2\sb40\sl252\slmult1\cf1\b\f0\fs26\lang16393 Release 1.0.0\par +\pard{\*\pn\pnlvlcont\pnf2\pnindent0{\pntxtb\'B7}}\nowidctlpar\li720\par -\pard{\*\pn\pnlvlcont\pnf3\pnindent0{\pntxtb\'B7}}\sa160\sl252\slmult1\cf0\b0\f1\fs22\par +\pard{\*\pn\pnlvlcont\pnf2\pnindent0{\pntxtb\'B7}}\keep\keepn\nowidctlpar\s2\sb40\sl252\slmult1\cf1\b\f0\fs26\lang16393 Release 1.0.0\par -\pard{\*\pn\pnlvlcont\pnf3\pnindent0{\pntxtb\'B7}}\keep\keepn\s3\sb40\sl252\slmult1\cf2\f0\fs24 Initial Release\par +\pard{\*\pn\pnlvlcont\pnf2\pnindent0{\pntxtb\'B7}}\keep\keepn\nowidctlpar\s3\sb40\sl252\slmult1\cf2\b0\fs24 Initial Release\par -\pard{\pntext\f3\'B7\tab}{\*\pn\pnlvlblt\pnf3\pnindent0{\pntxtb\'B7}}\fi-360\li720\cf0\f1\fs22\lang9 Sync Outlook calendar to Google calendar\par +\pard{\pntext\f2\'B7\tab}{\*\pn\pnlvlblt\pnf2\pnindent0{\pntxtb\'B7}}\nowidctlpar\fi-360\li720\cf0\f1\fs22\lang9 Sync Outlook calendar to Google calendar\par \pard\widctlpar\par \pard\nowidctlpar\sa200\sl276\slmult1\par - -\pard\sa200\sl276\slmult1\f2\par +\par } \ No newline at end of file diff --git a/src/CalendarSyncPlus/CalendarSyncPlus.Presentation/Resources/icon.ico b/src/CalendarSyncPlus/CalendarSyncPlus.Presentation/Resources/icon.ico index 8935e0a..e376a66 100644 Binary files a/src/CalendarSyncPlus/CalendarSyncPlus.Presentation/Resources/icon.ico and b/src/CalendarSyncPlus/CalendarSyncPlus.Presentation/Resources/icon.ico differ diff --git a/src/CalendarSyncPlus/CalendarSyncPlus.Presentation/Views/AdvancedSettingsView.xaml b/src/CalendarSyncPlus/CalendarSyncPlus.Presentation/Views/AdvancedSettingsView.xaml index 03f1ad0..8c308a1 100644 --- a/src/CalendarSyncPlus/CalendarSyncPlus.Presentation/Views/AdvancedSettingsView.xaml +++ b/src/CalendarSyncPlus/CalendarSyncPlus.Presentation/Views/AdvancedSettingsView.xaml @@ -99,7 +99,21 @@ Grid.Column="1" ContentTemplate="{StaticResource HelpButtonTemplate}" ToolTip="{localizeExtension:LocText Key=AdvancedSettingsView_ContentControl_CheckForUpdates_Tooltip}" /> - + + + + + + - diff --git a/src/CalendarSyncPlus/CalendarSyncPlus.Presentation/Views/HomeView.xaml b/src/CalendarSyncPlus/CalendarSyncPlus.Presentation/Views/HomeView.xaml index ba706c7..826b9d4 100644 --- a/src/CalendarSyncPlus/CalendarSyncPlus.Presentation/Views/HomeView.xaml +++ b/src/CalendarSyncPlus/CalendarSyncPlus.Presentation/Views/HomeView.xaml @@ -9,6 +9,7 @@ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:models="clr-namespace:CalendarSyncPlus.Domain.Models;assembly=CalendarSyncPlus.Domain" xmlns:viewModels="clr-namespace:CalendarSyncPlus.Application.ViewModels;assembly=CalendarSyncPlus.Application" + xmlns:Properties="clr-namespace:CalendarSyncPlus.Common.Properties;assembly=CalendarSyncPlus.Common" d:DataContext="{d:DesignInstance viewModels:ShellViewModel}" d:DesignHeight="300" d:DesignWidth="300" @@ -126,6 +127,9 @@