~ted/ubuntu/lucid/tomboy/with-patch

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
using System;
using Gtk;
using Mono.Unix;

namespace Tomboy.FixedWidth
{
	class FixedWidthMenuItem : CheckMenuItem
	{
		NoteAddin Addin;
		bool event_freeze;

		public FixedWidthMenuItem (NoteAddin addin) 
			: base ("<span font_family='monospace'>" +
				Catalog.GetString ("_Fixed Width") +
				"</span>")
		{
			((Label) Child).UseUnderline = true;
			((Label) Child).UseMarkup = true;

			Addin = addin;
			Addin.Window.TextMenu.Shown += MenuShown;

			ShowAll();
		}

		protected void MenuShown (object sender, EventArgs e)
		{
			event_freeze = true;
			Active = Addin.Buffer.IsActiveTag ("monospace");
			event_freeze = false;
		}

		protected override void OnActivated ()
		{
			if (!event_freeze)
				Addin.Buffer.ToggleActiveTag ("monospace");

			base.OnActivated();
		}

		protected override void OnDestroyed ()
		{
			if (Addin.HasWindow)
				Addin.Window.TextMenu.Shown -= MenuShown;

			base.OnDestroyed();
		}
	}
}