[tomboy] Added an underline functionality as an Addin which is disabled by default.
- From: Sanford Armstrong <sharm src gnome org>
- To: svn-commits-list gnome org
- Subject: [tomboy] Added an underline functionality as an Addin which is disabled by default.
- Date: Tue, 23 Jun 2009 01:48:52 -0400 (EDT)
commit 7065c5235b90c386068d5bf1edf6df5905846460
Author: Mark Wakim <markwakim gmail com>
Date: Mon Jun 22 21:22:10 2009 -0400
Added an underline functionality as an Addin which is disabled by default.
Tomboy.mdp | 5 ++-
Tomboy/Addins/Makefile.am | 1 +
Tomboy/Addins/Underline/Makefile.am | 41 +++++++++++++++++++++
Tomboy/Addins/Underline/Underline.addin.xml | 21 +++++++++++
Tomboy/Addins/Underline/UnderlineMenuItem.cs | 49 +++++++++++++++++++++++++
Tomboy/Addins/Underline/UnderlineNoteAddin.cs | 38 +++++++++++++++++++
Tomboy/Addins/Underline/UnderlineTag.cs | 20 ++++++++++
configure.in | 1 +
po/POTFILES.in | 1 +
9 files changed, 176 insertions(+), 1 deletions(-)
---
diff --git a/Tomboy.mdp b/Tomboy.mdp
index f294373..0bb6fab 100644
--- a/Tomboy.mdp
+++ b/Tomboy.mdp
@@ -84,6 +84,9 @@
<File name="Tomboy/Addins/StickyNoteImport/StickyNoteImportNoteAddin.cs" subtype="Code" buildaction="Compile" />
<File name="Tomboy/Addins/Evolution/EvolutionNoteAddin.cs" subtype="Code" buildaction="Compile" />
<File name="Tomboy/Addins/GalagoPresence" subtype="Directory" buildaction="Compile" />
+ <File name="Tomboy/Addins/Underline/UnderlineNoteAddin.cs" subtype="Code" buildaction="Compile" />
+ <File name="Tomboy/Addins/Underline/UnderlineTag.cs" subtype="Code" buildaction="Compile" />
+ <File name="Tomboy/Addins/Underline/UnderlineMenuItem.cs" subtype="Code" buildaction="Compile" />
<File name="Tomboy/Synchronization" subtype="Directory" buildaction="Compile" />
<File name="Tomboy/Synchronization/FuseSyncServiceAddin.cs" subtype="Code" buildaction="Compile" />
<File name="Tomboy/Gnome.Keyring/AccessRights.cs" subtype="Code" buildaction="Compile" />
@@ -194,4 +197,4 @@
<AsmRefVar />
<ProjectRefVar />
</MonoDevelop.Autotools.MakefileInfo>
-</Project>
\ No newline at end of file
+</Project>
diff --git a/Tomboy/Addins/Makefile.am b/Tomboy/Addins/Makefile.am
index a6c4d16..a5f32f9 100644
--- a/Tomboy/Addins/Makefile.am
+++ b/Tomboy/Addins/Makefile.am
@@ -14,6 +14,7 @@ SUBDIRS = \
StickyNoteImport \
Tasque \
NoteDirectoryWatcher \
+ Underline \
WebDavSyncService \
WebSyncService
diff --git a/Tomboy/Addins/Underline/Makefile.am b/Tomboy/Addins/Underline/Makefile.am
new file mode 100644
index 0000000..eb9d3a0
--- /dev/null
+++ b/Tomboy/Addins/Underline/Makefile.am
@@ -0,0 +1,41 @@
+include $(top_srcdir)/Makefile.include
+
+CSFLAGS = \
+ -debug \
+ -define:DEBUG \
+ -target:library
+
+ASSEMBLIES = \
+ $(LINK_TOMBOY_EXE) \
+ $(GTKSHARP_LIBS) \
+ $(LINK_MONO_ADDINS) \
+ -r:Mono.Posix
+
+ADDIN_NAME = Underline
+TARGET = $(ADDIN_NAME).dll
+CSFILES = \
+ $(srcdir)/UnderlineMenuItem.cs \
+ $(srcdir)/UnderlineNoteAddin.cs \
+ $(srcdir)/UnderlineTag.cs
+RESOURCES = \
+ -resource:$(srcdir)/$(ADDIN_NAME).addin.xml
+
+$(TARGET).mdb: $(TARGET)
+
+$(TARGET): $(CSFILES) $(top_builddir)/Tomboy/Tomboy.exe
+ $(CSC) -out:$@ $(CSFLAGS) $(ASSEMBLIES) $(CSFILES) $(RESOURCES)
+
+
+addinsdir = $(pkglibdir)/addins
+addins_DATA = \
+ $(TARGET) \
+ $(TARGET).mdb
+
+EXTRA_DIST = \
+ $(CSFILES) \
+ $(srcdir)/$(ADDIN_NAME).addin.xml
+
+CLEANFILES = \
+ $(TARGET).mdb \
+ $(TARGET)
+
diff --git a/Tomboy/Addins/Underline/Underline.addin.xml b/Tomboy/Addins/Underline/Underline.addin.xml
new file mode 100644
index 0000000..59b1606
--- /dev/null
+++ b/Tomboy/Addins/Underline/Underline.addin.xml
@@ -0,0 +1,21 @@
+<Addin id="UnderlineAddin"
+ namespace="Tomboy"
+ name="Underline"
+ author="Tomboy Project"
+ description="Adds ability to underline text."
+ category="Formatting"
+ defaultEnabled="false"
+ version="0.1">
+
+ <Runtime>
+ <Import assembly="Underline.dll" />
+ </Runtime>
+
+ <Dependencies>
+ <Addin id="Tomboy" version="0.10" />
+ </Dependencies>
+
+ <Extension path="/Tomboy/NoteAddins">
+ <NoteAddin type="Tomboy.Underline.UnderlineNoteAddin" />
+ </Extension>
+</Addin>
diff --git a/Tomboy/Addins/Underline/UnderlineMenuItem.cs b/Tomboy/Addins/Underline/UnderlineMenuItem.cs
new file mode 100644
index 0000000..066e521
--- /dev/null
+++ b/Tomboy/Addins/Underline/UnderlineMenuItem.cs
@@ -0,0 +1,49 @@
+using System;
+using Gtk;
+using Mono.Unix;
+
+namespace Tomboy.Underline
+{
+ class UnderlineMenuItem : CheckMenuItem
+ {
+ NoteAddin Addin;
+ bool event_freeze;
+
+ public UnderlineMenuItem (NoteAddin addin) : base ("<u>" + Catalog.GetString ("_Underline") + "</u>")
+ {
+ ((Label) Child).UseUnderline = true;
+ ((Label) Child).UseMarkup = true;
+
+ Addin = addin;
+ Addin.Window.TextMenu.Shown += MenuShown;
+ AddAccelerator ("activate", Addin.Window.AccelGroup,
+ (uint) Gdk.Key.u, Gdk.ModifierType.ControlMask,
+ Gtk.AccelFlags.Visible);
+
+ ShowAll();
+ }
+
+ protected void MenuShown (object sender, EventArgs e)
+ {
+ event_freeze = true;
+ Active = Addin.Buffer.IsActiveTag ("underline");
+ event_freeze = false;
+ }
+
+ protected override void OnActivated ()
+ {
+ if (!event_freeze)
+ Addin.Buffer.ToggleActiveTag ("underline");
+
+ base.OnActivated();
+ }
+
+ protected override void OnDestroyed ()
+ {
+ if (Addin.HasWindow)
+ Addin.Window.TextMenu.Shown -= MenuShown;
+
+ base.OnDestroyed();
+ }
+ }
+}
diff --git a/Tomboy/Addins/Underline/UnderlineNoteAddin.cs b/Tomboy/Addins/Underline/UnderlineNoteAddin.cs
new file mode 100644
index 0000000..51e01e6
--- /dev/null
+++ b/Tomboy/Addins/Underline/UnderlineNoteAddin.cs
@@ -0,0 +1,38 @@
+// Add an Underline item to the font styles menu.
+// (C) 2009 Mark Wakim <markwakim gmail com>, LGPL 2.1 or later.
+
+using Mono.Unix;
+using System;
+using Gtk;
+using Tomboy;
+
+namespace Tomboy.Underline
+{
+ public class UnderlineNoteAddin : NoteAddin
+ {
+ TextTag tag;
+
+ public override void Initialize ()
+ {
+ // Only install Underline addin if it does not currently exist
+ if (Note.TagTable.Lookup ("underline") == null) {
+ tag = new UnderlineTag ();
+ Note.TagTable.Add (tag);
+ }
+ }
+
+ public override void Shutdown ()
+ {
+ // Remove the tag only if we installed it.
+ if (tag != null)
+ Note.TagTable.Remove (tag);
+ }
+
+ public override void OnNoteOpened ()
+ {
+ // Add here instead of in Initialize to avoid creating unopened
+ // notes' windows/buffers.
+ AddTextMenuItem (new UnderlineMenuItem (this));
+ }
+ }
+}
diff --git a/Tomboy/Addins/Underline/UnderlineTag.cs b/Tomboy/Addins/Underline/UnderlineTag.cs
new file mode 100644
index 0000000..ede6455
--- /dev/null
+++ b/Tomboy/Addins/Underline/UnderlineTag.cs
@@ -0,0 +1,20 @@
+using System;
+using Tomboy;
+
+namespace Tomboy.Underline
+{
+ class UnderlineTag : NoteTag
+ {
+ public UnderlineTag () : base ("underline")
+ {
+ }
+
+ public override void Initialize (string element_name)
+ {
+ base.Initialize (element_name);
+ Underline = Pango.Underline.Single;
+ CanGrow = true;
+ CanUndo = true;
+ }
+ }
+}
diff --git a/configure.in b/configure.in
index 7b3936f..4074a8d 100644
--- a/configure.in
+++ b/configure.in
@@ -343,6 +343,7 @@ Tomboy/Addins/Sketching/Makefile
Tomboy/Addins/SshSyncService/Makefile
Tomboy/Addins/StickyNoteImport/Makefile
Tomboy/Addins/Tasque/Makefile
+Tomboy/Addins/Underline/Makefile
Tomboy/Addins/WebDavSyncService/Makefile
Tomboy/Addins/WebSyncService/Makefile
Tomboy/Addins/NoteDirectoryWatcher/Makefile
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 2d3de22..a6d6568 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -36,6 +36,7 @@ Tomboy/Addins/SshSyncService/SshSyncService.addin.xml
Tomboy/Addins/StickyNoteImport/StickyNoteImportNoteAddin.cs
Tomboy/Addins/StickyNoteImport/StickyNoteImport.addin.xml
Tomboy/Addins/Tasque/TasqueNoteAddin.cs
+Tomboy/Addins/Underline/UnderlineMenuItem.cs
Tomboy/Addins/WebDavSyncService/WebDavSyncServiceAddin.cs
Tomboy/Addins/WebDavSyncService/WebDavSyncService.addin.xml
Tomboy/Addins/WebSyncService/WebSyncServiceAddin.cs
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]