private void pebble_OnConnect(object sender, EventArgs e) { // Dirtyfix for when things get out of sync for reasons yet to be found if (pebble == null) { return; } WatchfacePic.Image = Properties.Resources.watchface; Connect.Text = "Dis&connect"; PebbleList.Enabled = false; try { pebble.GetVersion(); Scan.Enabled = false; SetVersionInfo(); Properties.Settings.Default.LastKnownPebble = pebble.PebbleID; Properties.Settings.Default.LastKnownPebblePort = pebble.Port; // Don't really like saving *all* settings here Properties.Settings.Default.Save(); pebbleNameToolStripMenuItem.Text = pebble.ToString(); disconnectToolStripMenuItem.Enabled = true; notifyIcon.Text = "Connected (" + pebble.PebbleID + ")"; } // Some stuff that can go wrong while connecting... catch (TimeoutException err) { pebble.Disconnect(); MessageBox.Show(err.Message, "Connection timeout", MessageBoxButtons.OK, MessageBoxIcon.Error); pebble = null; } catch (InvalidOperationException err) { pebble.Disconnect(); MessageBox.Show(err.Message + "\nTry scanning again.", "Connection failed", MessageBoxButtons.OK, MessageBoxIcon.Error); pebble = null; } }