Commit Graph

354 Commits

Author SHA1 Message Date
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 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
David Sansome 845fe2122e Use the highlighted text colour as the text colour of the currently playing song in the playlist view 2012-02-02 20:33:40 +00:00
David Sansome 7166f0d922 When pressing Ctrl+C on a playlist item, copy the text of all visible columns, rather than just the text of the "current" one. Fixes issue 2558 2012-01-29 19:24:13 +00:00
David Sansome 626ce20ec0 Merge branch 'external-tagreader' 2012-01-08 18:38:48 +00:00
David Sansome 5b71ed0837 Use a better spotify icon in the Source row, clean up pixmap drawing code 2012-01-08 15:16:36 +00:00
David Sansome bdf0ff4930 Make the "Loading" song info indicator and playlist queue/stop after indicators look nicer by aligning their QPainters properly 2012-01-07 23:52:31 +00:00
David Sansome 4618651cf4 Merge branch 'master' into external-tagreader 2012-01-07 22:52:18 +00:00
David Sansome 9be641ee87 The external tagreader mostly works now:
* Make TagReaderClient a singleton until it's easier to pass dependencies around
 * Add a WaitForSignal() that uses a local event loop to wait for a signal to be emitted
 * Add a WaitForFinished() to _MessageReplyBase that blocks using a semaphore
 * Add blocking versions of all TagReaderClient methods
 * Use the TagReaderClient everywhere that Song::InitFromFile and friends were used before
