David Sansome
45a8b3af59
Fix some remaining UI issues with global search:
...
- Add a "Configure global search" item to the context menu, and show the
context menu when right clicking in the help screen as well.
- Don't crash when nothing is selected.
- Add Ctrl+F and Ctrl+L shortcuts to focus the search field.
- Switch to the search tab when clicking one of the tags in Artist Info.
2012-06-16 21:26:06 +01:00
David Sansome
0b754b9b66
Handle various artists properly in the global search tree, and make pressing Esc in the results list put the focus back on the search box
2012-06-11 21:06:26 +01:00
David Sansome
7b4ff1d2ee
Update the Search settings page, use the configured provider order
2012-06-11 16:26:33 +01:00
David Sansome
9d6b72b4ab
Add global search suggestions
2012-06-10 23:05:30 +01:00
David Sansome
fe4e214a78
Read the pretty cover setting explicitly instead of relying on LibraryView reading it first. Make the URL provider set a title on its results
2012-06-10 22:08:00 +01:00
David Sansome
c163046e6f
Add a context menu, and up, down, enter and escape key handlers
2012-06-10 21:56:17 +01:00
David Sansome
f000bd9242
Support dragging items from the global search view into the playlist
2012-06-10 21:27:00 +01:00
David Sansome
97b4298002
Split some bits of GlobalSearchView into a GlobalSearchModel
2012-06-10 21:11:55 +01:00
David Sansome
c9745bca5d
Use a common LoadTracks implementation for most search providers
2012-06-10 20:55:51 +01:00
David Sansome
99463215bf
UI tweaks to the global search help page
2012-06-10 20:14:16 +01:00
David Sansome
6e41a20e61
Add a helpful message to the Search view when no query has been entered
2012-06-10 19:00:51 +01:00
David Sansome
b669dd64fa
Search simple providers properly, use the bigger album cover icon, disable the divider items, align the dividers' icons properly
2012-06-10 17:36:40 +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
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
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
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
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
David Sansome
bbf99fdd0b
Change Spotify to use the new MessageHandler, remove SpotifyMessageHandler
2012-01-08 15:10:11 +00:00
David Sansome
68a379ef26
Use pb::spotify instead of spotify_pb for the protobuf namespace
2012-01-07 23:26:27 +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
John Maguire
0af197f6a1
Use QPalette::BrightText for global search results for better contrast on Mac.
...
(cherry picked from commit e4070bbb3b
)
2011-12-13 14:18:25 +01:00
David Sansome
52a1cc3a08
Remove the global search popup for now until it can be made a bit prettier
...
(cherry picked from commit 54df30c15d
)
2011-12-12 20:50:02 +00:00
David Sansome
de1fa1a6be
Fix the black background on the global search tooltip on Windows 7
2011-12-10 17:36:57 +00:00
Arnaud Bienner
68a1ac545f
Display global search results when focusing on global search box only if reason is 'mouseFocus'
...
(cherry picked from commit 0322c2bbf1
)
2011-12-10 13:22:17 +00:00
Arnaud Bienner
6fc02c364a
Connect textChanged signal instead of textEdited, so the search results are updated (cleared) also when clear button is pressed
...
(cherry picked from commit 33b0c84f03
)
2011-12-10 13:22:12 +00:00
Arnaud Bienner
7dfbc2d2e1
Show last global search results again when focusing back in global search box
...
(cherry picked from commit 898e1e2ed1
)
2011-12-10 13:22:08 +00:00
Arnaud Bienner
8441c565c7
Clear global search box when pressing Escape, like in other search boxes
...
(cherry picked from commit f89fb0db3a
)
2011-12-10 13:22:02 +00:00
Arnaud Bienner
777caf7757
Don't start a global search if text is empty; start otherwise, even for short queries
...
(cherry picked from commit 99bcb5c2a2
)
2011-12-10 13:21:55 +00:00
David Sansome
75f2550c31
Don't save the enabled state for a provider if that provider isn't logged in. The enabled state would always get set to false in this case since the checkbox is disabled in the UI, regardless of its actual state.
2011-12-01 14:30:36 +00:00
David Sansome
42a20d6bcb
Display di.fm suggestions in the global search box properly
2011-11-29 14:29:48 +00:00
David Sansome
4dc4aa33ac
Make the enabled/disabled state of a global search provider separate from its logged in state - means that now Grooveshark and Spotify providers will be enabled as soon as you login
2011-11-28 14:18:20 +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
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
David Sansome
fc0e2c4ea6
Fix the spotify resolver to not crash when not connected to spotify, or after logging out.
...
Fixes issue 2399
2011-11-12 18:55:04 +00:00
David Sansome
691cb9a392
Treat URLs specially in the global search widget
2011-11-11 22:11:25 +00:00
David Sansome
d74d4d65f0
Clicking an artist or tag in the song info tabs now does a global search instead of searching just last.fm
2011-11-11 21:35:25 +00:00
David Sansome
62383d02fc
Don't filter FocusIn events into the global search text box (doing so causes all kinds of unusual behaviour), instead just show the popup when pressing up or down.
2011-11-08 22:38:57 +00:00
David Sansome
c1230f7b0a
Fix a bug where the global search popup would never be shown on the first search
2011-11-08 22:29:52 +00:00
David Sansome
ec5f9be27b
Reposition the global search tooltip when new results arrive
2011-11-08 22:26:58 +00:00
David Sansome
3d8c0046a8
Don't allow providers to return more than 100 results at a time.
2011-11-08 21:49:20 +00:00
David Sansome
d7720223ec
Hash the information that's used by GlobalSearchWidget::CanCombineResults, avoiding doing a O(n^2) search when adding new results.
2011-11-08 21:41:41 +00:00
David Sansome
b3f6e46c23
Don't re-show the results list if more results arrive after the user has explicitly closed it. Also don't continue to show results when the user has backspaced to < 3 characters.
2011-11-08 20:45:11 +00:00
David Sansome
f80ac47931
Use a better search icon for the global search settings page - in the Mint-X theme the old icon was 22x22 only.
2011-11-08 20:20:25 +00:00
David Sansome
69275bb0b6
Disable the right fields in the global search settings page the first time the dialog is shown
2011-11-08 20:15:05 +00:00
David Sansome
550c4b4c84
Change another "Search everywhere"
2011-11-08 18:49:05 +00:00
David Sansome
0a655064b2
Change "Search everywhere" back to "Search for anything" - it better describes what we want the user to do with the input box
2011-11-08 18:37:00 +00:00
David Sansome
5dcd1d4890
Initialise the item lists for simple search providers on startup so they can be used to populate the global search suggestions.
2011-11-08 18:35:33 +00:00
Arnaud Bienner
9964eab741
Add a tooltip to the global search box
2011-11-06 19:05:09 +01:00
David Sansome
89c9ea37fa
"Search everywhere" instead of "Search for anything", and make "e.g." translatable
2011-11-06 17:27:54 +00:00
David Sansome
c6e252326f
Make the Configure... button work for di.fm/sky.fm in the search settings page
2011-11-06 16:41:00 +00:00
David Sansome
814c79b183
Use more friendly names for "global search" in the UI
2011-11-06 16:36:47 +00:00
David Sansome
63f39d8dec
Show some suggested queries in the global search widget
2011-11-06 16:30:42 +00:00
David Sansome
e3b7afbdf2
Add "Your radio streams" global search provider
2011-11-06 15:00:50 +00:00
David Sansome
dac6c1bf09
Add a SomaFM search provider
2011-11-06 00:02:32 +00:00
David Sansome
931efb1f70
Add an icecast search provider, refactor a couple of other bits
2011-11-06 00:02:32 +00:00
David Sansome
b37f679c36
Implement the options to hide/show the global search box, and to hide/show all other search boxes.
2011-11-05 19:09:37 +00:00
David Sansome
a9e1fe0075
Implement the global search tooltip options
2011-11-05 19:09:26 +00:00
David Sansome
1946011919
Update each provider's logged-in state in the global search settings dialog when returning to the global search page.
2011-11-05 17:19:42 +00:00
David Sansome
37166ca19d
Give the last.fm global search provider a config dialog
2011-11-05 17:11:02 +00:00
David Sansome
e0beff096d
Fix the priority ordering of global search results
2011-11-05 17:01:57 +00:00
David Sansome
dc05c101a3
Remove the individual provider buttons from the global search widget and replace them with one settings button instead. Also tweak the appearance of the tooltip
2011-11-05 16:57:33 +00:00
David Sansome
6446ef8b9e
Use PNG spotify icons instead of SVG
2011-11-05 16:08:56 +00:00
David Sansome
a2327c4eb7
Remove some redundant parameters from DigitallyImportedServiceBase and move the subclasses (which are now empty) into the same file.
2011-11-04 22:54:27 +00:00
David Sansome
2b6beb7417
Load the list of sky.fm/di.fm streams using the undocumented API, getting artwork for each stream as well.
2011-11-04 22:31:19 +00:00
John Maguire
f241ebf7b9
Sort grooveshark results better in global search and show fewer of them.
2011-11-01 13:00:27 +01:00
David Sansome
246b14d677
Save provider enabled/disabled state and order
2011-10-30 23:31:43 +00:00
David Sansome
08e09ce5dd
Add a settings page for global search - doesn't save yet
2011-10-30 18:52:38 +00:00
David Sansome
6d45415b00
Consistently use "Various artists" with a lower case "a"
2011-10-30 16:53:39 +00:00
David Sansome
92c284f9b1
Fix the global search tooltip's background under KDE
2011-10-30 15:21:58 +00:00
David Sansome
1b6ce64532
Comments from revision 9a739a3346
2011-10-23 15:44:24 +01:00
Arnaud Bienner
f03d48164f
Save providers preferences (enabled/disable)
2011-10-20 16:36:12 +02:00
Arnaud Bienner
1d60cc6c52
Merge branch 'master' of https://code.google.com/p/clementine-player
2011-10-20 15:04:03 +02:00
Arnaud Bienner
f0c8703dbc
When toggling provider button, check if provider can be used by checking if user is logged-in, it this is necessary to make the provider work
2011-10-20 15:03:47 +02:00
David Sansome
9a739a3346
Add a DBus interface onto the global search engine, and add a KDE krunner plugin that performs global searches in Clementine.
...
This is optional and is not compiled unless you have the plasma developer packages installed.
2011-10-19 23:17:24 +01:00
David Sansome
348faef9e1
Remove the individual global search provider boolean flags and replace them with with a Q_FLAGS enum. Also add a flag for "probably has remote album art"
2011-10-19 23:08:11 +01:00
David Sansome
452fccc2f5
Make GrooveShark emit a SearchFinished signal, and fix aggregate SearchFinished signals if some providers are disabled
2011-10-19 23:07:41 +01:00
David Sansome
da825d4659
Make clicking outside the global search tooltip work again
2011-10-15 21:57:08 +01:00
David Sansome
ce501d982a
Don't show the global search popup immediately when clicking in the search field, making it possible to double click the search box to select all text.
2011-10-15 20:48:48 +01:00
Arnaud Bienner
bac6095491
Rename GrooveShark to Grooveshark everywhere, as it is actually named like this
2011-10-05 21:59:15 +02:00
John Maguire
a0314d34fb
Support albums from GrooveShark in global search.
...
Quality is pretty bad though.
2011-10-05 14:08:33 +02:00
John Maguire
20a967a19f
Basic working closure implementation.
2011-10-04 18:26:40 +02:00
John Maguire
9f1e82965d
Add Jamendo as a global search provider but disabled by default.
2011-10-03 16:03:03 +02:00
John Maguire
55624c4dda
Sort providers by name in global search widget.
2011-10-03 15:39:06 +02:00
David Sansome
4e9f3a27db
Fix the global search tooltip
2011-10-01 21:25:05 +01:00
David Sansome
292610c20b
Allow toggling of individual global search providers.
2011-10-01 21:22:01 +01:00
David Sansome
3e189f53bc
Change a dodgy variable name
2011-10-01 17:55:53 +01:00
David Sansome
58e3a3b676
Don't reload di.fm and sky.fm streams all the time
2011-10-01 17:41:28 +01:00
John Maguire
0df07719e2
const&
2011-10-01 11:03:36 +02:00
John Maguire
bbd0cef2af
Consistently name GrooveShark.
2011-09-30 16:02:57 +02:00
John Maguire
41ce54a088
Add copyright header to Grooveshark global search.
2011-09-30 16:01:07 +02:00
John Maguire
870ffdfb46
Remove extraneous debug.
2011-09-30 16:00:05 +02:00
John Maguire
30014f512e
Support album covers and loading tracks from Grooveshark in global
...
search.
2011-09-30 15:58:24 +02:00
John Maguire
dd017e99ee
Basic global searching in Grooveshark.
2011-09-30 15:35:09 +02:00
David Sansome
30803b6743
Swap between two models (a "back" model and a "front" model) to smooth the delays when typing a search query
2011-09-29 23:26:02 +01:00
David Sansome
4282b6b68b
Don't let search results that arrive later appear before other search results - should make navigating the global search results less annoying when there are remote providers like spotify.
2011-09-29 22:29:20 +01:00
David Sansome
4c819b1cb9
Add a "Replace and play now" shortcut to the global search menu.
2011-09-27 22:38:14 +01:00
David Sansome
892f5f1df1
Add search providers for di.fm and sky.fm
2011-09-24 22:49:04 +01:00
David Sansome
0b65aa3b02
Factor the generic parts of the last.fm search provider into a SimpleSearchProvider class
2011-09-24 20:42:33 +01:00
David Sansome
0a5ef8382d
Don't show a last.fm result if any token didn't match
2011-09-24 18:36:59 +01:00
David Sansome
cc20d90a7a
Last.fm global search provider
2011-09-24 17:01:18 +01:00
David Sansome
d83736acc0
Initialise a GlobalSearch in main and pass it around, so providers can register themselves
2011-09-24 14:44:23 +01:00
David Sansome
8551d4a46d
Only re-show the global search popup on focus events that were caused by the mouse or keyboard.
2011-09-24 13:26:12 +01:00
John Maguire
adf03678e3
Fix typo
2011-09-20 09:57:18 +02: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
John Maguire
66f9d3c8b0
Remove pointless setFocus().
2011-09-19 12:05:02 +02:00
David Sansome
f2062cb68a
Use the selected provider when adding songs to the playlist
2011-09-19 00:35:30 +01:00
David Sansome
847d90d117
Add a "Switch provider" action when there is more than one provider for a search result
2011-09-19 00:29:09 +01:00
David Sansome
334ecd3c38
Add an inner border to the tooltip
2011-09-18 23:41:25 +01:00
David Sansome
e10efbc484
Make "Add and play now" work
2011-09-18 23:26:21 +01:00
David Sansome
b45c5a866e
Make the tooltip actions work properly by click and shortcut key, add a pretty mouseover animation to the tooltip actions, pass mouse events through to the proper widget when the tooltip is open.
2011-09-18 23:07:57 +01:00
David Sansome
7ec059dc13
Add a tooltip action widget (actions don't work yet)
2011-09-18 17:43:53 +01:00
David Sansome
2a97a63719
Prettier global search tooltip
2011-09-18 16:00:04 +01:00
David Sansome
4ac16f0dd4
Add a "tooltip" that shows the songs within each album in the global search results
2011-09-18 00:06:07 +01:00
David Sansome
02f2d5dc88
Combine similar search results
2011-09-17 17:42:14 +01:00
David Sansome
4065037aba
Show a big track count indicator and provider icons in global search results
2011-09-17 16:21:08 +01:00
David Sansome
9e8b29c86a
Get track counts for Spotify albums
2011-09-17 15:57:34 +01:00
David Sansome
d5f043f2c0
Scale the nocover image properly
2011-09-17 15:28:26 +01:00
David Sansome
401700822d
Paint the second line of search results in the same colour, increase spacing slightly
2011-09-17 15:24:46 +01:00
David Sansome
9596377de1
Make the popup bigger by default, but shrink it if it would go off the screen
2011-09-17 15:12:00 +01:00
David Sansome
61b3493c01
Fix the selected text color in the global search popup
2011-09-17 15:03:56 +01:00
David Sansome
d9533fca26
Don't hide the popup when pressing enter, and show it again when re-focusing the search box
2011-09-17 14:23:44 +01:00
David Sansome
02257d8b37
Adjust the global search widget's style a bit
2011-09-17 14:04:57 +01:00
John Maguire
0da6a4f1ca
Tidy up use of mac_psn.
2011-09-16 16:27:31 +02:00
John Maguire
55fc18fcc7
Improve the behaviour of the search popup on Mac.
2011-09-16 15:48:21 +02:00
John Maguire
cc522cab7b
Clear the global search box after tracks have been selected.
2011-09-01 16:30:56 +01:00
John Maguire
551a85cb9b
Add missing copyright headers.
2011-09-01 16:07:07 +01:00
John Maguire
2dc7c3ea8e
Hook up the popup's buttons to the Player.
2011-09-01 15:56:56 +01:00
John Maguire
ee9b9501ed
Remove global search popup frame and show on top when triggered.
2011-09-01 15:41:47 +01:00
John Maguire
914eb59215
Make searching and adding work from global search popup.
2011-09-01 15:10:36 +01:00
John Maguire
c2d68fd697
Basic search popup triggered by a global shortcut.
2011-09-01 14:23:16 +01:00
David Sansome
5aca9b7984
Support for playing tracks from Spotify
2011-08-29 03:32:50 +01:00
David Sansome
c1041ed6d4
Support for playing tracks from local library
2011-08-29 03:32:41 +01:00
David Sansome
21be90a941
Change spotify protobuf namespace to something that isn't reserved, and do album loading in spotify
2011-08-29 03:32:37 +01:00
David Sansome
5dc053827a
Fix spotify image loading
2011-08-29 03:32:35 +01:00
David Sansome
c96d402f26
Add a flag that search providers can set to indicate they want one art request at a time
2011-08-29 03:32:17 +01:00
David Sansome
1d2c142fdc
Key delayed searches on timer id - more efficient for the common case
2011-08-29 03:31:49 +01:00
David Sansome
dbffe16d04
Add a flag that search providers can set to indicate they want some delay between user input and being asked to search
2011-08-29 03:31:19 +01:00
David Sansome
8dea8a2664
Add a spotify global search provider
2011-08-29 03:31:12 +01:00
David Sansome
dbe8ffd5de
Try to sort by "quality", ie. matches at the start of the song metadata rate higher.
2011-08-29 03:30:32 +01:00
David Sansome
415c86ab90
Increase the border size
2011-08-29 03:30:22 +01:00
David Sansome
2c954a5d4a
Cache pixmaps for album art
2011-08-29 03:30:14 +01:00
David Sansome
cd44c47f7b
Sort the results in the popup list, prevent the user from searching for short strings
2011-08-29 03:29:51 +01:00
David Sansome
0f9d2d29bb
Minor UI tweaks
2011-08-29 03:29:04 +01:00
David Sansome
9370657b50
Started work on a global search for library, with album art.
...
The idea is that there's a single place to search for music, and it doesn't matter where it is, Clementine will find something playable.
2011-08-29 03:27:47 +01:00