Merge lp://staging/~alexlauni/do/package-manager-service into lp://staging/do
- package-manager-service
- Merge into trunk
Status: | Merged |
---|---|
Merged at revision: | not available |
Proposed branch: | lp://staging/~alexlauni/do/package-manager-service |
Merge into: | lp://staging/do |
Diff against target: | None lines |
To merge this branch: | bzr merge lp://staging/~alexlauni/do/package-manager-service |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Jason Smith (community) | Approve | ||
Chris Halse Rogers | Needs Fixing | ||
Review via email: mp+7852@code.staging.launchpad.net |
Commit message
Description of the change
Alex Launi (alexlauni) wrote : | # |
Chris Halse Rogers (raof) wrote : | # |
review needsfixing
Is this a merge for both PluginManagerSe
If so, could we merge PluginManagerSe
PackageManagerS
You've added Do.Linux.
useful :).
In
Do.Platform.
I don't much like the magical Daemon property, particularly since you
need to document it with the comment
"""
// this call will instantiate the daemon, as well as make sure we also
got a DBus object
"""
in Initialize (). Is there any particular reason that Initialise can't
initialise the daemon explicitly?
In MaybeStartDaemon (), is it possibly to ask DBus to wait for an owner
of BusName rather than just sleeping for 5 seconds? I'm not sure if it
is, but I'd find it cleaner.
In Do.Platform/
MaybePluginForP
plugin API to allow a plugin itself to provide a list of packages that
it supports, as well as this magic name/description matching.
What happens if multiple addins support a new package?
This comment from PluginManagerSe
/// If this class loads, we have a serious plugin because that probably
means we have no plugin manager.
Alex Launi (alexlauni) wrote : | # |
> review needsfixing
>
> Is this a merge for both PluginManagerSe
> If so, could we merge PluginManagerSe
> PackageManagerS
There is already a pending merge for PluginManagerSe
> You've added Do.Linux.
> useful :).
Whoops. Removed.
> In Do.Platform.
>
> I don't much like the magical Daemon property, particularly since you
> need to document it with the comment
> """
> // this call will instantiate the daemon, as well as make sure we also
> got a DBus object
> """
> in Initialize (). Is there any particular reason that Initialise can't
> initialise the daemon explicitly?
I did it this way to avoid the duplication of adding the event, etc. It seems cleaner to me.
> In MaybeStartDaemon (), is it possibly to ask DBus to wait for an owner
> of BusName rather than just sleeping for 5 seconds? I'm not sure if it
> is, but I'd find it cleaner.
I don't think it's possible, this is how Banshee does it, but I'm pretty sure I can safely remove that sleep call if it'd make you feel better.
> In Do.Platform/
> MaybePluginForP
> plugin API to allow a plugin itself to provide a list of packages that
> it supports, as well as this magic name/description matching.
I had mentioned this in irc, perhaps in the plugin manifest adding an element/attribute of keywords that could be used. This could also be handy in the search.
> What happens if multiple addins support a new package?
We take the first.
> This comment from PluginManagerSe
> /// If this class loads, we have a serious plugin because that probably
> means we have no plugin manager.
This is a comment for the Plugin Manager merge, but I'll fix it there
- 1266. By Alex Launi
-
merge trunk
- 1267. By Alex Launi
-
add makefile.am
- 1268. By Alex Launi
-
remove Makefile.in
- 1269. By Alex Launi
-
removed Sleep and exception if no service found
- 1270. By Alex Launi
-
merge plugin manager changes
- 1271. By Alex Launi
-
fix a logic error that lead to an NRE
- 1272. By Alex Launi
-
added package->plugin map for jolicloud
- 1273. By Alex Launi
-
edit comment
- 1274. By Alex Launi
-
umm...
- 1275. By Alex Launi
-
merge trunk
- 1276. By Alex Launi
-
merge trunk
- 1277. By Alex Launi
-
merge updates from plugin-manager
- 1278. By Alex Launi
-
Show distributor logo on plugin-available dialog to help user associate the reason for the popup
- 1279. By Alex Launi
-
Only subscribe to package installed event once
- 1280. By Alex Launi
-
add cleanup routine for PackageManagerS
ervice - 1281. By Alex Launi
-
merge trunk
Jason Smith (jassmith) : | # |
Preview Diff
1 | === added directory 'Do.Platform.Linux.JoliCloud' |
2 | === added file 'Do.Platform.Linux.JoliCloud/Do.Platform.Linux.JoliCloud.mdp' |
3 | --- Do.Platform.Linux.JoliCloud/Do.Platform.Linux.JoliCloud.mdp 1970-01-01 00:00:00 +0000 |
4 | +++ Do.Platform.Linux.JoliCloud/Do.Platform.Linux.JoliCloud.mdp 2009-06-23 16:27:37 +0000 |
5 | @@ -0,0 +1,33 @@ |
6 | +<Project name="Do.Platform.Linux.JoliCloud" fileversion="2.0" language="C#" targetFramework="2.0" ctype="DotNetProject"> |
7 | + <Configurations active="Debug"> |
8 | + <Configuration name="Debug" ctype="DotNetProjectConfiguration"> |
9 | + <Output directory="bin/Debug" assembly="Do.Platform.Linux.JoliCloud" /> |
10 | + <Build debugmode="True" target="Exe" /> |
11 | + <Execution runwithwarnings="True" consolepause="True" runtime="MsNet" /> |
12 | + <CodeGeneration compiler="Mcs" warninglevel="4" optimize="False" unsafecodeallowed="False" generateoverflowchecks="False" definesymbols="DEBUG" generatexmldocumentation="False" ctype="CSharpCompilerParameters" /> |
13 | + </Configuration> |
14 | + <Configuration name="Release" ctype="DotNetProjectConfiguration"> |
15 | + <Output directory="bin/Release" assembly="Do.Platform.Linux.JoliCloud" /> |
16 | + <Build debugmode="False" target="Exe" /> |
17 | + <Execution runwithwarnings="True" consolepause="True" runtime="MsNet" /> |
18 | + <CodeGeneration compiler="Mcs" warninglevel="4" optimize="False" unsafecodeallowed="False" generateoverflowchecks="False" generatexmldocumentation="False" ctype="CSharpCompilerParameters" /> |
19 | + </Configuration> |
20 | + </Configurations> |
21 | + <Contents> |
22 | + <File name="Resources" subtype="Directory" buildaction="Compile" /> |
23 | + <File name="src" subtype="Directory" buildaction="Compile" /> |
24 | + <File name="src/Do.Platform" subtype="Directory" buildaction="Compile" /> |
25 | + <File name="src/Do.Platform/Do.Platform.Linux" subtype="Directory" buildaction="Compile" /> |
26 | + <File name="src/Do.Platform/Do.Platform.Linux/Do.Platform.Linux.JoliCloud" subtype="Directory" buildaction="Compile" /> |
27 | + <File name="Resources/Do.Platform.Linux.JoliCloud.addin.xml" subtype="Code" buildaction="EmbedAsResource" /> |
28 | + <File name="src/Do.Platform/Do.Platform.Linux/Do.Platform.Linux.JoliCloud/PackageManagerService.cs" subtype="Code" buildaction="Compile" /> |
29 | + <File name="src/Do.Platform/Do.Platform.Linux/Do.Platform.Linux.JoliCloud/Tests" subtype="Directory" buildaction="Compile" /> |
30 | + <File name="src/Do.Platform/Do.Platform.Linux/Do.Platform.Linux.JoliCloud/Tests/PackageManagerServiceTests.cs" subtype="Code" buildaction="Compile" /> |
31 | + </Contents> |
32 | + <References> |
33 | + <ProjectReference type="Assembly" localcopy="True" specificVersion="False" refto="../../../../../../usr/local/lib/gnome-do/Do.Platform.dll" /> |
34 | + <ProjectReference type="Gac" localcopy="True" refto="NDesk.DBus, Version=1.0.0.0, Culture=neutral, PublicKeyToken=f6716e4f9b2ed099" /> |
35 | + <ProjectReference type="Assembly" localcopy="True" specificVersion="False" refto="../../../../../../usr/local/lib/gnome-do/Do.Platform.Linux.dll" /> |
36 | + <ProjectReference type="Gac" localcopy="True" refto="Mono.Addins, Version=0.4.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756" /> |
37 | + </References> |
38 | +</Project> |
39 | \ No newline at end of file |
40 | |
41 | === added file 'Do.Platform.Linux.JoliCloud/Makefile.in' |
42 | --- Do.Platform.Linux.JoliCloud/Makefile.in 1970-01-01 00:00:00 +0000 |
43 | +++ Do.Platform.Linux.JoliCloud/Makefile.in 2009-06-23 16:49:14 +0000 |
44 | @@ -0,0 +1,588 @@ |
45 | +# Makefile.in generated by automake 1.10.2 from Makefile.am. |
46 | +# @configure_input@ |
47 | + |
48 | +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, |
49 | +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. |
50 | +# This Makefile.in is free software; the Free Software Foundation |
51 | +# gives unlimited permission to copy and/or distribute it, |
52 | +# with or without modifications, as long as this notice is preserved. |
53 | + |
54 | +# This program is distributed in the hope that it will be useful, |
55 | +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without |
56 | +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A |
57 | +# PARTICULAR PURPOSE. |
58 | + |
59 | +@SET_MAKE@ |
60 | + |
61 | +# Rules to more easily specify a C# build for automake. |
62 | +# |
63 | +# Inspired and adapted from Banshee's build system |
64 | + |
65 | + |
66 | +VPATH = @srcdir@ |
67 | +pkgdatadir = $(datadir)/@PACKAGE@ |
68 | +pkglibdir = $(libdir)/@PACKAGE@ |
69 | +pkgincludedir = $(includedir)/@PACKAGE@ |
70 | +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd |
71 | +install_sh_DATA = $(install_sh) -c -m 644 |
72 | +install_sh_PROGRAM = $(install_sh) -c |
73 | +install_sh_SCRIPT = $(install_sh) -c |
74 | +INSTALL_HEADER = $(INSTALL_DATA) |
75 | +transform = $(program_transform_name) |
76 | +NORMAL_INSTALL = : |
77 | +PRE_INSTALL = : |
78 | +POST_INSTALL = : |
79 | +NORMAL_UNINSTALL = : |
80 | +PRE_UNINSTALL = : |
81 | +POST_UNINSTALL = : |
82 | +build_triplet = @build@ |
83 | +host_triplet = @host@ |
84 | +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ |
85 | + $(top_srcdir)/build.rules.mk |
86 | +@ENABLE_DEBUG_TRUE@am__append_1 = -debug -d:DEBUG |
87 | +@HAVE_NUNIT_TRUE@am__append_2 = \ |
88 | +@HAVE_NUNIT_TRUE@ src/Do.Platform/Do.Platform.Linux/Do.Platform.Linux.JoliCloud/Tests/PackageManagerServiceTests.cs |
89 | + |
90 | +subdir = Do.Platform.Linux.JoliCloud |
91 | +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 |
92 | +am__aclocal_m4_deps = $(top_srcdir)/m4/shamrock/expansions.m4 \ |
93 | + $(top_srcdir)/m4/shamrock/i18n.m4 \ |
94 | + $(top_srcdir)/m4/shamrock/mono.m4 \ |
95 | + $(top_srcdir)/m4/shamrock/programs.m4 \ |
96 | + $(top_srcdir)/configure.ac |
97 | +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ |
98 | + $(ACLOCAL_M4) |
99 | +mkinstalldirs = $(install_sh) -d |
100 | +CONFIG_CLEAN_FILES = |
101 | +am__installdirs = "$(DESTDIR)$(moduledir)" "$(DESTDIR)$(moduledir)" \ |
102 | + "$(DESTDIR)$(pkgconfigdir)" |
103 | +moduleSCRIPT_INSTALL = $(INSTALL_SCRIPT) |
104 | +SCRIPTS = $(module_SCRIPTS) |
105 | +SOURCES = |
106 | +DIST_SOURCES = |
107 | +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; |
108 | +am__vpath_adj = case $$p in \ |
109 | + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ |
110 | + *) f=$$p;; \ |
111 | + esac; |
112 | +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; |
113 | +moduleDATA_INSTALL = $(INSTALL_DATA) |
114 | +pkgconfigDATA_INSTALL = $(INSTALL_DATA) |
115 | +DATA = $(module_DATA) $(pkgconfig_DATA) |
116 | +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) |
117 | +ABI_VERSION = @ABI_VERSION@ |
118 | +ACLOCAL = @ACLOCAL@ |
119 | +ALL_LINGUAS = @ALL_LINGUAS@ |
120 | +AMTAR = @AMTAR@ |
121 | +AR = @AR@ |
122 | +AUTOCONF = @AUTOCONF@ |
123 | +AUTOHEADER = @AUTOHEADER@ |
124 | +AUTOMAKE = @AUTOMAKE@ |
125 | +AWK = @AWK@ |
126 | +CATALOGS = @CATALOGS@ |
127 | +CATOBJEXT = @CATOBJEXT@ |
128 | +CC = @CC@ |
129 | +CCDEPMODE = @CCDEPMODE@ |
130 | +CFLAGS = @CFLAGS@ |
131 | +CONFIG_STATUS_DEPENDENCIES = @CONFIG_STATUS_DEPENDENCIES@ |
132 | +CPP = @CPP@ |
133 | +CPPFLAGS = @CPPFLAGS@ |
134 | +CYGPATH_W = @CYGPATH_W@ |
135 | +DATADIRNAME = @DATADIRNAME@ |
136 | +DEFS = @DEFS@ |
137 | +DEPDIR = @DEPDIR@ |
138 | +DSYMUTIL = @DSYMUTIL@ |
139 | +DUMPBIN = @DUMPBIN@ |
140 | +ECHO_C = @ECHO_C@ |
141 | +ECHO_N = @ECHO_N@ |
142 | +ECHO_T = @ECHO_T@ |
143 | +EGREP = @EGREP@ |
144 | +EXEEXT = @EXEEXT@ |
145 | +FGREP = @FGREP@ |
146 | +GCONFTOOL = @GCONFTOOL@ |
147 | +GCONF_SCHEMA_CONFIG_SOURCE = @GCONF_SCHEMA_CONFIG_SOURCE@ |
148 | +GCONF_SCHEMA_FILE_DIR = @GCONF_SCHEMA_FILE_DIR@ |
149 | +GCONF_SHARP_20_CFLAGS = @GCONF_SHARP_20_CFLAGS@ |
150 | +GCONF_SHARP_20_LIBS = @GCONF_SHARP_20_LIBS@ |
151 | +GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ |
152 | +GLADE_SHARP_20_CFLAGS = @GLADE_SHARP_20_CFLAGS@ |
153 | +GLADE_SHARP_20_LIBS = @GLADE_SHARP_20_LIBS@ |
154 | +GLIB_SHARP_20_CFLAGS = @GLIB_SHARP_20_CFLAGS@ |
155 | +GLIB_SHARP_20_LIBS = @GLIB_SHARP_20_LIBS@ |
156 | +GMOFILES = @GMOFILES@ |
157 | +GMSGFMT = @GMSGFMT@ |
158 | +GNOME_DESKTOP_SHARP_20_CFLAGS = @GNOME_DESKTOP_SHARP_20_CFLAGS@ |
159 | +GNOME_DESKTOP_SHARP_20_LIBS = @GNOME_DESKTOP_SHARP_20_LIBS@ |
160 | +GNOME_KEYRING_SHARP_CFLAGS = @GNOME_KEYRING_SHARP_CFLAGS@ |
161 | +GNOME_KEYRING_SHARP_LIBS = @GNOME_KEYRING_SHARP_LIBS@ |
162 | +GNOME_SHARP_20_CFLAGS = @GNOME_SHARP_20_CFLAGS@ |
163 | +GNOME_SHARP_20_LIBS = @GNOME_SHARP_20_LIBS@ |
164 | +GNOME_VFS_SHARP_20_CFLAGS = @GNOME_VFS_SHARP_20_CFLAGS@ |
165 | +GNOME_VFS_SHARP_20_LIBS = @GNOME_VFS_SHARP_20_LIBS@ |
166 | +GREP = @GREP@ |
167 | +GTK_SHARP_20_CFLAGS = @GTK_SHARP_20_CFLAGS@ |
168 | +GTK_SHARP_20_LIBS = @GTK_SHARP_20_LIBS@ |
169 | +INSTALL = @INSTALL@ |
170 | +INSTALL_DATA = @INSTALL_DATA@ |
171 | +INSTALL_PROGRAM = @INSTALL_PROGRAM@ |
172 | +INSTALL_SCRIPT = @INSTALL_SCRIPT@ |
173 | +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ |
174 | +INSTOBJEXT = @INSTOBJEXT@ |
175 | +INTLLIBS = @INTLLIBS@ |
176 | +INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ |
177 | +INTLTOOL_MERGE = @INTLTOOL_MERGE@ |
178 | +INTLTOOL_PERL = @INTLTOOL_PERL@ |
179 | +INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ |
180 | +LD = @LD@ |
181 | +LDFLAGS = @LDFLAGS@ |
182 | +LIBDO_CFLAGS = @LIBDO_CFLAGS@ |
183 | +LIBDO_LIBS = @LIBDO_LIBS@ |
184 | +LIBOBJS = @LIBOBJS@ |
185 | +LIBRSVG_SHARP_CFLAGS = @LIBRSVG_SHARP_CFLAGS@ |
186 | +LIBRSVG_SHARP_LIBS = @LIBRSVG_SHARP_LIBS@ |
187 | +LIBS = @LIBS@ |
188 | +LIBTOOL = @LIBTOOL@ |
189 | +LIPO = @LIPO@ |
190 | +LN_S = @LN_S@ |
191 | +LTLIBOBJS = @LTLIBOBJS@ |
192 | +MAKEINFO = @MAKEINFO@ |
193 | +MCS = @MCS@ |
194 | +MKDIR_P = @MKDIR_P@ |
195 | +MKINSTALLDIRS = @MKINSTALLDIRS@ |
196 | +MONO = @MONO@ |
197 | +MONO_ADDINS_CFLAGS = @MONO_ADDINS_CFLAGS@ |
198 | +MONO_ADDINS_GUI_CFLAGS = @MONO_ADDINS_GUI_CFLAGS@ |
199 | +MONO_ADDINS_GUI_LIBS = @MONO_ADDINS_GUI_LIBS@ |
200 | +MONO_ADDINS_LIBS = @MONO_ADDINS_LIBS@ |
201 | +MONO_ADDINS_SETUP_CFLAGS = @MONO_ADDINS_SETUP_CFLAGS@ |
202 | +MONO_ADDINS_SETUP_LIBS = @MONO_ADDINS_SETUP_LIBS@ |
203 | +MSGFMT = @MSGFMT@ |
204 | +MSGFMT_OPTS = @MSGFMT_OPTS@ |
205 | +MSGMERGE = @MSGMERGE@ |
206 | +NDESK_DBUS_10_CFLAGS = @NDESK_DBUS_10_CFLAGS@ |
207 | +NDESK_DBUS_10_LIBS = @NDESK_DBUS_10_LIBS@ |
208 | +NDESK_DBUS_GLIB_10_CFLAGS = @NDESK_DBUS_GLIB_10_CFLAGS@ |
209 | +NDESK_DBUS_GLIB_10_LIBS = @NDESK_DBUS_GLIB_10_LIBS@ |
210 | +NM = @NM@ |
211 | +NMEDIT = @NMEDIT@ |
212 | +NOTIFY_SHARP_CFLAGS = @NOTIFY_SHARP_CFLAGS@ |
213 | +NOTIFY_SHARP_LIBS = @NOTIFY_SHARP_LIBS@ |
214 | +NUNIT_CFLAGS = @NUNIT_CFLAGS@ |
215 | +NUNIT_LIBS = @NUNIT_LIBS@ |
216 | +OBJDUMP = @OBJDUMP@ |
217 | +OBJEXT = @OBJEXT@ |
218 | +OTOOL = @OTOOL@ |
219 | +OTOOL64 = @OTOOL64@ |
220 | +PACKAGE = @PACKAGE@ |
221 | +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ |
222 | +PACKAGE_NAME = @PACKAGE_NAME@ |
223 | +PACKAGE_STRING = @PACKAGE_STRING@ |
224 | +PACKAGE_TARNAME = @PACKAGE_TARNAME@ |
225 | +PACKAGE_VERSION = @PACKAGE_VERSION@ |
226 | +PATH_SEPARATOR = @PATH_SEPARATOR@ |
227 | +PKG_CONFIG = @PKG_CONFIG@ |
228 | +POFILES = @POFILES@ |
229 | +POSUB = @POSUB@ |
230 | +PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ |
231 | +PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ |
232 | +RANLIB = @RANLIB@ |
233 | +SED = @SED@ |
234 | +SET_MAKE = @SET_MAKE@ |
235 | +SHELL = @SHELL@ |
236 | +STRIP = @STRIP@ |
237 | +USE_NLS = @USE_NLS@ |
238 | +VERSION = @VERSION@ |
239 | +VERSION_INFO = @VERSION_INFO@ |
240 | +WNCK_SHARP_10_CFLAGS = @WNCK_SHARP_10_CFLAGS@ |
241 | +WNCK_SHARP_10_LIBS = @WNCK_SHARP_10_LIBS@ |
242 | +XGETTEXT = @XGETTEXT@ |
243 | +abs_builddir = @abs_builddir@ |
244 | +abs_srcdir = @abs_srcdir@ |
245 | +abs_top_builddir = @abs_top_builddir@ |
246 | +abs_top_srcdir = @abs_top_srcdir@ |
247 | +ac_ct_CC = @ac_ct_CC@ |
248 | +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ |
249 | +am__include = @am__include@ |
250 | +am__leading_dot = @am__leading_dot@ |
251 | +am__quote = @am__quote@ |
252 | +am__tar = @am__tar@ |
253 | +am__untar = @am__untar@ |
254 | +bindir = @bindir@ |
255 | +build = @build@ |
256 | +build_alias = @build_alias@ |
257 | +build_cpu = @build_cpu@ |
258 | +build_os = @build_os@ |
259 | +build_vendor = @build_vendor@ |
260 | +builddir = @builddir@ |
261 | +datadir = @datadir@ |
262 | +datarootdir = @datarootdir@ |
263 | +docdir = @docdir@ |
264 | +dvidir = @dvidir@ |
265 | +exec_prefix = @exec_prefix@ |
266 | +expanded_bindir = @expanded_bindir@ |
267 | +expanded_datadir = @expanded_datadir@ |
268 | +expanded_libdir = @expanded_libdir@ |
269 | +host = @host@ |
270 | +host_alias = @host_alias@ |
271 | +host_cpu = @host_cpu@ |
272 | +host_os = @host_os@ |
273 | +host_vendor = @host_vendor@ |
274 | +htmldir = @htmldir@ |
275 | +includedir = @includedir@ |
276 | +infodir = @infodir@ |
277 | +install_sh = @install_sh@ |
278 | +libdir = @libdir@ |
279 | +libexecdir = @libexecdir@ |
280 | +localedir = @localedir@ |
281 | +localstatedir = @localstatedir@ |
282 | +lt_ECHO = @lt_ECHO@ |
283 | +mandir = @mandir@ |
284 | +mkdir_p = @mkdir_p@ |
285 | +oldincludedir = @oldincludedir@ |
286 | +pdfdir = @pdfdir@ |
287 | +prefix = @prefix@ |
288 | +program_transform_name = @program_transform_name@ |
289 | +psdir = @psdir@ |
290 | +sbindir = @sbindir@ |
291 | +sharedstatedir = @sharedstatedir@ |
292 | +srcdir = @srcdir@ |
293 | +sysconfdir = @sysconfdir@ |
294 | +target_alias = @target_alias@ |
295 | +top_build_prefix = @top_build_prefix@ |
296 | +top_builddir = @top_builddir@ |
297 | +top_srcdir = @top_srcdir@ |
298 | +SOURCES_BUILD = $(addprefix $(srcdir)/, $(FILES)) |
299 | +RESOURCES_EXPANDED = $(addprefix $(srcdir)/, $(RESOURCES)) |
300 | +RESOURCES_BUILD = $(foreach resource, $(RESOURCES_EXPANDED), \ |
301 | + -resource:$(resource),$(notdir $(resource))) |
302 | + |
303 | +BUILD_DIR = $(top_builddir)/build |
304 | +ASSEMBLY_EXTENSION = $(strip $(patsubst library, dll, $(TARGET))) |
305 | +ASSEMBLY_FILE = $(BUILD_DIR)/$(ASSEMBLY).$(ASSEMBLY_EXTENSION) |
306 | +STD_REFERENCES = $(foreach ref,$(filter-out -r:%,$(REFERENCES)),-r:$(ref)) |
307 | +BUILD_REFERENCES = $(filter -r:%,$(REFERENCES) $(STD_REFERENCES)) |
308 | +COMPONENT_REFERENCES = $(foreach ref, $(PROJECT_REFERENCES),-r:$(BUILD_DIR)/$(ref).dll) |
309 | +COMPONENT_DEPS = $(foreach ref,$(PROJECT_REFERENCES),$(BUILD_DIR)/$(ref).dll) |
310 | +OUTPUT_FILES = \ |
311 | + $(ASSEMBLY_FILE) \ |
312 | + $(ASSEMBLY_FILE).mdb |
313 | + |
314 | +moduledir = $(pkglibdir) |
315 | +# Install libraries as data; there's no need for them to be excutable |
316 | +module_DATA = $(foreach file,$(filter %.dll,$(OUTPUT_FILES)),$(file) $(file).mdb) $(foreach file,$(filter %.exe,$(OUTPUT_FILES)),$(file).mdb) |
317 | +# Install executables as scripts |
318 | +module_SCRIPTS = $(filter %.exe,$(OUTPUT_FILES)) |
319 | +MCS_FLAGS = $(MCS_LINQ_FLAG) -noconfig -codepage:utf8 -warn:4 \ |
320 | + $(am__append_1) |
321 | + |
322 | +# |
323 | +# pkg-config handling |
324 | +# |
325 | +pkgconfigdir = $(libdir)/pkgconfig |
326 | +pkgconfig_DATA = $(PKG_CONFIG_FILES) |
327 | + |
328 | +# |
329 | +# Clean and dist targets |
330 | +# |
331 | +EXTRA_DIST = $(SOURCES_BUILD) $(RESOURCES_EXPANDED) $(THEME_ICONS_SOURCE) \ |
332 | + $(foreach pkgcfg_file, $(PKG_CONFIG_FILES), $(pkgcfg_file).in) |
333 | + |
334 | +CLEANFILES = $(OUTPUT_FILES) $(pkgconfig_DATA) |
335 | +DISTCLEANFILES = *.pidb |
336 | +MAINTAINERCLEANFILES = Makefile.in |
337 | + |
338 | +# Simple component buildsystem |
339 | +ASSEMBLY = Do.Platform.Linux.JoliCloud |
340 | +TARGET = library |
341 | +FILES = src/Do.Platform/Do.Platform.Linux/Do.Platform.Linux.JoliCloud/PackageManagerService.cs \ |
342 | + $(am__append_2) |
343 | +RESOURCES = \ |
344 | + Resources/Do.Platform.Linux.JoliCloud.addin.xml |
345 | + |
346 | +PKG_CONFIG_FILES = do.platform.linux.jolicloud.pc |
347 | +REFERENCES = \ |
348 | + System \ |
349 | + System.Core \ |
350 | + Mono.Posix \ |
351 | + $(MONO_ADDINS_LIBS) \ |
352 | + $(NDESK_DBUS_10_LIBS) \ |
353 | + $(NUNIT_LIBS) |
354 | + |
355 | +PROJECT_REFERENCES = \ |
356 | + Do.Platform \ |
357 | + Do.Platform.Linux |
358 | + |
359 | +all: all-am |
360 | + |
361 | +.SUFFIXES: |
362 | +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/build.rules.mk $(am__configure_deps) |
363 | + @for dep in $?; do \ |
364 | + case '$(am__configure_deps)' in \ |
365 | + *$$dep*) \ |
366 | + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ |
367 | + && { if test -f $@; then exit 0; else break; fi; }; \ |
368 | + exit 1;; \ |
369 | + esac; \ |
370 | + done; \ |
371 | + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Do.Platform.Linux.JoliCloud/Makefile'; \ |
372 | + cd $(top_srcdir) && \ |
373 | + $(AUTOMAKE) --foreign Do.Platform.Linux.JoliCloud/Makefile |
374 | +.PRECIOUS: Makefile |
375 | +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status |
376 | + @case '$?' in \ |
377 | + *config.status*) \ |
378 | + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ |
379 | + *) \ |
380 | + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ |
381 | + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ |
382 | + esac; |
383 | + |
384 | +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) |
385 | + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh |
386 | + |
387 | +$(top_srcdir)/configure: $(am__configure_deps) |
388 | + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh |
389 | +$(ACLOCAL_M4): $(am__aclocal_m4_deps) |
390 | + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh |
391 | +install-moduleSCRIPTS: $(module_SCRIPTS) |
392 | + @$(NORMAL_INSTALL) |
393 | + test -z "$(moduledir)" || $(MKDIR_P) "$(DESTDIR)$(moduledir)" |
394 | + @list='$(module_SCRIPTS)'; for p in $$list; do \ |
395 | + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ |
396 | + if test -f $$d$$p; then \ |
397 | + f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \ |
398 | + echo " $(moduleSCRIPT_INSTALL) '$$d$$p' '$(DESTDIR)$(moduledir)/$$f'"; \ |
399 | + $(moduleSCRIPT_INSTALL) "$$d$$p" "$(DESTDIR)$(moduledir)/$$f"; \ |
400 | + else :; fi; \ |
401 | + done |
402 | + |
403 | +uninstall-moduleSCRIPTS: |
404 | + @$(NORMAL_UNINSTALL) |
405 | + @list='$(module_SCRIPTS)'; for p in $$list; do \ |
406 | + f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \ |
407 | + echo " rm -f '$(DESTDIR)$(moduledir)/$$f'"; \ |
408 | + rm -f "$(DESTDIR)$(moduledir)/$$f"; \ |
409 | + done |
410 | + |
411 | +mostlyclean-libtool: |
412 | + -rm -f *.lo |
413 | + |
414 | +clean-libtool: |
415 | + -rm -rf .libs _libs |
416 | +install-moduleDATA: $(module_DATA) |
417 | + @$(NORMAL_INSTALL) |
418 | + test -z "$(moduledir)" || $(MKDIR_P) "$(DESTDIR)$(moduledir)" |
419 | + @list='$(module_DATA)'; for p in $$list; do \ |
420 | + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ |
421 | + f=$(am__strip_dir) \ |
422 | + echo " $(moduleDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(moduledir)/$$f'"; \ |
423 | + $(moduleDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(moduledir)/$$f"; \ |
424 | + done |
425 | + |
426 | +uninstall-moduleDATA: |
427 | + @$(NORMAL_UNINSTALL) |
428 | + @list='$(module_DATA)'; for p in $$list; do \ |
429 | + f=$(am__strip_dir) \ |
430 | + echo " rm -f '$(DESTDIR)$(moduledir)/$$f'"; \ |
431 | + rm -f "$(DESTDIR)$(moduledir)/$$f"; \ |
432 | + done |
433 | +install-pkgconfigDATA: $(pkgconfig_DATA) |
434 | + @$(NORMAL_INSTALL) |
435 | + test -z "$(pkgconfigdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)" |
436 | + @list='$(pkgconfig_DATA)'; for p in $$list; do \ |
437 | + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ |
438 | + f=$(am__strip_dir) \ |
439 | + echo " $(pkgconfigDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgconfigdir)/$$f'"; \ |
440 | + $(pkgconfigDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgconfigdir)/$$f"; \ |
441 | + done |
442 | + |
443 | +uninstall-pkgconfigDATA: |
444 | + @$(NORMAL_UNINSTALL) |
445 | + @list='$(pkgconfig_DATA)'; for p in $$list; do \ |
446 | + f=$(am__strip_dir) \ |
447 | + echo " rm -f '$(DESTDIR)$(pkgconfigdir)/$$f'"; \ |
448 | + rm -f "$(DESTDIR)$(pkgconfigdir)/$$f"; \ |
449 | + done |
450 | +tags: TAGS |
451 | +TAGS: |
452 | + |
453 | +ctags: CTAGS |
454 | +CTAGS: |
455 | + |
456 | + |
457 | +distdir: $(DISTFILES) |
458 | + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ |
459 | + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ |
460 | + list='$(DISTFILES)'; \ |
461 | + dist_files=`for file in $$list; do echo $$file; done | \ |
462 | + sed -e "s|^$$srcdirstrip/||;t" \ |
463 | + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ |
464 | + case $$dist_files in \ |
465 | + */*) $(MKDIR_P) `echo "$$dist_files" | \ |
466 | + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ |
467 | + sort -u` ;; \ |
468 | + esac; \ |
469 | + for file in $$dist_files; do \ |
470 | + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ |
471 | + if test -d $$d/$$file; then \ |
472 | + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ |
473 | + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ |
474 | + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ |
475 | + fi; \ |
476 | + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ |
477 | + else \ |
478 | + test -f $(distdir)/$$file \ |
479 | + || cp -p $$d/$$file $(distdir)/$$file \ |
480 | + || exit 1; \ |
481 | + fi; \ |
482 | + done |
483 | +check-am: all-am |
484 | +check: check-am |
485 | +all-am: Makefile $(SCRIPTS) $(DATA) |
486 | +installdirs: |
487 | + for dir in "$(DESTDIR)$(moduledir)" "$(DESTDIR)$(moduledir)" "$(DESTDIR)$(pkgconfigdir)"; do \ |
488 | + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ |
489 | + done |
490 | +install: install-am |
491 | +install-exec: install-exec-am |
492 | +install-data: install-data-am |
493 | +uninstall: uninstall-am |
494 | + |
495 | +install-am: all-am |
496 | + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am |
497 | + |
498 | +installcheck: installcheck-am |
499 | +install-strip: |
500 | + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ |
501 | + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ |
502 | + `test -z '$(STRIP)' || \ |
503 | + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install |
504 | +mostlyclean-generic: |
505 | + |
506 | +clean-generic: |
507 | + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) |
508 | + |
509 | +distclean-generic: |
510 | + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) |
511 | + -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) |
512 | + |
513 | +maintainer-clean-generic: |
514 | + @echo "This command is intended for maintainers to use" |
515 | + @echo "it deletes files that may require special tools to rebuild." |
516 | + -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) |
517 | +clean: clean-am |
518 | + |
519 | +clean-am: clean-generic clean-libtool mostlyclean-am |
520 | + |
521 | +distclean: distclean-am |
522 | + -rm -f Makefile |
523 | +distclean-am: clean-am distclean-generic |
524 | + |
525 | +dvi: dvi-am |
526 | + |
527 | +dvi-am: |
528 | + |
529 | +html: html-am |
530 | + |
531 | +info: info-am |
532 | + |
533 | +info-am: |
534 | + |
535 | +install-data-am: install-moduleDATA install-moduleSCRIPTS \ |
536 | + install-pkgconfigDATA |
537 | + |
538 | +install-dvi: install-dvi-am |
539 | + |
540 | +install-exec-am: |
541 | + |
542 | +install-html: install-html-am |
543 | + |
544 | +install-info: install-info-am |
545 | + |
546 | +install-man: |
547 | + |
548 | +install-pdf: install-pdf-am |
549 | + |
550 | +install-ps: install-ps-am |
551 | + |
552 | +installcheck-am: |
553 | + |
554 | +maintainer-clean: maintainer-clean-am |
555 | + -rm -f Makefile |
556 | +maintainer-clean-am: distclean-am maintainer-clean-generic |
557 | + |
558 | +mostlyclean: mostlyclean-am |
559 | + |
560 | +mostlyclean-am: mostlyclean-generic mostlyclean-libtool |
561 | + |
562 | +pdf: pdf-am |
563 | + |
564 | +pdf-am: |
565 | + |
566 | +ps: ps-am |
567 | + |
568 | +ps-am: |
569 | + |
570 | +uninstall-am: uninstall-moduleDATA uninstall-moduleSCRIPTS \ |
571 | + uninstall-pkgconfigDATA |
572 | + |
573 | +.MAKE: install-am install-strip |
574 | + |
575 | +.PHONY: all all-am check check-am clean clean-generic clean-libtool \ |
576 | + distclean distclean-generic distclean-libtool distdir dvi \ |
577 | + dvi-am html html-am info info-am install install-am \ |
578 | + install-data install-data-am install-dvi install-dvi-am \ |
579 | + install-exec install-exec-am install-html install-html-am \ |
580 | + install-info install-info-am install-man install-moduleDATA \ |
581 | + install-moduleSCRIPTS install-pdf install-pdf-am \ |
582 | + install-pkgconfigDATA install-ps install-ps-am install-strip \ |
583 | + installcheck installcheck-am installdirs maintainer-clean \ |
584 | + maintainer-clean-generic mostlyclean mostlyclean-generic \ |
585 | + mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \ |
586 | + uninstall-moduleDATA uninstall-moduleSCRIPTS \ |
587 | + uninstall-pkgconfigDATA |
588 | + |
589 | + |
590 | +all: $(ASSEMBLY_FILE) |
591 | + |
592 | +$(ASSEMBLY_FILE).mdb: $(ASSEMBLY_FILE) |
593 | + |
594 | +build-debug : |
595 | + @echo $(COMPONENT_REFERENCES) |
596 | + |
597 | +$(ASSEMBLY_FILE): $(SOURCES_BUILD) $(RESOURCES_EXPANDED) $(COMPONENT_DEPS) |
598 | + @mkdir -p $(BUILD_DIR) |
599 | + @colors=no; \ |
600 | + case $$TERM in \ |
601 | + "xterm" | "rxvt" | "rxvt-unicode") \ |
602 | + test "x$$COLORTERM" != "x" && colors=yes ;; \ |
603 | + "xterm-color") colors=yes ;; \ |
604 | + esac; \ |
605 | + if [ "x$$colors" = "xyes" ]; then \ |
606 | + tty -s && true || { colors=no; true; } \ |
607 | + fi; \ |
608 | + test "x$$colors" = "xyes" && \ |
609 | + echo -e "\033[1mCompiling $(notdir $@)...\033[0m" || \ |
610 | + echo "Compiling $(notdir $@)..."; |
611 | + @$(MCS) $(MCS_FLAGS) -target:$(TARGET) -out:$@ $(BUILD_DEFINES) $(BUILD_REFERENCES) $(COMPONENT_REFERENCES) $(RESOURCES_BUILD) $(SOURCES_BUILD) |
612 | + @if [ -e $(srcdir)/$(notdir $@.config) ]; then \ |
613 | + cp $(srcdir)/$(notdir $@.config) $(BUILD_DIR) ; \ |
614 | + fi; |
615 | + |
616 | +%.pc : %.pc.in |
617 | + @colors=no; \ |
618 | + case $$TERM in \ |
619 | + "xterm" | "rxvt" | "rxvt-unicode") \ |
620 | + test "x$$COLORTERM" != "x" && colors=yes ;; \ |
621 | + "xterm-color") colors=yes ;; \ |
622 | + esac; \ |
623 | + if [ "x$$colors" = "xyes" ]; then \ |
624 | + tty -s && true || { colors=no; true; } \ |
625 | + fi; \ |
626 | + test "x$$colors" = "xyes" && \ |
627 | + echo -e "\033[1mGenerating $(notdir $@)...\033[0m" || \ |
628 | + echo "Generating $(notdir $@)..."; |
629 | + @sed "s,\@ABI_VERSION\@,$(ABI_VERSION),g; s,\@expanded_libdir\@,$(expanded_libdir),g; s,\@PACKAGE\@,$(PACKAGE),g" < $< > $@ |
630 | +# Tell versions [3.59,3.63) of GNU make to not export all variables. |
631 | +# Otherwise a system limit (for SysV at least) may be exceeded. |
632 | +.NOEXPORT: |
633 | |
634 | === added directory 'Do.Platform.Linux.JoliCloud/Resources' |
635 | === added file 'Do.Platform.Linux.JoliCloud/Resources/Do.Platform.Linux.JoliCloud.addin.xml' |
636 | --- Do.Platform.Linux.JoliCloud/Resources/Do.Platform.Linux.JoliCloud.addin.xml 1970-01-01 00:00:00 +0000 |
637 | +++ Do.Platform.Linux.JoliCloud/Resources/Do.Platform.Linux.JoliCloud.addin.xml 2009-06-22 15:51:57 +0000 |
638 | @@ -0,0 +1,16 @@ |
639 | +<Addin id="Platform.Linux.JoliCloud" namespace="Do" version="1.0" category="Hidden"> |
640 | + |
641 | + <Runtime> |
642 | + <Import assembly="Do.Platform.Linux.JoliCloud.dll" /> |
643 | + </Runtime> |
644 | + |
645 | + <Dependencies> |
646 | + <Addin id="Platform" version="1.0" /> |
647 | + <Addin id="Universe" version="1.0" /> |
648 | + </Dependencies> |
649 | + |
650 | + <Extension path="/Do/Service"> |
651 | + <Service type="Do.Platform.Linux.JoliCloud.PackageManagerService" /> |
652 | + </Extension> |
653 | + |
654 | +</Addin> |
655 | |
656 | === added file 'Do.Platform.Linux.JoliCloud/do.platform.linux.jolicloud.pc.in' |
657 | --- Do.Platform.Linux.JoliCloud/do.platform.linux.jolicloud.pc.in 1970-01-01 00:00:00 +0000 |
658 | +++ Do.Platform.Linux.JoliCloud/do.platform.linux.jolicloud.pc.in 2009-06-22 15:51:57 +0000 |
659 | @@ -0,0 +1,6 @@ |
660 | +Name: Do.Platform.Linux.JoliCloud |
661 | +Description: JoliCloud-specific functionality |
662 | +Version: @ABI_VERSION@ |
663 | + |
664 | +Requires: do.platform |
665 | +Libs: -r:@expanded_libdir@/@PACKAGE@/Do.Platform.Linux.JoliCloud.dll |
666 | |
667 | === added directory 'Do.Platform.Linux.JoliCloud/src' |
668 | === added file 'Do.Platform.Linux.JoliCloud/src/AssemblyInfo.cs.in' |
669 | --- Do.Platform.Linux.JoliCloud/src/AssemblyInfo.cs.in 1970-01-01 00:00:00 +0000 |
670 | +++ Do.Platform.Linux.JoliCloud/src/AssemblyInfo.cs.in 2009-06-24 14:55:58 +0000 |
671 | @@ -0,0 +1,45 @@ |
672 | +// AssemblyInfo.cs |
673 | +// |
674 | +// GNOME Do is the legal property of its developers. Please refer to the |
675 | +// COPYRIGHT file distributed with this source distribution. |
676 | +// |
677 | +// This program is free software: you can redistribute it and/or modify |
678 | +// it under the terms of the GNU General Public License as published by |
679 | +// the Free Software Foundation, either version 3 of the License, or |
680 | +// (at your option) any later version. |
681 | +// |
682 | +// This program is distributed in the hope that it will be useful, |
683 | +// but WITHOUT ANY WARRANTY; without even the implied warranty of |
684 | +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
685 | +// GNU General Public License for more details. |
686 | +// |
687 | +// You should have received a copy of the GNU General Public License |
688 | +// along with this program. If not, see <http://www.gnu.org/licenses/>. |
689 | +// |
690 | + |
691 | +using System.Reflection; |
692 | +using System.Runtime.CompilerServices; |
693 | + |
694 | +// Information about this assembly is defined by the following attributes. |
695 | +// Change them to the values specific to your project. |
696 | + |
697 | +[assembly: AssemblyTitle("Do.Platform.Linux.JoliCloud")] |
698 | +[assembly: AssemblyDescription("")] |
699 | +[assembly: AssemblyConfiguration("")] |
700 | +[assembly: AssemblyCompany("")] |
701 | +[assembly: AssemblyProduct("")] |
702 | +[assembly: AssemblyCopyright("")] |
703 | +[assembly: AssemblyTrademark("")] |
704 | +[assembly: AssemblyCulture("")] |
705 | + |
706 | +// The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}". |
707 | +// The form "{Major}.{Minor}.*" will automatically update the build and revision, |
708 | +// and "{Major}.{Minor}.{Build}.*" will update just the revision. |
709 | + |
710 | +[assembly: AssemblyVersion("@ABI_VERSION@.0.0")] |
711 | + |
712 | +// The following attributes are used to specify the signing key for the assembly, |
713 | +// if desired. See the Mono documentation for more information about signing. |
714 | + |
715 | +[assembly: AssemblyDelaySign(false)] |
716 | +[assembly: AssemblyKeyFile("")] |
717 | |
718 | === added directory 'Do.Platform.Linux.JoliCloud/src/Do.Platform' |
719 | === added directory 'Do.Platform.Linux.JoliCloud/src/Do.Platform/Do.Platform.Linux' |
720 | === added directory 'Do.Platform.Linux.JoliCloud/src/Do.Platform/Do.Platform.Linux/Do.Platform.Linux.JoliCloud' |
721 | === added file 'Do.Platform.Linux.JoliCloud/src/Do.Platform/Do.Platform.Linux/Do.Platform.Linux.JoliCloud/PackageManagerService.cs' |
722 | --- Do.Platform.Linux.JoliCloud/src/Do.Platform/Do.Platform.Linux/Do.Platform.Linux.JoliCloud/PackageManagerService.cs 1970-01-01 00:00:00 +0000 |
723 | +++ Do.Platform.Linux.JoliCloud/src/Do.Platform/Do.Platform.Linux/Do.Platform.Linux.JoliCloud/PackageManagerService.cs 2009-06-24 10:37:14 +0000 |
724 | @@ -0,0 +1,164 @@ |
725 | +// PackageManagerService.cs |
726 | +// |
727 | +// GNOME Do is the legal property of its developers. Please refer to the |
728 | +// COPYRIGHT file distributed with this source distribution. |
729 | +// |
730 | +// This program is free software: you can redistribute it and/or modify |
731 | +// it under the terms of the GNU General Public License as published by |
732 | +// the Free Software Foundation, either version 3 of the License, or |
733 | +// (at your option) any later version. |
734 | +// |
735 | +// This program is distributed in the hope that it will be useful, |
736 | +// but WITHOUT ANY WARRANTY; without even the implied warranty of |
737 | +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
738 | +// GNU General Public License for more details. |
739 | +// |
740 | +// You should have received a copy of the GNU General Public License |
741 | +// along with this program. If not, see <http://www.gnu.org/licenses/>. |
742 | + |
743 | +using System; |
744 | +using System.Threading; |
745 | + |
746 | +using NDesk.DBus; |
747 | +using org.freedesktop.DBus; |
748 | + |
749 | +using Mono.Addins; |
750 | + |
751 | +using Do.Platform; |
752 | +using Do.Platform.Linux; |
753 | +using Do.Platform.ServiceStack; |
754 | + |
755 | +namespace Do.Platform.Linux.JoliCloud |
756 | +{ |
757 | + |
758 | + [Interface ("org.jolicloud.JolicloudDaemon")] |
759 | + interface IJolicloudDaemon |
760 | + { |
761 | + event ActionProcessedEventHandler ActionProcessed; |
762 | + } |
763 | + |
764 | + delegate void ActionProcessedEventHandler (string action, string [] packages, bool success, string error); |
765 | + |
766 | + /// <summary> |
767 | + /// Listens to the JoliCloud daemon for package install events, and offers to install an appropriate |
768 | + /// plugin if one is found. |
769 | + /// </summary> |
770 | + public class PackageManagerService : AbstractPackageManagerService, IStrictService |
771 | + { |
772 | + const string ObjectPath = "/SoftwareManager"; |
773 | + const string BusName = "org.jolicloud.JolicloudDaemon"; |
774 | + |
775 | + IBus session_bus; |
776 | + IJolicloudDaemon daemon; |
777 | + |
778 | + /// <summary> |
779 | + /// Find jolicloud on the bus |
780 | + /// </summary> |
781 | + public override void Initialize () |
782 | + { |
783 | + session_bus = Bus.Session.GetObject<IBus> ("org.freedeskop.DBus", new ObjectPath ("/org/freedesktop/DBus")); |
784 | + session_bus.NameOwnerChanged += HandleNameOwnerChanged; |
785 | + |
786 | + // this call will instaniate the daemon, as well as make sure we also got a DBus object |
787 | + if (Daemon == null) |
788 | + Log<PackageManagerService>.Debug ("Failed to locate JoliCloud daemon on DBus."); |
789 | + |
790 | + base.Initialize (); |
791 | + } |
792 | + |
793 | + IJolicloudDaemon Daemon { |
794 | + get { |
795 | + if (daemon == null) { |
796 | + daemon = GetIJoliCloudDaemonObject (ObjectPath); |
797 | + daemon.ActionProcessed += HandleActionProcessed; |
798 | + Log<PackageManagerService>.Debug ("Aquired instance of JolicloudDaemon"); |
799 | + } |
800 | + return daemon; |
801 | + } |
802 | + } |
803 | + |
804 | + /// <summary> |
805 | + /// When a package manager action is performed we receive a signal, this method processes the signal |
806 | + /// and decides how to act. |
807 | + /// </summary> |
808 | + /// <param name="action"> |
809 | + /// A <see cref="System.String"/> the action performed by the package manager |
810 | + /// </param> |
811 | + /// <param name="packages"> |
812 | + /// A <see cref="System.String"/> the packages touched by the action |
813 | + /// </param> |
814 | + /// <param name="success"> |
815 | + /// A <see cref="System.Boolean"/> did the action succeed |
816 | + /// </param> |
817 | + /// <param name="error"> |
818 | + /// A <see cref="System.String"/> errors |
819 | + /// </param> |
820 | + void HandleActionProcessed (string action, string[] packages, bool success, string error) |
821 | + { |
822 | + Addin addin; |
823 | + string cleanName; |
824 | + |
825 | + if (action != "install" || packages.Length < 1 || DontShowPluginAvailableDialog) |
826 | + return; |
827 | + |
828 | + cleanName = HumanNameFromPackageName (packages [0]); |
829 | + if ((addin = MaybePluginForPackage (cleanName)) == null && !addin.Enabled) |
830 | + return; |
831 | + |
832 | + new PluginAvailableDialog (cleanName, addin); |
833 | + } |
834 | + |
835 | + /// <summary> |
836 | + /// Attempts to clean up a package name into something a little bit more friendly. |
837 | + /// </summary> |
838 | + /// <param name="package"> |
839 | + /// A <see cref="System.String"/> |
840 | + /// </param> |
841 | + /// <returns> |
842 | + /// A <see cref="System.String"/> |
843 | + /// </returns> |
844 | + string HumanNameFromPackageName (string package) |
845 | + { |
846 | + if (package.Contains ("prism-webapp")) |
847 | + package = package.Substring ("prism-webapp".Length + 1); |
848 | + |
849 | + package.Replace ('-', ' '); |
850 | + |
851 | + return package.ToLower (); |
852 | + } |
853 | + |
854 | +#region DBus handling |
855 | + void HandleNameOwnerChanged (string name, string old_owner, string new_owner) |
856 | + { |
857 | + // if the jolicloud daemon gets released, we should drop our object |
858 | + if (Daemon != null && name == BusName) { |
859 | + Daemon.ActionProcessed -= HandleActionProcessed; |
860 | + daemon = null; |
861 | + } |
862 | + } |
863 | + |
864 | + IJolicloudDaemon GetIJoliCloudDaemonObject (string objectPath) |
865 | + { |
866 | + MaybeStartDaemon (); |
867 | + return Bus.Session.GetObject<IJolicloudDaemon> (BusName, new ObjectPath (objectPath)); |
868 | + } |
869 | + |
870 | + bool DaemonIsRunning { |
871 | + get { return Bus.Session.NameHasOwner (BusName); } |
872 | + } |
873 | + |
874 | + void MaybeStartDaemon () |
875 | + { |
876 | + if (DaemonIsRunning) |
877 | + return; |
878 | + |
879 | + Bus.Session.StartServiceByName (BusName); |
880 | + Thread.Sleep (5000); |
881 | + |
882 | + if (!DaemonIsRunning) |
883 | + throw new Exception (string.Format("Name {0} has no owner.", BusName)); |
884 | + } |
885 | +#endregion |
886 | + } |
887 | +} |
888 | + |
889 | \ No newline at end of file |
890 | |
891 | === added directory 'Do.Platform.Linux.JoliCloud/src/Do.Platform/Do.Platform.Linux/Do.Platform.Linux.JoliCloud/Tests' |
892 | === added file 'Do.Platform.Linux.JoliCloud/src/Do.Platform/Do.Platform.Linux/Do.Platform.Linux.JoliCloud/Tests/PackageManagerServiceTests.cs' |
893 | --- Do.Platform.Linux.JoliCloud/src/Do.Platform/Do.Platform.Linux/Do.Platform.Linux.JoliCloud/Tests/PackageManagerServiceTests.cs 1970-01-01 00:00:00 +0000 |
894 | +++ Do.Platform.Linux.JoliCloud/src/Do.Platform/Do.Platform.Linux/Do.Platform.Linux.JoliCloud/Tests/PackageManagerServiceTests.cs 2009-06-22 15:51:57 +0000 |
895 | @@ -0,0 +1,32 @@ |
896 | +// %filename |
897 | +// |
898 | +// GNOME Do is the legal property of its developers. Please refer to the |
899 | +// COPYRIGHT file distributed with this source distribution. |
900 | +// |
901 | +// This program is free software: you can redistribute it and/or modify |
902 | +// it under the terms of the GNU General Public License as published by |
903 | +// the Free Software Foundation, either version 3 of the License, or |
904 | +// (at your option) any later version. |
905 | +// |
906 | +// This program is distributed in the hope that it will be useful, |
907 | +// but WITHOUT ANY WARRANTY; without even the implied warranty of |
908 | +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
909 | +// GNU General Public License for more details. |
910 | +// |
911 | +// You should have received a copy of the GNU General Public License |
912 | +// along with this program. If not, see <http://www.gnu.org/licenses/>. |
913 | + |
914 | +using System; |
915 | + |
916 | +namespace Do.Platform.Linux.JoliCloud |
917 | +{ |
918 | + |
919 | + |
920 | + public class PackageManagerServiceTests |
921 | + { |
922 | + |
923 | + public PackageManagerServiceTests() |
924 | + { |
925 | + } |
926 | + } |
927 | +} |
928 | |
929 | === modified file 'Do.Platform.Linux/Do.Platform.Linux.mdp' |
930 | --- Do.Platform.Linux/Do.Platform.Linux.mdp 2009-06-19 07:41:21 +0000 |
931 | +++ Do.Platform.Linux/Do.Platform.Linux.mdp 2009-06-23 16:27:37 +0000 |
932 | @@ -51,6 +51,8 @@ |
933 | <File name="src/Do.Universe/NullApplicationItem.cs" subtype="Code" buildaction="Compile" /> |
934 | <File name="src/Do.Universe/CategoryItem.cs" subtype="Code" buildaction="Compile" /> |
935 | <File name="src/Do.Platform/Do.Platform.Linux/NetworkService.cs" subtype="Code" buildaction="Compile" /> |
936 | + <File name="src/Do.Widgets/PluginAvailableDialog.cs" subtype="Code" buildaction="Compile" /> |
937 | + <File name="gtk-gui/Do.Platform.Linux.PluginAvailableDialog.cs" subtype="Code" buildaction="Compile" /> |
938 | </Contents> |
939 | <References> |
940 | <ProjectReference type="Gac" localcopy="True" refto="System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> |
941 | @@ -71,5 +73,6 @@ |
942 | <ProjectReference type="Gac" localcopy="True" refto="gnome-vfs-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" /> |
943 | <ProjectReference type="Gac" localcopy="True" refto="gnome-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" /> |
944 | <ProjectReference type="Gac" localcopy="True" refto="nunit.framework, Version=2.2.0.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77" /> |
945 | + <ProjectReference type="Gac" localcopy="True" refto="Mono.Addins, Version=0.4.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756" /> |
946 | </References> |
947 | </Project> |
948 | \ No newline at end of file |
949 | |
950 | === modified file 'Do.Platform.Linux/Makefile.am' |
951 | --- Do.Platform.Linux/Makefile.am 2009-06-10 05:30:30 +0000 |
952 | +++ Do.Platform.Linux/Makefile.am 2009-06-23 16:49:14 +0000 |
953 | @@ -6,6 +6,7 @@ |
954 | |
955 | FILES = \ |
956 | gtk-gui/Do.Platform.Linux.AbstractLoginWidget.cs \ |
957 | + gtk-gui/Do.Platform.Linux.PluginAvailableDialog.cs \ |
958 | gtk-gui/generated.cs \ |
959 | src/AssemblyInfo.cs \ |
960 | src/Do.Platform/ConsoleCrayon.cs \ |
961 | @@ -29,7 +30,8 @@ |
962 | src/Do.Universe/ApplicationItemSource.cs \ |
963 | src/Do.Universe/CopyToClipboardAction.cs \ |
964 | src/Do.Universe/GNOMESpecialLocationsItemSource.cs \ |
965 | - src/Do.Widgets/AbstractLoginWidget.cs |
966 | + src/Do.Widgets/AbstractLoginWidget.cs \ |
967 | + src/Do.Widgets/PluginAvailableDialog.cs |
968 | |
969 | if HAVE_NUNIT |
970 | FILES += \ |
971 | @@ -47,15 +49,16 @@ |
972 | System \ |
973 | System.Core \ |
974 | Mono.Posix \ |
975 | - $(NUNIT_LIBS) \ |
976 | $(GTK_SHARP_20_LIBS) \ |
977 | $(GNOME_KEYRING_SHARP_LIBS) \ |
978 | $(GNOME_SHARP_20_LIBS) \ |
979 | $(GNOME_DESKTOP_SHARP_20_LIBS) \ |
980 | $(GCONF_SHARP_20_LIBS) \ |
981 | + $(MONO_ADDINS_LIBS) \ |
982 | $(NDESK_DBUS_10_LIBS) \ |
983 | $(NDESK_DBUS_GLIB_10_LIBS) \ |
984 | - $(NOTIFY_SHARP_LIBS) |
985 | + $(NOTIFY_SHARP_LIBS) \ |
986 | + $(NUNIT_LIBS) |
987 | |
988 | PROJECT_REFERENCES = \ |
989 | Do.Universe \ |
990 | |
991 | === modified file 'Do.Platform.Linux/gtk-gui/Do.Platform.Linux.AbstractLoginWidget.cs' |
992 | --- Do.Platform.Linux/gtk-gui/Do.Platform.Linux.AbstractLoginWidget.cs 2009-06-19 04:30:03 +0000 |
993 | +++ Do.Platform.Linux/gtk-gui/Do.Platform.Linux.AbstractLoginWidget.cs 2009-06-23 09:39:36 +0000 |
994 | @@ -130,7 +130,6 @@ |
995 | w6.Fill = false; |
996 | // Container child account_vbox.Gtk.Box+BoxChild |
997 | this.hbuttonbox1 = new Gtk.HButtonBox(); |
998 | - this.hbuttonbox1.Name = "hbuttonbox1"; |
999 | this.hbuttonbox1.LayoutStyle = ((Gtk.ButtonBoxStyle)(4)); |
1000 | // Container child hbuttonbox1.Gtk.ButtonBox+ButtonBoxChild |
1001 | this.validate_btn = new Gtk.Button(); |
1002 | |
1003 | === added file 'Do.Platform.Linux/gtk-gui/Do.Platform.Linux.PluginAvailableDialog.cs' |
1004 | --- Do.Platform.Linux/gtk-gui/Do.Platform.Linux.PluginAvailableDialog.cs 1970-01-01 00:00:00 +0000 |
1005 | +++ Do.Platform.Linux/gtk-gui/Do.Platform.Linux.PluginAvailableDialog.cs 2009-06-23 17:17:33 +0000 |
1006 | @@ -0,0 +1,193 @@ |
1007 | +// ------------------------------------------------------------------------------ |
1008 | +// <autogenerated> |
1009 | +// This code was generated by a tool. |
1010 | +// |
1011 | +// |
1012 | +// Changes to this file may cause incorrect behavior and will be lost if |
1013 | +// the code is regenerated. |
1014 | +// </autogenerated> |
1015 | +// ------------------------------------------------------------------------------ |
1016 | + |
1017 | +namespace Do.Platform.Linux { |
1018 | + |
1019 | + |
1020 | + public partial class PluginAvailableDialog { |
1021 | + |
1022 | + private Gtk.VBox vbox2; |
1023 | + |
1024 | + private Gtk.HBox hbox1; |
1025 | + |
1026 | + private Gtk.Image title_img; |
1027 | + |
1028 | + private Gtk.Alignment title_align; |
1029 | + |
1030 | + private Gtk.Label title_lbl; |
1031 | + |
1032 | + private Gtk.Alignment body_align; |
1033 | + |
1034 | + private Gtk.Label body_lbl; |
1035 | + |
1036 | + private Gtk.Alignment link_align; |
1037 | + |
1038 | + private Gtk.VBox link_vbox; |
1039 | + |
1040 | + private Gtk.Alignment ask_align; |
1041 | + |
1042 | + private Gtk.CheckButton ask_chk; |
1043 | + |
1044 | + private Gtk.Button buttonCancel; |
1045 | + |
1046 | + private Gtk.Button install_btn; |
1047 | + |
1048 | + protected virtual void Build() { |
1049 | + Stetic.Gui.Initialize(this); |
1050 | + // Widget Do.Platform.Linux.PluginAvailableDialog |
1051 | + this.Name = "Do.Platform.Linux.PluginAvailableDialog"; |
1052 | + this.WindowPosition = ((Gtk.WindowPosition)(4)); |
1053 | + this.BorderWidth = ((uint)(5)); |
1054 | + this.HasSeparator = false; |
1055 | + // Internal child Do.Platform.Linux.PluginAvailableDialog.VBox |
1056 | + Gtk.VBox w1 = this.VBox; |
1057 | + w1.Name = "dialog1_VBox"; |
1058 | + w1.BorderWidth = ((uint)(2)); |
1059 | + // Container child dialog1_VBox.Gtk.Box+BoxChild |
1060 | + this.vbox2 = new Gtk.VBox(); |
1061 | + this.vbox2.Name = "vbox2"; |
1062 | + this.vbox2.Spacing = 6; |
1063 | + // Container child vbox2.Gtk.Box+BoxChild |
1064 | + this.hbox1 = new Gtk.HBox(); |
1065 | + this.hbox1.Name = "hbox1"; |
1066 | + this.hbox1.Spacing = 6; |
1067 | + // Container child hbox1.Gtk.Box+BoxChild |
1068 | + this.title_img = new Gtk.Image(); |
1069 | + this.title_img.Name = "title_img"; |
1070 | + this.title_img.Pixbuf = Stetic.IconLoader.LoadIcon(this, "gnome-do", Gtk.IconSize.Dialog, 48); |
1071 | + this.hbox1.Add(this.title_img); |
1072 | + Gtk.Box.BoxChild w2 = ((Gtk.Box.BoxChild)(this.hbox1[this.title_img])); |
1073 | + w2.Position = 0; |
1074 | + w2.Expand = false; |
1075 | + w2.Fill = false; |
1076 | + // Container child hbox1.Gtk.Box+BoxChild |
1077 | + this.title_align = new Gtk.Alignment(0.5F, 0.5F, 1F, 1F); |
1078 | + this.title_align.Name = "title_align"; |
1079 | + this.title_align.LeftPadding = ((uint)(7)); |
1080 | + // Container child title_align.Gtk.Container+ContainerChild |
1081 | + this.title_lbl = new Gtk.Label(); |
1082 | + this.title_lbl.Name = "title_lbl"; |
1083 | + this.title_lbl.LabelProp = Mono.Unix.Catalog.GetString("<b><span size=\"x-large\">There's a Do plugin for that!</span></b>"); |
1084 | + this.title_lbl.UseMarkup = true; |
1085 | + this.title_align.Add(this.title_lbl); |
1086 | + this.hbox1.Add(this.title_align); |
1087 | + Gtk.Box.BoxChild w4 = ((Gtk.Box.BoxChild)(this.hbox1[this.title_align])); |
1088 | + w4.Position = 1; |
1089 | + w4.Expand = false; |
1090 | + w4.Fill = false; |
1091 | + this.vbox2.Add(this.hbox1); |
1092 | + Gtk.Box.BoxChild w5 = ((Gtk.Box.BoxChild)(this.vbox2[this.hbox1])); |
1093 | + w5.Position = 0; |
1094 | + w5.Expand = false; |
1095 | + w5.Fill = false; |
1096 | + // Container child vbox2.Gtk.Box+BoxChild |
1097 | + this.body_align = new Gtk.Alignment(0.5F, 0.5F, 1F, 1F); |
1098 | + this.body_align.Name = "body_align"; |
1099 | + this.body_align.LeftPadding = ((uint)(62)); |
1100 | + // Container child body_align.Gtk.Container+ContainerChild |
1101 | + this.body_lbl = new Gtk.Label(); |
1102 | + this.body_lbl.Name = "body_lbl"; |
1103 | + this.body_lbl.Xalign = 0F; |
1104 | + this.body_lbl.LabelProp = Mono.Unix.Catalog.GetString("A Do plugin for {0} is available for installation. Would you like us to enable it for you?"); |
1105 | + this.body_lbl.Wrap = true; |
1106 | + this.body_align.Add(this.body_lbl); |
1107 | + this.vbox2.Add(this.body_align); |
1108 | + Gtk.Box.BoxChild w7 = ((Gtk.Box.BoxChild)(this.vbox2[this.body_align])); |
1109 | + w7.Position = 1; |
1110 | + w7.Expand = false; |
1111 | + w7.Fill = false; |
1112 | + // Container child vbox2.Gtk.Box+BoxChild |
1113 | + this.link_align = new Gtk.Alignment(0.5F, 0.5F, 1F, 1F); |
1114 | + this.link_align.Name = "link_align"; |
1115 | + this.link_align.LeftPadding = ((uint)(55)); |
1116 | + // Container child link_align.Gtk.Container+ContainerChild |
1117 | + this.link_vbox = new Gtk.VBox(); |
1118 | + this.link_vbox.Name = "link_vbox"; |
1119 | + this.link_align.Add(this.link_vbox); |
1120 | + this.vbox2.Add(this.link_align); |
1121 | + Gtk.Box.BoxChild w9 = ((Gtk.Box.BoxChild)(this.vbox2[this.link_align])); |
1122 | + w9.Position = 2; |
1123 | + // Container child vbox2.Gtk.Box+BoxChild |
1124 | + this.ask_align = new Gtk.Alignment(0.5F, 0.5F, 1F, 1F); |
1125 | + this.ask_align.Name = "ask_align"; |
1126 | + this.ask_align.LeftPadding = ((uint)(57)); |
1127 | + // Container child ask_align.Gtk.Container+ContainerChild |
1128 | + this.ask_chk = new Gtk.CheckButton(); |
1129 | + this.ask_chk.CanFocus = true; |
1130 | + this.ask_chk.Name = "ask_chk"; |
1131 | + this.ask_chk.Label = Mono.Unix.Catalog.GetString("Don't ask me about Do plugins again."); |
1132 | + this.ask_chk.DrawIndicator = true; |
1133 | + this.ask_chk.UseUnderline = true; |
1134 | + this.ask_align.Add(this.ask_chk); |
1135 | + this.vbox2.Add(this.ask_align); |
1136 | + Gtk.Box.BoxChild w11 = ((Gtk.Box.BoxChild)(this.vbox2[this.ask_align])); |
1137 | + w11.Position = 3; |
1138 | + w11.Expand = false; |
1139 | + w11.Fill = false; |
1140 | + w1.Add(this.vbox2); |
1141 | + Gtk.Box.BoxChild w12 = ((Gtk.Box.BoxChild)(w1[this.vbox2])); |
1142 | + w12.Position = 0; |
1143 | + // Internal child Do.Platform.Linux.PluginAvailableDialog.ActionArea |
1144 | + Gtk.HButtonBox w13 = this.ActionArea; |
1145 | + w13.Name = "dialog1_ActionArea"; |
1146 | + w13.Spacing = 6; |
1147 | + w13.BorderWidth = ((uint)(5)); |
1148 | + w13.LayoutStyle = ((Gtk.ButtonBoxStyle)(4)); |
1149 | + // Container child dialog1_ActionArea.Gtk.ButtonBox+ButtonBoxChild |
1150 | + this.buttonCancel = new Gtk.Button(); |
1151 | + this.buttonCancel.CanDefault = true; |
1152 | + this.buttonCancel.CanFocus = true; |
1153 | + this.buttonCancel.Name = "buttonCancel"; |
1154 | + this.buttonCancel.UseStock = true; |
1155 | + this.buttonCancel.UseUnderline = true; |
1156 | + this.buttonCancel.Label = "gtk-cancel"; |
1157 | + this.AddActionWidget(this.buttonCancel, -6); |
1158 | + Gtk.ButtonBox.ButtonBoxChild w14 = ((Gtk.ButtonBox.ButtonBoxChild)(w13[this.buttonCancel])); |
1159 | + w14.Expand = false; |
1160 | + w14.Fill = false; |
1161 | + // Container child dialog1_ActionArea.Gtk.ButtonBox+ButtonBoxChild |
1162 | + this.install_btn = new Gtk.Button(); |
1163 | + this.install_btn.CanDefault = true; |
1164 | + this.install_btn.CanFocus = true; |
1165 | + this.install_btn.Name = "install_btn"; |
1166 | + this.install_btn.UseUnderline = true; |
1167 | + // Container child install_btn.Gtk.Container+ContainerChild |
1168 | + Gtk.Alignment w15 = new Gtk.Alignment(0.5F, 0.5F, 0F, 0F); |
1169 | + // Container child GtkAlignment1.Gtk.Container+ContainerChild |
1170 | + Gtk.HBox w16 = new Gtk.HBox(); |
1171 | + w16.Spacing = 2; |
1172 | + // Container child GtkHBox1.Gtk.Container+ContainerChild |
1173 | + Gtk.Image w17 = new Gtk.Image(); |
1174 | + w17.Pixbuf = Stetic.IconLoader.LoadIcon(this, "gtk-ok", Gtk.IconSize.Button, 20); |
1175 | + w16.Add(w17); |
1176 | + // Container child GtkHBox1.Gtk.Container+ContainerChild |
1177 | + Gtk.Label w19 = new Gtk.Label(); |
1178 | + w19.LabelProp = Mono.Unix.Catalog.GetString("_Install"); |
1179 | + w19.UseUnderline = true; |
1180 | + w16.Add(w19); |
1181 | + w15.Add(w16); |
1182 | + this.install_btn.Add(w15); |
1183 | + this.AddActionWidget(this.install_btn, -5); |
1184 | + Gtk.ButtonBox.ButtonBoxChild w23 = ((Gtk.ButtonBox.ButtonBoxChild)(w13[this.install_btn])); |
1185 | + w23.Position = 1; |
1186 | + w23.Expand = false; |
1187 | + w23.Fill = false; |
1188 | + if ((this.Child != null)) { |
1189 | + this.Child.ShowAll(); |
1190 | + } |
1191 | + this.DefaultWidth = 486; |
1192 | + this.DefaultHeight = 218; |
1193 | + this.Show(); |
1194 | + this.ask_chk.Toggled += new System.EventHandler(this.OnAskChkToggled); |
1195 | + this.buttonCancel.Clicked += new System.EventHandler(this.OnButtonCancelClicked); |
1196 | + this.install_btn.Clicked += new System.EventHandler(this.OnInstallBtnClicked); |
1197 | + } |
1198 | + } |
1199 | +} |
1200 | |
1201 | === modified file 'Do.Platform.Linux/gtk-gui/generated.cs' |
1202 | --- Do.Platform.Linux/gtk-gui/generated.cs 2009-01-19 23:59:12 +0000 |
1203 | +++ Do.Platform.Linux/gtk-gui/generated.cs 2009-06-22 18:04:05 +0000 |
1204 | @@ -69,6 +69,39 @@ |
1205 | } |
1206 | } |
1207 | |
1208 | + internal class IconLoader { |
1209 | + |
1210 | + public static Gdk.Pixbuf LoadIcon(Gtk.Widget widget, string name, Gtk.IconSize size, int sz) { |
1211 | + Gdk.Pixbuf res = widget.RenderIcon(name, size, null); |
1212 | + if ((res != null)) { |
1213 | + return res; |
1214 | + } |
1215 | + else { |
1216 | + try { |
1217 | + return Gtk.IconTheme.Default.LoadIcon(name, sz, 0); |
1218 | + } |
1219 | + catch (System.Exception ) { |
1220 | + if ((name != "gtk-missing-image")) { |
1221 | + return Stetic.IconLoader.LoadIcon(widget, "gtk-missing-image", size, sz); |
1222 | + } |
1223 | + else { |
1224 | + Gdk.Pixmap pmap = new Gdk.Pixmap(Gdk.Screen.Default.RootWindow, sz, sz); |
1225 | + Gdk.GC gc = new Gdk.GC(pmap); |
1226 | + gc.RgbFgColor = new Gdk.Color(255, 255, 255); |
1227 | + pmap.DrawRectangle(gc, true, 0, 0, sz, sz); |
1228 | + gc.RgbFgColor = new Gdk.Color(0, 0, 0); |
1229 | + pmap.DrawRectangle(gc, false, 0, 0, (sz - 1), (sz - 1)); |
1230 | + gc.SetLineAttributes(3, Gdk.LineStyle.Solid, Gdk.CapStyle.Round, Gdk.JoinStyle.Round); |
1231 | + gc.RgbFgColor = new Gdk.Color(255, 0, 0); |
1232 | + pmap.DrawLine(gc, (sz / 4), (sz / 4), ((sz - 1) - (sz / 4)), ((sz - 1) - (sz / 4))); |
1233 | + pmap.DrawLine(gc, ((sz - 1) - (sz / 4)), (sz / 4), (sz / 4), ((sz - 1) - (sz / 4))); |
1234 | + return Gdk.Pixbuf.FromDrawable(pmap, pmap.Colormap, 0, 0, 0, 0, sz, sz); |
1235 | + } |
1236 | + } |
1237 | + } |
1238 | + } |
1239 | + } |
1240 | + |
1241 | internal class ActionGroups { |
1242 | |
1243 | public static Gtk.ActionGroup GetActionGroup(System.Type type) { |
1244 | |
1245 | === modified file 'Do.Platform.Linux/gtk-gui/gui.stetic' |
1246 | --- Do.Platform.Linux/gtk-gui/gui.stetic 2009-05-29 10:26:49 +0000 |
1247 | +++ Do.Platform.Linux/gtk-gui/gui.stetic 2009-06-24 15:08:47 +0000 |
1248 | @@ -7,7 +7,6 @@ |
1249 | <import> |
1250 | <widget-library name="gnomedesktop-sharp, Version=2.20.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" /> |
1251 | <widget-library name="notify-sharp, Version=0.4.0.0, Culture=neutral, PublicKeyToken=2df29c54e245917a" /> |
1252 | - <widget-library name="../../Do.Interface.Linux/bin/Debug/Do.Interface.Linux.dll" /> |
1253 | <widget-library name="gnome-sharp, Version=2.24.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" /> |
1254 | <widget-library name="../bin/Debug/Do.Platform.Linux.dll" internal="true" /> |
1255 | </import> |
1256 | @@ -245,4 +244,179 @@ |
1257 | </widget> |
1258 | </child> |
1259 | </widget> |
1260 | + <widget class="Gtk.Dialog" id="Do.Platform.Linux.PluginAvailableDialog" design-size="486 218"> |
1261 | + <property name="MemberName" /> |
1262 | + <property name="WindowPosition">CenterOnParent</property> |
1263 | + <property name="BorderWidth">5</property> |
1264 | + <property name="Buttons">2</property> |
1265 | + <property name="HelpButton">False</property> |
1266 | + <property name="HasSeparator">False</property> |
1267 | + <child internal-child="VBox"> |
1268 | + <widget class="Gtk.VBox" id="dialog1_VBox"> |
1269 | + <property name="MemberName" /> |
1270 | + <property name="BorderWidth">2</property> |
1271 | + <child> |
1272 | + <widget class="Gtk.VBox" id="vbox2"> |
1273 | + <property name="MemberName" /> |
1274 | + <property name="Spacing">6</property> |
1275 | + <child> |
1276 | + <widget class="Gtk.HBox" id="hbox1"> |
1277 | + <property name="MemberName" /> |
1278 | + <property name="Spacing">6</property> |
1279 | + <child> |
1280 | + <widget class="Gtk.Image" id="title_img"> |
1281 | + <property name="MemberName" /> |
1282 | + <property name="Pixbuf">stock:gnome-do Dialog</property> |
1283 | + </widget> |
1284 | + <packing> |
1285 | + <property name="Position">0</property> |
1286 | + <property name="AutoSize">True</property> |
1287 | + <property name="Expand">False</property> |
1288 | + <property name="Fill">False</property> |
1289 | + </packing> |
1290 | + </child> |
1291 | + <child> |
1292 | + <widget class="Gtk.Alignment" id="title_align"> |
1293 | + <property name="MemberName" /> |
1294 | + <property name="LeftPadding">7</property> |
1295 | + <child> |
1296 | + <widget class="Gtk.Label" id="title_lbl"> |
1297 | + <property name="MemberName" /> |
1298 | + <property name="LabelProp" translatable="yes"><b><span size="x-large">There's a Do plugin for that!</span></b></property> |
1299 | + <property name="UseMarkup">True</property> |
1300 | + </widget> |
1301 | + </child> |
1302 | + </widget> |
1303 | + <packing> |
1304 | + <property name="Position">1</property> |
1305 | + <property name="AutoSize">True</property> |
1306 | + <property name="Expand">False</property> |
1307 | + <property name="Fill">False</property> |
1308 | + </packing> |
1309 | + </child> |
1310 | + </widget> |
1311 | + <packing> |
1312 | + <property name="Position">0</property> |
1313 | + <property name="AutoSize">True</property> |
1314 | + <property name="Expand">False</property> |
1315 | + <property name="Fill">False</property> |
1316 | + </packing> |
1317 | + </child> |
1318 | + <child> |
1319 | + <widget class="Gtk.Alignment" id="body_align"> |
1320 | + <property name="MemberName" /> |
1321 | + <property name="LeftPadding">62</property> |
1322 | + <child> |
1323 | + <widget class="Gtk.Label" id="body_lbl"> |
1324 | + <property name="MemberName" /> |
1325 | + <property name="Xalign">0</property> |
1326 | + <property name="LabelProp" translatable="yes">A Do plugin for {0} is available for installation. Would you like us to enable it for you?</property> |
1327 | + <property name="Wrap">True</property> |
1328 | + </widget> |
1329 | + </child> |
1330 | + </widget> |
1331 | + <packing> |
1332 | + <property name="Position">1</property> |
1333 | + <property name="AutoSize">True</property> |
1334 | + <property name="Expand">False</property> |
1335 | + <property name="Fill">False</property> |
1336 | + </packing> |
1337 | + </child> |
1338 | + <child> |
1339 | + <widget class="Gtk.Alignment" id="link_align"> |
1340 | + <property name="MemberName" /> |
1341 | + <property name="LeftPadding">55</property> |
1342 | + <child> |
1343 | + <widget class="Gtk.VBox" id="link_vbox"> |
1344 | + <property name="MemberName" /> |
1345 | + <child> |
1346 | + <placeholder /> |
1347 | + </child> |
1348 | + <child> |
1349 | + <placeholder /> |
1350 | + </child> |
1351 | + </widget> |
1352 | + </child> |
1353 | + </widget> |
1354 | + <packing> |
1355 | + <property name="Position">2</property> |
1356 | + <property name="AutoSize">True</property> |
1357 | + </packing> |
1358 | + </child> |
1359 | + <child> |
1360 | + <widget class="Gtk.Alignment" id="ask_align"> |
1361 | + <property name="MemberName" /> |
1362 | + <property name="LeftPadding">57</property> |
1363 | + <child> |
1364 | + <widget class="Gtk.CheckButton" id="ask_chk"> |
1365 | + <property name="MemberName" /> |
1366 | + <property name="CanFocus">True</property> |
1367 | + <property name="Label" translatable="yes">Don't ask me about Do plugins again.</property> |
1368 | + <property name="DrawIndicator">True</property> |
1369 | + <property name="HasLabel">True</property> |
1370 | + <property name="UseUnderline">True</property> |
1371 | + <signal name="Toggled" handler="OnAskChkToggled" /> |
1372 | + </widget> |
1373 | + </child> |
1374 | + </widget> |
1375 | + <packing> |
1376 | + <property name="Position">3</property> |
1377 | + <property name="AutoSize">True</property> |
1378 | + <property name="Expand">False</property> |
1379 | + <property name="Fill">False</property> |
1380 | + </packing> |
1381 | + </child> |
1382 | + </widget> |
1383 | + <packing> |
1384 | + <property name="Position">0</property> |
1385 | + <property name="AutoSize">True</property> |
1386 | + </packing> |
1387 | + </child> |
1388 | + </widget> |
1389 | + </child> |
1390 | + <child internal-child="ActionArea"> |
1391 | + <widget class="Gtk.HButtonBox" id="dialog1_ActionArea"> |
1392 | + <property name="MemberName" /> |
1393 | + <property name="Spacing">6</property> |
1394 | + <property name="BorderWidth">5</property> |
1395 | + <property name="Size">2</property> |
1396 | + <property name="LayoutStyle">End</property> |
1397 | + <child> |
1398 | + <widget class="Gtk.Button" id="buttonCancel"> |
1399 | + <property name="MemberName" /> |
1400 | + <property name="CanDefault">True</property> |
1401 | + <property name="CanFocus">True</property> |
1402 | + <property name="UseStock">True</property> |
1403 | + <property name="Type">StockItem</property> |
1404 | + <property name="StockId">gtk-cancel</property> |
1405 | + <property name="ResponseId">-6</property> |
1406 | + <signal name="Clicked" handler="OnButtonCancelClicked" /> |
1407 | + <property name="label">gtk-cancel</property> |
1408 | + </widget> |
1409 | + <packing> |
1410 | + <property name="Expand">False</property> |
1411 | + <property name="Fill">False</property> |
1412 | + </packing> |
1413 | + </child> |
1414 | + <child> |
1415 | + <widget class="Gtk.Button" id="install_btn"> |
1416 | + <property name="MemberName" /> |
1417 | + <property name="CanDefault">True</property> |
1418 | + <property name="CanFocus">True</property> |
1419 | + <property name="Type">TextAndIcon</property> |
1420 | + <property name="Icon">stock:gtk-ok Button</property> |
1421 | + <property name="Label" translatable="yes">_Install</property> |
1422 | + <property name="UseUnderline">True</property> |
1423 | + <property name="ResponseId">-5</property> |
1424 | + <signal name="Clicked" handler="OnInstallBtnClicked" /> |
1425 | + </widget> |
1426 | + <packing> |
1427 | + <property name="Position">1</property> |
1428 | + <property name="Expand">False</property> |
1429 | + <property name="Fill">False</property> |
1430 | + </packing> |
1431 | + </child> |
1432 | + </widget> |
1433 | + </child> |
1434 | + </widget> |
1435 | </stetic-interface> |
1436 | \ No newline at end of file |
1437 | |
1438 | === added file 'Do.Platform.Linux/src/Do.Widgets/PluginAvailableDialog.cs' |
1439 | --- Do.Platform.Linux/src/Do.Widgets/PluginAvailableDialog.cs 1970-01-01 00:00:00 +0000 |
1440 | +++ Do.Platform.Linux/src/Do.Widgets/PluginAvailableDialog.cs 2009-06-24 15:08:47 +0000 |
1441 | @@ -0,0 +1,78 @@ |
1442 | +// %filename |
1443 | +// |
1444 | +// GNOME Do is the legal property of its developers. Please refer to the |
1445 | +// COPYRIGHT file distributed with this source distribution. |
1446 | +// |
1447 | +// This program is free software: you can redistribute it and/or modify |
1448 | +// it under the terms of the GNU General Public License as published by |
1449 | +// the Free Software Foundation, either version 3 of the License, or |
1450 | +// (at your option) any later version. |
1451 | +// |
1452 | +// This program is distributed in the hope that it will be useful, |
1453 | +// but WITHOUT ANY WARRANTY; without even the implied warranty of |
1454 | +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
1455 | +// GNU General Public License for more details. |
1456 | +// |
1457 | +// You should have received a copy of the GNU General Public License |
1458 | +// along with this program. If not, see <http://www.gnu.org/licenses/>. |
1459 | + |
1460 | +using System; |
1461 | + |
1462 | +using Gtk; |
1463 | +using Mono.Unix; |
1464 | +using Mono.Addins; |
1465 | + |
1466 | +using Do.Platform; |
1467 | + |
1468 | +namespace Do.Platform.Linux |
1469 | +{ |
1470 | + |
1471 | + public partial class PluginAvailableDialog : Gtk.Dialog |
1472 | + { |
1473 | + const string WhatIsDoUrl = "http://do.davebsd.com/wiki/index.php?title=Main_Page#What_is_GNOME_Do.3F"; |
1474 | + |
1475 | + Addin addin; |
1476 | + |
1477 | + public PluginAvailableDialog (string package, Addin addin) |
1478 | + { |
1479 | + this.Build(); |
1480 | + |
1481 | + LinkButton wiki_btn, plugin_desc_btn; |
1482 | + |
1483 | + this.addin = addin; |
1484 | + |
1485 | + body_lbl.Text = string.Format (body_lbl.Text, package); |
1486 | + |
1487 | + wiki_btn = new LinkButton (WhatIsDoUrl, Catalog.GetString ("What is Do?")); |
1488 | + wiki_btn.Xalign = 0F; |
1489 | + link_vbox.Add (wiki_btn); |
1490 | + |
1491 | + // if the URL attribute is set, then we show a link to the plugin help |
1492 | + if (!string.IsNullOrEmpty (addin.Description.Url)) { |
1493 | + plugin_desc_btn = new LinkButton (addin.Description.Url, |
1494 | + string.Format (Catalog.GetString ("What does the {0} plugin do?"), package)); |
1495 | + plugin_desc_btn.Xalign = 0F; |
1496 | + link_vbox.Add (plugin_desc_btn); |
1497 | + } |
1498 | + |
1499 | + ShowAll (); |
1500 | + } |
1501 | + |
1502 | + protected virtual void OnButtonCancelClicked (object sender, System.EventArgs e) |
1503 | + { |
1504 | + Destroy (); |
1505 | + } |
1506 | + |
1507 | + protected virtual void OnInstallBtnClicked (object sender, System.EventArgs e) |
1508 | + { |
1509 | + Services.PluginManager.Install (addin); |
1510 | + Destroy (); |
1511 | + } |
1512 | + |
1513 | + protected virtual void OnAskChkToggled (object sender, System.EventArgs e) |
1514 | + { |
1515 | + IPreferences prefs = Services.Preferences.Get<AbstractPackageManagerService> (); |
1516 | + prefs.Set (AbstractPackageManagerService.PluginAvailableKey, ask_chk.Active); |
1517 | + } |
1518 | + } |
1519 | +} |
1520 | |
1521 | === modified file 'Do.Platform/Do.Platform.mdp' |
1522 | --- Do.Platform/Do.Platform.mdp 2009-06-10 05:30:30 +0000 |
1523 | +++ Do.Platform/Do.Platform.mdp 2009-06-23 16:27:37 +0000 |
1524 | @@ -79,16 +79,21 @@ |
1525 | <File name="src/Do.Platform/INetworkService.cs" subtype="Code" buildaction="Compile" /> |
1526 | <File name="src/Do.Platform/NetworkStateChangedEventArgs.cs" subtype="Code" buildaction="Compile" /> |
1527 | <File name="src/Do.Platform/Do.Platform.Default/NetworkService.cs" subtype="Code" buildaction="Compile" /> |
1528 | + <File name="src/Do.Platform/AbstractPackageManagerService.cs" subtype="Code" buildaction="Compile" /> |
1529 | + <File name="src/Do.Platform/Do.Platform.Default/DefaultPackageManagerService.cs" subtype="Code" buildaction="Compile" /> |
1530 | + <File name="src/Do.Platform/Do.Platform.ServiceStack/IStrictService.cs" subtype="Code" buildaction="Compile" /> |
1531 | + <File name="src/Do.Platform/IPluginManagerService.cs" subtype="Code" buildaction="Compile" /> |
1532 | + <File name="src/Do.Platform/Do.Platform.Default/PluginManagerService.cs" subtype="Code" buildaction="Compile" /> |
1533 | </Contents> |
1534 | <References> |
1535 | <ProjectReference type="Gac" localcopy="True" refto="System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> |
1536 | <ProjectReference type="Gac" localcopy="True" refto="Mono.Posix, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756" /> |
1537 | <ProjectReference type="Gac" localcopy="True" refto="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> |
1538 | - <ProjectReference type="Gac" localcopy="True" refto="Mono.Addins, Version=0.3.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756" /> |
1539 | <ProjectReference type="Project" localcopy="True" refto="Do.Universe" /> |
1540 | <ProjectReference type="Gac" localcopy="True" refto="gtk-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" /> |
1541 | <ProjectReference type="Gac" localcopy="True" refto="gdk-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" /> |
1542 | <ProjectReference type="Gac" localcopy="True" refto="gnome-vfs-sharp, Version=2.24.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" /> |
1543 | <ProjectReference type="Gac" localcopy="True" refto="nunit.framework, Version=2.2.0.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77" /> |
1544 | + <ProjectReference type="Gac" localcopy="True" refto="Mono.Addins, Version=0.4.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756" /> |
1545 | </References> |
1546 | -</Project> |
1547 | \ No newline at end of file |
1548 | +</Project> |
1549 | |
1550 | === modified file 'Do.Platform/Makefile.am' |
1551 | --- Do.Platform/Makefile.am 2009-06-10 05:30:30 +0000 |
1552 | +++ Do.Platform/Makefile.am 2009-06-23 16:27:37 +0000 |
1553 | @@ -17,10 +17,12 @@ |
1554 | src/Do.Platform/Do.Platform.Default/CoreService.cs \ |
1555 | src/Do.Platform/Do.Platform.Default/DefaultApplicationService.cs \ |
1556 | src/Do.Platform/Do.Platform.Default/DefaultSystemService.cs \ |
1557 | + src/Do.Platform/Do.Platform.Default/DefaultPackageManagerService.cs \ |
1558 | src/Do.Platform/Do.Platform.Default/DefaultPathsService.cs \ |
1559 | src/Do.Platform/Do.Platform.Default/EnvironmentService.cs \ |
1560 | src/Do.Platform/Do.Platform.Default/LogService.cs \ |
1561 | src/Do.Platform/Do.Platform.Default/NotificationsService.cs \ |
1562 | + src/Do.Platform/Do.Platform.Default/PluginManagerService.cs \ |
1563 | src/Do.Platform/Do.Platform.Default/PreferencesService.cs \ |
1564 | src/Do.Platform/Do.Platform.Default/SecurePreferencesService.cs \ |
1565 | src/Do.Platform/Do.Platform.Default/UniverseFactoryService.cs \ |
1566 | @@ -30,10 +32,12 @@ |
1567 | src/Do.Platform/Do.Platform.Preferences/PreferencesImplementation.cs \ |
1568 | src/Do.Platform/Do.Platform.ServiceStack/IInitializedService.cs \ |
1569 | src/Do.Platform/Do.Platform.ServiceStack/IService.cs \ |
1570 | + src/Do.Platform/Do.Platform.ServiceStack/IStrictService.cs \ |
1571 | src/Do.Platform/ICoreService.cs \ |
1572 | src/Do.Platform/IEnvironmentService.cs \ |
1573 | src/Do.Platform/ILogService.cs \ |
1574 | src/Do.Platform/INotificationsService.cs \ |
1575 | + src/Do.Platform/IPluginManagerService.cs \ |
1576 | src/Do.Platform/IPreferences.cs \ |
1577 | src/Do.Platform/IPreferencesService.cs \ |
1578 | src/Do.Platform/ISecurePreferencesService.cs \ |
1579 | @@ -45,6 +49,7 @@ |
1580 | src/Do.Platform/Notification.cs \ |
1581 | src/Do.Platform/NotificationEventArgs.cs \ |
1582 | src/Do.Platform/AbstractApplicationService.cs \ |
1583 | + src/Do.Platform/AbstractPackageManagerService.cs \ |
1584 | src/Do.Platform/AbstractSystemService.cs \ |
1585 | src/Do.Platform/PathsService.cs \ |
1586 | src/Do.Platform/PreferencesChangedEventArgs.cs \ |
1587 | |
1588 | === added file 'Do.Platform/src/Do.Platform/AbstractPackageManagerService.cs' |
1589 | --- Do.Platform/src/Do.Platform/AbstractPackageManagerService.cs 1970-01-01 00:00:00 +0000 |
1590 | +++ Do.Platform/src/Do.Platform/AbstractPackageManagerService.cs 2009-06-23 17:17:33 +0000 |
1591 | @@ -0,0 +1,74 @@ |
1592 | +/* AbstractPackageManagerService.cs |
1593 | + * |
1594 | + * GNOME Do is the legal property of its developers. Please refer to the |
1595 | + * COPYRIGHT file distributed with this source distribution. |
1596 | + * |
1597 | + * This program is free software: you can redistribute it and/or modify |
1598 | + * it under the terms of the GNU General Public License as published by |
1599 | + * the Free Software Foundation, either version 3 of the License, or |
1600 | + * (at your option) any later version. |
1601 | + * |
1602 | + * This program is distributed in the hope that it will be useful, |
1603 | + * but WITHOUT ANY WARRANTY; without even the implied warranty of |
1604 | + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
1605 | + * GNU General Public License for more details. |
1606 | + * |
1607 | + * You should have received a copy of the GNU General Public License |
1608 | + * along with this program. If not, see <http://www.gnu.org/licenses/>. |
1609 | + */ |
1610 | + |
1611 | +using System; |
1612 | + |
1613 | +using Mono.Addins; |
1614 | + |
1615 | +using Do.Platform.ServiceStack; |
1616 | + |
1617 | +namespace Do.Platform |
1618 | +{ |
1619 | + |
1620 | + /// <summary> |
1621 | + /// The package manager service is a service that runs and listens for events from a package backend. The idea is |
1622 | + /// that when you install a package that has a corresponding Do plugin, Do will see this and ask you if you want to |
1623 | + /// enable the corresponding plugin. This architecture allows us to write backends for whatever package manager is in |
1624 | + /// use be it apt, rpm, packagekit, or whatever. |
1625 | + /// </summary> |
1626 | + public abstract class AbstractPackageManagerService : IService, IInitializedService |
1627 | + { |
1628 | + public const string PluginAvailableKey = "DontShowPluginAvailableDialog"; |
1629 | + public const bool PluginAvailableDefault = false; |
1630 | + |
1631 | + public virtual void Initialize () |
1632 | + { |
1633 | + Preferences = Services.Preferences.Get<AbstractPackageManagerService> (); |
1634 | + } |
1635 | + |
1636 | + IPreferences Preferences { get; set; } |
1637 | + |
1638 | + protected bool DontShowPluginAvailableDialog { |
1639 | + get { return Preferences.Get (PluginAvailableKey, PluginAvailableDefault); } |
1640 | + set { Preferences.Get (PluginAvailableKey, value); } |
1641 | + } |
1642 | + |
1643 | + /// <summary> |
1644 | + /// Tries to find a plugin that is appropriate for the packge given. |
1645 | + /// i.e. if the package is a twitter prism app, it would give the Microblogging plugin |
1646 | + /// </summary> |
1647 | + /// <param name="package"> |
1648 | + /// A <see cref="System.String"/> |
1649 | + /// </param> |
1650 | + /// <returns> |
1651 | + /// A <see cref="Addin"/> |
1652 | + /// </returns> |
1653 | + protected Addin MaybePluginForPackage (string package) |
1654 | + { |
1655 | + package = package.ToLower (); |
1656 | + |
1657 | + foreach (Addin addin in Services.PluginManager.GetAddins ()) { |
1658 | + if (addin.Name.ToLower ().Contains (package) || addin.Description.Description.Contains (package)) |
1659 | + return addin; |
1660 | + } |
1661 | + |
1662 | + return null; |
1663 | + } |
1664 | + } |
1665 | +} |
1666 | |
1667 | === modified file 'Do.Platform/src/Do.Platform/Do.Platform.Default/DefaultApplicationService.cs' |
1668 | --- Do.Platform/src/Do.Platform/Do.Platform.Default/DefaultApplicationService.cs 2009-01-17 22:35:46 +0000 |
1669 | +++ Do.Platform/src/Do.Platform/Do.Platform.Default/DefaultApplicationService.cs 2009-06-22 15:51:57 +0000 |
1670 | @@ -51,6 +51,5 @@ |
1671 | { |
1672 | Log<DefaultApplicationService>.Debug ("Cannot flush main thread queue."); |
1673 | } |
1674 | - |
1675 | } |
1676 | } |
1677 | |
1678 | === added file 'Do.Platform/src/Do.Platform/Do.Platform.Default/DefaultPackageManagerService.cs' |
1679 | --- Do.Platform/src/Do.Platform/Do.Platform.Default/DefaultPackageManagerService.cs 1970-01-01 00:00:00 +0000 |
1680 | +++ Do.Platform/src/Do.Platform/Do.Platform.Default/DefaultPackageManagerService.cs 2009-06-22 15:51:57 +0000 |
1681 | @@ -0,0 +1,33 @@ |
1682 | +// PackageManagerService.cs |
1683 | +// |
1684 | +// GNOME Do is the legal property of its developers. Please refer to the |
1685 | +// COPYRIGHT file distributed with this source distribution. |
1686 | +// |
1687 | +// This program is free software: you can redistribute it and/or modify |
1688 | +// it under the terms of the GNU General Public License as published by |
1689 | +// the Free Software Foundation, either version 3 of the License, or |
1690 | +// (at your option) any later version. |
1691 | +// |
1692 | +// This program is distributed in the hope that it will be useful, |
1693 | +// but WITHOUT ANY WARRANTY; without even the implied warranty of |
1694 | +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
1695 | +// GNU General Public License for more details. |
1696 | +// |
1697 | +// You should have received a copy of the GNU General Public License |
1698 | +// along with this program. If not, see <http://www.gnu.org/licenses/>. |
1699 | + |
1700 | +using System; |
1701 | + |
1702 | +using Do.Platform; |
1703 | + |
1704 | +namespace Do.Platform.Default |
1705 | +{ |
1706 | + |
1707 | + public class DefaultPackageManagerService : AbstractPackageManagerService |
1708 | + { |
1709 | + public DefaultPackageManagerService () |
1710 | + { |
1711 | + Log<DefaultPackageManagerService>.Warn ("Default service loaded, no package management available"); |
1712 | + } |
1713 | + } |
1714 | +} |
1715 | |
1716 | === added file 'Do.Platform/src/Do.Platform/Do.Platform.Default/PluginManagerService.cs' |
1717 | --- Do.Platform/src/Do.Platform/Do.Platform.Default/PluginManagerService.cs 1970-01-01 00:00:00 +0000 |
1718 | +++ Do.Platform/src/Do.Platform/Do.Platform.Default/PluginManagerService.cs 2009-06-23 16:25:39 +0000 |
1719 | @@ -0,0 +1,44 @@ |
1720 | +// PluginManagerService.cs |
1721 | +// |
1722 | +// GNOME Do is the legal property of its developers. Please refer to the |
1723 | +// COPYRIGHT file distributed with this source distribution. |
1724 | +// |
1725 | +// This program is free software: you can redistribute it and/or modify |
1726 | +// it under the terms of the GNU General Public License as published by |
1727 | +// the Free Software Foundation, either version 3 of the License, or |
1728 | +// (at your option) any later version. |
1729 | +// |
1730 | +// This program is distributed in the hope that it will be useful, |
1731 | +// but WITHOUT ANY WARRANTY; without even the implied warranty of |
1732 | +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
1733 | +// GNU General Public License for more details. |
1734 | +// |
1735 | +// You should have received a copy of the GNU General Public License |
1736 | +// along with this program. If not, see <http://www.gnu.org/licenses/>. |
1737 | + |
1738 | +using System; |
1739 | + |
1740 | +using Mono.Addins; |
1741 | + |
1742 | +using Do.Platform.ServiceStack; |
1743 | + |
1744 | +namespace Do.Platform.Default |
1745 | +{ |
1746 | + /// <summary> |
1747 | + /// If this class loads, we have a serious plugin because that probably means we have no plugin manager. |
1748 | + /// </summary> |
1749 | + public class PluginManagerService : IPluginManagerService |
1750 | + { |
1751 | + public Addin [] GetAddins () |
1752 | + { |
1753 | + Log<PluginManagerService>.Error ("Using default service, could not locate any addins"); |
1754 | + return new Addin [] { }; |
1755 | + } |
1756 | + |
1757 | + public void Install (Addin addin) |
1758 | + { |
1759 | + Log<PluginManagerService>.Error ("Using default service, could not install addin."); |
1760 | + return; |
1761 | + } |
1762 | + } |
1763 | +} |
1764 | |
1765 | === added file 'Do.Platform/src/Do.Platform/Do.Platform.ServiceStack/IStrictService.cs' |
1766 | --- Do.Platform/src/Do.Platform/Do.Platform.ServiceStack/IStrictService.cs 1970-01-01 00:00:00 +0000 |
1767 | +++ Do.Platform/src/Do.Platform/Do.Platform.ServiceStack/IStrictService.cs 2009-06-22 15:41:57 +0000 |
1768 | @@ -0,0 +1,31 @@ |
1769 | +// %filename |
1770 | +// |
1771 | +// GNOME Do is the legal property of its developers. Please refer to the |
1772 | +// COPYRIGHT file distributed with this source distribution. |
1773 | +// |
1774 | +// This program is free software: you can redistribute it and/or modify |
1775 | +// it under the terms of the GNU General Public License as published by |
1776 | +// the Free Software Foundation, either version 3 of the License, or |
1777 | +// (at your option) any later version. |
1778 | +// |
1779 | +// This program is distributed in the hope that it will be useful, |
1780 | +// but WITHOUT ANY WARRANTY; without even the implied warranty of |
1781 | +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
1782 | +// GNU General Public License for more details. |
1783 | +// |
1784 | +// You should have received a copy of the GNU General Public License |
1785 | +// along with this program. If not, see <http://www.gnu.org/licenses/>. |
1786 | + |
1787 | +using System; |
1788 | + |
1789 | +namespace Do.Platform |
1790 | +{ |
1791 | + |
1792 | + /// <summary> |
1793 | + /// If your service cannot be lazy loaded, and need initialization use this interface. |
1794 | + /// This will cause your service to be initialized with the Service manager. |
1795 | + /// </summary> |
1796 | + public interface IStrictService |
1797 | + { |
1798 | + } |
1799 | +} |
1800 | |
1801 | === added file 'Do.Platform/src/Do.Platform/IPluginManagerService.cs' |
1802 | --- Do.Platform/src/Do.Platform/IPluginManagerService.cs 1970-01-01 00:00:00 +0000 |
1803 | +++ Do.Platform/src/Do.Platform/IPluginManagerService.cs 2009-06-23 16:25:39 +0000 |
1804 | @@ -0,0 +1,33 @@ |
1805 | +// %filename |
1806 | +// |
1807 | +// GNOME Do is the legal property of its developers. Please refer to the |
1808 | +// COPYRIGHT file distributed with this source distribution. |
1809 | +// |
1810 | +// This program is free software: you can redistribute it and/or modify |
1811 | +// it under the terms of the GNU General Public License as published by |
1812 | +// the Free Software Foundation, either version 3 of the License, or |
1813 | +// (at your option) any later version. |
1814 | +// |
1815 | +// This program is distributed in the hope that it will be useful, |
1816 | +// but WITHOUT ANY WARRANTY; without even the implied warranty of |
1817 | +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
1818 | +// GNU General Public License for more details. |
1819 | +// |
1820 | +// You should have received a copy of the GNU General Public License |
1821 | +// along with this program. If not, see <http://www.gnu.org/licenses/>. |
1822 | + |
1823 | +using System; |
1824 | + |
1825 | +using Mono.Addins; |
1826 | + |
1827 | +using Do.Platform.ServiceStack; |
1828 | + |
1829 | +namespace Do.Platform |
1830 | +{ |
1831 | + |
1832 | + public interface IPluginManagerService : IService |
1833 | + { |
1834 | + Addin [] GetAddins (); |
1835 | + void Install (Addin addin); |
1836 | + } |
1837 | +} |
1838 | |
1839 | === modified file 'Do.Platform/src/Do.Platform/Services.cs' |
1840 | --- Do.Platform/src/Do.Platform/Services.cs 2009-06-10 05:30:30 +0000 |
1841 | +++ Do.Platform/src/Do.Platform/Services.cs 2009-06-23 16:27:37 +0000 |
1842 | @@ -19,6 +19,7 @@ |
1843 | |
1844 | using System; |
1845 | using System.Linq; |
1846 | +using System.Reflection; |
1847 | using System.Collections.Generic; |
1848 | |
1849 | using Mono.Addins; |
1850 | @@ -32,18 +33,19 @@ |
1851 | |
1852 | public class Services |
1853 | { |
1854 | - |
1855 | static ICoreService core; |
1856 | static PathsService paths; |
1857 | + static INetworkService network; |
1858 | static IWindowingService windowing; |
1859 | static AbstractSystemService system; |
1860 | static IEnumerable<ILogService> logs; |
1861 | static PreferencesFactory preferences; |
1862 | - static AbstractApplicationService application; |
1863 | static IEnvironmentService environment; |
1864 | static INotificationsService notifications; |
1865 | + static IPluginManagerService plugin_manager; |
1866 | + static AbstractApplicationService application; |
1867 | static IUniverseFactoryService universe_factory; |
1868 | - static INetworkService network; |
1869 | + static AbstractPackageManagerService package_manager; |
1870 | |
1871 | /// <summary> |
1872 | /// Initializes the class. Must be called after Mono.Addins is initialized; if this is |
1873 | @@ -59,14 +61,16 @@ |
1874 | // TODO find a better exception to throw. |
1875 | throw new Exception ("AddinManager was initialized before Services."); |
1876 | } |
1877 | + |
1878 | AddinManager.AddExtensionNodeHandler ("/Do/Service", OnServiceChanged); |
1879 | + InitializeStrictServices (); |
1880 | } |
1881 | - |
1882 | + |
1883 | /// <summary> |
1884 | /// When a service is changed, we "dirty the cache". |
1885 | /// </summary> |
1886 | static void OnServiceChanged (object sender, ExtensionNodeEventArgs e) |
1887 | - { |
1888 | + { |
1889 | IService service = e.ExtensionObject as IService; |
1890 | |
1891 | switch (e.Change) { |
1892 | @@ -79,29 +83,29 @@ |
1893 | } |
1894 | |
1895 | // Dirty the appropriate cache. |
1896 | + if (service is ILogService) |
1897 | + logs = null; |
1898 | if (service is ICoreService) |
1899 | core = null; |
1900 | - if (service is IEnvironmentService) |
1901 | - environment = null; |
1902 | + if (service is PathsService) |
1903 | + paths = null; |
1904 | + if (service is INetworkService) |
1905 | + network = null; |
1906 | + if (service is IWindowingService) |
1907 | + windowing = null; |
1908 | // Although it is not obvious, this also takes care of the ISecurePreferences service. |
1909 | if (service is IPreferencesService) |
1910 | preferences = null; |
1911 | - if (service is ILogService) |
1912 | - logs = null; |
1913 | - if (service is IUniverseFactoryService) |
1914 | - universe_factory = null; |
1915 | + if (service is IEnvironmentService) |
1916 | + environment = null; |
1917 | + if (service is AbstractSystemService) |
1918 | + system = null; |
1919 | if (service is INotificationsService) |
1920 | notifications = null; |
1921 | - if (service is IWindowingService) |
1922 | - windowing = null; |
1923 | - if (service is PathsService) |
1924 | - paths = null; |
1925 | + if (service is IUniverseFactoryService) |
1926 | + universe_factory = null; |
1927 | if (service is AbstractApplicationService) |
1928 | application = null; |
1929 | - if (service is AbstractSystemService) |
1930 | - system = null; |
1931 | - if (service is INetworkService) |
1932 | - network = null; |
1933 | } |
1934 | |
1935 | /// <summary> |
1936 | @@ -185,9 +189,25 @@ |
1937 | network = LocateService<INetworkService, Default.NetworkService> (); |
1938 | return network; |
1939 | } |
1940 | - } |
1941 | - |
1942 | + } |
1943 | + |
1944 | + public static AbstractPackageManagerService PackageManager { |
1945 | + get { |
1946 | + if (package_manager == null) |
1947 | + package_manager = LocateService<AbstractPackageManagerService, Default.DefaultPackageManagerService> (); |
1948 | + return package_manager; |
1949 | + } |
1950 | + } |
1951 | + public static IPluginManagerService PluginManager { |
1952 | + get { |
1953 | + if (plugin_manager == null) |
1954 | + plugin_manager = LocateService<IPluginManagerService, Default.PluginManagerService> (); |
1955 | + return plugin_manager; |
1956 | + } |
1957 | + } |
1958 | + |
1959 | public static PreferencesFactory Preferences { |
1960 | + |
1961 | get { |
1962 | if (preferences == null) { |
1963 | IPreferencesService service = LocateService<IPreferencesService, Default.PreferencesService> (); |
1964 | @@ -229,5 +249,20 @@ |
1965 | return Enumerable.Empty<TService> (); |
1966 | } |
1967 | } |
1968 | + |
1969 | + /// <summary> |
1970 | + /// loops through the Property members of this class, and if it's a strict service gets it's value. |
1971 | + /// This will in turn cause a LocateService call, and the appropriate service will be loaded. |
1972 | + /// </summary> |
1973 | + static void InitializeStrictServices () |
1974 | + { |
1975 | + foreach (PropertyInfo property in typeof (Services).GetProperties ()) { |
1976 | + Type returnType = property.PropertyType; |
1977 | + if (returnType.GetInterface ("Do.Platform.IStrictService") != null) { |
1978 | + // this looks stupid, but this is how you call the method on static classes. |
1979 | + property.GetValue (null, null); |
1980 | + } |
1981 | + } |
1982 | + } |
1983 | } |
1984 | } |
1985 | |
1986 | === modified file 'Do.mds' |
1987 | --- Do.mds 2009-04-22 04:42:48 +0000 |
1988 | +++ Do.mds 2009-06-22 15:51:57 +0000 |
1989 | @@ -15,6 +15,7 @@ |
1990 | <Entry build="True" name="Do.Interface.Linux.HUD" configuration="Debug" /> |
1991 | <Entry build="True" name="Do.Interface.Wink" configuration="Debug" /> |
1992 | <Entry build="True" name="Do.Interface.Linux.AnimationBase" configuration="Debug" /> |
1993 | + <Entry build="True" name="Do.Platform.Linux.JoliCloud" configuration="Debug" /> |
1994 | </Configuration> |
1995 | <Configuration name="Release" ctype="CombineConfiguration"> |
1996 | <Entry build="True" name="Do" configuration="Release" /> |
1997 | @@ -31,6 +32,7 @@ |
1998 | <Entry build="True" name="Do.Interface.Linux.HUD" configuration="Release" /> |
1999 | <Entry build="True" name="Do.Interface.Wink" configuration="Release" /> |
2000 | <Entry build="True" name="Do.Interface.Linux.AnimationBase" configuration="Release" /> |
2001 | + <Entry build="True" name="Do.Platform.Linux.JoliCloud" configuration="Release" /> |
2002 | <CustomCommands> |
2003 | <Command type="BeforeBuild" command="autogen.sh --enable-release=YES" workingdir="${CombineDir}" /> |
2004 | </CustomCommands> |
2005 | @@ -51,6 +53,7 @@ |
2006 | <Execute type="None" entry="Do.Interface.Linux.HUD" /> |
2007 | <Execute type="None" entry="Do.Interface.Wink" /> |
2008 | <Execute type="None" entry="Do.Interface.Linux.AnimationBase" /> |
2009 | + <Execute type="None" entry="Do.Platform.Linux.JoliCloud" /> |
2010 | </StartMode> |
2011 | <Entries> |
2012 | <Entry filename="Do/Do.mdp" /> |
2013 | @@ -67,5 +70,6 @@ |
2014 | <Entry filename="Do.Interface.Linux.HUD/Do.Interface.Linux.HUD.mdp" /> |
2015 | <Entry filename="Do.Interface.Wink/Do.Interface.Wink.mdp" /> |
2016 | <Entry filename="Do.Interface.Linux.AnimationBase/Do.Interface.Linux.AnimationBase.mdp" /> |
2017 | + <Entry filename="Do.Platform.Linux.JoliCloud/Do.Platform.Linux.JoliCloud.mdp" /> |
2018 | </Entries> |
2019 | </Combine> |
2020 | \ No newline at end of file |
2021 | |
2022 | === modified file 'Do/Do.mdp' |
2023 | --- Do/Do.mdp 2009-06-17 01:44:57 +0000 |
2024 | +++ Do/Do.mdp 2009-06-23 16:25:39 +0000 |
2025 | @@ -89,13 +89,11 @@ |
2026 | <File name="src/Do.Core/Shortcut.cs" subtype="Code" buildaction="Compile" /> |
2027 | <File name="src/Do.Core/ShortcutCallback.cs" subtype="Code" buildaction="Compile" /> |
2028 | <File name="src/Do.Core/Do.Core.Addins/DockletAddinClassifier.cs" subtype="Code" buildaction="Compile" /> |
2029 | + <File name="src/Do.Platform/PluginManagerService.cs" subtype="Code" buildaction="Compile" /> |
2030 | </Contents> |
2031 | <References> |
2032 | <ProjectReference type="Gac" localcopy="True" refto="System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> |
2033 | <ProjectReference type="Gac" localcopy="True" refto="Mono.Posix, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756" /> |
2034 | - <ProjectReference type="Gac" localcopy="True" refto="Mono.Addins, Version=0.2.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756" /> |
2035 | - <ProjectReference type="Gac" localcopy="True" refto="Mono.Addins.Gui, Version=0.3.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756" /> |
2036 | - <ProjectReference type="Gac" localcopy="True" refto="Mono.Addins.Setup, Version=0.3.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756" /> |
2037 | <ProjectReference type="Gac" localcopy="True" refto="gdk-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" /> |
2038 | <ProjectReference type="Gac" localcopy="True" refto="gtk-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" /> |
2039 | <ProjectReference type="Gac" localcopy="True" refto="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> |
2040 | @@ -107,6 +105,9 @@ |
2041 | <ProjectReference type="Gac" localcopy="True" refto="System.Xml, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> |
2042 | <ProjectReference type="Project" localcopy="True" refto="Do.Interface.Linux.AnimationBase" /> |
2043 | <ProjectReference type="Gac" localcopy="True" refto="pango-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" /> |
2044 | + <ProjectReference type="Gac" localcopy="True" refto="Mono.Addins, Version=0.4.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756" /> |
2045 | + <ProjectReference type="Gac" localcopy="True" refto="Mono.Addins.Gui, Version=0.4.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756" /> |
2046 | + <ProjectReference type="Gac" localcopy="True" refto="Mono.Addins.Setup, Version=0.4.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756" /> |
2047 | </References> |
2048 | <LanguageParameters ApplicationIcon="../../../../../jason/do/trunk-merge/Do" ctype="CSharpProjectParameters" /> |
2049 | <Deployment.LinuxDeployData scriptName="gnome-do" /> |
2050 | |
2051 | === modified file 'Do/Makefile.am' |
2052 | --- Do/Makefile.am 2009-06-17 01:44:57 +0000 |
2053 | +++ Do/Makefile.am 2009-06-23 15:35:41 +0000 |
2054 | @@ -41,6 +41,7 @@ |
2055 | src/Do.Platform/CoreService.cs \ |
2056 | src/Do.Platform/ApplicationService.cs \ |
2057 | src/Do.Platform/WindowingService.cs \ |
2058 | + src/Do.Platform/PluginManagerService.cs \ |
2059 | src/Do.UI/ColorConfigurationWidget.cs \ |
2060 | src/Do.UI/DoAddinInstallerDialog.cs \ |
2061 | src/Do.UI/GeneralPreferencesWidget.cs \ |
2062 | |
2063 | === modified file 'Do/Resources/Do.addin.xml' |
2064 | --- Do/Resources/Do.addin.xml 2009-01-15 07:05:51 +0000 |
2065 | +++ Do/Resources/Do.addin.xml 2009-06-23 15:35:41 +0000 |
2066 | @@ -11,8 +11,9 @@ |
2067 | |
2068 | <Extension path="/Do/Service"> |
2069 | <Service type="Do.Platform.CoreService" /> |
2070 | + <Service type="Do.Platform.WindowingService" /> |
2071 | <Service type="Do.Platform.ApplicationService" /> |
2072 | - <Service type="Do.Platform.WindowingService" /> |
2073 | + <Service type="Do.Platform.PluginManagerService" /> |
2074 | </Extension> |
2075 | |
2076 | <Extension path="/Do/ItemSource"> |
2077 | |
2078 | === modified file 'Do/gtk-gui/Do.UI.DoAddinInstallerDialog.cs' |
2079 | --- Do/gtk-gui/Do.UI.DoAddinInstallerDialog.cs 2009-05-27 14:56:37 +0000 |
2080 | +++ Do/gtk-gui/Do.UI.DoAddinInstallerDialog.cs 2009-06-23 16:25:39 +0000 |
2081 | @@ -122,7 +122,7 @@ |
2082 | w11.Spacing = 2; |
2083 | // Container child GtkHBox1.Gtk.Container+ContainerChild |
2084 | Gtk.Image w12 = new Gtk.Image(); |
2085 | - w12.Pixbuf = Stetic.IconLoader.LoadIcon(this, "gtk-ok", Gtk.IconSize.Button, 16); |
2086 | + w12.Pixbuf = Stetic.IconLoader.LoadIcon(this, "gtk-ok", Gtk.IconSize.Button, 20); |
2087 | w11.Add(w12); |
2088 | // Container child GtkHBox1.Gtk.Container+ContainerChild |
2089 | Gtk.Label w14 = new Gtk.Label(); |
2090 | |
2091 | === modified file 'Do/gtk-gui/Do.UI.ManagePluginsPreferencesWidget.cs' |
2092 | --- Do/gtk-gui/Do.UI.ManagePluginsPreferencesWidget.cs 2009-05-27 14:56:37 +0000 |
2093 | +++ Do/gtk-gui/Do.UI.ManagePluginsPreferencesWidget.cs 2009-06-23 16:25:39 +0000 |
2094 | @@ -124,7 +124,7 @@ |
2095 | w9.Spacing = 2; |
2096 | // Container child GtkHBox.Gtk.Container+ContainerChild |
2097 | Gtk.Image w10 = new Gtk.Image(); |
2098 | - w10.Pixbuf = Stetic.IconLoader.LoadIcon(this, "gtk-preferences", Gtk.IconSize.Button, 16); |
2099 | + w10.Pixbuf = Stetic.IconLoader.LoadIcon(this, "gtk-preferences", Gtk.IconSize.Button, 20); |
2100 | w9.Add(w10); |
2101 | // Container child GtkHBox.Gtk.Container+ContainerChild |
2102 | Gtk.Label w12 = new Gtk.Label(); |
2103 | |
2104 | === modified file 'Do/gtk-gui/gui.stetic' |
2105 | --- Do/gtk-gui/gui.stetic 2009-06-21 02:20:30 +0000 |
2106 | +++ Do/gtk-gui/gui.stetic 2009-06-23 16:48:52 +0000 |
2107 | @@ -5,10 +5,10 @@ |
2108 | <target-gtk-version>2.12</target-gtk-version> |
2109 | </configuration> |
2110 | <import> |
2111 | - <widget-library name="Mono.Addins.Gui, Version=0.4.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756" /> |
2112 | <widget-library name="../../Do.Platform.Linux/bin/Debug/Do.Platform.Linux.dll" /> |
2113 | <widget-library name="../../Do.Interface.Linux/bin/Debug/Do.Interface.Linux.dll" /> |
2114 | <widget-library name="../../Do.Interface.Linux.AnimationBase/bin/Debug/Do.Interface.Linux.AnimationBase.dll" /> |
2115 | + <widget-library name="Mono.Addins.Gui, Version=0.4.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756" /> |
2116 | <widget-library name="../bin/Debug/Do.exe" internal="true" /> |
2117 | </import> |
2118 | <widget class="Gtk.Window" id="Do.UI.PreferencesWindow" design-size="450 470"> |
2119 | |
2120 | === modified file 'Do/src/Do.Core/PluginManager.cs' |
2121 | --- Do/src/Do.Core/PluginManager.cs 2009-06-05 19:45:45 +0000 |
2122 | +++ Do/src/Do.Core/PluginManager.cs 2009-06-23 15:35:41 +0000 |
2123 | @@ -42,7 +42,7 @@ |
2124 | /// <summary> |
2125 | /// PluginManager serves as Do's primary interface to Mono.Addins. |
2126 | /// </summary> |
2127 | - internal class PluginManager |
2128 | + public class PluginManager |
2129 | { |
2130 | const string DefaultPluginIcon = "folder_tar"; |
2131 | |
2132 | @@ -103,6 +103,11 @@ |
2133 | manual.ForEach (dll => File.Delete (dll)); |
2134 | } |
2135 | |
2136 | + public static IEnumerable<Addin> GetAddins () |
2137 | + { |
2138 | + return AddinManager.Registry.GetAddins (); |
2139 | + } |
2140 | + |
2141 | public static bool PluginClassifiesAs (AddinRepositoryEntry entry, string className) |
2142 | { |
2143 | AddinClassifier classifier = Classifiers.FirstOrDefault (c => c.Name == className); |
2144 | |
2145 | === added file 'Do/src/Do.Platform/PluginManagerService.cs' |
2146 | --- Do/src/Do.Platform/PluginManagerService.cs 1970-01-01 00:00:00 +0000 |
2147 | +++ Do/src/Do.Platform/PluginManagerService.cs 2009-06-23 16:48:52 +0000 |
2148 | @@ -0,0 +1,45 @@ |
2149 | +// PluginManagerService.cs |
2150 | +// |
2151 | +// GNOME Do is the legal property of its developers. Please refer to the |
2152 | +// COPYRIGHT file distributed with this source distribution. |
2153 | +// |
2154 | +// This program is free software: you can redistribute it and/or modify |
2155 | +// it under the terms of the GNU General Public License as published by |
2156 | +// the Free Software Foundation, either version 3 of the License, or |
2157 | +// (at your option) any later version. |
2158 | +// |
2159 | +// This program is distributed in the hope that it will be useful, |
2160 | +// but WITHOUT ANY WARRANTY; without even the implied warranty of |
2161 | +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
2162 | +// GNU General Public License for more details. |
2163 | +// |
2164 | +// You should have received a copy of the GNU General Public License |
2165 | +// along with this program. If not, see <http://www.gnu.org/licenses/>. |
2166 | + |
2167 | +using System; |
2168 | +using System.Linq; |
2169 | +using System.Collections.Generic; |
2170 | + |
2171 | +using Mono.Addins; |
2172 | + |
2173 | +using Do.Core; |
2174 | + |
2175 | +namespace Do.Platform |
2176 | +{ |
2177 | + |
2178 | + public class PluginManagerService : IPluginManagerService |
2179 | + { |
2180 | +#region IPluginManagerService Implementation |
2181 | + public Addin [] GetAddins () |
2182 | + { |
2183 | + return PluginManager.GetAddins ().ToArray (); |
2184 | + } |
2185 | + |
2186 | + public void Install (Addin addin) |
2187 | + { |
2188 | + addin.Enabled = true; |
2189 | + Do.UniverseManager.Reload (); |
2190 | + } |
2191 | +#endregion |
2192 | + } |
2193 | +} |
2194 | |
2195 | === modified file 'Makefile.am' |
2196 | --- Makefile.am 2009-04-21 03:00:56 +0000 |
2197 | +++ Makefile.am 2009-06-22 15:51:57 +0000 |
2198 | @@ -11,6 +11,7 @@ |
2199 | Do.Interface.Wink \ |
2200 | Do.Interface.Linux \ |
2201 | Do.Platform.Linux \ |
2202 | + Do.Platform.Linux.JoliCloud \ |
2203 | Do.Interface.Linux.AnimationBase \ |
2204 | Do.Interface.Linux.Classic \ |
2205 | Do.Interface.Linux.Docky \ |
2206 | |
2207 | === modified file 'configure.ac' |
2208 | --- configure.ac 2009-05-15 05:51:40 +0000 |
2209 | +++ configure.ac 2009-06-22 15:51:57 +0000 |
2210 | @@ -141,6 +141,8 @@ |
2211 | Do.Platform/src/AssemblyInfo.cs |
2212 | Do.Platform.Linux/Makefile |
2213 | Do.Platform.Linux/src/AssemblyInfo.cs |
2214 | +Do.Platform.Linux.JoliCloud/Makefile |
2215 | +Do.Platform.Linux.JoliCloud/src/AssemblyInfo.cs |
2216 | Do.Platform.OSX/AssemblyInfo.cs |
2217 | Do.Platform.Windows/AssemblyInfo.cs |
2218 | Do.Universe/Makefile |
Interface for hooking into the package manager, and a reference implementation for JoliCloud.