2012-01-07 00:26:07 +00:00
David Sansome 74c4720054 Don't crash when the playlist view in the smart playlist preview doesn't get a Player*. 2012-01-06 11:22:17 +00:00
David Sansome bfd725f2ed Don't crash when adding new columns to a stretch header view.
Fixes issue 2562
2012-01-04 18:45:08 +00:00
John Maguire 11619c9484 Bump the playlist view state version. 2012-01-04 15:43:28 +00:00
John Maguire 7a8103a352 Don't scale the source icon pixmap badly. 2012-01-04 13:59:07 +00:00
John Maguire 6200983dbc Add pixmap cache to source icons. 2012-01-04 12:04:17 +00:00
John Maguire bcf9475f2b Add a source column to the playlist view with appropriate icons. 2012-01-04 11:56:09 +00:00
David Sansome 0aba1ce77d Fix a crash when creating a new smart playlist 2011-11-29 13:01:54 +00:00
Robbert Krebbers 7c1cedeac8 Fix a bug where moving songs down in the playlist could not be undone properly. Fixes issue 1908 2011-11-29 11:39:47 +00:00
David Sansome 05460f9975 Mark spotify streams as not seekable 2011-11-28 18:45:12 +00:00
David Sansome b873209d39 Remove the <xiphcomment.h> include from song.h so that windows headers don't infect everything else. Also move other bits of song.h into song.cpp, and reduce the number of includes in song.h. 2011-11-28 13:56:55 +00:00
Angus Gratton 360aaabd0d Add playlist album artist for use in playlist grid view (Issue 509) 2011-11-28 11:04:38 +00:00
David Sansome da532ef3ca Make manual track changes ignore the "repeat track" setting. Fixes issue 2426 2011-11-27 21:02:37 +00:00
David Sansome b8ee548eb4 Rename the existing "Shuffle by album" mode to "Shuffle tracks in this album", and add a new "Shuffle albums" mode that plays all the tracks in each album sequentially, but then jumps to a different random album afterwards.
Fixes issue 1152
2011-11-27 15:01:10 +00:00
Arnaud Bienner ceab3bd6f0 Add Grooveshark songs as internet items, when adding them from global search, so user can use all GS custom actions 2011-11-24 00:30:11 +01:00
Arnaud Bienner 867a072579 Improve UpdateItems complexity: still quadratic in wort-case, twice better in average, but linear in best case, which is very likely to happen in real usecases 2011-11-19 16:01:58 +01:00
Arnaud Bienner fdad2bd706 Make the async load of folders thread-safe 2011-11-18 21:55:54 +01:00
David Sansome 23bc7acaee Show filenames in the filename column if the URL has a "file" scheme. Also convert the path to native separators for windows 2011-11-12 19:57:21 +00:00
David Sansome efce2498ca Indicate which column alignment action is currently set on each column in the menu. 2011-11-12 16:23:41 +00:00
David Sansome 63fdf11cd8 Keep the playlist column alignment setting in PlaylistView instead of in each individual Playlist, ensuring all playlists share the same column alignments and there's only one place to save/restore them.
Fixes issue 1795
2011-11-12 16:12:51 +00:00
Arnaud Bienner 48db13b353 Make Playlist's InformOfCurrentSongChange public and use it when updating item instead of using UpdateItems (which will create a new item) 2011-11-11 02:42:48 +01:00
HyperQuantum 94a7ceb898 Add an "Expand" button to add more tracks to a dynamic playlist. Fixes issue 1268 2011-11-10 11:21:41 +00:00
Arnaud Bienner 89680a02f0 Add the ability to have custom actions for PlaylistItems, and InternetPlaylistItems (through services). Add 'add to playlists' actions for Grooveshark 2011-11-06 16:12:44 +01:00
Arnaud Bienner 4143823870 Get GrooveShark songs' length (give the ability to seek through stream). markStream and markSongComplete, as resquested by GrooveShark 2011-10-02 12:05:56 +02:00
David Sansome 53e175e503 When stopping due to "Stop after this track", set the current song to the one after, so when the user presses Play it plays the next song instead of the last one again. 2011-09-27 23:31:15 +01:00
David Sansome d62d11df8d When songs are added to the end of the playlist, scroll the playlist to ensure the top one is visible. 2011-09-27 22:28:12 +01:00
David Sansome 8f3ea57a64 Fix the background colour of items in the global search popup in Qt 4.7 with the GTK style. 2011-09-19 11:06:25 +01:00
David Sansome c1041ed6d4 Support for playing tracks from local library 2011-08-29 03:32:41 +01:00
David Sansome 804cbbc14e Save the playlist after editing fields of files in it - affects files that are not in the library. 2011-08-27 23:09:42 +01:00
David Sansome 9312f153b7 Don't show a notification and update the now playing widget when editing a song that isn't currently playing. Fixes issue 1689 2011-08-27 23:08:53 +01:00
David Sansome 7e0e4e48e4 When loading a CUE from disk that isn't in the library, don't overwrite the metadata of its first song with the metadata from the audio file. Fixes issue 2092 2011-08-27 22:29:35 +01:00
Arnaud Bienner cb28557a77 Correct typo 2011-08-08 23:44:49 +02:00
David Sansome 3eb9aee989 Save the state of the playlist column sort marker
Fixes issue 2098
2011-07-25 16:55:45 +01:00
David Sansome f599c0fca7 Remember the playlist column stretch setting when changing it, and update the menu action's checked state properly when opening clementine. 2011-07-25 16:54:42 +01:00
David Sansome 30f68d6981 Store the floating point proportional playlist column widths directly instead of storing the integer pixel widths then recalculating the floating point values on startup, which would lead to floating point errors over time. Fixes a bug where columns would slowly change size the more times you opened and closed clementine. 2011-07-24 12:47:48 +01:00
David Sansome dd3eee63e5 Remove python scripting support 2011-07-23 15:32:12 +01:00
David Sansome 69bd5555e7 Fix a crash when loading an old playlist containing Radio items after an upgrade to a version where they're Internet items 2011-07-18 22:20:22 +00:00
Tyler Rhodes ded8e5f6f0 Refactor "Radio" files into "Internet" files. 2011-07-15 13:27:50 +00:00
John Maguire 16b57935a9 Rename PlaylistManager.name(id) to PlaylistManager.GetPlaylistName(id) so that it doesn't clash with QObject::name() for Python scripts.
Thanks to Cristian Beskid
2011-07-13 18:14:14 +00:00
Tyler Rhodes 5c6f9e625b Allow shorter playlist column names if header size is too small.
Fixes issue 201.
2011-07-06 13:22:42 +00:00
Tyler Rhodes 4daae2249e Add selection-size check before removing items from playlist.
Fixes issue 2038.
2011-07-05 20:24:59 +00:00
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