private void item_click(ButtonPressEventArgs args, UserLabel label, RightClickLabelButton b) { if (args.Event.Button == 1) { category.update_restriction_and_update_screen(label.metalabel); b.Active = !b.Active; } else if (args.Event.Button == 3) { Menu popupMenu = new Menu(); MenuItem rename_item = new MenuItem(Mono.Unix.Catalog.GetString("Rename label")); rename_item.Activated += delegate { rename_label(label); }; popupMenu.Add(rename_item); MenuItem delete_item = new MenuItem(Mono.Unix.Catalog.GetString("Delete label")); delete_item.Activated += delegate { remove_label(label.metalabel); }; popupMenu.Add(delete_item); popupMenu.Add(new Gtk.SeparatorMenuItem()); MenuItem create_label = new MenuItem(Mono.Unix.Catalog.GetString("Create a new label")); create_label.Activated += delegate { add_new_label(); }; popupMenu.Add(create_label); popupMenu.ShowAll(); popupMenu.Popup(null, null, null, args.Event.Button, args.Event.Time); } }
private RightClickLabelButton create_button(UserLabel label) { RightClickLabelButton b = new RightClickLabelButton(); b.Name = label.metalabel.label; Gtk.Alignment box_alignment = new Gtk.Alignment(0, 0, 0, 0); Gtk.HBox box = new Gtk.HBox(); Gtk.Label l = new Gtk.Label(" " + label.metalabel.label); Gtk.Image img = label.dot(); box.Add(img); GtkCommon.set_foreground_color(l, new Gdk.Color(label.metalabel.color.r, label.metalabel.color.g, label.metalabel.color.b)); box.Add(l); box_alignment.LeftPadding = 3; box_alignment.Add(box); b.Add(box_alignment); b.BorderWidth = 0; b.Relief = Gtk.ReliefStyle.None; b.ButtonPressEvent += delegate (object sender, ButtonPressEventArgs args) { item_click(args, label, b); }; return b; }