public Hashtable[] Menu()
{
List<Hashtable> ret = new List<Hashtable>();
Hashtable DragItem = new Hashtable();
DragItem.Add("Visible", this.facebookClient.AccessToken != "");
DragItem.Add("Text", "Drag -> Facebook");
DragItem.Add("Image", this.bmpIcon);
DragItem.Add("Action", new Action(delegate { this.Drag(new Action<DragCallback>(DragCallback)); }));
DragItem.Add("ShortcutModifiers", this.shortCutDragModifiers);
DragItem.Add("ShortcutKey", this.shortCutDragKey);
ret.Add(DragItem);
Hashtable UpItem = new Hashtable();
UpItem.Add("Visible", this.facebookClient.AccessToken != "" && (Clipboard.ContainsImage() || Clipboard.ContainsFileDropList()));
UpItem.Add("Text", "Facebook");
UpItem.Add("Image", this.bmpIcon);
UpItem.Add("Action", new Action(Upload));
UpItem.Add("ShortcutModifiers", this.shortCutPasteModifiers);
UpItem.Add("ShortcutKey", this.shortCutPasteKey);
ret.Add(UpItem);
Hashtable AuthItem = new Hashtable();
AuthItem.Add("Visible", this.facebookClient.AccessToken == "");
AuthItem.Add("Text", "Authenticate Facebook");
AuthItem.Add("Image", this.bmpIcon);
AuthItem.Add("Action", new Action(Settings));
ret.Add(AuthItem);
return ret.ToArray();
}