I made some small adjustments to your applet (added some icons, moved things, etc.). And I noticed some things which you might want to fix.
First of all, you only include bluetooth discoverable/off (not on+not discoverable). Therefore you should change the following code (2 times)
from:
else if (BTStatus == "Discoverable")
to just:
else
This prevents that applet from displaying no icon when bluetooth is no longer discoverable, but still on. It also allows turning off bluetooth when the status is on, but non-discoverable.
The second thing I have been struggling with is that some areas of buttons became unclickable after moving some icons. It appeared that you actually load the GreyBar.VGA.Jif (or red depending on status) 2 times. Even though the second one is not visible, it overlaps with buttons.
I changed the code a little bit. This solved the problem, but resulted in wireless status taking a little longer to update (color of the statusbar that is).
This is the code I used:
void WiFiCheck()
{
String WiFiStatus, WiFiName;
WiFiStatus = WiFi.GetStatus();
if (WiFiStatus == "1")
{
f = "WirelessOn" + scale + ".jif";
WiFiName = WiFi.GetConnectedNetworkName();
if (WiFiName == "")
{
WiFiName = "---";
}
}
else if (WiFiStatus == "0")
{
f = "WirelessOff" + scale + ".jif";
WiFiName = "---";
}
wifiico.Surface.LoadFromFile(f);
wifilbl.SetText(WiFiName);
wifilbl.SetFont("Font.Small");
Controls.Add(wifiico);
Controls.Add(wifiimg);
Controls.Add(wifilbl);
lx = col3 + Device.AutoScaleValue(29);
lw = Device.AutoScaleValue(88);
lh = Device.AutoScaleValue(10);
wifiico.Surface.LoadFromFile(f);
if (WiFiName == "---")
{
nw = "GreyBar" + scale + ".jif";
}
else
{
nw = "RedBar" + scale + ".jif";
}
wifiimg.Surface.LoadFromFile(nw);
nw="none.jif";
lx = col3 + Device.AutoScaleValue(29);
lw = Device.AutoScaleValue(88);
lh = Device.AutoScaleValue(24);
wifiimg.SetBounds(lx, row1+lh, lw);
fontH = wifilbl.GetFontHeight();
lx = col3 + Device.AutoScaleValue(29);
lw = Device.AutoScaleValue(88);
lh = Device.AutoScaleValue(10);
wifilbl.SetBounds(lx, row1, lw, fontH + lh);
wifilbl.SetAlign("Center", "Center");
wifiico.SetBounds(col4, row2);
}
void wifiico_OnClickHold()
{
String WiFiStatus, WiFiName;
WiFiStatus = WiFi.GetStatus();
if (WiFiStatus == "1")
{
f = "WirelessOff" + scale + ".jif";
WiFi.SetStatus("0");
WiFiName = "---";
}
else
{
f = "WirelessOn" + scale + ".jif";
WiFi.SetStatus("1");
WiFiName = WiFi.GetConnectedNetworkName();
if (WiFiName == "")
{
WiFiName = "---";
}
}
wifiico.Surface.LoadFromFile(f);
wifilbl.SetText(WiFiName);
Process.Start("{Application}\\AppletRibbon\\AppoPlusW\\Vibra.exe", "-l=50");
}
I hope this is somewhat helpful to you. ;)