Commit Graph

607 Commits

Author SHA1 Message Date
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
John Maguire 9a35f0fc71 Disable removing the active playlist.
Fixes issue #640
2010-09-08 12:30:19 +00:00
David Sansome c83394b6b4 Work around a bug introduced in Qt 4.7's QGtkStyle that broke our custom QTreeView::drawRow to draw the current track indicator in the playlist. Fixes issue #706 2010-09-06 22:49:15 +00:00
David Sansome 4235c0f49d Fix playlist search - I'm looking at you, John. Fixes issue #676 2010-09-02 19:17:35 +00:00
John Maguire 214d77bc0e Fix test and fix song loader infinite loop. 2010-08-31 21:24:57 +00:00
John Maguire ad16a8b1ba Load local files from the DB if we already have them. 2010-08-31 19:45:33 +00:00
David Sansome e940f9c5d2 Ignore case when sorting the playlist. Fixes issue #650 2010-08-29 16:31:09 +00:00
David Sansome 1d5ea90b98 Use a locale aware string sort when sorting the playlist. Fixes issue #668 2010-08-29 11:28:14 +00:00
John Maguire d87733b005 Use Mac search widget for library & magnatune. 2010-08-28 19:29:20 +00:00
David Sansome 0c5d754135 Fix the queue manager 2010-08-28 19:17:39 +00:00
David Sansome 8306ddc90b Convert paths to native windows seperators in many places throughout the UI 2010-08-28 19:07:23 +00:00
David Sansome dbc1bf5987 Set a better default column layout, and use a better column resizing algorithm 2010-08-27 13:15:32 +00:00
David Sansome 88a48a6bdf Add an option to make columns in the playlist stretch to fit the window width like in Amarok 1. This option is enabled by default. Fixes issue #23 2010-08-27 12:42:06 +00:00
David Sansome d30a9c379c Add an option to disable the glowing effect on the current track. Fixes issue #660 2010-08-27 10:36:01 +00:00
John Maguire b450545a63 Disable focus rectangle on Mac for playlist & library views. 2010-08-26 12:22:13 +00:00
John Maguire 5689b39f47 Hide playlist filter clear button on mac. 2010-08-25 21:13:57 +00:00
John Maguire 372e196be4 * Add a half working gl block analyzer.
* Use a native search widget for the playlist search on Mac.
2010-08-25 20:59:08 +00:00
John Maguire f077e33091 Fix playlist loading. 2010-08-16 18:58:26 +00:00
David Sansome d81db5f255 Reload playlist items in the background after editing 2010-08-08 12:36:07 +00:00
John Maguire 16d50b29d8 Nice typedefs. 2010-08-03 19:40:54 +00:00
John Maguire 78371a5d3a Remove debug 2010-08-03 19:08:05 +00:00
John Maguire e67f9a66c8 Load playlist in separate threads on startup. 2010-08-03 18:57:17 +00:00
John Maguire f5449b9f8d Move playlist loading off the GUI thread. 2010-08-03 14:59:18 +00:00
John Maguire 8166a50b2a Use persistent model index. 2010-08-02 14:07:34 +00:00
John Maguire 992e0fb95e Add support for saving songs in a separate thread.
Updates issue #542
2010-08-02 14:00:43 +00:00
David Sansome a236861dfa Option to group the library by file type 2010-07-31 14:14:03 +00:00
David Sansome 7e29c772af Use the playlist's name as the default filename when saving it 2010-07-31 13:10:08 +00:00
John Maguire 14dd723e3a Connect up signals for queuing tracks so that the view is updated correctly.
Fixes issue #548
2010-07-26 15:53:06 +00:00
David Sansome 6a03641079 Don't replace the whole selection when autoscrolling.
Update issue #496
Status: Fixed
I think the autoscroll is useful even when the selected song isn't the
currently playing song.  I've changed it slightly now though so it won't
replace the selection when it scrolls, so you'll be able to press up or
down to go back to where you were before.
2010-07-24 14:37:11 +00:00
John Maguire 0bf454ab60 Case insensitive search in playlist.
Fixes issue #460
2010-07-19 15:52:38 +00:00
David Sansome 40a2302311 Support dragging and dropping between playlists 2010-07-17 12:47:59 +00:00
David Sansome 4bf9ee0a8e Change the queue manager to use a QTreeView instead of QListView so it doesn't repaint on drop. 2010-07-11 21:27:36 +00:00
David Sansome 9bc8d914af Fix some occasional crashes when deleting the current playlist 2010-07-11 20:23:34 +00:00
David Sansome aa2d69f1bf Make the player actually use the queue order. Fixes issue #24. 2010-07-11 19:02:31 +00:00
David Sansome cbc6169ea8 Make the "stop after this track" box look nicer 2010-07-11 18:37:42 +00:00
David Sansome e625deed33 Enable drag and drop from the playlist to the queue 2010-07-11 18:11:47 +00:00
David Sansome 89fffcc37f Support internal drag and drop in the queue 2010-07-11 18:04:35 +00:00
David Sansome 4b81a86d1d Implement moving items in the queue 2010-07-11 17:39:11 +00:00
David Sansome 1f9e72f971 Add icons to the move up/move down/clear buttons, and implement the clear button 2010-07-11 16:58:22 +00:00
David Sansome f750ac1351 Display an indicator next to each playlist item showing its position in the queue 2010-07-11 16:17:38 +00:00
David Sansome 41183107d2 Start of work on a queue manager 2010-07-11 15:37:40 +00:00
David Sansome fca4fb8264 On second thoughts, use temporary metadata for all playlist items. 2010-07-10 19:45:29 +00:00
David Sansome d8cce6a343 Make temporary metadata work for SongPlaylistItems too. Fixes issue #487 2010-07-10 19:40:16 +00:00
David Sansome f8da25a3a0 Filtering the playlist keeps the current track focused. Fixes issue #466 2010-07-10 17:47:27 +00:00
David Sansome 6654182032 Don't connect new devices automatically, put them in a list model. Add icons for ipods, android phones and USB memory sticks. 2010-07-03 21:05:55 +00:00
David Sansome 2b17a8ee1f Revert r1344 (the timer tracing), it didn't help 2010-06-25 22:04:24 +00:00
David Sansome cc6413ab0e Add tracing to every timer event, might help track down CPU usage... 2010-06-25 08:46:03 +00:00
David Sansome a8f505e266 Don't fiddle playlist entries if the directory ID doesn't match what it was before - eg. if you delete a directory and add another one, and some IDs get reused. 2010-06-24 22:21:54 +00:00
David Sansome f808591ec7 Refactor the loading indicator widget into a seperate TaskManager class that can handle tasks with progress 2010-06-23 13:21:30 +00:00
David Sansome dafedbf00c Cache the playlist tree pixmap while the user is dragging stuff over it, making the repeated repaints less expensive. 2010-06-20 19:02:19 +00:00
David Sansome b18fcee586 Fix a crash when clearing a playlist 2010-06-18 16:06:51 +00:00
David Sansome 34a1772ed2 Don't replace song fields in the playlist when loading them on startup 2010-06-18 15:37:36 +00:00
David Sansome d2f2eb89e0 Don't count the length of tracks that don't have a length 2010-06-18 15:32:52 +00:00
David Sansome d3be5a4215 Make double-clicking on radio items work properly again. It's hacks all the way down... 2010-06-18 15:31:49 +00:00
David Sansome 43ae900852 Move the clear playlist button down to the bottom again. 2010-06-18 15:07:21 +00:00
David Sansome 8dd0b9902b When album cover art changes, update songs matching those albums in the playlist 2010-06-18 14:26:46 +00:00
David Sansome 4dbd1f2a2f Make sure the last played track gets restored properly when we re-open clementine 2010-06-17 17:43:58 +00:00
David Sansome 840a617ae8 Move the clear playlist button to the top 2010-06-17 15:41:45 +00:00
David Sansome 0d7eabcfb0 Show the "status bar" as part of the central widget 2010-06-16 19:21:15 +00:00
David Sansome 9b39b2db68 Move tabs to the top 2010-06-16 18:50:01 +00:00
David Sansome ea87eddcd2 Fix some weirdness when saving and restoring the state of the playlist QHeaderView. Fixes issue #413 2010-06-16 17:15:13 +00:00
David Sansome 68edaff32f Show the whole URL in the playlist for streams that don't have a title or basefilename set. 2010-06-16 16:18:28 +00:00
David Sansome 357f229e02 Make saved radio streams use the song loader when dragged to the playlist 2010-06-16 16:11:23 +00:00
David Sansome f162d9d620 Add a SongLoaderInserter that loads a list of URLs and inserts them into a playlist when it's done. Wire up everything in the GUI that loads URLs or filenames to use the new SongLoader. 2010-06-15 18:24:08 +00:00
David Sansome b6a642ab15 Major graphical change: add a vertical line between the repeat/playlist buttons and the playlist length label 2010-06-14 16:18:15 +00:00
David Sansome e46d93b599 Move the track length indicator to the right, and add information about the selected tracks 2010-06-13 12:45:05 +00:00
David Sansome a8d79582c1 Add a status bar indicator to tell the user how many tracks are loaded. Fixes issue #155 2010-06-12 21:20:53 +00:00
David Sansome f739ae5e00 (Vertical) center align playlist items again.
Update issue #379
Fixed the alignment.
2010-06-11 16:41:29 +00:00
David Sansome 3fe941f5c1 Make the playlist header present a one-level menu for showing and hiding columns. Fixes issue #381 2010-06-10 17:40:14 +00:00
David Sansome 07ba35ff6d Append a "Hz", "bpm", "kbps" etc. suffix to bit rate, sample rate and BPM columns in the playlist 2010-06-10 17:04:40 +00:00
David Sansome 6eea954fb1 Right-align numeric fields in the playlist 2010-06-10 17:04:05 +00:00
David Sansome c41344524d Display the BPM column in the playlist properly. 2010-06-10 16:54:07 +00:00
David Sansome 782166db41 Invalidate the currently playing track cache when scrolling sideways. Fixes issue #377 2010-06-09 15:37:54 +00:00
David Sansome 40bb827fcd Make all the source files a single cmake target again. 2010-06-08 22:39:31 +00:00
David Sansome 5099503b45 Make the small toolbar buttons stay small even on gtk styles that use bigger buttons 2010-06-08 11:43:34 +00:00
David Sansome c834a5f31f Do the compilation processing in the database thread, and make everything lock on the database to ensure two threads don't access it at once. 2010-06-02 16:22:20 +00:00
David Sansome 03d876a599 Put the Database object in its own thread, and create the Library and Playlist backends in that database thread. The database calls don't happen in the database thread yet, but this is the first step towards making sure sqlite access is thread safe. 2010-06-02 15:58:07 +00:00
David Sansome 24b22b1b17 Invalidate the cached current row pixmap when the column headers are moved/resized and when the song's metadata changes. 2010-06-02 13:51:16 +00:00
David Sansome ed03c4cd72 Lower the CPU usage of the currently playing track animation by about 50% by caching the row pixmap and lowering the framerate slightly. 2010-05-27 20:31:00 +00:00
David Sansome 7ecdb772a7 Always map model indexes from the UI to the source playlist model when using them in the playlist.
Update issue #340
Status: fixed
I think I've fixed all these bugs now, but please reopen if you find
another situation where the wrong track gets used in a filtered playlist.
2010-05-25 19:39:04 +00:00
David Sansome 89bbaeed5f Add a filter for each type of playlist in the load/save dialogs. 2010-05-22 22:29:52 +00:00
David Sansome b487ec00ef GUI for saving playlists 2010-05-22 22:20:00 +00:00
David Sansome 1f8b0de49c Load playlist button works 2010-05-22 20:28:11 +00:00
David Sansome aff901e44d Show a message on the playlist when a search yielded no matches. 2010-05-22 17:03:18 +00:00
David Sansome ab1b80c1db Playlist filtering 2010-05-22 16:36:13 +00:00
David Sansome 6a3c9aae0c Double clicking on empty space in the playlist tabbar makes a new playlist, and middle clicking a tab removes it 2010-05-22 14:33:17 +00:00
David Sansome 9baa1f74c7 Fix a weird bug when removing the last-but-one playlist 2010-05-22 14:28:37 +00:00
David Sansome 0ef6a2dc88 Hide the tab bar when there are no tabs in it 2010-05-21 10:57:40 +00:00
David Sansome e572fbf487 Oops, fix remove and rename 2010-05-21 10:44:26 +00:00
David Sansome 98235eea03 Remember the ordering of playlists 2010-05-21 10:37:24 +00:00
David Sansome 119c6fbd6e Refer to playlists by ID rather than index in the tabbar, so they can be moved around 2010-05-21 10:29:17 +00:00
David Sansome a274f8cbfc Select newly created playlists 2010-05-21 09:41:57 +00:00
David Sansome 0aa579c2be Disable the Delete playlist action if there's only one playlist left. 2010-05-21 09:37:27 +00:00
David Sansome 103f933dab Save the currently selected tab 2010-05-20 23:18:55 +00:00
David Sansome 7e913fb38b Show a playing/pause icon on the active tab 2010-05-20 22:48:11 +00:00
David Sansome 1572124962 Seperate last played values for each playlist 2010-05-20 22:30:55 +00:00
David Sansome f17a422797 Make sure only one playlist can have the "current" song 2010-05-20 21:51:01 +00:00
David Sansome e515724bf7 Basic support for multiple playlists. Not everything works yet 2010-05-20 21:21:55 +00:00
David Sansome b116d4a306 First go at a UI for playlist search and multiple playlists. Nothing works yet. 2010-05-20 14:12:15 +00:00
David Sansome 4d57ccb41c Use icons from the desktop theme where possible, fall back on oxygen. 2010-05-19 15:45:29 +00:00
David Sansome a292677320 Refactor the way Player gets tracks to play from RadioPlaylistItems. They can now return synchronously with a URL, asynchronously via a signal, or with an error. This properly fixes the problem of preloading a last.fm stream when the track before is about to end. 2010-05-18 20:43:10 +00:00
David Sansome 63c2640032 Select the entire row when scrolling to the currently playing item. 2010-05-18 18:19:19 +00:00
David Sansome 56765caf64 Make previous follow the same order of virtual indices that next follows.
Update issue #316
I've fixed the second part of your report in this one - pressing "back" should follow the same random order now.  It goes a bit weird if you go back past the first random track you played, but I don't care too much about that :)
2010-05-17 00:02:22 +00:00
David Sansome 3891bc032d Add a "jump to the currently playing track" menu option. Fixes issue #316 2010-05-16 23:55:00 +00:00
David Sansome 1aee5e4667 Split all the source files up into seven new directories. 2010-05-10 21:50:31 +00:00