void OpenWindow(MonitorUSBDrives.DriveChangeArgs ev) { Gtk.Application.Invoke(delegate { ImportWindow iw = new ImportWindow(ev.Drive); iw.Show(); windows.Add(ev.DriveName, iw); }); }
void HandleDriveChange(object sender, EventArgs e) { MonitorUSBDrives.DriveChangeArgs ev = e as MonitorUSBDrives.DriveChangeArgs; if (ev.Type == MonitorUSBDrives.EventType.Inserted) { OpenWindow(ev); } else if (ev.Type == MonitorUSBDrives.EventType.Removed) { CloseWindow(ev); } }
void CloseWindow(MonitorUSBDrives.DriveChangeArgs ev) { Gtk.Application.Invoke(delegate { if (windows.ContainsKey(ev.DriveName)) { var iw = windows[ev.DriveName]; windows.Remove(ev.DriveName); iw.Hide(); iw.Destroy(); } }); }