Added initial support for multiple calendars. Added friendly group header names (yesterday, today and tomorrow).
Some minor refactoring.
This commit is contained in:
parent
2fdb65d86f
commit
69a47f6652
@ -1,6 +1,7 @@
|
|||||||
using Outlook2013TodoAddIn.Forms;
|
using Outlook2013TodoAddIn.Forms;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.Collections.Specialized;
|
||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
using System.Drawing.Drawing2D;
|
using System.Drawing.Drawing2D;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
@ -30,6 +31,16 @@ namespace Outlook2013TodoAddIn
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public bool ShowPastAppointments { get; set; }
|
public bool ShowPastAppointments { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets/sets a list of all stores/accounts to retrieve information from
|
||||||
|
/// </summary>
|
||||||
|
public StringCollection Accounts { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets/sets whether to show friendly group headers (yesterday, today, tomorrow)
|
||||||
|
/// </summary>
|
||||||
|
public bool ShowFriendlyGroupHeaders { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets/sets the selected calendar date
|
/// Gets/sets the selected calendar date
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -116,17 +127,29 @@ namespace Outlook2013TodoAddIn
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Retrieve all appointments for the current configurations for all stores
|
/// Retrieve all appointments for the current configurations for all selected stores
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public void RetrieveAppointments()
|
public void RetrieveAppointments()
|
||||||
{
|
{
|
||||||
//foreach (Outlook.Store store in Globals.ThisAddIn.Application.Session.Stores)
|
List<Outlook.AppointmentItem> appts = new List<Outlook.AppointmentItem>();
|
||||||
|
foreach (Outlook.Store store in Globals.ThisAddIn.Application.Session.Stores)
|
||||||
|
{
|
||||||
|
if (Properties.Settings.Default.Accounts != null && Properties.Settings.Default.Accounts.Contains(store.DisplayName))
|
||||||
|
{
|
||||||
|
Outlook.Folder calFolder = store.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderCalendar) as Outlook.Folder;
|
||||||
|
appts.AddRange(this.RetrieveAppointmentsForFolder(calFolder));
|
||||||
|
// TODO: Shared calendars?
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// We need to sort them because they may come from different accounts already ordered
|
||||||
|
appts.Sort(CompareAppointments);
|
||||||
|
|
||||||
// Get the Outlook folder for the calendar to retrieve the appointments
|
// Get the Outlook folder for the calendar to retrieve the appointments
|
||||||
Outlook.Folder calFolder =
|
//Outlook.Folder calFolder =
|
||||||
Globals.ThisAddIn.Application.Session.GetDefaultFolder(
|
// Globals.ThisAddIn.Application.Session.GetDefaultFolder(
|
||||||
Outlook.OlDefaultFolders.olFolderCalendar)
|
// Outlook.OlDefaultFolders.olFolderCalendar)
|
||||||
as Outlook.Folder;
|
// as Outlook.Folder;
|
||||||
List<Outlook.AppointmentItem> appts = this.RetrieveAppointmentsForFolder(calFolder);
|
//List<Outlook.AppointmentItem> appts = this.RetrieveAppointmentsForFolder(calFolder);
|
||||||
|
|
||||||
// Highlight dates with appointments in the current calendar
|
// Highlight dates with appointments in the current calendar
|
||||||
this.apptCalendar.BoldedDates = appts.Select<Outlook.AppointmentItem, DateTime>(a => a.Start.Date).Distinct().ToArray();
|
this.apptCalendar.BoldedDates = appts.Select<Outlook.AppointmentItem, DateTime>(a => a.Start.Date).Distinct().ToArray();
|
||||||
@ -150,7 +173,26 @@ namespace Outlook2013TodoAddIn
|
|||||||
{
|
{
|
||||||
if (i.Start.Day != sameDay)
|
if (i.Start.Day != sameDay)
|
||||||
{
|
{
|
||||||
grp = new ListViewGroup(i.Start.ToShortDateString(), HorizontalAlignment.Left);
|
string groupHeaderText = i.Start.ToShortDateString();
|
||||||
|
if (this.ShowFriendlyGroupHeaders)
|
||||||
|
{
|
||||||
|
int daysDiff = (int)(i.Start.Date - DateTime.Today).TotalDays;
|
||||||
|
switch (daysDiff)
|
||||||
|
{
|
||||||
|
case -1:
|
||||||
|
groupHeaderText = Constants.Yesterday + ": " + groupHeaderText;
|
||||||
|
break;
|
||||||
|
case 0:
|
||||||
|
groupHeaderText = Constants.Today + ": " + groupHeaderText;
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
groupHeaderText = Constants.Tomorrow + ": " + groupHeaderText;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
grp = new ListViewGroup(groupHeaderText, HorizontalAlignment.Left);
|
||||||
this.listView1.Groups.Add(grp); // TODO: Style it?
|
this.listView1.Groups.Add(grp); // TODO: Style it?
|
||||||
sameDay = i.Start.Day;
|
sameDay = i.Start.Day;
|
||||||
};
|
};
|
||||||
@ -192,6 +234,17 @@ namespace Outlook2013TodoAddIn
|
|||||||
this.apptCalendar.UpdateCalendar();
|
this.apptCalendar.UpdateCalendar();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Comparer method to sort appointments based on start date/time
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="x">First appointment</param>
|
||||||
|
/// <param name="y">Second appointment</param>
|
||||||
|
/// <returns></returns>
|
||||||
|
private static int CompareAppointments(Outlook.AppointmentItem x, Outlook.AppointmentItem y)
|
||||||
|
{
|
||||||
|
return x.Start.CompareTo(y.Start);
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Retrieve all appointments for the current configurations for a specific folder
|
/// Retrieve all appointments for the current configurations for a specific folder
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -320,7 +373,7 @@ namespace Outlook2013TodoAddIn
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
mail.Body = Environment.NewLine + Environment.NewLine + appt.Body;
|
mail.Body = Environment.NewLine + Environment.NewLine + appt.Body;
|
||||||
mail.Subject = "RE: " + appt.Subject;
|
mail.Subject = Constants.SubjectRE + ": " + appt.Subject;
|
||||||
mail.Display();
|
mail.Display();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -356,6 +409,8 @@ namespace Outlook2013TodoAddIn
|
|||||||
this.NumDays = cfg.NumDays;
|
this.NumDays = cfg.NumDays;
|
||||||
this.MailAlertsEnabled = cfg.MailAlertsEnabled;
|
this.MailAlertsEnabled = cfg.MailAlertsEnabled;
|
||||||
this.ShowPastAppointments = cfg.ShowPastAppointments;
|
this.ShowPastAppointments = cfg.ShowPastAppointments;
|
||||||
|
this.Accounts = cfg.Accounts;
|
||||||
|
this.ShowFriendlyGroupHeaders = cfg.ShowFriendlyGroupHeaders;
|
||||||
this.RetrieveAppointments();
|
this.RetrieveAppointments();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
42
Outlook2013TodoAddIn/Constants.cs
Normal file
42
Outlook2013TodoAddIn/Constants.cs
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
|
||||||
|
namespace Outlook2013TodoAddIn
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// New class to localize some texts and get some constants, pending proper resource localization
|
||||||
|
/// </summary>
|
||||||
|
public class Constants
|
||||||
|
{
|
||||||
|
#region "Variables"
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Today
|
||||||
|
/// </summary>
|
||||||
|
public const string Today = "Today";
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Yesterday
|
||||||
|
/// </summary>
|
||||||
|
public const string Yesterday = "Yesterday";
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Tomorrow
|
||||||
|
/// </summary>
|
||||||
|
public const string Tomorrow = "Tomorrow";
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Reply header prefix for the subject
|
||||||
|
/// </summary>
|
||||||
|
public const string SubjectRE = "RE";
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Follow Up email flag (can't be changed)
|
||||||
|
/// </summary>
|
||||||
|
public const string FollowUp = "Follow up";
|
||||||
|
|
||||||
|
#endregion "Variables"
|
||||||
|
}
|
||||||
|
}
|
@ -266,7 +266,7 @@ namespace Outlook2013TodoAddIn
|
|||||||
{
|
{
|
||||||
// All controls are previously created, just need to update labels, etc...
|
// All controls are previously created, just need to update labels, etc...
|
||||||
this.lnkCurrentRange.Text = this.SelectedDate.ToString("MMM yyyy");
|
this.lnkCurrentRange.Text = this.SelectedDate.ToString("MMM yyyy");
|
||||||
this.lnkToday.Text = "Today: " + DateTime.Today.ToShortDateString();
|
this.lnkToday.Text = Constants.Today + ": " + DateTime.Today.ToShortDateString();
|
||||||
|
|
||||||
string[] daysOfWeek = Enum.GetNames(typeof(DayOfWeek));
|
string[] daysOfWeek = Enum.GetNames(typeof(DayOfWeek));
|
||||||
string sFirstDayOfWeek = Enum.GetName(typeof(DayOfWeek), this.FirstDayOfWeek);
|
string sFirstDayOfWeek = Enum.GetName(typeof(DayOfWeek), this.FirstDayOfWeek);
|
||||||
|
@ -34,13 +34,16 @@
|
|||||||
this.btnCancel = new System.Windows.Forms.Button();
|
this.btnCancel = new System.Windows.Forms.Button();
|
||||||
this.btnOK = new System.Windows.Forms.Button();
|
this.btnOK = new System.Windows.Forms.Button();
|
||||||
this.chkShowPastAppointments = new System.Windows.Forms.CheckBox();
|
this.chkShowPastAppointments = new System.Windows.Forms.CheckBox();
|
||||||
|
this.chkListCalendars = new System.Windows.Forms.CheckedListBox();
|
||||||
|
this.lblAccounts = new System.Windows.Forms.Label();
|
||||||
|
this.chkFriendlyGroupHeaders = new System.Windows.Forms.CheckBox();
|
||||||
((System.ComponentModel.ISupportInitialize)(this.numRangeDays)).BeginInit();
|
((System.ComponentModel.ISupportInitialize)(this.numRangeDays)).BeginInit();
|
||||||
this.SuspendLayout();
|
this.SuspendLayout();
|
||||||
//
|
//
|
||||||
// chkMailAlerts
|
// chkMailAlerts
|
||||||
//
|
//
|
||||||
this.chkMailAlerts.AutoSize = true;
|
this.chkMailAlerts.AutoSize = true;
|
||||||
this.chkMailAlerts.Location = new System.Drawing.Point(59, 134);
|
this.chkMailAlerts.Location = new System.Drawing.Point(45, 94);
|
||||||
this.chkMailAlerts.Name = "chkMailAlerts";
|
this.chkMailAlerts.Name = "chkMailAlerts";
|
||||||
this.chkMailAlerts.Size = new System.Drawing.Size(143, 21);
|
this.chkMailAlerts.Size = new System.Drawing.Size(143, 21);
|
||||||
this.chkMailAlerts.TabIndex = 8;
|
this.chkMailAlerts.TabIndex = 8;
|
||||||
@ -50,7 +53,7 @@
|
|||||||
// lblRangeDays
|
// lblRangeDays
|
||||||
//
|
//
|
||||||
this.lblRangeDays.AutoSize = true;
|
this.lblRangeDays.AutoSize = true;
|
||||||
this.lblRangeDays.Location = new System.Drawing.Point(55, 60);
|
this.lblRangeDays.Location = new System.Drawing.Point(55, 29);
|
||||||
this.lblRangeDays.Name = "lblRangeDays";
|
this.lblRangeDays.Name = "lblRangeDays";
|
||||||
this.lblRangeDays.Size = new System.Drawing.Size(44, 17);
|
this.lblRangeDays.Size = new System.Drawing.Size(44, 17);
|
||||||
this.lblRangeDays.TabIndex = 7;
|
this.lblRangeDays.TabIndex = 7;
|
||||||
@ -58,7 +61,7 @@
|
|||||||
//
|
//
|
||||||
// numRangeDays
|
// numRangeDays
|
||||||
//
|
//
|
||||||
this.numRangeDays.Location = new System.Drawing.Point(115, 58);
|
this.numRangeDays.Location = new System.Drawing.Point(115, 27);
|
||||||
this.numRangeDays.Maximum = new decimal(new int[] {
|
this.numRangeDays.Maximum = new decimal(new int[] {
|
||||||
30,
|
30,
|
||||||
0,
|
0,
|
||||||
@ -81,7 +84,7 @@
|
|||||||
// btnCancel
|
// btnCancel
|
||||||
//
|
//
|
||||||
this.btnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
|
this.btnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
|
||||||
this.btnCancel.Location = new System.Drawing.Point(169, 181);
|
this.btnCancel.Location = new System.Drawing.Point(168, 291);
|
||||||
this.btnCancel.Name = "btnCancel";
|
this.btnCancel.Name = "btnCancel";
|
||||||
this.btnCancel.Size = new System.Drawing.Size(87, 37);
|
this.btnCancel.Size = new System.Drawing.Size(87, 37);
|
||||||
this.btnCancel.TabIndex = 11;
|
this.btnCancel.TabIndex = 11;
|
||||||
@ -91,7 +94,7 @@
|
|||||||
// btnOK
|
// btnOK
|
||||||
//
|
//
|
||||||
this.btnOK.DialogResult = System.Windows.Forms.DialogResult.OK;
|
this.btnOK.DialogResult = System.Windows.Forms.DialogResult.OK;
|
||||||
this.btnOK.Location = new System.Drawing.Point(27, 181);
|
this.btnOK.Location = new System.Drawing.Point(26, 291);
|
||||||
this.btnOK.Name = "btnOK";
|
this.btnOK.Name = "btnOK";
|
||||||
this.btnOK.Size = new System.Drawing.Size(87, 37);
|
this.btnOK.Size = new System.Drawing.Size(87, 37);
|
||||||
this.btnOK.TabIndex = 10;
|
this.btnOK.TabIndex = 10;
|
||||||
@ -102,20 +105,50 @@
|
|||||||
// chkShowPastAppointments
|
// chkShowPastAppointments
|
||||||
//
|
//
|
||||||
this.chkShowPastAppointments.AutoSize = true;
|
this.chkShowPastAppointments.AutoSize = true;
|
||||||
this.chkShowPastAppointments.Location = new System.Drawing.Point(59, 98);
|
this.chkShowPastAppointments.Location = new System.Drawing.Point(45, 67);
|
||||||
this.chkShowPastAppointments.Name = "chkShowPastAppointments";
|
this.chkShowPastAppointments.Name = "chkShowPastAppointments";
|
||||||
this.chkShowPastAppointments.Size = new System.Drawing.Size(186, 21);
|
this.chkShowPastAppointments.Size = new System.Drawing.Size(186, 21);
|
||||||
this.chkShowPastAppointments.TabIndex = 12;
|
this.chkShowPastAppointments.TabIndex = 12;
|
||||||
this.chkShowPastAppointments.Text = "Show Past Appointments";
|
this.chkShowPastAppointments.Text = "Show Past Appointments";
|
||||||
this.chkShowPastAppointments.UseVisualStyleBackColor = true;
|
this.chkShowPastAppointments.UseVisualStyleBackColor = true;
|
||||||
//
|
//
|
||||||
|
// chkListCalendars
|
||||||
|
//
|
||||||
|
this.chkListCalendars.FormattingEnabled = true;
|
||||||
|
this.chkListCalendars.Location = new System.Drawing.Point(26, 176);
|
||||||
|
this.chkListCalendars.Name = "chkListCalendars";
|
||||||
|
this.chkListCalendars.Size = new System.Drawing.Size(229, 106);
|
||||||
|
this.chkListCalendars.TabIndex = 13;
|
||||||
|
//
|
||||||
|
// lblAccounts
|
||||||
|
//
|
||||||
|
this.lblAccounts.AutoSize = true;
|
||||||
|
this.lblAccounts.Location = new System.Drawing.Point(23, 156);
|
||||||
|
this.lblAccounts.Name = "lblAccounts";
|
||||||
|
this.lblAccounts.Size = new System.Drawing.Size(70, 17);
|
||||||
|
this.lblAccounts.TabIndex = 14;
|
||||||
|
this.lblAccounts.Text = "Accounts:";
|
||||||
|
//
|
||||||
|
// chkFriendlyGroupHeaders
|
||||||
|
//
|
||||||
|
this.chkFriendlyGroupHeaders.AutoSize = true;
|
||||||
|
this.chkFriendlyGroupHeaders.Location = new System.Drawing.Point(45, 121);
|
||||||
|
this.chkFriendlyGroupHeaders.Name = "chkFriendlyGroupHeaders";
|
||||||
|
this.chkFriendlyGroupHeaders.Size = new System.Drawing.Size(176, 21);
|
||||||
|
this.chkFriendlyGroupHeaders.TabIndex = 15;
|
||||||
|
this.chkFriendlyGroupHeaders.Text = "Show Friendly Headers";
|
||||||
|
this.chkFriendlyGroupHeaders.UseVisualStyleBackColor = true;
|
||||||
|
//
|
||||||
// FormConfiguration
|
// FormConfiguration
|
||||||
//
|
//
|
||||||
this.AcceptButton = this.btnOK;
|
this.AcceptButton = this.btnOK;
|
||||||
this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F);
|
this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F);
|
||||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
this.CancelButton = this.btnCancel;
|
this.CancelButton = this.btnCancel;
|
||||||
this.ClientSize = new System.Drawing.Size(282, 253);
|
this.ClientSize = new System.Drawing.Size(282, 343);
|
||||||
|
this.Controls.Add(this.chkFriendlyGroupHeaders);
|
||||||
|
this.Controls.Add(this.lblAccounts);
|
||||||
|
this.Controls.Add(this.chkListCalendars);
|
||||||
this.Controls.Add(this.chkShowPastAppointments);
|
this.Controls.Add(this.chkShowPastAppointments);
|
||||||
this.Controls.Add(this.btnCancel);
|
this.Controls.Add(this.btnCancel);
|
||||||
this.Controls.Add(this.btnOK);
|
this.Controls.Add(this.btnOK);
|
||||||
@ -144,5 +177,8 @@
|
|||||||
private System.Windows.Forms.Button btnCancel;
|
private System.Windows.Forms.Button btnCancel;
|
||||||
private System.Windows.Forms.Button btnOK;
|
private System.Windows.Forms.Button btnOK;
|
||||||
private System.Windows.Forms.CheckBox chkShowPastAppointments;
|
private System.Windows.Forms.CheckBox chkShowPastAppointments;
|
||||||
|
private System.Windows.Forms.CheckedListBox chkListCalendars;
|
||||||
|
private System.Windows.Forms.Label lblAccounts;
|
||||||
|
private System.Windows.Forms.CheckBox chkFriendlyGroupHeaders;
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,11 +1,13 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.Collections.Specialized;
|
||||||
using System.ComponentModel;
|
using System.ComponentModel;
|
||||||
using System.Data;
|
using System.Data;
|
||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
|
using Outlook = Microsoft.Office.Interop.Outlook;
|
||||||
|
|
||||||
namespace Outlook2013TodoAddIn.Forms
|
namespace Outlook2013TodoAddIn.Forms
|
||||||
{
|
{
|
||||||
@ -40,6 +42,31 @@ namespace Outlook2013TodoAddIn.Forms
|
|||||||
set { this.chkShowPastAppointments.Checked = value; }
|
set { this.chkShowPastAppointments.Checked = value; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets/sets a list of all stores/accounts to retrieve information from
|
||||||
|
/// </summary>
|
||||||
|
public StringCollection Accounts
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
StringCollection col = new StringCollection();
|
||||||
|
foreach (object item in this.chkListCalendars.CheckedItems)
|
||||||
|
{
|
||||||
|
col.Add(item.ToString());
|
||||||
|
}
|
||||||
|
return col;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets/sets whether to show friendly group headers (yesterday, today, tomorrow)
|
||||||
|
/// </summary>
|
||||||
|
public bool ShowFriendlyGroupHeaders
|
||||||
|
{
|
||||||
|
get { return this.chkFriendlyGroupHeaders.Checked; }
|
||||||
|
set { this.chkFriendlyGroupHeaders.Checked = value; }
|
||||||
|
}
|
||||||
|
|
||||||
#endregion "Properties"
|
#endregion "Properties"
|
||||||
|
|
||||||
#region "Methods"
|
#region "Methods"
|
||||||
@ -62,6 +89,21 @@ namespace Outlook2013TodoAddIn.Forms
|
|||||||
this.numRangeDays.Value = Properties.Settings.Default.NumDays;
|
this.numRangeDays.Value = Properties.Settings.Default.NumDays;
|
||||||
this.chkMailAlerts.Checked = Properties.Settings.Default.MailAlertsEnabled;
|
this.chkMailAlerts.Checked = Properties.Settings.Default.MailAlertsEnabled;
|
||||||
this.chkShowPastAppointments.Checked = Properties.Settings.Default.ShowPastAppointments;
|
this.chkShowPastAppointments.Checked = Properties.Settings.Default.ShowPastAppointments;
|
||||||
|
this.chkFriendlyGroupHeaders.Checked = Properties.Settings.Default.ShowFriendlyGroupHeaders;
|
||||||
|
this.LoadStores();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Loads all the stores (accounts) in the current session
|
||||||
|
/// </summary>
|
||||||
|
private void LoadStores()
|
||||||
|
{
|
||||||
|
foreach (Outlook.Store store in Globals.ThisAddIn.Application.Session.Stores)
|
||||||
|
{
|
||||||
|
bool itemChecked = Properties.Settings.Default.Accounts != null && Properties.Settings.Default.Accounts.Contains(store.DisplayName);
|
||||||
|
int index = this.chkListCalendars.Items.Add(store.DisplayName, itemChecked);
|
||||||
|
// TODO: Use StoreID instead?
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -74,6 +116,8 @@ namespace Outlook2013TodoAddIn.Forms
|
|||||||
Properties.Settings.Default.NumDays = this.numRangeDays.Value;
|
Properties.Settings.Default.NumDays = this.numRangeDays.Value;
|
||||||
Properties.Settings.Default.MailAlertsEnabled = this.chkMailAlerts.Checked;
|
Properties.Settings.Default.MailAlertsEnabled = this.chkMailAlerts.Checked;
|
||||||
Properties.Settings.Default.ShowPastAppointments = this.chkShowPastAppointments.Checked;
|
Properties.Settings.Default.ShowPastAppointments = this.chkShowPastAppointments.Checked;
|
||||||
|
Properties.Settings.Default.Accounts = this.Accounts;
|
||||||
|
Properties.Settings.Default.ShowFriendlyGroupHeaders = this.chkFriendlyGroupHeaders.Checked;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion "Methods"
|
#endregion "Methods"
|
||||||
|
@ -129,7 +129,7 @@ namespace Outlook2013TodoAddIn.Forms
|
|||||||
private void btnFlag_Click(object sender, EventArgs e)
|
private void btnFlag_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
//Microsoft.Office.Interop.Outlook.OlFlagIcon.olYellowFlagIcon
|
//Microsoft.Office.Interop.Outlook.OlFlagIcon.olYellowFlagIcon
|
||||||
this.Email.FlagRequest = "Follow up";
|
this.Email.FlagRequest = Constants.FollowUp;
|
||||||
this.Email.Save();
|
this.Email.Save();
|
||||||
this.Close();
|
this.Close();
|
||||||
}
|
}
|
||||||
|
@ -183,6 +183,7 @@
|
|||||||
can be found.
|
can be found.
|
||||||
-->
|
-->
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<Compile Include="Constants.cs" />
|
||||||
<Compile Include="CustomCalendar.cs">
|
<Compile Include="CustomCalendar.cs">
|
||||||
<SubType>UserControl</SubType>
|
<SubType>UserControl</SubType>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
25
Outlook2013TodoAddIn/Properties/Settings.Designer.cs
generated
25
Outlook2013TodoAddIn/Properties/Settings.Designer.cs
generated
@ -1,7 +1,7 @@
|
|||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// <auto-generated>
|
// <auto-generated>
|
||||||
// This code was generated by a tool.
|
// This code was generated by a tool.
|
||||||
// Runtime Version:4.0.30319.18046
|
// Runtime Version:4.0.30319.18051
|
||||||
//
|
//
|
||||||
// Changes to this file may cause incorrect behavior and will be lost if
|
// Changes to this file may cause incorrect behavior and will be lost if
|
||||||
// the code is regenerated.
|
// the code is regenerated.
|
||||||
@ -94,5 +94,28 @@ namespace Outlook2013TodoAddIn.Properties {
|
|||||||
this["ShowPastAppointments"] = value;
|
this["ShowPastAppointments"] = value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||||
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
|
public global::System.Collections.Specialized.StringCollection Accounts {
|
||||||
|
get {
|
||||||
|
return ((global::System.Collections.Specialized.StringCollection)(this["Accounts"]));
|
||||||
|
}
|
||||||
|
set {
|
||||||
|
this["Accounts"] = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||||
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
|
[global::System.Configuration.DefaultSettingValueAttribute("True")]
|
||||||
|
public bool ShowFriendlyGroupHeaders {
|
||||||
|
get {
|
||||||
|
return ((bool)(this["ShowFriendlyGroupHeaders"]));
|
||||||
|
}
|
||||||
|
set {
|
||||||
|
this["ShowFriendlyGroupHeaders"] = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -20,5 +20,11 @@
|
|||||||
<Setting Name="ShowPastAppointments" Type="System.Boolean" Scope="User">
|
<Setting Name="ShowPastAppointments" Type="System.Boolean" Scope="User">
|
||||||
<Value Profile="(Default)">True</Value>
|
<Value Profile="(Default)">True</Value>
|
||||||
</Setting>
|
</Setting>
|
||||||
|
<Setting Name="Accounts" Type="System.Collections.Specialized.StringCollection" Scope="User">
|
||||||
|
<Value Profile="(Default)" />
|
||||||
|
</Setting>
|
||||||
|
<Setting Name="ShowFriendlyGroupHeaders" Type="System.Boolean" Scope="User">
|
||||||
|
<Value Profile="(Default)">True</Value>
|
||||||
|
</Setting>
|
||||||
</Settings>
|
</Settings>
|
||||||
</SettingsFile>
|
</SettingsFile>
|
@ -42,6 +42,8 @@ namespace Outlook2013TodoAddIn
|
|||||||
this.AppControl = new AppointmentsControl();
|
this.AppControl = new AppointmentsControl();
|
||||||
this.AppControl.MailAlertsEnabled = Properties.Settings.Default.MailAlertsEnabled;
|
this.AppControl.MailAlertsEnabled = Properties.Settings.Default.MailAlertsEnabled;
|
||||||
this.AppControl.ShowPastAppointments = Properties.Settings.Default.ShowPastAppointments;
|
this.AppControl.ShowPastAppointments = Properties.Settings.Default.ShowPastAppointments;
|
||||||
|
this.AppControl.Accounts = Properties.Settings.Default.Accounts;
|
||||||
|
this.AppControl.ShowFriendlyGroupHeaders = Properties.Settings.Default.ShowFriendlyGroupHeaders;
|
||||||
this.AppControl.NumDays = Properties.Settings.Default.NumDays; // Setting the value will load the appointments
|
this.AppControl.NumDays = Properties.Settings.Default.NumDays; // Setting the value will load the appointments
|
||||||
|
|
||||||
ToDoTaskPane = this.CustomTaskPanes.Add(this.AppControl, "Appointments");
|
ToDoTaskPane = this.CustomTaskPanes.Add(this.AppControl, "Appointments");
|
||||||
|
@ -25,6 +25,9 @@
|
|||||||
<setting name="ShowPastAppointments" serializeAs="String">
|
<setting name="ShowPastAppointments" serializeAs="String">
|
||||||
<value>True</value>
|
<value>True</value>
|
||||||
</setting>
|
</setting>
|
||||||
|
<setting name="ShowFriendlyGroupHeaders" serializeAs="String">
|
||||||
|
<value>True</value>
|
||||||
|
</setting>
|
||||||
</Outlook2013TodoAddIn.Properties.Settings>
|
</Outlook2013TodoAddIn.Properties.Settings>
|
||||||
</userSettings>
|
</userSettings>
|
||||||
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup></configuration>
|
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup></configuration>
|
||||||
|
Loading…
Reference in New Issue
Block a user