Merge lp:~manishsinha/zeitgeist-datasources/reworked-tomboy into lp:zeitgeist-datasources/0.8
- reworked-tomboy
- Merge into trunk
Status: | Superseded |
---|---|
Proposed branch: | lp:~manishsinha/zeitgeist-datasources/reworked-tomboy |
Merge into: | lp:zeitgeist-datasources/0.8 |
Diff against target: |
1090 lines (+683/-212) 14 files modified
tomboy/AssemblyInfo.cs (+27/-0) tomboy/Makefile (+74/-0) tomboy/Makefile.include (+120/-0) tomboy/NoteHandler.cs (+69/-0) tomboy/Tomboy.Zeitgeist.csproj (+65/-0) tomboy/Tomboy.Zeitgeist.sln (+20/-0) tomboy/Zeitgeist.addin.xml (+2/-2) tomboy/Zeitgeist.cs (+0/-200) tomboy/Zeitgeist.mdp (+7/-9) tomboy/ZeitgeistAddin.cs (+90/-0) tomboy/configure (+159/-0) tomboy/install.sh (+2/-1) tomboy/rules.make (+42/-0) tomboy/tomboy.zeitgeist.pc.in (+6/-0) |
To merge this branch: | bzr merge lp:~manishsinha/zeitgeist-datasources/reworked-tomboy |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Michal Hruby (community) | Needs Fixing | ||
Review via email: mp+35954@code.launchpad.net |
This proposal has been superseded by a proposal from 2010-09-19.
Commit message
Implemented Note open, closed, deleted, hidden and renamed
Zeitgeist.dll is added in the source control. Once it is packages and available in the APT repos, it can be removed from the source code
Description of the change
Reimplemented Tomboy's data provider using zeitgeist-sharp
http://
Manish Sinha (मनीष सिन्हा) (manishsinha) wrote : | # |
> From a quick look (I'm not using Tomboy):
> - 'TomboyUri' should be just application:
Doing it.
> - please get rid of the install.sh script, everything is now done using
> Makefiles
Yeah. Have to get it working. I just kept the old way of building.
> - I really don't like the bundled dll library, isn't there another way to
> check for it?
Until zeitgeist-sharp is not made available in the PPA/Repo, till then we have to keep it here. Once it is made available, then we can get rid of this. BTW this bundled dll is just a workaround till zg-sharp makes it into APT repo
- 91. By Manish Sinha (मनीष सिन्हा)
-
Changed the App name to application:
//tomboy. desktop and created a sln file - 92. By Manish Sinha (मनीष सिन्हा)
-
Added Simple Makefile support with most common targets. The config script does the basic package dependency checking
- 93. By Manish Sinha (मनीष सिन्हा)
-
Modified build to include tomboy too
- 94. By Manish Sinha (मनीष सिन्हा)
-
Removed the old mdp based builds
Unmerged revisions
- 94. By Manish Sinha (मनीष सिन्हा)
-
Removed the old mdp based builds
- 93. By Manish Sinha (मनीष सिन्हा)
-
Modified build to include tomboy too
- 92. By Manish Sinha (मनीष सिन्हा)
-
Added Simple Makefile support with most common targets. The config script does the basic package dependency checking
- 91. By Manish Sinha (मनीष सिन्हा)
-
Changed the App name to application:
//tomboy. desktop and created a sln file - 90. By Manish Sinha (मनीष सिन्हा)
-
Implemented Note open, closed, deleted, hidden and renamed
Zeitgeist.dll is added in the source control. Once it is packages and available in the APT repos, it can be removed from the source code
- 89. By Manish Sinha (मनीष सिन्हा)
-
Created the basic infrastructure for using Zeitgeist.dll. At present Logging is not implemented
Preview Diff
1 | === added file 'tomboy/AssemblyInfo.cs' |
2 | --- tomboy/AssemblyInfo.cs 1970-01-01 00:00:00 +0000 |
3 | +++ tomboy/AssemblyInfo.cs 2010-09-19 16:04:42 +0000 |
4 | @@ -0,0 +1,27 @@ |
5 | +using System.Reflection; |
6 | +using System.Runtime.CompilerServices; |
7 | + |
8 | +// Information about this assembly is defined by the following attributes. |
9 | +// Change them to the values specific to your project. |
10 | + |
11 | +[assembly: AssemblyTitle("Tomboy.Zeitgeist")] |
12 | +[assembly: AssemblyDescription("")] |
13 | +[assembly: AssemblyConfiguration("")] |
14 | +[assembly: AssemblyCompany("")] |
15 | +[assembly: AssemblyProduct("")] |
16 | +[assembly: AssemblyCopyright("Zeitgeist Sharp Developers")] |
17 | +[assembly: AssemblyTrademark("")] |
18 | +[assembly: AssemblyCulture("")] |
19 | + |
20 | +// The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}". |
21 | +// The form "{Major}.{Minor}.*" will automatically update the build and revision, |
22 | +// and "{Major}.{Minor}.{Build}.*" will update just the revision. |
23 | + |
24 | +[assembly: AssemblyVersion("0.1.0.*")] |
25 | + |
26 | +// The following attributes are used to specify the signing key for the assembly, |
27 | +// if desired. See the Mono documentation for more information about signing. |
28 | + |
29 | +//[assembly: AssemblyDelaySign(false)] |
30 | +//[assembly: AssemblyKeyFile("")] |
31 | + |
32 | |
33 | === added file 'tomboy/Makefile' |
34 | --- tomboy/Makefile 1970-01-01 00:00:00 +0000 |
35 | +++ tomboy/Makefile 2010-09-19 16:04:42 +0000 |
36 | @@ -0,0 +1,74 @@ |
37 | + |
38 | +EXTRA_DIST = Tomboy.Zeitgeist.make rules.make configure Makefile.include ../../../../../usr/lib/tomboy/Tomboy.exe Zeitgeist.dll |
39 | + |
40 | +all: all-recursive |
41 | + |
42 | +top_srcdir=. |
43 | +include $(top_srcdir)/config.make |
44 | +include $(top_srcdir)/Makefile.include |
45 | +include $(top_srcdir)/rules.make |
46 | + |
47 | +#include $(top_srcdir)/custom-hooks.make |
48 | + |
49 | +#Warning: This is an automatically generated file, do not edit! |
50 | +ifeq ($(CONFIG),DEBUG) |
51 | + SUBDIRS = . |
52 | +endif |
53 | +ifeq ($(CONFIG),RELEASE) |
54 | + SUBDIRS = . |
55 | +endif |
56 | + |
57 | +# Include project specific makefile |
58 | +include Tomboy.Zeitgeist.make |
59 | + |
60 | +CONFIG_MAKE=$(top_srcdir)/config.make |
61 | + |
62 | +%-recursive: $(CONFIG_MAKE) |
63 | + @set . $$MAKEFLAGS; final_exit=:; \ |
64 | + case $$2 in --unix) shift ;; esac; \ |
65 | + case $$2 in *=*) dk="exit 1" ;; *k*) dk=: ;; *) dk="exit 1" ;; esac; \ |
66 | + make pre-$*-hook prefix=$(prefix) ; \ |
67 | + for dir in $(call quote_each,$(SUBDIRS)); do \ |
68 | + case "$$dir" in \ |
69 | + .) make $*-local || { final_exit="exit 1"; $$dk; };;\ |
70 | + *) (cd "$$dir" && make $*) || { final_exit="exit 1"; $$dk; };;\ |
71 | + esac \ |
72 | + done; \ |
73 | + make post-$*-hook prefix=$(prefix) ; \ |
74 | + $$final_exit |
75 | + |
76 | +$(CONFIG_MAKE): |
77 | + echo "You must run configure first" |
78 | + exit 1 |
79 | + |
80 | +clean: clean-recursive |
81 | +install: install-recursive |
82 | +uninstall: uninstall-recursive |
83 | + |
84 | +dist: $(CONFIG_MAKE) |
85 | + rm -rf $(PACKAGE)-$(VERSION) |
86 | + mkdir $(PACKAGE)-$(VERSION) |
87 | + make pre-dist-hook distdir=$$distdir |
88 | + for dir in $(call quote_each,$(SUBDIRS)); do \ |
89 | + pkgdir=`pwd`/$(PACKAGE)-$(VERSION); \ |
90 | + mkdir "$$pkgdir/$$dir" || true; \ |
91 | + case $$dir in \ |
92 | + .) make dist-local "distdir=$$pkgdir" || exit 1;; \ |
93 | + *) (cd "$$dir"; make dist-local "distdir=$$pkgdir/$$dir") || exit 1;; \ |
94 | + esac \ |
95 | + done |
96 | + (make dist-local distdir=$(PACKAGE)-$(VERSION)) |
97 | + make |
98 | + make post-dist-hook "distsir=$$distdir" |
99 | + tar czvf $(PACKAGE)-$(VERSION).tar.gz $(PACKAGE)-$(VERSION) |
100 | + rm -rf $(PACKAGE)-$(VERSION) |
101 | + @echo "==========================================" |
102 | + @echo "$(PACKAGE)-$(VERSION) has been packaged > $(PACKAGE)-$(VERSION).tar.gz" |
103 | + @echo "==========================================" |
104 | + |
105 | +distcheck: dist |
106 | + (mkdir test; cd test; \ |
107 | + tar xzvf ../$(PACKAGE)-$(VERSION).tar.gz; cd $(PACKAGE)-$(VERSION); \ |
108 | + ./configure --prefix=$$(cd `pwd`/..; pwd); \ |
109 | + make && make install && make dist); |
110 | + rm -rf test |
111 | |
112 | === added file 'tomboy/Makefile.include' |
113 | --- tomboy/Makefile.include 1970-01-01 00:00:00 +0000 |
114 | +++ tomboy/Makefile.include 2010-09-19 16:04:42 +0000 |
115 | @@ -0,0 +1,120 @@ |
116 | +VALID_CULTURES = ar bg ca zh-CHS cs da de el en es fi fr he hu is it ja ko nl no pl pt ro ru hr sk sq sv th tr id uk be sl et lv lt fa vi hy eu mk af ka fo hi sw gu ta te kn mr gl kok ar-SA bg-BG ca-ES zh-TW cs-CZ da-DK de-DE el-GR en-US fi-FI fr-FR he-IL hu-HU is-IS it-IT ja-JP ko-KR nl-NL nb-NO pl-PL pt-BR ro-RO ru-RU hr-HR sk-SK sq-AL sv-SE th-TH tr-TR id-ID uk-UA be-BY sl-SI et-EE lv-LV lt-LT fa-IR vi-VN hy-AM eu-ES mk-MK af-ZA ka-GE fo-FO hi-IN sw-KE gu-IN ta-IN te-IN kn-IN mr-IN gl-ES kok-IN ar-IQ zh-CN de-CH en-GB es-MX fr-BE it-CH nl-BE nn-NO pt-PT sv-FI ar-EG zh-HK de-AT en-AU es-ES fr-CA ar-LY zh-SG de-LU en-CA es-GT fr-CH ar-DZ zh-MO en-NZ es-CR fr-LU ar-MA en-IE es-PA ar-TN en-ZA es-DO ar-OM es-VE ar-YE es-CO ar-SY es-PE ar-JO en-TT es-AR ar-LB en-ZW es-EC ar-KW en-PH es-CL ar-AE es-UY ar-BH es-PY ar-QA es-BO es-SV es-HN es-NI es-PR zh-CHT |
117 | + |
118 | +s2q=$(subst \ ,?,$1) |
119 | +q2s=$(subst ?,\ ,$1) |
120 | +# use this when result will be quoted |
121 | +unesc2=$(subst ?, ,$1) |
122 | + |
123 | +build_sources = $(FILES) $(GENERATED_FILES) |
124 | +build_sources_esc= $(call s2q,$(build_sources)) |
125 | +# use unesc2, as build_sources_embed is quoted |
126 | +build_sources_embed= $(call unesc2,$(build_sources_esc:%='$(srcdir)/%')) |
127 | + |
128 | +comma__=, |
129 | +get_resource_name = $(firstword $(subst $(comma__), ,$1)) |
130 | +get_culture = $(lastword $(subst ., ,$(basename $1))) |
131 | +is_cultured_resource = $(and $(word 3,$(subst ., ,$1)), $(filter $(VALID_CULTURES),$(lastword $(subst ., ,$(basename $1))))) |
132 | + |
133 | +RESOURCES_ESC=$(call s2q,$(RESOURCES)) |
134 | + |
135 | +build_resx_list = $(foreach res, $(RESOURCES_ESC), $(if $(filter %.resx, $(call get_resource_name,$(res))),$(res),)) |
136 | +build_non_culture_resx_list = $(foreach res, $(build_resx_list),$(if $(call is_cultured_resource,$(call get_resource_name,$(res))),,$(res))) |
137 | +build_non_culture_others_list = $(foreach res, $(filter-out $(build_resx_list),$(RESOURCES_ESC)),$(if $(call is_cultured_resource,$(call get_resource_name,$(res))),,$(res))) |
138 | +build_others_list = $(build_non_culture_others_list) |
139 | +build_xamlg_list = $(filter %.xaml.g.cs, $(FILES)) |
140 | + |
141 | +# resgen all .resx resources |
142 | +build_resx_files = $(foreach res, $(build_resx_list), $(call get_resource_name,$(res))) |
143 | +build_resx_resources_esc = $(build_resx_files:.resx=.resources) |
144 | +build_resx_resources = $(call q2s,$(build_resx_resources_esc)) |
145 | + |
146 | +# embed resources for the main assembly |
147 | +build_resx_resources_hack = $(subst .resx,.resources, $(build_non_culture_resx_list)) |
148 | +# use unesc2, as build_resx_resources_embed is quoted |
149 | +build_resx_resources_embed = $(call unesc2,$(build_resx_resources_hack:%='-resource:%')) |
150 | +build_others_files = $(call q2s,$(foreach res, $(build_others_list),$(call get_resource_name,$(res)))) |
151 | +build_others_resources = $(build_others_files) |
152 | +# use unesc2, as build_others_resources_embed is quoted |
153 | +build_others_resources_embed = $(call unesc2,$(build_others_list:%='-resource:$(srcdir)/%')) |
154 | + |
155 | +build_resources = $(build_resx_resources) $(build_others_resources) |
156 | +build_resources_embed = $(build_resx_resources_embed) $(build_others_resources_embed) |
157 | + |
158 | +# -usesourcepath is available only for resgen2 |
159 | +emit_resgen_target_1=$(call q2s,$1) : $(call q2s,$(subst .resources,.resx,$1)); cd '$$(shell dirname '$$<')' && MONO_IOMAP=drive $$(RESGEN) '$$(shell basename '$$<')' '$$(shell basename '$$@')' |
160 | +emit_resgen_target_2=$(call q2s,$1) : $(call q2s,$(subst .resources,.resx,$1)); MONO_IOMAP=drive $$(RESGEN) -usesourcepath '$$<' '$$@' |
161 | + |
162 | +emit_resgen_target=$(if $(filter resgen2,$(RESGEN)),$(emit_resgen_target_2),$(emit_resgen_target_1)) |
163 | +emit_resgen_targets=$(foreach res,$(build_resx_resources_esc),$(eval $(call emit_resgen_target,$(res)))) |
164 | + |
165 | +build_references_ref = $(call q2s,$(foreach ref, $(call s2q,$(REFERENCES)), $(if $(filter -pkg:%, $(ref)), $(ref), $(if $(filter -r:%, $(ref)), $(ref), -r:$(ref))))) |
166 | +build_references_ref += $(call q2s,$(foreach ref, $(call s2q,$(DLL_REFERENCES)), -r:$(ref))) |
167 | +build_references_ref += $(call q2s,$(foreach ref, $(call s2q,$(PROJECT_REFERENCES)), -r:$(ref))) |
168 | + |
169 | +s2q2s=$(call unesc2,$(call s2q,$1)) |
170 | +cp_actual=test -z $1 || cp $1 $2 |
171 | +cp=$(call cp_actual,'$(call s2q2s,$1)','$(call s2q2s,$2)') |
172 | + |
173 | +rm_actual=test -z '$1' || rm -f '$2' |
174 | +rm=$(call rm_actual,$(call s2q2s,$1),$(call s2q2s,$2)/$(shell basename '$(call s2q2s,$1)')) |
175 | + |
176 | +EXTRA_DIST += $(build_sources) $(build_resx_files) $(build_others_files) $(ASSEMBLY_WRAPPER_IN) $(EXTRAS) $(DATA_FILES) $(build_culture_res_files) |
177 | +CLEANFILES += $(ASSEMBLY) $(ASSEMBLY).mdb $(BINARIES) $(build_resx_resources) $(build_satellite_assembly_list) |
178 | +DISTCLEANFILES = $(GENERATED_FILES) $(pc_files) $(BUILD_DIR)/* |
179 | + |
180 | +pkglib_SCRIPTS = $(ASSEMBLY) |
181 | +bin_SCRIPTS = $(BINARIES) |
182 | + |
183 | +programfilesdir = @libdir@/@PACKAGE@ |
184 | +programfiles_DATA = $(PROGRAMFILES) |
185 | +linuxpkgconfigdir = @libdir@/pkgconfig |
186 | +linuxpkgconfig_DATA = $(LINUX_PKGCONFIG) |
187 | + |
188 | + |
189 | +# macros |
190 | + |
191 | +# $(call emit-deploy-target,deploy-variable-name) |
192 | +define emit-deploy-target |
193 | +$($1): $($1_SOURCE) |
194 | + mkdir -p '$$(shell dirname '$$@')' |
195 | + cp '$$<' '$$@' |
196 | +endef |
197 | + |
198 | +# $(call emit-deploy-wrapper,wrapper-variable-name,wrapper-sourcefile,x) |
199 | +# assumes that for a wrapper foo.pc its source template is foo.pc.in |
200 | +# if $3 is non-empty then wrapper is marked exec |
201 | +define emit-deploy-wrapper |
202 | +$($1): $2 $(top_srcdir)/config.make |
203 | + mkdir -p '$$(shell dirname '$$@')' |
204 | + cp '$$<' '$$@' |
205 | + $(if $3,chmod +x '$$@') |
206 | + |
207 | +$2: $2.in $(top_srcdir)/config.make |
208 | + sed -e "s,@prefix@,$(prefix)," -e "s,@PACKAGE@,$(PACKAGE)," -e "s,@expanded_libdir@,$(libdir)," -e "s,@expanded_bindir@,$(bindir)," -e "s,@expanded_datadir@,$(datadir)," < $2.in > $2 |
209 | +endef |
210 | + |
211 | +# generating satellite assemblies |
212 | + |
213 | +culture_resources = $(foreach res, $(RESOURCES_ESC), $(if $(call is_cultured_resource,$(call get_resource_name, $(res))),$(res))) |
214 | +cultures = $(sort $(foreach res, $(culture_resources), $(call get_culture,$(call get_resource_name,$(res))))) |
215 | +culture_resource_dependencies = $(call q2s,$(BUILD_DIR)/$1/$(SATELLITE_ASSEMBLY_NAME): $(subst .resx,.resources,$2)) |
216 | +culture_resource_commandlines = $(call unesc2,cmd_line_satellite_$1 += '/embed:$(subst .resx,.resources,$2)') |
217 | +build_satellite_assembly_list = $(call q2s,$(cultures:%=$(BUILD_DIR)/%/$(SATELLITE_ASSEMBLY_NAME))) |
218 | +build_culture_res_files = $(call q2s,$(foreach res, $(culture_resources),$(call get_resource_name,$(res)))) |
219 | +install_satellite_assembly_list = $(subst $(BUILD_DIR),$(DESTDIR)$(libdir)/$(PACKAGE),$(build_satellite_assembly_list)) |
220 | + |
221 | +$(eval $(foreach res, $(culture_resources), $(eval $(call culture_resource_dependencies,$(call get_culture,$(call get_resource_name,$(res))),$(call get_resource_name,$(res)))))) |
222 | +$(eval $(foreach res, $(culture_resources), $(eval $(call culture_resource_commandlines,$(call get_culture,$(call get_resource_name,$(res))),$(res))))) |
223 | + |
224 | +$(build_satellite_assembly_list): $(BUILD_DIR)/%/$(SATELLITE_ASSEMBLY_NAME): |
225 | + mkdir -p '$(@D)' |
226 | + $(AL) -out:'$@' -culture:$* -t:lib $(cmd_line_satellite_$*) |
227 | + |
228 | +$(install_satellite_assembly_list): |
229 | + mkdir -p '$(@D)' |
230 | + cp $(subst $(DESTDIR)$(libdir)/$(PACKAGE), $(BUILD_DIR), $@) $@ |
231 | + |
232 | +install-satellite-assemblies: $(install_satellite_assembly_list) |
233 | + |
234 | +uninstall-satellite-assemblies: |
235 | + rm -rf $(install_satellite_assembly_list) |
236 | \ No newline at end of file |
237 | |
238 | === added file 'tomboy/NoteHandler.cs' |
239 | --- tomboy/NoteHandler.cs 1970-01-01 00:00:00 +0000 |
240 | +++ tomboy/NoteHandler.cs 2010-09-19 16:04:42 +0000 |
241 | @@ -0,0 +1,69 @@ |
242 | +using System; |
243 | +using Zeitgeist.Datamodel; |
244 | +using System.Collections.Generic; |
245 | + |
246 | +namespace Tomboy.Zeitgeist |
247 | +{ |
248 | + public class NoteHandler |
249 | + { |
250 | + public NoteHandler(Note note) |
251 | + { |
252 | + // Check if the Note has already been processes. |
253 | + // Whent he note is being processed, event handlers are attached to |
254 | + if (handledNotes.Contains(note) == false) |
255 | + { |
256 | + this._note = note; |
257 | + |
258 | + note.Opened += HandleNoteOpened; |
259 | + if (note.HasWindow) |
260 | + { |
261 | + HandleNoteOpened(); |
262 | + } |
263 | + } |
264 | + } |
265 | + |
266 | + void HandleNoteOpened (object sender, EventArgs e) |
267 | + { |
268 | + HandleNoteOpened(); |
269 | + } |
270 | + |
271 | + void HandleNoteOpened() |
272 | + { |
273 | + this._note.Window.Hidden += HandleNoteWindowHidden; |
274 | + this._note.Window.Shown += HandleNoteWindowShown; |
275 | + this._note.Renamed += HandleNoteRenamed; |
276 | + if (this._note.Window.Visible) |
277 | + { |
278 | + HandleNoteWindowShown(); |
279 | + } |
280 | + } |
281 | + |
282 | + void HandleNoteRenamed (Note sender, string old_title) |
283 | + { |
284 | + Console.WriteLine("Zg#: Renamed: " + this._note.Title); |
285 | + ZeitgeistHandler.SendEvent(sender, Interpretation.Instance.EventInterpretation.ModifyEvent); |
286 | + } |
287 | + |
288 | + void HandleNoteWindowShown (object sender, EventArgs e) |
289 | + { |
290 | + HandleNoteWindowShown(); |
291 | + } |
292 | + |
293 | + void HandleNoteWindowShown () |
294 | + { |
295 | + Console.WriteLine("Zg#: Note window opened: " + this._note.Title); |
296 | + ZeitgeistHandler.SendEvent(this._note, Interpretation.Instance.EventInterpretation.AccessEvent); |
297 | + } |
298 | + |
299 | + void HandleNoteWindowHidden (object sender, EventArgs e) |
300 | + { |
301 | + Console.WriteLine("Zg#: Note window closed: " + this._note.Title); |
302 | + ZeitgeistHandler.SendEvent(this._note, Interpretation.Instance.EventInterpretation.LeaveEvent); |
303 | + } |
304 | + |
305 | + private Note _note; |
306 | + |
307 | + private static List<Note> handledNotes = new List<Note>(); |
308 | + } |
309 | +} |
310 | + |
311 | |
312 | === added file 'tomboy/Tomboy.Zeitgeist.csproj' |
313 | --- tomboy/Tomboy.Zeitgeist.csproj 1970-01-01 00:00:00 +0000 |
314 | +++ tomboy/Tomboy.Zeitgeist.csproj 2010-09-19 16:04:42 +0000 |
315 | @@ -0,0 +1,65 @@ |
316 | +<?xml version="1.0" encoding="utf-8"?> |
317 | +<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |
318 | + <PropertyGroup> |
319 | + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> |
320 | + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> |
321 | + <ProductVersion>9.0.21022</ProductVersion> |
322 | + <SchemaVersion>2.0</SchemaVersion> |
323 | + <ProjectGuid>{4DC09956-B20D-4ECA-8ACD-17E7609BAE41}</ProjectGuid> |
324 | + <OutputType>Library</OutputType> |
325 | + <RootNamespace>Tomboy.Zeitgeist</RootNamespace> |
326 | + <AssemblyName>Tomboy.Zeitgeist</AssemblyName> |
327 | + </PropertyGroup> |
328 | + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> |
329 | + <DebugSymbols>true</DebugSymbols> |
330 | + <DebugType>full</DebugType> |
331 | + <Optimize>false</Optimize> |
332 | + <OutputPath>bin\Debug</OutputPath> |
333 | + <DefineConstants>DEBUG</DefineConstants> |
334 | + <ErrorReport>prompt</ErrorReport> |
335 | + <WarningLevel>4</WarningLevel> |
336 | + <ConsolePause>false</ConsolePause> |
337 | + </PropertyGroup> |
338 | + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> |
339 | + <DebugType>none</DebugType> |
340 | + <Optimize>false</Optimize> |
341 | + <OutputPath>bin\Release</OutputPath> |
342 | + <ErrorReport>prompt</ErrorReport> |
343 | + <WarningLevel>4</WarningLevel> |
344 | + <ConsolePause>false</ConsolePause> |
345 | + </PropertyGroup> |
346 | + <ItemGroup> |
347 | + <Reference Include="System" /> |
348 | + <Reference Include="Tomboy, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null"> |
349 | + <SpecificVersion>False</SpecificVersion> |
350 | + <HintPath>\usr\lib\tomboy\Tomboy.exe</HintPath> |
351 | + <Private>False</Private> |
352 | + </Reference> |
353 | + <Reference Include="gtk-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f"> |
354 | + <Package>gtk-sharp-2.0</Package> |
355 | + </Reference> |
356 | + <Reference Include="Mono.Posix" /> |
357 | + <Reference Include="glib-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f"> |
358 | + <Package>glib-sharp-2.0</Package> |
359 | + </Reference> |
360 | + <Reference Include="Zeitgeist, Version=1.0.3914.35475, Culture=neutral, PublicKeyToken=null"> |
361 | + <SpecificVersion>False</SpecificVersion> |
362 | + <HintPath>Zeitgeist.dll</HintPath> |
363 | + </Reference> |
364 | + </ItemGroup> |
365 | + <ItemGroup> |
366 | + <Compile Include="AssemblyInfo.cs" /> |
367 | + <Compile Include="ZeitgeistAddin.cs" /> |
368 | + <Compile Include="NoteHandler.cs" /> |
369 | + <Compile Include="Zeitgeist.cs" /> |
370 | + </ItemGroup> |
371 | + <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> |
372 | + <ItemGroup> |
373 | + <EmbeddedResource Include="Zeitgeist.addin.xml" /> |
374 | + </ItemGroup> |
375 | + <ProjectExtensions> |
376 | + <MonoDevelop> |
377 | + <Properties InternalTargetFrameworkVersion="3.5" /> |
378 | + </MonoDevelop> |
379 | + </ProjectExtensions> |
380 | +</Project> |
381 | |
382 | === added file 'tomboy/Tomboy.Zeitgeist.sln' |
383 | --- tomboy/Tomboy.Zeitgeist.sln 1970-01-01 00:00:00 +0000 |
384 | +++ tomboy/Tomboy.Zeitgeist.sln 2010-09-19 16:04:42 +0000 |
385 | @@ -0,0 +1,20 @@ |
386 | + |
387 | +Microsoft Visual Studio Solution File, Format Version 9.00 |
388 | +# Visual Studio 2005 |
389 | +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tomboy.Zeitgeist", "Tomboy.Zeitgeist.csproj", "{2591D85F-7B39-486E-8260-D9022DE8BDE6}" |
390 | +EndProject |
391 | +Global |
392 | + GlobalSection(SolutionConfigurationPlatforms) = preSolution |
393 | + Debug|Any CPU = Debug|Any CPU |
394 | + Release|Any CPU = Release|Any CPU |
395 | + EndGlobalSection |
396 | + GlobalSection(ProjectConfigurationPlatforms) = postSolution |
397 | + {2591D85F-7B39-486E-8260-D9022DE8BDE6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
398 | + {2591D85F-7B39-486E-8260-D9022DE8BDE6}.Debug|Any CPU.Build.0 = Debug|Any CPU |
399 | + {2591D85F-7B39-486E-8260-D9022DE8BDE6}.Release|Any CPU.ActiveCfg = Release|Any CPU |
400 | + {2591D85F-7B39-486E-8260-D9022DE8BDE6}.Release|Any CPU.Build.0 = Release|Any CPU |
401 | + EndGlobalSection |
402 | + GlobalSection(MonoDevelopProperties) = preSolution |
403 | + StartupItem = Tomboy.Zeitgeist.csproj |
404 | + EndGlobalSection |
405 | +EndGlobal |
406 | |
407 | === modified file 'tomboy/Zeitgeist.addin.xml' |
408 | --- tomboy/Zeitgeist.addin.xml 2010-08-16 11:07:09 +0000 |
409 | +++ tomboy/Zeitgeist.addin.xml 2010-09-19 16:04:42 +0000 |
410 | @@ -1,14 +1,14 @@ |
411 | <Addin id="Zeitgeist" |
412 | namespace="Tomboy" |
413 | name="Zeitgeist Integration" |
414 | - author="Laszlo Pandy laszlok2@gmail.com" |
415 | + author="Manish Sinha" |
416 | description="Logs usage data to Zeitgeist." |
417 | category="Desktop Integration" |
418 | defaultEnabled="true" |
419 | version="0.1"> |
420 | |
421 | <Runtime> |
422 | - <Import assembly="Zeitgeist.dll" /> |
423 | + <Import assembly="Tomboy.Zeitgeist.dll" /> |
424 | </Runtime> |
425 | |
426 | <Dependencies> |
427 | |
428 | === added file 'tomboy/Zeitgeist.cs' |
429 | --- tomboy/Zeitgeist.cs 1970-01-01 00:00:00 +0000 |
430 | +++ tomboy/Zeitgeist.cs 2010-09-19 16:04:42 +0000 |
431 | @@ -0,0 +1,83 @@ |
432 | +using System; |
433 | +using Zeitgeist.Datamodel; |
434 | +using Zeitgeist; |
435 | +using System.Collections.Generic; |
436 | +using Tomboy; |
437 | + |
438 | +namespace Tomboy.Zeitgeist |
439 | +{ |
440 | + public class ZeitgeistHandler |
441 | + { |
442 | + public static bool SendEvent(Note note, KeyValuePair<string,string> eventInterpretation) |
443 | + { |
444 | + KeyValuePair<string,string> eventManifestation = Manifestation.Instance.EventManifestation.UserActivity; |
445 | + |
446 | + KeyValuePair<string,string> subjectInterpretation = Interpretation.Instance.Document.Document; |
447 | + KeyValuePair<string,string> subjectManifestation = Manifestation.Instance.FileDataObject.FileDataObject; |
448 | + |
449 | + Event ev = EventCreator.CreateEvent(note, eventInterpretation, eventManifestation, subjectInterpretation, subjectManifestation); |
450 | + |
451 | + |
452 | + try |
453 | + { |
454 | + List<Event> listOfEvents = new List<Event>(); |
455 | + listOfEvents.Add(ev); |
456 | + |
457 | + GLib.Idle.Add(delegate() |
458 | + { |
459 | + SendEvent(listOfEvents); |
460 | + return false; |
461 | + }); |
462 | + |
463 | + Console.WriteLine(string.Format("Operation {0} successful", ev.Interpretation.Key)); |
464 | + return true; |
465 | + } |
466 | + catch(Exception e) |
467 | + { |
468 | + Console.WriteLine(e.StackTrace); |
469 | + |
470 | + return false; |
471 | + } |
472 | + } |
473 | + |
474 | + private static void SendEvent(List<Event> e) |
475 | + { |
476 | + LogClient client = new LogClient(); |
477 | + client.InsertEvents(e); |
478 | + } |
479 | + } |
480 | + |
481 | + public class EventCreator |
482 | + { |
483 | + public static Event CreateEvent(Note note, |
484 | + KeyValuePair<string,string> eventInterpretation, |
485 | + KeyValuePair<string,string> eventManifestation, |
486 | + KeyValuePair<string,string> subjectInterpretation, |
487 | + KeyValuePair<string,string> subjectManifestation) |
488 | + { |
489 | + Event ev = new Event(); |
490 | + |
491 | + |
492 | + ev.Id = 0; |
493 | + ev.Timestamp = DateTime.Now; |
494 | + ev.Interpretation = eventInterpretation; |
495 | + ev.Manifestation = eventManifestation; |
496 | + ev.Actor = ZeitgeistAddin.TomboyUri; |
497 | + |
498 | + Subject sub = new Subject(); |
499 | + |
500 | + sub.Uri = note.Uri; |
501 | + sub.Interpretation = subjectInterpretation; |
502 | + sub.Manifestation = subjectManifestation; |
503 | + sub.Origin = string.Empty; |
504 | + sub.MimeType = ZeitgeistAddin.NoteMimetype; |
505 | + sub.Text = note.Title; |
506 | + sub.Storage = string.Empty; |
507 | + |
508 | + ev.Subjects.Add(sub); |
509 | + |
510 | + return ev; |
511 | + } |
512 | + } |
513 | +} |
514 | + |
515 | |
516 | === removed file 'tomboy/Zeitgeist.cs' |
517 | --- tomboy/Zeitgeist.cs 2010-08-19 10:33:11 +0000 |
518 | +++ tomboy/Zeitgeist.cs 1970-01-01 00:00:00 +0000 |
519 | @@ -1,200 +0,0 @@ |
520 | - |
521 | -using System; |
522 | -using System.Collections.Generic; |
523 | -using Tomboy; |
524 | -using NDesk.DBus; |
525 | -using Gtk; |
526 | -using GLib; |
527 | -using Mono.Unix.Native; |
528 | - |
529 | -namespace Tomboy.Zeitgeist |
530 | -{ |
531 | - class NoteHandler |
532 | - { |
533 | - private static List<string> handled_notes = new List<string>(); |
534 | - private Note note; |
535 | - |
536 | - public NoteHandler(Note note) { |
537 | - if (handled_notes.Contains(note.Id) == false) { |
538 | - this.note = note; |
539 | - note.Opened += HandleNoteOpened; |
540 | - if (note.HasWindow) { |
541 | - HandleNoteOpened(); |
542 | - } |
543 | - } |
544 | - } |
545 | - |
546 | - void HandleNoteOpened (object sender, EventArgs e) { |
547 | - HandleNoteOpened(); |
548 | - } |
549 | - void HandleNoteOpened() { |
550 | - note.Window.Hidden += HandleNoteWindowHidden; |
551 | - note.Window.Shown += HandleNoteWindowShown; |
552 | - note.Renamed += HandleNoteRenamed; |
553 | - if (note.Window.Visible) { |
554 | - HandleNoteWindowShown(); |
555 | - } |
556 | - } |
557 | - |
558 | - void HandleNoteRenamed (Note sender, string old_title) |
559 | - { |
560 | - Console.WriteLine("Zg: Renamed: " + note.Title); |
561 | - ZeitgeistDbus.SendToZeitgeist(note, ZeitgeistDbus.EventInterpretation.ModifyEvent); |
562 | - } |
563 | - |
564 | - void HandleNoteWindowShown (object sender, EventArgs e) { |
565 | - HandleNoteWindowShown(); |
566 | - } |
567 | - void HandleNoteWindowShown () |
568 | - { |
569 | - Console.WriteLine("Zg: Note window opened: " + note.Title); |
570 | - ZeitgeistDbus.SendToZeitgeist(note, ZeitgeistDbus.EventInterpretation.OpenEvent); |
571 | - } |
572 | - |
573 | - void HandleNoteWindowHidden (object sender, EventArgs e) |
574 | - { |
575 | - Console.WriteLine("Zg: Note window closed: " + note.Title); |
576 | - ZeitgeistDbus.SendToZeitgeist(note, ZeitgeistDbus.EventInterpretation.CloseEvent); |
577 | - } |
578 | - } |
579 | - |
580 | - class ZeitgeistDbus |
581 | - { |
582 | - private static ILogger zeitgeist_proxy = |
583 | - Bus.Session.GetObject<ILogger>("org.gnome.zeitgeist.Engine", |
584 | - new ObjectPath("/org/gnome/zeitgeist/log/activity")); |
585 | - |
586 | - public enum EventInterpretation { |
587 | - OpenEvent, |
588 | - CloseEvent, |
589 | - CreateEvent, |
590 | - ModifyEvent, |
591 | - } |
592 | - |
593 | - private static string GetEventInterpetation(EventInterpretation e) { |
594 | - switch(e) { |
595 | - case EventInterpretation.OpenEvent: |
596 | - return "http://www.zeitgeist-project.com/ontologies/2010/01/27/zg#AccessEvent"; |
597 | - case EventInterpretation.CloseEvent: |
598 | - return "http://www.zeitgeist-project.com/ontologies/2010/01/27/zg#LeaveEvent"; |
599 | - case EventInterpretation.CreateEvent: |
600 | - return "http://www.zeitgeist-project.com/ontologies/2010/01/27/zg#CreateEvent"; |
601 | - case EventInterpretation.ModifyEvent: |
602 | - return "http://www.zeitgeist-project.com/ontologies/2010/01/27/zg#ModifyEvent"; |
603 | - default: |
604 | - return null; |
605 | - } |
606 | - } |
607 | - |
608 | - public static void SendToZeitgeist(Note note, EventInterpretation ev_interp) { |
609 | - if (zeitgeist_proxy == null) { |
610 | - Console.WriteLine("Zg: cannot connect to zeitgeist, dbus proxy is null"); |
611 | - return; |
612 | - } |
613 | - |
614 | - string ev_interp_string = GetEventInterpetation(ev_interp); |
615 | - if (ev_interp_string == null) { |
616 | - Console.WriteLine("Zg: unknown interpretation type: " + ev_interp.ToString()); |
617 | - return; |
618 | - } |
619 | - |
620 | - Timeval t; |
621 | - Syscall.gettimeofday(out t); |
622 | - long millis_now = (t.tv_sec * 1000) + (t.tv_usec / 1000); |
623 | - |
624 | - Event e = new Event(); |
625 | - e.metadata = new string[5]; |
626 | - e.metadata[0] = ""; //id (filled in by Zeitgeist) |
627 | - e.metadata[1] = millis_now.ToString(); |
628 | - e.metadata[2] = ev_interp_string; |
629 | - e.metadata[3] = "http://www.zeitgeist-project.com/ontologies/2010/01/27/zg#UserActivity"; |
630 | - e.metadata[4] = "application://tomboy.desktop"; |
631 | - |
632 | - string[] subject = new string[7]; |
633 | - subject[0] = note.Uri; |
634 | - subject[1] = "http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#Document"; |
635 | - subject[2] = "http://www.semanticdesktop.org/ontologies/nfo#FileDataObject"; |
636 | - subject[3] = ""; //origin |
637 | - subject[4] = "application/x-tomboy"; //mimetype |
638 | - subject[5] = note.Title; |
639 | - subject[6] = ""; //storage id |
640 | - |
641 | - e.subjects = new string[][] { subject }; |
642 | - e.payload = new byte[0]; |
643 | - |
644 | - GLib.Idle.Add(delegate() { |
645 | - SendEvent(e); |
646 | - return false; |
647 | - }); |
648 | - } |
649 | - |
650 | - private static void SendEvent(Event e) { |
651 | - int[] inserted; |
652 | - try { |
653 | - inserted = zeitgeist_proxy.InsertEvents(new Event[] { e }); |
654 | - } catch (Exception ex) { |
655 | - Console.WriteLine("Zg: insertion failed: " + ex.Message); |
656 | - return; |
657 | - } |
658 | - |
659 | - if (inserted.Length > 0) { |
660 | - Console.WriteLine("Zg: Inserted event: " + inserted[0]); |
661 | - } |
662 | - else { |
663 | - Console.WriteLine("Zg: Insertion failed"); |
664 | - } |
665 | - return; |
666 | - } |
667 | - } |
668 | - |
669 | - [NDesk.DBus.Interface ("org.gnome.zeitgeist.Log")] |
670 | - interface ILogger { |
671 | - int[] InsertEvents(Event[] events); |
672 | - } |
673 | - |
674 | - struct Event { |
675 | - public string[] metadata; |
676 | - public string[][] subjects; |
677 | - public byte[] payload; |
678 | - } |
679 | - |
680 | - public class ZeitgeistAddin : ApplicationAddin |
681 | - { |
682 | - private bool _init = false; |
683 | - public override bool Initialized { |
684 | - get { return _init; } |
685 | - } |
686 | - |
687 | - public override |
688 | - void Initialize() { |
689 | - Console.WriteLine("Zg: init new"); |
690 | - init_handlers(); |
691 | - _init = true; |
692 | - } |
693 | - |
694 | - public override |
695 | - void Shutdown() { |
696 | - Console.WriteLine("Zg: shutdown"); |
697 | - } |
698 | - |
699 | - void HandleNoteAdded(object sender, Note new_note) { |
700 | - Console.WriteLine("Zg: Note added: " + new_note.Title); |
701 | - Console.WriteLine("\t" + new_note.Uri); |
702 | - |
703 | - new NoteHandler(new_note); |
704 | - ZeitgeistDbus.SendToZeitgeist(new_note, ZeitgeistDbus.EventInterpretation.CreateEvent); |
705 | - } |
706 | - |
707 | - public void init_handlers() { |
708 | - foreach (Note note in Tomboy.DefaultNoteManager.Notes) { |
709 | - new NoteHandler(note); |
710 | - } |
711 | - |
712 | - Tomboy.DefaultNoteManager.NoteAdded -= HandleNoteAdded; |
713 | - Tomboy.DefaultNoteManager.NoteAdded += HandleNoteAdded; |
714 | - } |
715 | - } |
716 | - |
717 | - |
718 | - |
719 | -} |
720 | |
721 | === added file 'tomboy/Zeitgeist.dll' |
722 | Binary files tomboy/Zeitgeist.dll 1970-01-01 00:00:00 +0000 and tomboy/Zeitgeist.dll 2010-09-19 16:04:42 +0000 differ |
723 | === modified file 'tomboy/Zeitgeist.mdp' |
724 | --- tomboy/Zeitgeist.mdp 2010-08-16 10:57:40 +0000 |
725 | +++ tomboy/Zeitgeist.mdp 2010-09-19 16:04:42 +0000 |
726 | @@ -1,20 +1,17 @@ |
727 | -<Project name="Zeitgeist" fileversion="2.0" DefaultNamespace="Zeitgeist" language="C#" targetFramework="2.0" ctype="DotNetProject"> |
728 | - <Configurations active="Debug"> |
729 | - <Configuration name="Debug" ctype="DotNetProjectConfiguration"> |
730 | - <Output directory="bin/Debug" assembly="Zeitgeist" /> |
731 | - <Build debugmode="True" target="Library" /> |
732 | - <Execution consolepause="False" runwithwarnings="True" runtime="MsNet" /> |
733 | - <CodeGeneration compiler="Mcs" warninglevel="4" optimize="False" unsafecodeallowed="False" generateoverflowchecks="False" definesymbols="DEBUG" generatexmldocumentation="False" ctype="CSharpCompilerParameters" /> |
734 | - </Configuration> |
735 | +<Project name="Tomboy.Zeitgeist" fileversion="2.0" DefaultNamespace="Tomboy.Zeitgeist" language="C#" targetFramework="2.0" ctype="DotNetProject"> |
736 | + <Configurations active="Release"> |
737 | <Configuration name="Release" ctype="DotNetProjectConfiguration"> |
738 | - <Output directory="bin/Release" assembly="Zeitgeist" /> |
739 | + <Output directory="bin/Release" assembly="Tomboy.Zeitgeist" /> |
740 | <Build debugmode="False" target="Library" /> |
741 | <Execution consolepause="False" runwithwarnings="True" runtime="MsNet" /> |
742 | <CodeGeneration compiler="Mcs" warninglevel="4" optimize="False" unsafecodeallowed="False" generateoverflowchecks="False" generatexmldocumentation="False" ctype="CSharpCompilerParameters" /> |
743 | </Configuration> |
744 | </Configurations> |
745 | <Contents> |
746 | + <File subtype="Code" buildaction="Compile" name="AssemblyInfo.cs" /> |
747 | <File subtype="Code" buildaction="Compile" name="Zeitgeist.cs" /> |
748 | + <File subtype="Code" buildaction="Compile" name="ZeitgeistAddin.cs" /> |
749 | + <File subtype="Code" buildaction="Compile" name="NoteHandler.cs" /> |
750 | <File subtype="Code" buildaction="EmbedAsResource" name="Zeitgeist.addin.xml" /> |
751 | </Contents> |
752 | <References> |
753 | @@ -23,6 +20,7 @@ |
754 | <ProjectReference type="Gac" localcopy="True" refto="NDesk.DBus, Version=1.0.0.0, Culture=neutral, PublicKeyToken=f6716e4f9b2ed099" /> |
755 | <ProjectReference type="Gac" localcopy="True" refto="gtk-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" /> |
756 | <ProjectReference type="Gac" localcopy="True" refto="Mono.Posix, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756" /> |
757 | + <ProjectReference type="Assembly" localcopy="True" specificVersion="False" refto="Zeitgeist.dll" /> |
758 | <ProjectReference type="Assembly" localcopy="True" specificVersion="False" refto="/usr/lib/tomboy/Tomboy.exe" /> |
759 | </References> |
760 | </Project> |
761 | |
762 | === added file 'tomboy/ZeitgeistAddin.cs' |
763 | --- tomboy/ZeitgeistAddin.cs 1970-01-01 00:00:00 +0000 |
764 | +++ tomboy/ZeitgeistAddin.cs 2010-09-19 16:04:42 +0000 |
765 | @@ -0,0 +1,90 @@ |
766 | +using System; |
767 | +using Tomboy; |
768 | +using System.Collections.Generic; |
769 | +using System.IO; |
770 | +using Zeitgeist.Datamodel; |
771 | + |
772 | +namespace Tomboy.Zeitgeist |
773 | +{ |
774 | + public class ZeitgeistAddin : ApplicationAddin |
775 | + { |
776 | + public ZeitgeistAddin () |
777 | + { |
778 | + notesList = new List<NoteHandler>(); |
779 | + } |
780 | + |
781 | + #region Overridden methods |
782 | + |
783 | + public override bool Initialized |
784 | + { |
785 | + get |
786 | + { |
787 | + return _init; |
788 | + } |
789 | + } |
790 | + |
791 | + public override void Initialize() |
792 | + { |
793 | + Console.WriteLine("Zg#: init new"); |
794 | + |
795 | + // Initialize the handlers for hooking into Tomboy |
796 | + InitHandlers(); |
797 | + |
798 | + _init = true; |
799 | + } |
800 | + |
801 | + public override void Shutdown() |
802 | + { |
803 | + Console.WriteLine("Zg#: shutdown"); |
804 | + } |
805 | + |
806 | + #endregion |
807 | + |
808 | + public void InitHandlers() |
809 | + { |
810 | + // For every note present in the store |
811 | + |
812 | + foreach (Note note in Tomboy.DefaultNoteManager.Notes) |
813 | + { |
814 | + notesList.Add(new NoteHandler(note)); |
815 | + } |
816 | + |
817 | + Tomboy.DefaultNoteManager.NoteAdded -= HandleNoteAdded; |
818 | + Tomboy.DefaultNoteManager.NoteAdded += HandleNoteAdded; |
819 | + |
820 | + Tomboy.DefaultNoteManager.NoteDeleted -= HandleNoteDeleted; |
821 | + Tomboy.DefaultNoteManager.NoteDeleted += HandleNoteDeleted; |
822 | + } |
823 | + |
824 | + void HandleNoteAdded(object sender, Note new_note) |
825 | + { |
826 | + Console.WriteLine("Zg#: Note added: " + new_note.Title); |
827 | + Console.WriteLine("\t" + new_note.Uri); |
828 | + |
829 | + notesList.Add(new NoteHandler(new_note)); |
830 | + |
831 | + ZeitgeistHandler.SendEvent(new_note, Interpretation.Instance.EventInterpretation.CreateEvent); |
832 | + } |
833 | + |
834 | + void HandleNoteDeleted(object sender, Note new_note) |
835 | + { |
836 | + Console.WriteLine("Zg#: Note deleted: " + new_note.Title); |
837 | + Console.WriteLine("\t" + new_note.Uri); |
838 | + |
839 | + ZeitgeistHandler.SendEvent(new_note, Interpretation.Instance.EventInterpretation.DeleteEvent); |
840 | + } |
841 | + |
842 | + List<NoteHandler> notesList; |
843 | + |
844 | + private bool _init = false; |
845 | + |
846 | + #region Public Constants |
847 | + |
848 | + public const string TomboyUri = "application://tomboy.desktop"; |
849 | + |
850 | + public const string NoteMimetype = "application/x-tomboy"; |
851 | + |
852 | + #endregion |
853 | + } |
854 | +} |
855 | + |
856 | |
857 | === added file 'tomboy/configure' |
858 | --- tomboy/configure 1970-01-01 00:00:00 +0000 |
859 | +++ tomboy/configure 2010-09-19 16:04:42 +0000 |
860 | @@ -0,0 +1,159 @@ |
861 | +#!/bin/bash |
862 | +VERSION=0.1 |
863 | +PACKAGE=tomboy.zeitgeist |
864 | +prefix=/usr/local |
865 | +config=RELEASE |
866 | +configurations=" DEBUG RELEASE" |
867 | +common_packages=" glib-sharp-2.0;2.12.9 gtk-sharp-2.0;2.12.9" |
868 | + |
869 | + |
870 | +usage () |
871 | +{ |
872 | + echo "Usage : configure [OPTION]... [--config=CONFIG]" |
873 | + echo |
874 | + echo "Options:" |
875 | + echo " --prefix=PREFIX install architecture-independent files in PREFIX" |
876 | + echo " [/usr/local]" |
877 | + echo " --bindir=DIR user executables [PREFIX/bin]" |
878 | + echo " --datadir=DIR read-only architecture-independent data [PREFIX/share]" |
879 | + echo " --libdir=DIR object code libraries [PREFIX/lib]" |
880 | + echo |
881 | + echo "Configurations available :" |
882 | + for c in $configurations; do |
883 | + if [ "$c" = "$config" ]; then |
884 | + echo " $c (Default)" |
885 | + else |
886 | + echo " $c" |
887 | + fi |
888 | + done |
889 | +} |
890 | + |
891 | +validate_config () |
892 | +{ |
893 | + test -z "$1" && return 0 |
894 | + for c in $configurations; do |
895 | + if [ "$c" = "$1" ]; then |
896 | + return 1 |
897 | + fi |
898 | + done |
899 | + return 0 |
900 | +} |
901 | + |
902 | +check_package () |
903 | +{ |
904 | + name=`echo $1 | cut -d\; -f1` |
905 | + version=`echo $1 | cut -d\; -f2` |
906 | + |
907 | + echo -n "Checking for package '$name'.." | tee -a config.log |
908 | + pkg-config --atleast-version=$version $name |
909 | + if [ $? -ne 0 ]; then |
910 | + echo " ERROR: Package named '$name' >= $version not found." | tee -a config.log |
911 | + echo "Try adjusting your PKG_CONFIG_PATH environment variable." | tee -a config.log |
912 | + return 1 |
913 | + fi |
914 | + echo " found." | tee -a config.log |
915 | +} |
916 | + |
917 | +check_required_packages () |
918 | +{ |
919 | + echo "Looking for required packages" | tee config.log |
920 | + var=required_packages_$config |
921 | + for pkg in $common_packages ${!var}; do |
922 | + check_package $pkg |
923 | + retval=$? |
924 | + [ $retval -ne 0 ] && return $retval |
925 | + done |
926 | + return 0 |
927 | +} |
928 | + |
929 | +while test x$1 != x; do |
930 | + case $1 in |
931 | + --prefix=*) |
932 | + prefix=`echo $1 | sed 's/--prefix=//'` |
933 | + ;; |
934 | + --prefix) |
935 | + shift |
936 | + prefix=$1 |
937 | + ;; |
938 | + --libdir=*) |
939 | + libdir=`echo $1 | sed 's/--libdir=//'` |
940 | + ;; |
941 | + --libdir) |
942 | + shift |
943 | + libdir=$1 |
944 | + ;; |
945 | + --bindir=*) |
946 | + bindir=`echo $1 | sed 's/--bindir=//'` |
947 | + ;; |
948 | + --bindir) |
949 | + shift |
950 | + bindir=$1 |
951 | + ;; |
952 | + --datadir=*) |
953 | + datadir=`echo $1 | sed 's/--datadir=//'` |
954 | + ;; |
955 | + --datadir) |
956 | + shift |
957 | + datadir=$1 |
958 | + ;; |
959 | + --config=*) |
960 | + conf=`echo $1 | sed 's/--config=//'` |
961 | + validate_config "$conf" |
962 | + if [ $? -eq 1 ]; then |
963 | + config=$conf |
964 | + else |
965 | + echo "Invalid config name - $conf" |
966 | + usage |
967 | + exit 1 |
968 | + fi |
969 | + ;; |
970 | + --help) |
971 | + usage |
972 | + exit |
973 | + ;; |
974 | + *) |
975 | + echo Unknown argument $1 >&2 |
976 | + usage |
977 | + exit 1 |
978 | + ;; |
979 | + esac |
980 | + shift |
981 | +done |
982 | + |
983 | +check_required_packages |
984 | +[ $? -eq 1 ] && exit 1 |
985 | + |
986 | +if [ -z "$libdir" ]; then |
987 | + libdir=$prefix/lib |
988 | +fi |
989 | +if [ -z "$bindir" ]; then |
990 | + bindir=$prefix/bin |
991 | +fi |
992 | +if [ -z "$datadir" ]; then |
993 | + datadir=$prefix/share |
994 | +fi |
995 | + |
996 | +echo "prefix=$prefix" > config.make |
997 | +echo "libdir=$libdir" >> config.make |
998 | +echo "bindir=$bindir" >> config.make |
999 | +echo "datadir=$datadir" >> config.make |
1000 | +echo "RUNTIME=mono" >> config.make |
1001 | +echo "ASSEMBLY_VERSION=$VERSION.0.0" >> config.make |
1002 | +echo "VERSION=$VERSION" >> config.make |
1003 | +echo "PACKAGE=$PACKAGE" >> config.make |
1004 | +echo "CONFIG=$config" >> config.make |
1005 | + |
1006 | +echo |
1007 | +echo "$PACKAGE has been configured with " |
1008 | +echo " prefix = $prefix" |
1009 | +if [ "$libdir" != "$prefix/lib" ]; then |
1010 | + echo " libdir = $libdir" |
1011 | +fi |
1012 | +if [ "$bindir" != "$prefix/bin" ]; then |
1013 | + echo " bindir = $bindir" |
1014 | +fi |
1015 | +if [ "$datadir" != "$prefix/share" ]; then |
1016 | + echo " datadir = $datadir" |
1017 | +fi |
1018 | +echo " config = $config" |
1019 | +echo |
1020 | |
1021 | === modified file 'tomboy/install.sh' |
1022 | --- tomboy/install.sh 2010-02-03 16:06:55 +0000 |
1023 | +++ tomboy/install.sh 2010-09-19 16:04:42 +0000 |
1024 | @@ -8,6 +8,7 @@ |
1025 | # correct version of Tomboy). |
1026 | mdtool build Zeitgeist.mdp |
1027 | |
1028 | -cp bin/Debug/Zeitgeist.dll ~/.config/tomboy/addins/Zeitgeist.dll |
1029 | +cp bin/Release/Tomboy.Zeitgeist.dll ~/.config/tomboy/addins/Tomboy.Zeitgeist.dll |
1030 | +cp Zeitgeist.dll ~/.config/tomboy/addins/Zeitgeist.dll |
1031 | |
1032 | |
1033 | |
1034 | === added file 'tomboy/rules.make' |
1035 | --- tomboy/rules.make 1970-01-01 00:00:00 +0000 |
1036 | +++ tomboy/rules.make 2010-09-19 16:04:42 +0000 |
1037 | @@ -0,0 +1,42 @@ |
1038 | +clean-local: |
1039 | + make pre-clean-local-hook |
1040 | + make $(CONFIG)_BeforeClean |
1041 | + -rm -f $(call quote_each,$(CLEANFILES)) |
1042 | + make $(CONFIG)_AfterClean |
1043 | + make post-clean-local-hook |
1044 | + |
1045 | +install-local: |
1046 | +uninstall-local: |
1047 | + |
1048 | +q2quote = '$(subst ?, ,$1)' |
1049 | +quote_each = $(foreach f,$(call s2q,$1),$(call q2quote,$f)) |
1050 | + |
1051 | +dist-local: |
1052 | + make pre-dist-local-hook "distdir=$$distdir" |
1053 | + for f in Makefile $(call quote_each,$(EXTRA_DIST)); do \ |
1054 | + d=`dirname "$$f"`; \ |
1055 | + test -d "$(distdir)/$$d" || \ |
1056 | + mkdir -p "$(distdir)/$$d"; \ |
1057 | + cp -p "$$f" "$(distdir)/$$d" || exit 1; \ |
1058 | + done |
1059 | + make post-dist-local-hook "distdir=$$distdir" |
1060 | + |
1061 | +dist-local-recursive: |
1062 | + for dir in $(call quote_each,$(SUBDIRS)); do \ |
1063 | + mkdir -p "$(distdir)/$$dir" || true; \ |
1064 | + case "$$dir" in \ |
1065 | + .) make dist-local "distdir=$(distdir)" || exit 1;; \ |
1066 | + *) (cd "$$dir"; make dist-local "distdir=$(distdir)/$$dir") || exit 1; \ |
1067 | + esac \ |
1068 | + done |
1069 | + |
1070 | +#hooks: Available hooks - all, clean, install, uninstall and dist |
1071 | +# and their *-local variants |
1072 | +pre-%-hook: ; @: |
1073 | +post-%-hook: ; @: |
1074 | + |
1075 | +#targets for custom commands |
1076 | +%_BeforeBuild: ; @: |
1077 | +%_AfterBuild: ; @: |
1078 | +%_BeforeClean: ; @: |
1079 | +%_AfterClean: ; @: |
1080 | |
1081 | === added file 'tomboy/tomboy.zeitgeist.pc.in' |
1082 | --- tomboy/tomboy.zeitgeist.pc.in 1970-01-01 00:00:00 +0000 |
1083 | +++ tomboy/tomboy.zeitgeist.pc.in 2010-09-19 16:04:42 +0000 |
1084 | @@ -0,0 +1,6 @@ |
1085 | +Name: Tomboy.Zeitgeist |
1086 | +Description: Tomboy.Zeitgeist |
1087 | +Version: 0.1 |
1088 | + |
1089 | +Requires: |
1090 | +Libs: -r:@expanded_libdir@/@PACKAGE@/Tomboy.Zeitgeist.dll |
From a quick look (I'm not using Tomboy): //tomboy. desktop
- 'TomboyUri' should be just application:
- please get rid of the install.sh script, everything is now done using Makefiles
- I really don't like the bundled dll library, isn't there another way to check for it?