Commit Graph

354 Commits

Author SHA1 Message Date
David Sansome c8305c0eee Don't record an undo step when all the songs inserted into the playlist were vetoed. Thanks schizosfera. 2011-07-01 20:48:18 +00:00
David Sansome 5dbdc8354b Port the deleted songs invalidator script to PythonQt. Thanks schizosfera. Fixes issue 2035 2011-07-01 20:47:46 +00:00
Andrea Decorte a36d0706b5 Ask for confirmation also on tab close button for now 2011-06-26 12:30:19 +00:00
Andrea Decorte 87a5ec5cc7 Add confirmation when removing playlist and close button on tabs. Fixes
issue 2003
2011-06-19 08:44:10 +00:00
David Sansome 7415d85dce When initialising a song from a library query, don't always assume the metadata originally came from a file (which means icycast tags are ignored when it is played). Fixes issue 1857 2011-06-17 20:00:10 +00:00
Arnaud Bienner 7fca5d37dc Minor modifications on load audio CD, including better cleaning of objects 2011-06-14 23:38:43 +00:00
Arnaud Bienner 272841ab73 Starting audio CD support. Starts issue 701 2011-06-09 23:08:43 +00:00
Tyler Rhodes 827d37e64b Add 'Enable playlist background image' to preferences.
Fixes issue #365
2011-06-08 14:48:43 +00:00
David Sansome 7de618beff Fix registration of metatypes for list handlers on Qt 4.7 2011-05-29 14:08:55 +00:00
David Sansome 6dd1634946 Add Python bindings for Playlists, port the rainbowizer plugin to PythonQt and make its colours a bit more tasteful 2011-05-29 12:55:18 +00:00
John Maguire 8880b06833 Make backspace delete in playlist view on Mac.
Fixes issue #1710
2011-05-26 14:34:22 +00:00
David Sansome e2c6526840 Make dynamic playlists use the limit specified in the smart playlist dialog. Thanks google@robbertkrebbers.nl. Fixes issue 1082. Fixes issue 1192. 2011-05-14 13:44:10 +00:00
David Sansome 35e34c6ca5 Hide the did you mean widget when leaving the search box, Don't lose the spotify tab icon when stopping playback, add a helpful label to the empty spotify search tab, remove the playlist CSS hook, fix double clicking the "Search spotify" item in the list 2011-04-29 11:24:58 +00:00
David Sansome b20d280156 Add a "Did you mean ...?" widget when searching on spotify 2011-04-28 20:48:53 +00:00
John Maguire d51c99382e Fix crash on Mac. 2011-04-28 20:19:48 +00:00
David Sansome 06852aaeb7 Show spotify search results in a separate playlist tab rather than in a tree in the sidebar. 2011-04-28 17:50:45 +00:00
David Sansome 255682b057 Remove the special load behaviour from Playlist Items and instead add URL Handlers that do the same job but for all playlist item types. 2011-04-28 15:10:28 +00:00
David Sansome ccb9f8cf94 Use URLs everywhere instead of filenames. Move the URL parsing and song loading code out of individual playlist parsers and into the base class. Fix the playlist parser unit tests. 2011-04-28 12:27:53 +00:00
Andrea Decorte 9dd45dbe82 Improved Last.fm scrobbling when connection is down 2011-04-28 10:32:56 +00:00
David Sansome 3d6677fe6d Allow radio services (Spotify) to store whole songs in playlist items 2011-04-26 22:06:58 +00:00
David Sansome df05bf1195 Fix a bounds check in PlaylistTabBar, convert a couple more things to use qLog() 2011-04-22 17:07:57 +00:00
David Sansome 3eedc916ad Add a new logging system 2011-04-22 16:50:29 +00:00
Arnaud Bienner 93eb4dea3f Revert r3155, as it seems this doesn't correct issue 1710 2011-04-21 22:23:44 +00:00
Paweł Bara b8e1880854 "remove deleted songs from playlists" action in the 'deleted songs invalidator' plugin (fixes issue #1594) 2011-04-21 21:56:37 +00:00
Arnaud Bienner 096c563a9c On Mac OS X, we shouldn't transmit the event to search box when backspace is pressed, but accept it (this should result in deleting the track from the view). Updates issue 1710 2011-04-19 23:56:18 +00:00
Arnaud Bienner 6653d740fc Adding shorcuts for navigating over the tabs. Fixes issue 1568 2011-04-19 20:11:24 +00:00
David Sansome 8f4c1dbbf6 When doing gapless playback, fix a bug where the TrackEnded signal would be emitted too early, before the track had actually ended. This caused the song after the current song to get scrobbled and its playcount increased. Fixes issue 1771 2011-04-17 14:11:37 +00:00
Andrea Decorte 9a31eb7fd4 When deleting items in playlist, select the next one. Fixes issue 1279 2011-04-17 13:48:02 +00:00
Arnaud Bienner f7e614684d Minor modifications thanks to David' comments. Adding some comments to explain the new process: hope it's clearer now 2011-04-16 15:06:13 +00:00
Arnaud Bienner 65ef047c38 Loading file in async way, in two times: fast loading files and insert them in playlist view, while loading info (tags, ...) in background thread 2011-04-16 14:04:15 +00:00
David Sansome f905ce3510 Put a limit on the size of the playlist undo stack, and don't add operations to the stack if they affect more than 500 items. Fixes issue 1762 2011-04-16 13:31:57 +00:00
Andrea Decorte 32ae9bd1de Reintroducing scroll arrows, since the visual glitch seems a Qt bug 2011-04-15 21:54:19 +00:00
Andrea Decorte 764b3b0429 Show tooltips on playlist tabs only when needed. Fixes issue 1725 2011-04-13 19:15:30 +00:00
Andrea Decorte 2d27f10cfb Add tooltips to playlist tabs. Fixes issue 1725 2011-04-11 16:29:36 +00:00
Andrea Decorte 5d8f1fe872 Added scrobbling button in main window and a global shortcut for
toggling it. Fixes issue 1090
Improved last.fm error handling
2011-04-07 16:25:52 +00:00
Andrea Decorte e57d988f5d oops, it seems that MidButton is a better choice... 2011-04-02 18:15:20 +00:00
Andrea Decorte d29aa81a3b disable double middle click in playlist tabbar and activate elide mode
in sidebar
2011-04-02 17:28:43 +00:00
Andrea Decorte 886f3d4d6f Double click on a tab to rename it and visual improvements to tab bar.
Fixes issue 1651
2011-04-02 14:46:56 +00:00
Andrea Decorte 55b2d30959 added a button to remove items and keyboard shortcuts in the Queue
Manager. Fixes issue 1646
2011-03-30 18:41:34 +00:00
Andrea Decorte ecda0ada4a Playlists get an automatic name, no more prompts. Fixes issue #423 2011-03-25 19:16:12 +00:00
Paweł Bara 11cf7acded avoid "loading tracks 0%" label showing forever on the status bar when loading an empty folder 2011-03-21 17:44:36 +00:00
David Sansome 31ead96e91 Fix last.fm scrobbling. Fixes issue 1503 2011-03-20 22:19:38 +00:00
Andrea Decorte a88e02c452 Added right-click menu option to copy track to specific playlist. Fixes issue 1289 2011-03-20 17:38:15 +00:00
Paweł Bara e619d7a280 fixing a bug where streams were removed from playlist during Clementine's startup 2011-03-20 16:07:24 +00:00
Paweł Bara bfb068a6d1 conditionally hide some context menu actions in library view and playlist view
Song.is_stream()
2011-03-20 12:43:10 +00:00
David Sansome 246723a5a2 Don't crash when dragging a file in the playlist by grabbing its rating. Fixes issue 1458 2011-03-20 12:39:49 +00:00
Paweł Bara 41f659ff4b fixing tests 2011-03-19 10:43:50 +00:00
Paweł Bara 3db00fc339 plugin that lets you grey out deleted songs on demand ("main menu / playlist") - available by default
also: this action will "ungrey" songs that were deleted but got restored

SIPs
2011-03-19 10:22:55 +00:00
Paweł Bara 823f798451 new option for greying out deleted songs on startup 2011-03-19 09:41:00 +00:00
Paweł Bara a4bf317f33 minor deleted items handling fixes 2011-03-18 21:54:22 +00:00
Andrea Decorte 4b6e2a8a62 Add global shortcuts for repeat and shuffle modes. Fixes issue #955 2011-03-17 08:21:05 +00:00
Paweł Bara ad7223f8b3 code review 2011-03-13 13:02:48 +00:00
Paweł Bara ce17d5f1c9 API for coloring rows in playlist view
graying out of broken songs on playback

David's POT?
2011-03-13 11:43:44 +00:00
Paweł Bara 8722e00103 Clementine now skips songs that don't exist anymore (updates issue #250) 2011-03-10 18:01:35 +00:00
Andrea Decorte f62f1a6df8 Middle click to append to playlist now works in the other views. Fixes issue #1546 2011-03-10 12:42:35 +00:00
Andrea Decorte a356c5c425 Ctrl + Space to select/deselect in playlist. Fixes issue #1190 2011-03-09 13:03:52 +00:00
David Sansome 0acfbda94d Don't crash when closing a playlist that has a pending SongLoaderInserter. Fixes issue #1471 2011-03-06 14:46:01 +00:00
David Sansome 8e70124830 When loading part of a cuesheet that wasn't in the library on startup, keep the metadata that was loaded last time instead of replacing it with what is in the file's tags 2011-03-06 14:45:56 +00:00
David Sansome 9a1dad3490 Fix the selected track length display. Fixes issue #1488 2011-03-04 21:10:06 +00:00
Arnaud Bienner 80c1b9417e Pressing ESC (from playlist view) also focus on filter, and clear it. Fixes issue 606 (definitely) 2011-02-24 18:05:38 +00:00
Arnaud Bienner 7f783d088e Minor change 2011-02-24 00:00:10 +00:00
Arnaud Bienner 57ac8c441a Play/Pause when pressing space (on playlistview). Fixes issue 244 2011-02-23 23:59:12 +00:00
Arnaud Bienner 9c0094b9a6 Improve playlist view: focus on playlistview or search filter, depending on keyboard event. Fixes issue 606 2011-02-23 22:21:17 +00:00
Arnaud Bienner b8bf93fc23 Being consistent: use already defined name_for_new_playlist_ field and GetNameForNewPlaylist function, to have the same behavior through the 'Open in a new playlist' action than with drag and drop 2011-02-16 01:04:48 +00:00
Paweł Bara 29056d944c allow to delete now-playing playlists from their context menus (we already allow to do such a thing with middle click so we should be ok...) - Fixes issue #1444 2011-02-15 17:53:21 +00:00
Arnaud Bienner 4d58e75e0a Using library item's name instead of generic text 'Playlist' when creating new playlist by DnD from the library, or when using 'Open in new playlist' 2011-02-14 23:06:36 +00:00
Paweł Bara 85b876d112 fixed broken RemoveDuplicates script
maybe fix the issue #1444
2011-02-14 17:44:15 +00:00
David Sansome f801252e3d Refactor Player and PlaylistManagers to have interfaces and add more MPRIS1 tests 2011-02-13 18:37:45 +00:00
David Sansome 507c5e2632 Change the fields in Song from seconds to nanoseconds 2011-02-13 18:34:30 +00:00
Arnaud Bienner e6b59de56b Corrected center on last played track 2011-02-11 20:16:42 +00:00
Arnaud Bienner 79159700fc Center on last played song when restoring playlist. Fixes issue 410. 2011-02-10 20:55:19 +00:00
Arnaud Bienner 0544cfa90a Sort playlist by ui_order, to keep playlist ordered even if the user re-order them. Most of the code was written, I can't figure out why this code was missing... Anyway, fixes issue 1068 2011-02-10 20:50:57 +00:00
Paweł Bara a6b6147c9d drag and drop to empty playlist-tab-bar's space in order to create a new playlist with the dragged items (fixes issue #1431) 2011-02-09 18:48:31 +00:00
Paweł Bara 9a9d8ad177 don't let invalid CUE related media files into library (invalid == those which were not recognized by TagLib)
better logging of erroneous DB queries (error + query + bound values instead of just error)
2011-02-05 13:43:04 +00:00
Paweł Bara a0dfaf89fb be consistent - if we're letting playlist to decide what songs are valid then let's also restore everything it's loaded when Clementine restarts (this actually fixes some problems with a CUE I have) 2011-02-04 17:41:45 +00:00
John Maguire c680c55379 Fix a couple of warnings found by Clang. 2011-02-04 11:17:31 +00:00
Arnaud Bienner 74a878be41 Minor modication thanks to David comment 2011-02-02 23:27:55 +00:00
Arnaud Bienner e8720f5bda Display item info in playlist view only if text displayed is elided 2011-02-02 22:58:19 +00:00
Arnaud Bienner 05a4cae370 Add track seeking from playlistview 2011-01-26 23:20:56 +00:00
Paweł Bara a575dac451 restoring CUE related files in playlist after Clementine's restart (fixes issue #68) 2011-01-19 15:36:40 +00:00
Paweł Bara a883630ab3 duplicate remover script (fixes #21)
fix a scripting crash when one native object was registered more than once
veto mechanism for inserting songs into playlist
2011-01-16 23:46:58 +00:00
David Sansome 135b32642e Refactor all the code that handles adding items to the playlist - whether it be by a context menu item, double clicking in a view or dragging. Everything now uses the models' mimeData() instead of duplicating the same code everywhere. 2011-01-10 22:26:13 +00:00
David Sansome dc619eb437 Start refactoring the RadioModel to inherit from QStandardItemModel 2011-01-09 18:27:41 +00:00
David Sansome 7a089faa29 Fix a crash that ocurrs when something calls GetCaps over dbus before the playlist is initialised, and when a repeat mode is set. 2011-01-07 19:16:45 +00:00
David Sansome ca032eb445 Add an "Enqueue to playlist" menu item. Thanks bendarb. Fixes issue #980 2010-12-29 15:08:43 +00:00
Paweł Bara da5f941333 consider .cues when scanning the library
persist the new 'beginning' marker of songs
fixed a bug where %allsongstables script would not update the attached databases
2010-12-28 15:36:01 +00:00
David Sansome 9b82ecbb72 Add tag completers for albumartist, composer and genre, and load completion models in background threads 2010-12-25 13:11:09 +00:00
David Sansome 95ef57cf1e Add column text alignment options to the playlist header menu. Thanks brunciter! 2010-12-22 10:45:14 +00:00
John Maguire 4e2d82f3fb Fix mac build. 2010-12-20 14:49:47 +00:00
David Sansome c8520021d7 Start of a new edit tag dialog. Lots of things don't work and it doesn't actually save tags yet (so it's about as useful as before). 2010-12-19 23:40:36 +00:00
David Sansome afdf02e37b Hide the score and comment columns by default 2010-12-19 14:27:07 +00:00
David Sansome 05a1bf6e37 Make the clear button a part of the search textbox. Fixes issue #1071 2010-12-18 20:32:05 +00:00
David Sansome 85d1f16c5e Fix a crash when removing the active playlist when it is the first playlist. Fixes issue #1097 2010-12-18 19:37:29 +00:00
Paweł Bara 5b2625f420 fixes a crash when trying to rate the current song if there's none (rate using global shortcut) 2010-12-18 17:41:03 +00:00
David Sansome 28fdb147d8 Make last.fm optional. Thanks volkov0aa. Fixes issue #49 2010-12-18 17:28:02 +00:00
Paweł Bara 32f9825794 global shortcuts for rating songs (Fixes issue #1089)
renaming *index* methods in Playlist to *row*
2010-12-17 00:21:20 +00:00
John Maguire b9e642c864 Add more close shortcuts. 2010-12-14 17:55:08 +00:00
John Maguire 74b745366b Add keyboard shortcut to close queue manager. 2010-12-14 17:43:03 +00:00
David Sansome d98859eabb Support rating multiple songs at once. Fixes issue #1017 2010-12-11 14:53:43 +00:00
David Sansome 23f2530f59 Prevent the last playlist column from being hidden, and check that at least one is visible on startup. Fixes issue #991 2010-12-11 14:26:49 +00:00
David Sansome 08b2bcc816 Always write URLs in XML based playlists, instead of URLs of relative paths. Also load playlist items from the library if possible. Fixes issue #1054 2010-12-11 10:35:07 +00:00
Paweł Bara 49f46bced8 playlists now emit PlaylistChanged also when their ordering changes (Updates issue #374) 2010-12-09 20:43:06 +00:00
Paweł Bara 04bbf73cff MPRIS' TracklistChanged event now contains the length of the playlist that has actually changed (Update issue #374)
the PlaylistChanged event now shows which playlist has changed
2010-12-08 00:09:17 +00:00
Paweł Bara 6bf3162449 some MPRIS 1 bugfixes (Updates issue #374)
also:
- PlaylistSequence: RepeatMode and ShuffleMode are changed before change event is emitted
- PlaylistManager: emits an event after it has been initialized (which, for example, indicates that it's PlaylistSequence is now in place)
2010-12-07 21:14:40 +00:00
David Sansome bbf0cd48c2 Insert songs as library playlist items if they're in the library. Fixes issue #1039 2010-12-07 19:33:19 +00:00
David Sansome 2dce2e44fd Fix a regression where dragging songs into the playlist while a song was selected would abort the drop and start a new drag from the selected item. 2010-12-06 22:18:00 +00:00
David Sansome 4c72ef4177 Treat \r and \n in comment fields as newlines 2010-12-05 13:41:40 +00:00
David Sansome f818577907 Regression - remove the next track from the queue if it is the currently playing track. Fixes issue #1005 2010-12-04 16:47:28 +00:00
David Sansome a07a808e5f Show new lines properly in the comment tooltip, and simplify whitespace in the comment column. Fixes issue #1011 2010-12-04 16:43:09 +00:00
David Sansome 31a6aa2de7 Add a Comment field to the playlist. Fixes issue #890 2010-11-28 15:22:48 +00:00
David Sansome 59875c9708 Make F2 edit the first playlist column again after the cursor has been moved. Fixes issue #939 2010-11-28 15:14:48 +00:00
David Sansome 96a45bb0ca Fix inline editing of multiple tracks from the playlist. Fixes issue #869 2010-11-28 14:47:35 +00:00
David Sansome 858a8650b8 Create the correct type of playlist item from query generators 2010-11-27 19:23:52 +00:00
David Sansome b1bf95a668 Remember which library a dynamic playlist was using when you restart clementine 2010-11-27 19:11:36 +00:00
David Sansome b85ddbb380 Put the Jamendo songs in a separate database that gets attached to the main database. "Reload" it by deleting the file, which is much faster than DELETEing all the songs inside. Make reloading the Jamendo, Icecast and Magnatune databases always bypass the network cache. Store the Jamendo track IDs in a separate table - for some reason this makes inserts faster. Fix the Jamendo model after the inital database load. Make the Jamendo dymanic playlist use the entries that are already in the local database rather than fetching the song metadata again. 2010-11-27 16:14:09 +00:00
David Sansome 927937e236 Save and restore Jamendo playlist items properly. Add a Jamendo context menu. 2010-11-25 22:04:23 +00:00
David Sansome c43a06c04e Support drag&drop of icecast streams to the playlist 2010-11-24 19:25:41 +00:00
David Sansome 560d1c5006 When repopulating a dymanic playlist, don't remove items that are queued 2010-11-21 17:48:58 +00:00
David Sansome 3e7108e9cf Stop hovering over the rating column if the mouse moves from the rating column into a scrollbar. 2010-11-20 23:20:27 +00:00
David Sansome 5969e2b3d7 Remember whether a dynamic playlist was active between restarts 2010-11-20 20:30:21 +00:00
David Sansome 3dd0e56c1b Show controls at the bottom of the playlist when a dynamic playlist is active 2010-11-20 20:00:40 +00:00
David Sansome 7d54549213 Add support for dynamic playlists. A dynamic playlist is just a smart playlist that chooses and adds a new track when you finish listening to a song. 2010-11-20 18:49:54 +00:00
David Sansome ed1a25693c Add missing licenses to debian/copyright, and add copyright information to each source file 2010-11-20 13:27:10 +00:00
David Sansome 1f267881fe Put all smart playlist classes in their own namespace 2010-11-18 20:19:33 +00:00
David Sansome 4750c19d00 Remove the playlists tab and add a smart playlists section to the library view instead 2010-11-17 20:21:04 +00:00
John Maguire 28a9454044 Compiler warning fix for Fedora 14 (GCC 4.5.1). 2010-11-03 21:19:26 +00:00
David Sansome 3819a039c8 Hide the score column by default 2010-11-01 21:20:12 +00:00
David Sansome 9e20ef13bc Automatic scoring. Thanks Arnaud Bienner. Fixes issue #141 2010-11-01 21:15:52 +00:00
David Sansome 9e09995fff Some UI polish 2010-10-29 19:26:37 +00:00
David Sansome f9bf6def04 Use an actual playlist widget in the preview 2010-10-29 18:58:43 +00:00
David Sansome fb224608ae Add a rating widget, use it in the smart playlist dialog, refactor the playlist delegate to use it. 2010-10-26 19:59:55 +00:00
David Sansome 5d9e43bc14 Add a new smart playlist wizard. Doesn't do anything yet except look pretty. 2010-10-24 23:46:05 +00:00
David Sansome f8fd0e578c Support dragging a smart playlist into a playlist 2010-10-24 16:40:19 +00:00
David Sansome 30afc130a4 Start of some work for smart/dynamic playlists. Only simple generators based on sql queries are supported, and the UI still needs polish. 2010-10-24 15:38:12 +00:00
David Sansome 87ce2f6ee2 Use the PlaylistItemPtr typedef in more places 2010-10-24 15:34:47 +00:00
David Sansome b35732a585 Drop the mouse hover effect on the ratings column when the mouse enters the header 2010-10-23 23:30:38 +00:00
David Sansome f18f935b67 Draw the background on the ratings column properly when using QGtkStyle 2010-10-23 23:27:15 +00:00
David Sansome 3a32c41c7e Update the rating stars in the currently playing item properly, and the fix the bug that would cause the currently playing item pixmap cache to not be updated with the whole row. 2010-10-23 20:58:20 +00:00
David Sansome eba3332a5d Better looking star pixmaps for the ratings column, and improve the performance of drawing the stars. 2010-10-23 16:56:54 +00:00
David Sansome acd9b2e136 Only react to *left* mouse clicks on the ratings column 2010-10-17 22:35:52 +00:00
David Sansome bcddb2317a Allow song ratings to be set by clicking on the stars in the playlist 2010-10-17 21:56:19 +00:00
David Sansome f55ffe15d6 Format the last played column more nicely 2010-10-17 20:53:15 +00:00
David Sansome 0a42a9efb5 Don't ever restructure or reset the library model when statistics on a song are changed. 2010-10-17 19:34:45 +00:00
David Sansome bbe1250c31 Add skip count and last played columns to the playlist, draw the background behind the rating column properly, hide rating and statistic columns when upgrading from an old version. 2010-10-17 18:21:30 +00:00
David Sansome dd4afe9b06 Add rating and play count columns to the playlist 2010-10-17 17:10:19 +00:00
David Sansome b97b2138fa Play last.fm tag radio or similar artists radio when clicking on a tag in the song/artist info pane. 2010-10-16 15:22:14 +00:00
David Sansome 56d72a00bf Try the next UI experiment - wide buttons down the side like Qt Creator 2010-10-01 19:27:01 +00:00
David Sansome 200a306f57 Replace the Lyrics tab with a more discreet buttonbox/tabbar that sits alongside the playlist search bar, or the playlist tab bar if it's visible. Also remember whether the lyrics pane was shown, and hide it by default. 2010-09-30 20:17:36 +00:00
David Sansome 7a681c1198 Remember the selected playlist items when switching between playlist tabs. Fixes issue #758 2010-09-25 15:30:47 +00:00
John Maguire 71bfbd9aaa Use per pixel scrolling on mac.
Fixes issue #738
2010-09-13 18:33:18 +00:00