Added split container for appointments and tasks. New user property to store it.
This commit is contained in:
parent
e0489a9e8a
commit
477f757e3d
110
Outlook2013TodoAddIn/AppointmentsControl.Designer.cs
generated
110
Outlook2013TodoAddIn/AppointmentsControl.Designer.cs
generated
@ -32,12 +32,20 @@
|
|||||||
this.ctxMenuAppointments = new System.Windows.Forms.ContextMenuStrip(this.components);
|
this.ctxMenuAppointments = new System.Windows.Forms.ContextMenuStrip(this.components);
|
||||||
this.mnuItemReplyAllEmail = new System.Windows.Forms.ToolStripMenuItem();
|
this.mnuItemReplyAllEmail = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.panel1 = new System.Windows.Forms.Panel();
|
this.panel1 = new System.Windows.Forms.Panel();
|
||||||
this.listView1 = new System.Windows.Forms.ListView();
|
this.lstTasks = new System.Windows.Forms.ListView();
|
||||||
|
this.columnHeader3 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||||
|
this.columnHeader4 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||||
|
this.lstAppointments = new System.Windows.Forms.ListView();
|
||||||
this.columnHeader1 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
this.columnHeader1 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||||
this.columnHeader2 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
this.columnHeader2 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||||
|
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
|
||||||
this.apptCalendar = new Outlook2013TodoAddIn.CustomCalendar();
|
this.apptCalendar = new Outlook2013TodoAddIn.CustomCalendar();
|
||||||
this.ctxMenuAppointments.SuspendLayout();
|
this.ctxMenuAppointments.SuspendLayout();
|
||||||
this.panel1.SuspendLayout();
|
this.panel1.SuspendLayout();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
|
||||||
|
this.splitContainer1.Panel1.SuspendLayout();
|
||||||
|
this.splitContainer1.Panel2.SuspendLayout();
|
||||||
|
this.splitContainer1.SuspendLayout();
|
||||||
this.SuspendLayout();
|
this.SuspendLayout();
|
||||||
//
|
//
|
||||||
// ctxMenuAppointments
|
// ctxMenuAppointments
|
||||||
@ -56,7 +64,7 @@
|
|||||||
//
|
//
|
||||||
// panel1
|
// panel1
|
||||||
//
|
//
|
||||||
this.panel1.Controls.Add(this.listView1);
|
this.panel1.Controls.Add(this.splitContainer1);
|
||||||
this.panel1.Controls.Add(this.apptCalendar);
|
this.panel1.Controls.Add(this.apptCalendar);
|
||||||
this.panel1.Dock = System.Windows.Forms.DockStyle.Fill;
|
this.panel1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
this.panel1.Location = new System.Drawing.Point(0, 0);
|
this.panel1.Location = new System.Drawing.Point(0, 0);
|
||||||
@ -64,28 +72,59 @@
|
|||||||
this.panel1.Size = new System.Drawing.Size(258, 767);
|
this.panel1.Size = new System.Drawing.Size(258, 767);
|
||||||
this.panel1.TabIndex = 8;
|
this.panel1.TabIndex = 8;
|
||||||
//
|
//
|
||||||
// listView1
|
// lstTasks
|
||||||
//
|
//
|
||||||
this.listView1.Activation = System.Windows.Forms.ItemActivation.OneClick;
|
this.lstTasks.Activation = System.Windows.Forms.ItemActivation.OneClick;
|
||||||
this.listView1.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
|
this.lstTasks.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
|
||||||
|
this.columnHeader3,
|
||||||
|
this.columnHeader4});
|
||||||
|
this.lstTasks.ContextMenuStrip = this.ctxMenuAppointments;
|
||||||
|
this.lstTasks.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.lstTasks.FullRowSelect = true;
|
||||||
|
this.lstTasks.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable;
|
||||||
|
this.lstTasks.Location = new System.Drawing.Point(0, 0);
|
||||||
|
this.lstTasks.MultiSelect = false;
|
||||||
|
this.lstTasks.Name = "lstTasks";
|
||||||
|
this.lstTasks.OwnerDraw = true;
|
||||||
|
this.lstTasks.ShowItemToolTips = true;
|
||||||
|
this.lstTasks.Size = new System.Drawing.Size(258, 266);
|
||||||
|
this.lstTasks.TabIndex = 5;
|
||||||
|
this.lstTasks.TileSize = new System.Drawing.Size(300, 38);
|
||||||
|
this.lstTasks.UseCompatibleStateImageBehavior = false;
|
||||||
|
this.lstTasks.View = System.Windows.Forms.View.Tile;
|
||||||
|
//
|
||||||
|
// columnHeader3
|
||||||
|
//
|
||||||
|
this.columnHeader3.Text = "Date";
|
||||||
|
this.columnHeader3.Width = 200;
|
||||||
|
//
|
||||||
|
// columnHeader4
|
||||||
|
//
|
||||||
|
this.columnHeader4.Text = "Subject";
|
||||||
|
this.columnHeader4.Width = 200;
|
||||||
|
//
|
||||||
|
// lstAppointments
|
||||||
|
//
|
||||||
|
this.lstAppointments.Activation = System.Windows.Forms.ItemActivation.OneClick;
|
||||||
|
this.lstAppointments.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
|
||||||
this.columnHeader1,
|
this.columnHeader1,
|
||||||
this.columnHeader2});
|
this.columnHeader2});
|
||||||
this.listView1.ContextMenuStrip = this.ctxMenuAppointments;
|
this.lstAppointments.ContextMenuStrip = this.ctxMenuAppointments;
|
||||||
this.listView1.Dock = System.Windows.Forms.DockStyle.Fill;
|
this.lstAppointments.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
this.listView1.FullRowSelect = true;
|
this.lstAppointments.FullRowSelect = true;
|
||||||
this.listView1.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable;
|
this.lstAppointments.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable;
|
||||||
this.listView1.Location = new System.Drawing.Point(0, 228);
|
this.lstAppointments.Location = new System.Drawing.Point(0, 0);
|
||||||
this.listView1.MultiSelect = false;
|
this.lstAppointments.MultiSelect = false;
|
||||||
this.listView1.Name = "listView1";
|
this.lstAppointments.Name = "lstAppointments";
|
||||||
this.listView1.OwnerDraw = true;
|
this.lstAppointments.OwnerDraw = true;
|
||||||
this.listView1.ShowItemToolTips = true;
|
this.lstAppointments.ShowItemToolTips = true;
|
||||||
this.listView1.Size = new System.Drawing.Size(258, 539);
|
this.lstAppointments.Size = new System.Drawing.Size(258, 269);
|
||||||
this.listView1.TabIndex = 4;
|
this.lstAppointments.TabIndex = 4;
|
||||||
this.listView1.TileSize = new System.Drawing.Size(300, 38);
|
this.lstAppointments.TileSize = new System.Drawing.Size(300, 38);
|
||||||
this.listView1.UseCompatibleStateImageBehavior = false;
|
this.lstAppointments.UseCompatibleStateImageBehavior = false;
|
||||||
this.listView1.View = System.Windows.Forms.View.Tile;
|
this.lstAppointments.View = System.Windows.Forms.View.Tile;
|
||||||
this.listView1.DrawItem += new System.Windows.Forms.DrawListViewItemEventHandler(this.listView1_DrawItem);
|
this.lstAppointments.DrawItem += new System.Windows.Forms.DrawListViewItemEventHandler(this.lstAppointments_DrawItem);
|
||||||
this.listView1.DoubleClick += new System.EventHandler(this.listView1_DoubleClick);
|
this.lstAppointments.DoubleClick += new System.EventHandler(this.lstAppointments_DoubleClick);
|
||||||
//
|
//
|
||||||
// columnHeader1
|
// columnHeader1
|
||||||
//
|
//
|
||||||
@ -97,6 +136,25 @@
|
|||||||
this.columnHeader2.Text = "Subject";
|
this.columnHeader2.Text = "Subject";
|
||||||
this.columnHeader2.Width = 200;
|
this.columnHeader2.Width = 200;
|
||||||
//
|
//
|
||||||
|
// splitContainer1
|
||||||
|
//
|
||||||
|
this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.splitContainer1.Location = new System.Drawing.Point(0, 228);
|
||||||
|
this.splitContainer1.Name = "splitContainer1";
|
||||||
|
this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal;
|
||||||
|
//
|
||||||
|
// splitContainer1.Panel1
|
||||||
|
//
|
||||||
|
this.splitContainer1.Panel1.Controls.Add(this.lstAppointments);
|
||||||
|
//
|
||||||
|
// splitContainer1.Panel2
|
||||||
|
//
|
||||||
|
this.splitContainer1.Panel2.Controls.Add(this.lstTasks);
|
||||||
|
this.splitContainer1.Size = new System.Drawing.Size(258, 539);
|
||||||
|
this.splitContainer1.SplitterDistance = 269;
|
||||||
|
this.splitContainer1.TabIndex = 6;
|
||||||
|
this.splitContainer1.SplitterMoved += new System.Windows.Forms.SplitterEventHandler(this.splitContainer1_SplitterMoved);
|
||||||
|
//
|
||||||
// apptCalendar
|
// apptCalendar
|
||||||
//
|
//
|
||||||
this.apptCalendar.BoldedDates = null;
|
this.apptCalendar.BoldedDates = null;
|
||||||
@ -129,6 +187,10 @@
|
|||||||
this.Size = new System.Drawing.Size(258, 767);
|
this.Size = new System.Drawing.Size(258, 767);
|
||||||
this.ctxMenuAppointments.ResumeLayout(false);
|
this.ctxMenuAppointments.ResumeLayout(false);
|
||||||
this.panel1.ResumeLayout(false);
|
this.panel1.ResumeLayout(false);
|
||||||
|
this.splitContainer1.Panel1.ResumeLayout(false);
|
||||||
|
this.splitContainer1.Panel2.ResumeLayout(false);
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
|
||||||
|
this.splitContainer1.ResumeLayout(false);
|
||||||
this.ResumeLayout(false);
|
this.ResumeLayout(false);
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -139,9 +201,13 @@
|
|||||||
private System.Windows.Forms.ToolStripMenuItem mnuItemReplyAllEmail;
|
private System.Windows.Forms.ToolStripMenuItem mnuItemReplyAllEmail;
|
||||||
private System.Windows.Forms.Panel panel1;
|
private System.Windows.Forms.Panel panel1;
|
||||||
private CustomCalendar apptCalendar;
|
private CustomCalendar apptCalendar;
|
||||||
private System.Windows.Forms.ListView listView1;
|
private System.Windows.Forms.ListView lstAppointments;
|
||||||
private System.Windows.Forms.ColumnHeader columnHeader1;
|
private System.Windows.Forms.ColumnHeader columnHeader1;
|
||||||
private System.Windows.Forms.ColumnHeader columnHeader2;
|
private System.Windows.Forms.ColumnHeader columnHeader2;
|
||||||
|
private System.Windows.Forms.ListView lstTasks;
|
||||||
|
private System.Windows.Forms.ColumnHeader columnHeader3;
|
||||||
|
private System.Windows.Forms.ColumnHeader columnHeader4;
|
||||||
|
private System.Windows.Forms.SplitContainer splitContainer1;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -91,8 +91,14 @@ namespace Outlook2013TodoAddIn
|
|||||||
this.RetrieveAppointments();
|
this.RetrieveAppointments();
|
||||||
if (this.ShowTasks)
|
if (this.ShowTasks)
|
||||||
{
|
{
|
||||||
|
this.splitContainer1.Panel2Collapsed = false;
|
||||||
|
this.splitContainer1.SplitterDistance = Properties.Settings.Default.SplitterDistance;
|
||||||
// this.RetrieveTasks();
|
// this.RetrieveTasks();
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
this.splitContainer1.Panel2Collapsed = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -225,7 +231,7 @@ namespace Outlook2013TodoAddIn
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
grp = new ListViewGroup(groupHeaderText, HorizontalAlignment.Left);
|
grp = new ListViewGroup(groupHeaderText, HorizontalAlignment.Left);
|
||||||
this.listView1.Groups.Add(grp); // TODO: Style it?
|
this.lstAppointments.Groups.Add(grp); // TODO: Style it?
|
||||||
sameDay = i.Start.Day;
|
sameDay = i.Start.Day;
|
||||||
};
|
};
|
||||||
string loc = "-"; // TODO: If no second line is specified, the tile is stretched to only one line
|
string loc = "-"; // TODO: If no second line is specified, the tile is stretched to only one line
|
||||||
@ -260,8 +266,8 @@ namespace Outlook2013TodoAddIn
|
|||||||
lstCol.Add(current);
|
lstCol.Add(current);
|
||||||
});
|
});
|
||||||
|
|
||||||
this.listView1.Items.Clear();
|
this.lstAppointments.Items.Clear();
|
||||||
this.listView1.Items.AddRange(lstCol.ToArray());
|
this.lstAppointments.Items.AddRange(lstCol.ToArray());
|
||||||
|
|
||||||
this.apptCalendar.UpdateCalendar();
|
this.apptCalendar.UpdateCalendar();
|
||||||
}
|
}
|
||||||
@ -344,11 +350,11 @@ namespace Outlook2013TodoAddIn
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="sender">Sender</param>
|
/// <param name="sender">Sender</param>
|
||||||
/// <param name="e">EventArgs</param>
|
/// <param name="e">EventArgs</param>
|
||||||
private void listView1_DoubleClick(object sender, EventArgs e)
|
private void lstAppointments_DoubleClick(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if (this.listView1.SelectedIndices.Count != 0)
|
if (this.lstAppointments.SelectedIndices.Count != 0)
|
||||||
{
|
{
|
||||||
Outlook.AppointmentItem appt = this.listView1.SelectedItems[0].Tag as Outlook.AppointmentItem;
|
Outlook.AppointmentItem appt = this.lstAppointments.SelectedItems[0].Tag as Outlook.AppointmentItem;
|
||||||
if (appt != null)
|
if (appt != null)
|
||||||
{
|
{
|
||||||
if (appt.IsRecurring)
|
if (appt.IsRecurring)
|
||||||
@ -389,9 +395,9 @@ namespace Outlook2013TodoAddIn
|
|||||||
/// <param name="e">EventArgs</param>
|
/// <param name="e">EventArgs</param>
|
||||||
private void mnuItemReplyAllEmail_Click(object sender, EventArgs e)
|
private void mnuItemReplyAllEmail_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if (this.listView1.SelectedIndices.Count != 0)
|
if (this.lstAppointments.SelectedIndices.Count != 0)
|
||||||
{
|
{
|
||||||
Outlook.AppointmentItem appt = this.listView1.SelectedItems[0].Tag as Outlook.AppointmentItem;
|
Outlook.AppointmentItem appt = this.lstAppointments.SelectedItems[0].Tag as Outlook.AppointmentItem;
|
||||||
if (appt != null)
|
if (appt != null)
|
||||||
{
|
{
|
||||||
Outlook.MailItem mail = Globals.ThisAddIn.Application.CreateItem(Outlook.OlItemType.olMailItem) as Outlook.MailItem;
|
Outlook.MailItem mail = Globals.ThisAddIn.Application.CreateItem(Outlook.OlItemType.olMailItem) as Outlook.MailItem;
|
||||||
@ -455,7 +461,7 @@ namespace Outlook2013TodoAddIn
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="sender">Sender</param>
|
/// <param name="sender">Sender</param>
|
||||||
/// <param name="e">DrawListViewItemEventArgs</param>
|
/// <param name="e">DrawListViewItemEventArgs</param>
|
||||||
private void listView1_DrawItem(object sender, DrawListViewItemEventArgs e)
|
private void lstAppointments_DrawItem(object sender, DrawListViewItemEventArgs e)
|
||||||
{
|
{
|
||||||
e.DrawBackground(); // To avoid repainting (making font "grow")
|
e.DrawBackground(); // To avoid repainting (making font "grow")
|
||||||
Outlook.AppointmentItem appt = e.Item.Tag as Outlook.AppointmentItem;
|
Outlook.AppointmentItem appt = e.Item.Tag as Outlook.AppointmentItem;
|
||||||
@ -624,6 +630,16 @@ namespace Outlook2013TodoAddIn
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Save the splitter distance to restore upon reloading the plugin
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="sender">Sender</param>
|
||||||
|
/// <param name="e">SplitterEventArgs</param>
|
||||||
|
private void splitContainer1_SplitterMoved(object sender, SplitterEventArgs e)
|
||||||
|
{
|
||||||
|
Properties.Settings.Default.SplitterDistance = this.splitContainer1.SplitterDistance;
|
||||||
|
}
|
||||||
|
|
||||||
#endregion "Methods"
|
#endregion "Methods"
|
||||||
}
|
}
|
||||||
}
|
}
|
12
Outlook2013TodoAddIn/Properties/Settings.Designer.cs
generated
12
Outlook2013TodoAddIn/Properties/Settings.Designer.cs
generated
@ -141,5 +141,17 @@ namespace Outlook2013TodoAddIn.Properties {
|
|||||||
this["FirstDayOfWeek"] = value;
|
this["FirstDayOfWeek"] = value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||||
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
|
[global::System.Configuration.DefaultSettingValueAttribute("400")]
|
||||||
|
public int SplitterDistance {
|
||||||
|
get {
|
||||||
|
return ((int)(this["SplitterDistance"]));
|
||||||
|
}
|
||||||
|
set {
|
||||||
|
this["SplitterDistance"] = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -32,5 +32,8 @@
|
|||||||
<Setting Name="FirstDayOfWeek" Type="System.DayOfWeek" Scope="User">
|
<Setting Name="FirstDayOfWeek" Type="System.DayOfWeek" Scope="User">
|
||||||
<Value Profile="(Default)">Sunday</Value>
|
<Value Profile="(Default)">Sunday</Value>
|
||||||
</Setting>
|
</Setting>
|
||||||
|
<Setting Name="SplitterDistance" Type="System.Int32" Scope="User">
|
||||||
|
<Value Profile="(Default)">400</Value>
|
||||||
|
</Setting>
|
||||||
</Settings>
|
</Settings>
|
||||||
</SettingsFile>
|
</SettingsFile>
|
@ -34,6 +34,9 @@
|
|||||||
<setting name="FirstDayOfWeek" serializeAs="String">
|
<setting name="FirstDayOfWeek" serializeAs="String">
|
||||||
<value>Sunday</value>
|
<value>Sunday</value>
|
||||||
</setting>
|
</setting>
|
||||||
|
<setting name="SplitterDistance" serializeAs="String">
|
||||||
|
<value>400</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