Tony Motakis
14eca258a2
Refactor duplicate code in LazyPopulate and ResetAsync
...
There is no reason why these need to reimplement the same thing;
put the common functionality in RunQuery() and PostQuery() and re use
the code. Less code paths to keep track of make it easier to implement
new features and fixes.
2012-10-27 16:30:05 -07:00
Ilya Kasnacheev
682acad53f
Preserve the current song in the library view when filtering. Fixes issue 2936
2012-08-26 13:36:44 +01:00
David Sansome
b427fc8a24
Merge branch 'globalsearch-tree'
...
Fixes issue 2238
Fixes issue 2241
Fixes issue 2368
Fixes issue 2375
Fixes issue 2843
Fixes issue 2872
Fixes issue 2938
2012-06-16 21:24:29 +01:00
David Sansome
21fbd40f9f
Don't try to initialise the library model until after the grouping settings have been read from the config. Fixes issue 3005
2012-06-16 20:54:08 +01:00
David Sansome
41fab25569
Auto-expand tree items and lazy load album cover art
2012-06-10 17:15:32 +01:00
David Sansome
9c36cfa199
Replace the global search widget with a "Search" view on the sidebar. Organise results in a tree automatically.
2012-06-10 16:36:15 +01:00
David Sansome
27a4bd426e
Cache album art in the library model between resets (to prevent flickering when filtering), and don't load art for the same album multiple times.
...
Fixes issue 2528
2012-06-02 14:52:30 +01: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
Alan Briolat
336750f15c
Treat "albumartist" as artist, not album
2012-01-29 15:47:15 +00:00
Angus Gratton
b158f6788d
Add support for Various Artists in Album Artist library mode (Issue 509)
2011-11-28 11:04:38 +00:00
Angus Gratton
edb9b0b4fe
Add album effective_artist filter that falls back to artist when unavailable (Issue 509)
2011-11-28 11:04:38 +00:00
David Sansome
e9253af931
Load cover art for the library in a background thread. Fixes issue 2243
2011-11-13 00:31:27 +00:00
David Sansome
6d45415b00
Consistently use "Various artists" with a lower case "a"
2011-10-30 16:53:39 +00:00
Arnaud Bienner
f7859f591c
Adding CD devices in devices tab. Fixes issue 701.
2011-08-05 02:15:16 +02:00
Arnaud Bienner
63300d79db
Set tr function's codec to system encoding. Should (finally) resolve problems with already translated strings
2011-06-22 20:41:48 +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
John Maguire
02e4d30354
Fix compile error.
2011-06-14 16:13:48 +00:00
David Sansome
ccd7afed17
Replace LibraryModel assertions with error logging
2011-06-14 15:33:51 +00:00
David Sansome
42fe215443
Don't treat the smart playlist node in the library like a regular container when applying filters - fixes an assertion when clicking the smart playlist node with None/None/None grouping. Fixes issue 1913
2011-06-14 15:27:07 +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
c6c4902d3f
Added two new options for date queries in smart playlists. Fixes issue
...
1141
2011-04-24 17:52:16 +00:00
Arnaud Bienner
41a4393b24
Translate dynamic playlist names at runtime.
2011-04-19 21:39:02 +00:00
Paweł Bara
032b5f7e48
initial commit of "multiple covers providers" feature:
...
- simple API for cover providers (both C++ and SIP)
- a new "package" for cover related code
2011-04-02 13:34:06 +00:00
Andrea Decorte
ecda0ada4a
Playlists get an automatic name, no more prompts. Fixes issue #423
2011-03-25 19:16:12 +00:00
David Sansome
0594fc53af
Enable the "Edit track information..." item in the library context menu when right-clicking an un-expanded node
2011-03-17 19:52:15 +00:00
Andrea Decorte
cfe6b9e652
Added option to hide dividers in library view. Fixes issue #1125
2011-03-05 15:20:27 +00:00
David Sansome
2b08d27a88
Show loading indicators in the library model and the status bar when asynchronously loading songs during initialisation.
2011-02-26 14:27:57 +00:00
David Sansome
62b6d052de
Fix the library model test
2011-02-26 13:34:31 +00:00
Arnaud Bienner
609f882e27
Making library init async. Prevent from freezing GUI with large collection (especially Jamendo) when loading from DB for the first time since startup
2011-02-24 23:29:45 +00:00
Paweł Bara
5c8c5c5413
making availability of library view's context menu items saner (?). also makes the CUEs readonly from library view
2011-02-21 20:06:44 +00:00
Paweł Bara
7de912d3a1
moving the responsibility for naming playlists into mimeData() methods (into models)
...
this means that pretty names for new playlists now also work when double clicking (in certain mode) or dragging and dropping
fixes issue #1477
2011-02-16 18:29:35 +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
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
d109b70898
David's comments
2011-02-14 17:29:56 +00:00
Paweł Bara
82e92bb3ac
library view has now three modes: 'all songs', 'duplicates only' and new 'untagged songs only' (check out the http://code.google.com/p/clementine-player/wiki/LibraryViewModes ) - fixes issue #305
...
+ hiding the 'complexity' of QueryOptions filter and query_mode mutual exclusion behind it's API
2011-02-06 13:18:18 +00:00
Paweł Bara
2959dbff85
'show duplicates only' view for library where you can see which songs in your library are duplicated and delete unnecessary duplicates (fixes issue #1328 )
2011-01-30 21:00:49 +00:00
David Sansome
d78ad452f2
Make the "No cover" image the same size as the cover art when showing cover art in the library. Thanks markwatkinson. Fixes issue #785 .
2011-01-02 18:58:52 +00:00
David Sansome
43940de195
Add an option to show cover art in the library view. Thanks markwatkinson. Fixes issue #785
2011-01-02 14:51:01 +00:00
David Sansome
dd937fb06d
Make searching more responsive on large libraries (Jamendo)
2010-11-27 20:20:26 +00:00
David Sansome
af234763f2
Do library searching and grouping in a background thread
2010-11-27 20:09:00 +00:00
David Sansome
e63c101223
Don't show the various artists node for Jamendo (there aren't any various artists albums) - making search a bit faster
2010-11-27 19:37:34 +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
623b90e5e2
Make sure the smart playlists node really really gets put at the top
2010-11-27 18:43:49 +00:00
David Sansome
69d3d89b0f
Have a different list of smart playlists for Jamendo and the normal Library. Only add default Jamendo smart playlists once.
2010-11-27 17:52:08 +00:00
David Sansome
4e60558053
Use the Jamendo track id as the ROWID for tracks, and implement reloading the database.
2010-11-25 23:05:37 +00:00
David Sansome
23d1ea81ea
Add dividers to the list of icecast stations
2010-11-24 21:34:54 +00:00
Paweł Bara
5ceb64c9e3
"mute" command in main menu and context menu of tray icon (Fixes issue #962 )
...
"now playing" tray icon's tooltip in Qt environments
2010-11-21 21:36:27 +00:00
David Sansome
a73b46d382
Don't show smart playlists in the library when it's filtered
2010-11-21 12:16: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