Commit Graph

3132 Commits

Author SHA1 Message Date
David Sansome 69779374c2 Fix a funny fading bug in the podcast info widget that would occur because a ResizeEvent was being sent with oldSize() == size(). 2012-03-12 21:12:01 +00:00
David Sansome 096b90716d Fix a compile error with Clang 2012-03-12 21:11:33 +00:00
David Sansome 204f7acbfa Merge branch 'podcasts'. Fixes issue 44 2012-03-12 19:40:31 +00:00
David Sansome 5327b72f0b Implement the "Delete after x days" feature for listened podcasts. 2012-03-12 19:35:47 +00:00
John Maguire d819c88ff8 Fix crash on exit on Mac.
Fixes issue #2661
2012-03-12 18:11:10 +01:00
John Maguire 63ee8b2e55 Update a couple of old debug statements. 2012-03-12 17:25:05 +01:00
John Maguire c91024ad33 Add support for NSObject to QDebug. 2012-03-12 17:25:04 +01:00
John Maguire 8e89838621 Support loading multiple files or a folder from dropping on the Mac dock icon.
Fixes issue #2787
2012-03-12 17:24:53 +01:00
David Sansome a5107b7dfc Add the normal playlist actions to the podcast context menu 2012-03-12 16:21:05 +00:00
David Sansome 40858d26c5 Add an "Add Podcast" menu item to the main Music menu, and always display new podcasts in the list when adding them 2012-03-12 14:11:24 +00:00
David Sansome c5f5b8b597 Register Podcast list metatypes for Qt < 4.7 2012-03-12 14:10:56 +00:00
David Sansome 09dfd31630 Add a qHash(QUrl) overload for Qt < 4.7 2012-03-12 14:10:16 +00:00
Clementine Buildbot 287b3fcb1f Automatic merge of translations from Transifex (https://www.transifex.net/projects/p/clementine/resource/clementineplayer) 2012-03-12 10:02:27 +01:00
David Sansome 07158bd71b Make the quick_prefixes list not static 2012-03-11 21:07:36 +00:00
David Sansome 2750877a72 Support iTunes and Zune podcast URL schemes through SongLoader 2012-03-11 18:14:53 +00:00
David Sansome f16fc8867e Allow podcasts to be added through the normal SongLoader mechanism (dragging to the playlist, on the commandline, "Add Stream", etc.) 2012-03-11 17:57:15 +00:00
David Sansome c27b8a5e95 Fix some broken behaviour in SongLoader when loading a playlist that was bigger than one GstBuffer. The pipeline would be stopped early because it was still asynchronously moving to the PLAYING state. 2012-03-11 17:20:12 +00:00
David Sansome 0cfeeb467a Add menu actions for deleting downloaded data and marking episodes as new/listened. Enable/disable actions depending on what's selected, allow actions to affect multiple items. 2012-03-11 15:36:35 +00:00
David Sansome 75a897e92d Don't require each InternetService to keep track of its own current index - do it in the model instead 2012-03-11 14:44:43 +00:00
David Sansome 93938d3bcd Allow whole podcasts to be dragged to the playlist as well as individual episodes 2012-03-11 14:11:15 +00:00
David Sansome 8cc971fa93 Mark podcast episodes as listened when they're listened to 2012-03-11 12:27:48 +00:00
David Sansome 19a971c7cd Add support for adding podcast episodes to the playlist 2012-03-10 23:39:09 +00:00
David Sansome c204dd31fb Don't crash when double clicking in the Add Podcast dialog 2012-03-10 23:38:54 +00:00
David Sansome 9873ed083a Set the gpodder.net login state widget's login state properly when opening the podcasts settings page. 2012-03-10 22:43:05 +00:00
David Sansome d538b71809 Add buttons and menu items to open the Podcast settings page. Also route these requests through Application rather than InternetModel 2012-03-10 22:39:24 +00:00
David Sansome d004875b0f Start downloading podcast episodes automatically if the setting is enabled 2012-03-10 22:26:53 +00:00
David Sansome 792a2e239d Better (some) UI feedback of downloading podcasts. Also fix a bug parsing the timestamps you see in some RSS feeds 2012-03-10 21:06:16 +00:00
Arnaud Bienner b676676b9a Precompute the (CPU expensive) opacity filter in a new set_background_image function.
Also, convert the image and modify only alpha channel
2012-03-10 18:55:22 +01:00
David Sansome b0dd1bd284 Add a podcast downloader 2012-03-10 15:32:36 +00:00
David Sansome 71fe57b3ae Record the time of the last successful podcast update 2012-03-10 12:32:35 +00:00
David Sansome 034da1717c deviceUpdates takes timestamps in seconds, not milliseconds. Also do updates from gpodder.net every 30 minutes 2012-03-10 12:25:58 +00:00
David Sansome 794ffa883e Strip whitespace from the ends of URLs before fetching them 2012-03-09 20:02:26 +00:00
David Sansome 87a9e41cd5 Add a context menu item to remove a podcast 2012-03-09 20:02:12 +00:00
David Sansome 3cafaf52ae If there's a URL on the clipboard, fill in the textbox on the add by URL page automatically. Set focus on the query textbox when going to a page, and select the first podcast automatically when results arrive. 2012-03-09 19:12:45 +00:00
David Sansome e6640f1d10 Fix a parse error on RSS feeds that had non-self atom links 2012-03-09 18:58:05 +00:00
David Sansome f501098998 Fix a segfault when unsubscribing from a podcast 2012-03-09 18:57:54 +00:00
David Sansome 1fc8b85ff6 Fix compilation on Windows 2012-03-09 18:40:51 +00:00
David Sansome d62d874a89 Mostly working gpodder.net syncing 2012-03-09 18:40:51 +00:00
David Sansome ec392ea155 Fix the Create Account link in the podcasts settings dialog, set a proper icon, and handle errors logging in to gpodder.net 2012-03-09 18:40:51 +00:00
John Maguire 62ea8bd4eb Detect battery presence on Mac. 2012-03-09 17:29:55 +01:00
David Sansome 1abf059d16 Add a Podcasts settings page and the start of some gpodder.net syncing 2012-03-09 15:26:38 +00:00
David Sansome b9e08bbfe6 Update podcasts on a schedule and on demand. Update them immediately after subscribing, and make episodes appear in the tree. 2012-03-09 15:26:15 +00:00
Arnaud Bienner 3338174a1f Do not set cover for Grooveshark songs if we don't have one.
This wrongly gives the impression that these songs have a cover
2012-03-08 23:44:35 +01:00
Arnaud Bienner 45c172f3fb If the new playing song has no covers, display nothing as playlist background, instead of default cover.png, which isn't very nice as a background IMHO 2012-03-08 23:42:34 +01:00
Arnaud Bienner 0b9d7f2a1a Move all the logic about background precomputation in a new method, to make paintEvent cleaner 2012-03-08 22:39:27 +01:00
Arnaud Bienner b00bdcf04e Scale background image before applying (CPU expensive) opacity filter on it, if the scaled image will be smaller than the original one 2012-03-08 22:25:29 +01:00
Arnaud Bienner c2a4ca2cf8 Fix some missing reply->deleteLater() in grooveshark service 2012-03-08 21:26:27 +01:00
David Sansome 80b95a357d Add a BBC Podcasts page 2012-03-07 15:31:12 +00:00
David Sansome d48177d630 Parse OPML documents 2012-03-07 15:11:56 +00:00
David Sansome 17dfc99462 Add an iTunes podcast search page 2012-03-07 12:27:44 +00:00
David Sansome 628820917d Add an Unsubscribe button to the Add Podcast dialog 2012-03-07 11:22:55 +00:00
David Sansome 7f0928e8c6 Sort podcasts in the model rather than in the database backend, and add new podcasts to the model immediately 2012-03-07 11:04:47 +00:00
David Sansome bbb661b82c Add a gpodder.net search 2012-03-06 21:25:16 +00:00
David Sansome 884080684a Add a helper class to load icons asynchronously and set them on QStandardItems 2012-03-06 21:24:41 +00:00
David Sansome f2885c0319 Return more useful aggregate information from the PodcastBackend, show something in the Internet service 2012-03-06 18:40:17 +00:00
David Sansome e8a879372d Show a Loading... indicator for the gpodder, lazy load images properly 2012-03-06 18:40:17 +00:00
David Sansome 3a88d8fcda Fade between podcast info screens a bit more nicely 2012-03-06 18:40:17 +00:00
David Sansome 56cc4a9140 Make podcast discovery pages without any extra widgets nicer. Load gpodder.net podcasts within tags. 2012-03-06 18:39:39 +00:00
David Sansome e54a2ff5c5 Get the most popular top-level tags from gpodder.net 2012-03-06 18:39:34 +00:00
David Sansome c91acdb3f1 Add an Add Podcast dialog 2012-03-06 18:39:34 +00:00
David Sansome 90bbed1ec9 Add podcast parsing and database classes 2012-03-06 18:39:23 +00:00
John Maguire d09f96d6eb Use qBound instead of ಠ__ಠ 2012-03-06 14:46:35 +01:00
John Maguire 8e6dd551ef Fix background image rendering on Mac by pre-computing the opacity change.
Fixes issue #2745
2012-03-06 13:40:19 +01:00
John Maguire 5ddf9bcf41 Postpone FSEvent stream updates to avoid churn when adding large numbers of directories. 2012-03-06 12:53:20 +01:00
Clementine Buildbot c0f905a478 Automatic merge of translations from Transifex (https://www.transifex.net/projects/p/clementine/resource/clementineplayer) 2012-03-05 10:02:48 +01:00
Clementine Buildbot 20ca548eb0 Automatic merge of translations from Transifex (https://www.transifex.net/projects/p/clementine/resource/clementineplayer) 2012-03-05 01:27:03 +01:00
Arnaud Bienner 790808c47d Add source icon for Jamendo songs.
Rely on URL's host. This doesn't sound perfect to me, but I can't think of a better way to do this.
Maybe making a comparison with one the Jamendo's streaming URLs host would have been better, but I think "api.jamendo.com" is very unlikely to change someday.
2012-03-05 01:13:11 +01:00
Arnaud Bienner 0969432820 emit GS albums songs results as long as we get them, instead of waiting to have all the results available. 2012-03-05 00:54:24 +01:00
David Sansome 2bc616be0b Start a search by pressing Enter in the album field as well as the artist field in the album cover search dialog. Fixes issue 2759 2012-03-04 13:57:47 +00:00
David Sansome 5b40338257 Oops - update the year as well when completing tags automatically. Fixes issue 2779 2012-03-04 13:51:08 +00:00
Noah Meyerhans 154b9e3c0b Add 'direction' attribute to org.freedesktop.MediaPlayer /TrackList methods. Fixes issue 2766 2012-03-04 13:44:06 +00:00
David Sansome b53578c490 Don't reset a song's rating back to 0 if it was edited in the EditTagDialog 2012-03-04 13:36:22 +00:00
David Sansome a315bb41f6 Fix a crash when changing a song's rating in the edit tag dialog. Fixes issue 2773 2012-03-04 13:36:22 +00:00
Clementine Buildbot b98f21dd09 Automatic merge of translations from Transifex (https://www.transifex.net/projects/p/clementine/resource/clementineplayer) 2012-03-04 14:22:11 +01:00
Arnaud Bienner 3b19d730b6 Add the ability to have the current playing song cover as playlist's background.
I think it can be nice. But some users' feedback about this might be nice...
Also, few things may be improved (like adding fading when cover changes)
2012-03-03 01:20:37 +01:00
Arnaud Bienner a7332d1c83 Add album size info to GS albums, now that we load GS albums in a synchronous way 2012-02-28 23:27:37 +01:00
Arnaud Bienner 0c1eca5ac1 Extract few other metadata info from GS results when initialising song.
However, currently these fields are filled only when calling getAlbumSongs(), unfortunately.
2012-02-28 23:22:09 +01:00
Clementine Buildbot 5c38b42805 Automatic merge of translations from Transifex (https://www.transifex.net/projects/p/clementine/resource/clementineplayer) 2012-02-27 10:02:32 +01:00
Arnaud Bienner 886f489353 Try to fix Mac builds 2012-02-27 02:58:15 +01:00
David Sansome 526a9d9960 Fix compilation of the WMDM device lister on windows 2012-02-26 16:00:00 +00:00
David Sansome 04dcfeb9d2 Fix a compile error in a minimal build 2012-02-26 16:00:00 +00:00
Arnaud Bienner 747e0f510f When (global) searching GS albums, retrieve albums' songs at the same time (instead of album load time).
Albums search is slower, but we can display songs in search results, which is IMHO really nicer.
2012-02-26 16:51:11 +01:00
David Sansome 63f13b19f2 Fix a possible crash when an album cover search times out at the same time that it's cancelled or finishes normally. Fixes issue 2752 2012-02-26 15:35:15 +00:00
David Sansome 23724b667f Start album cover request IDs at 1, so 0 can be invalid 2012-02-26 15:12:39 +00:00
David Sansome ab5ccf69da Refactoring: remove BackgroundThread 2012-02-26 15:05:46 +00:00
David Sansome bacef04405 Refactoring: remove a couple of the AlbumCoverLoader instances and instead use a shared CurrentArtLoader. 2012-02-26 14:40:51 +00:00
David Sansome 48f15c9fc7 Refactoring: instead of passing individual pointers to useful core classes (like TaskManager or LibraryBackend) to each class that uses them, pass one singleton-like Application instance everywhere. 2012-02-26 14:40:51 +00:00
Clementine Buildbot c4bf1769c1 Automatic merge of translations from Transifex (https://www.transifex.net/projects/p/clementine/resource/clementineplayer) 2012-02-24 23:07:00 +01:00
David Sansome 10af3fef37 Maybe fix a string concatenation crash on startup on OS X. 2012-02-21 12:10:25 +00:00
David Vogt efd7ca3b23 Fix a QStringBuilder/QString conversion in the Remote settings page. 2012-02-21 09:54:44 +00:00
Arnaud Bienner 6cfddc7888 Miss one... 2012-02-20 21:59:11 +01:00
Arnaud Bienner 1f93c26d97 Correct another QStringBuilder/QString conversion 2012-02-20 20:38:50 +01:00
Clementine Buildbot 7b0adc449f Automatic merge of translations from Transifex (https://www.transifex.net/projects/p/clementine/resource/clementineplayer) 2012-02-20 10:02:32 +01:00
Arnaud Bienner 906d6f5995 Force background redraw when changing background preferences. 2012-02-19 22:40:58 +01:00
Arnaud Bienner 639fcf6a3b Change background opacity 2012-02-19 22:26:11 +01:00
Arnaud Bienner 7912caa115 Do not use QPainter::setOpacity because, as explained in http://techbase.kde.org/Development/Tutorials/Graphics/Performance#QPainter::setOpacity.28.29 this deactivate hardware acceleration and make Clementine use 100% CPU when using a custom image as background. 2012-02-19 21:43:55 +01:00
Arnaud Bienner b32444dce7 Try to fix Debian and Fedora builds 2012-02-19 17:43:23 +01:00
Angus Gratton f33d9b82d4 Prompt user if they are adding one part of a larger compilation to Various Artists. Fixes issue 2725 2012-02-19 13:55:30 +00:00
Arnaud Bienner 089586ad07 Activate fast QString concatenation.
As this is not source compatible because we sometimes assumed (now wrongly) that '+' operation returns QString object (it now returns QStringBuilder object actually), some minor other corrections were needed.
2012-02-19 14:44:33 +01:00
Arnaud Bienner 2f710a9395 Add the ability to modify the playlistview's background image.
Updates issue 365
It is now possible to also modify background image, instead of just hide the default one
2012-02-18 19:57:36 +01:00