Exemplo n.º 1
0
        public Monitor()
        {
            // setup the context menu
            menu = new ContextMenu();
            menu.MenuItems.Clear();
            menu.MenuItems.Add(new MenuItem("Quit", delegate(Object sender, System.EventArgs e) {
                shutdown();
                Application.Exit();
            }));

            // listen for app closes
            Application.ApplicationExit += delegate(object sender, EventArgs e) {
                shutdown();
            };

            // setup the tray icon
            trayIcon = new NotifyIcon();
            trayIcon.Text = "Chrome RapidReload";
            trayIcon.Visible = true;
            trayIcon.Icon = new Icon(typeof(Monitor), "icon.ico");
            trayIcon.ContextMenu = menu;
            trayIcon.Click += delegate(object sender, EventArgs e) {
                if(selector == null) {
                    selector = new DirectorySelector(this);
                    selector.ShowDialog();
                } else {
                    selector.Focus();
                }
            };

            // deserialized the monitored directories saved in settings file
            using(var reader = new StreamReader(new IsolatedStorageFileStream("settings", FileMode.OpenOrCreate,FileAccess.Read,FileShare.ReadWrite, settingsStorage))) {
                foreach(var dir in reader.ReadToEnd().Split('|')) {
                    if(dir != "") {
                        MonitorDirectory(new DirectoryInfo(dir));
                    }
                }
            };

            // start a listener thread
            Thread t = new Thread(new ThreadStart(websocketListen));
            t.IsBackground = true;
            t.Start();
        }
Exemplo n.º 2
0
 public void SelectorWindowClosed()
 {
     selector = null;
 }