Merge lp:~ubuntu-branches/ubuntu/natty/banshee/natty-201103250238 into lp:ubuntu/natty/banshee
- Natty (11.04)
- natty-201103250238
- Merge into natty
Proposed by
James Westby
Status: | Work in progress |
---|---|
Proposed branch: | lp:~ubuntu-branches/ubuntu/natty/banshee/natty-201103250238 |
Merge into: | lp:ubuntu/natty/banshee |
Diff against target: |
3429 lines (+135/-2788) (has conflicts) 35 files modified
.pc/.version (+0/-1) .pc/0001-Revert-ArtworkManager-Cache-null-artwork-for-fast-lo.patch/src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ArtworkManager.cs (+0/-465) .pc/01_Debranch-netbook-interface.patch/src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MeeGoPanel.cs (+0/-113) .pc/01_Debranch-netbook-interface.patch/src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MeeGoService.cs (+0/-145) .pc/02_only-show-netbook-panel-on-request.patch/src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MeeGoService.cs (+0/-145) .pc/03_quit-only-on-explicit-shutdown-request.patch/src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MeeGoService.cs (+0/-147) .pc/04_enable-switching-between-the-2-interfaces.patch/src/Core/Banshee.ThickClient/Resources/core-ui-actions-layout.xml (+0/-237) .pc/04_enable-switching-between-the-2-interfaces.patch/src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MeeGoPanel.cs (+0/-113) .pc/04_enable-switching-between-the-2-interfaces.patch/src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MeeGoService.cs (+0/-142) .pc/05_show-a-empty-library-message-in-banshee.patch/src/Core/Banshee.Services/Banshee.Library/MusicLibrarySource.cs (+0/-174) .pc/05_show-a-empty-library-message-in-banshee.patch/src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MediaPanelContents.cs (+0/-412) .pc/06_add-meego-desktop-file.patch/src/Extensions/Banshee.MeeGo/Makefile.am (+0/-61) .pc/07_disable-notification-area-by-default.patch/src/Extensions/Banshee.NotificationArea/Banshee.NotificationArea.addin.xml (+0/-23) .pc/07_enable-library-watch-by-default.patch/src/Extensions/Banshee.LibraryWatcher/Banshee.LibraryWatcher.addin.xml (+0/-22) .pc/07_enable-mpris-by-default.patch/src/Extensions/Banshee.Mpris/Banshee.Mpris.addin.xml (+0/-21) .pc/07_enable-soundmenu-by-default.patch/src/Extensions/Banshee.SoundMenu/Banshee.SoundMenu.addin.xml (+0/-24) .pc/08_remove_unrelevant_media.patch/src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MediaPanelContents.cs (+0/-422) debian/changelog (+10/-0) debian/patches/0001-Add-support-for-u1ms-links.patch (+83/-0) debian/patches/series (+1/-0) ltmain.sh (+0/-14) src/Core/Banshee.Services/Banshee.Library/MusicLibrarySource.cs (+0/-9) src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ArtworkManager.cs (+15/-0) src/Core/Banshee.ThickClient/Resources/core-ui-actions-layout.xml (+0/-1) src/Extensions/Banshee.LibraryWatcher/Banshee.LibraryWatcher.addin.xml (+1/-1) src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MediaPanelContents.cs (+2/-12) src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MeeGoPanel.cs (+6/-15) src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MeeGoService.cs (+7/-40) src/Extensions/Banshee.MeeGo/Makefile.am (+2/-6) src/Extensions/Banshee.MeeGo/Makefile.in (+4/-8) src/Extensions/Banshee.MeeGo/banshee-1.desktop.in.in (+0/-11) src/Extensions/Banshee.Mpris/Banshee.Mpris.addin.xml (+1/-1) src/Extensions/Banshee.NotificationArea/Banshee.NotificationArea.addin.xml (+1/-1) src/Extensions/Banshee.SoundMenu/Banshee.SoundMenu.addin.xml (+1/-1) src/Extensions/Banshee.UbuntuOneMusicStore/Banshee.UbuntuOneMusicStore.addin.xml (+1/-1) Conflict: can't delete .pc because it is not empty. Not deleting. Conflict because .pc is not versioned, but has versioned children. Versioned directory. Conflict: can't delete .pc/06_add-meego-desktop-file.patch because it is not empty. Not deleting. Conflict because .pc/06_add-meego-desktop-file.patch is not versioned, but has versioned children. Versioned directory. Conflict: can't delete .pc/06_add-meego-desktop-file.patch/src because it is not empty. Not deleting. Conflict because .pc/06_add-meego-desktop-file.patch/src is not versioned, but has versioned children. Versioned directory. Conflict: can't delete .pc/06_add-meego-desktop-file.patch/src/Extensions because it is not empty. Not deleting. Conflict because .pc/06_add-meego-desktop-file.patch/src/Extensions is not versioned, but has versioned children. Versioned directory. Conflict: can't delete .pc/06_add-meego-desktop-file.patch/src/Extensions/Banshee.MeeGo because it is not empty. Not deleting. Conflict because .pc/06_add-meego-desktop-file.patch/src/Extensions/Banshee.MeeGo is not versioned, but has versioned children. Versioned directory. Contents conflict in .pc/06_add-meego-desktop-file.patch/src/Extensions/Banshee.MeeGo/Makefile.in Conflict: can't delete .pc/99_ltmain_as-needed.patch because it is not empty. Not deleting. Conflict because .pc/99_ltmain_as-needed.patch is not versioned, but has versioned children. Versioned directory. Contents conflict in .pc/99_ltmain_as-needed.patch/ltmain.sh Contents conflict in .pc/applied-patches Text conflict in debian/changelog |
To merge this branch: | bzr merge lp:~ubuntu-branches/ubuntu/natty/banshee/natty-201103250238 |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Ubuntu branches | Pending | ||
Review via email: mp+55083@code.launchpad.net |
Commit message
Description of the change
The package history in the archive and the history in the bzr branch differ. As the archive is authoritative the history of lp:ubuntu/natty/banshee now reflects that and the old bzr branch has been pushed to lp:~ubuntu-branches/ubuntu/natty/banshee/natty-201103250238. A merge should be performed if necessary.
To post a comment you must log in.
Unmerged revisions
- 112. By Ken VanDine
-
releasing version 1.9.4-1ubuntu2
- 111. By Ken VanDine
-
unapplied quilt patches and removed the .pc dir from the bzr tree
- 110. By Ken VanDine
-
* 0001-Add-
support- for-u1ms- links.patch:
- Handle u1ms:// links in the U1 Music Store (LP: #723960)
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === removed file '.pc/.version' |
2 | --- .pc/.version 2011-02-20 14:48:54 +0000 |
3 | +++ .pc/.version 1970-01-01 00:00:00 +0000 |
4 | @@ -1,1 +0,0 @@ |
5 | -2 |
6 | |
7 | === removed directory '.pc/0001-Revert-ArtworkManager-Cache-null-artwork-for-fast-lo.patch' |
8 | === removed directory '.pc/0001-Revert-ArtworkManager-Cache-null-artwork-for-fast-lo.patch/src' |
9 | === removed directory '.pc/0001-Revert-ArtworkManager-Cache-null-artwork-for-fast-lo.patch/src/Core' |
10 | === removed directory '.pc/0001-Revert-ArtworkManager-Cache-null-artwork-for-fast-lo.patch/src/Core/Banshee.ThickClient' |
11 | === removed directory '.pc/0001-Revert-ArtworkManager-Cache-null-artwork-for-fast-lo.patch/src/Core/Banshee.ThickClient/Banshee.Collection.Gui' |
12 | === removed file '.pc/0001-Revert-ArtworkManager-Cache-null-artwork-for-fast-lo.patch/src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ArtworkManager.cs' |
13 | --- .pc/0001-Revert-ArtworkManager-Cache-null-artwork-for-fast-lo.patch/src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ArtworkManager.cs 2011-02-20 14:48:54 +0000 |
14 | +++ .pc/0001-Revert-ArtworkManager-Cache-null-artwork-for-fast-lo.patch/src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ArtworkManager.cs 1970-01-01 00:00:00 +0000 |
15 | @@ -1,465 +0,0 @@ |
16 | -// |
17 | -// ArtworkManager.cs |
18 | -// |
19 | -// Author: |
20 | -// Aaron Bockover <abockover@novell.com> |
21 | -// |
22 | -// Copyright (C) 2007-2008 Novell, Inc. |
23 | -// |
24 | -// Permission is hereby granted, free of charge, to any person obtaining |
25 | -// a copy of this software and associated documentation files (the |
26 | -// "Software"), to deal in the Software without restriction, including |
27 | -// without limitation the rights to use, copy, modify, merge, publish, |
28 | -// distribute, sublicense, and/or sell copies of the Software, and to |
29 | -// permit persons to whom the Software is furnished to do so, subject to |
30 | -// the following conditions: |
31 | -// |
32 | -// The above copyright notice and this permission notice shall be |
33 | -// included in all copies or substantial portions of the Software. |
34 | -// |
35 | -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, |
36 | -// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF |
37 | -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND |
38 | -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE |
39 | -// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION |
40 | -// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION |
41 | -// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
42 | -// |
43 | - |
44 | -using System; |
45 | -using System.Collections.Generic; |
46 | -using System.Text.RegularExpressions; |
47 | - |
48 | -using Mono.Unix; |
49 | - |
50 | -using Gdk; |
51 | - |
52 | -using Hyena; |
53 | -using Hyena.Gui; |
54 | -using Hyena.Collections; |
55 | -using Hyena.Data.Sqlite; |
56 | - |
57 | -using Banshee.Base; |
58 | -using Banshee.IO; |
59 | -using Banshee.ServiceStack; |
60 | - |
61 | -namespace Banshee.Collection.Gui |
62 | -{ |
63 | - public class ArtworkManager : IService |
64 | - { |
65 | - private Dictionary<int, SurfaceCache> scale_caches = new Dictionary<int, SurfaceCache> (); |
66 | - private HashSet<int> cacheable_cover_sizes = new HashSet<int> (); |
67 | - private HashSet<string> null_artwork_ids = new HashSet<string> (); |
68 | - |
69 | - private class SurfaceCache : LruCache<string, Cairo.ImageSurface> |
70 | - { |
71 | - public SurfaceCache (int max_items) : base (max_items) |
72 | - { |
73 | - } |
74 | - |
75 | - protected override void ExpireItem (Cairo.ImageSurface item) |
76 | - { |
77 | - if (item != null) { |
78 | - ((IDisposable)item).Dispose (); |
79 | - } |
80 | - } |
81 | - } |
82 | - |
83 | - public ArtworkManager () |
84 | - { |
85 | - AddCachedSize (36); |
86 | - AddCachedSize (40); |
87 | - AddCachedSize (42); |
88 | - AddCachedSize (48); |
89 | - AddCachedSize (64); |
90 | - AddCachedSize (90); |
91 | - AddCachedSize (300); |
92 | - |
93 | - try { |
94 | - MigrateCacheDir (); |
95 | - } catch (Exception e) { |
96 | - Log.Exception ("Could not migrate album artwork cache directory", e); |
97 | - } |
98 | - |
99 | - Banshee.Metadata.MetadataService.Instance.ArtworkUpdated += OnArtworkUpdated; |
100 | - } |
101 | - |
102 | - public void Dispose () |
103 | - { |
104 | - Banshee.Metadata.MetadataService.Instance.ArtworkUpdated -= OnArtworkUpdated; |
105 | - } |
106 | - |
107 | - private void OnArtworkUpdated (IBasicTrackInfo track) |
108 | - { |
109 | - ClearCacheFor (track.ArtworkId, true); |
110 | - } |
111 | - |
112 | - public Cairo.ImageSurface LookupSurface (string id) |
113 | - { |
114 | - return LookupScaleSurface (id, 0); |
115 | - } |
116 | - |
117 | - public Cairo.ImageSurface LookupScaleSurface (string id, int size) |
118 | - { |
119 | - return LookupScaleSurface (id, size, false); |
120 | - } |
121 | - |
122 | - public Cairo.ImageSurface LookupScaleSurface (string id, int size, bool useCache) |
123 | - { |
124 | - SurfaceCache cache = null; |
125 | - Cairo.ImageSurface surface = null; |
126 | - |
127 | - if (id == null) { |
128 | - return null; |
129 | - } |
130 | - |
131 | - if (useCache && scale_caches.TryGetValue (size, out cache) && cache.TryGetValue (id, out surface)) { |
132 | - return surface; |
133 | - } |
134 | - |
135 | - if (null_artwork_ids.Contains (id)) { |
136 | - return null; |
137 | - } |
138 | - |
139 | - Pixbuf pixbuf = LookupScalePixbuf (id, size); |
140 | - if (pixbuf == null || pixbuf.Handle == IntPtr.Zero) { |
141 | - null_artwork_ids.Add (id); |
142 | - return null; |
143 | - } |
144 | - |
145 | - try { |
146 | - surface = PixbufImageSurface.Create (pixbuf); |
147 | - if (surface == null) { |
148 | - return null; |
149 | - } |
150 | - |
151 | - if (!useCache) { |
152 | - return surface; |
153 | - } |
154 | - |
155 | - if (cache == null) { |
156 | - int bytes = 4 * size * size; |
157 | - int max = (1 << 20) / bytes; |
158 | - |
159 | - ChangeCacheSize (size, max); |
160 | - cache = scale_caches[size]; |
161 | - } |
162 | - |
163 | - cache.Add (id, surface); |
164 | - return surface; |
165 | - } finally { |
166 | - DisposePixbuf (pixbuf); |
167 | - } |
168 | - } |
169 | - |
170 | - public Pixbuf LookupPixbuf (string id) |
171 | - { |
172 | - return LookupScalePixbuf (id, 0); |
173 | - } |
174 | - |
175 | - public Pixbuf LookupScalePixbuf (string id, int size) |
176 | - { |
177 | - if (id == null || (size != 0 && size < 10)) { |
178 | - return null; |
179 | - } |
180 | - |
181 | - if (null_artwork_ids.Contains (id)) { |
182 | - return null; |
183 | - } |
184 | - |
185 | - // Find the scaled, cached file |
186 | - string path = CoverArtSpec.GetPathForSize (id, size); |
187 | - if (File.Exists (new SafeUri (path))) { |
188 | - try { |
189 | - return new Pixbuf (path); |
190 | - } catch { |
191 | - null_artwork_ids.Add (id); |
192 | - return null; |
193 | - } |
194 | - } |
195 | - |
196 | - string orig_path = CoverArtSpec.GetPathForSize (id, 0); |
197 | - bool orig_exists = File.Exists (new SafeUri (orig_path)); |
198 | - |
199 | - if (!orig_exists) { |
200 | - // It's possible there is an image with extension .cover that's waiting |
201 | - // to be converted into a jpeg |
202 | - string unconverted_path = System.IO.Path.ChangeExtension (orig_path, "cover"); |
203 | - if (File.Exists (new SafeUri (unconverted_path))) { |
204 | - try { |
205 | - Pixbuf pixbuf = new Pixbuf (unconverted_path); |
206 | - if (pixbuf.Width < 50 || pixbuf.Height < 50) { |
207 | - Hyena.Log.DebugFormat ("Ignoring cover art {0} because less than 50x50", unconverted_path); |
208 | - null_artwork_ids.Add (id); |
209 | - return null; |
210 | - } |
211 | - |
212 | - pixbuf.Save (orig_path, "jpeg"); |
213 | - orig_exists = true; |
214 | - } catch { |
215 | - } finally { |
216 | - File.Delete (new SafeUri (unconverted_path)); |
217 | - } |
218 | - } |
219 | - } |
220 | - |
221 | - if (orig_exists && size >= 10) { |
222 | - try { |
223 | - Pixbuf pixbuf = new Pixbuf (orig_path); |
224 | - |
225 | - // Make it square if width and height difference is within 20% |
226 | - const double max_ratio = 1.2; |
227 | - double ratio = (double)pixbuf.Height / pixbuf.Width; |
228 | - int width = size, height = size; |
229 | - if (ratio > max_ratio) { |
230 | - width = (int)Math.Round (size / ratio); |
231 | - }else if (ratio < 1d / max_ratio) { |
232 | - height = (int)Math.Round (size * ratio); |
233 | - } |
234 | - |
235 | - Pixbuf scaled_pixbuf = pixbuf.ScaleSimple (width, height, Gdk.InterpType.Bilinear); |
236 | - |
237 | - if (IsCachedSize (size)) { |
238 | - Directory.Create (System.IO.Path.GetDirectoryName (path)); |
239 | - scaled_pixbuf.Save (path, "jpeg"); |
240 | - } else { |
241 | - Log.InformationFormat ("Uncached artwork size {0} requested", size); |
242 | - } |
243 | - |
244 | - DisposePixbuf (pixbuf); |
245 | - return scaled_pixbuf; |
246 | - } catch {} |
247 | - } |
248 | - |
249 | - null_artwork_ids.Add (id); |
250 | - return null; |
251 | - } |
252 | - |
253 | - public void ClearCacheFor (string id) |
254 | - { |
255 | - ClearCacheFor (id, false); |
256 | - } |
257 | - |
258 | - public void ClearCacheFor (string id, bool inMemoryCacheOnly) |
259 | - { |
260 | - if (String.IsNullOrEmpty (id)) { |
261 | - return; |
262 | - } |
263 | - |
264 | - // Clear from the in-memory cache |
265 | - foreach (int size in scale_caches.Keys) { |
266 | - scale_caches[size].Remove (id); |
267 | - } |
268 | - |
269 | - null_artwork_ids.Remove (id); |
270 | - |
271 | - if (inMemoryCacheOnly) { |
272 | - return; |
273 | - } |
274 | - |
275 | - // And delete from disk |
276 | - foreach (int size in CachedSizes ()) { |
277 | - var uri = new SafeUri (CoverArtSpec.GetPathForSize (id, size)); |
278 | - if (File.Exists (uri)) { |
279 | - File.Delete (uri); |
280 | - } |
281 | - } |
282 | - } |
283 | - |
284 | - public void AddCachedSize (int size) |
285 | - { |
286 | - cacheable_cover_sizes.Add (size); |
287 | - } |
288 | - |
289 | - public bool IsCachedSize (int size) |
290 | - { |
291 | - return cacheable_cover_sizes.Contains (size); |
292 | - } |
293 | - |
294 | - public IEnumerable<int> CachedSizes () |
295 | - { |
296 | - return cacheable_cover_sizes; |
297 | - } |
298 | - |
299 | - public void ChangeCacheSize (int size, int max_count) |
300 | - { |
301 | - SurfaceCache cache; |
302 | - if (scale_caches.TryGetValue (size, out cache)) { |
303 | - if (max_count > cache.MaxCount) { |
304 | - Log.DebugFormat ( |
305 | - "Growing surface cache for {0}px images to {1:0.00} MiB ({2} items)", |
306 | - size, 4 * size * size * max_count / 1048576d, max_count); |
307 | - cache.MaxCount = max_count; |
308 | - } |
309 | - } else { |
310 | - Log.DebugFormat ( |
311 | - "Creating new surface cache for {0}px images, capped at {1:0.00} MiB ({2} items)", |
312 | - size, 4 * size * size * max_count / 1048576d, max_count); |
313 | - scale_caches.Add (size, new SurfaceCache (max_count)); |
314 | - } |
315 | - } |
316 | - |
317 | - private static int dispose_count = 0; |
318 | - public static void DisposePixbuf (Pixbuf pixbuf) |
319 | - { |
320 | - if (pixbuf != null && pixbuf.Handle != IntPtr.Zero) { |
321 | - pixbuf.Dispose (); |
322 | - pixbuf = null; |
323 | - |
324 | - // There is an issue with disposing Pixbufs where we need to explicitly |
325 | - // call the GC otherwise it doesn't get done in a timely way. But if we |
326 | - // do it every time, it slows things down a lot; so only do it every 100th. |
327 | - if (++dispose_count % 100 == 0) { |
328 | - System.GC.Collect (); |
329 | - dispose_count = 0; |
330 | - } |
331 | - } |
332 | - } |
333 | - |
334 | - string IService.ServiceName { |
335 | - get { return "ArtworkManager"; } |
336 | - } |
337 | - |
338 | -#region Cache Directory Versioning/Migration |
339 | - |
340 | - private const int CUR_VERSION = 3; |
341 | - private void MigrateCacheDir () |
342 | - { |
343 | - int version = CacheVersion; |
344 | - if (version == CUR_VERSION) { |
345 | - return; |
346 | - } |
347 | - |
348 | - var legacy_root_path = CoverArtSpec.LegacyRootPath; |
349 | - |
350 | - if (version < 1) { |
351 | - string legacy_artwork_path = Paths.Combine (LegacyPaths.ApplicationData, "covers"); |
352 | - |
353 | - if (!Directory.Exists (legacy_root_path)) { |
354 | - Directory.Create (legacy_root_path); |
355 | - |
356 | - if (Directory.Exists (legacy_artwork_path)) { |
357 | - Directory.Move (new SafeUri (legacy_artwork_path), new SafeUri (legacy_root_path)); |
358 | - } |
359 | - } |
360 | - |
361 | - if (Directory.Exists (legacy_artwork_path)) { |
362 | - Log.InformationFormat ("Deleting old (Banshee < 1.0) artwork cache directory {0}", legacy_artwork_path); |
363 | - Directory.Delete (legacy_artwork_path, true); |
364 | - } |
365 | - } |
366 | - |
367 | - if (version < 2) { |
368 | - int deleted = 0; |
369 | - foreach (string dir in Directory.GetDirectories (legacy_root_path)) { |
370 | - int size; |
371 | - string dirname = System.IO.Path.GetFileName (dir); |
372 | - if (Int32.TryParse (dirname, out size) && !IsCachedSize (size)) { |
373 | - Directory.Delete (dir, true); |
374 | - deleted++; |
375 | - } |
376 | - } |
377 | - |
378 | - if (deleted > 0) { |
379 | - Log.InformationFormat ("Deleted {0} extraneous album-art cache directories", deleted); |
380 | - } |
381 | - } |
382 | - |
383 | - if (version < 3) { |
384 | - Log.Information ("Migrating album-art cache directory"); |
385 | - var started = DateTime.Now; |
386 | - int count = 0; |
387 | - |
388 | - var root_path = CoverArtSpec.RootPath; |
389 | - if (!Directory.Exists (root_path)) { |
390 | - Directory.Create (root_path); |
391 | - } |
392 | - |
393 | - string sql = "SELECT Title, ArtistName FROM CoreAlbums"; |
394 | - using (var reader = new HyenaDataReader (ServiceManager.DbConnection.Query (sql))) { |
395 | - while (reader.Read ()) { |
396 | - var album = reader.Get<string>(0); |
397 | - var artist = reader.Get<string>(1); |
398 | - var old_file = CoverArtSpec.CreateLegacyArtistAlbumId (artist, album); |
399 | - var new_file = CoverArtSpec.CreateArtistAlbumId (artist, album); |
400 | - |
401 | - if (String.IsNullOrEmpty (old_file) || String.IsNullOrEmpty (new_file)) { |
402 | - continue; |
403 | - } |
404 | - |
405 | - old_file = String.Format ("{0}.jpg", old_file); |
406 | - new_file = String.Format ("{0}.jpg", new_file); |
407 | - |
408 | - var old_path = new SafeUri (Paths.Combine (legacy_root_path, old_file)); |
409 | - var new_path = new SafeUri (Paths.Combine (root_path, new_file)); |
410 | - |
411 | - if (Banshee.IO.File.Exists (old_path) && !Banshee.IO.File.Exists (new_path)) { |
412 | - Banshee.IO.File.Move (old_path, new_path); |
413 | - count++; |
414 | - } |
415 | - } |
416 | - } |
417 | - |
418 | - if (ServiceManager.DbConnection.TableExists ("PodcastSyndications")) { |
419 | - sql = "SELECT Title FROM PodcastSyndications"; |
420 | - foreach (var title in ServiceManager.DbConnection.QueryEnumerable<string> (sql)) { |
421 | - var old_digest = CoverArtSpec.LegacyEscapePart (title); |
422 | - var new_digest = CoverArtSpec.Digest (title); |
423 | - |
424 | - if (String.IsNullOrEmpty (old_digest) || String.IsNullOrEmpty (new_digest)) { |
425 | - continue; |
426 | - } |
427 | - |
428 | - var old_file = String.Format ("podcast-{0}.jpg", old_digest); |
429 | - var new_file = String.Format ("podcast-{0}.jpg", new_digest); |
430 | - |
431 | - var old_path = new SafeUri (Paths.Combine (legacy_root_path, old_file)); |
432 | - var new_path = new SafeUri (Paths.Combine (root_path, new_file)); |
433 | - |
434 | - if (Banshee.IO.File.Exists (old_path) && !Banshee.IO.File.Exists (new_path)) { |
435 | - Banshee.IO.File.Move (old_path, new_path); |
436 | - count++; |
437 | - } |
438 | - } |
439 | - } |
440 | - |
441 | - Directory.Delete (legacy_root_path, true); |
442 | - Log.InformationFormat ("Migrated {0} files in {1}s", count, DateTime.Now.Subtract(started).TotalSeconds); |
443 | - } |
444 | - |
445 | - CacheVersion = CUR_VERSION; |
446 | - } |
447 | - |
448 | - private static SafeUri cache_version_file = new SafeUri (Paths.Combine (CoverArtSpec.RootPath, ".cache_version")); |
449 | - private static int CacheVersion { |
450 | - get { |
451 | - var file = cache_version_file; |
452 | - if (!Banshee.IO.File.Exists (file)) { |
453 | - file = new SafeUri (Paths.Combine (CoverArtSpec.LegacyRootPath, ".cache_version")); |
454 | - if (!Banshee.IO.File.Exists (file)) { |
455 | - file = null; |
456 | - } |
457 | - } |
458 | - |
459 | - if (file != null) { |
460 | - using (var reader = new System.IO.StreamReader (Banshee.IO.File.OpenRead (file))) { |
461 | - int version; |
462 | - if (Int32.TryParse (reader.ReadLine (), out version)) { |
463 | - return version; |
464 | - } |
465 | - } |
466 | - } |
467 | - |
468 | - return 0; |
469 | - } |
470 | - set { |
471 | - using (var writer = new System.IO.StreamWriter (Banshee.IO.File.OpenWrite (cache_version_file, true))) { |
472 | - writer.Write (value.ToString ()); |
473 | - } |
474 | - } |
475 | - } |
476 | - |
477 | -#endregion |
478 | - |
479 | - } |
480 | -} |
481 | |
482 | === removed directory '.pc/01_Debranch-netbook-interface.patch' |
483 | === removed directory '.pc/01_Debranch-netbook-interface.patch/src' |
484 | === removed directory '.pc/01_Debranch-netbook-interface.patch/src/Extensions' |
485 | === removed directory '.pc/01_Debranch-netbook-interface.patch/src/Extensions/Banshee.MeeGo' |
486 | === removed directory '.pc/01_Debranch-netbook-interface.patch/src/Extensions/Banshee.MeeGo/Banshee.MeeGo' |
487 | === removed file '.pc/01_Debranch-netbook-interface.patch/src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MeeGoPanel.cs' |
488 | --- .pc/01_Debranch-netbook-interface.patch/src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MeeGoPanel.cs 2011-02-20 14:48:54 +0000 |
489 | +++ .pc/01_Debranch-netbook-interface.patch/src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MeeGoPanel.cs 1970-01-01 00:00:00 +0000 |
490 | @@ -1,113 +0,0 @@ |
491 | -// |
492 | -// MeeGoPanel.cs |
493 | -// |
494 | -// Author: |
495 | -// Aaron Bockover <abockover@novell.com> |
496 | -// |
497 | -// Copyright 2009-2010 Novell, Inc. |
498 | -// |
499 | -// Permission is hereby granted, free of charge, to any person obtaining a copy |
500 | -// of this software and associated documentation files (the "Software"), to deal |
501 | -// in the Software without restriction, including without limitation the rights |
502 | -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |
503 | -// copies of the Software, and to permit persons to whom the Software is |
504 | -// furnished to do so, subject to the following conditions: |
505 | -// |
506 | -// The above copyright notice and this permission notice shall be included in |
507 | -// all copies or substantial portions of the Software. |
508 | -// |
509 | -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
510 | -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
511 | -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
512 | -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
513 | -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
514 | -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN |
515 | -// THE SOFTWARE. |
516 | - |
517 | -using System; |
518 | -using Mono.Unix; |
519 | - |
520 | -using Gtk; |
521 | -using MeeGo.Panel; |
522 | - |
523 | -using Hyena; |
524 | -using Banshee.Base; |
525 | -using Banshee.ServiceStack; |
526 | - |
527 | -namespace Banshee.MeeGo |
528 | -{ |
529 | - public class MeeGoPanel : IDisposable |
530 | - { |
531 | - public static MeeGoPanel Instance { get; private set; } |
532 | - |
533 | - private PanelGtk embedded_panel; |
534 | - private Window window_panel; |
535 | - |
536 | - public MediaPanelContents Contents { get; private set; } |
537 | - |
538 | - public MeeGoPanel () |
539 | - { |
540 | - if (Instance != null) { |
541 | - throw new InvalidOperationException ("Only one MeeGoPanel instance should exist"); |
542 | - } |
543 | - |
544 | - Instance = this; |
545 | - |
546 | - var timer = Log.DebugTimerStart (); |
547 | - |
548 | - try { |
549 | - Log.Debug ("Attempting to create MeeGo toolbar panel"); |
550 | - embedded_panel = new PanelGtk ("banshee", Catalog.GetString ("media"), |
551 | - null, "media-button", true); |
552 | - embedded_panel.ShowBeginEvent += (o, e) => { |
553 | - ServiceManager.SourceManager.SetActiveSource (ServiceManager.SourceManager.MusicLibrary); |
554 | - if (Contents != null) { |
555 | - Contents.SyncSearchEntry (); |
556 | - } |
557 | - }; |
558 | - while (Gtk.Application.EventsPending ()) { |
559 | - Gtk.Application.RunIteration (); |
560 | - } |
561 | - } catch (Exception e) { |
562 | - if (!(e is DllNotFoundException)) { |
563 | - Log.Exception ("Could not bind to MeeGo panel", e); |
564 | - } |
565 | - window_panel = new Gtk.Window ("MeeGo Media Panel"); |
566 | - } |
567 | - |
568 | - Log.DebugTimerPrint (timer, "MeeGo panel created: {0}"); |
569 | - } |
570 | - |
571 | - public void Dispose () |
572 | - { |
573 | - } |
574 | - |
575 | - public void BuildContents () |
576 | - { |
577 | - var timer = Log.DebugTimerStart (); |
578 | - Contents = new MediaPanelContents (); |
579 | - Contents.ShowAll (); |
580 | - Log.DebugTimerPrint (timer, "MeeGo panel contents created: {0}"); |
581 | - |
582 | - if (embedded_panel != null) { |
583 | - embedded_panel.SetChild (Contents); |
584 | - } else if (window_panel != null) { |
585 | - window_panel.Add (Contents); |
586 | - window_panel.SetDefaultSize (1000, 500); |
587 | - window_panel.WindowPosition = WindowPosition.Center; |
588 | - window_panel.Show (); |
589 | - GLib.Timeout.Add (1000, () => { |
590 | - window_panel.Present (); |
591 | - return false; |
592 | - }); |
593 | - } |
594 | - } |
595 | - |
596 | - public void Hide () |
597 | - { |
598 | - if (embedded_panel != null) { |
599 | - embedded_panel.Hide (); |
600 | - } |
601 | - } |
602 | - } |
603 | -} |
604 | |
605 | === removed file '.pc/01_Debranch-netbook-interface.patch/src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MeeGoService.cs' |
606 | --- .pc/01_Debranch-netbook-interface.patch/src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MeeGoService.cs 2011-02-20 14:48:54 +0000 |
607 | +++ .pc/01_Debranch-netbook-interface.patch/src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MeeGoService.cs 1970-01-01 00:00:00 +0000 |
608 | @@ -1,145 +0,0 @@ |
609 | -// |
610 | -// MeeGoService.cs |
611 | -// |
612 | -// Authors: |
613 | -// Aaron Bockover <abockover@novell.com> |
614 | -// |
615 | -// Copyright 2009-2010 Novell, Inc. |
616 | -// |
617 | -// Permission is hereby granted, free of charge, to any person obtaining |
618 | -// a copy of this software and associated documentation files (the |
619 | -// "Software"), to deal in the Software without restriction, including |
620 | -// without limitation the rights to use, copy, modify, merge, publish, |
621 | -// distribute, sublicense, and/or sell copies of the Software, and to |
622 | -// permit persons to whom the Software is furnished to do so, subject to |
623 | -// the following conditions: |
624 | -// |
625 | -// The above copyright notice and this permission notice shall be |
626 | -// included in all copies or substantial portions of the Software. |
627 | -// |
628 | -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, |
629 | -// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF |
630 | -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND |
631 | -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE |
632 | -// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION |
633 | -// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION |
634 | -// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
635 | -// |
636 | - |
637 | -using System; |
638 | -using Gtk; |
639 | -using MeeGo.Panel; |
640 | - |
641 | -using Hyena; |
642 | - |
643 | -using Banshee.Base; |
644 | -using Banshee.Collection; |
645 | -using Banshee.Sources; |
646 | -using Banshee.ServiceStack; |
647 | -using Banshee.MediaEngine; |
648 | -using Banshee.Gui; |
649 | - |
650 | -namespace Banshee.MeeGo |
651 | -{ |
652 | - public class MeeGoService : IExtensionService |
653 | - { |
654 | - private GtkElementsService elements_service; |
655 | - private InterfaceActionService interface_action_service; |
656 | - private SourceManager source_manager; |
657 | - private PlayerEngineService player; |
658 | - private MeeGoPanel panel; |
659 | - |
660 | - void IExtensionService.Initialize () |
661 | - { |
662 | - elements_service = ServiceManager.Get<GtkElementsService> (); |
663 | - interface_action_service = ServiceManager.Get<InterfaceActionService> (); |
664 | - source_manager = ServiceManager.SourceManager; |
665 | - player = ServiceManager.PlayerEngine; |
666 | - |
667 | - if (!ServiceStartup ()) { |
668 | - ServiceManager.ServiceStarted += OnServiceStarted; |
669 | - } |
670 | - } |
671 | - |
672 | - private void OnServiceStarted (ServiceStartedArgs args) |
673 | - { |
674 | - if (args.Service is Banshee.Gui.InterfaceActionService) { |
675 | - interface_action_service = (InterfaceActionService)args.Service; |
676 | - } else if (args.Service is GtkElementsService) { |
677 | - elements_service = (GtkElementsService)args.Service; |
678 | - } else if (args.Service is SourceManager) { |
679 | - source_manager = ServiceManager.SourceManager; |
680 | - } else if (args.Service is PlayerEngineService) { |
681 | - player = ServiceManager.PlayerEngine; |
682 | - } |
683 | - |
684 | - ServiceStartup (); |
685 | - } |
686 | - |
687 | - private bool ServiceStartup () |
688 | - { |
689 | - if (elements_service == null || interface_action_service == null || |
690 | - source_manager == null || player == null) { |
691 | - return false; |
692 | - } |
693 | - |
694 | - Initialize (); |
695 | - |
696 | - ServiceManager.ServiceStarted -= OnServiceStarted; |
697 | - |
698 | - return true; |
699 | - } |
700 | - |
701 | - private void Initialize () |
702 | - { |
703 | - // If Banshee is running from the MeeGo client entry assembly, |
704 | - // the MeeGoPanel will have already been created. If not, we |
705 | - // assume we're probably not really running in a MeeGo environment, |
706 | - // so we just create the panel here (which is likely to just be |
707 | - // a separate top-level window for testing). |
708 | - panel = MeeGoPanel.Instance ?? new MeeGoPanel (); |
709 | - |
710 | - if (panel == null) { |
711 | - Log.Warning ("MeeGo extension initialized without a panel"); |
712 | - return; |
713 | - } |
714 | - |
715 | - panel.BuildContents (); |
716 | - |
717 | - elements_service.PrimaryWindowClose = () => { |
718 | - elements_service.PrimaryWindow.Hide (); |
719 | - return true; |
720 | - }; |
721 | - |
722 | - // Since the Panel is running, we don't actually ever want to quit! |
723 | - Banshee.ServiceStack.Application.ShutdownRequested += () => { |
724 | - elements_service.PrimaryWindow.Hide (); |
725 | - return false; |
726 | - }; |
727 | - } |
728 | - |
729 | - public void PresentPrimaryInterface () |
730 | - { |
731 | - elements_service.PrimaryWindow.Maximize (); |
732 | - elements_service.PrimaryWindow.Present (); |
733 | - if (panel != null) { |
734 | - panel.Hide (); |
735 | - } |
736 | - } |
737 | - |
738 | - public void Dispose () |
739 | - { |
740 | - if (panel != null) { |
741 | - panel.Dispose (); |
742 | - panel = null; |
743 | - } |
744 | - |
745 | - interface_action_service = null; |
746 | - elements_service = null; |
747 | - } |
748 | - |
749 | - string IService.ServiceName { |
750 | - get { return "MeeGoService"; } |
751 | - } |
752 | - } |
753 | -} |
754 | |
755 | === removed directory '.pc/02_only-show-netbook-panel-on-request.patch' |
756 | === removed directory '.pc/02_only-show-netbook-panel-on-request.patch/src' |
757 | === removed directory '.pc/02_only-show-netbook-panel-on-request.patch/src/Extensions' |
758 | === removed directory '.pc/02_only-show-netbook-panel-on-request.patch/src/Extensions/Banshee.MeeGo' |
759 | === removed directory '.pc/02_only-show-netbook-panel-on-request.patch/src/Extensions/Banshee.MeeGo/Banshee.MeeGo' |
760 | === removed file '.pc/02_only-show-netbook-panel-on-request.patch/src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MeeGoService.cs' |
761 | --- .pc/02_only-show-netbook-panel-on-request.patch/src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MeeGoService.cs 2011-02-20 14:48:54 +0000 |
762 | +++ .pc/02_only-show-netbook-panel-on-request.patch/src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MeeGoService.cs 1970-01-01 00:00:00 +0000 |
763 | @@ -1,145 +0,0 @@ |
764 | -// |
765 | -// MeeGoService.cs |
766 | -// |
767 | -// Authors: |
768 | -// Aaron Bockover <abockover@novell.com> |
769 | -// |
770 | -// Copyright 2009-2010 Novell, Inc. |
771 | -// |
772 | -// Permission is hereby granted, free of charge, to any person obtaining |
773 | -// a copy of this software and associated documentation files (the |
774 | -// "Software"), to deal in the Software without restriction, including |
775 | -// without limitation the rights to use, copy, modify, merge, publish, |
776 | -// distribute, sublicense, and/or sell copies of the Software, and to |
777 | -// permit persons to whom the Software is furnished to do so, subject to |
778 | -// the following conditions: |
779 | -// |
780 | -// The above copyright notice and this permission notice shall be |
781 | -// included in all copies or substantial portions of the Software. |
782 | -// |
783 | -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, |
784 | -// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF |
785 | -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND |
786 | -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE |
787 | -// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION |
788 | -// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION |
789 | -// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
790 | -// |
791 | - |
792 | -using System; |
793 | -using Gtk; |
794 | -using MeeGo.Panel; |
795 | - |
796 | -using Hyena; |
797 | - |
798 | -using Banshee.Base; |
799 | -using Banshee.Collection; |
800 | -using Banshee.Sources; |
801 | -using Banshee.ServiceStack; |
802 | -using Banshee.MediaEngine; |
803 | -using Banshee.Gui; |
804 | - |
805 | -namespace Banshee.MeeGo |
806 | -{ |
807 | - public class MeeGoService : IExtensionService |
808 | - { |
809 | - private GtkElementsService elements_service; |
810 | - private InterfaceActionService interface_action_service; |
811 | - private SourceManager source_manager; |
812 | - private PlayerEngineService player; |
813 | - private MeeGoPanel panel; |
814 | - |
815 | - void IExtensionService.Initialize () |
816 | - { |
817 | - elements_service = ServiceManager.Get<GtkElementsService> (); |
818 | - interface_action_service = ServiceManager.Get<InterfaceActionService> (); |
819 | - source_manager = ServiceManager.SourceManager; |
820 | - player = ServiceManager.PlayerEngine; |
821 | - |
822 | - if (!ServiceStartup ()) { |
823 | - ServiceManager.ServiceStarted += OnServiceStarted; |
824 | - } |
825 | - } |
826 | - |
827 | - private void OnServiceStarted (ServiceStartedArgs args) |
828 | - { |
829 | - if (args.Service is Banshee.Gui.InterfaceActionService) { |
830 | - interface_action_service = (InterfaceActionService)args.Service; |
831 | - } else if (args.Service is GtkElementsService) { |
832 | - elements_service = (GtkElementsService)args.Service; |
833 | - } else if (args.Service is SourceManager) { |
834 | - source_manager = ServiceManager.SourceManager; |
835 | - } else if (args.Service is PlayerEngineService) { |
836 | - player = ServiceManager.PlayerEngine; |
837 | - } |
838 | - |
839 | - ServiceStartup (); |
840 | - } |
841 | - |
842 | - private bool ServiceStartup () |
843 | - { |
844 | - if (elements_service == null || interface_action_service == null || |
845 | - source_manager == null || player == null) { |
846 | - return false; |
847 | - } |
848 | - |
849 | - Initialize (); |
850 | - |
851 | - ServiceManager.ServiceStarted -= OnServiceStarted; |
852 | - |
853 | - return true; |
854 | - } |
855 | - |
856 | - private void Initialize () |
857 | - { |
858 | - // If Banshee is running from the MeeGo client entry assembly, |
859 | - // the MeeGoPanel will have already been created. If not, we |
860 | - // assume we're probably not really running in a MeeGo environment, |
861 | - // so we just create the panel here (which is likely to just be |
862 | - // a separate top-level window for testing). |
863 | - panel = MeeGoPanel.Instance ?? new MeeGoPanel (); |
864 | - |
865 | - if (panel == null) { |
866 | - Log.Warning ("Netbook extension initialized without a panel"); |
867 | - return; |
868 | - } |
869 | - |
870 | - panel.BuildContents (); |
871 | - |
872 | - elements_service.PrimaryWindowClose = () => { |
873 | - elements_service.PrimaryWindow.Hide (); |
874 | - return true; |
875 | - }; |
876 | - |
877 | - // Since the Panel is running, we don't actually ever want to quit! |
878 | - Banshee.ServiceStack.Application.ShutdownRequested += () => { |
879 | - elements_service.PrimaryWindow.Hide (); |
880 | - return false; |
881 | - }; |
882 | - } |
883 | - |
884 | - public void PresentPrimaryInterface () |
885 | - { |
886 | - elements_service.PrimaryWindow.Maximize (); |
887 | - elements_service.PrimaryWindow.Present (); |
888 | - if (panel != null) { |
889 | - panel.Hide (); |
890 | - } |
891 | - } |
892 | - |
893 | - public void Dispose () |
894 | - { |
895 | - if (panel != null) { |
896 | - panel.Dispose (); |
897 | - panel = null; |
898 | - } |
899 | - |
900 | - interface_action_service = null; |
901 | - elements_service = null; |
902 | - } |
903 | - |
904 | - string IService.ServiceName { |
905 | - get { return "MeeGoService"; } |
906 | - } |
907 | - } |
908 | -} |
909 | |
910 | === removed directory '.pc/03_quit-only-on-explicit-shutdown-request.patch' |
911 | === removed directory '.pc/03_quit-only-on-explicit-shutdown-request.patch/src' |
912 | === removed directory '.pc/03_quit-only-on-explicit-shutdown-request.patch/src/Extensions' |
913 | === removed directory '.pc/03_quit-only-on-explicit-shutdown-request.patch/src/Extensions/Banshee.MeeGo' |
914 | === removed directory '.pc/03_quit-only-on-explicit-shutdown-request.patch/src/Extensions/Banshee.MeeGo/Banshee.MeeGo' |
915 | === removed file '.pc/03_quit-only-on-explicit-shutdown-request.patch/src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MeeGoService.cs' |
916 | --- .pc/03_quit-only-on-explicit-shutdown-request.patch/src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MeeGoService.cs 2011-02-20 14:48:54 +0000 |
917 | +++ .pc/03_quit-only-on-explicit-shutdown-request.patch/src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MeeGoService.cs 1970-01-01 00:00:00 +0000 |
918 | @@ -1,147 +0,0 @@ |
919 | -// |
920 | -// MeeGoService.cs |
921 | -// |
922 | -// Authors: |
923 | -// Aaron Bockover <abockover@novell.com> |
924 | -// |
925 | -// Copyright 2009-2010 Novell, Inc. |
926 | -// |
927 | -// Permission is hereby granted, free of charge, to any person obtaining |
928 | -// a copy of this software and associated documentation files (the |
929 | -// "Software"), to deal in the Software without restriction, including |
930 | -// without limitation the rights to use, copy, modify, merge, publish, |
931 | -// distribute, sublicense, and/or sell copies of the Software, and to |
932 | -// permit persons to whom the Software is furnished to do so, subject to |
933 | -// the following conditions: |
934 | -// |
935 | -// The above copyright notice and this permission notice shall be |
936 | -// included in all copies or substantial portions of the Software. |
937 | -// |
938 | -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, |
939 | -// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF |
940 | -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND |
941 | -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE |
942 | -// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION |
943 | -// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION |
944 | -// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
945 | -// |
946 | - |
947 | -using System; |
948 | -using Gtk; |
949 | -using MeeGo.Panel; |
950 | - |
951 | -using Hyena; |
952 | - |
953 | -using Banshee.Base; |
954 | -using Banshee.Collection; |
955 | -using Banshee.Sources; |
956 | -using Banshee.ServiceStack; |
957 | -using Banshee.MediaEngine; |
958 | -using Banshee.Gui; |
959 | - |
960 | -namespace Banshee.MeeGo |
961 | -{ |
962 | - public class MeeGoService : IExtensionService |
963 | - { |
964 | - private GtkElementsService elements_service; |
965 | - private InterfaceActionService interface_action_service; |
966 | - private SourceManager source_manager; |
967 | - private PlayerEngineService player; |
968 | - private MeeGoPanel panel; |
969 | - |
970 | - void IExtensionService.Initialize () |
971 | - { |
972 | - elements_service = ServiceManager.Get<GtkElementsService> (); |
973 | - interface_action_service = ServiceManager.Get<InterfaceActionService> (); |
974 | - source_manager = ServiceManager.SourceManager; |
975 | - player = ServiceManager.PlayerEngine; |
976 | - |
977 | - if (!ServiceStartup ()) { |
978 | - ServiceManager.ServiceStarted += OnServiceStarted; |
979 | - } |
980 | - } |
981 | - |
982 | - private void OnServiceStarted (ServiceStartedArgs args) |
983 | - { |
984 | - if (args.Service is Banshee.Gui.InterfaceActionService) { |
985 | - interface_action_service = (InterfaceActionService)args.Service; |
986 | - } else if (args.Service is GtkElementsService) { |
987 | - elements_service = (GtkElementsService)args.Service; |
988 | - } else if (args.Service is SourceManager) { |
989 | - source_manager = ServiceManager.SourceManager; |
990 | - } else if (args.Service is PlayerEngineService) { |
991 | - player = ServiceManager.PlayerEngine; |
992 | - } |
993 | - |
994 | - ServiceStartup (); |
995 | - } |
996 | - |
997 | - private bool ServiceStartup () |
998 | - { |
999 | - if (elements_service == null || interface_action_service == null || |
1000 | - source_manager == null || player == null) { |
1001 | - return false; |
1002 | - } |
1003 | - |
1004 | - Initialize (); |
1005 | - |
1006 | - ServiceManager.ServiceStarted -= OnServiceStarted; |
1007 | - |
1008 | - return true; |
1009 | - } |
1010 | - |
1011 | - private void Initialize () |
1012 | - { |
1013 | - // If Banshee is running from the MeeGo client entry assembly, |
1014 | - // the MeeGoPanel will have already been created. If not, we |
1015 | - // assume we're probably not really running in a MeeGo environment, |
1016 | - // so we just create the panel here (which is likely to just be |
1017 | - // a separate top-level window for testing). |
1018 | - panel = MeeGoPanel.Instance; |
1019 | - |
1020 | - if (panel == null) { |
1021 | - Log.Warning ("Netbook extension initialized without a panel"); |
1022 | - return; |
1023 | - } else { |
1024 | - elements_service.PrimaryWindow.Hide (); |
1025 | - } |
1026 | - |
1027 | - panel.BuildContents (); |
1028 | - |
1029 | - elements_service.PrimaryWindowClose = () => { |
1030 | - elements_service.PrimaryWindow.Hide (); |
1031 | - return true; |
1032 | - }; |
1033 | - |
1034 | - // Since the Panel is running, we don't actually ever want to quit! |
1035 | - Banshee.ServiceStack.Application.ShutdownRequested += () => { |
1036 | - elements_service.PrimaryWindow.Hide (); |
1037 | - return false; |
1038 | - }; |
1039 | - } |
1040 | - |
1041 | - public void PresentPrimaryInterface () |
1042 | - { |
1043 | - elements_service.PrimaryWindow.Maximize (); |
1044 | - elements_service.PrimaryWindow.Present (); |
1045 | - if (panel != null) { |
1046 | - panel.Hide (); |
1047 | - } |
1048 | - } |
1049 | - |
1050 | - public void Dispose () |
1051 | - { |
1052 | - if (panel != null) { |
1053 | - panel.Dispose (); |
1054 | - panel = null; |
1055 | - } |
1056 | - |
1057 | - interface_action_service = null; |
1058 | - elements_service = null; |
1059 | - } |
1060 | - |
1061 | - string IService.ServiceName { |
1062 | - get { return "MeeGoService"; } |
1063 | - } |
1064 | - } |
1065 | -} |
1066 | |
1067 | === removed directory '.pc/04_enable-switching-between-the-2-interfaces.patch' |
1068 | === removed directory '.pc/04_enable-switching-between-the-2-interfaces.patch/src' |
1069 | === removed directory '.pc/04_enable-switching-between-the-2-interfaces.patch/src/Core' |
1070 | === removed directory '.pc/04_enable-switching-between-the-2-interfaces.patch/src/Core/Banshee.ThickClient' |
1071 | === removed directory '.pc/04_enable-switching-between-the-2-interfaces.patch/src/Core/Banshee.ThickClient/Resources' |
1072 | === removed file '.pc/04_enable-switching-between-the-2-interfaces.patch/src/Core/Banshee.ThickClient/Resources/core-ui-actions-layout.xml' |
1073 | --- .pc/04_enable-switching-between-the-2-interfaces.patch/src/Core/Banshee.ThickClient/Resources/core-ui-actions-layout.xml 2011-02-20 14:48:54 +0000 |
1074 | +++ .pc/04_enable-switching-between-the-2-interfaces.patch/src/Core/Banshee.ThickClient/Resources/core-ui-actions-layout.xml 1970-01-01 00:00:00 +0000 |
1075 | @@ -1,237 +0,0 @@ |
1076 | -<ui> |
1077 | - <toolbar name="HeaderToolbar"> |
1078 | - <toolitem action="PreviousAction"/> |
1079 | - <toolitem action="PlayPauseAction"/> |
1080 | - <placeholder name="NextArrowButton"/> |
1081 | - <placeholder name="SeekSlider"/> |
1082 | - <placeholder name="TrackInfoDisplay"/> |
1083 | - <placeholder name="SourceActions"> |
1084 | - <toolitem name="RefreshSmartPlaylist" action="RefreshSmartPlaylistAction"/> |
1085 | - </placeholder> |
1086 | - <placeholder name="SearchEntry"/> |
1087 | - <placeholder name="VolumeButton"/> |
1088 | - <placeholder name="ToolbarMenuPlaceholder"/> |
1089 | - <placeholder name="ClosePlaceholder"/> |
1090 | - </toolbar> |
1091 | - <toolbar name="FooterToolbar"> |
1092 | - <placeholder name="TaskStatus"/> |
1093 | - <placeholder name="StatusBar"/> |
1094 | - <placeholder name="Extensions"/> |
1095 | - <placeholder name="RepeatButton"/> |
1096 | - </toolbar> |
1097 | - |
1098 | - <popup name="ToolbarMenu" action="ToolbarMenuAction"> |
1099 | - <menuitem name="NewPlaylist" action="NewPlaylistAction"/> |
1100 | - <menuitem name="NewSmartPlaylist" action="NewSmartPlaylistAction"/> |
1101 | - <separator/> |
1102 | - <menuitem name="Import" action="ImportAction"/> |
1103 | - <menuitem name="ImportPlaylist" action="ImportPlaylistAction"/> |
1104 | - <menuitem name="OpenLocation" action="OpenLocationAction"/> |
1105 | - <separator/> |
1106 | - <placeholder name="BelowOpenLocation"/> |
1107 | - <separator/> |
1108 | - <menu name="ToolsMenu" action="ToolsMenuAction"> |
1109 | - <menuitem name="Rescan" action="RescanAction"/> |
1110 | - <menuitem name="ShowEqualizer" action="ShowEqualizerAction"/> |
1111 | - </menu> |
1112 | - <menuitem name="Preferences" action="PreferencesAction"/> |
1113 | - <menuitem name="About" action="AboutAction"/> |
1114 | - </popup> |
1115 | - |
1116 | - <menubar name="MainMenu" action="MainMenuAction"> |
1117 | - <menu name="MediaMenu" action="MediaMenuAction"> |
1118 | - <menuitem name="NewPlaylist" action="NewPlaylistAction"/> |
1119 | - <menuitem name="NewSmartPlaylist" action="NewSmartPlaylistAction"/> |
1120 | - <!--<menuitem name="NewSmartPlaylistFromSearch" action="NewSmartPlaylistFromSearchAction"/>--> |
1121 | - <separator/> |
1122 | - <menuitem name="Import" action="ImportAction"/> |
1123 | - <menuitem name="ImportPlaylist" action="ImportPlaylistAction"/> |
1124 | - <menuitem name="OpenLocation" action="OpenLocationAction"/> |
1125 | - <menuitem action="OpenSourceSwitcher"/> |
1126 | - <separator/> |
1127 | - <placeholder name="BelowOpenLocation"/> |
1128 | - <separator/> |
1129 | - <placeholder name="ClosePlaceholder"/> |
1130 | - <menuitem name="Quit" action="QuitAction"/> |
1131 | - </menu> |
1132 | - |
1133 | - <menu name="EditMenu" action="EditMenuAction"> |
1134 | - <placeholder name="AboveAddToPlaylist"/> |
1135 | - <menu name="AddToPlaylist" action="AddToPlaylistAction"></menu> |
1136 | - <placeholder name="BelowAddToPlaylist"/> |
1137 | - <menuitem name="TrackEditor" action="TrackEditorAction"/> |
1138 | - <separator/> |
1139 | - <menuitem name="SelectAll" action="SelectAllAction"/> |
1140 | - <menuitem name="SelectNone" action="SelectNoneAction"/> |
1141 | - <separator/> |
1142 | - <menuitem name="RemoveTracks" action="RemoveTracksAction"/> |
1143 | - <menuitem name="RemoveTracksFromLibrary" action="RemoveTracksFromLibraryAction"/> |
1144 | - <menuitem name="DeleteTracksFromDrive" action="DeleteTracksFromDriveAction"/> |
1145 | - <separator/> |
1146 | - <menuitem name="OpenContainingFolder" action="OpenContainingFolderAction"/> |
1147 | - <separator/> |
1148 | - <menuitem name="RenameSource" action="RenameSourceAction"/> |
1149 | - <menuitem name="RefreshSmartPlaylist" action="RefreshSmartPlaylistAction"/> |
1150 | - <menuitem name="ExportPlaylist" action="ExportPlaylistAction"/> |
1151 | - <menuitem name="SourceProperties" action="SourcePropertiesAction"/> |
1152 | - <menuitem name="UnmapSource" action="UnmapSourceAction"/> |
1153 | - <menuitem name="TrackProperties" action="TrackPropertiesAction"/> |
1154 | - <separator/> |
1155 | - <menuitem name="Preferences" action="PreferencesAction"/> |
1156 | - </menu> |
1157 | - |
1158 | - <menu name="ViewMenu" action="ViewMenuAction"> |
1159 | - <placeholder name="BrowserViews"/> |
1160 | - <placeholder name="ViewMenuAdditions"/> |
1161 | - <menuitem name="ShowCoverArt" action="ShowCoverArtAction"/> |
1162 | - <menuitem name="ShowContextPane" action="ShowContextPaneAction"/> |
1163 | - <menuitem name="FullScreen" action="FullScreenAction"/> |
1164 | - <separator/> |
1165 | - <menuitem name="ShowEqualizer" action="ShowEqualizerAction"/> |
1166 | - </menu> |
1167 | - |
1168 | - <menu name="PlaybackMenu" action="PlaybackMenuAction"> |
1169 | - <menuitem name="PlayPause" action="PlayPauseAction"/> |
1170 | - <menuitem name="StopWhenFinished" action="StopWhenFinishedAction"/> |
1171 | - <separator/> |
1172 | - <menuitem name="Next" action="NextAction"/> |
1173 | - <menuitem name="Previous" action="PreviousAction"/> |
1174 | - <separator/> |
1175 | - <!-- |
1176 | - <menuitem name="SeekBackward" action="SeekBackwardAction"/> |
1177 | - <menuitem name="SeekForward" action="SeekForwardAction"/> |
1178 | - --> |
1179 | - <menuitem name="SeekTo" action="SeekToAction"/> |
1180 | - <menuitem name="JumpToPlayingTrack" action="JumpToPlayingTrackAction"/> |
1181 | - <menuitem name="RestartSong" action="RestartSongAction"/> |
1182 | - <separator/> |
1183 | - <placeholder name="PlaybackMenuAdditions"/> |
1184 | - <menuitem name="RepeatMenu" action="RepeatMenuAction"/> |
1185 | - <menuitem name="ShuffleMenu" action="ShuffleMenuAction"/> |
1186 | - <menuitem name="SubtitleMenu" action="SubtitleMenuAction"/> |
1187 | - </menu> |
1188 | - |
1189 | - <menu name="ToolsMenu" action="ToolsMenuAction"> |
1190 | - <menuitem name="Rescan" action="RescanAction"/> |
1191 | - </menu> |
1192 | - |
1193 | - <menu name="HelpMenu" action="HelpMenuAction"> |
1194 | - <menuitem action="UserHelp"/> |
1195 | - <separator/> |
1196 | - <menuitem name="Wiki" action="WikiAction"/> |
1197 | - <menuitem name="WikiDeveloper" action="WikiDeveloperAction"/> |
1198 | - <separator/> |
1199 | - <menuitem name="VersionInformation" action="VersionInformationAction"/> |
1200 | - <menuitem name="About" action="AboutAction"/> |
1201 | - </menu> |
1202 | - </menubar> |
1203 | - |
1204 | - <popup name="LibraryContextMenu" action="LibraryContextMenuAction"> |
1205 | - <menuitem name="NewPlaylist" action="NewPlaylistAction"/> |
1206 | - <menuitem name="NewSmartPlaylist" action="NewSmartPlaylistAction"/> |
1207 | - <menu name="SortChildren" action="SortChildrenAction" /> |
1208 | - <separator/> |
1209 | - <menuitem name="Import" action="ImportAction"/> |
1210 | - <menuitem name="SourcePreferences" action="SourcePreferencesAction"/> |
1211 | - <separator/> |
1212 | - </popup> |
1213 | - |
1214 | - <popup name="RemovableSourceContextMenu" action="RemovableSourceContextMenuAction"> |
1215 | - <menuitem name="NewPlaylist" action="NewPlaylistAction"/> |
1216 | - <menuitem name="NewSmartPlaylist" action="NewSmartPlaylistAction"/> |
1217 | - <menu name="SortChildren" action="SortChildrenAction" /> |
1218 | - <separator/> |
1219 | - <placeholder name="AboveImportSource"/> |
1220 | - <menuitem name="ImportSource" action="ImportSourceAction"/> |
1221 | - <menuitem name="RenameSource" action="RenameSourceAction"/> |
1222 | - <menuitem name="SourcePreferences" action="SourcePreferencesAction"/> |
1223 | - <menuitem name="UnmapSource" action="UnmapSourceAction"/> |
1224 | - <separator/> |
1225 | - <menuitem name="SourceProperties" action="SourcePropertiesAction"/> |
1226 | - </popup> |
1227 | - |
1228 | - <popup name="ErrorSourceContextMenu" action="ErrorSourceContextMenuAction"> |
1229 | - <menuitem name="UnmapSource" action="UnmapSourceAction"/> |
1230 | - </popup> |
1231 | - |
1232 | - <popup name="SourceContextMenu" action="SourceContextMenuAction"> |
1233 | - <menuitem name="ImportSource" action="ImportSourceAction"/> |
1234 | - <separator/> |
1235 | - <menuitem name="RenameSource" action="RenameSourceAction"/> |
1236 | - <menuitem name="RefreshSmartPlaylist" action="RefreshSmartPlaylistAction"/> |
1237 | - <menuitem name="ExportPlaylist" action="ExportPlaylistAction"/> |
1238 | - <menuitem name="UnmapSource" action="UnmapSourceAction"/> |
1239 | - <separator/> |
1240 | - <menuitem name="SourceProperties" action="SourcePropertiesAction"/> |
1241 | - <menuitem name="SourcePreferences" action="SourcePreferencesAction"/> |
1242 | - </popup> |
1243 | - |
1244 | - <popup name="TrackContextMenu" action="TrackContextMenuAction"> |
1245 | - <menuitem action="PlayTrack"/> |
1246 | - <separator/> |
1247 | - <placeholder name="AboveAddToPlaylist"/> |
1248 | - <menu name="AddToPlaylist" action="AddToPlaylistAction"></menu> |
1249 | - <placeholder name="BelowAddToPlaylist"/> |
1250 | - <separator/> |
1251 | - <menuitem name="RemoveTracks" action="RemoveTracksAction"/> |
1252 | - <menuitem name="RemoveTracksFromLibrary" action="RemoveTracksFromLibraryAction"/> |
1253 | - <menuitem name="DeleteTracksFromDrive" action="DeleteTracksFromDriveAction"/> |
1254 | - <separator/> |
1255 | - <menuitem name="OpenContainingFolder" action="OpenContainingFolderAction"/> |
1256 | - <menu name="SearchMenu" action="SearchMenuAction"> |
1257 | - <menuitem name="SearchForSameArtist" action="SearchForSameArtistAction"/> |
1258 | - <menuitem name="SearchForSameAlbum" action="SearchForSameAlbumAction"/> |
1259 | - </menu> |
1260 | - <separator/> |
1261 | - <placeholder name="AboveTrackProperties"/> |
1262 | - <menuitem name="TrackProperties" action="TrackPropertiesAction"/> |
1263 | - <menuitem name="TrackEditor" action="TrackEditorAction"/> |
1264 | - </popup> |
1265 | -</ui> |
1266 | - |
1267 | -<!--<menubar name="MainMenu"> |
1268 | -<menu name="MusicMenu" action="MusicMenuAction"> |
1269 | - <menuitem name="NewCD" action="NewCDAction"/> |
1270 | - <placeholder name="NewMusicMenuAdditions"/> |
1271 | - /*<menuitem name="ImportFolder" action="ImportFolderAction"/> |
1272 | - <menuitem name="ImportFiles" action="ImportFilesAction"/>*/ |
1273 | - <separator/> |
1274 | - <menuitem name="ImportMusic" action="ImportMusicAction"/> |
1275 | - <menuitem name="OpenLocation" action="OpenLocationAction"/> |
1276 | - <placeholder name="MusicMenuAdditions"/> |
1277 | - <separator/> |
1278 | - <menuitem name="ImportSource" action="ImportSourceAction"/> |
1279 | - <menuitem name="WriteCD" action="WriteCDAction"/> |
1280 | - <separator/> |
1281 | - <menuitem name="SyncDap" action="SyncDapAction"/> |
1282 | -</menu> |
1283 | -<menu name="EditMenu" action="EditMenuAction"> |
1284 | - <menuitem name="CopySongs" action="CopySongsAction"/> |
1285 | - <separator/> |
1286 | - <menuitem name="RemoveSongs" action="RemoveSongsAction"/> |
1287 | - <menuitem name="DeleteSongsFromDrive" action="DeleteSongsFromDriveAction"/> |
1288 | - <menuitem name="RenameSource" action="RenameSourceAction"/> |
1289 | - <menuitem name="UnmapSource" action="UnmapSourceAction"/> |
1290 | - <separator/> |
1291 | - <menuitem name="SelectAll" action="SelectAllAction"/> |
1292 | - <menuitem name="SelectNone" action="SelectNoneAction"/> |
1293 | - <separator/> |
1294 | - <menuitem name="Properties" action="PropertiesAction"/> |
1295 | - <menuitem name="SelectedSourceProperties" action="SelectedSourcePropertiesAction"/> |
1296 | - <separator/> |
1297 | - <menuitem name="Plugins" action="PluginsAction"/> |
1298 | - <menuitem name="Preferences" action="PreferencesAction"/> |
1299 | -</menu> |
1300 | - |
1301 | -<menu name="ToolsMenu" action="ToolsMenuAction"> |
1302 | - <menuitem name="Scripts" action="ScriptsAction"/> |
1303 | -</menu> |
1304 | - |
1305 | - |
1306 | -<menu name="DebugMenu" action="DebugMenuAction"> |
1307 | - |
1308 | - <menuitem name="LoggedEvents" action="LoggedEventsAction"/> |
1309 | -</menu> |
1310 | -</menubar> |
1311 | -<popup name="SongViewPopup" action="SongViewPopupAction"> |
1312 | -</popup>--> |
1313 | |
1314 | === removed directory '.pc/04_enable-switching-between-the-2-interfaces.patch/src/Extensions' |
1315 | === removed directory '.pc/04_enable-switching-between-the-2-interfaces.patch/src/Extensions/Banshee.MeeGo' |
1316 | === removed directory '.pc/04_enable-switching-between-the-2-interfaces.patch/src/Extensions/Banshee.MeeGo/Banshee.MeeGo' |
1317 | === removed file '.pc/04_enable-switching-between-the-2-interfaces.patch/src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MeeGoPanel.cs' |
1318 | --- .pc/04_enable-switching-between-the-2-interfaces.patch/src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MeeGoPanel.cs 2011-02-20 14:48:54 +0000 |
1319 | +++ .pc/04_enable-switching-between-the-2-interfaces.patch/src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MeeGoPanel.cs 1970-01-01 00:00:00 +0000 |
1320 | @@ -1,113 +0,0 @@ |
1321 | -// |
1322 | -// MeeGoPanel.cs |
1323 | -// |
1324 | -// Author: |
1325 | -// Aaron Bockover <abockover@novell.com> |
1326 | -// |
1327 | -// Copyright 2009-2010 Novell, Inc. |
1328 | -// |
1329 | -// Permission is hereby granted, free of charge, to any person obtaining a copy |
1330 | -// of this software and associated documentation files (the "Software"), to deal |
1331 | -// in the Software without restriction, including without limitation the rights |
1332 | -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |
1333 | -// copies of the Software, and to permit persons to whom the Software is |
1334 | -// furnished to do so, subject to the following conditions: |
1335 | -// |
1336 | -// The above copyright notice and this permission notice shall be included in |
1337 | -// all copies or substantial portions of the Software. |
1338 | -// |
1339 | -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
1340 | -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
1341 | -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
1342 | -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
1343 | -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
1344 | -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN |
1345 | -// THE SOFTWARE. |
1346 | - |
1347 | -using System; |
1348 | -using Mono.Unix; |
1349 | - |
1350 | -using Gtk; |
1351 | -using MeeGo.Panel; |
1352 | - |
1353 | -using Hyena; |
1354 | -using Banshee.Base; |
1355 | -using Banshee.ServiceStack; |
1356 | - |
1357 | -namespace Banshee.MeeGo |
1358 | -{ |
1359 | - public class MeeGoPanel : IDisposable |
1360 | - { |
1361 | - public static MeeGoPanel Instance { get; private set; } |
1362 | - |
1363 | - private PanelGtk embedded_panel; |
1364 | - private Window window_panel; |
1365 | - |
1366 | - public MediaPanelContents Contents { get; private set; } |
1367 | - |
1368 | - public MeeGoPanel () |
1369 | - { |
1370 | - if (Instance != null) { |
1371 | - throw new InvalidOperationException ("Only one Netbook Panel (MeegoPanel) instance should exist"); |
1372 | - } |
1373 | - |
1374 | - Instance = this; |
1375 | - |
1376 | - var timer = Log.DebugTimerStart (); |
1377 | - |
1378 | - try { |
1379 | - Log.Debug ("Attempting to create Netbook toolbar panel"); |
1380 | - embedded_panel = new PanelGtk ("banshee", Catalog.GetString ("media"), |
1381 | - null, "media-button", true); |
1382 | - embedded_panel.ShowBeginEvent += (o, e) => { |
1383 | - ServiceManager.SourceManager.SetActiveSource (ServiceManager.SourceManager.MusicLibrary); |
1384 | - if (Contents != null) { |
1385 | - Contents.SyncSearchEntry (); |
1386 | - } |
1387 | - }; |
1388 | - while (Gtk.Application.EventsPending ()) { |
1389 | - Gtk.Application.RunIteration (); |
1390 | - } |
1391 | - } catch (Exception e) { |
1392 | - if (!(e is DllNotFoundException)) { |
1393 | - Log.Exception ("Could not bind to Netbook panel", e); |
1394 | - } |
1395 | - window_panel = new Gtk.Window ("Netbook Media Panel"); |
1396 | - } |
1397 | - |
1398 | - Log.DebugTimerPrint (timer, "Netbook panel created: {0}"); |
1399 | - } |
1400 | - |
1401 | - public void Dispose () |
1402 | - { |
1403 | - } |
1404 | - |
1405 | - public void BuildContents () |
1406 | - { |
1407 | - var timer = Log.DebugTimerStart (); |
1408 | - Contents = new MediaPanelContents (); |
1409 | - Contents.ShowAll (); |
1410 | - Log.DebugTimerPrint (timer, "Netbook panel contents created: {0}"); |
1411 | - |
1412 | - if (embedded_panel != null) { |
1413 | - embedded_panel.SetChild (Contents); |
1414 | - } else if (window_panel != null) { |
1415 | - window_panel.Add (Contents); |
1416 | - window_panel.SetDefaultSize (1000, 500); |
1417 | - window_panel.WindowPosition = WindowPosition.Center; |
1418 | - window_panel.Show (); |
1419 | - GLib.Timeout.Add (1000, () => { |
1420 | - window_panel.Present (); |
1421 | - return false; |
1422 | - }); |
1423 | - } |
1424 | - } |
1425 | - |
1426 | - public void Hide () |
1427 | - { |
1428 | - if (embedded_panel != null) { |
1429 | - embedded_panel.Hide (); |
1430 | - } |
1431 | - } |
1432 | - } |
1433 | -} |
1434 | |
1435 | === removed file '.pc/04_enable-switching-between-the-2-interfaces.patch/src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MeeGoService.cs' |
1436 | --- .pc/04_enable-switching-between-the-2-interfaces.patch/src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MeeGoService.cs 2011-02-20 14:48:54 +0000 |
1437 | +++ .pc/04_enable-switching-between-the-2-interfaces.patch/src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MeeGoService.cs 1970-01-01 00:00:00 +0000 |
1438 | @@ -1,142 +0,0 @@ |
1439 | -// |
1440 | -// MeeGoService.cs |
1441 | -// |
1442 | -// Authors: |
1443 | -// Aaron Bockover <abockover@novell.com> |
1444 | -// |
1445 | -// Copyright 2009-2010 Novell, Inc. |
1446 | -// |
1447 | -// Permission is hereby granted, free of charge, to any person obtaining |
1448 | -// a copy of this software and associated documentation files (the |
1449 | -// "Software"), to deal in the Software without restriction, including |
1450 | -// without limitation the rights to use, copy, modify, merge, publish, |
1451 | -// distribute, sublicense, and/or sell copies of the Software, and to |
1452 | -// permit persons to whom the Software is furnished to do so, subject to |
1453 | -// the following conditions: |
1454 | -// |
1455 | -// The above copyright notice and this permission notice shall be |
1456 | -// included in all copies or substantial portions of the Software. |
1457 | -// |
1458 | -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, |
1459 | -// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF |
1460 | -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND |
1461 | -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE |
1462 | -// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION |
1463 | -// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION |
1464 | -// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
1465 | -// |
1466 | - |
1467 | -using System; |
1468 | -using Gtk; |
1469 | -using MeeGo.Panel; |
1470 | - |
1471 | -using Hyena; |
1472 | - |
1473 | -using Banshee.Base; |
1474 | -using Banshee.Collection; |
1475 | -using Banshee.Sources; |
1476 | -using Banshee.ServiceStack; |
1477 | -using Banshee.MediaEngine; |
1478 | -using Banshee.Gui; |
1479 | - |
1480 | -namespace Banshee.MeeGo |
1481 | -{ |
1482 | - public class MeeGoService : IExtensionService |
1483 | - { |
1484 | - private GtkElementsService elements_service; |
1485 | - private InterfaceActionService interface_action_service; |
1486 | - private SourceManager source_manager; |
1487 | - private PlayerEngineService player; |
1488 | - private MeeGoPanel panel; |
1489 | - |
1490 | - void IExtensionService.Initialize () |
1491 | - { |
1492 | - elements_service = ServiceManager.Get<GtkElementsService> (); |
1493 | - interface_action_service = ServiceManager.Get<InterfaceActionService> (); |
1494 | - source_manager = ServiceManager.SourceManager; |
1495 | - player = ServiceManager.PlayerEngine; |
1496 | - |
1497 | - if (!ServiceStartup ()) { |
1498 | - ServiceManager.ServiceStarted += OnServiceStarted; |
1499 | - } |
1500 | - } |
1501 | - |
1502 | - private void OnServiceStarted (ServiceStartedArgs args) |
1503 | - { |
1504 | - if (args.Service is Banshee.Gui.InterfaceActionService) { |
1505 | - interface_action_service = (InterfaceActionService)args.Service; |
1506 | - } else if (args.Service is GtkElementsService) { |
1507 | - elements_service = (GtkElementsService)args.Service; |
1508 | - } else if (args.Service is SourceManager) { |
1509 | - source_manager = ServiceManager.SourceManager; |
1510 | - } else if (args.Service is PlayerEngineService) { |
1511 | - player = ServiceManager.PlayerEngine; |
1512 | - } |
1513 | - |
1514 | - ServiceStartup (); |
1515 | - } |
1516 | - |
1517 | - private bool ServiceStartup () |
1518 | - { |
1519 | - if (elements_service == null || interface_action_service == null || |
1520 | - source_manager == null || player == null) { |
1521 | - return false; |
1522 | - } |
1523 | - |
1524 | - Initialize (); |
1525 | - |
1526 | - ServiceManager.ServiceStarted -= OnServiceStarted; |
1527 | - |
1528 | - return true; |
1529 | - } |
1530 | - |
1531 | - private void Initialize () |
1532 | - { |
1533 | - // If Banshee is running from the MeeGo client entry assembly, |
1534 | - // the MeeGoPanel will have already been created. If not, we |
1535 | - // assume we're probably not really running in a MeeGo environment, |
1536 | - // so we just create the panel here (which is likely to just be |
1537 | - // a separate top-level window for testing). |
1538 | - panel = MeeGoPanel.Instance; |
1539 | - |
1540 | - if (panel == null) { |
1541 | - Log.Warning ("Netbook extension initialized without a panel"); |
1542 | - return; |
1543 | - } else { |
1544 | - elements_service.PrimaryWindow.Hide (); |
1545 | - } |
1546 | - |
1547 | - panel.BuildContents (); |
1548 | - |
1549 | - elements_service.PrimaryWindowClose = () => { |
1550 | - elements_service.PrimaryWindow.Hide (); |
1551 | - return true; |
1552 | - }; |
1553 | - |
1554 | - } |
1555 | - |
1556 | - public void PresentPrimaryInterface () |
1557 | - { |
1558 | - elements_service.PrimaryWindow.Maximize (); |
1559 | - elements_service.PrimaryWindow.Present (); |
1560 | - if (panel != null) { |
1561 | - panel.Hide (); |
1562 | - } |
1563 | - } |
1564 | - |
1565 | - public void Dispose () |
1566 | - { |
1567 | - if (panel != null) { |
1568 | - panel.Dispose (); |
1569 | - panel = null; |
1570 | - } |
1571 | - |
1572 | - interface_action_service = null; |
1573 | - elements_service = null; |
1574 | - } |
1575 | - |
1576 | - string IService.ServiceName { |
1577 | - get { return "MeeGoService"; } |
1578 | - } |
1579 | - } |
1580 | -} |
1581 | |
1582 | === removed directory '.pc/05_show-a-empty-library-message-in-banshee.patch' |
1583 | === removed directory '.pc/05_show-a-empty-library-message-in-banshee.patch/src' |
1584 | === removed directory '.pc/05_show-a-empty-library-message-in-banshee.patch/src/Core' |
1585 | === removed directory '.pc/05_show-a-empty-library-message-in-banshee.patch/src/Core/Banshee.Services' |
1586 | === removed directory '.pc/05_show-a-empty-library-message-in-banshee.patch/src/Core/Banshee.Services/Banshee.Library' |
1587 | === removed file '.pc/05_show-a-empty-library-message-in-banshee.patch/src/Core/Banshee.Services/Banshee.Library/MusicLibrarySource.cs' |
1588 | --- .pc/05_show-a-empty-library-message-in-banshee.patch/src/Core/Banshee.Services/Banshee.Library/MusicLibrarySource.cs 2011-02-20 14:48:54 +0000 |
1589 | +++ .pc/05_show-a-empty-library-message-in-banshee.patch/src/Core/Banshee.Services/Banshee.Library/MusicLibrarySource.cs 1970-01-01 00:00:00 +0000 |
1590 | @@ -1,174 +0,0 @@ |
1591 | -// |
1592 | -// MusicLibrarySource.cs |
1593 | -// |
1594 | -// Authors: |
1595 | -// Aaron Bockover <abockover@novell.com> |
1596 | -// Gabriel Burt <gburt@novell.com> |
1597 | -// |
1598 | -// Copyright (C) 2005-2008 Novell, Inc. |
1599 | -// |
1600 | -// Permission is hereby granted, free of charge, to any person obtaining |
1601 | -// a copy of this software and associated documentation files (the |
1602 | -// "Software"), to deal in the Software without restriction, including |
1603 | -// without limitation the rights to use, copy, modify, merge, publish, |
1604 | -// distribute, sublicense, and/or sell copies of the Software, and to |
1605 | -// permit persons to whom the Software is furnished to do so, subject to |
1606 | -// the following conditions: |
1607 | -// |
1608 | -// The above copyright notice and this permission notice shall be |
1609 | -// included in all copies or substantial portions of the Software. |
1610 | -// |
1611 | -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, |
1612 | -// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF |
1613 | -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND |
1614 | -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE |
1615 | -// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION |
1616 | -// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION |
1617 | -// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
1618 | -// |
1619 | - |
1620 | -using System; |
1621 | -using System.Collections.Generic; |
1622 | - |
1623 | -using Mono.Unix; |
1624 | - |
1625 | -using Banshee.Base; |
1626 | -using Banshee.Collection; |
1627 | -using Banshee.Query; |
1628 | -using Banshee.SmartPlaylist; |
1629 | -using Banshee.Preferences; |
1630 | -using Banshee.Configuration; |
1631 | -using Banshee.Configuration.Schema; |
1632 | - |
1633 | -namespace Banshee.Library |
1634 | -{ |
1635 | - public class MusicLibrarySource : LibrarySource |
1636 | - { |
1637 | - private static PathPattern music_filename_pattern = new MusicFileNamePattern (); |
1638 | - public static PathPattern MusicFileNamePattern { |
1639 | - get { return music_filename_pattern; } |
1640 | - } |
1641 | - |
1642 | - static MusicLibrarySource () |
1643 | - { |
1644 | - music_filename_pattern.FolderSchema = LibrarySchema.FolderPattern; |
1645 | - music_filename_pattern.FileSchema = LibrarySchema.FilePattern; |
1646 | - Banshee.Base.FileNamePattern.MusicPattern = music_filename_pattern; |
1647 | - } |
1648 | - |
1649 | - // Catalog.GetString ("Music Library") |
1650 | - public MusicLibrarySource () : base (Catalog.GetString ("Music"), "Library", 40) |
1651 | - { |
1652 | - MediaTypes = TrackMediaAttributes.Music | TrackMediaAttributes.AudioStream; |
1653 | - NotMediaTypes = TrackMediaAttributes.Podcast | TrackMediaAttributes.VideoStream | TrackMediaAttributes.AudioBook; |
1654 | - Properties.SetStringList ("Icon.Name", "audio-x-generic", "source-library"); |
1655 | - |
1656 | - Properties.Set<string> ("SearchEntryDescription", Catalog.GetString ("Search your music")); |
1657 | - |
1658 | - // Migrate the old library-location schema, if necessary |
1659 | - if (DatabaseConfigurationClient.Client.Get<int> ("MusicLibraryLocationMigrated", 0) != 1) { |
1660 | - string old_location = OldLocationSchema.Get (); |
1661 | - if (!String.IsNullOrEmpty (old_location)) { |
1662 | - BaseDirectory = old_location; |
1663 | - } |
1664 | - DatabaseConfigurationClient.Client.Set<int> ("MusicLibraryLocationMigrated", 1); |
1665 | - } |
1666 | - |
1667 | - SetFileNamePattern (MusicFileNamePattern); |
1668 | - |
1669 | - Section misc = PreferencesPage.Add (new Section ("misc", |
1670 | - Catalog.GetString ("Miscellaneous"), 10)); |
1671 | - |
1672 | - misc.Add (new SchemaPreference<bool> (LibrarySchema.SortByAlbumYear, |
1673 | - Catalog.GetString ("_Sort an artist's albums by year, not title"), null, |
1674 | - delegate { |
1675 | - DatabaseTrackModel.Resort (); |
1676 | - DatabaseTrackModel.Reload (); |
1677 | - } |
1678 | - )); |
1679 | - } |
1680 | - |
1681 | - public override string GetPluralItemCountString (int count) |
1682 | - { |
1683 | - return Catalog.GetPluralString ("{0} song", "{0} songs", count); |
1684 | - } |
1685 | - |
1686 | - public static string GetDefaultBaseDirectory () |
1687 | - { |
1688 | - return Hyena.XdgBaseDirectorySpec.GetXdgDirectoryUnderHome ("XDG_MUSIC_DIR", "Music"); |
1689 | - } |
1690 | - |
1691 | - public override string DefaultBaseDirectory { |
1692 | - get { return GetDefaultBaseDirectory (); } |
1693 | - } |
1694 | - |
1695 | - public override IEnumerable<SmartPlaylistDefinition> DefaultSmartPlaylists { |
1696 | - get { return default_smart_playlists; } |
1697 | - } |
1698 | - |
1699 | - public override IEnumerable<SmartPlaylistDefinition> NonDefaultSmartPlaylists { |
1700 | - get { return non_default_smart_playlists; } |
1701 | - } |
1702 | - |
1703 | - protected override string SectionName { |
1704 | - get { return Catalog.GetString ("Music Folder"); } |
1705 | - } |
1706 | - |
1707 | - private static SmartPlaylistDefinition [] default_smart_playlists = new SmartPlaylistDefinition [] { |
1708 | - new SmartPlaylistDefinition ( |
1709 | - Catalog.GetString ("Favorites"), |
1710 | - Catalog.GetString ("Songs rated four and five stars"), |
1711 | - "rating>=4", true), |
1712 | - |
1713 | - new SmartPlaylistDefinition ( |
1714 | - Catalog.GetString ("Recent Favorites"), |
1715 | - Catalog.GetString ("Songs listened to often in the past week"), |
1716 | - "played<\"1 week ago\" playcount>3", true), |
1717 | - |
1718 | - new SmartPlaylistDefinition ( |
1719 | - Catalog.GetString ("Recently Added"), |
1720 | - Catalog.GetString ("Songs imported within the last week"), |
1721 | - "added<\"1 week ago\"", true) { Order = BansheeQuery.FindOrder (BansheeQuery.DateAddedField, false) }, |
1722 | - |
1723 | - new SmartPlaylistDefinition ( |
1724 | - Catalog.GetString ("Recently Played"), |
1725 | - Catalog.GetString ("Recently played songs"), |
1726 | - "played<\"2 weeks ago\" plays>0", true) { Order = BansheeQuery.FindOrder (BansheeQuery.LastPlayedField, false) }, |
1727 | - |
1728 | - new SmartPlaylistDefinition ( |
1729 | - Catalog.GetString ("Unheard"), |
1730 | - Catalog.GetString ("Songs that have not been played or skipped"), |
1731 | - "playcount:0 skips:0", true), |
1732 | - }; |
1733 | - |
1734 | - private static SmartPlaylistDefinition [] non_default_smart_playlists = new SmartPlaylistDefinition [] { |
1735 | - |
1736 | - new SmartPlaylistDefinition ( |
1737 | - Catalog.GetString ("Neglected Favorites"), |
1738 | - Catalog.GetString ("Favorites not played in over two months"), |
1739 | - "rating>=4 played>=\"2 months ago\""), |
1740 | - |
1741 | - new SmartPlaylistDefinition ( |
1742 | - Catalog.GetString ("Least Favorite"), |
1743 | - Catalog.GetString ("Songs rated one or two stars or that you have frequently skipped"), |
1744 | - "rating<3 or skips>4"), |
1745 | - |
1746 | - new SmartPlaylistDefinition ( |
1747 | - Catalog.GetString ("700 MB of Favorites"), |
1748 | - Catalog.GetString ("A data CD worth of favorite songs"), |
1749 | - "rating>=4", |
1750 | - 700, "MB", "PlayCount-DESC"), |
1751 | - |
1752 | - new SmartPlaylistDefinition ( |
1753 | - Catalog.GetString ("80 Minutes of Favorites"), |
1754 | - Catalog.GetString ("An audio CD worth of favorite songs"), |
1755 | - "rating>=4", |
1756 | - 80, "minutes", "PlayCount-DESC"), |
1757 | - |
1758 | - new SmartPlaylistDefinition ( |
1759 | - Catalog.GetString ("Unrated"), |
1760 | - Catalog.GetString ("Songs that haven't been rated"), |
1761 | - "rating=0"), |
1762 | - }; |
1763 | - } |
1764 | -} |
1765 | |
1766 | === removed directory '.pc/05_show-a-empty-library-message-in-banshee.patch/src/Extensions' |
1767 | === removed directory '.pc/05_show-a-empty-library-message-in-banshee.patch/src/Extensions/Banshee.MeeGo' |
1768 | === removed directory '.pc/05_show-a-empty-library-message-in-banshee.patch/src/Extensions/Banshee.MeeGo/Banshee.MeeGo' |
1769 | === removed file '.pc/05_show-a-empty-library-message-in-banshee.patch/src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MediaPanelContents.cs' |
1770 | --- .pc/05_show-a-empty-library-message-in-banshee.patch/src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MediaPanelContents.cs 2011-02-20 14:48:54 +0000 |
1771 | +++ .pc/05_show-a-empty-library-message-in-banshee.patch/src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MediaPanelContents.cs 1970-01-01 00:00:00 +0000 |
1772 | @@ -1,412 +0,0 @@ |
1773 | -// |
1774 | -// MediaPanelContents.cs |
1775 | -// |
1776 | -// Author: |
1777 | -// Aaron Bockover <abockover@novell.com> |
1778 | -// |
1779 | -// Copyright 2010 Novell, Inc. |
1780 | -// |
1781 | -// Permission is hereby granted, free of charge, to any person obtaining a copy |
1782 | -// of this software and associated documentation files (the "Software"), to deal |
1783 | -// in the Software without restriction, including without limitation the rights |
1784 | -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |
1785 | -// copies of the Software, and to permit persons to whom the Software is |
1786 | -// furnished to do so, subject to the following conditions: |
1787 | -// |
1788 | -// The above copyright notice and this permission notice shall be included in |
1789 | -// all copies or substantial portions of the Software. |
1790 | -// |
1791 | -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
1792 | -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
1793 | -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
1794 | -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
1795 | -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
1796 | -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN |
1797 | -// THE SOFTWARE. |
1798 | - |
1799 | -using System; |
1800 | -using System.Collections.Generic; |
1801 | - |
1802 | -using Mono.Unix; |
1803 | -using Gtk; |
1804 | - |
1805 | -using Hyena; |
1806 | -using Hyena.Data; |
1807 | -using Hyena.Gui; |
1808 | -using Hyena.Data.Gui; |
1809 | - |
1810 | -using Banshee.ServiceStack; |
1811 | -using Banshee.Sources; |
1812 | -using Banshee.Sources.Gui; |
1813 | -using Banshee.Collection; |
1814 | -using Banshee.Collection.Gui; |
1815 | -using Banshee.MediaEngine; |
1816 | -using Banshee.Gui; |
1817 | -using Banshee.Gui.Widgets; |
1818 | - |
1819 | -namespace Banshee.MeeGo |
1820 | -{ |
1821 | - public class MediaPanelContents : Table, ITrackModelSourceContents |
1822 | - { |
1823 | - private ArtistListView artist_view; |
1824 | - private AlbumListView album_view; |
1825 | - private TerseTrackListView track_view; |
1826 | - |
1827 | - private SourceComboBox source_combo_box; |
1828 | - private SearchEntry search_entry; |
1829 | - private MeeGoTrackInfoDisplay track_info_display; |
1830 | - |
1831 | - private ISource source; |
1832 | - private Dictionary<object, double> model_positions = new Dictionary<object, double> (); |
1833 | - |
1834 | - protected MediaPanelContents (IntPtr raw) : base (raw) |
1835 | - { |
1836 | - } |
1837 | - |
1838 | - public MediaPanelContents () : base (2, 2, false) |
1839 | - { |
1840 | - BorderWidth = 5; |
1841 | - RowSpacing = 6; |
1842 | - ColumnSpacing = 7; |
1843 | - RedrawOnAllocate = true; |
1844 | - AppPaintable = true; |
1845 | - |
1846 | - BuildHeader (); |
1847 | - BuildLibrary (); |
1848 | - BuildNowPlaying (); |
1849 | - ConnectEvents (); |
1850 | - |
1851 | - SetSource (ServiceManager.SourceManager.ActiveSource); |
1852 | - } |
1853 | - |
1854 | - private void ConnectEvents () |
1855 | - { |
1856 | - ServiceManager.SourceManager.ActiveSourceChanged += OnActiveSourceChanged; |
1857 | - |
1858 | - ServiceManager.Get<InterfaceActionService> ().TrackActions ["SearchForSameArtistAction"].Activated += OnProgrammaticSearch; |
1859 | - ServiceManager.Get<InterfaceActionService> ().TrackActions ["SearchForSameAlbumAction"].Activated += OnProgrammaticSearch; |
1860 | - |
1861 | - ServiceManager.PlayerEngine.ConnectEvent ((args) => track_info_display.Visible = |
1862 | - ServiceManager.PlayerEngine.CurrentState != PlayerState.Idle, |
1863 | - PlayerEvent.StateChange | PlayerEvent.StartOfStream); |
1864 | - |
1865 | - source_combo_box.Model.Filter = (source) => |
1866 | - source == ServiceManager.SourceManager.MusicLibrary || |
1867 | - source.Parent == ServiceManager.SourceManager.MusicLibrary || |
1868 | - source.GetType ().FullName == "Banshee.PlayQueue.PlayQueueSource"; |
1869 | - source_combo_box.Model.Refresh (); |
1870 | - source_combo_box.UpdateActiveSource (); |
1871 | - |
1872 | - search_entry.Changed += OnSearchEntryChanged; |
1873 | - |
1874 | - artist_view.SelectionProxy.Changed += OnBrowserViewSelectionChanged; |
1875 | - album_view.SelectionProxy.Changed += OnBrowserViewSelectionChanged; |
1876 | - } |
1877 | - |
1878 | -#region UI Construction |
1879 | - |
1880 | - private void BuildHeader () |
1881 | - { |
1882 | - Attach (new Label { |
1883 | - Markup = String.Format ("<span font_desc=\"Droid Sans Bold\" " + |
1884 | - "size=\"x-large\" foreground=\"#606eff\">{0}</span>", |
1885 | - GLib.Markup.EscapeText (Catalog.GetString ("Media"))), |
1886 | - Xalign = 0.0f |
1887 | - }, |
1888 | - 0, 2, 0, 1, |
1889 | - AttachOptions.Fill | AttachOptions.Expand, |
1890 | - AttachOptions.Shrink, 12, 0); |
1891 | - } |
1892 | - |
1893 | - private void BuildLibrary () |
1894 | - { |
1895 | - var box = new MeeGoHeaderBox () { Title = Catalog.GetString ("Library") }; |
1896 | - |
1897 | - // Build the Library Header |
1898 | - var header = new HBox () { |
1899 | - Spacing = 5, |
1900 | - BorderWidth = 5 |
1901 | - }; |
1902 | - |
1903 | - var app_button = new Button (new Image () { |
1904 | - IconSize = (int)IconSize.LargeToolbar, |
1905 | - IconName = "media-player-banshee" |
1906 | - }) { |
1907 | - TooltipText = Catalog.GetString ("Launch the Banshee Media Player") |
1908 | - }; |
1909 | - app_button.Clicked += (o, e) => { |
1910 | - ServiceManager.SourceManager.SetActiveSource (ServiceManager.SourceManager.MusicLibrary); |
1911 | - ServiceManager.Get<MeeGoService> ().PresentPrimaryInterface (); |
1912 | - }; |
1913 | - |
1914 | - header.PackStart (source_combo_box = new SourceComboBox (), false, false, 0); |
1915 | - header.PackStart (app_button, false, false, 0); |
1916 | - header.PackStart (search_entry = new SearchEntry (), true, true, 0); |
1917 | - box.PackStartHighlighted (header, false, false, 0, MeeGoHeaderBox.HighlightFlags.Background); |
1918 | - |
1919 | - // Build the Library Views |
1920 | - var views = new HBox () { Spacing = 5 }; |
1921 | - views.PackStart (SetupView (artist_view = new ArtistListView () { |
1922 | - Name = "meego-panel-artists", |
1923 | - WidthRequest = 150, |
1924 | - DoNotRenderNullModel = true |
1925 | - }), false, false, 0); |
1926 | - views.PackStart (SetupView (album_view = new AlbumListView () { |
1927 | - Name = "meego-panel-albums", |
1928 | - DoNotRenderNullModel = true |
1929 | - }), true, true, 0); |
1930 | - box.PackStart (views, true, true, 0); |
1931 | - |
1932 | - Attach (box, 0, 1, 1, 2, |
1933 | - AttachOptions.Expand | AttachOptions.Fill, |
1934 | - AttachOptions.Expand | AttachOptions.Fill, |
1935 | - 0, 0); |
1936 | - } |
1937 | - |
1938 | - private void BuildNowPlaying () |
1939 | - { |
1940 | - var box = new MeeGoHeaderBox () { Title = Catalog.GetString ("Now Playing") }; |
1941 | - |
1942 | - var seek_slider = new ConnectedSeekSlider (SeekSliderLayout.Horizontal); |
1943 | - seek_slider.StreamPositionLabel.FormatString = "<small>{0}</small>"; |
1944 | - |
1945 | - track_info_display = new MeeGoTrackInfoDisplay () { |
1946 | - HeightRequest = 64, |
1947 | - NoShowAll = true |
1948 | - }; |
1949 | - |
1950 | - track_view = new TerseTrackListView () { |
1951 | - Name = "meego-panel-tracks", |
1952 | - WidthRequest = 220 |
1953 | - }; |
1954 | - track_view.ColumnController.Insert (new Column (null, "indicator", |
1955 | - new ColumnCellStatusIndicator (null), 0.05, true, 20, 20), 0); |
1956 | - |
1957 | - box.PackStartHighlighted (track_info_display, false, false, 0, MeeGoHeaderBox.HighlightFlags.Background); |
1958 | - box.PackStartHighlighted (seek_slider, false, false, 0, MeeGoHeaderBox.HighlightFlags.Background); |
1959 | - box.PackStart (SetupView (track_view), true, true, 0); |
1960 | - box.PackStartHighlighted (new PlaybackBox (), false, false, 0, MeeGoHeaderBox.HighlightFlags.TopLine); |
1961 | - |
1962 | - Attach (box, 1, 2, 1, 2, |
1963 | - AttachOptions.Shrink, |
1964 | - AttachOptions.Expand | AttachOptions.Fill, |
1965 | - 0, 0); |
1966 | - } |
1967 | - |
1968 | - private ScrolledWindow SetupView (Widget view) |
1969 | - { |
1970 | - var scrolled = new ScrolledWindow () { |
1971 | - VscrollbarPolicy = PolicyType.Automatic, |
1972 | - HscrollbarPolicy = PolicyType.Never, |
1973 | - ShadowType = ShadowType.None |
1974 | - }; |
1975 | - scrolled.Add (view); |
1976 | - return scrolled; |
1977 | - } |
1978 | - |
1979 | -#endregion |
1980 | - |
1981 | -#region Background Rendering |
1982 | - |
1983 | - protected override void OnParentSet (Widget previous) |
1984 | - { |
1985 | - base.OnParentSet (previous); |
1986 | - |
1987 | - if (Parent != null) { |
1988 | - Parent.ModifyBg (StateType.Normal, Style.White); |
1989 | - } |
1990 | - } |
1991 | - |
1992 | - protected override bool OnExposeEvent (Gdk.EventExpose evnt) |
1993 | - { |
1994 | - if (!Visible || !IsMapped) { |
1995 | - return true; |
1996 | - } |
1997 | - |
1998 | - RenderBackground (evnt.Window, evnt.Region); |
1999 | - foreach (var child in Children) { |
2000 | - PropagateExpose (child, evnt); |
2001 | - } |
2002 | - |
2003 | - return true; |
2004 | - } |
2005 | - |
2006 | - private void RenderBackground (Gdk.Window window, Gdk.Region region) |
2007 | - { |
2008 | - var cr = Gdk.CairoHelper.Create (window); |
2009 | - |
2010 | - var grad = new Cairo.LinearGradient (0, 0, 0, Allocation.Height); |
2011 | - grad.AddColorStop (0, CairoExtensions.RgbToColor (0xffffff)); |
2012 | - grad.AddColorStop (1, CairoExtensions.RgbToColor (0xc3c3c3)); |
2013 | - cr.Pattern = grad; |
2014 | - cr.Rectangle (0, 0, Allocation.Width, Allocation.Height); |
2015 | - cr.Fill (); |
2016 | - grad.Destroy (); |
2017 | - |
2018 | - CairoExtensions.DisposeContext (cr); |
2019 | - } |
2020 | - |
2021 | -#endregion |
2022 | - |
2023 | -#region Event Handlers |
2024 | - |
2025 | - private void OnProgrammaticSearch (object o, EventArgs args) |
2026 | - { |
2027 | - Source source = ServiceManager.SourceManager.ActiveSource; |
2028 | - search_entry.Ready = false; |
2029 | - search_entry.Query = source.FilterQuery; |
2030 | - search_entry.Ready = true; |
2031 | - } |
2032 | - |
2033 | - private void OnBrowserViewSelectionChanged (object o, EventArgs args) |
2034 | - { |
2035 | - // Scroll the raising filter view to the top if "all" is selected |
2036 | - var selection = (Hyena.Collections.Selection)o; |
2037 | - if (!selection.AllSelected) { |
2038 | - return; |
2039 | - } |
2040 | - |
2041 | - if (artist_view.Selection == selection) { |
2042 | - artist_view.ScrollTo (0); |
2043 | - } else if (album_view.Selection == selection) { |
2044 | - album_view.ScrollTo (0); |
2045 | - } |
2046 | - } |
2047 | - |
2048 | - private void OnSearchEntryChanged (object o, EventArgs args) |
2049 | - { |
2050 | - var source = ServiceManager.SourceManager.ActiveSource; |
2051 | - if (source == null) { |
2052 | - return; |
2053 | - } |
2054 | - |
2055 | - source.FilterType = (TrackFilterType)search_entry.ActiveFilterID; |
2056 | - source.FilterQuery = search_entry.Query; |
2057 | - } |
2058 | - |
2059 | - private void OnActiveSourceChanged (SourceEventArgs args) |
2060 | - { |
2061 | - ThreadAssist.ProxyToMain (delegate { |
2062 | - var source = ServiceManager.SourceManager.ActiveSource; |
2063 | - |
2064 | - search_entry.Ready = false; |
2065 | - search_entry.CancelSearch (); |
2066 | - search_entry.SearchSensitive = source != null && source.CanSearch; |
2067 | - |
2068 | - if (source != null && source.FilterQuery != null) { |
2069 | - search_entry.Query = source.FilterQuery; |
2070 | - search_entry.ActivateFilter ((int)source.FilterType); |
2071 | - } |
2072 | - |
2073 | - ResetSource (); |
2074 | - SetSource (source); |
2075 | - |
2076 | - search_entry.Ready = true; |
2077 | - }); |
2078 | - } |
2079 | - |
2080 | - internal void SyncSearchEntry () |
2081 | - { |
2082 | - OnActiveSourceChanged (null); |
2083 | - } |
2084 | - |
2085 | -#endregion |
2086 | - |
2087 | -#region View<->Model binding |
2088 | - |
2089 | - private void SetModel<T> (IListModel<T> model) |
2090 | - { |
2091 | - ListView<T> view = FindListView <T> (); |
2092 | - if (view != null) { |
2093 | - SetModel (view, model); |
2094 | - } else { |
2095 | - Hyena.Log.DebugFormat ("Unable to find view for model {0}", model); |
2096 | - } |
2097 | - } |
2098 | - |
2099 | - private void SetModel<T> (ListView<T> view, IListModel<T> model) |
2100 | - { |
2101 | - if (view.Model != null) { |
2102 | - model_positions[view.Model] = view.Vadjustment.Value; |
2103 | - } |
2104 | - |
2105 | - if (model == null) { |
2106 | - view.SetModel (null); |
2107 | - return; |
2108 | - } |
2109 | - |
2110 | - if (!model_positions.ContainsKey (model)) { |
2111 | - model_positions[model] = 0.0; |
2112 | - } |
2113 | - |
2114 | - view.SetModel (model, model_positions[model]); |
2115 | - } |
2116 | - |
2117 | - private ListView<T> FindListView<T> () |
2118 | - { |
2119 | - foreach (var view in new IListView [] { artist_view, album_view, track_view }) { |
2120 | - if (view is ListView<T>) { |
2121 | - return (ListView<T>)view; |
2122 | - } |
2123 | - } |
2124 | - return null; |
2125 | - } |
2126 | - |
2127 | -#endregion |
2128 | - |
2129 | -#region ISourceContents |
2130 | - |
2131 | - public bool SetSource (ISource source) |
2132 | - { |
2133 | - var track_source = source as ITrackModelSource; |
2134 | - var filterable_source = source as IFilterableSource; |
2135 | - if (track_source == null) { |
2136 | - return false; |
2137 | - } |
2138 | - |
2139 | - this.source = source; |
2140 | - |
2141 | - SetModel (track_view, track_source.TrackModel); |
2142 | - |
2143 | - if (filterable_source != null && filterable_source.CurrentFilters != null) { |
2144 | - foreach (var model in filterable_source.CurrentFilters) { |
2145 | - if (model is IListModel<ArtistInfo>) { |
2146 | - SetModel (artist_view, (model as IListModel<ArtistInfo>)); |
2147 | - } else if (model is IListModel<AlbumInfo>) { |
2148 | - SetModel (album_view, (model as IListModel<AlbumInfo>)); |
2149 | - } |
2150 | - } |
2151 | - } |
2152 | - |
2153 | - return true; |
2154 | - } |
2155 | - |
2156 | - public void ResetSource () |
2157 | - { |
2158 | - source = null; |
2159 | - SetModel (track_view, null); |
2160 | - SetModel (artist_view, null); |
2161 | - SetModel (album_view, null); |
2162 | - track_view.HeaderVisible = false; |
2163 | - } |
2164 | - |
2165 | - public ISource Source { |
2166 | - get { return source; } |
2167 | - } |
2168 | - |
2169 | - public Widget Widget { |
2170 | - get { return this; } |
2171 | - } |
2172 | - |
2173 | -#endregion |
2174 | - |
2175 | -#region ITrackModelSourceContents |
2176 | - |
2177 | - public IListView<TrackInfo> TrackView { |
2178 | - get { return track_view; } |
2179 | - } |
2180 | - |
2181 | -#endregion |
2182 | - |
2183 | - } |
2184 | -} |
2185 | |
2186 | === removed file '.pc/06_add-meego-desktop-file.patch/src/Extensions/Banshee.MeeGo/Makefile.am' |
2187 | --- .pc/06_add-meego-desktop-file.patch/src/Extensions/Banshee.MeeGo/Makefile.am 2011-02-20 14:48:54 +0000 |
2188 | +++ .pc/06_add-meego-desktop-file.patch/src/Extensions/Banshee.MeeGo/Makefile.am 1970-01-01 00:00:00 +0000 |
2189 | @@ -1,61 +0,0 @@ |
2190 | -ASSEMBLY = Banshee.MeeGo |
2191 | -TARGET = library |
2192 | -LINK = $(REF_EXTENSION_MEEGO) $(LINK_EXTENSION_PLAYQUEUE_DEPS) |
2193 | -INSTALL_DIR = $(EXTENSIONS_INSTALL_DIR) |
2194 | - |
2195 | -@INTLTOOL_DESKTOP_RULE@ |
2196 | - |
2197 | -SOURCES = \ |
2198 | - Banshee.MeeGo/MediaPanelContents.cs \ |
2199 | - Banshee.MeeGo/MeeGoHeaderBox.cs \ |
2200 | - Banshee.MeeGo/MeeGoPanel.cs \ |
2201 | - Banshee.MeeGo/MeeGoService.cs \ |
2202 | - Banshee.MeeGo/MeeGoTheme.cs \ |
2203 | - Banshee.MeeGo/MeeGoTrackInfoDisplay.cs \ |
2204 | - Banshee.MeeGo/PlaybackBox.cs \ |
2205 | - Banshee.MeeGo/SearchEntry.cs \ |
2206 | - MeeGo.Panel/PanelButtonState.cs \ |
2207 | - MeeGo.Panel/PanelClient.cs \ |
2208 | - MeeGo.Panel/PanelGtk.cs \ |
2209 | - MeeGo.Panel/SetPositionHandler.cs \ |
2210 | - MeeGo.Panel/SetSizeHandler.cs |
2211 | - |
2212 | -RESOURCES = Banshee.MeeGo.addin.xml |
2213 | - |
2214 | -if HAVE_MEEGO |
2215 | - |
2216 | -include $(top_srcdir)/build/build.mk |
2217 | - |
2218 | -module_SCRIPTS += Banshee.MeeGo.dll.config |
2219 | - |
2220 | -paneldir = $(libexecdir) |
2221 | -panel_SCRIPTS = meego-panel-banshee |
2222 | - |
2223 | -servicedir = $(datadir)/dbus-1/services |
2224 | -service_DATA = com.meego.UX.Shell.Panels.banshee.service |
2225 | - |
2226 | -com.meego.UX.Shell.Panels.banshee.service: com.meego.UX.Shell.Panels.banshee.service.in $(top_builddir)/config.log |
2227 | - sed -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@ |
2228 | - |
2229 | -desktopfiles_in_files = meego-panel-banshee.desktop.in |
2230 | -desktopfiles_files = $(desktopfiles_in_files:.desktop.in=.desktop) |
2231 | -desktopfilesdir = $(datadir)/mutter-meego/panels |
2232 | -desktopfiles_DATA = $(desktopfiles_files) |
2233 | - |
2234 | -%.desktop.in: %.desktop.in.in Makefile |
2235 | - sed -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@ |
2236 | - |
2237 | -clean-local: |
2238 | - rm -f com.meego.UX.Shell.Panels.banshee.service \ |
2239 | - meego-panel-banshee.desktop \ |
2240 | - meego-panel-banshee.desktop.in |
2241 | - |
2242 | -else |
2243 | -EXTRA_DIST = $(SOURCES) $(RESOURCES) |
2244 | -endif |
2245 | - |
2246 | -EXTRA_DIST += \ |
2247 | - Banshee.MeeGo.dll.config \ |
2248 | - meego-panel-banshee \ |
2249 | - com.meego.UX.Shell.Panels.banshee.service.in \ |
2250 | - meego-panel-banshee.desktop.in.in |
2251 | |
2252 | === renamed file '.pc/06_add-meego-desktop-file.patch/src/Extensions/Banshee.MeeGo/Makefile.in' => '.pc/06_add-meego-desktop-file.patch/src/Extensions/Banshee.MeeGo/Makefile.in.THIS' |
2253 | === removed file '.pc/06_add-meego-desktop-file.patch/src/Extensions/Banshee.MeeGo/banshee-1.desktop.in.in' |
2254 | === removed directory '.pc/07_disable-notification-area-by-default.patch' |
2255 | === removed directory '.pc/07_disable-notification-area-by-default.patch/src' |
2256 | === removed directory '.pc/07_disable-notification-area-by-default.patch/src/Extensions' |
2257 | === removed directory '.pc/07_disable-notification-area-by-default.patch/src/Extensions/Banshee.NotificationArea' |
2258 | === removed file '.pc/07_disable-notification-area-by-default.patch/src/Extensions/Banshee.NotificationArea/Banshee.NotificationArea.addin.xml' |
2259 | --- .pc/07_disable-notification-area-by-default.patch/src/Extensions/Banshee.NotificationArea/Banshee.NotificationArea.addin.xml 2010-11-26 18:35:59 +0000 |
2260 | +++ .pc/07_disable-notification-area-by-default.patch/src/Extensions/Banshee.NotificationArea/Banshee.NotificationArea.addin.xml 1970-01-01 00:00:00 +0000 |
2261 | @@ -1,23 +0,0 @@ |
2262 | -<?xml version="1.0" encoding="utf-8"?> |
2263 | -<Addin |
2264 | - id="Banshee.NotificationArea" |
2265 | - version="1.0" |
2266 | - compatVersion="1.0" |
2267 | - copyright="© 2005-2008 Novell Inc. Licensed under the MIT X11 license." |
2268 | - name="Notification Area Icon" |
2269 | - category="Utilities" |
2270 | - description="Display an icon in the notification area for controlling Banshee." |
2271 | - author="Aaron Bockover, Sebastian Dröge, Alexander Hixon, Gabriel Burt, Ruben Vermeersch" |
2272 | - url="http://banshee.fm/" |
2273 | - defaultEnabled="true"> |
2274 | - |
2275 | - <Dependencies> |
2276 | - <Addin id="Banshee.Services" version="1.0"/> |
2277 | - <Addin id="Banshee.ThickClient" version="1.0"/> |
2278 | - </Dependencies> |
2279 | - |
2280 | - <Extension path="/Banshee/ServiceManager/Service"> |
2281 | - <Service class="Banshee.NotificationArea.NotificationAreaService"/> |
2282 | - </Extension> |
2283 | - |
2284 | -</Addin> |
2285 | |
2286 | === removed directory '.pc/07_enable-library-watch-by-default.patch' |
2287 | === removed directory '.pc/07_enable-library-watch-by-default.patch/src' |
2288 | === removed directory '.pc/07_enable-library-watch-by-default.patch/src/Extensions' |
2289 | === removed directory '.pc/07_enable-library-watch-by-default.patch/src/Extensions/Banshee.LibraryWatcher' |
2290 | === removed file '.pc/07_enable-library-watch-by-default.patch/src/Extensions/Banshee.LibraryWatcher/Banshee.LibraryWatcher.addin.xml' |
2291 | --- .pc/07_enable-library-watch-by-default.patch/src/Extensions/Banshee.LibraryWatcher/Banshee.LibraryWatcher.addin.xml 2011-02-26 22:05:24 +0000 |
2292 | +++ .pc/07_enable-library-watch-by-default.patch/src/Extensions/Banshee.LibraryWatcher/Banshee.LibraryWatcher.addin.xml 1970-01-01 00:00:00 +0000 |
2293 | @@ -1,22 +0,0 @@ |
2294 | -<Addin |
2295 | - id="Banshee.LibraryWatcher" |
2296 | - version="1.0" |
2297 | - compatVersion="1.0" |
2298 | - copyright="© 2008-2009 Christian Martellini, Alexander Hixon, Alexander Kojevnikov. Licensed under the MIT X11 license." |
2299 | - name="Library Watcher" |
2300 | - category="Utilities" |
2301 | - description="Automatically update music and video libraries." |
2302 | - author="Christian Martellini, Alexander Hixon, Alexander Kojevnikov" |
2303 | - url="http://banshee.fm/" |
2304 | - defaultEnabled="false"> |
2305 | - |
2306 | - <Dependencies> |
2307 | - <Addin id="Banshee.Services" version="1.0"/> |
2308 | - <Addin id="Banshee.ThickClient" version="1.0"/> |
2309 | - </Dependencies> |
2310 | - |
2311 | - <Extension path="/Banshee/ServiceManager/Service"> |
2312 | - <Service class="Banshee.LibraryWatcher.LibraryWatcherService"/> |
2313 | - </Extension> |
2314 | - |
2315 | -</Addin> |
2316 | |
2317 | === removed directory '.pc/07_enable-mpris-by-default.patch' |
2318 | === removed directory '.pc/07_enable-mpris-by-default.patch/src' |
2319 | === removed directory '.pc/07_enable-mpris-by-default.patch/src/Extensions' |
2320 | === removed directory '.pc/07_enable-mpris-by-default.patch/src/Extensions/Banshee.Mpris' |
2321 | === removed file '.pc/07_enable-mpris-by-default.patch/src/Extensions/Banshee.Mpris/Banshee.Mpris.addin.xml' |
2322 | --- .pc/07_enable-mpris-by-default.patch/src/Extensions/Banshee.Mpris/Banshee.Mpris.addin.xml 2011-02-20 14:48:54 +0000 |
2323 | +++ .pc/07_enable-mpris-by-default.patch/src/Extensions/Banshee.Mpris/Banshee.Mpris.addin.xml 1970-01-01 00:00:00 +0000 |
2324 | @@ -1,21 +0,0 @@ |
2325 | -<?xml version="1.0" encoding="utf-8"?> |
2326 | -<Addin |
2327 | - id="Banshee.Mpris" |
2328 | - version="1.0" |
2329 | - compatVersion="1.0" |
2330 | - copyright="© 2010 John Millikin, Bertrand Lorentz. Licensed under the MIT X11 license." |
2331 | - name="MPRIS D-Bus interface" |
2332 | - description="Control Banshee using the MPRIS D-Bus interface." |
2333 | - author="John Millikin, Bertrand Lorentz" |
2334 | - category="Utilities" |
2335 | - defaultEnabled="false"> |
2336 | - |
2337 | - <Dependencies> |
2338 | - <Addin id="Banshee.Services" version="1.0" /> |
2339 | - </Dependencies> |
2340 | - |
2341 | - <Extension path="/Banshee/ServiceManager/Service"> |
2342 | - <Service class="Banshee.Mpris.MprisService"/> |
2343 | - </Extension> |
2344 | - |
2345 | -</Addin> |
2346 | |
2347 | === removed directory '.pc/07_enable-soundmenu-by-default.patch' |
2348 | === removed directory '.pc/07_enable-soundmenu-by-default.patch/src' |
2349 | === removed directory '.pc/07_enable-soundmenu-by-default.patch/src/Extensions' |
2350 | === removed directory '.pc/07_enable-soundmenu-by-default.patch/src/Extensions/Banshee.SoundMenu' |
2351 | === removed file '.pc/07_enable-soundmenu-by-default.patch/src/Extensions/Banshee.SoundMenu/Banshee.SoundMenu.addin.xml' |
2352 | --- .pc/07_enable-soundmenu-by-default.patch/src/Extensions/Banshee.SoundMenu/Banshee.SoundMenu.addin.xml 2011-02-26 22:05:24 +0000 |
2353 | +++ .pc/07_enable-soundmenu-by-default.patch/src/Extensions/Banshee.SoundMenu/Banshee.SoundMenu.addin.xml 1970-01-01 00:00:00 +0000 |
2354 | @@ -1,24 +0,0 @@ |
2355 | -<?xml version="1.0" encoding="utf-8"?> |
2356 | -<Addin |
2357 | - id="Banshee.SoundMenu" |
2358 | - version="1.0" |
2359 | - compatVersion="1.0" |
2360 | - copyright="Copyright 2010 Bertrand Lorentz. Licensed under the MIT X11 license." |
2361 | - name="Sound Menu Integration" |
2362 | - category="Utilities" |
2363 | - description="Control Banshee from the Sound Menu." |
2364 | - author="Bertrand Lorentz" |
2365 | - url="http://banshee-project.org/" |
2366 | - defaultEnabled="false"> |
2367 | - |
2368 | - <Dependencies> |
2369 | - <Addin id="Banshee.Services" version="1.0"/> |
2370 | - <Addin id="Banshee.ThickClient" version="1.0"/> |
2371 | - <Addin id="Banshee.Mpris" version="1.0"/> |
2372 | - </Dependencies> |
2373 | - |
2374 | - <Extension path="/Banshee/ServiceManager/Service"> |
2375 | - <Service class="Banshee.SoundMenu.SoundMenuService"/> |
2376 | - </Extension> |
2377 | - |
2378 | -</Addin> |
2379 | |
2380 | === removed directory '.pc/08_remove_unrelevant_media.patch' |
2381 | === removed directory '.pc/08_remove_unrelevant_media.patch/src' |
2382 | === removed directory '.pc/08_remove_unrelevant_media.patch/src/Extensions' |
2383 | === removed directory '.pc/08_remove_unrelevant_media.patch/src/Extensions/Banshee.MeeGo' |
2384 | === removed directory '.pc/08_remove_unrelevant_media.patch/src/Extensions/Banshee.MeeGo/Banshee.MeeGo' |
2385 | === removed file '.pc/08_remove_unrelevant_media.patch/src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MediaPanelContents.cs' |
2386 | --- .pc/08_remove_unrelevant_media.patch/src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MediaPanelContents.cs 2011-02-20 14:48:54 +0000 |
2387 | +++ .pc/08_remove_unrelevant_media.patch/src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MediaPanelContents.cs 1970-01-01 00:00:00 +0000 |
2388 | @@ -1,422 +0,0 @@ |
2389 | -// |
2390 | -// MediaPanelContents.cs |
2391 | -// |
2392 | -// Author: |
2393 | -// Aaron Bockover <abockover@novell.com> |
2394 | -// |
2395 | -// Copyright 2010 Novell, Inc. |
2396 | -// |
2397 | -// Permission is hereby granted, free of charge, to any person obtaining a copy |
2398 | -// of this software and associated documentation files (the "Software"), to deal |
2399 | -// in the Software without restriction, including without limitation the rights |
2400 | -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |
2401 | -// copies of the Software, and to permit persons to whom the Software is |
2402 | -// furnished to do so, subject to the following conditions: |
2403 | -// |
2404 | -// The above copyright notice and this permission notice shall be included in |
2405 | -// all copies or substantial portions of the Software. |
2406 | -// |
2407 | -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
2408 | -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
2409 | -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
2410 | -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
2411 | -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
2412 | -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN |
2413 | -// THE SOFTWARE. |
2414 | - |
2415 | -using System; |
2416 | -using System.Collections.Generic; |
2417 | - |
2418 | -using Mono.Unix; |
2419 | -using Gtk; |
2420 | - |
2421 | -using Hyena; |
2422 | -using Hyena.Data; |
2423 | -using Hyena.Gui; |
2424 | -using Hyena.Data.Gui; |
2425 | - |
2426 | -using Banshee.ServiceStack; |
2427 | -using Banshee.Sources; |
2428 | -using Banshee.Sources.Gui; |
2429 | -using Banshee.Collection; |
2430 | -using Banshee.Collection.Gui; |
2431 | -using Banshee.MediaEngine; |
2432 | -using Banshee.Gui; |
2433 | -using Banshee.Gui.Widgets; |
2434 | - |
2435 | -namespace Banshee.MeeGo |
2436 | -{ |
2437 | - public class MediaPanelContents : Table, ITrackModelSourceContents |
2438 | - { |
2439 | - private ArtistListView artist_view; |
2440 | - private AlbumListView album_view; |
2441 | - private TerseTrackListView track_view; |
2442 | - |
2443 | - private SourceComboBox source_combo_box; |
2444 | - private SearchEntry search_entry; |
2445 | - private MeeGoTrackInfoDisplay track_info_display; |
2446 | - |
2447 | - private ISource source; |
2448 | - private Dictionary<object, double> model_positions = new Dictionary<object, double> (); |
2449 | - |
2450 | - protected MediaPanelContents (IntPtr raw) : base (raw) |
2451 | - { |
2452 | - } |
2453 | - |
2454 | - public MediaPanelContents () : base (3, 2, false) |
2455 | - { |
2456 | - BorderWidth = 5; |
2457 | - RowSpacing = 6; |
2458 | - ColumnSpacing = 7; |
2459 | - RedrawOnAllocate = true; |
2460 | - AppPaintable = true; |
2461 | - |
2462 | - BuildHeader (); |
2463 | - BuildLibrary (); |
2464 | - BuildNowPlaying (); |
2465 | - BuildMessageBar (); |
2466 | - ConnectEvents (); |
2467 | - |
2468 | - SetSource (ServiceManager.SourceManager.ActiveSource); |
2469 | - } |
2470 | - |
2471 | - private void ConnectEvents () |
2472 | - { |
2473 | - ServiceManager.SourceManager.ActiveSourceChanged += OnActiveSourceChanged; |
2474 | - |
2475 | - ServiceManager.Get<InterfaceActionService> ().TrackActions ["SearchForSameArtistAction"].Activated += OnProgrammaticSearch; |
2476 | - ServiceManager.Get<InterfaceActionService> ().TrackActions ["SearchForSameAlbumAction"].Activated += OnProgrammaticSearch; |
2477 | - |
2478 | - ServiceManager.PlayerEngine.ConnectEvent ((args) => track_info_display.Visible = |
2479 | - ServiceManager.PlayerEngine.CurrentState != PlayerState.Idle, |
2480 | - PlayerEvent.StateChange | PlayerEvent.StartOfStream); |
2481 | - |
2482 | - source_combo_box.Model.Filter = (source) => |
2483 | - source == ServiceManager.SourceManager.MusicLibrary || |
2484 | - source.Parent == ServiceManager.SourceManager.MusicLibrary || |
2485 | - source.GetType ().FullName == "Banshee.PlayQueue.PlayQueueSource"; |
2486 | - source_combo_box.Model.Refresh (); |
2487 | - source_combo_box.UpdateActiveSource (); |
2488 | - |
2489 | - search_entry.Changed += OnSearchEntryChanged; |
2490 | - |
2491 | - artist_view.SelectionProxy.Changed += OnBrowserViewSelectionChanged; |
2492 | - album_view.SelectionProxy.Changed += OnBrowserViewSelectionChanged; |
2493 | - } |
2494 | - |
2495 | -#region UI Construction |
2496 | - |
2497 | - private void BuildHeader () |
2498 | - { |
2499 | - Attach (new Label { |
2500 | - Markup = String.Format ("<span font_desc=\"Droid Sans Bold\" " + |
2501 | - "size=\"x-large\" foreground=\"#606eff\">{0}</span>", |
2502 | - GLib.Markup.EscapeText (Catalog.GetString ("Media"))), |
2503 | - Xalign = 0.0f |
2504 | - }, |
2505 | - 0, 2, 0, 1, |
2506 | - AttachOptions.Fill | AttachOptions.Expand, |
2507 | - AttachOptions.Shrink, 12, 0); |
2508 | - } |
2509 | - |
2510 | - private void BuildLibrary () |
2511 | - { |
2512 | - var box = new MeeGoHeaderBox () { Title = Catalog.GetString ("Library") }; |
2513 | - |
2514 | - // Build the Library Header |
2515 | - var header = new HBox () { |
2516 | - Spacing = 5, |
2517 | - BorderWidth = 5 |
2518 | - }; |
2519 | - |
2520 | - var app_button = new Button (new Image () { |
2521 | - IconSize = (int)IconSize.LargeToolbar, |
2522 | - IconName = "media-player-banshee" |
2523 | - }) { |
2524 | - TooltipText = Catalog.GetString ("Launch the Banshee Media Player") |
2525 | - }; |
2526 | - app_button.Clicked += (o, e) => { |
2527 | - ServiceManager.SourceManager.SetActiveSource (ServiceManager.SourceManager.MusicLibrary); |
2528 | - ServiceManager.Get<MeeGoService> ().PresentPrimaryInterface (); |
2529 | - }; |
2530 | - |
2531 | - header.PackStart (source_combo_box = new SourceComboBox (), false, false, 0); |
2532 | - header.PackStart (app_button, false, false, 0); |
2533 | - header.PackStart (search_entry = new SearchEntry (), true, true, 0); |
2534 | - box.PackStartHighlighted (header, false, false, 0, MeeGoHeaderBox.HighlightFlags.Background); |
2535 | - |
2536 | - // Build the Library Views |
2537 | - var views = new HBox () { Spacing = 5 }; |
2538 | - views.PackStart (SetupView (artist_view = new ArtistListView () { |
2539 | - Name = "meego-panel-artists", |
2540 | - WidthRequest = 150, |
2541 | - DoNotRenderNullModel = true |
2542 | - }), false, false, 0); |
2543 | - views.PackStart (SetupView (album_view = new AlbumListView () { |
2544 | - Name = "meego-panel-albums", |
2545 | - DoNotRenderNullModel = true |
2546 | - }), true, true, 0); |
2547 | - box.PackStart (views, true, true, 0); |
2548 | - |
2549 | - Attach (box, 0, 1, 1, 2, |
2550 | - AttachOptions.Expand | AttachOptions.Fill, |
2551 | - AttachOptions.Expand | AttachOptions.Fill, |
2552 | - 0, 0); |
2553 | - } |
2554 | - |
2555 | - private void BuildNowPlaying () |
2556 | - { |
2557 | - var box = new MeeGoHeaderBox () { Title = Catalog.GetString ("Now Playing") }; |
2558 | - |
2559 | - var seek_slider = new ConnectedSeekSlider (SeekSliderLayout.Horizontal); |
2560 | - seek_slider.StreamPositionLabel.FormatString = "<small>{0}</small>"; |
2561 | - |
2562 | - track_info_display = new MeeGoTrackInfoDisplay () { |
2563 | - HeightRequest = 64, |
2564 | - NoShowAll = true |
2565 | - }; |
2566 | - |
2567 | - track_view = new TerseTrackListView () { |
2568 | - Name = "meego-panel-tracks", |
2569 | - WidthRequest = 220 |
2570 | - }; |
2571 | - track_view.ColumnController.Insert (new Column (null, "indicator", |
2572 | - new ColumnCellStatusIndicator (null), 0.05, true, 20, 20), 0); |
2573 | - |
2574 | - box.PackStartHighlighted (track_info_display, false, false, 0, MeeGoHeaderBox.HighlightFlags.Background); |
2575 | - box.PackStartHighlighted (seek_slider, false, false, 0, MeeGoHeaderBox.HighlightFlags.Background); |
2576 | - box.PackStart (SetupView (track_view), true, true, 0); |
2577 | - box.PackStartHighlighted (new PlaybackBox (), false, false, 0, MeeGoHeaderBox.HighlightFlags.TopLine); |
2578 | - |
2579 | - Attach (box, 1, 2, 1, 2, |
2580 | - AttachOptions.Shrink, |
2581 | - AttachOptions.Expand | AttachOptions.Fill, |
2582 | - 0, 0); |
2583 | - } |
2584 | - |
2585 | - private void BuildMessageBar () |
2586 | - { |
2587 | - ConnectedMessageBar bar = new ConnectedMessageBar (); |
2588 | - Attach (bar, 0, 2, 2, 3, |
2589 | - AttachOptions.Expand | AttachOptions.Fill, |
2590 | - AttachOptions.Shrink, 0, 0); |
2591 | - bar.ShowAll (); |
2592 | - } |
2593 | - |
2594 | - private ScrolledWindow SetupView (Widget view) |
2595 | - { |
2596 | - var scrolled = new ScrolledWindow () { |
2597 | - VscrollbarPolicy = PolicyType.Automatic, |
2598 | - HscrollbarPolicy = PolicyType.Never, |
2599 | - ShadowType = ShadowType.None |
2600 | - }; |
2601 | - scrolled.Add (view); |
2602 | - return scrolled; |
2603 | - } |
2604 | - |
2605 | -#endregion |
2606 | - |
2607 | -#region Background Rendering |
2608 | - |
2609 | - protected override void OnParentSet (Widget previous) |
2610 | - { |
2611 | - base.OnParentSet (previous); |
2612 | - |
2613 | - if (Parent != null) { |
2614 | - Parent.ModifyBg (StateType.Normal, Style.White); |
2615 | - } |
2616 | - } |
2617 | - |
2618 | - protected override bool OnExposeEvent (Gdk.EventExpose evnt) |
2619 | - { |
2620 | - if (!Visible || !IsMapped) { |
2621 | - return true; |
2622 | - } |
2623 | - |
2624 | - RenderBackground (evnt.Window, evnt.Region); |
2625 | - foreach (var child in Children) { |
2626 | - PropagateExpose (child, evnt); |
2627 | - } |
2628 | - |
2629 | - return true; |
2630 | - } |
2631 | - |
2632 | - private void RenderBackground (Gdk.Window window, Gdk.Region region) |
2633 | - { |
2634 | - var cr = Gdk.CairoHelper.Create (window); |
2635 | - |
2636 | - var grad = new Cairo.LinearGradient (0, 0, 0, Allocation.Height); |
2637 | - grad.AddColorStop (0, CairoExtensions.RgbToColor (0xffffff)); |
2638 | - grad.AddColorStop (1, CairoExtensions.RgbToColor (0xc3c3c3)); |
2639 | - cr.Pattern = grad; |
2640 | - cr.Rectangle (0, 0, Allocation.Width, Allocation.Height); |
2641 | - cr.Fill (); |
2642 | - grad.Destroy (); |
2643 | - |
2644 | - CairoExtensions.DisposeContext (cr); |
2645 | - } |
2646 | - |
2647 | -#endregion |
2648 | - |
2649 | -#region Event Handlers |
2650 | - |
2651 | - private void OnProgrammaticSearch (object o, EventArgs args) |
2652 | - { |
2653 | - Source source = ServiceManager.SourceManager.ActiveSource; |
2654 | - search_entry.Ready = false; |
2655 | - search_entry.Query = source.FilterQuery; |
2656 | - search_entry.Ready = true; |
2657 | - } |
2658 | - |
2659 | - private void OnBrowserViewSelectionChanged (object o, EventArgs args) |
2660 | - { |
2661 | - // Scroll the raising filter view to the top if "all" is selected |
2662 | - var selection = (Hyena.Collections.Selection)o; |
2663 | - if (!selection.AllSelected) { |
2664 | - return; |
2665 | - } |
2666 | - |
2667 | - if (artist_view.Selection == selection) { |
2668 | - artist_view.ScrollTo (0); |
2669 | - } else if (album_view.Selection == selection) { |
2670 | - album_view.ScrollTo (0); |
2671 | - } |
2672 | - } |
2673 | - |
2674 | - private void OnSearchEntryChanged (object o, EventArgs args) |
2675 | - { |
2676 | - var source = ServiceManager.SourceManager.ActiveSource; |
2677 | - if (source == null) { |
2678 | - return; |
2679 | - } |
2680 | - |
2681 | - source.FilterType = (TrackFilterType)search_entry.ActiveFilterID; |
2682 | - source.FilterQuery = search_entry.Query; |
2683 | - } |
2684 | - |
2685 | - private void OnActiveSourceChanged (SourceEventArgs args) |
2686 | - { |
2687 | - ThreadAssist.ProxyToMain (delegate { |
2688 | - var source = ServiceManager.SourceManager.ActiveSource; |
2689 | - |
2690 | - search_entry.Ready = false; |
2691 | - search_entry.CancelSearch (); |
2692 | - search_entry.SearchSensitive = source != null && source.CanSearch; |
2693 | - |
2694 | - if (source != null && source.FilterQuery != null) { |
2695 | - search_entry.Query = source.FilterQuery; |
2696 | - search_entry.ActivateFilter ((int)source.FilterType); |
2697 | - } |
2698 | - |
2699 | - ResetSource (); |
2700 | - SetSource (source); |
2701 | - |
2702 | - search_entry.Ready = true; |
2703 | - }); |
2704 | - } |
2705 | - |
2706 | - internal void SyncSearchEntry () |
2707 | - { |
2708 | - OnActiveSourceChanged (null); |
2709 | - } |
2710 | - |
2711 | -#endregion |
2712 | - |
2713 | -#region View<->Model binding |
2714 | - |
2715 | - private void SetModel<T> (IListModel<T> model) |
2716 | - { |
2717 | - ListView<T> view = FindListView <T> (); |
2718 | - if (view != null) { |
2719 | - SetModel (view, model); |
2720 | - } else { |
2721 | - Hyena.Log.DebugFormat ("Unable to find view for model {0}", model); |
2722 | - } |
2723 | - } |
2724 | - |
2725 | - private void SetModel<T> (ListView<T> view, IListModel<T> model) |
2726 | - { |
2727 | - if (view.Model != null) { |
2728 | - model_positions[view.Model] = view.Vadjustment.Value; |
2729 | - } |
2730 | - |
2731 | - if (model == null) { |
2732 | - view.SetModel (null); |
2733 | - return; |
2734 | - } |
2735 | - |
2736 | - if (!model_positions.ContainsKey (model)) { |
2737 | - model_positions[model] = 0.0; |
2738 | - } |
2739 | - |
2740 | - view.SetModel (model, model_positions[model]); |
2741 | - } |
2742 | - |
2743 | - private ListView<T> FindListView<T> () |
2744 | - { |
2745 | - foreach (var view in new IListView [] { artist_view, album_view, track_view }) { |
2746 | - if (view is ListView<T>) { |
2747 | - return (ListView<T>)view; |
2748 | - } |
2749 | - } |
2750 | - return null; |
2751 | - } |
2752 | - |
2753 | -#endregion |
2754 | - |
2755 | -#region ISourceContents |
2756 | - |
2757 | - public bool SetSource (ISource source) |
2758 | - { |
2759 | - var track_source = source as ITrackModelSource; |
2760 | - var filterable_source = source as IFilterableSource; |
2761 | - if (track_source == null) { |
2762 | - return false; |
2763 | - } |
2764 | - |
2765 | - this.source = source; |
2766 | - |
2767 | - SetModel (track_view, track_source.TrackModel); |
2768 | - |
2769 | - if (filterable_source != null && filterable_source.CurrentFilters != null) { |
2770 | - foreach (var model in filterable_source.CurrentFilters) { |
2771 | - if (model is IListModel<ArtistInfo>) { |
2772 | - SetModel (artist_view, (model as IListModel<ArtistInfo>)); |
2773 | - } else if (model is IListModel<AlbumInfo>) { |
2774 | - SetModel (album_view, (model as IListModel<AlbumInfo>)); |
2775 | - } |
2776 | - } |
2777 | - } |
2778 | - |
2779 | - return true; |
2780 | - } |
2781 | - |
2782 | - public void ResetSource () |
2783 | - { |
2784 | - source = null; |
2785 | - SetModel (track_view, null); |
2786 | - SetModel (artist_view, null); |
2787 | - SetModel (album_view, null); |
2788 | - track_view.HeaderVisible = false; |
2789 | - } |
2790 | - |
2791 | - public ISource Source { |
2792 | - get { return source; } |
2793 | - } |
2794 | - |
2795 | - public Widget Widget { |
2796 | - get { return this; } |
2797 | - } |
2798 | - |
2799 | -#endregion |
2800 | - |
2801 | -#region ITrackModelSourceContents |
2802 | - |
2803 | - public IListView<TrackInfo> TrackView { |
2804 | - get { return track_view; } |
2805 | - } |
2806 | - |
2807 | -#endregion |
2808 | - |
2809 | - } |
2810 | -} |
2811 | |
2812 | === renamed file '.pc/99_ltmain_as-needed.patch/ltmain.sh' => '.pc/99_ltmain_as-needed.patch/ltmain.sh.THIS' |
2813 | === renamed file '.pc/applied-patches' => '.pc/applied-patches.THIS' |
2814 | === modified file 'debian/changelog' |
2815 | --- debian/changelog 2011-03-11 01:05:18 +0000 |
2816 | +++ debian/changelog 2011-03-28 07:18:25 +0000 |
2817 | @@ -1,3 +1,4 @@ |
2818 | +<<<<<<< TREE |
2819 | banshee (1.9.5-1ubuntu1) natty; urgency=low |
2820 | |
2821 | * Merge from Debian Unstable, remaining changes: |
2822 | @@ -36,6 +37,15 @@ |
2823 | |
2824 | -- Rodney Dawes <rodney.dawes@ubuntu.com> Mon, 28 Feb 2011 14:06:16 -0500 |
2825 | |
2826 | +======= |
2827 | +banshee (1.9.4-1ubuntu2) natty; urgency=low |
2828 | + |
2829 | + * 0001-Add-support-for-u1ms-links.patch: |
2830 | + - Handle u1ms:// links in the U1 Music Store (LP: #723960) |
2831 | + |
2832 | + -- Rodney Dawes <rodney.dawes@ubuntu.com> Mon, 28 Feb 2011 14:06:16 -0500 |
2833 | + |
2834 | +>>>>>>> MERGE-SOURCE |
2835 | banshee (1.9.4-1ubuntu1) natty; urgency=low |
2836 | |
2837 | * Merge from Debian Experimental, remaining changes: |
2838 | |
2839 | === added file 'debian/patches/0001-Add-support-for-u1ms-links.patch' |
2840 | --- debian/patches/0001-Add-support-for-u1ms-links.patch 1970-01-01 00:00:00 +0000 |
2841 | +++ debian/patches/0001-Add-support-for-u1ms-links.patch 2011-03-28 07:18:25 +0000 |
2842 | @@ -0,0 +1,83 @@ |
2843 | +diff --git a/data/desktop-files/banshee-1.desktop.mime b/data/desktop-files/banshee-1.desktop.mime |
2844 | +index 0f26d00..653c099 100644 |
2845 | +--- a/data/desktop-files/banshee-1.desktop.mime |
2846 | ++++ b/data/desktop-files/banshee-1.desktop.mime |
2847 | +@@ -135,3 +135,4 @@ video/x-ogm+ogg |
2848 | + video/x-theora |
2849 | + video/x-theora+ogg |
2850 | + x-scheme-handler/lastfm |
2851 | ++x-scheme-handler/u1ms |
2852 | +diff --git a/src/Extensions/Banshee.UbuntuOneMusicStore/Banshee.UbuntuOneMusicStore.addin.xml b/src/Extensions/Banshee.UbuntuOneMusicStore/Banshee.UbuntuOneMusicStore.addin.xml |
2853 | +index 89bd3f5..8d4c911 100644 |
2854 | +--- a/src/Extensions/Banshee.UbuntuOneMusicStore/Banshee.UbuntuOneMusicStore.addin.xml |
2855 | ++++ b/src/Extensions/Banshee.UbuntuOneMusicStore/Banshee.UbuntuOneMusicStore.addin.xml |
2856 | +@@ -9,7 +9,7 @@ |
2857 | + description="This extension grants access to the Ubuntu One Music Store, powered by 7digital." |
2858 | + author="Jo Shields" |
2859 | + url="http://one.ubuntu.com/" |
2860 | +- defaultEnabled="false"> |
2861 | ++ defaultEnabled="true"> |
2862 | + |
2863 | + <Dependencies> |
2864 | + <Addin id="Banshee.Services" version="1.0"/> |
2865 | +diff --git a/src/Extensions/Banshee.UbuntuOneMusicStore/Banshee.UbuntuOneMusicStore/UbuntuOneMusicStoreSource.cs b/src/Extensions/Banshee.UbuntuOneMusicStore/Banshee.UbuntuOneMusicStore/UbuntuOneMusicStoreSource.cs |
2866 | +index 260c384..4a9a4c6 100644 |
2867 | +--- a/src/Extensions/Banshee.UbuntuOneMusicStore/Banshee.UbuntuOneMusicStore/UbuntuOneMusicStoreSource.cs |
2868 | ++++ b/src/Extensions/Banshee.UbuntuOneMusicStore/Banshee.UbuntuOneMusicStore/UbuntuOneMusicStoreSource.cs |
2869 | +@@ -3,8 +3,10 @@ |
2870 | + // |
2871 | + // Authors: |
2872 | + // Jo Shields <directhex@apebox.org> |
2873 | ++// Rodney Dawes <rodney.dawes@canonical.com> |
2874 | + // |
2875 | + // Copyright (C) 2010 Jo Shields |
2876 | ++// Copyright (C) 2011 Canonical, Ltd. |
2877 | + // |
2878 | + // Permission is hereby granted, free of charge, to any person obtaining |
2879 | + // a copy of this software and associated documentation files (the |
2880 | +@@ -28,6 +30,7 @@ |
2881 | + |
2882 | + using Mono.Unix; |
2883 | + using Gdk; |
2884 | ++using System; |
2885 | + |
2886 | + using Hyena; |
2887 | + |
2888 | +@@ -51,6 +54,29 @@ namespace Banshee.UbuntuOneMusicStore |
2889 | + sort_order, "ubuntu-one-music-store") |
2890 | + { |
2891 | + Properties.SetString ("Icon.Name", "ubuntuone"); |
2892 | ++ |
2893 | ++ // So we can handle u1ms:// URIs |
2894 | ++ ServiceManager.Get<DBusCommandService> ().ArgumentPushed += OnCommandLineArgument; |
2895 | ++ } |
2896 | ++ |
2897 | ++ ~UbuntuOneMusicStoreSource () |
2898 | ++ { |
2899 | ++ ServiceManager.Get<DBusCommandService> ().ArgumentPushed -= OnCommandLineArgument; |
2900 | ++ } |
2901 | ++ |
2902 | ++ private void OnCommandLineArgument (string uri, object value, bool isFile) |
2903 | ++ { |
2904 | ++ if (!isFile || String.IsNullOrEmpty (uri)) { |
2905 | ++ return; |
2906 | ++ } |
2907 | ++ |
2908 | ++ Log.Debug ("U1MS: URI requested: ", uri); |
2909 | ++ // Handle u1ms:// URIs |
2910 | ++ if (uri.StartsWith ("u1ms://")) { |
2911 | ++ string http_url = uri.Replace ("u1ms://", "http://"); |
2912 | ++ custom_view.Store.LoadStoreLink (http_url); |
2913 | ++ ServiceManager.SourceManager.SetActiveSource (this); |
2914 | ++ } |
2915 | + } |
2916 | + |
2917 | + // A count of 0 will be hidden in the source TreeView |
2918 | +@@ -127,6 +152,7 @@ namespace Banshee.UbuntuOneMusicStore |
2919 | + public void ResetSource () { } |
2920 | + public Gtk.Widget Widget { get { return store; } } |
2921 | + public ISource Source { get { return null; } } |
2922 | ++ public UbuntuOne.U1MusicStore Store { get { return store; } } |
2923 | + } |
2924 | + } |
2925 | + } |
2926 | |
2927 | === modified file 'debian/patches/series' |
2928 | --- debian/patches/series 2011-03-11 01:05:18 +0000 |
2929 | +++ debian/patches/series 2011-03-28 07:18:25 +0000 |
2930 | @@ -10,4 +10,5 @@ |
2931 | 07_enable-soundmenu-by-default.patch |
2932 | 08_remove_unrelevant_media.patch |
2933 | 0001-Revert-ArtworkManager-Cache-null-artwork-for-fast-lo.patch |
2934 | +0001-Add-support-for-u1ms-links.patch |
2935 | 99_ltmain_as-needed.patch |
2936 | |
2937 | === modified file 'ltmain.sh' |
2938 | --- ltmain.sh 2011-03-11 01:05:18 +0000 |
2939 | +++ ltmain.sh 2011-03-28 07:18:25 +0000 |
2940 | @@ -4716,11 +4716,6 @@ |
2941 | arg=$func_stripname_result |
2942 | ;; |
2943 | |
2944 | - -Wl,--as-needed) |
2945 | - deplibs="$deplibs $arg" |
2946 | - continue |
2947 | - ;; |
2948 | - |
2949 | -Wl,*) |
2950 | func_stripname '-Wl,' '' "$arg" |
2951 | args=$func_stripname_result |
2952 | @@ -5072,15 +5067,6 @@ |
2953 | lib= |
2954 | found=no |
2955 | case $deplib in |
2956 | - -Wl,--as-needed) |
2957 | - if test "$linkmode,$pass" = "prog,link"; then |
2958 | - compile_deplibs="$deplib $compile_deplibs" |
2959 | - finalize_deplibs="$deplib $finalize_deplibs" |
2960 | - else |
2961 | - deplibs="$deplib $deplibs" |
2962 | - fi |
2963 | - continue |
2964 | - ;; |
2965 | -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) |
2966 | if test "$linkmode,$pass" = "prog,link"; then |
2967 | compile_deplibs="$deplib $compile_deplibs" |
2968 | |
2969 | === modified file 'src/Core/Banshee.Services/Banshee.Library/MusicLibrarySource.cs' |
2970 | --- src/Core/Banshee.Services/Banshee.Library/MusicLibrarySource.cs 2011-02-20 14:48:54 +0000 |
2971 | +++ src/Core/Banshee.Services/Banshee.Library/MusicLibrarySource.cs 2011-03-28 07:18:25 +0000 |
2972 | @@ -86,15 +86,6 @@ |
2973 | DatabaseTrackModel.Reload (); |
2974 | } |
2975 | )); |
2976 | - |
2977 | - DatabaseTrackModel.Reloaded += delegate { |
2978 | - if (TrackModel.Count == 0) { |
2979 | - SetStatus (String.Format ("Please move your music to {0}", GetDefaultBaseDirectory ()), |
2980 | - false, false, "dialog-info"); |
2981 | - } else { |
2982 | - HideStatus (); |
2983 | - } |
2984 | - }; |
2985 | } |
2986 | |
2987 | public override string GetPluralItemCountString (int count) |
2988 | |
2989 | === modified file 'src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ArtworkManager.cs' |
2990 | --- src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ArtworkManager.cs 2011-02-20 14:48:54 +0000 |
2991 | +++ src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ArtworkManager.cs 2011-03-28 07:18:25 +0000 |
2992 | @@ -49,6 +49,7 @@ |
2993 | { |
2994 | private Dictionary<int, SurfaceCache> scale_caches = new Dictionary<int, SurfaceCache> (); |
2995 | private HashSet<int> cacheable_cover_sizes = new HashSet<int> (); |
2996 | + private HashSet<string> null_artwork_ids = new HashSet<string> (); |
2997 | |
2998 | private class SurfaceCache : LruCache<string, Cairo.ImageSurface> |
2999 | { |
3000 | @@ -116,8 +117,13 @@ |
3001 | return surface; |
3002 | } |
3003 | |
3004 | + if (null_artwork_ids.Contains (id)) { |
3005 | + return null; |
3006 | + } |
3007 | + |
3008 | Pixbuf pixbuf = LookupScalePixbuf (id, size); |
3009 | if (pixbuf == null || pixbuf.Handle == IntPtr.Zero) { |
3010 | + null_artwork_ids.Add (id); |
3011 | return null; |
3012 | } |
3013 | |
3014 | @@ -157,12 +163,17 @@ |
3015 | return null; |
3016 | } |
3017 | |
3018 | + if (null_artwork_ids.Contains (id)) { |
3019 | + return null; |
3020 | + } |
3021 | + |
3022 | // Find the scaled, cached file |
3023 | string path = CoverArtSpec.GetPathForSize (id, size); |
3024 | if (File.Exists (new SafeUri (path))) { |
3025 | try { |
3026 | return new Pixbuf (path); |
3027 | } catch { |
3028 | + null_artwork_ids.Add (id); |
3029 | return null; |
3030 | } |
3031 | } |
3032 | @@ -179,6 +190,7 @@ |
3033 | Pixbuf pixbuf = new Pixbuf (unconverted_path); |
3034 | if (pixbuf.Width < 50 || pixbuf.Height < 50) { |
3035 | Hyena.Log.DebugFormat ("Ignoring cover art {0} because less than 50x50", unconverted_path); |
3036 | + null_artwork_ids.Add (id); |
3037 | return null; |
3038 | } |
3039 | |
3040 | @@ -219,6 +231,7 @@ |
3041 | } catch {} |
3042 | } |
3043 | |
3044 | + null_artwork_ids.Add (id); |
3045 | return null; |
3046 | } |
3047 | |
3048 | @@ -238,6 +251,8 @@ |
3049 | scale_caches[size].Remove (id); |
3050 | } |
3051 | |
3052 | + null_artwork_ids.Remove (id); |
3053 | + |
3054 | if (inMemoryCacheOnly) { |
3055 | return; |
3056 | } |
3057 | |
3058 | === modified file 'src/Core/Banshee.ThickClient/Resources/core-ui-actions-layout.xml' |
3059 | --- src/Core/Banshee.ThickClient/Resources/core-ui-actions-layout.xml 2011-02-20 14:48:54 +0000 |
3060 | +++ src/Core/Banshee.ThickClient/Resources/core-ui-actions-layout.xml 2011-03-28 07:18:25 +0000 |
3061 | @@ -5,7 +5,6 @@ |
3062 | <placeholder name="NextArrowButton"/> |
3063 | <placeholder name="SeekSlider"/> |
3064 | <placeholder name="TrackInfoDisplay"/> |
3065 | - <placeholder name="ExtensionToolBarPlaceHolder"/> |
3066 | <placeholder name="SourceActions"> |
3067 | <toolitem name="RefreshSmartPlaylist" action="RefreshSmartPlaylistAction"/> |
3068 | </placeholder> |
3069 | |
3070 | === modified file 'src/Extensions/Banshee.LibraryWatcher/Banshee.LibraryWatcher.addin.xml' |
3071 | --- src/Extensions/Banshee.LibraryWatcher/Banshee.LibraryWatcher.addin.xml 2011-02-26 22:05:24 +0000 |
3072 | +++ src/Extensions/Banshee.LibraryWatcher/Banshee.LibraryWatcher.addin.xml 2011-03-28 07:18:25 +0000 |
3073 | @@ -8,7 +8,7 @@ |
3074 | description="Automatically update music and video libraries." |
3075 | author="Christian Martellini, Alexander Hixon, Alexander Kojevnikov" |
3076 | url="http://banshee.fm/" |
3077 | - defaultEnabled="true"> |
3078 | + defaultEnabled="false"> |
3079 | |
3080 | <Dependencies> |
3081 | <Addin id="Banshee.Services" version="1.0"/> |
3082 | |
3083 | === modified file 'src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MediaPanelContents.cs' |
3084 | --- src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MediaPanelContents.cs 2011-02-20 14:48:54 +0000 |
3085 | +++ src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MediaPanelContents.cs 2011-03-28 07:18:25 +0000 |
3086 | @@ -63,7 +63,7 @@ |
3087 | { |
3088 | } |
3089 | |
3090 | - public MediaPanelContents () : base (3, 2, false) |
3091 | + public MediaPanelContents () : base (2, 2, false) |
3092 | { |
3093 | BorderWidth = 5; |
3094 | RowSpacing = 6; |
3095 | @@ -71,10 +71,9 @@ |
3096 | RedrawOnAllocate = true; |
3097 | AppPaintable = true; |
3098 | |
3099 | - //BuildHeader (); |
3100 | + BuildHeader (); |
3101 | BuildLibrary (); |
3102 | BuildNowPlaying (); |
3103 | - BuildMessageBar (); |
3104 | ConnectEvents (); |
3105 | |
3106 | SetSource (ServiceManager.SourceManager.ActiveSource); |
3107 | @@ -194,15 +193,6 @@ |
3108 | 0, 0); |
3109 | } |
3110 | |
3111 | - private void BuildMessageBar () |
3112 | - { |
3113 | - ConnectedMessageBar bar = new ConnectedMessageBar (); |
3114 | - Attach (bar, 0, 2, 2, 3, |
3115 | - AttachOptions.Expand | AttachOptions.Fill, |
3116 | - AttachOptions.Shrink, 0, 0); |
3117 | - bar.ShowAll (); |
3118 | - } |
3119 | - |
3120 | private ScrolledWindow SetupView (Widget view) |
3121 | { |
3122 | var scrolled = new ScrolledWindow () { |
3123 | |
3124 | === modified file 'src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MeeGoPanel.cs' |
3125 | --- src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MeeGoPanel.cs 2011-02-20 14:48:54 +0000 |
3126 | +++ src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MeeGoPanel.cs 2011-03-28 07:18:25 +0000 |
3127 | @@ -48,7 +48,7 @@ |
3128 | public MeeGoPanel () |
3129 | { |
3130 | if (Instance != null) { |
3131 | - throw new InvalidOperationException ("Only one Netbook Panel (MeegoPanel) instance should exist"); |
3132 | + throw new InvalidOperationException ("Only one MeeGoPanel instance should exist"); |
3133 | } |
3134 | |
3135 | Instance = this; |
3136 | @@ -56,7 +56,7 @@ |
3137 | var timer = Log.DebugTimerStart (); |
3138 | |
3139 | try { |
3140 | - Log.Debug ("Attempting to create Netbook toolbar panel"); |
3141 | + Log.Debug ("Attempting to create MeeGo toolbar panel"); |
3142 | embedded_panel = new PanelGtk ("banshee", Catalog.GetString ("media"), |
3143 | null, "media-button", true); |
3144 | embedded_panel.ShowBeginEvent += (o, e) => { |
3145 | @@ -70,12 +70,12 @@ |
3146 | } |
3147 | } catch (Exception e) { |
3148 | if (!(e is DllNotFoundException)) { |
3149 | - Log.Exception ("Could not bind to Netbook panel", e); |
3150 | + Log.Exception ("Could not bind to MeeGo panel", e); |
3151 | } |
3152 | - window_panel = new Gtk.Window ("Netbook Media Panel"); |
3153 | + window_panel = new Gtk.Window ("MeeGo Media Panel"); |
3154 | } |
3155 | |
3156 | - Log.DebugTimerPrint (timer, "Netbook panel created: {0}"); |
3157 | + Log.DebugTimerPrint (timer, "MeeGo panel created: {0}"); |
3158 | } |
3159 | |
3160 | public void Dispose () |
3161 | @@ -87,7 +87,7 @@ |
3162 | var timer = Log.DebugTimerStart (); |
3163 | Contents = new MediaPanelContents (); |
3164 | Contents.ShowAll (); |
3165 | - Log.DebugTimerPrint (timer, "Netbook panel contents created: {0}"); |
3166 | + Log.DebugTimerPrint (timer, "MeeGo panel contents created: {0}"); |
3167 | |
3168 | if (embedded_panel != null) { |
3169 | embedded_panel.SetChild (Contents); |
3170 | @@ -105,18 +105,9 @@ |
3171 | |
3172 | public void Hide () |
3173 | { |
3174 | - window_panel.Hide (); |
3175 | if (embedded_panel != null) { |
3176 | embedded_panel.Hide (); |
3177 | } |
3178 | } |
3179 | - |
3180 | - public void Show () |
3181 | - { |
3182 | - window_panel.Show (); |
3183 | - if (embedded_panel != null) { |
3184 | - embedded_panel.Show (); |
3185 | - } |
3186 | - } |
3187 | } |
3188 | } |
3189 | |
3190 | === modified file 'src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MeeGoService.cs' |
3191 | --- src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MeeGoService.cs 2011-02-20 14:48:54 +0000 |
3192 | +++ src/Extensions/Banshee.MeeGo/Banshee.MeeGo/MeeGoService.cs 2011-03-28 07:18:25 +0000 |
3193 | @@ -26,7 +26,6 @@ |
3194 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
3195 | // |
3196 | |
3197 | -using Mono.Unix; |
3198 | using System; |
3199 | using Gtk; |
3200 | using MeeGo.Panel; |
3201 | @@ -39,7 +38,6 @@ |
3202 | using Banshee.ServiceStack; |
3203 | using Banshee.MediaEngine; |
3204 | using Banshee.Gui; |
3205 | -using Banshee.Gui.Widgets; |
3206 | |
3207 | namespace Banshee.MeeGo |
3208 | { |
3209 | @@ -86,7 +84,6 @@ |
3210 | } |
3211 | |
3212 | Initialize (); |
3213 | - AddSwitchToPrimaryInterface (); |
3214 | |
3215 | ServiceManager.ServiceStarted -= OnServiceStarted; |
3216 | |
3217 | @@ -100,15 +97,13 @@ |
3218 | // assume we're probably not really running in a MeeGo environment, |
3219 | // so we just create the panel here (which is likely to just be |
3220 | // a separate top-level window for testing). |
3221 | - panel = MeeGoPanel.Instance; |
3222 | + panel = MeeGoPanel.Instance ?? new MeeGoPanel (); |
3223 | |
3224 | if (panel == null) { |
3225 | - Log.Information ("Netbook extension initialized with hidden panel"); |
3226 | - //AddSwitchToPrimaryInterface (); |
3227 | + Log.Warning ("MeeGo extension initialized without a panel"); |
3228 | return; |
3229 | } |
3230 | |
3231 | - elements_service.PrimaryWindow.Hide (); |
3232 | panel.BuildContents (); |
3233 | |
3234 | elements_service.PrimaryWindowClose = () => { |
3235 | @@ -116,32 +111,15 @@ |
3236 | return true; |
3237 | }; |
3238 | |
3239 | - } |
3240 | - |
3241 | - private void AddSwitchToPrimaryInterface () |
3242 | - { |
3243 | - // Add switcher to primary interface: |
3244 | - var app_button = new Button (new Image () { |
3245 | - IconSize = (int)IconSize.LargeToolbar, |
3246 | - IconName = "media-player-banshee" |
3247 | - }) { |
3248 | - TooltipText = Catalog.GetString ("Show the Netbook interface") |
3249 | - }; |
3250 | - app_button.Clicked += (o, e) => { |
3251 | - //ServiceManager.SourceManager.SetActiveSource (ServiceManager.SourceManager.MusicLibrary); |
3252 | - ServiceManager.Get<MeeGoService> ().PresentNetbookInterface (); |
3253 | - }; |
3254 | - Toolbar header_toolbar; |
3255 | - InterfaceActionService action_service; |
3256 | - action_service = ServiceManager.Get<InterfaceActionService> (); |
3257 | - header_toolbar = (Toolbar)action_service.UIManager.GetWidget ("/HeaderToolbar"); |
3258 | - app_button.ShowAll (); |
3259 | - action_service.PopulateToolbarPlaceholder (header_toolbar, "/HeaderToolbar/ExtensionToolBarPlaceHolder", app_button); |
3260 | + // Since the Panel is running, we don't actually ever want to quit! |
3261 | + Banshee.ServiceStack.Application.ShutdownRequested += () => { |
3262 | + elements_service.PrimaryWindow.Hide (); |
3263 | + return false; |
3264 | + }; |
3265 | } |
3266 | |
3267 | public void PresentPrimaryInterface () |
3268 | { |
3269 | - Log.Information ("Switch to traditional interface"); |
3270 | elements_service.PrimaryWindow.Maximize (); |
3271 | elements_service.PrimaryWindow.Present (); |
3272 | if (panel != null) { |
3273 | @@ -149,17 +127,6 @@ |
3274 | } |
3275 | } |
3276 | |
3277 | - public void PresentNetbookInterface () |
3278 | - { |
3279 | - Log.Information ("Switch to Netbook interface"); |
3280 | - if (panel == null) { |
3281 | - panel = new MeeGoPanel (); |
3282 | - Initialize (); |
3283 | - } |
3284 | - panel.Show (); |
3285 | - elements_service.PrimaryWindow.Hide (); |
3286 | - } |
3287 | - |
3288 | public void Dispose () |
3289 | { |
3290 | if (panel != null) { |
3291 | |
3292 | === modified file 'src/Extensions/Banshee.MeeGo/Makefile.am' |
3293 | --- src/Extensions/Banshee.MeeGo/Makefile.am 2011-02-20 14:48:54 +0000 |
3294 | +++ src/Extensions/Banshee.MeeGo/Makefile.am 2011-03-28 07:18:25 +0000 |
3295 | @@ -37,8 +37,7 @@ |
3296 | com.meego.UX.Shell.Panels.banshee.service: com.meego.UX.Shell.Panels.banshee.service.in $(top_builddir)/config.log |
3297 | sed -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@ |
3298 | |
3299 | -desktopfiles_in_files = meego-panel-banshee.desktop.in \ |
3300 | - banshee-1.desktop.in |
3301 | +desktopfiles_in_files = meego-panel-banshee.desktop.in |
3302 | desktopfiles_files = $(desktopfiles_in_files:.desktop.in=.desktop) |
3303 | desktopfilesdir = $(datadir)/mutter-meego/panels |
3304 | desktopfiles_DATA = $(desktopfiles_files) |
3305 | @@ -49,9 +48,7 @@ |
3306 | clean-local: |
3307 | rm -f com.meego.UX.Shell.Panels.banshee.service \ |
3308 | meego-panel-banshee.desktop \ |
3309 | - meego-panel-banshee.desktop.in \ |
3310 | - banshee-1.desktop \ |
3311 | - banshee-1.desktop.in |
3312 | + meego-panel-banshee.desktop.in |
3313 | |
3314 | else |
3315 | EXTRA_DIST = $(SOURCES) $(RESOURCES) |
3316 | @@ -62,4 +59,3 @@ |
3317 | meego-panel-banshee \ |
3318 | com.meego.UX.Shell.Panels.banshee.service.in \ |
3319 | meego-panel-banshee.desktop.in.in |
3320 | - banshee-1.desktop.in.in |
3321 | |
3322 | === modified file 'src/Extensions/Banshee.MeeGo/Makefile.in' |
3323 | --- src/Extensions/Banshee.MeeGo/Makefile.in 2011-03-11 01:05:18 +0000 |
3324 | +++ src/Extensions/Banshee.MeeGo/Makefile.in 2011-03-28 07:18:25 +0000 |
3325 | @@ -637,14 +637,12 @@ |
3326 | @HAVE_MEEGO_FALSE@EXTRA_DIST = $(SOURCES) $(RESOURCES) \ |
3327 | @HAVE_MEEGO_FALSE@ Banshee.MeeGo.dll.config meego-panel-banshee \ |
3328 | @HAVE_MEEGO_FALSE@ com.meego.UX.Shell.Panels.banshee.service.in \ |
3329 | -@HAVE_MEEGO_FALSE@ meego-panel-banshee.desktop.in.in \ |
3330 | -@HAVE_MEEGO_FALSE@ banshee-1.desktop.in.in |
3331 | +@HAVE_MEEGO_FALSE@ meego-panel-banshee.desktop.in.in |
3332 | @HAVE_MEEGO_TRUE@EXTRA_DIST = $(SOURCES_BUILD) $(RESOURCES_EXPANDED) \ |
3333 | @HAVE_MEEGO_TRUE@ $(THEME_ICONS_SOURCE) \ |
3334 | @HAVE_MEEGO_TRUE@ Banshee.MeeGo.dll.config meego-panel-banshee \ |
3335 | @HAVE_MEEGO_TRUE@ com.meego.UX.Shell.Panels.banshee.service.in \ |
3336 | -@HAVE_MEEGO_TRUE@ meego-panel-banshee.desktop.in.in \ |
3337 | -@HAVE_MEEGO_TRUE@ banshee-1.desktop.in.in |
3338 | +@HAVE_MEEGO_TRUE@ meego-panel-banshee.desktop.in.in |
3339 | @HAVE_MEEGO_TRUE@CLEANFILES = $(OUTPUT_FILES) |
3340 | @HAVE_MEEGO_TRUE@DISTCLEANFILES = *.pidb |
3341 | @HAVE_MEEGO_TRUE@MAINTAINERCLEANFILES = Makefile.in |
3342 | @@ -652,7 +650,7 @@ |
3343 | @HAVE_MEEGO_TRUE@panel_SCRIPTS = meego-panel-banshee |
3344 | @HAVE_MEEGO_TRUE@servicedir = $(datadir)/dbus-1/services |
3345 | @HAVE_MEEGO_TRUE@service_DATA = com.meego.UX.Shell.Panels.banshee.service |
3346 | -@HAVE_MEEGO_TRUE@desktopfiles_in_files = meego-panel-banshee.desktop.in banshee-1.desktop.in |
3347 | +@HAVE_MEEGO_TRUE@desktopfiles_in_files = meego-panel-banshee.desktop.in |
3348 | @HAVE_MEEGO_TRUE@desktopfiles_files = $(desktopfiles_in_files:.desktop.in=.desktop) |
3349 | @HAVE_MEEGO_TRUE@desktopfilesdir = $(datadir)/mutter-meego/panels |
3350 | @HAVE_MEEGO_TRUE@desktopfiles_DATA = $(desktopfiles_files) |
3351 | @@ -975,9 +973,7 @@ |
3352 | @HAVE_MEEGO_TRUE@clean-local: |
3353 | @HAVE_MEEGO_TRUE@ rm -f com.meego.UX.Shell.Panels.banshee.service \ |
3354 | @HAVE_MEEGO_TRUE@ meego-panel-banshee.desktop \ |
3355 | -@HAVE_MEEGO_TRUE@ meego-panel-banshee.desktop.in \ |
3356 | -@HAVE_MEEGO_TRUE@ banshee-1.desktop \ |
3357 | -@HAVE_MEEGO_TRUE@ banshee-1.desktop.in |
3358 | +@HAVE_MEEGO_TRUE@ meego-panel-banshee.desktop.in |
3359 | |
3360 | # Tell versions [3.59,3.63) of GNU make to not export all variables. |
3361 | # Otherwise a system limit (for SysV at least) may be exceeded. |
3362 | |
3363 | === removed file 'src/Extensions/Banshee.MeeGo/banshee-1.desktop.in.in' |
3364 | --- src/Extensions/Banshee.MeeGo/banshee-1.desktop.in.in 2011-02-20 14:48:54 +0000 |
3365 | +++ src/Extensions/Banshee.MeeGo/banshee-1.desktop.in.in 1970-01-01 00:00:00 +0000 |
3366 | @@ -1,11 +0,0 @@ |
3367 | -[Desktop Entry] |
3368 | -_Name=Banshee Netbook |
3369 | -_GenericName=Netbook Media Player |
3370 | -_X-GNOME-FullName=Netbook Banshee Media Player |
3371 | -_Comment=Play and organize your media collection |
3372 | -Exec=banshee --client=MeeGo |
3373 | -Terminal=false |
3374 | -Type=Application |
3375 | -Icon=media-player-banshee |
3376 | -Categories=GNOME;Audio;Music;Player;AudioVideo; |
3377 | -StartupNotify=true |
3378 | |
3379 | === modified file 'src/Extensions/Banshee.Mpris/Banshee.Mpris.addin.xml' |
3380 | --- src/Extensions/Banshee.Mpris/Banshee.Mpris.addin.xml 2011-02-20 14:48:54 +0000 |
3381 | +++ src/Extensions/Banshee.Mpris/Banshee.Mpris.addin.xml 2011-03-28 07:18:25 +0000 |
3382 | @@ -8,7 +8,7 @@ |
3383 | description="Control Banshee using the MPRIS D-Bus interface." |
3384 | author="John Millikin, Bertrand Lorentz" |
3385 | category="Utilities" |
3386 | - defaultEnabled="true"> |
3387 | + defaultEnabled="false"> |
3388 | |
3389 | <Dependencies> |
3390 | <Addin id="Banshee.Services" version="1.0" /> |
3391 | |
3392 | === modified file 'src/Extensions/Banshee.NotificationArea/Banshee.NotificationArea.addin.xml' |
3393 | --- src/Extensions/Banshee.NotificationArea/Banshee.NotificationArea.addin.xml 2010-11-26 18:35:59 +0000 |
3394 | +++ src/Extensions/Banshee.NotificationArea/Banshee.NotificationArea.addin.xml 2011-03-28 07:18:25 +0000 |
3395 | @@ -9,7 +9,7 @@ |
3396 | description="Display an icon in the notification area for controlling Banshee." |
3397 | author="Aaron Bockover, Sebastian Dröge, Alexander Hixon, Gabriel Burt, Ruben Vermeersch" |
3398 | url="http://banshee.fm/" |
3399 | - defaultEnabled="false"> |
3400 | + defaultEnabled="true"> |
3401 | |
3402 | <Dependencies> |
3403 | <Addin id="Banshee.Services" version="1.0"/> |
3404 | |
3405 | === modified file 'src/Extensions/Banshee.SoundMenu/Banshee.SoundMenu.addin.xml' |
3406 | --- src/Extensions/Banshee.SoundMenu/Banshee.SoundMenu.addin.xml 2011-02-26 22:05:24 +0000 |
3407 | +++ src/Extensions/Banshee.SoundMenu/Banshee.SoundMenu.addin.xml 2011-03-28 07:18:25 +0000 |
3408 | @@ -9,7 +9,7 @@ |
3409 | description="Control Banshee from the Sound Menu." |
3410 | author="Bertrand Lorentz" |
3411 | url="http://banshee-project.org/" |
3412 | - defaultEnabled="true"> |
3413 | + defaultEnabled="false"> |
3414 | |
3415 | <Dependencies> |
3416 | <Addin id="Banshee.Services" version="1.0"/> |
3417 | |
3418 | === modified file 'src/Extensions/Banshee.UbuntuOneMusicStore/Banshee.UbuntuOneMusicStore.addin.xml' |
3419 | --- src/Extensions/Banshee.UbuntuOneMusicStore/Banshee.UbuntuOneMusicStore.addin.xml 2011-03-11 01:05:18 +0000 |
3420 | +++ src/Extensions/Banshee.UbuntuOneMusicStore/Banshee.UbuntuOneMusicStore.addin.xml 2011-03-28 07:18:25 +0000 |
3421 | @@ -9,7 +9,7 @@ |
3422 | description="This extension grants access to the Ubuntu One Music Store, powered by 7digital." |
3423 | author="Jo Shields" |
3424 | url="http://one.ubuntu.com/" |
3425 | - defaultEnabled="true"> |
3426 | + defaultEnabled="false"> |
3427 | |
3428 | <Dependencies> |
3429 | <Addin id="Banshee.Services" version="1.0"/> |