Added enhanced listview display for appointments using tiles

This commit is contained in:
gamosoft_cp 2013-04-30 21:00:02 +00:00
parent ebde96e76d
commit cc3656a925
2 changed files with 15 additions and 21 deletions

View File

@ -115,6 +115,7 @@
//
// listView1
//
this.listView1.Activation = System.Windows.Forms.ItemActivation.OneClick;
this.listView1.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
this.columnHeader1,
this.columnHeader2});
@ -129,19 +130,20 @@
this.listView1.ShowItemToolTips = true;
this.listView1.Size = new System.Drawing.Size(226, 507);
this.listView1.TabIndex = 4;
this.listView1.TileSize = new System.Drawing.Size(300, 38);
this.listView1.UseCompatibleStateImageBehavior = false;
this.listView1.View = System.Windows.Forms.View.Details;
this.listView1.View = System.Windows.Forms.View.Tile;
this.listView1.DoubleClick += new System.EventHandler(this.listView1_DoubleClick);
//
// columnHeader1
//
this.columnHeader1.Text = "Date";
this.columnHeader1.Width = 78;
this.columnHeader1.Width = 200;
//
// columnHeader2
//
this.columnHeader2.Text = "Subject";
this.columnHeader2.Width = 163;
this.columnHeader2.Width = 200;
//
// grpRefresh
//
@ -170,7 +172,6 @@
this.apptCalendar.Name = "apptCalendar";
this.apptCalendar.OtherMonthForeColor = System.Drawing.Color.LightGray;
this.apptCalendar.SelectedBackColor = System.Drawing.Color.LightBlue;
this.apptCalendar.SelectedDate = new System.DateTime(2013, 4, 26, 0, 0, 0, 0);
this.apptCalendar.SelectedForeColor = System.Drawing.Color.Blue;
this.apptCalendar.Size = new System.Drawing.Size(226, 242);
this.apptCalendar.TabIndex = 1;

View File

@ -119,23 +119,26 @@ namespace Outlook2013TodoAddIn
int sameDay = -1; // startRange.Day;
List<ListViewItem> lstCol = new List<ListViewItem>();
ListViewGroup grp = null;
lstItems.ToList().ForEach(i =>
{
if (i.Start.Day != sameDay)
{
ListViewItem dateItem = new ListViewItem() { Text = i.Start.ToShortDateString() };
dateItem.Font = new Font(this.listView1.Font, FontStyle.Bold);
lstCol.Add(dateItem);
grp = new ListViewGroup(i.Start.ToShortDateString(), HorizontalAlignment.Left);
this.listView1.Groups.Add(grp); // TODO: Style it?
sameDay = i.Start.Day;
};
ListViewItem current = new ListViewItem() { Text = i.Start.ToShortTimeString() };
string loc = "-"; // TODO: If no second line is specified, the tile is stretched to only one line
if (!String.IsNullOrEmpty(i.Location)) loc = i.Location;
ListViewItem current = new ListViewItem(new string[] { String.Format("{0} {1}", i.Start.ToShortTimeString(), i.Subject), loc });
current.SubItems.Add(i.Subject);
// current.SubItems.Add(i.Location);
// current.Font = new Font(this.Font, FontStyle.Bold);
// current.UseItemStyleForSubItems = false;
current.ToolTipText = String.Format("{0} - {1} {2}", i.Start.ToShortTimeString(), i.End.ToShortTimeString(), i.Subject);
current.Tag = i;
current.Group = grp;
switch (i.BusyStatus)
{
case Outlook.OlBusyStatus.olBusy:
@ -155,16 +158,6 @@ namespace Outlook2013TodoAddIn
}
lstCol.Add(current);
// Add location into a new line (if available)
if (!String.IsNullOrEmpty(i.Location))
{
ListViewItem locationItem = new ListViewItem() { Text = String.Empty };
locationItem.SubItems.Add(i.Location);
locationItem.ForeColor = current.ForeColor;
locationItem.Tag = i;
lstCol.Add(locationItem);
}
});
this.listView1.Items.Clear();