private void treeView1_AfterSelect(object sender, TreeViewEventArgs e) { if (e.Node.Parent == null) { lvApplications.Visible = true; TsTask currentTask = (TsTask)e.Node.Tag; _supressChecked = true; foreach (ListViewItem appItem in lvApplications.Items) { TsApplication currentApp = (TsApplication)appItem.Tag; if (currentTask.AssignedApplications.Find(a => a.PID == currentApp.PID) == null) { appItem.Checked = false; } else { appItem.Checked = true; } } _supressChecked = false; } else { lvApplications.Visible = false; } }
void TsWinLoggerStateChanged(object sender, WindowLogger.AppWindowChangedHandlerArgs args) { var prevApp = _applicationList.Find(app => app.Name == args.OldState.ProcesName && app.Description == args.OldState.ProcessDesc); var newApp = _applicationList.Find(app => app.Name == args.NewState.ProcesName && app.Description == args.NewState.ProcessDesc); if (prevApp != null) { TsApplication app = null; TsTask task = _taskList.Find(t => (app = t.AssignedApplications.Find(a => a.PID == prevApp.PID)) != null); if (task != null) { task.ActualTimeToSpend += DateTime.Now - app.StartTime; _taskDbs.UpdateTask(task); } //TODO : work with application's windows //var wind = new TsWindow(args.OldState.WindowTitle, args.OldState.Ts); //if (!actApp.RunningWindows.Contains(wind)) // actApp.RunningWindows.Add(wind); } if (newApp != null) { newApp.StartTime = DateTime.Now; } }
void TsWinLoggerAppChanged(object sender, WindowTracker.ActApplicationChangedHandlerArgs args) { var currApp = _applicationList.Find(a => a.Name == args.NewPname && a.Description == args.NewPdesc); if (currApp != null) { if (currApp.PID != args.NewPID) { currApp.StartTime = DateTime.Now; currApp.PID = args.NewPID; } } else { var app = new TsApplication(args.NewPname, args.NewPdesc, args.NewPID) { StartTime = DateTime.Now }; app.SmallIcon = IconHelper.GetApplicationIcon(app.Name, app.Description, false).ToBitmap(); app.LargeIcon = IconHelper.GetApplicationIcon(app.Name, app.Description, true).ToBitmap(); _taskDbs.NewApplication(app); _applicationList.Add(app); InvokeNewApplication(new TsApplication.NewApplicationHandlerArgs(app)); } }
public void AddNewApplication(TsApplication app) { if (lvApplications.InvokeRequired) { lvApplications.Invoke(new AddAppDelegate(AddApp), app); } else { AddApp(app); } }
private void AddApp(TsApplication app) { if (lvApplications.Items.Find(app.Id.ToString(), false).Length > 0) { return; } ilAppLarge.Images.Add(app.LargeIcon ?? Properties.Resources.defAppL); ilAppSmall.Images.Add(app.SmallIcon ?? Properties.Resources.defAppS); lvApplications.Items.Add(new ListViewItem(app.Description, ilAppSmall.Images.Count - 1) { Name = app.Id.ToString(), Tag = app }); }
public void NewApplication(TsApplication app) { _dtApplication.Rows.Add(app.ToDataRow()); }