From: Graham T. <ta...@us...> - 2005-05-30 13:24:40
|
Update of /cvsroot/ccnet/ccnet/project/CCTrayLib/Presentation In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16358/project/CCTrayLib/Presentation Modified Files: MainForm.cs MainForm.resx Log Message: CCNET-35: support force build & display web page in cctraymulti Index: MainForm.cs =================================================================== RCS file: /cvsroot/ccnet/ccnet/project/CCTrayLib/Presentation/MainForm.cs,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** MainForm.cs 30 May 2005 12:22:13 -0000 1.2 --- MainForm.cs 30 May 2005 13:24:24 -0000 1.3 *************** *** 21,24 **** --- 21,27 ---- private MainMenu mainMenu; private TrayIcon trayIcon; + private System.Windows.Forms.ContextMenu projectContextMenu; + private System.Windows.Forms.MenuItem mnuForce; + private System.Windows.Forms.MenuItem mnuWebPage; private IContainer components; *************** *** 33,36 **** --- 36,40 ---- ApplyTemporaryHackToGetSomethingUpAndRunning(); + UpdateProjectContextMenu(); } *************** *** 59,87 **** { this.components = new System.ComponentModel.Container(); ! System.Resources.ResourceManager resources = new System.Resources.ResourceManager( typeof (MainForm) ); this.lvProjects = new System.Windows.Forms.ListView(); this.colProject = new System.Windows.Forms.ColumnHeader(); this.colProjectStatus = new System.Windows.Forms.ColumnHeader(); ! this.iconList = new System.Windows.Forms.ImageList( this.components ); this.mainMenu = new System.Windows.Forms.MainMenu(); this.menuFile = new System.Windows.Forms.MenuItem(); this.menuFileExit = new System.Windows.Forms.MenuItem(); ! this.trayIcon = new TrayIcon(); this.SuspendLayout(); // // lvProjects // ! this.lvProjects.Columns.AddRange( new System.Windows.Forms.ColumnHeader[] ! { ! this.colProject, ! this.colProjectStatus ! } ); this.lvProjects.Dock = System.Windows.Forms.DockStyle.Fill; ! this.lvProjects.Location = new System.Drawing.Point( 0, 0 ); this.lvProjects.Name = "lvProjects"; ! this.lvProjects.Size = new System.Drawing.Size( 292, 266 ); this.lvProjects.SmallImageList = this.iconList; this.lvProjects.TabIndex = 0; this.lvProjects.View = System.Windows.Forms.View.List; // // colProject --- 63,96 ---- { this.components = new System.ComponentModel.Container(); ! System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(MainForm)); this.lvProjects = new System.Windows.Forms.ListView(); this.colProject = new System.Windows.Forms.ColumnHeader(); this.colProjectStatus = new System.Windows.Forms.ColumnHeader(); ! this.projectContextMenu = new System.Windows.Forms.ContextMenu(); ! this.mnuForce = new System.Windows.Forms.MenuItem(); ! this.mnuWebPage = new System.Windows.Forms.MenuItem(); ! this.iconList = new System.Windows.Forms.ImageList(this.components); this.mainMenu = new System.Windows.Forms.MainMenu(); this.menuFile = new System.Windows.Forms.MenuItem(); this.menuFileExit = new System.Windows.Forms.MenuItem(); ! this.trayIcon = new ThoughtWorks.CruiseControl.CCTrayLib.Presentation.TrayIcon(); this.SuspendLayout(); // // lvProjects // ! this.lvProjects.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { ! this.colProject, ! this.colProjectStatus}); ! this.lvProjects.ContextMenu = this.projectContextMenu; this.lvProjects.Dock = System.Windows.Forms.DockStyle.Fill; ! this.lvProjects.Location = new System.Drawing.Point(0, 0); ! this.lvProjects.MultiSelect = false; this.lvProjects.Name = "lvProjects"; ! this.lvProjects.Size = new System.Drawing.Size(292, 266); this.lvProjects.SmallImageList = this.iconList; this.lvProjects.TabIndex = 0; this.lvProjects.View = System.Windows.Forms.View.List; + this.lvProjects.DoubleClick += new System.EventHandler(this.lvProjects_DoubleClick); + this.lvProjects.SelectedIndexChanged += new System.EventHandler(this.lvProjects_SelectedIndexChanged); // // colProject *************** *** 95,118 **** this.colProjectStatus.Width = 123; // // iconList // ! this.iconList.ImageSize = new System.Drawing.Size( 16, 16 ); ! this.iconList.ImageStream = ((System.Windows.Forms.ImageListStreamer) (resources.GetObject( "iconList.ImageStream" ))); this.iconList.TransparentColor = System.Drawing.Color.Transparent; // // mainMenu // ! this.mainMenu.MenuItems.AddRange( new System.Windows.Forms.MenuItem[] ! { ! this.menuFile ! } ); // // menuFile // this.menuFile.Index = 0; ! this.menuFile.MenuItems.AddRange( new System.Windows.Forms.MenuItem[] ! { ! this.menuFileExit ! } ); this.menuFile.Text = "&File"; // --- 104,141 ---- this.colProjectStatus.Width = 123; // + // projectContextMenu + // + this.projectContextMenu.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] { + this.mnuForce, + this.mnuWebPage}); + // + // mnuForce + // + this.mnuForce.Index = 0; + this.mnuForce.Text = "&Force Build"; + this.mnuForce.Click += new System.EventHandler(this.mnuForce_Click); + // + // mnuWebPage + // + this.mnuWebPage.Index = 1; + this.mnuWebPage.Text = "Display &Web Page"; + this.mnuWebPage.Click += new System.EventHandler(this.mnuWebPage_Click); + // // iconList // ! this.iconList.ImageSize = new System.Drawing.Size(16, 16); ! this.iconList.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("iconList.ImageStream"))); this.iconList.TransparentColor = System.Drawing.Color.Transparent; // // mainMenu // ! this.mainMenu.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] { ! this.menuFile}); // // menuFile // this.menuFile.Index = 0; ! this.menuFile.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] { ! this.menuFileExit}); this.menuFile.Text = "&File"; // *************** *** 121,128 **** this.menuFileExit.Index = 0; this.menuFileExit.Text = "&Exit"; ! this.menuFileExit.Click += new System.EventHandler( this.menuFileExit_Click ); // // trayIcon // this.trayIcon.Text = "CruiseControl.NET\n(This tooltip information still to be implemented)"; this.trayIcon.Visible = true; --- 144,153 ---- this.menuFileExit.Index = 0; this.menuFileExit.Text = "&Exit"; ! this.menuFileExit.Click += new System.EventHandler(this.menuFileExit_Click); // // trayIcon // + this.trayIcon.ContextMenu = null; + this.trayIcon.Icon = null; this.trayIcon.Text = "CruiseControl.NET\n(This tooltip information still to be implemented)"; this.trayIcon.Visible = true; *************** *** 130,141 **** // MainForm // ! this.AutoScaleBaseSize = new System.Drawing.Size( 5, 13 ); ! this.ClientSize = new System.Drawing.Size( 292, 266 ); ! this.Controls.Add( this.lvProjects ); ! this.Icon = ((System.Drawing.Icon) (resources.GetObject( "$this.Icon" ))); this.Menu = this.mainMenu; this.Name = "MainForm"; this.Text = "CruiseControl.NET"; ! this.ResumeLayout( false ); } --- 155,166 ---- // MainForm // ! this.AutoScaleBaseSize = new System.Drawing.Size(5, 13); ! this.ClientSize = new System.Drawing.Size(292, 266); ! this.Controls.Add(this.lvProjects); ! this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.Menu = this.mainMenu; this.Name = "MainForm"; this.Text = "CruiseControl.NET"; ! this.ResumeLayout(false); } *************** *** 181,185 **** foreach (IProjectMonitor monitor in monitors) { ! lvProjects.Items.Add( new ProjectStatusListViewItemAdaptor().Create( monitor ) ); } } --- 206,272 ---- foreach (IProjectMonitor monitor in monitors) { ! ListViewItem item = new ProjectStatusListViewItemAdaptor().Create( monitor ); ! item.Tag = monitor; ! lvProjects.Items.Add( item ); ! } ! } ! ! // ! // All this hard-coded event stuff really needs a better abstraction ! // to make it testable and extenable... ! // ! private void lvProjects_SelectedIndexChanged(object sender, System.EventArgs e) ! { ! UpdateProjectContextMenu(); ! } ! ! private void UpdateProjectContextMenu() ! { ! bool isProjectSelected = SelectedProject != null; ! ! mnuForce.Enabled = isProjectSelected; ! mnuWebPage.Enabled = isProjectSelected; ! } ! ! private void mnuForce_Click(object sender, System.EventArgs e) ! { ! try ! { ! SelectedProject.ForceBuild(); ! } ! catch (Exception ex) ! { ! MessageBox.Show("Failed to force build: " + ex); ! } ! } ! ! private void mnuWebPage_Click(object sender, System.EventArgs e) ! { ! DisplayWebPageForSelectedProject(); ! } ! ! private void lvProjects_DoubleClick(object sender, System.EventArgs e) ! { ! DisplayWebPageForSelectedProject(); ! } ! ! public IProjectMonitor SelectedProject ! { ! get ! { ! if (lvProjects.SelectedItems.Count == 0) ! return null; ! ! return (IProjectMonitor) lvProjects.SelectedItems[0].Tag; ! } ! } ! ! private void DisplayWebPageForSelectedProject() ! { ! IProjectMonitor project = SelectedProject; ! if (project != null && project.ProjectStatus != null) ! { ! string url = project.ProjectStatus.WebURL; ! Process.Start(url); } } Index: MainForm.resx =================================================================== RCS file: /cvsroot/ccnet/ccnet/project/CCTrayLib/Presentation/MainForm.resx,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** MainForm.resx 30 May 2005 12:22:13 -0000 1.2 --- MainForm.resx 30 May 2005 13:24:24 -0000 1.3 *************** *** 119,122 **** --- 119,143 ---- <value>Private</value> </data> + <data name="projectContextMenu.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> + <value>Private</value> + </data> + <data name="projectContextMenu.Location" type="System.Drawing.Point, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> + <value>302, 17</value> + </data> + <data name="projectContextMenu.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> + <value>Private</value> + </data> + <data name="mnuForce.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> + <value>Private</value> + </data> + <data name="mnuForce.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> + <value>Private</value> + </data> + <data name="mnuWebPage.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> + <value>Private</value> + </data> + <data name="mnuWebPage.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> + <value>Private</value> + </data> <data name="iconList.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <value>Private</value> *************** *** 216,222 **** <value>False</value> </data> - <data name="$this.Name"> - <value>MainForm</value> - </data> <data name="$this.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <value>5, 5</value> --- 237,240 ---- *************** *** 228,231 **** --- 246,252 ---- <value>80</value> </data> + <data name="$this.Name"> + <value>MainForm</value> + </data> <data name="$this.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <value>True</value> |