1
0
mirror of https://github.com/tomahawk-player/tomahawk.git synced 2025-09-06 04:02:54 +02:00

Compare commits

...

1846 Commits
0.6.0 ... qmlng

Author SHA1 Message Date
Michael Zanetti
23b477da19 revert back to static model for genre tag cloud 2013-08-04 22:29:44 +02:00
Michael Zanetti
1131840a23 added a completion list to InputField, use it for all genres input field 2013-08-04 22:27:53 +02:00
Michael Zanetti
439730ee8a changed startByGenre to according to the mockup 2013-08-04 21:38:44 +02:00
Michael Zanetti
745bbb8afb don't show save button while on page 1 2013-08-04 20:44:31 +02:00
Michael Zanetti
6198d55940 tweak input bubble a little 2013-08-04 20:41:48 +02:00
Michael Zanetti
9886a15760 change artist selection to according to design mockup 2013-08-04 20:41:29 +02:00
Michael Zanetti
ec6ec7833f fix inputbubble 2013-08-04 18:32:46 +02:00
Michael Zanetti
0b4c3cde67 Station is now a CoverFlow instead of a CoverFlip 2013-08-04 18:13:52 +02:00
Michael Zanetti
eb84ddc699 Merge branch 'qmlng' of github.com:tomahawk-player/tomahawk into qmlng
Conflicts:
	src/libtomahawk/playlist/PlayableModel.cpp
	src/tomahawk/sourcetree/SourcesModel.cpp
2013-07-19 00:45:22 +02:00
Michael Zanetti
26f581dc97 some more work on saving stations 2013-07-18 15:49:33 +02:00
Michael Zanetti
cee26a77c3 adjust station summaries to look the same everywhere 2013-07-18 15:49:33 +02:00
Michael Zanetti
d65de01847 fix loading state 2013-07-18 15:49:33 +02:00
Michael Zanetti
c161d5dc3d also add a description for byStation 2013-07-18 15:49:33 +02:00
Michael Zanetti
1d9b76efbc station summary does something again, at least for stations by artist 2013-07-18 15:49:33 +02:00
Christian Muehlhaeuser
6bb9ec7de3 * Fixed startFromGenre. 2013-07-18 15:49:33 +02:00
Michael Zanetti
53ba4aae93 generate does the real thing again 2013-07-18 15:49:33 +02:00
Christian Muehlhaeuser
952120a260 * Create EchonestParams out of the variant list. 2013-07-18 15:49:32 +02:00
Christian Muehlhaeuser
490f736a93 * Print out controls when creating a station. 2013-07-18 15:49:32 +02:00
Christian Muehlhaeuser
a4fee407a4 * Create those darned controls manually. 2013-07-18 15:49:32 +02:00
Christian Muehlhaeuser
6378a1658d * Fixed invoke. 2013-07-18 15:49:32 +02:00
Christian Muehlhaeuser
59003b88e9 * Show save button when we have a configured station. 2013-07-18 15:49:32 +02:00
Christian Muehlhaeuser
c946bd9b8d * Fixed displaying of back / save button. 2013-07-18 15:49:32 +02:00
Christian Muehlhaeuser
02f8eac1b3 * Radio mode needs to initialize a temporary station. 2013-07-18 15:49:32 +02:00
Christian Muehlhaeuser
75a1fce2d8 * Create dynamic playlist when needed - for temporary ones. 2013-07-18 15:49:32 +02:00
Christian Muehlhaeuser
a7152f83f4 * Style fix. 2013-07-18 15:49:32 +02:00
Michael Zanetti
6ab35323e8 more cleanup 2013-07-18 15:49:32 +02:00
Michael Zanetti
b402347bee fix playlist generation and clean up dynamicqmlwidget a bit 2013-07-18 15:49:32 +02:00
Michael Zanetti
1252b6618d fix merge 2013-07-18 15:49:32 +02:00
Uwe L. Korn
ff8e905599 Only setup a Connection once 2013-07-18 15:49:32 +02:00
Uwe L. Korn
cf93741079 Keep lazy offers lazy 2013-07-18 15:49:32 +02:00
Uwe L. Korn
45519110b9 Only match duplicates on inbound Connections 2013-07-18 15:49:32 +02:00
Uwe L. Korn
33cca96f00 Connections should be started in the thread they live 2013-07-18 15:49:32 +02:00
Teo Mrnjavac
8e0dcc69ed Update README.md 2013-07-18 15:49:32 +02:00
Uwe L. Korn
7f8bb31e23 Set nodeId on lazy offers 2013-07-18 15:49:31 +02:00
Uwe L. Korn
15704d8fbf Unbind from source if we are not responsible for it 2013-07-18 15:49:31 +02:00
Christian Muehlhaeuser
1554b638f6 * More debug output in DbCmd_SetPlaylistRevision. 2013-07-18 15:49:31 +02:00
Uwe L. Korn
7219f1035a Add Network Activity to ChangeLog 2013-07-18 15:49:31 +02:00
Dominik Schmidt
cb3889f37e Few minor fixes/improvements for Windows installer 2013-07-18 15:49:31 +02:00
Tomahawk CI
6ad4a8ce76 Automatic merge of Transifex translations 2013-07-18 15:49:31 +02:00
Uwe L. Korn
fbc8803c37 Don't try to acquire lock if we do not have a source anymore. 2013-07-18 15:49:31 +02:00
Uwe L. Korn
0be198fc49 Make selection of ControlConnection symmetric 2013-07-18 15:49:31 +02:00
Uwe L. Korn
4998852e5a Revert "Only display filename in JS resolver errors/as scriptname"
This reverts commit a6459f2823.
2013-07-18 15:49:31 +02:00
Uwe L. Korn
179dac3442 Only display filename in JS resolver errors/as scriptname
* The paths are internal ones
* Shortens error messages for JS resolvers so that they will most likely not 
   overflow anymore
2013-07-18 15:49:31 +02:00
Uwe L. Korn
22aa75f4bb Export JobStatusView 2013-07-18 15:49:31 +02:00
Uwe L. Korn
b0e352a5f5 Generate QxtSslServer fancy header 2013-07-18 15:49:31 +02:00
Uwe L. Korn
d41a9d8dce Update Qxt 2013-07-18 15:49:31 +02:00
Uwe L. Korn
f742066a7e Ensure that Servent still runs on all IPs with Qt 5.0 2013-07-18 15:49:31 +02:00
Uwe L. Korn
419a3f1cd2 Prefix HTTP API v1.0 members 2013-07-18 15:49:30 +02:00
Uwe L. Korn
a381c5e3f1 Use strongRef where strongRef requested 2013-07-18 15:49:30 +02:00
Uwe L. Korn
04e5b338c4 Add comment to prevent others from doing the same mistake 2013-07-18 15:49:30 +02:00
Uwe L. Korn
7daebc655a Performance++, Memory-- 2013-07-18 15:49:30 +02:00
Uwe L. Korn
546f54f196 Make WeakPeerHash more generic 2013-07-18 15:49:30 +02:00
Uwe L. Korn
cde07bc2b8 Write --verbose output to Tomahawk.log 2013-07-18 15:49:30 +02:00
Uwe L. Korn
09026a33fe Debug spam++ 2013-07-18 15:49:30 +02:00
Tomahawk CI
b4de7d6e90 Automatic merge of Transifex translations 2013-07-18 15:49:30 +02:00
Christian Muehlhaeuser
be364d582a * Added xhochy to AUTHORS / about-dialog. 2013-07-18 15:49:30 +02:00
Uwe L. Korn
1b1b88551d Improve Includes in ExternalResolvers.h 2013-07-18 15:49:30 +02:00
Uwe L. Korn
8d80b1e113 Improve includes in Resolver.h 2013-07-18 15:49:30 +02:00
Uwe L. Korn
9fa387e102 Dpointer JSResolver 2013-07-18 15:49:30 +02:00
Uwe L. Korn
7b6987418c Move implementations out of the header 2013-07-18 15:49:29 +02:00
Uwe L. Korn
2dac747a90 Remove unneed includes out of JSResolver.h 2013-07-18 15:49:29 +02:00
Uwe L. Korn
402a7ed6d4 Move JSResolverHelper to its own files 2013-07-18 15:49:29 +02:00
Uwe L. Korn
0403301c9a Move ScriptEngine into its own files 2013-07-18 15:49:29 +02:00
Tomahawk CI
10712c7efb Automatic merge of Transifex translations 2013-07-18 15:49:29 +02:00
Uwe L. Korn
1c62ec3358 Delete AudioEngine after MainWindow 2013-07-18 15:49:29 +02:00
Teo Mrnjavac
612d8874df Don't output secrets in log. 2013-07-18 15:49:29 +02:00
Teo Mrnjavac
56dd8e2572 Stay insecure if there's no other way. 2013-07-18 15:49:29 +02:00
Teo Mrnjavac
3adeee4140 Debug spam++ 2013-07-18 15:49:29 +02:00
Christian Muehlhaeuser
d829389e4e * Filter out tracks with bogus mtime when trying to load recent albums. 2013-07-18 15:49:29 +02:00
Christian Muehlhaeuser
1ecfc8aa9e * Load recent albums when SourceList is ready. 2013-07-18 15:49:29 +02:00
Christian Muehlhaeuser
a4505930b5 * Changed tomahawkLoaded handling. 2013-07-18 15:49:29 +02:00
Christian Muehlhaeuser
a6f8dc1830 * Get rid of passing tomahawkLoaded signal through TomahawkWindow and ViewManager. 2013-07-18 15:49:29 +02:00
Uwe L. Korn
ec17293d3d Do not queue ACL result if there are no sipInfos
* Temporary fix until nodeId is moved/refactored into PeerInfo out of SipInfo
2013-07-18 15:49:28 +02:00
Christian Muehlhaeuser
00e8d25da6 Revert "Put "out of %1" under the big number in StatsGauge"
This reverts commit 5634f5a4ca.
2013-07-18 15:49:28 +02:00
Lasse Liehu
483fa38f7b Put "out of %1" under the big number in StatsGauge
"[number]\nout of %1" flows better than "out of %1\n[number]".
2013-07-18 15:49:28 +02:00
Tomahawk CI
193d4b6a96 Automatic merge of Transifex translations 2013-07-18 15:49:28 +02:00
Christian Muehlhaeuser
ef00f9c21a This breaks too many things: Revert "Some dashboard design tweaks"
This reverts commit 22ce38adbb.
2013-07-18 15:49:28 +02:00
Christian Muehlhaeuser
42c0199f53 * Fixed incompatible signal/slot types. 2013-07-18 15:49:28 +02:00
Jason Herskowitz
61a99449f3 Some dashboard design tweaks 2013-07-18 15:49:28 +02:00
Christian Muehlhaeuser
6ed0879c7c * Respect results' online state when displaying. 2013-07-18 15:49:28 +02:00
Christian Muehlhaeuser
53ad9739ad * Query's resoltSorter needs to take into account the result's online state. 2013-07-18 15:49:28 +02:00
Christian Muehlhaeuser
8e48956c87 * Result now always returns the actual score regardless of the online state. 2013-07-18 15:49:28 +02:00
Christian Muehlhaeuser
776b1c9f2e * Pipeline only becomes ready when Database is entirely finished with init. 2013-07-18 15:49:28 +02:00
Christian Muehlhaeuser
42c03fd9ba * Don't emit Database::ready() just because the FuzzyIndex became ready. 2013-07-18 15:49:28 +02:00
Christian Muehlhaeuser
7a2d1cadec * Make sure JSResolver always has at least the default resolver icon set. 2013-07-18 15:49:28 +02:00
Christian Muehlhaeuser
21beba0881 * Style fixes. 2013-07-18 15:49:28 +02:00
Christian Muehlhaeuser
277edfe8ca * Don't reset the resolver's icon if we couldn't retrieve one in ResolverAccount. 2013-07-18 15:49:27 +02:00
Tomahawk CI
e48b4096b9 Automatic merge of Transifex translations 2013-07-18 15:49:27 +02:00
Tomahawk CI
0db80a9a61 Automatic merge of Transifex translations 2013-07-18 15:49:27 +02:00
Uwe L. Korn
e0bff794ab Fix slot/signal namespacing 2013-07-18 15:49:27 +02:00
Jason Herskowitz
47fc81b8c0 Don't forget to replace Fauna font on Album pages too. 2013-07-18 15:49:27 +02:00
Jason Herskowitz
c002eaf11c Try a different label font since Fauna One wasn't so great on Windows 2013-07-18 15:49:27 +02:00
Jeff Mitchell
c21de815a6 Re-mark proxy changes as needing restart 2013-07-18 15:49:27 +02:00
Jeff Mitchell
97da93afd5 Fix compiler warning 2013-07-18 15:49:27 +02:00
Uwe L. Korn
4002716159 Loosen destructor calls and empty source_ptr instead of deleting it. 2013-07-18 15:49:27 +02:00
Tomahawk CI
ab882608d8 Automatic merge of Transifex translations 2013-07-18 15:49:27 +02:00
Christian Muehlhaeuser
aad713d638 * Fixed compiling Hatchet. 2013-07-18 15:49:26 +02:00
Dominik Schmidt
a5f1e63ae3 Allow to set icon and text for externally added generic page items without instantiating them (aka fix lazy loading for vsxu widget) 2013-07-18 15:49:26 +02:00
Dominik Schmidt
be67d85f91 Revert "Add icon() method to ViewPage api and use that and title() for sidebar items"
We can't lazy load the page when we need its members to show the sidebar
entry...

This reverts commit 1821b24391c33b2ea14fc0d094142395588075d9.
2013-07-18 15:49:26 +02:00
Dominik Schmidt
3debc10943 Clean up 2013-07-18 15:49:26 +02:00
Dominik Schmidt
68812eb3a5 Add icon() method to ViewPage api and use that and title() for sidebar items 2013-07-18 15:49:26 +02:00
Uwe L. Korn
257395a1fe Pimple ControlConnection 2013-07-18 15:49:26 +02:00
Dominik Schmidt
a928833373 Use XInitThreads() on X11 to enable loading the visualizer module 2013-07-18 15:49:26 +02:00
Dominik Schmidt
6b69e50731 Explicitly hide inactive view pages 2013-07-18 15:49:26 +02:00
Uwe L. Korn
8817aa65c4 Pimple Msg 2013-07-18 15:49:26 +02:00
Uwe L. Korn
e5b418ac24 More include cleanups 2013-07-18 15:49:26 +02:00
Dominik Schmidt
63a3339ca5 Add generic page item for new view pages 2013-07-18 15:49:26 +02:00
Uwe L. Korn
8128f1ea48 Clean up headers 2013-07-18 15:49:26 +02:00
Uwe L. Korn
e0a6331142 Pimple BufferIoDevice 2013-07-18 15:49:26 +02:00
Uwe L. Korn
68448db757 No need for QObject on Private classes 2013-07-18 15:49:26 +02:00
Dominik Schmidt
eaf1b58df6 Remove stub page from ViewManager implementation 2013-07-18 15:49:25 +02:00
Teo Mrnjavac
187602c424 GenericPageItem insertion fixage. 2013-07-18 15:49:25 +02:00
Dominik Schmidt
426dd354eb Move stub page adding from appendGroups to SourcesModel ctor 2013-07-18 15:49:25 +02:00
Dominik Schmidt
cb5916b42a Use QList < ViewPage* > in ViewManager to store simple view pages 2013-07-18 15:47:05 +02:00
Dominik Schmidt
4b29d34278 Add stub page to pull out again 2013-07-18 15:47:05 +02:00
Uwe L. Korn
67fc355f16 No more warnings in tomahawk code 2013-07-18 15:47:05 +02:00
Uwe L. Korn
ace775d6a6 Fight all compiler warnings in libtomahawk 2013-07-18 15:47:05 +02:00
Uwe L. Korn
4d43577eda Add missing include 2013-07-18 15:47:05 +02:00
Uwe L. Korn
8f7e2f1f8a Move includes from global headers into local .cpp 2013-07-18 15:47:05 +02:00
Uwe L. Korn
96f28f53ce Move implementations out of the header 2013-07-18 15:47:05 +02:00
Uwe L. Korn
c2b54683d3 Remove not needed includes in Query.h 2013-07-18 15:47:04 +02:00
Uwe L. Korn
5afc5b0909 Remove not needed includes 2013-07-18 15:47:04 +02:00
Uwe L. Korn
54e8ee172b Add missing include for OSX 2013-07-18 15:47:04 +02:00
Uwe L. Korn
ceb856acb2 Finish Connection pimpeling 2013-07-18 15:47:04 +02:00
Uwe L. Korn
69c2d603b8 Make access to Connection->nodeid thread-safe 2013-07-18 15:47:04 +02:00
Uwe L. Korn
bd0c3e29eb If a ControlConnection is not anymore responsible for a source, it should not touch it. 2013-07-18 15:47:04 +02:00
Uwe L. Korn
bfd5690af7 Move outbound, ready, onceonly into ConnectionPrivate 2013-07-18 15:47:04 +02:00
Christian Muehlhaeuser
6e91080311 * Fixed compiling. 2013-07-18 15:47:04 +02:00
Tomahawk CI
ed5cb1d93d Automatic merge of Transifex translations 2013-07-18 15:47:04 +02:00
Uwe L. Korn
1a5406bd44 Pimple SipStatusMessage 2013-07-18 15:47:04 +02:00
Uwe L. Korn
5bf09cced0 Rename Tomahawk::ACL -> Tomahawk::ACLStatus 2013-07-18 15:47:03 +02:00
Uwe L. Korn
bf48967305 Less (global) includes in/of SipPlugin.h 2013-07-18 15:47:03 +02:00
Uwe L. Korn
611b108eb9 Move peerport and msg into ConnectionPrivate 2013-07-18 15:47:03 +02:00
Uwe L. Korn
7efa2fd781 Tomahawk::ACL -> Tomahawk::ACL::Type 2013-07-18 15:47:03 +02:00
Uwe L. Korn
70706c9eb1 Move m_name into ConnectionPrivate 2013-07-18 15:47:03 +02:00
Uwe L. Korn
aaf4ced6db Remove not needed ControlConnection include 2013-07-18 15:47:03 +02:00
Uwe L. Korn
34196ec001 Pimple Source, remove some headers from Source.h and Connection.h 2013-07-18 15:47:03 +02:00
Uwe L. Korn
3d33c68778 Move all implementations out of the header 2013-07-18 15:47:03 +02:00
Uwe L. Korn
bf5fcbd0b6 Remove unused include 2013-07-18 15:47:03 +02:00
Uwe L. Korn
2ee369393c Unprefix Qt includes 2013-07-18 15:47:03 +02:00
Jason Herskowitz
8824466840 More padding in breadcrumb. Don't yet know how to make font bigger. 2013-07-18 15:47:03 +02:00
Uwe L. Korn
d62bd306be Remove unused qjson includes and member 2013-07-18 15:47:03 +02:00
Uwe L. Korn
29ba51b32c Move private members of Connection into a Dpointer 2013-07-18 15:47:03 +02:00
Uwe L. Korn
f074d4dea7 Set nodeid directly, not as a property 2013-07-18 15:47:03 +02:00
Christian Muehlhaeuser
53e03f90e7 * Draw a horizontal splitter. 2013-07-18 15:47:02 +02:00
Christian Muehlhaeuser
feaaa6c7cd * Adjust the splitter handle width. 2013-07-18 15:47:02 +02:00
Christian Muehlhaeuser
f79744fb72 * FlexibleView's GridView looks nicer with black background. 2013-07-18 15:47:02 +02:00
Christian Muehlhaeuser
18d38f5a46 * Change AudioEngine's state before emitting the signal. 2013-07-18 15:47:02 +02:00
Christian Muehlhaeuser
df4aa8ce13 * Trim the artist biography before showing it. 2013-07-18 15:47:02 +02:00
Christian Muehlhaeuser
d6fd70f1f1 * Fixed HistoryWidget's header color. 2013-07-18 15:47:02 +02:00
Christian Muehlhaeuser
9d90c07b70 * Dashboard should use the vanilla InfoBar. 2013-07-18 15:47:02 +02:00
Christian Muehlhaeuser
bb69caed62 * Made deprecated InfoBar look the same as the other headers. 2013-07-18 15:47:02 +02:00
Christian Muehlhaeuser
5300ddae2c * New layout for search page. 2013-07-18 15:47:02 +02:00
Christian Muehlhaeuser
4be8717525 * Set captions to non-bold in .ui. 2013-07-18 15:47:02 +02:00
Christian Muehlhaeuser
30447cee2b * Set captions to non-bold in .ui. 2013-07-18 15:47:02 +02:00
Christian Muehlhaeuser
b2db38db09 * Fixed inbox header color. 2013-07-18 15:47:02 +02:00
Christian Muehlhaeuser
74972ca5e1 * Removed .ui font definitions. 2013-07-18 15:47:02 +02:00
Christian Muehlhaeuser
36ae09b698 * New layout for Dashboard. 2013-07-18 15:47:02 +02:00
Christian Muehlhaeuser
06dca3111f * Nitpicky fix. 2013-07-18 15:47:02 +02:00
Christian Muehlhaeuser
10cb39dd2e * Fixed albums area on artist page growing too big. 2013-07-18 15:47:02 +02:00
Christian Muehlhaeuser
5678f61211 * New layout for Album page. 2013-07-18 15:47:02 +02:00
Christian Muehlhaeuser
1d74242670 * Clean up for Artist page. 2013-07-18 15:47:01 +02:00
Christian Muehlhaeuser
ff08efbdf8 * Clean up for Track page. 2013-07-18 15:47:01 +02:00
Christian Muehlhaeuser
d1e97b1dec * Moved Track page's font definitions to .ui file. 2013-07-18 15:47:01 +02:00
Christian Muehlhaeuser
4145bf14f8 * Fixed Artist page's header size and moved font definitions to .ui file. 2013-07-18 15:47:01 +02:00
Jason Herskowitz
1af86b3257 More font size tweaks 2013-07-18 15:47:01 +02:00
Tomahawk CI
8f7671ae65 Automatic merge of Transifex translations 2013-07-18 15:47:01 +02:00
Jason Herskowitz
5b3c297306 Update all the Spotify icons to their new logo, except the one in the resolvers which is apparently the only one that matters. 2013-07-18 15:47:01 +02:00
Jason Herskowitz
c014650628 Fix track number color 2013-07-18 15:47:01 +02:00
Thierry Goeckel
dd28657dbc Remove newline. 2013-07-18 15:47:01 +02:00
Thierry Goeckel
9b53ffc952 Style fix. 2013-07-18 15:47:01 +02:00
Jason Herskowitz
508c7ffc80 Bump up bio font a couple of point sizes 2013-07-18 15:47:01 +02:00
Thierry Goeckel
088d7ed3ae Don't sort alphabetically here. Makes sense as it is in the source code (week->month->year->overall).
Now someone make week the default. :p
2013-07-18 15:47:00 +02:00
Jason Herskowitz
4926fcb239 Pretty up the gauge a bit more 2013-07-18 15:47:00 +02:00
Jason Herskowitz
c66300aa67 More artist & track design plus some updated placeholder icons 2013-07-18 15:47:00 +02:00
Jason Herskowitz
5fa5532fd2 Unbreak OSX 2013-07-18 15:47:00 +02:00
Uwe L. Korn
0be6ec1a40 Remove unneeded include 2013-07-18 15:47:00 +02:00
Uwe L. Korn
776c919445 Correctly handle/display the different states of PeerInfos 2013-07-18 15:47:00 +02:00
Uwe L. Korn
6bf5d70b5c Use deleteLater so that peerinfo_ptr can be used in different threads. 2013-07-18 15:47:00 +02:00
Christian Muehlhaeuser
e7eea28d84 * Fixed page fonts. 2013-07-18 15:47:00 +02:00
Jason Herskowitz
60ad0a016f More Artist page design. 2013-07-18 15:47:00 +02:00
Christian Muehlhaeuser
786a5f4cd5 * Fixed ModeHeader's background color. 2013-07-18 15:47:00 +02:00
Christian Muehlhaeuser
2203c7afcb * Fixed Track page. 2013-07-18 15:47:00 +02:00
Christian Muehlhaeuser
ac5774a486 * Set the proper background color for the albums grid on the Artist page. 2013-07-18 15:47:00 +02:00
Christian Muehlhaeuser
3df5ab3a41 * Got rid of cover shadow / gradient. 2013-07-18 15:47:00 +02:00
Uwe L. Korn
ea7a21518d Only invoke Closure if receiver still exists 2013-07-18 15:47:00 +02:00
Christian Muehlhaeuser
82705f63f7 * Moved highlight color roles into TomahawkStyle. 2013-07-18 15:47:00 +02:00
Christian Muehlhaeuser
6e84706d3e * Use QPalette::Foreground for drawing AlbumItemDelegate's position figure. 2013-07-18 15:47:00 +02:00
Christian Muehlhaeuser
0e5e4e96e5 * Use new color roles on Artist page. 2013-07-18 15:46:59 +02:00
Christian Muehlhaeuser
d875b8dccf * StatsGauge retrieves color palette from TomahawkStyle. 2013-07-18 15:46:59 +02:00
Christian Muehlhaeuser
99eae3c542 * Fixed TomahawkUtils::prepareStyleOption(). 2013-07-18 15:46:59 +02:00
Christian Muehlhaeuser
2781fafdf4 * Added new color roles to TomahawkStyle. 2013-07-18 15:46:59 +02:00
Uwe L. Korn
1b9b706fce Keep a local strong reference to prevent deleting of the current object 2013-07-18 15:46:59 +02:00
Uwe L. Korn
2066214aef Do not rely on the object to be removed to be deleted after the callback 2013-07-18 15:46:59 +02:00
Christian Muehlhaeuser
0492bbded4 * A few more tweaks to artist page. 2013-07-18 15:46:59 +02:00
Tomahawk CI
865b7db1b8 Automatic merge of Transifex translations 2013-07-18 15:46:59 +02:00
Christian Muehlhaeuser
13c87e0acc * Fixed link color in header. 2013-07-18 15:46:59 +02:00
Christian Muehlhaeuser
42640ef259 * WIP: Artist page. 2013-07-18 15:46:59 +02:00
Christian Muehlhaeuser
aa5e0fcecb * Got rid of obsolete TomahawkStyle colors. 2013-07-18 15:46:59 +02:00
Christian Muehlhaeuser
6166eac485 * Cleaned up TomahawkStyle. 2013-07-18 15:46:59 +02:00
Christian Muehlhaeuser
0aade324ad * Added regular version of Titillium as resource. 2013-07-18 15:46:58 +02:00
Jason Herskowitz
d302850d51 Use a font that also has bold. WIP. 2013-07-18 15:46:58 +02:00
Jason Herskowitz
d2f9d2d79c A bunch of styling to the Arist Page. WIP. 2013-07-18 15:46:58 +02:00
Christian Muehlhaeuser
ae8ddb2144 * Use TomahawkStyle::HEADER_TEXT for captions. 2013-07-18 15:46:58 +02:00
Christian Muehlhaeuser
d833f5fef2 * Use Titillium Web for the labels on ArtistInfoWidget. 2013-07-18 15:46:58 +02:00
Christian Muehlhaeuser
8c671568bb * Load fonts on startup. 2013-07-18 15:46:58 +02:00
Christian Muehlhaeuser
7a4e4410a1 * TomahawkStyle::loadFonts() auto-loads all fonts in the data/fonts/ resource. 2013-07-18 15:46:58 +02:00
Christian Muehlhaeuser
df56877403 * Added example ttf font. 2013-07-18 15:46:58 +02:00
Christian Muehlhaeuser
e27396be63 * Further tweaks to artist-page layout. 2013-07-18 15:46:58 +02:00
Christian Muehlhaeuser
082d86a127 * Style fixes. 2013-07-18 15:46:58 +02:00
Christian Muehlhaeuser
1e89558c78 * Make boxes entirely transparent. 2013-07-18 15:46:58 +02:00
Christian Muehlhaeuser
af5fe4b965 * When a track starts playing, check if we need to update the sidebar's speaker-icon. 2013-07-18 15:46:58 +02:00
Christian Muehlhaeuser
bd4e19fa32 * Implemented LovedTracksItem's isBeingPlayed(). 2013-07-18 15:46:58 +02:00
Christian Muehlhaeuser
d8311c0e41 * Style fixes in GenericPageItems. 2013-07-18 15:46:58 +02:00
Christian Muehlhaeuser
555d3587d7 * Style fixes in SourcesModel. 2013-07-18 15:46:58 +02:00
Christian Muehlhaeuser
0cf881359c * Style fixes in SourceTreeView. 2013-07-18 15:46:58 +02:00
Christian Muehlhaeuser
63ee2cbd59 * Implemented Flexible(Tree)View's isBeingPlayed(). 2013-07-18 15:46:58 +02:00
Christian Muehlhaeuser
a59971a74a * Emit a signal when the currentTrackPlaylist changes in AudioEngine. 2013-07-18 15:46:57 +02:00
Christian Muehlhaeuser
7723cade58 * Removed obsolete png. 2013-07-18 15:46:57 +02:00
Christian Muehlhaeuser
815ec7cbe2 * Use TomahawkStyle's methods to apply stylesheets. 2013-07-18 15:46:57 +02:00
Christian Muehlhaeuser
022efd5503 * Moved stylesheet methods into TomahawkStyle. 2013-07-18 15:46:57 +02:00
Tomahawk CI
81d2278857 Automatic merge of Transifex translations 2013-07-18 15:46:57 +02:00
Christian Muehlhaeuser
8dc56abbf6 * Fixed RecentPlaylistsModel not respecting the set limit. 2013-07-18 15:46:57 +02:00
Christian Muehlhaeuser
a95276d960 * Auto-resize PlaylistWidget. 2013-07-18 15:46:57 +02:00
Christian Muehlhaeuser
f4bd8959e1 * Make hover-glow subtler. 2013-07-18 15:46:57 +02:00
Christian Muehlhaeuser
2b6da82805 * Give Dashboard a header. 2013-07-18 15:46:57 +02:00
Christian Muehlhaeuser
9cc6c1fb35 * Tweak page and header colors. 2013-07-18 15:46:57 +02:00
Christian Muehlhaeuser
cc62a458f5 * Draw divider below BasicHeader. 2013-07-18 15:46:57 +02:00
Christian Muehlhaeuser
b2ac6acb6e * Show 'kbps' next to the bitrate. 2013-07-18 15:46:57 +02:00
Christian Muehlhaeuser
a883c7135f * Fixed HistoryWidget's extra header. 2013-07-18 15:46:57 +02:00
Christian Muehlhaeuser
ff007d8595 * Make FlexibleView use new header style - to be consolidated. 2013-07-18 15:46:56 +02:00
Christian Muehlhaeuser
a0b7c6e504 * Init FilterHeader with parent. 2013-07-18 15:46:56 +02:00
Christian Muehlhaeuser
da8fd58aaa * Re-enable TreeView for collections. 2013-07-18 15:46:56 +02:00
Christian Muehlhaeuser
3ef99fbb32 * FlexibleHeader needs to set its own size. 2013-07-18 15:46:56 +02:00
Christian Muehlhaeuser
0f45146ada * Compact BasicHeader. 2013-07-18 15:46:56 +02:00
Christian Muehlhaeuser
bcd33932d0 * Added ModeHeader widget. 2013-07-18 15:46:56 +02:00
Christian Muehlhaeuser
4ea22ba054 * Show a default track cover until we retrieved the proper, new one. 2013-07-18 15:46:56 +02:00
Christian Muehlhaeuser
8ac833bf97 * Double-clicking in ColumnView opens the corresponding page. 2013-07-18 15:46:56 +02:00
Christian Muehlhaeuser
7b62c3ed14 * A few ColumnItemDelegate fixes. 2013-07-18 15:46:56 +02:00
Christian Muehlhaeuser
5c2cebb423 * Don't show empty labels in preview-widget. 2013-07-18 15:46:56 +02:00
Christian Muehlhaeuser
e8a48aafe4 * Show more info in the preview-widget. 2013-07-18 15:46:56 +02:00
Christian Muehlhaeuser
d2f8bc2784 * Removed header from ColumnView. 2013-07-18 15:46:56 +02:00
Christian Muehlhaeuser
447c6c0217 * Reset the model before applying a filter. 2013-07-18 15:46:56 +02:00
Christian Muehlhaeuser
d098c1cba7 * Use FlexibleTreeViews for showing collections. 2013-07-18 15:46:56 +02:00
Christian Muehlhaeuser
53bdd2de6b * Updated CMakeLists.txt. 2013-07-18 15:46:20 +02:00
Christian Muehlhaeuser
d590fa4faa * Added FlexibleTreeView. 2013-07-18 15:46:20 +02:00
Christian Muehlhaeuser
95e6efd26d * Added ColumnViewPreviewWidget. 2013-07-18 15:46:20 +02:00
Christian Muehlhaeuser
7f64f25e59 * Added ColumnView. 2013-07-18 15:46:20 +02:00
Christian Muehlhaeuser
812ca58674 * Added ColumnItemDelegate. 2013-07-18 15:46:20 +02:00
Christian Muehlhaeuser
a2406e8595 * Disconnect from previous query correctly. 2013-07-18 15:46:19 +02:00
Christian Muehlhaeuser
88dfad3298 * Style fix. 2013-07-18 15:46:19 +02:00
Christian Muehlhaeuser
fc4e42befa * Added custom UserRoles to access model's data. 2013-07-18 15:46:19 +02:00
Christian Muehlhaeuser
db56757bc8 * PlayableItem::forceUpdate() forces a repaint by emitting dataChanged(). 2013-07-18 15:41:38 +02:00
Christian Muehlhaeuser
2d6b8de76b * Caution for upcoming changes. 2013-07-18 15:41:38 +02:00
Christian Muehlhaeuser
81a406d1b5 * Style fixes for Servent. 2013-07-18 15:41:38 +02:00
Tomahawk CI
b3b47398bc Automatic merge of Transifex translations 2013-07-18 15:41:38 +02:00
Tomahawk CI
ddb66a5cfe Automatic merge of Transifex translations 2013-07-18 15:41:38 +02:00
Uwe L. Korn
b3dc65997c Do not squash Peers with no nodeid 2013-07-18 15:41:38 +02:00
Uwe L. Korn
d800323afe Do not try to access NULL-pointers instead search the whole hash for holes 2013-07-18 15:41:38 +02:00
Hugo Lindström
980f56dbcf TWK-1389: Utilize private sessions, if private 2013-07-18 15:41:38 +02:00
Hugo Lindström
587568e026 TWK-1377: Space Encoding on Imported M3Us 2013-07-18 15:41:38 +02:00
Hugo Lindström
18d488b0f1 Stylefix 2013-07-18 15:41:38 +02:00
Uwe L. Korn
aafab2e016 Group peers by (Account, nodeid) in the Diagnostics Dialog, add nodeid info 2013-07-18 15:41:38 +02:00
Uwe L. Korn
0a4a281027 Move all sockets to the Servent thread. 2013-07-18 15:41:38 +02:00
Uwe L. Korn
c248ebb9e0 Speed up connecting by sorting the SipInfos 2013-07-18 15:41:38 +02:00
Uwe L. Korn
251ed6e555 Documentation++, make ConnectionManager CTOR private 2013-07-18 15:41:37 +02:00
Uwe L. Korn
2555ab7766 Better debug spam on column restore 2013-07-18 15:41:37 +02:00
Christian Muehlhaeuser
d14afb5a8f * Tweak timeouts for the lazy-lists drop-down. 2013-07-18 15:41:37 +02:00
Christian Muehlhaeuser
ca025e41b0 * Style fixes. 2013-07-18 15:41:37 +02:00
Uwe L. Korn
ca307d6922 Do not kill used ControlConnection
* Debug spam ++
2013-07-18 15:41:37 +02:00
Christian Muehlhaeuser
0d2dade6da * Don't print out cache-value in log. 2013-07-18 15:41:37 +02:00
Christian Muehlhaeuser
241a3a075b * Delegates use the base-class impls for painting / handling. 2013-07-18 15:41:37 +02:00
Christian Muehlhaeuser
1a88203247 * Views handle leaveEvents now and inform the delegate to update itself when required. 2013-07-18 15:41:37 +02:00
Christian Muehlhaeuser
d6bb90fc25 * Handle source-icon and info-icon painting in the base delegate class. 2013-07-18 15:41:37 +02:00
Christian Muehlhaeuser
f5dc808d4c * Use TrackView's setPlaylistItemDelegate across Tomahawk. 2013-07-18 15:41:37 +02:00
Christian Muehlhaeuser
27879a814e * Moved some page-impl out of the headers. 2013-07-18 15:41:37 +02:00
Christian Muehlhaeuser
cc9687c407 * Fixed secondary text's color in PlaylistDelegate & PlaylistLargeItemDelegate. 2013-07-18 15:41:37 +02:00
Tomahawk CI
9f9d01618e Automatic merge of Transifex translations 2013-07-18 15:41:37 +02:00
Uwe L. Korn
ce10b501a8 Copy internal hash instead of trying to make a non-valid assignment 2013-07-18 15:41:37 +02:00
Uwe L. Korn
d52333893f Self cleaning peerInfo cache, fixes TWK-1396 2013-07-18 15:41:37 +02:00
Uwe L. Korn
6216ab1a79 No need for a pointer here 2013-07-18 15:41:37 +02:00
Uwe L. Korn
d3f32f73c9 Proxy the QtConncurrent call to a static function to preserve a strong ref 2013-07-18 15:41:36 +02:00
Uwe L. Korn
c3eca392f2 Less strong refs to ConnectionManagers if they are not used 2013-07-18 15:41:36 +02:00
Uwe L. Korn
0f82e54f2a Reconnect if ACL decision took too long 2013-07-18 15:41:36 +02:00
Christian Muehlhaeuser
482b0288e7 * Fixed coding style in AudioEngine. 2013-07-18 15:41:36 +02:00
Tomahawk CI
7597dd5554 Automatic merge of Transifex translations 2013-07-18 15:41:36 +02:00
Uwe L. Korn
a2b20fa49e Remove unused defines 2013-07-18 15:41:36 +02:00
Uwe L. Korn
1227d40c26 Lazyload Network Activities 2013-07-18 15:41:36 +02:00
Christian Muehlhaeuser
090cc66fc7 * Moved artist / track labels out of the PlayableCover. 2013-07-18 15:41:36 +02:00
Christian Muehlhaeuser
d13f3f3c45 * Don't consider artists with a playcount of 1 as part of the charts. 2013-07-18 15:41:36 +02:00
Christian Muehlhaeuser
f3b660f123 * Don't consider tracks with a playcount of 1 as part of the charts. 2013-07-18 15:41:36 +02:00
Christian Muehlhaeuser
e0ad9d48d8 * Added gauge for track chart position. 2013-07-18 15:41:36 +02:00
Christian Muehlhaeuser
aca0f51342 * Shrink font size for bigger figures. 2013-07-18 15:41:36 +02:00
Christian Muehlhaeuser
252b809fe4 * Expose track stats in Track(-Data). 2013-07-18 15:41:35 +02:00
Christian Muehlhaeuser
4e83dbac2e * Read chart position when loading TrackStats. 2013-07-18 15:41:35 +02:00
Christian Muehlhaeuser
9d92e2689c * Unspectacular performance improvement. 2013-07-18 15:41:35 +02:00
Christian Muehlhaeuser
edd3759126 * Correctly set initial alternating-row-color setting, so we don't rely on the proxymodel activating it for us on filling. 2013-07-18 15:41:35 +02:00
Christian Muehlhaeuser
51e7fb4c18 * Style the extra header a bit. 2013-07-18 15:41:35 +02:00
Christian Muehlhaeuser
9a9fac59e5 * Get rid of the header gradient. 2013-07-18 15:41:35 +02:00
Christian Muehlhaeuser
408d4486d2 * Slightly different tooltips for the gauges. 2013-07-18 15:41:35 +02:00
Christian Muehlhaeuser
45cc595010 * SourceItem now uses HistoryWidget to display recently played tracks of Sources. 2013-07-18 15:41:35 +02:00
Christian Muehlhaeuser
7cd6af4933 * Forgot to add HistoryWidget to CMakeLists.txt. 2013-07-18 15:41:35 +02:00
Christian Muehlhaeuser
d7629ff626 * HistoryWidget is a FlexibleView with date range input fields as an extra header. 2013-07-18 15:41:35 +02:00
Christian Muehlhaeuser
b4ccf7d6ea * RecentlyPlayedModel can now deal with date ranges. 2013-07-18 15:41:35 +02:00
Christian Muehlhaeuser
c4f48abf77 * DbCmd_PlaybackHistory can now deal with date ranges. 2013-07-18 15:41:35 +02:00
Christian Muehlhaeuser
6b36f3a737 * PlayableModel::ensureResolved() passes queries in one batch to the Pipeline now. 2013-07-18 15:41:35 +02:00
Christian Muehlhaeuser
ff0c3d4bef * QueueView waits for the Pipeline to become ready. 2013-07-18 15:41:35 +02:00
Christian Muehlhaeuser
4939ffb6d3 * FlexibleView now can be initialized with an additional header widget. 2013-07-18 15:41:35 +02:00
Christian Muehlhaeuser
8a4caa4118 * Emit a signal when the Pipeline gets started. 2013-07-18 15:41:34 +02:00
Christian Muehlhaeuser
6b7dbedc45 * Extra (optional) CTOR param for RecentlyPlayedModel: maxItems. 2013-07-18 15:41:34 +02:00
Christian Muehlhaeuser
371b8cff0e * Style for the vertical scrollbars. 2013-07-18 15:41:34 +02:00
Christian Muehlhaeuser
ee67518d47 * WelcomeWidget => Dashboard. 2013-07-18 15:41:34 +02:00
Christian Muehlhaeuser
e9c4d8118b * Renamed and pagified Dashboard. 2013-07-18 15:41:34 +02:00
Christian Muehlhaeuser
6b6475f767 * Don't enforce resolving of similar tracks. 2013-07-18 15:41:34 +02:00
Christian Muehlhaeuser
ad40c8efa9 * Style clean up. 2013-07-18 15:41:34 +02:00
Christian Muehlhaeuser
42cf9375a6 * Don't enforce resolving of incoming Artist's top-tracks. 2013-07-18 15:41:34 +02:00
Tomahawk CI
268537bdc6 Automatic merge of Transifex translations 2013-07-18 15:41:34 +02:00
Uwe L. Korn
797fa8d21c Dpointerize PeerInfo 2013-07-18 15:41:34 +02:00
Uwe L. Korn
91df437e62 Dpointerize NetworkActivityWidget 2013-07-18 15:41:34 +02:00
Uwe L. Korn
fe7c1b1d73 Introduce the Dpointer concept to ConnectionManager 2013-07-18 15:41:34 +02:00
Uwe L. Korn
81a9da23da Delete d_ptr in Servent desctructor 2013-07-18 15:41:34 +02:00
Uwe L. Korn
b48b0127f8 Add Boost_INCLUDE_DIR and make less usage of boost in headers
* Make Servent member more private
2013-07-18 15:41:34 +02:00
Christian Muehlhaeuser
da47c00813 * Made StatsGauge animation smooth and use QProgressBar's own inverted state handling. 2013-07-18 15:41:33 +02:00
Christian Muehlhaeuser
7ea790d40b * Fixed a bunch of compiler warnings. 2013-07-18 15:41:33 +02:00
Christian Muehlhaeuser
6af1be8fa7 * Init needs to wait for InfoSystem to be ready. 2013-07-18 15:41:33 +02:00
Christian Muehlhaeuser
5350330141 * InfoSystem now emits ready() when init is done. 2013-07-18 15:41:33 +02:00
Christian Muehlhaeuser
b37e0d801e * Fixed typos. 2013-07-18 15:41:33 +02:00
Christian Muehlhaeuser
84faa1671c * CreateIndex isn't the right place to connect signals. 2013-07-18 15:41:33 +02:00
Christian Muehlhaeuser
530d5402a1 * Fix Logger with Qt5. 2013-07-18 15:41:33 +02:00
Christian Muehlhaeuser
3e06803162 * Fixed creating QPixmaps in the wrong thread. 2013-07-18 15:41:33 +02:00
Christian Muehlhaeuser
3de4042d6e * Fixed Accounts stuff causing QLayout warning. 2013-07-18 15:41:33 +02:00
Christian Muehlhaeuser
004d84f1b0 * Fixed broken png causing libpng warning. 2013-07-18 15:41:33 +02:00
Christian Muehlhaeuser
62db235b3c * Set pen color correctly for Inbox. 2013-07-18 15:41:33 +02:00
Christian Muehlhaeuser
f1483bfe3f * Adapted Track page to new style. 2013-07-18 15:41:33 +02:00
Christian Muehlhaeuser
89202ae445 * Fixed Artist page. 2013-07-18 15:41:33 +02:00
Christian Muehlhaeuser
1e579bc238 * Adapt Album page to new style. 2013-07-18 15:41:33 +02:00
Christian Muehlhaeuser
e11b1515a9 * Offer inverted gauge animations. 2013-07-18 15:41:33 +02:00
Christian Muehlhaeuser
25f2c2db66 * Changed PAGE_BACKGROUND color. 2013-07-18 15:41:33 +02:00
Christian Muehlhaeuser
df7fafced1 * Don't try animating with bogus values. 2013-07-18 15:41:33 +02:00
Christian Muehlhaeuser
e9a33e3ed4 * Start animating the gauge with value 1. 2013-07-18 15:41:33 +02:00
Christian Muehlhaeuser
b5090d2873 * Chart values need to be always initialized. 2013-07-18 15:41:33 +02:00
Christian Muehlhaeuser
86e201673f * Added StatsGauge. 2013-07-18 15:41:33 +02:00
Christian Muehlhaeuser
0f3cfb210c * Work on artist page. Better layout / design? 2013-07-18 15:41:33 +02:00
Christian Muehlhaeuser
74fdd6500c * Properly set pen before painting figure ovals. 2013-07-18 15:41:32 +02:00
Christian Muehlhaeuser
2e1a1385e1 * Fixed pen settings for drawBackgroundAndNumbers. 2013-07-18 15:41:32 +02:00
Christian Muehlhaeuser
b15622f275 * TrackView should restore externally set alternating-row-color setting. 2013-07-18 15:41:32 +02:00
Christian Muehlhaeuser
02da2cba8d * Mutex protect TrackData. 2013-07-18 15:41:32 +02:00
Christian Muehlhaeuser
00662c2d8d * Load artist-stats. 2013-07-18 15:41:32 +02:00
Tomahawk CI
5fc1d68a3c Automatic merge of Transifex translations 2013-07-18 15:41:32 +02:00
Florian Richter
0a815e06df Fix signal signature 2013-07-18 15:41:32 +02:00
Tomahawk CI
3e678c55ee Automatic merge of Transifex translations 2013-07-18 15:41:32 +02:00
Christian Muehlhaeuser
250c76b53c * When redirecting a request, make sure HEAD ops don't become a GET. 2013-07-18 15:41:32 +02:00
Christian Muehlhaeuser
b070ed8f82 * Style fixes. 2013-07-18 15:41:32 +02:00
Christian Muehlhaeuser
03a84c574e * Cache avatar instead of trying to get it from the cache over and over. 2013-07-18 15:41:32 +02:00
Christian Muehlhaeuser
58ee8b35f4 * Style fixes and removed spamy logging from TomahawkCache. 2013-07-18 15:41:32 +02:00
Uwe L. Korn
6ef3dc30af Use peerName instead of peerAddress
* If connecting to a non-IP host, peerAddress is an empty string,
  peerName contains the DNS name
2013-07-18 15:41:32 +02:00
Christian Muehlhaeuser
1da4cb83ca * The mutex isn't needed. 2013-07-18 15:41:32 +02:00
Christian Muehlhaeuser
27fcb1c43f * Style fixes for NetworkActivityWidget. 2013-07-18 15:41:32 +02:00
Christian Muehlhaeuser
8c0b982852 * Fixed building without breakpad. Thanks to Dinar Valeev. 2013-07-18 15:41:32 +02:00
Christian Muehlhaeuser
9a2594c644 * Style fixes for build system. 2013-07-18 15:41:31 +02:00
Christian Muehlhaeuser
f8b2d792df * Style fixes for build system. 2013-07-18 15:41:31 +02:00
Tomahawk CI
f199f08288 Automatic merge of Transifex translations 2013-07-18 15:41:31 +02:00
Uwe L. Korn
183d7be141 Do not delete connection if PeerInfo disappers during connect 2013-07-18 15:41:31 +02:00
Uwe L. Korn
213edc6d12 Hide InfoBar and report isBeingPlayed status. 2013-07-18 15:41:31 +02:00
Uwe L. Korn
4ffbb06baa NetworkActivity now features Charts 2013-07-18 15:41:31 +02:00
Uwe L. Korn
c808b0989b Add NetworkCharts Database Command 2013-07-18 15:41:31 +02:00
Uwe L. Korn
aa104fce10 Add empty NetworkActivity page 2013-07-18 15:41:31 +02:00
Uwe L. Korn
991bacd667 Add network-activity.svg to resources 2013-07-18 15:40:55 +02:00
Tomahawk CI
b6109b9bf9 Automatic merge of Transifex translations 2013-07-18 15:40:55 +02:00
Uwe L. Korn
ca08729d24 Show DBID/nodeId in DiagnosticsDialog 2013-07-18 15:40:55 +02:00
Uwe L. Korn
4c6ed3d368 Remove hack to avoid resetting firstMessage on parallel connection 2013-07-18 15:40:55 +02:00
Christian Muehlhaeuser
b951f1f4bc * Improvements to item-delegates. 2013-07-18 15:40:55 +02:00
Christian Muehlhaeuser
20df5ded1f * Style fixes for FdoNotifyPlugin. 2013-07-18 15:40:55 +02:00
Tomahawk CI
de5ddc925d Automatic merge of Transifex translations 2013-07-18 15:40:54 +02:00
Florian Richter
cc104598db listen to media key events of gnome settings daemon
* add shortcuthandler, which listens to the media key event
  provided by the gnome settings daemon via dbus
  (https://github.com/GNOME/gnome-settings-daemon/blob/master/plugins/media-keys/README.media-keys-API)
* fixes TWK-983
2013-07-18 15:40:54 +02:00
Christian Muehlhaeuser
e84316c325 * Fixed liben comment. 2013-07-18 15:40:54 +02:00
Teo Mrnjavac
efddc70b7f Bump Echonest version. 2013-07-18 15:40:54 +02:00
Tomahawk CI
f300b4f617 Automatic merge of Transifex translations 2013-07-18 15:40:54 +02:00
Kevin Funk
062addd7e8 Fix some compiler/runtime warnings 2013-07-18 15:40:54 +02:00
Uwe L. Korn
cfb04bb1d7 Delay resuming as we will most likely fail connecting directly 2013-07-18 15:40:54 +02:00
Uwe L. Korn
830d2c9391 Add support for UPower 2013-07-18 15:40:54 +02:00
Florian Richter
d4d45220d1 use autogenerated dbus interface for fdonotify 2013-07-18 15:40:54 +02:00
Jason Herskowitz
c79a671802 Add Network Activity icon for sidebar 2013-07-18 15:40:54 +02:00
Uwe L. Korn
a6113204d2 Fix time in spelling 2013-07-18 15:40:54 +02:00
Uwe L. Korn
701c5ff61c Add SIP improvements to ChangeLog 2013-07-18 15:40:53 +02:00
Florian Richter
a0d988e63a autogenerate dbus adaptors for mpris 2013-07-18 15:40:53 +02:00
Tomahawk CI
ee4186c51d Automatic merge of Transifex translations 2013-07-18 15:40:53 +02:00
Jeff Mitchell
795e525889 Add hatchet plugin to master 2013-07-18 15:40:53 +02:00
Christian Muehlhaeuser
8c10a0c821 * Try simpler OverlayWidget layout. 2013-07-18 15:40:53 +02:00
Christian Muehlhaeuser
9d0c8e1b03 * Fixed AnimatedSpinner flickering when resizing window. 2013-07-18 15:40:53 +02:00
Christian Muehlhaeuser
606a86e016 * Disable / enable alternate row colors when required. 2013-07-18 15:40:53 +02:00
Tomahawk CI
bd33824202 Automatic merge of Transifex translations 2013-07-18 15:40:53 +02:00
Teo Mrnjavac
cae5e75f2a Only show the mark as listened action if unlistened tracks are selected. 2013-07-18 15:40:53 +02:00
Christian Muehlhaeuser
2b1df0e664 * x.y.999 is invalid on OSX. 2013-07-18 15:40:52 +02:00
Teo Mrnjavac
cb4816d662 Replaced GenericSelect with a proper dbcmd.
Consequences:
* we avoid the use of QObject properties, which are not thread safe
* we get social actions right away, without having to wait for
  every track's loadSocialActions to finish
2013-07-18 15:40:52 +02:00
Teo Mrnjavac
1bbfe1599a Remove debug spam. 2013-07-18 15:40:52 +02:00
Tomahawk CI
13f8ad5daa Automatic merge of Transifex translations 2013-07-18 15:40:52 +02:00
Uwe L. Korn
ba23f701f8 Make private things private 2013-07-18 15:40:52 +02:00
Uwe L. Korn
0c1a10ec6a Copy-Constructor is automatically called 2013-07-18 15:40:52 +02:00
Uwe L. Korn
af0504fe41 Bump Version to 0.7.999 2013-07-18 15:40:52 +02:00
Uwe L. Korn
a87b0268d4 Remove usage of QSharedPointer around SipInfo 2013-07-18 15:40:52 +02:00
Uwe L. Korn
72b326a3be We are handling a set, so we need no duplicate detection. 2013-07-18 15:40:52 +02:00
Teo Mrnjavac
1637b325d7 Add "Mark as Listened" to Inbox. 2013-07-18 15:40:52 +02:00
Uwe L. Korn
91feefc433 Fix compilation 2013-07-18 15:40:52 +02:00
Uwe L. Korn
c3a1ee84a1 Even more race precautions
* It did not break yet, but I could not sleep without this commit.
2013-07-18 15:40:52 +02:00
Tomahawk CI
d440061228 Automatic merge of Transifex translations 2013-07-18 15:40:52 +02:00
Teo Mrnjavac
8215e5be00 Send tracks via context menu. 2013-07-18 15:40:51 +02:00
Uwe L. Korn
5e3d14c950 Lock setControlConnection to prevent races 2013-07-18 15:40:51 +02:00
Teo Mrnjavac
e7be3ac8a2 Make tracks sending more discoverable. 2013-07-18 15:40:51 +02:00
Uwe L. Korn
3fd379e81c Detect duplicate ControlConnections 2013-07-18 15:40:51 +02:00
Uwe L. Korn
8b63388ead Remove trailing semicolons 2013-07-18 15:40:51 +02:00
Uwe L. Korn
7b7dffbf0a Credits to me 2013-07-18 15:40:51 +02:00
Uwe L. Korn
e8286b2995 Change ContolContection* to QPointer 2013-07-18 15:40:51 +02:00
Uwe L. Korn
926f42ed1f Set interval to timeout 2013-07-18 15:40:51 +02:00
Uwe L. Korn
b9b24e8161 readyRead is not used as a Slot/Signal 2013-07-18 15:40:51 +02:00
Uwe L. Korn
b362e2a9bd Wait for versionString in Xmpp until telling Servent SipInfos 2013-07-18 15:40:51 +02:00
Uwe L. Korn
008b7e32a6 Weaken references to PeerInfos 2013-07-18 15:40:51 +02:00
Uwe L. Korn
baaddf22a4 Introduce ConnectionManager for outgoing connections 2013-07-18 15:40:51 +02:00
Uwe L. Korn
cad21c1712 Make less usage of QHostAddress when dealing with DNS records. 2013-07-18 15:40:51 +02:00
Uwe L. Korn
b3549ac945 Connection should be able to shutdown even if the socket already disappeared 2013-07-18 15:40:51 +02:00
Uwe L. Korn
9723d7b4ce Do not delete the Connection in Socket cleanup, we take care of this at another stage. 2013-07-18 15:40:51 +02:00
Uwe L. Korn
26f8270372 More logging to find error causes 2013-07-18 15:40:51 +02:00
Uwe L. Korn
652a506922 For old clients, just connect if the magic sort says we should. 2013-07-18 15:40:50 +02:00
Uwe L. Korn
3de5670de7 Sent old tomahawk versions SipInfos like before. 2013-07-18 15:40:50 +02:00
Uwe L. Korn
9d89f8a12e Only destroy existing ControlConnection if it does not run anymore 2013-07-18 15:40:50 +02:00
Uwe L. Korn
e974c08883 Make more use of peerInfoDebug 2013-07-18 15:40:50 +02:00
Uwe L. Korn
bc3c65a027 Split up log messages to know the real cause 2013-07-18 15:40:50 +02:00
Uwe L. Korn
08fb69abb9 Lazily create ControlConnection for offers 2013-07-18 15:40:50 +02:00
Uwe L. Korn
945cf58e78 Add const to arguments in getLocalSipInfos 2013-07-18 15:40:50 +02:00
Uwe L. Korn
c5731c20d5 Refactor the creation of local SipInfos into its own method 2013-07-18 15:40:50 +02:00
Uwe L. Korn
a861943222 Add more verbose logging 2013-07-18 15:40:50 +02:00
Uwe L. Korn
09f47fe11c Remove assert and fix logging 2013-07-18 15:40:50 +02:00
Uwe L. Korn
e2f9dad471 Add more logging to connection handling 2013-07-18 15:40:50 +02:00
Uwe L. Korn
e38be974e4 Add a bit of logging to XmppMessage serialzation 2013-07-18 15:40:50 +02:00
Uwe L. Korn
6c9ec62e7e Handle disconnects during connection attempts (i.e. vanishing connection objects) 2013-07-18 15:40:50 +02:00
Uwe L. Korn
f1ad4922ab Sent non-IP hostname as a last hostname too (these are the user-supplied ones) 2013-07-18 15:40:50 +02:00
Uwe L. Korn
f34dc1b75f Add ASSERTs again 2013-07-18 15:40:50 +02:00
Uwe L. Korn
35da957765 Use nodeId instead of id 2013-07-18 15:40:50 +02:00
Uwe L. Korn
9c1100d180 Some more style changes 2013-07-18 15:40:49 +02:00
Uwe L. Korn
d8bc1cc11d Rename sipInfo to sipInfos at various places 2013-07-18 15:40:49 +02:00
Uwe L. Korn
11f2c24966 Clear up (Control)Connections if connecting failed. 2013-07-18 15:40:49 +02:00
Uwe L. Korn
a0c69ac45a Do nothing in handleSipInfo if we have not received valid SipInfo 2013-07-18 15:40:49 +02:00
Uwe L. Korn
785b616e07 Change comment style to gobal default 2013-07-18 15:40:49 +02:00
Uwe L. Korn
df0fbbc96e Always try next SipInfo 2013-07-18 15:40:49 +02:00
Uwe L. Korn
1d82d0b80b Fix multiple ip connection mechanism 2013-07-18 15:40:49 +02:00
Uwe L. Korn
1c4baee0d4 Correctly ignore IPv4-as-IPv6 localhost 2013-07-18 15:40:49 +02:00
Uwe L. Korn
6172d50710 Do not try link-local addresses. 2013-07-18 15:40:49 +02:00
Uwe L. Korn
85c7b16fa1 Ignore IPv4 localhost even if written as IPv6 address 2013-07-18 15:40:49 +02:00
Uwe L. Korn
d3afba1a90 Add missing writeEndElement 2013-07-18 15:40:49 +02:00
Uwe L. Korn
2c86361190 Rename sipInfoList to sipInfo 2013-07-18 15:40:49 +02:00
Uwe L. Korn
b9e42a03e9 Better way to get the id of a peer 2013-07-18 15:40:49 +02:00
Uwe L. Korn
8b7dba77aa Get back accidently deleted registerOffer 2013-07-18 15:40:49 +02:00
Uwe L. Korn
2a721e89a5 Ignore Zeroconf messages sent by ourselves 2013-07-18 15:40:49 +02:00
Uwe L. Korn
c42054ea5c Create SipInfo with the correct information. 2013-07-18 15:40:49 +02:00
Uwe L. Korn
073f6f5b7a Always return SipInfo, even if not visible 2013-07-18 15:40:49 +02:00
Uwe L. Korn
2438485433 Remove asserts in getters as this makes debugging harder 2013-07-18 15:40:49 +02:00
Uwe L. Korn
812b4f6ee3 Support multiple SipInfos per peer 2013-07-18 15:40:49 +02:00
Uwe L. Korn
0807a3ce4e Change option description to reflect new functionality 2013-07-18 15:40:48 +02:00
Uwe L. Korn
c41c475852 Servent should listen to IPv6 too 2013-07-18 15:40:48 +02:00
Christian Muehlhaeuser
cba83e5225 Revert "Add missing emit ready()"
This reverts commit cc336e9d45.
2013-07-18 15:40:48 +02:00
Christian Muehlhaeuser
1ba923fd21 Revert "* Some fixes to InfoSystem and loading."
This reverts commit 8460d8f522.
2013-07-18 15:40:48 +02:00
Dominik Schmidt
5272cd5f9e Add missing emit ready() 2013-07-18 15:40:48 +02:00
Christian Muehlhaeuser
04a1f4e595 * Some fixes to InfoSystem and loading. 2013-07-18 15:40:48 +02:00
Tomahawk CI
9a6850def5 Automatic merge of Transifex translations 2013-07-18 15:40:48 +02:00
Uwe L. Korn
39da04b843 Display friend's avatars on Dashboard even when they are offline
* Fixes TWK-398
2013-07-18 15:40:48 +02:00
Tomahawk CI
8e4ccbee6d Automatic merge of Transifex translations 2013-07-18 15:40:48 +02:00
Uwe L. Korn
4aed8bf75e Add desktop notifications for received tracks 2013-07-18 15:40:47 +02:00
Dominik Schmidt
3e00b5c0e6 Revert "listen to media key events of gnome settings daemon"
This reverts commit 966ab37b94.
2013-07-18 15:40:47 +02:00
Uwe L. Korn
f64436f9bb Add the possibility for JSResolvers to specify that a given URL is checked/valid. 2013-07-18 15:40:47 +02:00
Florian Richter
da2308db33 listen to media key events of gnome settings daemon
* add shortcuthandler, which listens to the media key event
  provided by the gnome settings daemon via dbus
  (https://github.com/GNOME/gnome-settings-daemon/blob/master/plugins/media-keys/README.media-keys-API)
2013-07-18 15:40:47 +02:00
Dominik Schmidt
45b6340952 Forgotten files are forgotten 2013-07-18 15:40:47 +02:00
Dominik Schmidt
ec4ac5210b Pimple AudioEngine 2013-07-18 15:40:47 +02:00
Teo Mrnjavac
aa5e9ea4f2 Useless entry is useless. 2013-07-18 15:40:47 +02:00
Tomahawk CI
4c85b1d92d Automatic merge of Transifex translations 2013-07-18 15:40:47 +02:00
Teo Mrnjavac
8798f2103e Avoid crash when propagating dbcmd_ShareTrack. 2013-07-18 15:40:47 +02:00
Jeff Mitchell
4497849d07 Fix spelling 2013-07-18 15:40:47 +02:00
Jeff Mitchell
9d42209e96 Use removeOne, not removeAll, as there won't be more than one 2013-07-18 15:40:47 +02:00
Teo Mrnjavac
2185b3ae5a Fix loading of playlist updaters. 2013-07-18 15:40:46 +02:00
Uwe L. Korn
2dee4ccca3 Use QKeySequence::Find to focus the search widget 2013-07-18 15:40:46 +02:00
Dominik Schmidt
25be3d4ad7 Move src/breakdpad/CrashReporter to src/crashreporter 2013-07-18 15:40:46 +02:00
Dominik Schmidt
cb10c59215 Build all subdirs of src/ automatically 2013-07-18 15:40:46 +02:00
Dominik Schmidt
af2336b32f Adjust cmake to build again and fix include errors
These are partly hacks - I split the commit for referencing the hacks
afterwards
2013-07-18 15:40:46 +02:00
Dominik Schmidt
e4ab92b81f Move application target from src/ to src/tomahawk/ 2013-07-18 15:40:46 +02:00
Tomahawk CI
6da9b2937c Automatic merge of Transifex translations 2013-07-18 15:40:46 +02:00
Teo Mrnjavac
30a4019c65 Try to fix startup issue. 2013-07-18 15:40:46 +02:00
Teo Mrnjavac
b006c56876 Make AccountModel loading asynchronous.
AccountManager starts up in 3 steps, first waiting for credentials and
then for Servent to be ready. During this time an AccountModel could be
instantiated in the GUI thread, which needs AccountManager, and if the
latter is not ready at that time, the former cannot be populated with
sane data.
This commit splits the AccountModel ctor so that it waits for
AccountManager to be ready before hooking up to its signals and
performing the initial model reset.
2013-07-18 15:40:46 +02:00
Teo Mrnjavac
3f7c08fdb8 Debug spam++ 2013-07-18 15:40:46 +02:00
Teo Mrnjavac
2d8ca57fee Use outbox icon when sending tracks. 2013-07-18 15:40:45 +02:00
Teo Mrnjavac
7c417f1076 Notify sender of track that an inbox entry has been sent. 2013-07-18 15:40:25 +02:00
Jason Herskowitz
a88816168b Add outbox SVG 2013-07-18 15:40:25 +02:00
Dominik Schmidt
b12aba360c Link privately against qtkeychain 2013-07-18 15:40:25 +02:00
Teo Mrnjavac
c35b63da71 Rename QtScriptResolver to JSResolver because JS != QtScript. 2013-07-18 15:40:25 +02:00
Teo Mrnjavac
24ad7ac701 Enable AccountModel debug spam. 2013-07-18 15:40:25 +02:00
Teo Mrnjavac
641d28c932 Fix issue with not all accountIds being carried over to loading phase. 2013-07-18 15:40:25 +02:00
Teo Mrnjavac
8b972ca62e *** Restore v14 config file before running to avoid losing accounts ***
Change QtKeychain's user-visible service name to "Tomahawk".
2013-07-18 15:40:25 +02:00
Tomahawk CI
748c3106ea Automatic merge of Transifex translations 2013-07-18 15:40:25 +02:00
Dominik Schmidt
29c8b0bea9 Add libqtkeychain.dll to windows installer 2013-07-18 15:40:24 +02:00
Dominik Schmidt
8e16445b49 Fix config file for build tree usage 2013-07-18 15:40:24 +02:00
Teo Mrnjavac
a129a54d1b Enable config upgrade path. 2013-07-18 15:40:24 +02:00
Teo Mrnjavac
e790fab9ae Also write credentials to QtKeychain through CredentialsManager. 2013-07-18 15:40:24 +02:00
Teo Mrnjavac
812f8cb250 Load Account credentials from CredentialsManager. 2013-07-18 15:40:24 +02:00
Teo Mrnjavac
481b16be89 Wait for both Servent and AccountManager to be ready for initSIP. 2013-07-18 15:40:24 +02:00
Teo Mrnjavac
c723160883 Added CredentialsManager as a QtKeychain credentials cache. 2013-07-18 15:40:24 +02:00
Teo Mrnjavac
17f0606139 Upgrade config. 2013-07-18 15:40:24 +02:00
Teo Mrnjavac
1bd7c18715 Build with QtKeychain. 2013-07-18 15:40:24 +02:00
Dominik Schmidt
4beee033ac hack until Qt5: Make external modules/projects automatically act as gui modules/projects 2013-07-18 15:40:24 +02:00
Dominik Schmidt
3ded897d55 Remove TomahawkVersion.h and QtCrypto includes from public QtScriptResolver header 2013-07-18 15:39:40 +02:00
Tomahawk CI
bf49d2bec5 Automatic merge of Transifex translations 2013-07-18 15:39:40 +02:00
Christian Muehlhaeuser
7c963e4c37 * Try to work-around translated error messages. Loathing. 2013-07-18 15:39:39 +02:00
Christian Muehlhaeuser
e35b2bcf43 * Show QSqlError's number() when a query fails. 2013-07-18 15:39:39 +02:00
Christian Muehlhaeuser
7ca0786f02 * Need to actually load controls. 2013-07-18 15:39:39 +02:00
Christian Muehlhaeuser
045e4df526 * DbCmd_SetDynamicPlaylistRevision should check if its parent's exec() succeeded. 2013-07-18 15:39:39 +02:00
Christian Muehlhaeuser
02dee0ec06 * Don't retry on empty SQL error. 2013-07-18 15:39:39 +02:00
Tomahawk CI
8c5ec2bc23 Automatic merge of Transifex translations 2013-07-18 15:39:39 +02:00
Hugo Lindström
c3995a0cc8 Sort by rank if possible 2013-07-18 15:39:39 +02:00
Hugo Lindström
c2f3cff83a Bump charts and newreleases version 2013-07-18 15:39:39 +02:00
Michael Zanetti
e99439ecca some more work on start by year 2013-07-18 15:39:39 +02:00
Michael Zanetti
97c8b93d3c add animation to FlexibleHeader 2013-07-18 15:39:39 +02:00
Christian Muehlhaeuser
050503e8b5 * Behave, Qt4. 2013-07-18 15:39:39 +02:00
Michael Zanetti
c53800f0d3 create station wizard: workaround slow fist scrolling of the ListView 2013-07-18 15:39:38 +02:00
Michael Zanetti
fcc6f5c966 some more work on stations merged 2013-07-18 15:39:38 +02:00
Christian Muehlhaeuser
2e3785f92b * Disable 'Create new station' item. 2013-07-18 15:39:38 +02:00
Christian Muehlhaeuser
2156466762 * Added itemFromIndex to PlayableModel. 2013-07-18 15:39:38 +02:00
Christian Muehlhaeuser
266de41624 * Fixed PlayableItem & added properties. 2013-07-18 15:39:38 +02:00
Christian Muehlhaeuser
bbeeac9935 * Bring back Radio sidebar item. 2013-07-18 15:39:38 +02:00
Christian Muehlhaeuser
99ef263ba2 * Use DynamicQmlWidget for stations. 2013-07-18 15:39:38 +02:00
Christian Muehlhaeuser
f3a50bedbd * Stations shouldn't depend on widgets / controls. 2013-07-18 15:39:38 +02:00
Christian Muehlhaeuser
2841593a85 * Added model specific roles and updated data methods. 2013-07-18 15:39:38 +02:00
Christian Muehlhaeuser
c47d52b144 * Added coverID() related methods to Artist, Album, Track. 2013-07-18 15:39:38 +02:00
Christian Muehlhaeuser
d03cb674c9 * Imported QML specific widgets / views / providers. 2013-07-18 15:39:38 +02:00
Christian Muehlhaeuser
17eeae9a8f * Imported QML resources. 2013-07-18 15:39:38 +02:00
Michael Zanetti
64fd91c0ca some more work on saving stations 2013-07-01 21:03:33 +02:00
Michael Zanetti
145cb67390 adjust station summaries to look the same everywhere 2013-06-29 22:24:50 +02:00
Michael Zanetti
2045dcfaf7 fix loading state 2013-06-29 22:00:10 +02:00
Michael Zanetti
d09fe0a5d6 also add a description for byStation 2013-06-29 22:00:01 +02:00
Michael Zanetti
fd2d0a53ed station summary does something again, at least for stations by artist 2013-06-29 21:42:41 +02:00
Christian Muehlhaeuser
23f47f825a * Fixed startFromGenre. 2013-06-29 21:51:10 +02:00
Michael Zanetti
b211263ced generate does the real thing again 2013-06-29 21:07:35 +02:00
Christian Muehlhaeuser
ecab5b41b0 * Create EchonestParams out of the variant list. 2013-06-29 21:15:51 +02:00
Christian Muehlhaeuser
914f8ccdbb * Print out controls when creating a station. 2013-06-29 19:47:12 +02:00
Christian Muehlhaeuser
daff8101a0 * Create those darned controls manually. 2013-06-29 19:46:55 +02:00
Christian Muehlhaeuser
3a822f22e9 * Fixed invoke. 2013-06-29 19:46:31 +02:00
Christian Muehlhaeuser
d025e8f512 * Show save button when we have a configured station. 2013-06-29 19:46:16 +02:00
Christian Muehlhaeuser
6b6fd9a6e2 * Fixed displaying of back / save button. 2013-06-29 19:05:08 +02:00
Christian Muehlhaeuser
b2a7b23590 * Radio mode needs to initialize a temporary station. 2013-06-29 19:05:08 +02:00
Christian Muehlhaeuser
656f621868 * Create dynamic playlist when needed - for temporary ones. 2013-06-29 19:05:08 +02:00
Christian Muehlhaeuser
bafcb1c07e * Style fix. 2013-06-29 19:05:08 +02:00
Michael Zanetti
ad88242d3a more cleanup 2013-06-29 18:55:29 +02:00
Michael Zanetti
fd0ee87208 fix playlist generation and clean up dynamicqmlwidget a bit 2013-06-29 18:48:18 +02:00
Michael Zanetti
65eec14a48 fix merge 2013-06-29 17:06:54 +02:00
Christian Muehlhaeuser
2dd0efc310 * Merged master into qmlng. 2013-06-29 17:09:19 +02:00
Uwe L. Korn
729d745447 Only setup a Connection once 2013-06-29 09:04:48 +02:00
Uwe L. Korn
f0ea262091 Keep lazy offers lazy 2013-06-29 09:04:42 +02:00
Uwe L. Korn
8902bae463 Only match duplicates on inbound Connections 2013-06-29 09:04:26 +02:00
Uwe L. Korn
6bb441281e Connections should be started in the thread they live 2013-06-29 09:04:12 +02:00
Teo Mrnjavac
a8e552c7ac Update README.md 2013-06-28 21:52:33 +02:00
Uwe L. Korn
ca9cf6b791 Set nodeId on lazy offers 2013-06-28 14:23:14 +02:00
Uwe L. Korn
8cc7321eb3 Unbind from source if we are not responsible for it 2013-06-28 13:27:30 +02:00
Christian Muehlhaeuser
1e1902cddd * More debug output in DbCmd_SetPlaylistRevision. 2013-06-27 21:39:21 +02:00
Uwe L. Korn
7a5b70505e Add Network Activity to ChangeLog 2013-06-27 16:13:50 +02:00
Dominik Schmidt
1637436b4f Few minor fixes/improvements for Windows installer 2013-06-27 15:32:26 +02:00
Tomahawk CI
a1cc970443 Automatic merge of Transifex translations 2013-06-27 02:16:38 +02:00
Uwe L. Korn
91d0a676ec Don't try to acquire lock if we do not have a source anymore. 2013-06-26 19:36:14 +02:00
Uwe L. Korn
968ac83906 Make selection of ControlConnection symmetric 2013-06-26 19:00:01 +02:00
Uwe L. Korn
583053661f Revert "Only display filename in JS resolver errors/as scriptname"
This reverts commit a6459f2823.
2013-06-26 14:41:19 +02:00
Uwe L. Korn
a6459f2823 Only display filename in JS resolver errors/as scriptname
* The paths are internal ones
* Shortens error messages for JS resolvers so that they will most likely not 
   overflow anymore
2013-06-26 14:31:02 +02:00
Uwe L. Korn
9eff981e66 Export JobStatusView 2013-06-26 12:19:25 +02:00
Uwe L. Korn
939de0f480 Generate QxtSslServer fancy header 2013-06-26 12:18:27 +02:00
Uwe L. Korn
d89c18d18b Update Qxt 2013-06-26 12:17:56 +02:00
Uwe L. Korn
2280f7858e Ensure that Servent still runs on all IPs with Qt 5.0 2013-06-26 12:17:21 +02:00
Uwe L. Korn
32665bd3bb Prefix HTTP API v1.0 members 2013-06-26 12:16:57 +02:00
Uwe L. Korn
15ec4cbad2 Use strongRef where strongRef requested 2013-06-26 12:10:00 +02:00
Uwe L. Korn
d0c63da0d6 Add comment to prevent others from doing the same mistake 2013-06-26 12:03:24 +02:00
Uwe L. Korn
92d58c46ce Performance++, Memory-- 2013-06-26 12:03:11 +02:00
Uwe L. Korn
6e83cbc653 Make WeakPeerHash more generic 2013-06-26 12:01:38 +02:00
Uwe L. Korn
2364a31515 Write --verbose output to Tomahawk.log 2013-06-24 22:17:08 +02:00
Uwe L. Korn
f949a49d5b Debug spam++ 2013-06-24 15:18:55 +02:00
Tomahawk CI
e6030d501e Automatic merge of Transifex translations 2013-06-24 02:16:14 +02:00
Christian Muehlhaeuser
e41e1ac1bb * Added xhochy to AUTHORS / about-dialog. 2013-06-23 22:40:28 +02:00
Uwe L. Korn
00324e0bbb Improve Includes in ExternalResolvers.h 2013-06-23 12:25:26 +02:00
Uwe L. Korn
42fa119b6b Improve includes in Resolver.h 2013-06-23 12:07:14 +02:00
Uwe L. Korn
d6c4c32581 Dpointer JSResolver 2013-06-23 11:58:26 +02:00
Uwe L. Korn
152c800ab2 Move implementations out of the header 2013-06-23 11:33:21 +02:00
Uwe L. Korn
d5b07b411f Remove unneed includes out of JSResolver.h 2013-06-23 11:29:10 +02:00
Uwe L. Korn
efa7d20821 Move JSResolverHelper to its own files 2013-06-23 11:11:37 +02:00
Uwe L. Korn
b0b705a17a Move ScriptEngine into its own files 2013-06-23 10:58:12 +02:00
Tomahawk CI
304a1bc73f Automatic merge of Transifex translations 2013-06-23 02:16:17 +02:00
Uwe L. Korn
b3ddab1320 Delete AudioEngine after MainWindow 2013-06-22 20:09:07 +02:00
Teo Mrnjavac
8778cbd41d Don't output secrets in log. 2013-06-22 12:48:17 +02:00
Teo Mrnjavac
7a992b1f08 Stay insecure if there's no other way. 2013-06-22 12:48:17 +02:00
Teo Mrnjavac
53ae795789 Debug spam++ 2013-06-22 12:48:17 +02:00
Christian Muehlhaeuser
1879101c48 * Filter out tracks with bogus mtime when trying to load recent albums. 2013-06-22 12:38:30 +02:00
Christian Muehlhaeuser
bc6194c14e * Load recent albums when SourceList is ready. 2013-06-22 12:32:33 +02:00
Christian Muehlhaeuser
18e6c0a197 * Changed tomahawkLoaded handling. 2013-06-22 12:32:33 +02:00
Christian Muehlhaeuser
d58eec71b7 * Get rid of passing tomahawkLoaded signal through TomahawkWindow and ViewManager. 2013-06-22 12:32:33 +02:00
Uwe L. Korn
8dca47d2ce Merge pull request #194 from rotzbouw/master
Disable sorting of charts in Network Activity
2013-06-21 15:28:06 -07:00
Uwe L. Korn
c9bd8b573a Do not queue ACL result if there are no sipInfos
* Temporary fix until nodeId is moved/refactored into PeerInfo out of SipInfo
2013-06-22 00:22:43 +02:00
Christian Muehlhaeuser
67a2062a30 Revert "Put "out of %1" under the big number in StatsGauge"
This reverts commit 5634f5a4ca.
2013-06-21 22:33:34 +02:00
Jason Herskowitz
8e96396b4b Merge pull request #196 from lliehu/StatsGauge-change
Put "out of %1" under the big number in StatsGauge
2013-06-21 06:06:45 -07:00
Lasse Liehu
5634f5a4ca Put "out of %1" under the big number in StatsGauge
"[number]\nout of %1" flows better than "out of %1\n[number]".
2013-06-21 15:17:51 +03:00
Tomahawk CI
6db92f0890 Automatic merge of Transifex translations 2013-06-21 02:16:54 +02:00
Christian Muehlhaeuser
05f8c212a9 This breaks too many things: Revert "Some dashboard design tweaks"
This reverts commit 22ce38adbb.
2013-06-20 19:42:13 +02:00
Christian Muehlhaeuser
6ae936dc12 * Fixed incompatible signal/slot types. 2013-06-20 19:38:15 +02:00
Jason Herskowitz
22ce38adbb Some dashboard design tweaks 2013-06-20 09:34:36 -04:00
Christian Muehlhaeuser
a79b6633de * Respect results' online state when displaying. 2013-06-20 10:01:57 +02:00
Christian Muehlhaeuser
54966422c4 * Query's resoltSorter needs to take into account the result's online state. 2013-06-20 10:01:18 +02:00
Christian Muehlhaeuser
b90c6f77b6 * Result now always returns the actual score regardless of the online state. 2013-06-20 10:00:53 +02:00
Christian Muehlhaeuser
1185a7dcdd * Pipeline only becomes ready when Database is entirely finished with init. 2013-06-20 09:50:52 +02:00
Christian Muehlhaeuser
5e5bfe2bb5 * Don't emit Database::ready() just because the FuzzyIndex became ready. 2013-06-20 09:50:23 +02:00
Christian Muehlhaeuser
98354d1693 * Make sure JSResolver always has at least the default resolver icon set. 2013-06-20 09:31:31 +02:00
Christian Muehlhaeuser
0cd593e79d * Style fixes. 2013-06-20 09:31:03 +02:00
Christian Muehlhaeuser
73ccd85a6c * Don't reset the resolver's icon if we couldn't retrieve one in ResolverAccount. 2013-06-20 09:30:21 +02:00
Tomahawk CI
fca77f41d1 Automatic merge of Transifex translations 2013-06-19 02:17:21 +02:00
Tomahawk CI
b9bdf2d050 Automatic merge of Transifex translations 2013-06-18 02:16:44 +02:00
Uwe L. Korn
5a0e7978ef Fix slot/signal namespacing 2013-06-18 00:02:42 +02:00
Jason Herskowitz
c88eed0375 Don't forget to replace Fauna font on Album pages too. 2013-06-17 13:50:01 -04:00
Jason Herskowitz
45c5713814 Try a different label font since Fauna One wasn't so great on Windows 2013-06-17 12:24:05 -04:00
Jeff Mitchell
42e92318b7 Re-mark proxy changes as needing restart 2013-06-17 09:52:02 -04:00
Jeff Mitchell
1accdb1b23 Fix compiler warning 2013-06-17 09:51:49 -04:00
Uwe L. Korn
01a5f20c9a Loosen destructor calls and empty source_ptr instead of deleting it. 2013-06-17 07:59:13 +02:00
Tomahawk CI
e7c1dafcda Automatic merge of Transifex translations 2013-06-17 02:16:42 +02:00
Christian Muehlhaeuser
c3039c3b4e * Fixed compiling Hatchet. 2013-06-17 00:51:49 +02:00
Dominik Schmidt
658d1bd351 Merge pull request #195 from tomahawk-player/viewmanagerrefactor
Allow external plugins to add view pages to the sidebar
2013-06-16 15:08:06 -07:00
Dominik Schmidt
7130504777 Allow to set icon and text for externally added generic page items without instantiating them (aka fix lazy loading for vsxu widget) 2013-06-17 00:00:26 +02:00
Dominik Schmidt
91a57c5305 Revert "Add icon() method to ViewPage api and use that and title() for sidebar items"
We can't lazy load the page when we need its members to show the sidebar
entry...

This reverts commit 1821b24391c33b2ea14fc0d094142395588075d9.
2013-06-17 00:00:26 +02:00
Dominik Schmidt
6c7bd96f30 Clean up 2013-06-17 00:00:26 +02:00
Dominik Schmidt
7dbe504a0f Add icon() method to ViewPage api and use that and title() for sidebar items 2013-06-17 00:00:26 +02:00
Uwe L. Korn
992b6a1a76 Pimple ControlConnection 2013-06-16 21:37:16 +02:00
Dominik Schmidt
d83c2c3c06 Use XInitThreads() on X11 to enable loading the visualizer module 2013-06-16 21:34:31 +02:00
Dominik Schmidt
ebf774c3ac Explicitly hide inactive view pages 2013-06-16 21:33:52 +02:00
Uwe L. Korn
d3ce480480 Pimple Msg 2013-06-16 21:13:59 +02:00
Uwe L. Korn
b64da4eb18 More include cleanups 2013-06-16 19:39:56 +02:00
Dominik Schmidt
4bd3ff8c18 Add generic page item for new view pages 2013-06-16 19:35:58 +02:00
Uwe L. Korn
f037e0823c Clean up headers 2013-06-16 19:04:26 +02:00
Uwe L. Korn
2451a0a061 Pimple BufferIoDevice 2013-06-16 19:02:08 +02:00
Uwe L. Korn
45b367677d No need for QObject on Private classes 2013-06-16 19:01:51 +02:00
Dominik Schmidt
9d532d6285 Remove stub page from ViewManager implementation 2013-06-16 18:30:38 +02:00
Teo Mrnjavac
afface1311 GenericPageItem insertion fixage. 2013-06-16 18:06:29 +02:00
Dominik Schmidt
5e40988547 Move stub page adding from appendGroups to SourcesModel ctor 2013-06-16 17:44:56 +02:00
Dominik Schmidt
d940d8436e Use QList < ViewPage* > in ViewManager to store simple view pages 2013-06-16 17:22:35 +02:00
Dominik Schmidt
e6f4c217bb Add stub page to pull out again 2013-06-16 16:50:11 +02:00
Uwe L. Korn
3d1ecc53f3 No more warnings in tomahawk code 2013-06-16 16:25:39 +02:00
Uwe L. Korn
c473efba4e Fight all compiler warnings in libtomahawk 2013-06-16 15:54:26 +02:00
Uwe L. Korn
f8ebb22c7b Add missing include 2013-06-16 13:05:41 +02:00
Uwe L. Korn
aeffe76b96 Move includes from global headers into local .cpp 2013-06-16 12:57:03 +02:00
Uwe L. Korn
e650983b60 Move implementations out of the header 2013-06-16 12:56:38 +02:00
Uwe L. Korn
fc24175cca Remove not needed includes in Query.h 2013-06-16 12:32:14 +02:00
Uwe L. Korn
c81d1f2ede Remove not needed includes 2013-06-16 12:00:19 +02:00
Uwe L. Korn
06417a2be0 Add missing include for OSX 2013-06-16 11:44:48 +02:00
Uwe L. Korn
a314d8b638 Finish Connection pimpeling 2013-06-16 11:43:32 +02:00
Uwe L. Korn
0041a9f850 Make access to Connection->nodeid thread-safe 2013-06-16 11:21:34 +02:00
Uwe L. Korn
f9738dba16 If a ControlConnection is not anymore responsible for a source, it should not touch it. 2013-06-16 11:17:05 +02:00
Uwe L. Korn
fbe434a4d5 Move outbound, ready, onceonly into ConnectionPrivate 2013-06-16 10:52:27 +02:00
Christian Muehlhaeuser
16d2f33adc * Fixed compiling. 2013-06-16 10:46:23 +02:00
Tomahawk CI
30ab94b2bf Automatic merge of Transifex translations 2013-06-16 02:16:44 +02:00
Uwe L. Korn
ad68b7fb04 Pimple SipStatusMessage 2013-06-15 22:02:16 +02:00
Uwe L. Korn
eeab7332ad Rename Tomahawk::ACL -> Tomahawk::ACLStatus 2013-06-15 22:01:20 +02:00
Uwe L. Korn
9e6263856d Less (global) includes in/of SipPlugin.h 2013-06-15 21:39:11 +02:00
Uwe L. Korn
b5cce70b4d Move peerport and msg into ConnectionPrivate 2013-06-15 21:04:46 +02:00
Uwe L. Korn
ce11d3aec3 Tomahawk::ACL -> Tomahawk::ACL::Type 2013-06-15 20:52:43 +02:00
Uwe L. Korn
c7dfe80c82 Move m_name into ConnectionPrivate 2013-06-15 20:36:13 +02:00
Uwe L. Korn
88742ba1d5 Remove not needed ControlConnection include 2013-06-15 20:25:36 +02:00
Uwe L. Korn
4a9ba6efa5 Pimple Source, remove some headers from Source.h and Connection.h 2013-06-15 20:22:25 +02:00
Uwe L. Korn
d3865cc306 Move all implementations out of the header 2013-06-15 16:14:24 +02:00
Uwe L. Korn
619d8a4c6d Remove unused include 2013-06-15 16:14:23 +02:00
Uwe L. Korn
7b654bdd24 Unprefix Qt includes 2013-06-15 16:14:23 +02:00
Jason Herskowitz
bd84125c85 More padding in breadcrumb. Don't yet know how to make font bigger. 2013-06-15 08:17:48 -04:00
Uwe L. Korn
659907856e Remove unused qjson includes and member 2013-06-15 14:13:35 +02:00
Uwe L. Korn
bd24819cbf Move private members of Connection into a Dpointer 2013-06-15 13:56:37 +02:00
Uwe L. Korn
2f570ef161 Set nodeid directly, not as a property 2013-06-15 12:54:40 +02:00
Christian Muehlhaeuser
9d702e0189 * Draw a horizontal splitter. 2013-06-15 12:19:28 +02:00
Christian Muehlhaeuser
a6370d7282 * Adjust the splitter handle width. 2013-06-15 12:18:48 +02:00
Christian Muehlhaeuser
2304d2380a * FlexibleView's GridView looks nicer with black background. 2013-06-15 11:31:54 +02:00
Christian Muehlhaeuser
633350660e * Change AudioEngine's state before emitting the signal. 2013-06-15 11:25:49 +02:00
Christian Muehlhaeuser
4d7efe82a2 * Trim the artist biography before showing it. 2013-06-15 11:11:55 +02:00
Christian Muehlhaeuser
04a2be8398 * Fixed HistoryWidget's header color. 2013-06-15 10:34:00 +02:00
Christian Muehlhaeuser
9cb31e4ec6 * Dashboard should use the vanilla InfoBar. 2013-06-15 10:33:43 +02:00
Christian Muehlhaeuser
0b943598f3 * Made deprecated InfoBar look the same as the other headers. 2013-06-15 10:33:22 +02:00
Christian Muehlhaeuser
9a0089b2a1 * New layout for search page. 2013-06-15 09:52:29 +02:00
Christian Muehlhaeuser
8b29b86bf4 * Set captions to non-bold in .ui. 2013-06-15 09:52:10 +02:00
Christian Muehlhaeuser
60296e45f3 * Set captions to non-bold in .ui. 2013-06-15 09:48:21 +02:00
Christian Muehlhaeuser
d54e695b91 * Fixed inbox header color. 2013-06-15 07:28:52 +02:00
Christian Muehlhaeuser
13c9236328 * Removed .ui font definitions. 2013-06-15 07:24:55 +02:00
Christian Muehlhaeuser
402b6e1e5f * New layout for Dashboard. 2013-06-15 07:23:54 +02:00
Christian Muehlhaeuser
e6b7a577e2 * Nitpicky fix. 2013-06-15 07:23:40 +02:00
Christian Muehlhaeuser
f22637dda2 * Fixed albums area on artist page growing too big. 2013-06-15 05:16:54 +02:00
Christian Muehlhaeuser
a939777a94 * New layout for Album page. 2013-06-15 05:11:57 +02:00
Christian Muehlhaeuser
efd21c5316 * Clean up for Artist page. 2013-06-15 05:11:29 +02:00
Christian Muehlhaeuser
ef62c8f7ce * Clean up for Track page. 2013-06-15 05:11:07 +02:00
Christian Muehlhaeuser
6a3b03c064 * Moved Track page's font definitions to .ui file. 2013-06-15 04:05:46 +02:00
Christian Muehlhaeuser
93c696e2b4 * Fixed Artist page's header size and moved font definitions to .ui file. 2013-06-15 04:05:16 +02:00
Jason Herskowitz
7befdb9594 More font size tweaks 2013-06-14 20:35:22 -04:00
Tomahawk CI
4873ebcb0b Automatic merge of Transifex translations 2013-06-15 02:16:47 +02:00
Jason Herskowitz
f7acb8d51c Update all the Spotify icons to their new logo, except the one in the resolvers which is apparently the only one that matters. 2013-06-14 17:23:09 -04:00
Jason Herskowitz
df8f654075 Fix track number color 2013-06-14 17:00:04 -04:00
Thierry Goeckel
e51161e74b Remove newline. 2013-06-14 22:43:29 +02:00
Thierry Goeckel
5d8eb1911c Style fix. 2013-06-14 22:42:49 +02:00
Thierry Goeckel
ecd1b0398d Merge remote-tracking branch 'upstream/master' 2013-06-14 22:40:37 +02:00
Jason Herskowitz
cdd75599e8 Bump up bio font a couple of point sizes 2013-06-14 16:38:51 -04:00
Thierry Goeckel
6a7d0dfd27 Don't sort alphabetically here. Makes sense as it is in the source code (week->month->year->overall).
Now someone make week the default. :p
2013-06-14 22:38:30 +02:00
Jason Herskowitz
6d806e2fb1 Pretty up the gauge a bit more 2013-06-14 14:54:52 -04:00
Jason Herskowitz
6b4ac0a3c9 More artist & track design plus some updated placeholder icons 2013-06-14 14:46:57 -04:00
Jason Herskowitz
32952b6a6b Unbreak OSX 2013-06-14 12:52:44 -04:00
Uwe L. Korn
43c3ced70f Remove unneeded include 2013-06-14 17:55:29 +02:00
Uwe L. Korn
aded202c8b Correctly handle/display the different states of PeerInfos 2013-06-14 16:46:07 +02:00
Uwe L. Korn
f842792331 Use deleteLater so that peerinfo_ptr can be used in different threads. 2013-06-14 16:36:38 +02:00
Christian Muehlhaeuser
c3c0208e55 * Fixed page fonts. 2013-06-14 16:04:44 +02:00
Jason Herskowitz
305fcba693 More Artist page design. 2013-06-14 09:52:52 -04:00
Christian Muehlhaeuser
f6ceac68b0 * Fixed ModeHeader's background color. 2013-06-14 14:24:48 +02:00
Christian Muehlhaeuser
d6479d0f5e * Fixed Track page. 2013-06-14 13:14:26 +02:00
Christian Muehlhaeuser
40035881b8 * Set the proper background color for the albums grid on the Artist page. 2013-06-14 12:49:34 +02:00
Christian Muehlhaeuser
db96d8e460 * Got rid of cover shadow / gradient. 2013-06-14 12:49:02 +02:00
Uwe L. Korn
e976774d52 Only invoke Closure if receiver still exists 2013-06-14 12:23:35 +02:00
Christian Muehlhaeuser
f3b028d020 * Moved highlight color roles into TomahawkStyle. 2013-06-14 11:57:26 +02:00
Christian Muehlhaeuser
d6344ea707 * Use QPalette::Foreground for drawing AlbumItemDelegate's position figure. 2013-06-14 11:52:26 +02:00
Christian Muehlhaeuser
ff641dfefc * Use new color roles on Artist page. 2013-06-14 11:52:26 +02:00
Christian Muehlhaeuser
1e5fa4d716 * StatsGauge retrieves color palette from TomahawkStyle. 2013-06-14 11:52:26 +02:00
Christian Muehlhaeuser
542b178ece * Fixed TomahawkUtils::prepareStyleOption(). 2013-06-14 11:52:26 +02:00
Christian Muehlhaeuser
9038992758 * Added new color roles to TomahawkStyle. 2013-06-14 11:52:26 +02:00
Uwe L. Korn
13db6a6b90 Keep a local strong reference to prevent deleting of the current object 2013-06-14 11:45:17 +02:00
Uwe L. Korn
a334c87e17 Do not rely on the object to be removed to be deleted after the callback 2013-06-14 10:35:22 +02:00
Christian Muehlhaeuser
e79935c1ca * A few more tweaks to artist page. 2013-06-14 02:19:56 +02:00
Tomahawk CI
5238105781 Automatic merge of Transifex translations 2013-06-14 02:16:47 +02:00
Christian Muehlhaeuser
5ac69fe411 * Fixed link color in header. 2013-06-14 02:00:54 +02:00
Christian Muehlhaeuser
b4d45ca555 * WIP: Artist page. 2013-06-14 01:57:40 +02:00
Christian Muehlhaeuser
8adcb0a111 * Got rid of obsolete TomahawkStyle colors. 2013-06-14 01:56:43 +02:00
Christian Muehlhaeuser
5d0cd075c3 * Cleaned up TomahawkStyle. 2013-06-14 01:56:05 +02:00
Christian Muehlhaeuser
7da87d238e * Added regular version of Titillium as resource. 2013-06-14 01:55:40 +02:00
Jason Herskowitz
baa1413041 Use a font that also has bold. WIP. 2013-06-13 19:35:11 -04:00
Jason Herskowitz
2dbd92c50f A bunch of styling to the Arist Page. WIP. 2013-06-13 19:11:27 -04:00
Christian Muehlhaeuser
e441577776 * Use TomahawkStyle::HEADER_TEXT for captions. 2013-06-13 16:29:56 +02:00
Christian Muehlhaeuser
3417a0d5e7 * Use Titillium Web for the labels on ArtistInfoWidget. 2013-06-13 14:40:07 +02:00
Christian Muehlhaeuser
98203a819e * Load fonts on startup. 2013-06-13 14:27:25 +02:00
Christian Muehlhaeuser
f3643eebba * TomahawkStyle::loadFonts() auto-loads all fonts in the data/fonts/ resource. 2013-06-13 14:27:04 +02:00
Christian Muehlhaeuser
25a5c4a0dc * Added example ttf font. 2013-06-13 14:26:31 +02:00
Christian Muehlhaeuser
112ef8bbd6 * Further tweaks to artist-page layout. 2013-06-13 11:41:19 +02:00
Christian Muehlhaeuser
745ad28ae2 * Style fixes. 2013-06-13 11:40:51 +02:00
Christian Muehlhaeuser
11d41419d9 * Make boxes entirely transparent. 2013-06-13 11:40:39 +02:00
Christian Muehlhaeuser
b25cc538f7 * When a track starts playing, check if we need to update the sidebar's speaker-icon. 2013-06-13 10:25:59 +02:00
Christian Muehlhaeuser
8f91f7d18f * Implemented LovedTracksItem's isBeingPlayed(). 2013-06-13 10:25:28 +02:00
Christian Muehlhaeuser
1fdd485207 * Style fixes in GenericPageItems. 2013-06-13 10:25:04 +02:00
Christian Muehlhaeuser
fc4ab3a262 * Style fixes in SourcesModel. 2013-06-13 10:24:31 +02:00
Christian Muehlhaeuser
e9eb1874e1 * Style fixes in SourceTreeView. 2013-06-13 10:23:40 +02:00
Christian Muehlhaeuser
6ea6628ff0 * Implemented Flexible(Tree)View's isBeingPlayed(). 2013-06-13 10:23:19 +02:00
Christian Muehlhaeuser
357d9b13d5 * Emit a signal when the currentTrackPlaylist changes in AudioEngine. 2013-06-13 10:18:36 +02:00
Christian Muehlhaeuser
e5bf528fa9 * Removed obsolete png. 2013-06-13 09:07:01 +02:00
Christian Muehlhaeuser
623f764ee4 * Use TomahawkStyle's methods to apply stylesheets. 2013-06-13 09:06:43 +02:00
Christian Muehlhaeuser
a11c90c66b * Moved stylesheet methods into TomahawkStyle. 2013-06-13 09:04:41 +02:00
Tomahawk CI
b93532dd64 Automatic merge of Transifex translations 2013-06-13 02:17:08 +02:00
Christian Muehlhaeuser
b0959b4b68 * Fixed RecentPlaylistsModel not respecting the set limit. 2013-06-12 13:35:33 +02:00
Christian Muehlhaeuser
86422655ef * Auto-resize PlaylistWidget. 2013-06-12 13:35:11 +02:00
Christian Muehlhaeuser
9d4280493e * Make hover-glow subtler. 2013-06-12 13:12:44 +02:00
Christian Muehlhaeuser
bcc17ded53 * Give Dashboard a header. 2013-06-12 13:00:02 +02:00
Christian Muehlhaeuser
74a027a936 * Tweak page and header colors. 2013-06-12 12:59:09 +02:00
Christian Muehlhaeuser
45d999c8d6 * Draw divider below BasicHeader. 2013-06-12 12:58:49 +02:00
Christian Muehlhaeuser
42863aac04 * Show 'kbps' next to the bitrate. 2013-06-12 11:43:11 +02:00
Christian Muehlhaeuser
5cd4a25969 * Fixed HistoryWidget's extra header. 2013-06-12 11:36:24 +02:00
Christian Muehlhaeuser
596da1628e * Make FlexibleView use new header style - to be consolidated. 2013-06-12 11:36:07 +02:00
Christian Muehlhaeuser
201c5f3524 * Init FilterHeader with parent. 2013-06-12 11:35:40 +02:00
Christian Muehlhaeuser
38154ea460 * Re-enable TreeView for collections. 2013-06-12 11:28:59 +02:00
Christian Muehlhaeuser
82ee774788 * FlexibleHeader needs to set its own size. 2013-06-12 11:28:12 +02:00
Christian Muehlhaeuser
cdf8a59c42 * Compact BasicHeader. 2013-06-12 11:27:48 +02:00
Christian Muehlhaeuser
16bd317919 * Added ModeHeader widget. 2013-06-12 11:27:19 +02:00
Christian Muehlhaeuser
5fdcd6c690 * Show a default track cover until we retrieved the proper, new one. 2013-06-12 09:23:14 +02:00
Christian Muehlhaeuser
890f14a23c * Double-clicking in ColumnView opens the corresponding page. 2013-06-12 09:15:42 +02:00
Christian Muehlhaeuser
bb6af87b33 * A few ColumnItemDelegate fixes. 2013-06-12 09:02:57 +02:00
Christian Muehlhaeuser
c00adfb347 * Don't show empty labels in preview-widget. 2013-06-12 07:39:45 +02:00
Christian Muehlhaeuser
be455fd7d2 * Show more info in the preview-widget. 2013-06-12 07:35:29 +02:00
Christian Muehlhaeuser
b9cd71d919 * Removed header from ColumnView. 2013-06-12 07:35:10 +02:00
Christian Muehlhaeuser
b6cfe162aa * Reset the model before applying a filter. 2013-06-12 06:21:32 +02:00
Christian Muehlhaeuser
e3302a1365 * Use FlexibleTreeViews for showing collections. 2013-06-12 06:21:32 +02:00
Christian Muehlhaeuser
5e3bdd51c2 * Updated CMakeLists.txt. 2013-06-12 06:21:32 +02:00
Christian Muehlhaeuser
f669e142dc * Added FlexibleTreeView. 2013-06-12 06:21:32 +02:00
Christian Muehlhaeuser
4cc3b850ff * Added ColumnViewPreviewWidget. 2013-06-12 06:21:32 +02:00
Christian Muehlhaeuser
7c1ac3f75d * Added ColumnView. 2013-06-12 06:21:32 +02:00
Christian Muehlhaeuser
d5eec1ae8f * Added ColumnItemDelegate. 2013-06-12 06:21:32 +02:00
Christian Muehlhaeuser
00eb60b41a * Disconnect from previous query correctly. 2013-06-12 06:21:32 +02:00
Christian Muehlhaeuser
fe1bd649bd * Style fix. 2013-06-12 06:21:31 +02:00
Christian Muehlhaeuser
3ab8a432d9 * Added custom UserRoles to access model's data. 2013-06-12 06:21:31 +02:00
Christian Muehlhaeuser
2bd3061516 * PlayableItem::forceUpdate() forces a repaint by emitting dataChanged(). 2013-06-12 06:21:31 +02:00
Christian Muehlhaeuser
ccf8141353 * Caution for upcoming changes. 2013-06-12 06:21:31 +02:00
Christian Muehlhaeuser
786862f5e5 * Style fixes for Servent. 2013-06-12 06:21:31 +02:00
Tomahawk CI
fa35455b00 Automatic merge of Transifex translations 2013-06-12 02:16:52 +02:00
Tomahawk CI
8bc4c8a6dc Automatic merge of Transifex translations 2013-06-11 02:17:08 +02:00
Uwe L. Korn
6ab30bd7af Do not squash Peers with no nodeid 2013-06-10 17:36:54 +02:00
Uwe L. Korn
9500f5e593 Do not try to access NULL-pointers instead search the whole hash for holes 2013-06-10 17:36:54 +02:00
Hugo Lindström
580cb8032f TWK-1389: Utilize private sessions, if private 2013-06-10 16:19:12 +02:00
Hugo Lindström
063f0653ac TWK-1377: Space Encoding on Imported M3Us 2013-06-10 16:19:12 +02:00
Hugo Lindström
71651f62b1 Stylefix 2013-06-10 16:19:12 +02:00
Uwe L. Korn
df7550d73b Group peers by (Account, nodeid) in the Diagnostics Dialog, add nodeid info 2013-06-10 15:44:01 +02:00
Uwe L. Korn
25d6f59cc3 Move all sockets to the Servent thread. 2013-06-10 15:42:15 +02:00
Uwe L. Korn
f805b267fd Speed up connecting by sorting the SipInfos 2013-06-10 14:40:33 +02:00
Uwe L. Korn
051edb079c Documentation++, make ConnectionManager CTOR private 2013-06-10 14:10:17 +02:00
Uwe L. Korn
44580cdb3a Better debug spam on column restore 2013-06-10 11:41:34 +02:00
Christian Muehlhaeuser
02f65f4422 * Tweak timeouts for the lazy-lists drop-down. 2013-06-10 10:56:20 +02:00
Christian Muehlhaeuser
ec70b708d5 * Style fixes. 2013-06-10 10:56:20 +02:00
Uwe L. Korn
9578555042 Do not kill used ControlConnection
* Debug spam ++
2013-06-10 10:43:20 +02:00
Christian Muehlhaeuser
4a25055eda * Don't print out cache-value in log. 2013-06-10 10:38:24 +02:00
Christian Muehlhaeuser
e70efa5fd0 * Delegates use the base-class impls for painting / handling. 2013-06-10 10:38:24 +02:00
Christian Muehlhaeuser
84193fdf2c * Views handle leaveEvents now and inform the delegate to update itself when required. 2013-06-10 10:38:24 +02:00
Christian Muehlhaeuser
29a2c1e904 * Handle source-icon and info-icon painting in the base delegate class. 2013-06-10 10:38:24 +02:00
Christian Muehlhaeuser
29c08dede7 * Use TrackView's setPlaylistItemDelegate across Tomahawk. 2013-06-10 10:38:24 +02:00
Christian Muehlhaeuser
fc5a2fefc7 * Moved some page-impl out of the headers. 2013-06-10 10:38:24 +02:00
Christian Muehlhaeuser
678ba4f403 * Fixed secondary text's color in PlaylistDelegate & PlaylistLargeItemDelegate. 2013-06-10 10:38:24 +02:00
Tomahawk CI
8246d9903a Automatic merge of Transifex translations 2013-06-10 02:16:42 +02:00
Uwe L. Korn
7ee90244bd Copy internal hash instead of trying to make a non-valid assignment 2013-06-09 23:42:34 +02:00
Uwe L. Korn
5b0493bd6c Self cleaning peerInfo cache, fixes TWK-1396 2013-06-09 23:37:10 +02:00
Uwe L. Korn
9e24fc7ddc No need for a pointer here 2013-06-09 19:46:31 +02:00
Uwe L. Korn
2cbfcc7952 Proxy the QtConncurrent call to a static function to preserve a strong ref 2013-06-09 19:24:41 +02:00
Uwe L. Korn
fcfdea2d14 Less strong refs to ConnectionManagers if they are not used 2013-06-09 17:32:37 +02:00
Uwe L. Korn
1d3dd67bf3 Reconnect if ACL decision took too long 2013-06-09 11:47:08 +02:00
Christian Muehlhaeuser
0b453df15c * Fixed coding style in AudioEngine. 2013-06-09 03:33:24 +02:00
Tomahawk CI
91b03eff33 Automatic merge of Transifex translations 2013-06-09 02:16:48 +02:00
Uwe L. Korn
08b227bbc8 Remove unused defines 2013-06-09 01:02:45 +02:00
Uwe L. Korn
e06cb12630 Lazyload Network Activities 2013-06-09 00:19:01 +02:00
Christian Muehlhaeuser
a31f4c770a * Moved artist / track labels out of the PlayableCover. 2013-06-08 14:24:37 +02:00
Christian Muehlhaeuser
4c46425cbb * Don't consider artists with a playcount of 1 as part of the charts. 2013-06-08 12:47:26 +02:00
Christian Muehlhaeuser
073cbf8e03 * Don't consider tracks with a playcount of 1 as part of the charts. 2013-06-08 12:29:51 +02:00
Christian Muehlhaeuser
3824034113 * Added gauge for track chart position. 2013-06-08 12:08:43 +02:00
Christian Muehlhaeuser
6c92168a48 * Shrink font size for bigger figures. 2013-06-08 12:08:17 +02:00
Christian Muehlhaeuser
b47761982e * Expose track stats in Track(-Data). 2013-06-08 12:08:01 +02:00
Christian Muehlhaeuser
c85665fc8a * Read chart position when loading TrackStats. 2013-06-08 12:07:32 +02:00
Christian Muehlhaeuser
9ef6ebf07c * Unspectacular performance improvement. 2013-06-08 12:07:10 +02:00
Christian Muehlhaeuser
ae393edfb1 * Correctly set initial alternating-row-color setting, so we don't rely on the proxymodel activating it for us on filling. 2013-06-08 11:47:25 +02:00
Christian Muehlhaeuser
87ea3d3dbf * Style the extra header a bit. 2013-06-08 11:04:33 +02:00
Christian Muehlhaeuser
a2328a237e * Get rid of the header gradient. 2013-06-08 11:04:18 +02:00
Christian Muehlhaeuser
074417517d * Slightly different tooltips for the gauges. 2013-06-08 10:21:58 +02:00
Christian Muehlhaeuser
e89ff88948 * SourceItem now uses HistoryWidget to display recently played tracks of Sources. 2013-06-08 10:21:44 +02:00
Christian Muehlhaeuser
8ddc30867b * Forgot to add HistoryWidget to CMakeLists.txt. 2013-06-08 10:21:22 +02:00
Christian Muehlhaeuser
2fb0c5fda8 * HistoryWidget is a FlexibleView with date range input fields as an extra header. 2013-06-08 10:21:06 +02:00
Christian Muehlhaeuser
00de575744 * RecentlyPlayedModel can now deal with date ranges. 2013-06-08 10:20:24 +02:00
Christian Muehlhaeuser
99e331d8cd * DbCmd_PlaybackHistory can now deal with date ranges. 2013-06-08 10:20:01 +02:00
Christian Muehlhaeuser
80cc6b45dd * PlayableModel::ensureResolved() passes queries in one batch to the Pipeline now. 2013-06-08 10:19:35 +02:00
Christian Muehlhaeuser
cee71b9b08 * QueueView waits for the Pipeline to become ready. 2013-06-08 10:19:01 +02:00
Christian Muehlhaeuser
a900048c8a * FlexibleView now can be initialized with an additional header widget. 2013-06-08 10:17:53 +02:00
Christian Muehlhaeuser
b16a18cfbb * Emit a signal when the Pipeline gets started. 2013-06-08 10:17:23 +02:00
Christian Muehlhaeuser
e31d6ac0a7 * Extra (optional) CTOR param for RecentlyPlayedModel: maxItems. 2013-06-08 06:08:23 +02:00
Christian Muehlhaeuser
55ad6c2a6a * Style for the vertical scrollbars. 2013-06-08 06:07:54 +02:00
Christian Muehlhaeuser
b89ca65c51 * WelcomeWidget => Dashboard. 2013-06-08 06:07:07 +02:00
Christian Muehlhaeuser
ae1d641903 * Renamed and pagified Dashboard. 2013-06-08 06:06:19 +02:00
Christian Muehlhaeuser
bc72050fb0 * Don't enforce resolving of similar tracks. 2013-06-08 05:12:07 +02:00
Christian Muehlhaeuser
a9ba1ee1e1 * Style clean up. 2013-06-08 05:11:55 +02:00
Christian Muehlhaeuser
3397561af1 * Don't enforce resolving of incoming Artist's top-tracks. 2013-06-08 05:03:41 +02:00
Tomahawk CI
261d9b1203 Automatic merge of Transifex translations 2013-06-08 02:16:49 +02:00
Uwe L. Korn
6c69aa4822 Dpointerize PeerInfo 2013-06-07 19:41:48 +02:00
Uwe L. Korn
72a54844d8 Dpointerize NetworkActivityWidget 2013-06-07 19:41:29 +02:00
Uwe L. Korn
494e75bff1 Introduce the Dpointer concept to ConnectionManager 2013-06-07 16:35:29 +02:00
Uwe L. Korn
26dbc9d1cc Delete d_ptr in Servent desctructor 2013-06-07 15:49:15 +02:00
Uwe L. Korn
b6e0f77911 Add Boost_INCLUDE_DIR and make less usage of boost in headers
* Make Servent member more private
2013-06-07 12:36:37 +02:00
Christian Muehlhaeuser
e193524cd3 * Made StatsGauge animation smooth and use QProgressBar's own inverted state handling. 2013-06-07 12:17:58 +02:00
Christian Muehlhaeuser
b93e5c90c0 * Fixed a bunch of compiler warnings. 2013-06-07 11:55:32 +02:00
Christian Muehlhaeuser
3c95e31ba0 * Init needs to wait for InfoSystem to be ready. 2013-06-07 11:55:12 +02:00
Christian Muehlhaeuser
13ae09218d * InfoSystem now emits ready() when init is done. 2013-06-07 11:54:48 +02:00
Christian Muehlhaeuser
9e89e4aa4c * Fixed typos. 2013-06-07 11:33:50 +02:00
Christian Muehlhaeuser
56632f10bd * CreateIndex isn't the right place to connect signals. 2013-06-07 11:33:21 +02:00
Christian Muehlhaeuser
2e6ae760a1 * Fix Logger with Qt5. 2013-06-07 11:33:06 +02:00
Christian Muehlhaeuser
21d4f2b83a * Fixed creating QPixmaps in the wrong thread. 2013-06-07 11:27:58 +02:00
Christian Muehlhaeuser
b291788a2e * Fixed Accounts stuff causing QLayout warning. 2013-06-07 11:27:15 +02:00
Christian Muehlhaeuser
412fb5b7bb * Fixed broken png causing libpng warning. 2013-06-07 11:26:52 +02:00
Christian Muehlhaeuser
4d64ddf317 * Set pen color correctly for Inbox. 2013-06-07 10:44:58 +02:00
Christian Muehlhaeuser
99deba6710 * Adapted Track page to new style. 2013-06-07 10:32:56 +02:00
Christian Muehlhaeuser
c67532c588 * Fixed Artist page. 2013-06-07 10:32:19 +02:00
Christian Muehlhaeuser
aa7a69b6cc * Adapt Album page to new style. 2013-06-07 10:31:57 +02:00
Christian Muehlhaeuser
7557696d48 * Offer inverted gauge animations. 2013-06-07 10:31:31 +02:00
Christian Muehlhaeuser
e5b4caee2f * Changed PAGE_BACKGROUND color. 2013-06-07 10:31:08 +02:00
Christian Muehlhaeuser
abf4314eaf * Don't try animating with bogus values. 2013-06-07 09:12:31 +02:00
Christian Muehlhaeuser
02d3f7c55f * Start animating the gauge with value 1. 2013-06-07 09:09:29 +02:00
Christian Muehlhaeuser
aca501096f * Chart values need to be always initialized. 2013-06-07 09:09:04 +02:00
Christian Muehlhaeuser
47a4d549af * Added StatsGauge. 2013-06-07 09:00:07 +02:00
Christian Muehlhaeuser
3383a93e4b * Work on artist page. Better layout / design? 2013-06-07 09:00:07 +02:00
Christian Muehlhaeuser
3c0f65c6fa * Properly set pen before painting figure ovals. 2013-06-07 09:00:07 +02:00
Christian Muehlhaeuser
2bceddaa1c * Fixed pen settings for drawBackgroundAndNumbers. 2013-06-07 09:00:07 +02:00
Christian Muehlhaeuser
096331016e * TrackView should restore externally set alternating-row-color setting. 2013-06-07 09:00:07 +02:00
Christian Muehlhaeuser
162610bae5 * Mutex protect TrackData. 2013-06-07 09:00:07 +02:00
Christian Muehlhaeuser
8b68e83827 * Load artist-stats. 2013-06-07 09:00:06 +02:00
Tomahawk CI
3a8a5c7d79 Automatic merge of Transifex translations 2013-06-07 02:17:06 +02:00
Christian Muehlhaeuser
bbe1e76470 Merge pull request #193 from f1ori/master
Fix signature of signal
2013-06-06 01:49:49 -07:00
Florian Richter
47dcb9f170 Fix signal signature 2013-06-06 10:19:56 +02:00
Tomahawk CI
533b99d838 Automatic merge of Transifex translations 2013-06-06 02:17:09 +02:00
Christian Muehlhaeuser
2427382830 * When redirecting a request, make sure HEAD ops don't become a GET. 2013-06-05 21:32:09 +02:00
Christian Muehlhaeuser
c2d9f1f441 * Style fixes. 2013-06-05 20:46:35 +02:00
Christian Muehlhaeuser
cac24eacd3 * Cache avatar instead of trying to get it from the cache over and over. 2013-06-05 20:46:22 +02:00
Christian Muehlhaeuser
7053c50067 * Style fixes and removed spamy logging from TomahawkCache. 2013-06-05 20:27:10 +02:00
Uwe L. Korn
725486a4e4 Use peerName instead of peerAddress
* If connecting to a non-IP host, peerAddress is an empty string,
  peerName contains the DNS name
2013-06-05 18:56:59 +02:00
Christian Muehlhaeuser
6748d37a8b * The mutex isn't needed. 2013-06-05 09:34:41 +02:00
Christian Muehlhaeuser
a6be13b80c * Style fixes for NetworkActivityWidget. 2013-06-05 09:23:44 +02:00
Christian Muehlhaeuser
875d9f4d8f * Fixed building without breakpad. Thanks to Dinar Valeev. 2013-06-05 09:15:39 +02:00
Christian Muehlhaeuser
d6ae691edc * Style fixes for build system. 2013-06-05 09:15:07 +02:00
Christian Muehlhaeuser
e1a2b4baa0 * Style fixes for build system. 2013-06-05 03:56:23 +02:00
Tomahawk CI
fa0c502a44 Automatic merge of Transifex translations 2013-06-05 02:16:57 +02:00
Uwe L. Korn
18e1340de9 Do not delete connection if PeerInfo disappers during connect 2013-06-04 21:26:01 +02:00
Uwe L. Korn
8610c156eb Hide InfoBar and report isBeingPlayed status. 2013-06-04 21:25:37 +02:00
Uwe L. Korn
91fc20d0c8 NetworkActivity now features Charts 2013-06-04 20:39:58 +02:00
Uwe L. Korn
b1f8993e9c Add NetworkCharts Database Command 2013-06-04 20:39:58 +02:00
Uwe L. Korn
bd054438ad Add empty NetworkActivity page 2013-06-04 20:39:57 +02:00
Uwe L. Korn
6ab461a869 Add network-activity.svg to resources 2013-06-04 20:39:57 +02:00
Tomahawk CI
1188749e0a Automatic merge of Transifex translations 2013-06-04 02:16:42 +02:00
Uwe L. Korn
df9782822b Show DBID/nodeId in DiagnosticsDialog 2013-06-03 16:17:59 +02:00
Uwe L. Korn
bec4224048 Remove hack to avoid resetting firstMessage on parallel connection 2013-06-03 14:55:04 +02:00
Christian Muehlhaeuser
83d49a6324 * Improvements to item-delegates. 2013-06-03 05:41:49 +02:00
Christian Muehlhaeuser
56eba6d054 * Style fixes for FdoNotifyPlugin. 2013-06-03 03:30:01 +02:00
Christian Muehlhaeuser
0bb1dd6245 Merge pull request #190 from f1ori/autogenerate-dbus-mpris
autogenerate dbus adaptors for mpris
2013-06-02 18:22:24 -07:00
Tomahawk CI
943741fc27 Automatic merge of Transifex translations 2013-06-02 02:16:42 +02:00
Christian Muehlhaeuser
4947ebf53e Merge pull request #189 from f1ori/gnome-media-keys
listen to media key events of gnome settings daemon
2013-06-01 09:06:09 -07:00
Florian Richter
82432968e9 listen to media key events of gnome settings daemon
* add shortcuthandler, which listens to the media key event
  provided by the gnome settings daemon via dbus
  (https://github.com/GNOME/gnome-settings-daemon/blob/master/plugins/media-keys/README.media-keys-API)
* fixes TWK-983
2013-06-01 17:55:05 +02:00
Christian Muehlhaeuser
8f70227bf8 * Fixed liben comment. 2013-06-01 17:35:14 +02:00
Christian Muehlhaeuser
9ddfc665af Merge pull request #192 from krf/work
Fix some compiler/runtime warnings
2013-06-01 08:34:46 -07:00
Teo Mrnjavac
dee68de58a Bump Echonest version. 2013-06-01 13:14:38 +02:00
Tomahawk CI
9832f50b27 Automatic merge of Transifex translations 2013-06-01 02:16:46 +02:00
Kevin Funk
b6de19522a Fix some compiler/runtime warnings 2013-06-01 00:03:00 +02:00
Uwe L. Korn
44e0c538f7 Merge pull request #191 from tomahawk-player/upower-integration
Add support for UPower
2013-05-31 13:07:17 -07:00
Uwe L. Korn
bb450be0e7 Delay resuming as we will most likely fail connecting directly 2013-05-31 22:06:35 +02:00
Uwe L. Korn
ca6653b7e0 Add support for UPower 2013-05-31 19:07:33 +02:00
Florian Richter
15f6ea8543 use autogenerated dbus interface for fdonotify 2013-05-31 17:51:44 +02:00
Jason Herskowitz
a63d94850b Add Network Activity icon for sidebar 2013-05-31 10:05:57 -04:00
Uwe L. Korn
0e3eb7ee46 Fix time in spelling 2013-05-31 16:57:42 +03:00
Uwe L. Korn
2db81074a8 Add SIP improvements to ChangeLog 2013-05-31 15:56:16 +02:00
Florian Richter
a8980f7c32 autogenerate dbus adaptors for mpris 2013-05-31 15:39:14 +02:00
Tomahawk CI
d9028da6ae Automatic merge of Transifex translations 2013-05-31 02:16:45 +02:00
Jeff Mitchell
42880a3c97 Add hatchet plugin to master 2013-05-30 15:29:04 -04:00
Christian Muehlhaeuser
7ba846aad3 * Try simpler OverlayWidget layout. 2013-05-30 04:24:29 +02:00
Christian Muehlhaeuser
5afed57070 * Fixed AnimatedSpinner flickering when resizing window. 2013-05-30 04:24:29 +02:00
Christian Muehlhaeuser
67e30668dd * Disable / enable alternate row colors when required. 2013-05-30 04:24:29 +02:00
Tomahawk CI
ba44bf1030 Automatic merge of Transifex translations 2013-05-30 02:17:11 +02:00
Teo Mrnjavac
bcd1069d92 Only show the mark as listened action if unlistened tracks are selected. 2013-05-29 19:05:31 +02:00
Christian Muehlhaeuser
8ebd3d67e8 * x.y.999 is invalid on OSX. 2013-05-29 15:55:47 +02:00
Teo Mrnjavac
63bd256bc4 Replaced GenericSelect with a proper dbcmd.
Consequences:
* we avoid the use of QObject properties, which are not thread safe
* we get social actions right away, without having to wait for
  every track's loadSocialActions to finish
2013-05-29 15:34:37 +02:00
Uwe L. Korn
90ba7eae5b Merge pull request #184 from tomahawk-player/feature/sip-multiple-ip-addresses
Let SIP handle multiple IP Addresses per client
2013-05-29 05:06:19 -07:00
Teo Mrnjavac
f9b82b6815 Remove debug spam. 2013-05-29 10:59:28 +02:00
Tomahawk CI
991c206d1e Automatic merge of Transifex translations 2013-05-29 02:16:54 +02:00
Uwe L. Korn
40b86dfa99 Make private things private 2013-05-29 00:27:21 +02:00
Uwe L. Korn
8078727771 Copy-Constructor is automatically called 2013-05-29 00:27:09 +02:00
Uwe L. Korn
9bbc3c2d8c Bump Version to 0.7.999 2013-05-29 00:26:51 +02:00
Uwe L. Korn
13775e9366 Remove usage of QSharedPointer around SipInfo 2013-05-29 00:26:17 +02:00
Uwe L. Korn
1ad80185a5 We are handling a set, so we need no duplicate detection. 2013-05-29 00:10:05 +02:00
Teo Mrnjavac
ed575aa033 Add "Mark as Listened" to Inbox. 2013-05-28 17:57:02 +02:00
Uwe L. Korn
d171ab4f69 Fix compilation 2013-05-28 15:19:19 +02:00
Uwe L. Korn
839f1b720e Even more race precautions
* It did not break yet, but I could not sleep without this commit.
2013-05-28 14:55:45 +02:00
Tomahawk CI
a81d13a91f Automatic merge of Transifex translations 2013-05-28 02:16:50 +02:00
Teo Mrnjavac
3ba9ee9779 Send tracks via context menu. 2013-05-27 21:35:40 +02:00
Uwe L. Korn
6189326430 Lock setControlConnection to prevent races 2013-05-27 20:27:33 +02:00
Teo Mrnjavac
f66f3b94af Make tracks sending more discoverable. 2013-05-27 17:54:21 +02:00
Uwe L. Korn
c4ab018ae6 Detect duplicate ControlConnections 2013-05-27 16:30:00 +02:00
Uwe L. Korn
097a377500 Remove trailing semicolons 2013-05-27 16:30:00 +02:00
Uwe L. Korn
0c7ebd8e88 Credits to me 2013-05-27 16:30:00 +02:00
Uwe L. Korn
332b701c56 Change ContolContection* to QPointer 2013-05-27 16:30:00 +02:00
Uwe L. Korn
f076ab9988 Set interval to timeout 2013-05-27 16:30:00 +02:00
Uwe L. Korn
fab81d7958 readyRead is not used as a Slot/Signal 2013-05-27 16:30:00 +02:00
Uwe L. Korn
39e630876e Wait for versionString in Xmpp until telling Servent SipInfos 2013-05-27 16:30:00 +02:00
Uwe L. Korn
9b7dd0110b Weaken references to PeerInfos 2013-05-27 16:30:00 +02:00
Uwe L. Korn
35c32575c1 Introduce ConnectionManager for outgoing connections 2013-05-27 16:30:00 +02:00
Uwe L. Korn
e16028f164 Make less usage of QHostAddress when dealing with DNS records. 2013-05-27 16:30:00 +02:00
Uwe L. Korn
3823bce04e Connection should be able to shutdown even if the socket already disappeared 2013-05-27 16:30:00 +02:00
Uwe L. Korn
e55b83914e Do not delete the Connection in Socket cleanup, we take care of this at another stage. 2013-05-27 16:30:00 +02:00
Uwe L. Korn
dfc5eab62d More logging to find error causes 2013-05-27 16:30:00 +02:00
Uwe L. Korn
21c027d8b1 For old clients, just connect if the magic sort says we should. 2013-05-27 16:30:00 +02:00
Uwe L. Korn
89950c54f5 Sent old tomahawk versions SipInfos like before. 2013-05-27 16:30:00 +02:00
Uwe L. Korn
16d30a1072 Only destroy existing ControlConnection if it does not run anymore 2013-05-27 16:29:59 +02:00
Uwe L. Korn
527fb86608 Make more use of peerInfoDebug 2013-05-27 16:29:59 +02:00
Uwe L. Korn
0a01cd7b2e Split up log messages to know the real cause 2013-05-27 16:29:59 +02:00
Uwe L. Korn
c7f356a62d Lazily create ControlConnection for offers 2013-05-27 16:29:59 +02:00
Uwe L. Korn
08cd6cf6a9 Add const to arguments in getLocalSipInfos 2013-05-27 16:29:59 +02:00
Uwe L. Korn
11b4e1f743 Refactor the creation of local SipInfos into its own method 2013-05-27 16:29:38 +02:00
Uwe L. Korn
89dd9a466d Add more verbose logging 2013-05-27 16:29:38 +02:00
Uwe L. Korn
cf7bd1a9ae Remove assert and fix logging 2013-05-27 16:29:38 +02:00
Uwe L. Korn
7799750a01 Add more logging to connection handling 2013-05-27 16:29:37 +02:00
Uwe L. Korn
fb1d86872d Add a bit of logging to XmppMessage serialzation 2013-05-27 16:29:37 +02:00
Uwe L. Korn
d71a237533 Handle disconnects during connection attempts (i.e. vanishing connection objects) 2013-05-27 16:29:37 +02:00
Uwe L. Korn
03cdb474c1 Sent non-IP hostname as a last hostname too (these are the user-supplied ones) 2013-05-27 16:29:37 +02:00
Uwe L. Korn
374e05c5ca Add ASSERTs again 2013-05-27 16:29:37 +02:00
Uwe L. Korn
2839a000bd Use nodeId instead of id 2013-05-27 16:29:37 +02:00
Uwe L. Korn
d7eea2cc8e Some more style changes 2013-05-27 16:29:37 +02:00
Uwe L. Korn
152609e68d Rename sipInfo to sipInfos at various places 2013-05-27 16:29:37 +02:00
Uwe L. Korn
175c765253 Clear up (Control)Connections if connecting failed. 2013-05-27 16:29:37 +02:00
Uwe L. Korn
724fff1b58 Do nothing in handleSipInfo if we have not received valid SipInfo 2013-05-27 16:29:37 +02:00
Uwe L. Korn
20d3f1ad72 Change comment style to gobal default 2013-05-27 16:29:37 +02:00
Uwe L. Korn
5ea9bbe604 Always try next SipInfo 2013-05-27 16:29:37 +02:00
Uwe L. Korn
70ac653985 Fix multiple ip connection mechanism 2013-05-27 16:29:37 +02:00
Uwe L. Korn
9b7730cd26 Correctly ignore IPv4-as-IPv6 localhost 2013-05-27 16:29:37 +02:00
Uwe L. Korn
8a6cd62c59 Do not try link-local addresses. 2013-05-27 16:29:37 +02:00
Uwe L. Korn
18eda1d3a8 Ignore IPv4 localhost even if written as IPv6 address 2013-05-27 16:29:37 +02:00
Uwe L. Korn
2bc6f05744 Add missing writeEndElement 2013-05-27 16:29:37 +02:00
Uwe L. Korn
0a7e108346 Rename sipInfoList to sipInfo 2013-05-27 16:29:37 +02:00
Uwe L. Korn
612fd27564 Better way to get the id of a peer 2013-05-27 16:29:37 +02:00
Uwe L. Korn
c8384ec757 Get back accidently deleted registerOffer 2013-05-27 16:29:36 +02:00
Uwe L. Korn
14af3aedd6 Ignore Zeroconf messages sent by ourselves 2013-05-27 16:29:36 +02:00
Uwe L. Korn
248a87ccce Create SipInfo with the correct information. 2013-05-27 16:29:36 +02:00
Uwe L. Korn
f226d9a7da Always return SipInfo, even if not visible 2013-05-27 16:29:36 +02:00
Uwe L. Korn
f87f1dbaa0 Remove asserts in getters as this makes debugging harder 2013-05-27 16:29:36 +02:00
Uwe L. Korn
3e8e815b37 Support multiple SipInfos per peer 2013-05-27 16:29:36 +02:00
Uwe L. Korn
4bbc171575 Change option description to reflect new functionality 2013-05-27 16:29:36 +02:00
Uwe L. Korn
13f2430d36 Servent should listen to IPv6 too 2013-05-27 16:29:36 +02:00
Christian Muehlhaeuser
18a2184e57 Revert "Add missing emit ready()"
This reverts commit cc336e9d45.
2013-05-27 12:10:09 +02:00
Christian Muehlhaeuser
b6549b310d Revert "* Some fixes to InfoSystem and loading."
This reverts commit 8460d8f522.
2013-05-27 12:09:55 +02:00
Dominik Schmidt
cc336e9d45 Add missing emit ready() 2013-05-27 11:07:57 +02:00
Christian Muehlhaeuser
8460d8f522 * Some fixes to InfoSystem and loading. 2013-05-27 11:07:46 +02:00
Tomahawk CI
c450ae63fa Automatic merge of Transifex translations 2013-05-27 02:16:44 +02:00
Uwe L. Korn
157880a752 Display friend's avatars on Dashboard even when they are offline
* Fixes TWK-398
2013-05-26 13:45:11 +02:00
Tomahawk CI
5d8b3647a2 Automatic merge of Transifex translations 2013-05-26 02:16:52 +02:00
Uwe L. Korn
62b25991b6 Add desktop notifications for received tracks 2013-05-25 23:14:15 +02:00
Dominik Schmidt
30f82b7d2a Revert "listen to media key events of gnome settings daemon"
This reverts commit 966ab37b94.
2013-05-25 20:09:08 +02:00
Uwe L. Korn
f733b6126f Add the possibility for JSResolvers to specify that a given URL is checked/valid. 2013-05-25 19:49:30 +02:00
Uwe L. Korn
c03c8b8223 Merge pull request #188 from f1ori/master
listen to media key events provided by gnome settings daemon
2013-05-25 08:58:16 -07:00
Florian Richter
966ab37b94 listen to media key events of gnome settings daemon
* add shortcuthandler, which listens to the media key event
  provided by the gnome settings daemon via dbus
  (https://github.com/GNOME/gnome-settings-daemon/blob/master/plugins/media-keys/README.media-keys-API)
2013-05-25 17:51:02 +02:00
Dominik Schmidt
606bc1c51e Forgotten files are forgotten 2013-05-25 15:02:08 +02:00
Dominik Schmidt
23513f2510 Pimple AudioEngine 2013-05-25 15:00:40 +02:00
Teo Mrnjavac
2e6f5c07c1 Useless entry is useless. 2013-05-25 13:46:24 +02:00
Tomahawk CI
3b2ea31ea9 Automatic merge of Transifex translations 2013-05-25 02:16:58 +02:00
Teo Mrnjavac
cab5965605 Avoid crash when propagating dbcmd_ShareTrack. 2013-05-24 18:30:01 +02:00
Jeff Mitchell
bd197f40de Fix spelling 2013-05-24 16:45:51 +02:00
Jeff Mitchell
98bebc4d9e Use removeOne, not removeAll, as there won't be more than one 2013-05-24 16:45:00 +02:00
Teo Mrnjavac
5575eb9e8e Fix loading of playlist updaters. 2013-05-24 16:26:48 +02:00
Uwe L. Korn
89088dd32d Use QKeySequence::Find to focus the search widget 2013-05-24 15:35:57 +02:00
Dominik Schmidt
54101c9177 Move src/breakdpad/CrashReporter to src/crashreporter 2013-05-24 11:49:39 +02:00
Dominik Schmidt
849bb7e773 Build all subdirs of src/ automatically 2013-05-24 11:48:46 +02:00
Dominik Schmidt
a0738ccd76 Adjust cmake to build again and fix include errors
These are partly hacks - I split the commit for referencing the hacks
afterwards
2013-05-24 11:36:12 +02:00
Dominik Schmidt
4a443bfb9f Move application target from src/ to src/tomahawk/ 2013-05-24 11:36:12 +02:00
Tomahawk CI
e11908ff91 Automatic merge of Transifex translations 2013-05-24 02:16:53 +02:00
Teo Mrnjavac
9621943fd7 Try to fix startup issue. 2013-05-23 22:23:19 +02:00
Teo Mrnjavac
25aaa9d485 Make AccountModel loading asynchronous.
AccountManager starts up in 3 steps, first waiting for credentials and
then for Servent to be ready. During this time an AccountModel could be
instantiated in the GUI thread, which needs AccountManager, and if the
latter is not ready at that time, the former cannot be populated with
sane data.
This commit splits the AccountModel ctor so that it waits for
AccountManager to be ready before hooking up to its signals and
performing the initial model reset.
2013-05-23 17:49:53 +02:00
Teo Mrnjavac
7f91aefb3a Debug spam++ 2013-05-23 15:22:14 +02:00
Teo Mrnjavac
2cc476332b Use outbox icon when sending tracks. 2013-05-23 15:15:34 +02:00
Teo Mrnjavac
0295ce5c38 Notify sender of track that an inbox entry has been sent. 2013-05-23 15:02:40 +02:00
Jason Herskowitz
2bab13789a Add outbox SVG 2013-05-23 07:14:24 -04:00
Dominik Schmidt
25a5a4b25d Link privately against qtkeychain 2013-05-23 12:58:58 +02:00
Teo Mrnjavac
68aa51b6d5 Rename QtScriptResolver to JSResolver because JS != QtScript. 2013-05-23 10:23:23 +02:00
Teo Mrnjavac
2ec10fc80f Enable AccountModel debug spam. 2013-05-23 07:33:58 +02:00
Teo Mrnjavac
26399d3603 Fix issue with not all accountIds being carried over to loading phase. 2013-05-23 07:18:10 +02:00
Teo Mrnjavac
315b41d1e9 *** Restore v14 config file before running to avoid losing accounts ***
Change QtKeychain's user-visible service name to "Tomahawk".
2013-05-23 07:18:09 +02:00
Tomahawk CI
06ca60dfca Automatic merge of Transifex translations 2013-05-23 02:16:47 +02:00
Dominik Schmidt
3225a97f9f Add libqtkeychain.dll to windows installer 2013-05-22 20:37:48 +02:00
Dominik Schmidt
4b2765682e Fix config file for build tree usage 2013-05-22 20:24:38 +02:00
Teo Mrnjavac
818d44f2d0 Enable config upgrade path. 2013-05-22 20:15:02 +02:00
Teo Mrnjavac
c86edcd31a Also write credentials to QtKeychain through CredentialsManager. 2013-05-22 20:15:01 +02:00
Teo Mrnjavac
29c8e6ed97 Load Account credentials from CredentialsManager. 2013-05-22 20:15:01 +02:00
Teo Mrnjavac
75f99dca4f Wait for both Servent and AccountManager to be ready for initSIP. 2013-05-22 20:15:01 +02:00
Teo Mrnjavac
f47d8ddf74 Added CredentialsManager as a QtKeychain credentials cache. 2013-05-22 20:15:01 +02:00
Teo Mrnjavac
7e947cc135 Upgrade config. 2013-05-22 20:15:01 +02:00
Teo Mrnjavac
a28ffdaa8f Build with QtKeychain. 2013-05-22 20:15:01 +02:00
Dominik Schmidt
fa2e52c810 hack until Qt5: Make external modules/projects automatically act as gui modules/projects 2013-05-22 16:58:10 +02:00
Dominik Schmidt
4f19f85bde Remove TomahawkVersion.h and QtCrypto includes from public QtScriptResolver header 2013-05-22 16:58:10 +02:00
Tomahawk CI
2d9519163c Automatic merge of Transifex translations 2013-05-22 02:16:40 +02:00
Christian Muehlhaeuser
2351e87333 * Try to work-around translated error messages. Loathing. 2013-05-21 15:10:44 +02:00
Christian Muehlhaeuser
25a210a528 * Show QSqlError's number() when a query fails. 2013-05-21 14:56:29 +02:00
Christian Muehlhaeuser
7b6c183bf7 * Need to actually load controls. 2013-05-20 20:05:56 +02:00
Christian Muehlhaeuser
9a18f6c607 * DbCmd_SetDynamicPlaylistRevision should check if its parent's exec() succeeded. 2013-05-20 13:43:15 +02:00
Christian Muehlhaeuser
6f25e618b5 * Don't retry on empty SQL error. 2013-05-20 13:43:15 +02:00
Tomahawk CI
0fa3b5c1b1 Automatic merge of Transifex translations 2013-05-20 02:16:48 +02:00
Hugo Lindström
ec8f4a99a4 Sort by rank if possible 2013-05-19 12:35:10 +02:00
Hugo Lindström
64e8e814a9 Bump charts and newreleases version 2013-05-19 12:05:51 +02:00
Michael Zanetti
541ad42b86 some more work on start by year 2013-05-19 04:40:17 +02:00
Michael Zanetti
3f25010cd9 add animation to FlexibleHeader 2013-05-19 04:40:16 +02:00
Christian Muehlhaeuser
e7259f619e * Behave, Qt4. 2013-05-19 02:38:44 +02:00
Michael Zanetti
abd2957e0e create station wizard: workaround slow fist scrolling of the ListView 2013-05-19 02:36:11 +02:00
Michael Zanetti
e468ad2687 some more work on stations merged 2013-05-19 00:40:12 +02:00
Christian Muehlhaeuser
7ad06f5ee2 * Disable 'Create new station' item. 2013-05-19 00:32:31 +02:00
Christian Muehlhaeuser
6cd680c388 * Added itemFromIndex to PlayableModel. 2013-05-19 00:31:40 +02:00
Christian Muehlhaeuser
3490975de5 * Fixed PlayableItem & added properties. 2013-05-19 00:31:15 +02:00
Christian Muehlhaeuser
aaebfe39c5 * Bring back Radio sidebar item. 2013-05-18 23:55:30 +02:00
Christian Muehlhaeuser
a52998d766 * Use DynamicQmlWidget for stations. 2013-05-18 22:56:51 +02:00
Christian Muehlhaeuser
74ec938037 * Stations shouldn't depend on widgets / controls. 2013-05-18 22:56:28 +02:00
Christian Muehlhaeuser
7a1ef2eba7 * Added model specific roles and updated data methods. 2013-05-18 22:55:09 +02:00
Christian Muehlhaeuser
f42a5f461c * Added coverID() related methods to Artist, Album, Track. 2013-05-18 22:54:42 +02:00
Christian Muehlhaeuser
2704f1261d * Imported QML specific widgets / views / providers. 2013-05-18 22:53:56 +02:00
Christian Muehlhaeuser
91b562a98e * Imported QML resources. 2013-05-18 22:53:18 +02:00
Tomahawk CI
09c272a07c Automatic merge of Transifex translations 2013-05-17 02:16:44 +02:00
Teo Mrnjavac
d08515746e Remove obsolete SocialAction deduplication code. 2013-05-16 17:19:04 +02:00
Teo Mrnjavac
f434b1937f Moved Inbox social action updating to Track. 2013-05-16 16:36:49 +02:00
Teo Mrnjavac
bdce14b02e Add missing copyright statement. 2013-05-16 16:36:49 +02:00
Teo Mrnjavac
86cfc9b719 UnLogPlaybackify AudioEngine. 2013-05-16 16:36:49 +02:00
Christian Muehlhaeuser
83cbd4ec02 * Track can use TrackData's cached sort-names. 2013-05-16 12:55:32 +02:00
Christian Muehlhaeuser
cbb5ac2f2b * TrackData's cache keys need to use the proper DbImpl's sort-names. 2013-05-16 12:54:54 +02:00
Christian Muehlhaeuser
a39a023f22 * Style fixes. 2013-05-16 11:58:13 +02:00
Christian Muehlhaeuser
cce4cfbe4b * XspfUpdater must not try to update a playlist before it was loaded. 2013-05-16 11:58:12 +02:00
Christian Muehlhaeuser
d1ed3dd48d * FIXME: MetadataEditor can't update the Track object currently. It's shared. Fix upcoming. 2013-05-16 11:58:12 +02:00
Christian Muehlhaeuser
e33150f6ca * SourceItem can call the new Track::share( source ) method. 2013-05-16 11:58:12 +02:00
Christian Muehlhaeuser
5b267b0d78 * FIXME: (Qt)ScriptResolver currently can't manually set a year. Fix upcoming. 2013-05-16 11:58:12 +02:00
Christian Muehlhaeuser
93da4fa36e * InboxModel doesn't need to merge / set track attributes anymore. 2013-05-16 11:58:12 +02:00
Christian Muehlhaeuser
daa8a2c6ef * DbCmd_ShareTrack operates on a track(-id) basis. 2013-05-16 11:58:12 +02:00
Christian Muehlhaeuser
9ef160826a * Removed obsolete include. 2013-05-16 11:58:12 +02:00
Christian Muehlhaeuser
f280d28a12 * TrackData stores a track's data & attributes. It gets cached and proxied by (potentially) multiple Track objects. 2013-05-16 11:58:12 +02:00
Christian Muehlhaeuser
84c219105e * Track is now proxying a TrackData object (which is cached and only loaded once per track-id). 2013-05-16 11:58:12 +02:00
Christian Muehlhaeuser
1e1bdb29d4 * No need to manually load attributes. 2013-05-16 11:58:12 +02:00
Christian Muehlhaeuser
611f887882 * The year-property is now part of the track object. 2013-05-16 11:58:11 +02:00
Christian Muehlhaeuser
68a8503d93 * PlayableItem needs to hook up to the proxied signals. 2013-05-16 11:58:11 +02:00
Christian Muehlhaeuser
262ee037a2 * InboxJobItem only needs to deal with a TrackData object. 2013-05-16 11:58:11 +02:00
Christian Muehlhaeuser
8e76ffcc5d * IdThreadWorker supports loading track IDs. 2013-05-16 11:58:11 +02:00
Christian Muehlhaeuser
fcedb57178 * New Track API supports loving without posting to the InfoSystem. 2013-05-16 11:58:11 +02:00
Christian Muehlhaeuser
37216c9bbc * DRY: No need to manually load track attributes. 2013-05-16 11:58:11 +02:00
Christian Muehlhaeuser
9c63bc799d * These DbCmds only want TrackData objects to deal with. 2013-05-16 11:58:11 +02:00
Christian Muehlhaeuser
5acf94d9cd * Result shouldn't handle track attributes. 2013-05-16 11:58:11 +02:00
Christian Muehlhaeuser
216d440206 * Playlist's aboutToBeDeleted is a signal. 2013-05-16 11:58:11 +02:00
Christian Muehlhaeuser
dfcdc09cee * Added DbCmd_LoadTrackAttributes. 2013-05-16 11:58:11 +02:00
Christian Muehlhaeuser
06a46daa0b * Added TrackData typedefs. 2013-05-16 11:58:11 +02:00
Christian Muehlhaeuser
176056f97d * Added TrackData and DbCmd_LoadTrackAttributes. 2013-05-16 11:58:10 +02:00
Christian Muehlhaeuser
d554dbc6fd * Artist id must be >0 when initializing it with pre-loaded data. 2013-05-16 11:58:10 +02:00
Christian Muehlhaeuser
d6462dc002 * Album's id needs to be initialized. 2013-05-16 11:58:10 +02:00
Tomahawk CI
db5c7249b6 Automatic merge of Transifex translations 2013-05-16 02:16:48 +02:00
Christian Muehlhaeuser
4b6064873f * Empty album names are valid, but not indexable. 2013-05-15 14:57:56 +02:00
Christian Muehlhaeuser
1c48491f41 * Probably fixes Teo's indexing assert. 2013-05-15 14:57:56 +02:00
Tomahawk CI
624b369153 Automatic merge of Transifex translations 2013-05-15 02:17:18 +02:00
Christian Muehlhaeuser
d3841baf40 * Clean up SourceDelegate::paint methods. 2013-05-14 13:30:25 +02:00
Christian Muehlhaeuser
5ddd730c4c * Hopefully improved sidebar delegate. 2013-05-14 11:50:09 +02:00
Teo Mrnjavac
85236c5c62 Avoid crash in SuperCollection. 2013-05-10 10:02:35 +02:00
Christian Muehlhaeuser
b7abc9d0f0 * Disable asserts for unknown playlists until PlaylistUpdaters are only loaded on demand. 2013-05-09 13:31:10 +02:00
Dominik Schmidt
836bf17719 Don't install tomahawk_portfwd anymore 2013-05-08 17:31:49 +02:00
Dominik Schmidt
bd1caf276b Don't try to package libportfwd on windows anymore 2013-05-08 16:52:49 +02:00
Dominik Schmidt
fd3a6ad0ef Rename libtomahawklib.* files to libtomahawk.*
Needed lots of fixes for exporting on windows because otherwise a
libtomahawk.dll.a was created for tomahawk.exe which conflicted with the
libtomahawk.dll.a that is created for libtomahawk.dll
2013-05-08 16:31:22 +02:00
Tomahawk CI
32a03baaf3 Automatic merge of Transifex translations 2013-05-08 02:16:53 +02:00
Dominik Schmidt
f2d7e27033 warnings-- 2013-05-07 09:59:54 +02:00
Dominik Schmidt
a1a257d352 warnings-- 2013-05-07 08:56:05 +02:00
Christian Muehlhaeuser
2bb384db91 * Use QPixmapCache for scaled covers to reduce memory footprint. 2013-05-07 06:50:39 +02:00
Christian Muehlhaeuser
2ba9318faf * Updated ChangeLog. 2013-05-07 04:32:32 +02:00
Christian Muehlhaeuser
a79eb6e560 * Use utf8 in TLog. 2013-05-07 04:24:36 +02:00
Christian Muehlhaeuser
64cf40ce8f * Worked around Lucene memory leak and improved our own memory foot-print during indexing. 2013-05-07 04:24:36 +02:00
Tomahawk CI
c04fde0727 Automatic merge of Transifex translations 2013-05-07 02:16:44 +02:00
Christian Muehlhaeuser
25987e0ee8 Merge pull request #186 from agateau/tests-build-fix
Add qjson include dir
2013-05-06 01:06:58 -07:00
Aurélien Gâteau
6a909ef4c0 Add qjson include dir 2013-05-06 10:02:41 +02:00
Christian Muehlhaeuser
9bc8dbb792 * Show date in logfile and time in console output. 2013-05-06 06:00:31 +02:00
Christian Muehlhaeuser
039f87d8ef * Updated README.md. 2013-05-05 04:59:39 +02:00
Tomahawk CI
edf670de41 Automatic merge of Transifex translations 2013-05-05 02:16:47 +02:00
Christian Muehlhaeuser
f9c88532bd * Show message when shutting down a secondary instance. 2013-05-04 20:07:58 +02:00
Christian Muehlhaeuser
4a44a979d4 * Updated ChangeLog. 2013-05-04 13:12:21 +02:00
Christian Muehlhaeuser
79e6d9ec27 * Intercept and handle SSL errors for JS resolvers. 2013-05-04 13:01:16 +02:00
Christian Muehlhaeuser
7e0213bc38 * Added settings methods to handle / trust ssl certs. 2013-05-04 13:00:14 +02:00
Christian Muehlhaeuser
5c6b100de7 * Added (very) basic Query & Result unit tests. 2013-05-04 06:40:07 +02:00
Christian Muehlhaeuser
2558905891 * Style fixes. 2013-05-04 06:09:41 +02:00
Teo Mrnjavac
b1b4bbec97 Update ChangeLog. 2013-05-02 15:01:21 +02:00
Tomahawk CI
8525b6462b Automatic merge of Transifex translations 2013-05-02 02:16:39 +02:00
Teo Mrnjavac
ca3b6411ec There's no need for this connection to be Queued any more.
This fixes Listening along for some users.
2013-05-01 20:55:19 +02:00
Teo Mrnjavac
1098294b03 Fix gradient in InfoBar. 2013-04-30 14:10:34 +02:00
Tomahawk CI
e5fcd077eb Automatic merge of Transifex translations 2013-04-30 02:16:39 +02:00
Christian Muehlhaeuser
6b27e2ad4e * Unbreak SlideSwitchButton. 2013-04-29 19:24:04 +02:00
Christian Muehlhaeuser
f99cfb8e66 * Moved color consts into TomahawkStyle. 2013-04-29 19:22:00 +02:00
Christian Muehlhaeuser
e6c2498fc6 * No need to have const values being returned from methods. 2013-04-29 18:27:54 +02:00
Christian Muehlhaeuser
4a221a79a4 * StyleHelper doesn't exist anymore. 2013-04-29 18:15:12 +02:00
Christian Muehlhaeuser
55fd82bfd4 * Added FIXMEs. 2013-04-29 18:14:16 +02:00
Christian Muehlhaeuser
95e84be319 * Merged StyleHelper into TomahawkStyle. 2013-04-29 18:13:17 +02:00
Christian Muehlhaeuser
082cedda17 * Use new TomahawkStyle namespace throughout Tomahawk. 2013-04-29 17:48:37 +02:00
Christian Muehlhaeuser
7276b805d5 * Moved POPUP consts into TomahawkStyle namespace. 2013-04-29 17:48:20 +02:00
Christian Muehlhaeuser
98724c3457 * Renamed TomahawkColors to TomahawkStyle. 2013-04-29 17:44:55 +02:00
Christian Muehlhaeuser
2537daa0b6 * Moved TomahawkUtils::Colors into TomahawkColors and a separate file. 2013-04-29 17:39:25 +02:00
Christian Muehlhaeuser
d326290fd7 * Make Pipeline less verbose. 2013-04-29 16:17:31 +02:00
Christian Muehlhaeuser
e02229e232 * No need to store score as a variable. 2013-04-29 05:30:37 +02:00
Christian Muehlhaeuser
619a2df812 * Check for null results / tracks being created. 2013-04-29 05:30:37 +02:00
Christian Muehlhaeuser
9b53dc5c4e * Return null result when trying to create one without a url. 2013-04-29 05:30:37 +02:00
Christian Muehlhaeuser
ee2a71a09f * Assert when trying to create a track without artist or track name. 2013-04-29 05:30:37 +02:00
Tomahawk CI
8e3de08d87 Automatic merge of Transifex translations 2013-04-29 02:28:14 +02:00
Christian Muehlhaeuser
fea0b9e9f2 * Updated ChangeLog. 2013-04-29 02:03:36 +02:00
Christian Muehlhaeuser
d42d3ac326 * Fixed displaying filename in properties dialog. 2013-04-29 01:47:22 +02:00
Christian Muehlhaeuser
8a8a25a351 * Fixed TWK-1292: Issues playing fils with '#' in the filename. 2013-04-29 01:37:11 +02:00
Tomahawk CI
4079ec0739 Automatic merge of Transifex translations 2013-04-28 02:16:51 +02:00
Christian Muehlhaeuser
3b481590b1 * Updated ChangeLog for 0.7. 2013-04-27 04:49:49 +02:00
Christian Muehlhaeuser
dc542f3fde * Updated ChangeLog. 2013-04-27 04:49:42 +02:00
Christian Muehlhaeuser
320ff82047 * Updated ChangeLog. 2013-04-27 04:49:19 +02:00
Christian Muehlhaeuser
049b6ef8a5 * Make use of new Playlist::get() API. 2013-04-27 04:49:19 +02:00
Christian Muehlhaeuser
499ba45c73 * Playlist::get now finds any kind of playlist_ptr with that guid. 2013-04-27 04:49:18 +02:00
Christian Muehlhaeuser
96de8e2969 * Added new translations. 2013-04-27 04:49:18 +02:00
Tomahawk CI
279e044c64 Automatic merge of Transifex translations 2013-04-27 02:17:17 +02:00
Christian Muehlhaeuser
fa64e12a55 * Assert when diverging and source is not local. 2013-04-27 01:25:38 +02:00
Christian Muehlhaeuser
511c1aef70 * Style fixes. 2013-04-27 01:20:45 +02:00
Christian Muehlhaeuser
f4d3afbfd7 * Made DbCmd_DeleteDynamicPlaylist more robust. 2013-04-27 01:20:45 +02:00
Christian Muehlhaeuser
661d43c10d * Make DbCmd_SetPlaylistRevision more robust and verbose. 2013-04-27 01:20:45 +02:00
Christian Muehlhaeuser
4ed267d477 * Adapted playlist users to use new API. 2013-04-27 01:20:45 +02:00
Christian Muehlhaeuser
d8c5c74258 * Always base playlist changes on currently loaded revision. 2013-04-27 01:20:45 +02:00
Teo Mrnjavac
5923a754dd How about no.
(Reverts inbox entry colors from palette)
2013-04-26 17:39:25 +02:00
Teo Mrnjavac
d5e7ee7716 How about using link color from palette? 2013-04-26 17:27:40 +02:00
Christian Muehlhaeuser
d5bde429c1 * Renamed WebResultHintChecker to ResultUrlChecker. 2013-04-26 14:12:45 +02:00
Christian Muehlhaeuser
cd5d1eefd1 * Turn down verbosity a notch. 2013-04-26 14:01:48 +02:00
Christian Muehlhaeuser
31f95e24cf * Use new Playlist::get(). 2013-04-26 14:00:05 +02:00
Christian Muehlhaeuser
f4a3db0c37 * Renamed (Dynamic)Playlist::load() to ::get(). 2013-04-26 13:57:36 +02:00
Christian Muehlhaeuser
83d5b56386 * Try to explain cli params better. 2013-04-26 13:16:04 +02:00
Christian Muehlhaeuser
69e19afbef * Style fixes. 2013-04-26 13:15:38 +02:00
Christian Muehlhaeuser
7bcf3e2e15 * Style fix. 2013-04-26 11:52:06 +02:00
Christian Muehlhaeuser
a027f4f0b2 * No need to manually check for source id being 0. 2013-04-26 11:46:41 +02:00
Christian Muehlhaeuser
4aa85bce34 * Pipeline now runs WebResultHintChecker to validate http urls before accepting them as playable results. 2013-04-26 10:51:03 +02:00
Christian Muehlhaeuser
32651b5a13 * To emulate QNetworkReply's behaviour, we need to emit finished() after an error occured. 2013-04-26 10:50:31 +02:00
Christian Muehlhaeuser
13ab38ae8f * New WebResultHintChecker API. Class will be renamed soon. 2013-04-26 10:50:24 +02:00
Christian Muehlhaeuser
5fe963fa50 * Don't launch WebResultHintChecker from PlaylistModel. 2013-04-26 10:44:59 +02:00
Christian Muehlhaeuser
cde8fe3c1f * Moved PlaylistEntry class into separate files. 2013-04-26 09:49:18 +02:00
Christian Muehlhaeuser
8d64785f0d * Use tDebug(). 2013-04-26 09:10:36 +02:00
Christian Muehlhaeuser
7b4c025b2a * Always sync the PlaylistEntry's result-hint to the database - never the Query's. 2013-04-26 09:10:23 +02:00
Christian Muehlhaeuser
5cdc8e40c6 * Only update playlist when a result-hint has been changed. 2013-04-26 09:09:49 +02:00
Christian Muehlhaeuser
9dbdffd0ef * Query::resolvingFinished should indicate whether there are any results, not whether the Query is solved. 2013-04-26 09:08:52 +02:00
Christian Muehlhaeuser
a0a906b891 * Can't initialize delegates with NULL parent or proxy. 2013-04-26 07:53:52 +02:00
Christian Muehlhaeuser
6b6b331fa8 * The delegates should take care of hooking up the updateIndex( QModelIndex ) signal to the view. 2013-04-26 07:51:50 +02:00
Christian Muehlhaeuser
2a45a53283 * If we don't set the style before we set the model, the cover methods won't be hooked up. 2013-04-26 07:45:12 +02:00
Christian Muehlhaeuser
bd7f7420a4 * If we set a new model it might already contain content, so we need to call onViewChanged to check if we need to load covers / metadata. 2013-04-26 07:43:37 +02:00
Christian Muehlhaeuser
8c06c3ab6a * Always initialize the style option, so we set the right selection state. 2013-04-26 07:17:26 +02:00
Teo Mrnjavac
8c4f6d7917 Avoid mysterious constants of doom in delegates. 2013-04-26 07:07:51 +02:00
Teo Mrnjavac
161e287877 Make blue dots in inbox smaller. 2013-04-26 07:01:22 +02:00
Christian Muehlhaeuser
59124fb270 * Show 'Searching...' / 'Not available' in detailed playlist view. 2013-04-26 06:59:32 +02:00
Christian Muehlhaeuser
208da545f4 * Style fix. 2013-04-26 06:38:58 +02:00
Christian Muehlhaeuser
859e2e4a7b * Save & restore queue across sessions. 2013-04-26 06:38:48 +02:00
Christian Muehlhaeuser
a074af2c22 * Added methods to save / load queue state. 2013-04-26 06:37:49 +02:00
Christian Muehlhaeuser
2b6081f4c7 * Fixed PlaylistItemDelegate swallowing mouse events, which prevented TrackView from triggering D&D operations. 2013-04-26 06:06:44 +02:00
Christian Muehlhaeuser
9a1ed86d62 * Fixed loading social actions in AudioControls. 2013-04-26 05:18:47 +02:00
Christian Muehlhaeuser
aef1dcec59 * Fixed cover loading in AudioControls. 2013-04-26 05:15:32 +02:00
Christian Muehlhaeuser
a39a981289 * Make SpotifyPlaylistUpdater check for playlists being loaded. 2013-04-26 05:06:24 +02:00
Christian Muehlhaeuser
d85490da57 * Bumped libechonest requirement to 2.0.3.
This reverts commit b2b1ff1cba.
2013-04-26 04:24:43 +02:00
Christian Muehlhaeuser
8b21d47667 * Style cleanups. 2013-04-26 03:15:20 +02:00
Christian Muehlhaeuser
3d974786d0 * Load playlists before showing them. 2013-04-26 03:15:20 +02:00
Christian Muehlhaeuser
e1ab051d75 * Don't load playlists on startup. 2013-04-26 03:15:19 +02:00
Christian Muehlhaeuser
f024fb5fc8 * PlaylistItems don't need to worry about playlists being loaded anymore. 2013-04-26 03:15:19 +02:00
Christian Muehlhaeuser
efb00795e5 * Call setLoaded() from DynamicPlaylist. 2013-04-26 03:15:19 +02:00
Christian Muehlhaeuser
3131390e51 * Added setLoaded( bool ) to Playlist, for derived classes to make use of. 2013-04-26 03:15:19 +02:00
Christian Muehlhaeuser
737b8e46ae * RecentPlaylistsModel needs to manually load playlists now. 2013-04-26 03:15:19 +02:00
Christian Muehlhaeuser
babc3cf0d3 * Only try to update playlist if it's loaded. 2013-04-26 03:15:19 +02:00
Christian Muehlhaeuser
01e3c3b5b3 * Playlist now queues addEntries/insertEntries calls if it's not loaded yet. 2013-04-26 03:15:19 +02:00
Tomahawk CI
729291c589 Automatic merge of Transifex translations 2013-04-26 02:16:41 +02:00
Teo Mrnjavac
6b5d30d936 Remove yellow tint. 2013-04-25 22:28:01 +02:00
Teo Mrnjavac
59e6c7b83d Added nice blue dot to new inbox entries. 2013-04-25 22:25:13 +02:00
Jason Herskowitz
f644ee25f1 New Inbox Item icon 2013-04-25 10:40:27 -04:00
Tomahawk CI
37cb8b3dfb Automatic merge of Transifex translations 2013-04-25 02:16:51 +02:00
Christian Muehlhaeuser
9459aa8d56 * Updated pngs. 2013-04-24 19:54:32 +02:00
Jason Herskowitz
079c4e16ea Give the logo SVG a cream filling 2013-04-24 13:21:20 -04:00
Jason Herskowitz
8add6b05a0 Try getting a shadow on SVG logo similar to PNG 2013-04-24 12:58:13 -04:00
Jason Herskowitz
384467a979 Make SVG Icon square 2013-04-24 12:46:46 -04:00
Jason Herskowitz
f97d1d4abe Fix Tomahawk icon SVG 2013-04-24 12:43:42 -04:00
Christian Muehlhaeuser
3edb583557 * Updated ChangeLog. 2013-04-24 17:30:21 +02:00
Christian Muehlhaeuser
06ede10d38 * Updated ChangeLog. 2013-04-24 17:29:34 +02:00
Christian Muehlhaeuser
f6b3600e69 * Mark temporary playlists as such. 2013-04-23 18:42:52 +02:00
Christian Muehlhaeuser
c52469ff1f * Added ViewManager::createPageForList( queries ). 2013-04-23 15:47:46 +02:00
Christian Muehlhaeuser
839197e902 * Don't crash when we couldn't retrieve the playlist. 2013-04-23 12:39:54 +02:00
Christian Muehlhaeuser
d9a82109f5 * RecentlyPlayedModel needs to use Source's new signal. 2013-04-23 12:39:53 +02:00
Christian Muehlhaeuser
ad314585b9 * PlayableModel::insertQuery now also accepts PlaybackLogs. 2013-04-23 12:39:53 +02:00
Christian Muehlhaeuser
4b673d0c97 * Played / PlaybackFinished signals now use our PlaybackLog struct. 2013-04-23 12:39:53 +02:00
Teo Mrnjavac
f7ad8cb799 Cache icon and text for Inbox item. 2013-04-23 10:08:26 +02:00
Teo Mrnjavac
024a1f74b3 Added unlistened count to Inbox item in sources view. 2013-04-23 03:41:58 +02:00
Teo Mrnjavac
f9edc04b04 Mark tracks as listened when they are played in the Inbox. 2013-04-23 03:41:58 +02:00
Teo Mrnjavac
866c8d4bec Draw new tracks in inbox differently. 2013-04-23 03:41:58 +02:00
Tomahawk CI
28dbf8bf55 Automatic merge of Transifex translations 2013-04-23 02:16:17 +02:00
Christian Muehlhaeuser
fe81ce73eb Merge pull request #185 from MStoykov/patch-1
fix .desktop file
2013-04-22 15:25:12 -07:00
Dominik Schmidt
ce95e6b761 Don't use interface as varname as MinGW doesn't like that 2013-04-22 15:47:39 +02:00
Christian Muehlhaeuser
b1a159a7cb * Only keep one temporary cover art image. 2013-04-22 11:27:32 +02:00
Christian Muehlhaeuser
f6b2e17792 * Fixed fulltext querying. 2013-04-22 10:51:07 +02:00
Christian Muehlhaeuser
75d02a982d * Fixed setting timestamp on locally started tracks. 2013-04-22 10:30:42 +02:00
Christian Muehlhaeuser
4737197987 * Don't be too verbose. 2013-04-22 09:44:25 +02:00
Christian Muehlhaeuser
d0207152b6 * Don't double-check playback-logs for remotes. 2013-04-22 09:39:17 +02:00
Christian Muehlhaeuser
334951e34c * Updated Inbox to use new API. 2013-04-22 09:39:17 +02:00
Christian Muehlhaeuser
3dab38eade * Allow to set PlaybackLogs when inserting items to PlayableModel. 2013-04-22 09:39:17 +02:00
Christian Muehlhaeuser
e905a4b617 * Use new DbCmd interfaces. 2013-04-22 09:39:17 +02:00
Christian Muehlhaeuser
0bde2a5521 * Now-Playing signals can use tracks instead. 2013-04-22 09:39:17 +02:00
Christian Muehlhaeuser
9be6dfaad5 * These DBCmds don't need or want to use queries. 2013-04-22 09:39:17 +02:00
Christian Muehlhaeuser
18f44f4e47 * Style fixes. 2013-04-22 09:35:38 +02:00
Christian Muehlhaeuser
2c79831ef8 * Register Track class. 2013-04-22 09:35:38 +02:00
Christian Muehlhaeuser
77fe7bc334 * Make use of new Track class / api. 2013-04-22 09:35:38 +02:00
Christian Muehlhaeuser
f0fdb47f4e * Only log dtors in verbose mode. 2013-04-22 09:35:38 +02:00
Christian Muehlhaeuser
e9fa70cc94 * Result uses a Track object internally. 2013-04-22 09:35:38 +02:00
Christian Muehlhaeuser
4f6a532f99 * Query class uses and exposes Track objects. 2013-04-22 09:35:37 +02:00
Christian Muehlhaeuser
2213613cff * Added Track class. 2013-04-22 09:35:37 +02:00
Tomahawk CI
715fb70abd Automatic merge of Transifex translations 2013-04-21 02:17:33 +02:00
Mihail Stoykov
cf1582b1c6 fix .desktop file
as per the specification:
" Multiple keys in the same group may not have the same name. Keys in different groups may have the same name. "
2013-04-20 14:23:35 +03:00
Teo Mrnjavac
0800aa6ac7 Show discreet JobStatusItem for incoming tracks. 2013-04-19 22:53:19 +02:00
Dominik Schmidt
14fb8a8533 Assert that no peers with empty contactId are announced, i.e. forcing account authors to set it 2013-04-18 19:03:52 +02:00
Dominik Schmidt
cf6d37041b Strip more stuff from vlc dir 2013-04-18 18:56:18 +02:00
Dominik Schmidt
d888bb6815 Install collection headers 2013-04-18 18:56:02 +02:00
Christian Muehlhaeuser
0b061de7a2 * Set a contact id when creating peerinfo for zeroconf in Servent. 2013-04-18 17:37:41 +02:00
Christian Muehlhaeuser
182d0ba8ae * Set a contact id on Zeroconf peers. 2013-04-18 17:12:13 +02:00
Christian Muehlhaeuser
1ec3a3bb70 * Don't try to re-load avatars. 2013-04-18 17:06:21 +02:00
Christian Muehlhaeuser
344130cf60 * Fix and saftey checks for avatar handling. 2013-04-18 16:39:39 +02:00
Christian Muehlhaeuser
6c19cf7bd1 * Fixed avatar caching going bonkers. 2013-04-18 16:22:28 +02:00
Tomahawk CI
1840902b26 Automatic merge of Transifex translations 2013-04-18 02:16:16 +02:00
Christian Muehlhaeuser
9830b20ca1 * Updated Album- & PlaylistChartItemDelegate. 2013-04-17 06:45:14 +02:00
Christian Muehlhaeuser
618dff77e4 * Request item repaint via PlayableItem. 2013-04-17 04:09:47 +02:00
Christian Muehlhaeuser
c0e41809e6 * Request item repaint via PlayableItem. 2013-04-17 04:03:19 +02:00
Christian Muehlhaeuser
9554ce6199 * Don't use hard-coded color values. 2013-04-17 03:36:05 +02:00
Christian Muehlhaeuser
0ce5f5873c * It's not called PlaylistManager anymore ;-) 2013-04-17 03:30:46 +02:00
Christian Muehlhaeuser
5637de99d3 * Reset the delegates' hover-index after a wheel-event. 2013-04-17 03:30:46 +02:00
Christian Muehlhaeuser
359321f19c * Delegates can now reset the hover-index upon request. 2013-04-17 03:30:46 +02:00
Tomahawk CI
65a598ef8b Automatic merge of Transifex translations 2013-04-17 02:27:44 +02:00
Christian Muehlhaeuser
c4ef6b30d9 * Updated ChangeLog. 2013-04-17 02:08:17 +02:00
Christian Muehlhaeuser
05d2fbdfae * Cleanups. 2013-04-16 12:42:54 +02:00
Christian Muehlhaeuser
9a67ea2074 * Double-click expands artists & albums. We now show an info button for those items. 2013-04-16 12:41:54 +02:00
Christian Muehlhaeuser
6a32f5e009 * Don't assert here. 2013-04-16 11:42:41 +02:00
Christian Muehlhaeuser
bfb83c6bbe * ViewManager now deletes the ViewPages for us. 2013-04-16 11:37:09 +02:00
Christian Muehlhaeuser
108ad2aa96 * Emit signals before and after deleting a viewpage. 2013-04-16 11:36:52 +02:00
Christian Muehlhaeuser
2db0c13821 * Check control states after a viewpage has been deleted. 2013-04-16 11:36:31 +02:00
Christian Muehlhaeuser
c92ce9d8a5 * Init AudioControls after ViewManager. 2013-04-16 11:35:55 +02:00
Christian Muehlhaeuser
8b42dfcc7a * Only delete ControlConnection if we don't expect any incoming connections. 2013-04-16 10:59:54 +02:00
Christian Muehlhaeuser
fdf1ddc61a * Fixed foreground color. 2013-04-16 10:59:23 +02:00
Christian Muehlhaeuser
81dc2fe1fa * Never wrap text in sidebar. 2013-04-16 10:39:27 +02:00
Christian Muehlhaeuser
b76f40e67b * Don't allow to collapse the sidebar entirely. 2013-04-16 10:29:03 +02:00
Christian Muehlhaeuser
e6fd1c199e * Don't use hard-coded colors. 2013-04-16 10:24:22 +02:00
Christian Muehlhaeuser
dea6a41d11 * Wording change: Remove instead of Delete. 2013-04-16 10:17:25 +02:00
Hugo Lindström
175b69a22a Validate localfiles 2013-04-16 10:06:12 +02:00
Christian Muehlhaeuser
d7c03e03ce * Store PeerInfos in a temporary ControlConnection while the SIP is pending, so they don't get deleted again immediately. 2013-04-16 09:39:31 +02:00
Hugo Lindström
59a30573ee Fix compile 2013-04-16 08:43:15 +02:00
Hugo Lindström
ebe9f6fb34 Allow dropping iTunes Library 2013-04-16 08:23:13 +02:00
Teo Mrnjavac
b6449fcd63 Remove PeerInfo from cache on dtor. 2013-04-16 08:20:12 +02:00
Teo Mrnjavac
dbe8f7f499 Make the PeerInfo cache contain weak pointers. 2013-04-16 07:15:17 +02:00
Christian Muehlhaeuser
072b4e13e6 * Style cleanup. 2013-04-16 06:07:07 +02:00
Christian Muehlhaeuser
cc927b2419 * Moved info button handling out of the views. 2013-04-16 06:06:57 +02:00
Christian Muehlhaeuser
ecadb3a1a7 * Moved info button handling into TreeItemDelegate. 2013-04-16 06:06:12 +02:00
Christian Muehlhaeuser
14c5b9d983 * Moved info button handling into PlaylistItemDelegate. 2013-04-16 06:05:29 +02:00
Christian Muehlhaeuser
5c60f5d3cc * Fixed TWK-1215: Dupe tracks used to caused playback to loop. 2013-04-16 02:44:04 +02:00
Tomahawk CI
997c7f6f68 Automatic merge of Transifex translations 2013-04-16 02:16:18 +02:00
Leo Franchi
a8a10cb9b5 Don't crash if artist is missing from chart album data 2013-04-15 14:08:09 -04:00
Teo Mrnjavac
bd46cc2f72 Implement delete support in Inbox. 2013-04-15 13:31:05 +02:00
Teo Mrnjavac
9753e3c71f Fix ordering, again, this time we stick to whatever is in the db. 2013-04-15 10:08:20 +02:00
Teo Mrnjavac
a0d150489a Add and reload tracks to Inbox in the same order. 2013-04-14 22:08:47 +02:00
Teo Mrnjavac
6d874c8da8 Inbox deduplication and delegate. 2013-04-13 22:56:45 +02:00
Teo Mrnjavac
a357007d11 Don't group. 2013-04-13 22:56:36 +02:00
Tomahawk CI
bafd1d0529 Automatic merge of Transifex translations 2013-04-12 02:16:29 +02:00
Jason Herskowitz
dabfbfdabd Better Inbox icon (at least on OSX) 2013-04-11 10:17:15 -04:00
Uwe L. Korn
cffacabe65 Sort playlist alphabetically in ContextMenu 2013-04-11 12:28:51 +02:00
Tomahawk CI
1e1177f3b4 Automatic merge of Transifex translations 2013-04-11 02:16:24 +02:00
Teo Mrnjavac
1bdc87b4ba Add persistence to Inbox. 2013-04-10 06:01:06 +02:00
Teo Mrnjavac
5fb6fadfe8 No need for JSON actually, because there's a source column we can use. 2013-04-10 06:01:05 +02:00
Teo Mrnjavac
d0d2278e17 Have dbcmd_ShareTrack inherit from dbcmd_SocialAction and write to db. 2013-04-10 06:01:05 +02:00
Teo Mrnjavac
4fff01b56d Add *.autosave to .gitignore. 2013-04-10 06:01:05 +02:00
Tomahawk CI
6bd37a29aa Automatic merge of Transifex translations 2013-04-10 02:17:39 +02:00
Uwe L. Korn
8d5f643e2e Define QXT_STATIC in header so that parent projects use it. 2013-04-09 11:35:11 +02:00
Christian Muehlhaeuser
db240b84bc * Temporary work-around for losing the shared-pointer. 2013-04-09 11:17:00 +02:00
Teo Mrnjavac
938b136cb5 Added temporary status message for incoming suggestions. 2013-04-09 11:00:58 +02:00
Uwe L. Korn
bd9ddf142b Compile qxt with QXT_STATIC 2013-04-09 10:50:03 +02:00
Uwe L. Korn
bf2067c414 Fix QxtFifo and move qxtweb modules in their respective folder 2013-04-09 10:36:43 +02:00
Teo Mrnjavac
fd60cf4a5b Prepend tracks to inbox, and avoid crash. 2013-04-09 10:13:48 +02:00
Teo Mrnjavac
2dd5515392 Correctly accept track drops for inbox. 2013-04-09 09:13:08 +02:00
Teo Mrnjavac
69e226a906 Implementations in headers make domme a sad panda. 2013-04-09 09:13:08 +02:00
Teo Mrnjavac
143b332380 Use new Inbox icon. 2013-04-09 09:13:07 +02:00
Teo Mrnjavac
3847eae6cc Basic inbox support, sending track suggestions kind of works sometimes. 2013-04-09 09:13:07 +02:00
Teo Mrnjavac
04fc5f6f37 Initial commit for listening suggestions. Dbcmd and stubs. 2013-04-09 09:13:07 +02:00
Tomahawk CI
24d8788ee2 Automatic merge of Transifex translations 2013-04-09 02:16:33 +02:00
Teo Mrnjavac
286358d5d2 Hide debug tooltips unless --verbose. 2013-04-08 15:14:21 +02:00
Tomahawk CI
b30be142a2 Automatic merge of Transifex translations 2013-04-08 02:16:59 +02:00
Christian Muehlhaeuser
c4889850d2 * Bumped to 0.7.99. 2013-04-07 19:49:05 +02:00
Teo Mrnjavac
8cc52bca75 Added path check for metadata.json through Attica. 2013-04-07 19:21:25 +02:00
Tomahawk CI
2d57f6c140 Automatic merge of Transifex translations 2013-04-07 02:16:38 +02:00
Tomahawk CI
7df5b853c6 Automatic merge of Transifex translations 2013-04-06 02:16:20 +02:00
Teo Mrnjavac
69cba83e17 Avoid double-populating ScriptCollections when refreshing. 2013-04-05 23:36:50 +02:00
Teo Mrnjavac
ae2ef735ed Accounts delegate fixes: padding and status text font. 2013-04-05 23:24:07 +02:00
Teo Mrnjavac
5530d58997 Temporary special case for Twitter, don't show connection status. 2013-04-05 23:11:12 +02:00
Jason Herskowitz
09273478e0 Give refresh.svg some padding so it's square 2013-04-05 16:47:27 -04:00
Christian Muehlhaeuser
b3751525dd * Tune down logging verbosity a bit. 2013-04-05 18:58:42 +02:00
Christian Muehlhaeuser
102633803a * Use result and added comment as to why we require this parameter. 2013-04-05 15:53:33 +02:00
Christian Muehlhaeuser
4a76b561c4 * Fixed a ton of compiler warnings. 2013-04-05 15:42:01 +02:00
Teo Mrnjavac
07af484e3e F2 to rename playlist/station.
Fixes TWK-931.
2013-04-05 14:45:33 +02:00
Hugo Lindström
63a45db084 Increase indentation on OSx 2013-04-05 12:43:34 +02:00
Teo Mrnjavac
82579c65f1 Fix SourceDelegate editor geometry. 2013-04-05 11:01:10 +02:00
Teo Mrnjavac
478b60b2bf Add proper Load/Rename Station strings.
This fixes TWK-1291.
2013-04-05 10:39:36 +02:00
Hugo Lindström
fdf115b3a8 Spinner loads gourgeously on albumViews 2013-04-05 03:41:48 +02:00
Tomahawk CI
e8d4fe5277 Automatic merge of Transifex translations 2013-04-05 02:16:31 +02:00
Hugo Lindström
96c4bfd610 Utilize new detailed information, allowing any new sources after 0.6.99 2013-04-05 00:48:46 +02:00
Teo Mrnjavac
a47e1043fc Don't repeat scriptcollection queries when an album has no tracks.
This should never happen with sane data.
2013-04-04 12:44:52 +02:00
Tomahawk CI
3f48d1a3ad Automatic merge of Transifex translations 2013-04-04 02:16:57 +02:00
Tomahawk CI
24b11f46c9 Automatic merge of Transifex translations 2013-04-03 02:16:24 +02:00
Hugo Lindström
8e1bdf5f7b Fade out spinner and update playstate on cover button 2013-04-02 19:55:12 +02:00
Hugo Lindström
5b4d68e2cd Bump version 2013-04-02 12:28:53 +02:00
Hugo Lindström
3b3889e8ff Only fetch invalid sources 2013-04-02 12:28:32 +02:00
Tomahawk CI
be14446423 Automatic merge of Transifex translations 2013-04-02 02:16:28 +02:00
Hugo Lindström
01e60f5c3d Merge pull request #182 from xhochy/feature/select-existing-spotify-playlist-instead-of-double-adding
Do not double add existing spotify playlists
2013-04-01 15:17:03 -07:00
Teo Mrnjavac
ab5205dfd6 Fix includes. 2013-04-01 22:36:28 +02:00
Hugo Lindström
5ae08d7144 Bump version to force updates 2013-04-01 22:30:16 +02:00
Hugo Lindström
94116cd7f2 Lazy load NewReleasesWidget 2013-04-01 21:29:41 +02:00
Hugo Lindström
bd6303a6e6 Bump version 2013-04-01 21:13:16 +02:00
Teo Mrnjavac
43d21cea7c Disable SIP-related strings and UI elements. 2013-04-01 21:03:43 +02:00
Teo Mrnjavac
f134be44b1 Bring back Twitter, but only for social actions.
SIP is disabled.
2013-04-01 21:03:43 +02:00
Hugo Lindström
49be0e77cf Remove unused, stylefix 2013-04-01 19:06:42 +02:00
Hugo Lindström
100f08b0b8 Parse Wah as regular chart 2013-04-01 18:38:05 +02:00
Hugo Lindström
5bed90dbb7 Wait for infosystem and load breadcrumb 2013-04-01 18:36:23 +02:00
Hugo Lindström
2679c776b2 Bump version 2013-04-01 12:38:13 +02:00
Tomahawk CI
86c88d9876 Automatic merge of Transifex translations 2013-04-01 02:17:53 +02:00
Hugo Lindström
6f9f0d882f Remove debug 2013-03-31 10:26:56 +02:00
Hugo Lindström
9087e93f72 Add rdio geo's 2013-03-31 10:23:59 +02:00
Christian Muehlhaeuser
4994c4e5cc * Remove artists from internal cache when destroying them. 2013-03-31 07:15:44 +02:00
Christian Muehlhaeuser
5f32bdb277 * Remove albums from internal cache when destroying them. 2013-03-31 07:15:08 +02:00
Christian Muehlhaeuser
d932aa6c2d * If we receive unexpected data in Servent, log it for debugging. 2013-03-31 05:36:52 +02:00
Christian Muehlhaeuser
b03eb6defb * Style cleanups. 2013-03-31 05:36:15 +02:00
Christian Muehlhaeuser
084a3cd2f3 * PeerInfos are stored as a QSharedPointer, so don't give them a parent. 2013-03-31 05:34:35 +02:00
Christian Muehlhaeuser
3745cd247e * Only store results in Pipeline when we're working on temporary queries - e.g. for the rest-API. 2013-03-31 05:33:35 +02:00
Tomahawk CI
d0631bf75e Automatic merge of Transifex translations 2013-03-31 01:17:04 +01:00
Christian Muehlhaeuser
1cfe6ac158 Merge pull request #183 from xhochy/patch-1
Add spotify URL handling
2013-03-30 07:46:31 -07:00
Uwe L. Korn
d03a0a2c74 Add spotify URL handling
Tomahawk is able to handle most of the spotify URLs (except such things as Apps).
2013-03-30 15:45:38 +01:00
Uwe L. Korn
230a715de2 Do not double add existing spotify playlists 2013-03-30 15:18:35 +01:00
Christian Muehlhaeuser
fbcfadf82d Merge pull request #181 from xhochy/feature/open-spotify-playlist-from-cli2
Open more than just tracks for Spotify from the commandline
2013-03-30 06:55:29 -07:00
Uwe L. Korn
c2d11f4ece Open more than just tracks for Spotify from the commandline 2013-03-30 14:39:16 +01:00
Christian Muehlhaeuser
5b59ab56d4 * Style fixes. 2013-03-30 13:06:51 +01:00
Christian Muehlhaeuser
119f67c8f8 * Delete root-item when destroying the PlayableModel. 2013-03-30 13:06:22 +01:00
Christian Muehlhaeuser
46f1ae3ee4 * Only store weak-pointers in the internal Artist cache. 2013-03-30 13:04:59 +01:00
Christian Muehlhaeuser
8e37ecbd05 * Only store weak-pointers in the internal Album cache. 2013-03-30 13:04:01 +01:00
Christian Muehlhaeuser
a26df54d9f * Added typedefs for Artist & Album weakpointers. 2013-03-30 13:03:07 +01:00
Christian Muehlhaeuser
32cbc09595 * Removed obsolete QPixmap. 2013-03-30 09:11:54 +01:00
Christian Muehlhaeuser
70fdf2b0ea * Fixed avatar creation in wrong thread and start-up slow down. 2013-03-30 09:07:45 +01:00
Christian Muehlhaeuser
a4689a1850 Merge pull request #179 from xhochy/fix/knotify-recognize-richtext
Add markup to the first notification line to overcome problems with KNotify.
2013-03-30 00:00:31 -07:00
Tomahawk CI
f32803e188 Automatic merge of Transifex translations 2013-03-30 01:16:18 +01:00
Uwe L. Korn
8b0c5c4eee Add markup to the first notification line to overcome problems with KNotify. 2013-03-29 23:22:50 +01:00
Christian Muehlhaeuser
da206ee3d9 Merge pull request #178 from xhochy/fix/dbus-notify-linebreak
Replace <br /> with \n in Notifictation messages
2013-03-29 13:21:57 -07:00
Uwe L. Korn
64c833ac46 Extract markup out of now playing message 2013-03-29 20:45:44 +01:00
Uwe L. Korn
f25023879f Move markup out of album string in D-Bus message. 2013-03-29 20:20:49 +01:00
Tomahawk CI
8fb053b0a9 Automatic merge of Transifex translations 2013-03-29 01:17:13 +01:00
Teo Mrnjavac
f3deacd4f0 Do not auto-fill XMPP server. This reverts b5d1f8a and fixes server
detection.
2013-03-28 20:21:26 +01:00
Uwe L. Korn
c10f2fef86 Replace <br /> with \n in Notifictation messages
* <br /> is not supported by all WMs
* \n has broader support or will be sliently (i.e. without printing a
  character) ignored
2013-03-28 15:15:41 +01:00
Teo Mrnjavac
4861b63849 Trying to find out what makes a name pretty (PeerInfo prettyName). 2013-03-28 12:09:41 +01:00
Tomahawk CI
242941f1df Automatic merge of Transifex translations 2013-03-28 01:17:02 +01:00
Tomahawk CI
5fd44a97d8 Automatic merge of Transifex translations 2013-03-27 01:16:15 +01:00
Hugo Lindström
df5fb61ab6 Mandatory stylefix 2013-03-27 00:50:46 +01:00
Hugo Lindström
33fc2df655 Accept http[s] and play/open links from spotify. 2013-03-27 00:47:47 +01:00
Teo Mrnjavac
8285857ac2 Add platform and Tomahawk version checks to resolver installation. 2013-03-26 18:24:40 +01:00
Tomahawk CI
a0f0815f22 Automatic merge of Transifex translations 2013-03-26 01:16:37 +01:00
Tomahawk CI
1cc63297b9 Automatic merge of Transifex translations 2013-03-25 01:16:34 +01:00
Christian Muehlhaeuser
1ba2e094bc Merge pull request #177 from xhochy/fix/twk-1172
Escape ampersands in menu entry strings
2013-03-23 19:26:37 -07:00
Uwe L. Korn
6c08a27b3a Add ampersand escaping for Albums and Artists 2013-03-24 03:23:28 +01:00
Christian Muehlhaeuser
e82c56fff0 Merge pull request #174 from tomahawk-player/GeneratorLocking
Implement locking mechanism to only allow one thread to contact echonest...
2013-03-23 19:13:49 -07:00
Uwe L. Korn
031597f9e1 Escape ampersands in menu entry strings
* Fixes TWK-1172
2013-03-24 03:13:17 +01:00
Christian Muehlhaeuser
e9ed6893c5 Merge pull request #176 from xhochy/feature/verbose-in-help
Include --verbose in --help
2013-03-23 19:08:54 -07:00
Uwe L. Korn
3fd81dc72f Include --verbose in --help 2013-03-24 02:43:29 +01:00
Christian Muehlhaeuser
45563a6699 Merge pull request #175 from xhochy/feature/addtoplaylist
Add a 'Add to Playlist' entry to the ContextMenu
2013-03-23 18:42:12 -07:00
Uwe L. Korn
e29fa20cf4 Add a 'Add to Playlist' entry to the ContextMenu 2013-03-24 02:35:46 +01:00
Tomahawk CI
6946b7d453 Automatic merge of Transifex translations 2013-03-24 01:44:29 +01:00
Stefan Derkits
086a387f54 use ReadWriteLock instead of Mutex 2013-03-23 20:53:42 +01:00
Stefan Derkits
2782832204 Implement locking mechanism to only allow one thread to contact echonest for loading Styles, Moods & Genres 2013-03-23 17:20:26 +01:00
Teo Mrnjavac
c9387c552a Fix GridView layout bug on some GTK styles. 2013-03-23 12:33:32 +01:00
Christian Muehlhaeuser
fefc541e3e * Updated ChangeLog. 2013-03-23 09:10:18 +01:00
Christian Muehlhaeuser
a7ead0c387 Merge pull request #170 from tomahawk-player/resolverbundles
Resolver bundles support
2013-03-22 18:18:59 -07:00
Christian Muehlhaeuser
348e325a57 Merge pull request #168 from tomahawk-player/asynciodevices
Allow asynchronous requests of stream URLs from resolvers.
2013-03-22 18:17:40 -07:00
Christian Muehlhaeuser
c5025df8e4 Merge pull request #169 from ddqd/master
fix typing error in ru translation
2013-03-22 18:13:54 -07:00
Tomahawk CI
e6d80e5f89 Automatic merge of Transifex translations 2013-03-23 01:17:00 +01:00
Tomahawk CI
6d159041b5 Automatic merge of Transifex translations 2013-03-22 01:16:56 +01:00
Teo Mrnjavac
bc470b542a Install resolver axes in dirs with human-readable name instead of uuid. 2013-03-20 21:42:25 +01:00
Tomahawk CI
25b07561ec Automatic merge of Transifex translations 2013-03-20 01:16:28 +01:00
Christian Muehlhaeuser
f3b04a01e2 Merge pull request #171 from lliehu/add-context
Add context for placeholders in 3 UI messages added recently
2013-03-19 11:21:17 -07:00
Lasse Liehu
7980118516 Add context for placeholders in 3 UI messages added recently 2013-03-19 20:18:54 +02:00
Christian Muehlhaeuser
796df66885 * Some FdoNotifyPlugin cleanups. 2013-03-19 10:02:47 +01:00
Christian Muehlhaeuser
cb0abd9118 Merge pull request #166 from xhochy/feature/fdonotify-use-capabilities
Style notifications if the window manager supports it.
2013-03-19 01:56:44 -07:00
Tomahawk CI
1434ceed7c Automatic merge of Transifex translations 2013-03-19 01:16:59 +01:00
Christian Muehlhaeuser
11c0fd6cd6 * Fixed typo in error message. 2013-03-18 01:30:55 +01:00
Tomahawk CI
9f969021bd Automatic merge of Transifex translations 2013-03-18 01:17:34 +01:00
Teo Mrnjavac
6f7e713d6f Obsolete TODO is obsolete. 2013-03-17 13:51:15 +01:00
Teo Mrnjavac
256ba3798b Remove bundle directory on account removal. 2013-03-17 13:47:26 +01:00
Teo Mrnjavac
700ce6f18b Show resolver version for bundles, revision for packaged bundles. 2013-03-16 16:36:04 +01:00
ddqd
572e4a4f60 fix typing error on ru-translation 2013-03-16 10:46:10 +04:00
Teo Mrnjavac
4d2a9422a1 Added required scripts loading support to QtScriptResolver.
The good:
 * you can now add multiple scripts to be loaded for a single resolver before the main script, specified in metadata.json in a bundle.
The bad:
 * it adds some complexity, and it's not tested at all.
The ugly:
 * passing configuration from ResolverAccountFactory as QVariantHash, but that's not new,
 * changing ResolverFactoryFunc,
 * an added optional QStringList parameter to Pipeline::addScriptResolver,
 * the inevitable uselessness of this parameter in ScriptResolver.
2013-03-15 14:41:06 +01:00
Teo Mrnjavac
caa3a35510 Correctly extract. 2013-03-15 11:43:37 +01:00
Teo Mrnjavac
3b4962d586 Whoops :) 2013-03-14 19:11:18 +01:00
Teo Mrnjavac
129be9dbbf Use a more explicit parameter name. 2013-03-14 19:02:50 +01:00
Teo Mrnjavac
918545eddc Allow async streamUrl reports for custom IODeviceFactory resolvers. 2013-03-14 18:56:24 +01:00
Teo Mrnjavac
230fbdcef9 Return IODevices for track URLs through callbacks. 2013-03-14 16:11:46 +01:00
Teo Mrnjavac
056562d782 Load resolver metadata from JSON file rather than desktop file. 2013-03-13 23:11:05 +01:00
Tomahawk CI
20bfb48be7 Automatic merge of Transifex translations 2013-03-13 01:17:22 +01:00
Teo Mrnjavac
709c6e1da2 Headers. 2013-03-11 22:56:47 +01:00
Teo Mrnjavac
118b0a1cbf Found a better place to do bundle loading, and also load metadata. 2013-03-11 22:53:58 +01:00
Teo Mrnjavac
70baca7711 Initial commit for resolver bundles: proof of concept. 2013-03-10 13:02:14 +01:00
Teo Mrnjavac
3dd1db1aed Fix typo. 2013-03-06 19:38:12 +01:00
Jeff Mitchell
2b63e6e5bb Remove change from yesterday, as apparently m_lastCmdGuid doesn't do what I thought it does for local sources 2013-03-06 03:22:31 -05:00
Tomahawk CI
372ab8931a Automatic merge of Transifex translations 2013-03-06 01:16:56 +01:00
Teo Mrnjavac
dbf340f557 Fix ghost ScriptCollections on config change and potential crashes. 2013-03-05 18:07:49 +01:00
Teo Mrnjavac
5364dfaf40 Allow script resolvers to choose icons for their scriptcollections. 2013-03-05 10:46:04 +01:00
Teo Mrnjavac
7f82799a72 Allow resolvers to set a prettyName for their ScriptCollections. 2013-03-05 10:46:04 +01:00
Jeff Mitchell
9d827819d8 Add necessary hooks for hatchet dbcmd syncing 2013-03-05 01:24:48 -05:00
Teo Mrnjavac
c4fbcdfcbc Properly remove ScriptCollection ViewPages to prevent crash. 2013-03-02 20:41:09 +01:00
Christian Muehlhaeuser
b18fac950b * Building with BUILD_WITH_QT4 forces building with Qt4. 2013-03-02 07:22:31 +01:00
Christian Muehlhaeuser
7d0589ea0e * Style cleanup. 2013-03-02 07:13:57 +01:00
Christian Muehlhaeuser
b714481cd3 * Nicer cmake output. 2013-03-02 07:13:57 +01:00
Tomahawk CI
b947c25ff4 Automatic merge of Transifex translations 2013-02-27 01:17:49 +01:00
Teo Mrnjavac
232c66736a Implement track count for ScriptCollections. 2013-02-26 13:55:51 +01:00
Tomahawk CI
d046077656 Automatic merge of Transifex translations 2013-02-26 01:16:53 +01:00
Teo Mrnjavac
781a0149e0 Basic ScriptCollection filtering support. 2013-02-25 19:16:10 +01:00
Teo Mrnjavac
45f268e040 Add stylesheet to refresh scriptcollection button. 2013-02-25 19:15:12 +01:00
Tomahawk CI
b4eee71224 Automatic merge of Transifex translations 2013-02-25 01:17:46 +01:00
Christian Muehlhaeuser
dacd294de3 * Fixed missing copyright header. 2013-02-24 22:28:47 +01:00
Uwe L. Korn
971e84337f More translator friendly string formatting
* Add escaping of supplied strings since they may interfere with the
  xml-based markup.
2013-02-24 16:30:28 +01:00
Christian Muehlhaeuser
05e89b0323 * Log database commands in verbose mode. 2013-02-24 16:05:43 +01:00
Christian Muehlhaeuser
1f4e010764 * Don't let RecentPlaylistsModel try to load stuff before we're ready. 2013-02-24 16:05:32 +01:00
Christian Muehlhaeuser
400f52d10d * Make sure our private markAsReady method is connected (and hence called) first. Log a message when db is ready. 2013-02-24 14:09:57 +01:00
Christian Muehlhaeuser
3142e85af6 * Print out a warning and abort when trying to enqueue a DatabaseCommand before Database is ready. 2013-02-24 14:00:04 +01:00
Uwe L. Korn
689d97d689 Style album message 2013-02-24 12:44:01 +01:00
Uwe L. Korn
73e00e26c4 Style notifications if the window manager supports it. 2013-02-24 11:55:39 +01:00
Tomahawk CI
6d788a00af Automatic merge of Transifex translations 2013-02-24 01:16:59 +01:00
Teo Mrnjavac
2ec2e65d67 Fix what I assume is a typo. 2013-02-23 20:37:02 +01:00
Tomahawk CI
50376bcbff Automatic merge of Transifex translations 2013-02-23 01:17:02 +01:00
Jeff Mitchell
7ef99d3b9a Merge pull request #162 from xhochy/feature/fdonotify-dbus-async-reply
Make D-Bus call in fdonotify asynchronous
2013-02-22 07:20:19 -08:00
Tomahawk CI
4708c61a92 Automatic merge of Transifex translations 2013-02-22 01:16:57 +01:00
Jeff Mitchell
4c300f298d Add some variables in preparation for eventual per-source weighting 2013-02-21 10:32:44 -05:00
Uwe L. Korn
0a0b3717aa Remove qt-module from include path and add more distinctive name for callback 2013-02-21 14:25:31 +01:00
Jeff Mitchell
221a038568 Update CMakeLists.txt text 2013-02-20 13:24:10 -05:00
Jeff Mitchell
6883787551 Namespace the other account resource files as well 2013-02-20 13:12:41 -05:00
Hugo Lindström
35a3511ee5 SpotifyParse fix 2013-02-20 16:37:40 +01:00
Tomahawk CI
75537b9c20 Automatic merge of Transifex translations 2013-02-20 01:17:03 +01:00
Stefan Derkits
6e3b374dcb only load genre/style/mood from cache if it is empty 2013-02-19 16:45:58 +01:00
Teo Mrnjavac
10b84c863d Added tooltip. 2013-02-19 13:40:59 +01:00
Tomahawk CI
7bfa6cc08a Automatic merge of Transifex translations 2013-02-19 01:17:11 +01:00
Teo Mrnjavac
d7d15eda46 Added ScriptCollection refresh support. Also new header. 2013-02-18 23:04:10 +01:00
Teo Mrnjavac
76044bd054 Separate filter from FlexibleHeader, give collections their own header. 2013-02-18 23:04:10 +01:00
Hugo Lindström
a5f2b0eccd Update headers in QtScriptResolver 2013-02-18 20:27:35 +01:00
Jason Herskowitz
3c95d5714c Refresh icon 2013-02-18 12:44:39 -05:00
Tomahawk CI
1002b5f291 Automatic merge of Transifex translations 2013-02-18 01:16:42 +01:00
Teo Mrnjavac
55d8896ab9 Added description support to Collection, and fixed header text. 2013-02-17 17:39:06 +01:00
Teo Mrnjavac
74432a8712 Fix delegate to paint ScriptCollections nicely when selected. 2013-02-17 17:21:14 +01:00
Teo Mrnjavac
d97a530ee5 Fix description elision. 2013-02-17 13:27:25 +01:00
Teo Mrnjavac
13b5a3c911 Added proper ScriptCollection items, with delegate.
Showing collection info.
2013-02-17 13:27:24 +01:00
Christian Muehlhaeuser
b2b1ff1cba Revert "* Bumped libechonest requirement to 2.0.3."
This reverts commit 677bf098a5.
2013-02-16 10:57:48 +01:00
Christian Muehlhaeuser
677bf098a5 * Bumped libechonest requirement to 2.0.3. 2013-02-16 01:30:43 +01:00
Tomahawk CI
684aa658c2 Automatic merge of Transifex translations 2013-02-16 01:17:09 +01:00
Teo Mrnjavac
6f1a5d36a8 Don't crash when readding a resolver with ScriptCollection. 2013-02-15 14:03:25 +01:00
Teo Mrnjavac
1bf5787d74 Move ScriptCollection items to their own top-level category. 2013-02-15 14:03:25 +01:00
Christian Muehlhaeuser
176a9c8ce0 * Style cleanups. 2013-02-14 19:11:17 +01:00
Christian Muehlhaeuser
78e0475b9e * Properly detect the correct UPnP InternetGateway device. 2013-02-14 19:11:17 +01:00
Christian Muehlhaeuser
b6361abdd7 * Support https urls in Servent. 2013-02-14 19:11:17 +01:00
Tomahawk CI
862f684768 Automatic merge of Transifex translations 2013-02-14 01:16:57 +01:00
Christian Muehlhaeuser
006ae8b984 Merge pull request #165 from xhochy/feature/dynamic-notification-icon-sizes
Determine the notification icon size on the default font height.
2013-02-13 06:41:40 -08:00
Uwe L. Korn
f25608f52c Remove unused includes 2013-02-13 15:39:40 +01:00
Uwe L. Korn
93b06e5d95 Determine the notification icon size on the default font height. 2013-02-13 15:20:27 +01:00
Christian Muehlhaeuser
6a10b5e7e1 Merge pull request #164 from zizzfizzix/desktop
Desktop file changes
2013-02-13 05:49:16 -08:00
Kuba Serafinowski
5565845f55 Add Polish description entries to desktop file 2013-02-13 14:46:46 +01:00
Kuba Serafinowski
f236dc4403 Change hyphens to dashes in desktop file 2013-02-13 14:38:15 +01:00
Uwe L. Korn
6759f6c72f Make D-Bus call in fdonotify asynchronous 2013-02-13 12:30:30 +01:00
Tomahawk CI
461f650dbd Automatic merge of Transifex translations 2013-02-13 01:16:57 +01:00
Tomahawk CI
9f2149f1a3 Automatic merge of Transifex translations 2013-02-12 01:16:52 +01:00
Stefan Derkits
f24e593ad4 Merge pull request #153 from tomahawk-player/genreradio
Implement genreradio
2013-02-11 15:00:05 -08:00
Leo Franchi
4e5343a689 Merge pull request #161 from xhochy/fix/twk-563
Remove unused bundled quazip from thirdparty
2013-02-11 09:03:40 -08:00
Uwe L. Korn
8bf7534370 Remove unused bundled quazip from thirdparty 2013-02-11 17:23:09 +01:00
Tomahawk CI
115c8839e7 Automatic merge of Transifex translations 2013-02-10 01:16:51 +01:00
Jason Herskowitz
6bc1e3c8e2 Inbox icon for Teo 2013-02-09 12:07:37 -05:00
Tomahawk CI
b3280335d3 Automatic merge of Transifex translations 2013-02-09 01:16:46 +01:00
Christian Muehlhaeuser
df4e9193ec Merge pull request #160 from xhochy/fix/url-argument-position
As stated in --help the URL should always be the last argument
2013-02-08 15:46:59 -08:00
Teo Mrnjavac
caa1b65af2 Make compile. 2013-02-08 18:49:11 +01:00
Teo Mrnjavac
cd6bdc9e8b Merge pull request #158 from tomahawk-player/scriptcollection-ng
ScriptCollection support. Please test.
2013-02-08 09:39:09 -08:00
Teo Mrnjavac
0077ca5c8d Instead of getting statically defined capabilities at resolver startup,
have resolvers report their actual capabilities as soon as they know
for sure they have them.
2013-02-07 20:35:09 +01:00
Uwe L. Korn
615e2e4224 As stated in --help the URL should always be the last argument 2013-02-07 18:21:37 +01:00
Teo Mrnjavac
a4a0cb771f No implementations in headers. 2013-02-06 18:27:54 +01:00
Teo Mrnjavac
81af9b0e78 Style fix. 2013-02-06 18:10:21 +01:00
Teo Mrnjavac
68d3dd6631 Synchronous responses are for n00bs, only allow async. 2013-02-06 17:05:15 +01:00
Teo Mrnjavac
fffb00693a Allow some more time for slow slow Ampache. 2013-02-06 16:46:51 +01:00
Teo Mrnjavac
9a8f2e3306 Remove commented-out code. 2013-02-05 18:32:55 +01:00
Teo Mrnjavac
91c866c701 Remove unused code. 2013-02-05 18:06:21 +01:00
Teo Mrnjavac
cc577f9e4b Type enum in Collection.h to make domme happy :) 2013-02-05 18:02:02 +01:00
Tomahawk CI
1359ceb842 Automatic merge of Transifex translations 2013-02-05 01:16:41 +01:00
Teo Mrnjavac
ec4fe9babe Don't fail on timeout. 2013-02-04 22:59:25 +01:00
Teo Mrnjavac
90774b48f4 Make thread safe (I think). 2013-02-04 17:48:34 +01:00
Jason Herskowitz
63d18cee08 Cleanup Dock icons 2013-02-04 11:07:10 -05:00
Teo Mrnjavac
4aa8436b76 Obsolete comment is obsolete. 2013-02-04 16:59:20 +01:00
Teo Mrnjavac
c9e7730716 Make sure we eliminate all references to finished ScriptCommands. 2013-02-04 16:51:30 +01:00
Teo Mrnjavac
7ad402bb75 Fix typo. 2013-02-04 16:34:09 +01:00
Teo Mrnjavac
05c04d046f Do not report the same tracks multiple times. 2013-02-04 14:22:34 +01:00
Teo Mrnjavac
6c5ad05d27 Added ScriptCommand_AllTracks. 2013-02-04 14:22:34 +01:00
Teo Mrnjavac
48c56e81f7 Added ScriptCommand_AllAlbums. 2013-02-04 14:22:34 +01:00
Teo Mrnjavac
3da3969ad2 Added timeout support to ScriptCommandQueue. 2013-02-04 14:22:34 +01:00
Teo Mrnjavac
1c3941c16b Experimenting with ScriptCommands, added ScriptCommand_AllArtists. 2013-02-04 14:22:34 +01:00
Teo Mrnjavac
0e566bc300 Move Collection.{h,cpp} to its own directory. 2013-02-04 14:22:34 +01:00
Teo Mrnjavac
606ecb5865 Move all resolver-related classes to libtomahawk/resolvers 2013-02-04 14:22:34 +01:00
Teo Mrnjavac
1e8767f022 We're pretty sure the results from Subsonic are good. 2013-02-04 14:22:34 +01:00
Teo Mrnjavac
c6cb208e19 Replace stupid fix for track dupes in ScriptCollection with a real one. 2013-02-04 14:22:34 +01:00
Teo Mrnjavac
4777a64ce7 Fixed duplicate tracks. But why do they happen? 2013-02-04 14:22:34 +01:00
Teo Mrnjavac
4a2fd14d70 Fix after borked rebase. 2013-02-04 14:22:34 +01:00
Teo Mrnjavac
9c5118c49a Add tracks to ScriptCollection. 2013-02-04 14:22:34 +01:00
Teo Mrnjavac
29cdcec3c6 Support albums in scriptcollection. 2013-02-04 14:22:33 +01:00
Teo Mrnjavac
7f73c073be Fix collection page icons. 2013-02-04 14:22:33 +01:00
Teo Mrnjavac
ad1e057078 Artists fetching support in scriptcollection. 2013-02-04 14:22:33 +01:00
Teo Mrnjavac
cb7c646c2f Added artists/albums/tracks support in tomahawk.js 2013-02-04 14:22:33 +01:00
Teo Mrnjavac
3a805cbe67 Have collections provide some strings of their own. 2013-02-04 14:22:33 +01:00
Teo Mrnjavac
65741c3658 Route (almost) all artists/albums/tracks requests through Collections. 2013-02-04 14:22:33 +01:00
Teo Mrnjavac
fb0de1d998 Remove debug button. 2013-02-04 14:22:33 +01:00
Teo Mrnjavac
db60026a64 How about these? 2013-02-04 14:22:33 +01:00
Teo Mrnjavac
3ee8555db7 Use resolver's icon in ScriptCollections. 2013-02-04 14:22:33 +01:00
Teo Mrnjavac
df5fa2c55f Have SourceList populate the local source with ScriptCollections. 2013-02-04 14:22:33 +01:00
Teo Mrnjavac
32780f79a0 Added support for showing multiple collections in a SourceItem. 2013-02-04 14:22:33 +01:00
Teo Mrnjavac
3500195708 Added debug UI. 2013-02-04 14:22:33 +01:00
Teo Mrnjavac
a767b7acc0 Rename Source::collection() to Source::dbCollection(). 2013-02-04 14:22:33 +01:00
Teo Mrnjavac
28e681329e Saner check for db collection. 2013-02-04 14:22:33 +01:00
Teo Mrnjavac
e36d9294cc Note to self. 2013-02-04 14:22:32 +01:00
Teo Mrnjavac
c705676ec1 Have browsable resolvers return a collection. 2013-02-04 14:22:32 +01:00
Teo Mrnjavac
43ae736d61 Add capabilities support to ScriptResolver and QtScriptResolver. 2013-02-04 14:22:32 +01:00
Teo Mrnjavac
6138ea1605 Remove cruft and fix includes. 2013-02-04 14:22:32 +01:00
Teo Mrnjavac
9b4eef061f Initial commit for scriptable collection. Just a stub. 2013-02-04 14:22:32 +01:00
Tomahawk CI
1c5671d128 Automatic merge of Transifex translations 2013-02-03 01:16:41 +01:00
Hugo Lindström
cc05ececfe Merge pull request #157 from xhochy/feature/support-sharemyplaylist-spotify-urls2
Urlencode Spotify URLs to open playlist encoded in Apps links
2013-02-02 08:35:55 -08:00
Uwe L. Korn
23fe2de9b1 Fix coding style 2013-02-02 17:34:27 +01:00
Uwe L. Korn
c4b734fcf3 Urlencode Spotify URLs to open playlist encoded in Apps links 2013-02-02 16:03:23 +01:00
Teo Mrnjavac
4ad22a82d4 Fix scrolling in grid view. 2013-02-01 20:08:05 +01:00
Tomahawk CI
279c885dfe Automatic merge of Transifex translations 2013-02-01 01:16:39 +01:00
Tomahawk CI
c2aea47b6e Automatic merge of Transifex translations 2013-01-31 01:16:59 +01:00
Dominik Schmidt
a20ad44971 Mooaar debug output in the source tooltip 2013-01-30 20:06:31 +01:00
Dominik Schmidt
6b7e0e8180 Show nicknames from roster instead of xmpp ids 2013-01-30 20:06:31 +01:00
Tomahawk CI
e2ef8e5774 Automatic merge of Transifex translations 2013-01-30 01:16:50 +01:00
Leo Franchi
22985a1265 More debug 2013-01-29 13:58:33 -05:00
Leo Franchi
33429970f6 Add debug for version checks 2013-01-29 13:46:17 -05:00
Christian Muehlhaeuser
6b83da43ae * Support WavPack files. To be tested. 2013-01-29 19:21:11 +01:00
Christian Muehlhaeuser
fb4a22d305 * Some XmppSip cleanup. 2013-01-29 19:21:11 +01:00
Christian Muehlhaeuser
03fd8cc6fd * Some more Servent cleanup. 2013-01-29 19:21:11 +01:00
Leo Franchi
c0e77ac633 Remove debug again, bug squashed 2013-01-29 11:16:34 -05:00
Leo Franchi
54d5207939 Sync server data and do upgrade checks on either completion 2013-01-29 11:07:33 -05:00
Leo Franchi
9c1673bdf8 Add debug for version checks 2013-01-29 10:38:30 -05:00
Tomahawk CI
9a1656b455 Automatic merge of Transifex translations 2013-01-29 01:17:04 +01:00
Dominik Schmidt
7cfce98840 Don't set dbFriendlyName if it's empty 2013-01-28 17:24:27 +01:00
Dominik Schmidt
6dc053a91f Move Source::nodeId() implementation into cpp file 2013-01-28 17:24:27 +01:00
Dominik Schmidt
009c06f693 Fallback from Source::friendlyName() to dbFriendlyName() to nodeId() 2013-01-28 17:24:27 +01:00
Dominik Schmidt
537336adac Add contactId to PeerInfo and use it as connection name/dbfriendlyname 2013-01-28 17:24:27 +01:00
Dominik Schmidt
76b21e3742 Add dbFriendlyName to Source as fallback if the normal friendlyname is not available 2013-01-28 17:24:27 +01:00
Tomahawk CI
78c2a2e733 Automatic merge of Transifex translations 2013-01-28 01:17:05 +01:00
Dominik Schmidt
9046079c95 Streamline API: SipInfo::uniqname() -> SipInfo::nodeId() 2013-01-27 23:40:03 +01:00
Dominik Schmidt
d8f6378739 Streamline API: source->userName() -> source->nodeId() 2013-01-27 23:31:15 +01:00
Dominik Schmidt
1032cb5e05 Easier API is easier 2013-01-27 23:13:28 +01:00
Dominik Schmidt
3b65d7b474 Make source->username() always return a dbid (also for LocalSource) 2013-01-27 23:10:49 +01:00
Dominik Schmidt
ca0162735e Fix setting of own avatar in sip plugins 2013-01-27 22:40:52 +01:00
Christian Muehlhaeuser
c706d7b983 Merge pull request #155 from rockymontana/patch-2
* Continued swedish desktop file translation.
2013-01-27 12:17:28 -08:00
rm
6e88551e8a * Continued swedish desktop file translation. 2013-01-27 21:09:57 +01:00
Christian Muehlhaeuser
c6b42870af * Added swedish desktop file translation. 2013-01-27 20:52:04 +01:00
Christian Muehlhaeuser
1fad16f9ee * This should fix crashes / asserts in Servent. 2013-01-27 19:07:22 +01:00
Christian Muehlhaeuser
168c4f7ab7 * Re-introduce the asserts in Servent. They must not happen. 2013-01-27 17:58:15 +01:00
Stefan Derkits
643d71fd58 bump TOMAHAWK_SETTINGS_VERSION & write upgrade code (to remove file echonest_stylesandmoods.dat) 2013-01-27 17:04:47 +01:00
Stefan Derkits
3c8f3b102d style fixes in EchonestControl & EchonestGenerator 2013-01-27 17:04:47 +01:00
Stefan Derkits
f3df5013fa port Genre, Styles & Moods data in EchonestGenerator from data file to TomahawkCache 2013-01-27 17:04:47 +01:00
Stefan Derkits
5389a4c0a0 stylefix 2013-01-27 17:04:47 +01:00
Stefan Derkits
d4c7e8cc1b fix strange Bug with QComboBox 2013-01-27 17:04:47 +01:00
Stefan Derkits
6635b084f7 Implement genreradio (still buggy & needs https://github.com/Horrendus/libechonest atm) 2013-01-27 17:04:47 +01:00
Christian Muehlhaeuser
835e64fe55 * Turned ugly if/else into a switch. 2013-01-27 11:45:37 +01:00
Dominik Schmidt
9e9459486a Fix crash in claimOffer() 2013-01-27 01:36:22 +01:00
Christian Muehlhaeuser
3941a61ca9 Merge pull request #154 from zizzfizzix/patch-1
Update liblastfm URL in CMake output
2013-01-26 11:59:26 -08:00
Kuba
c5d8ca003b Update liblastfm URL in CMake output 2013-01-26 20:47:25 +01:00
Teo Mrnjavac
1ab26bba24 Add license header to Tomahawk.js, attribution from git blame and log. 2013-01-26 10:16:38 +01:00
Tomahawk CI
639ea4c397 Automatic merge of Transifex translations 2013-01-26 01:17:08 +01:00
Dominik Schmidt
cfe88c17f8 Comment out (hopefully) unneccessary assert 2013-01-25 15:41:07 +01:00
Tomahawk CI
be2e147cd7 Automatic merge of Transifex translations 2013-01-25 01:16:52 +01:00
Hugo Lindström
2853e05730 Ouch, a typo! 2013-01-24 20:41:01 +01:00
Hugo Lindström
0fea002e64 Keep the correct url. 2013-01-24 20:37:12 +01:00
Hugo Lindström
6ba5c3c98b Set correct name 2013-01-24 20:29:56 +01:00
Hugo Lindström
859a398da0 Remove extra debug 2013-01-24 19:53:57 +01:00
Hugo Lindström
96c5e7ebca Charts: Add DjShop.de 2013-01-24 19:53:57 +01:00
Dominik Schmidt
e345a42125 I am an idiot hahahahaha (Correct cherry-pick fail) 2013-01-24 14:12:49 +01:00
Dominik Schmidt
809330c877 Check for a valid xmpp id in the config widget 2013-01-24 14:02:57 +01:00
Dominik Schmidt
e750ea45a3 Refuse to close config dialogs with OK if settings are invalid 2013-01-24 14:01:33 +01:00
Dominik Schmidt
724f92e776 Introduce AccountConfigWidget type for handling errors later on 2013-01-24 14:01:20 +01:00
Dominik Schmidt
b01544c763 Fix runtime warnings 2013-01-24 04:04:22 +01:00
Dominik Schmidt
05ffd9c713 Fix more duplicated signal/slot connections that lead to gazillions of error messages 2013-01-24 04:04:10 +01:00
Dominik Schmidt
61e83c8581 Show connection erros in JobStatusView as well 2013-01-24 03:27:40 +01:00
Dominik Schmidt
d3bd359e1a Be more responsive about adding contacts 2013-01-24 02:48:28 +01:00
Dominik Schmidt
b5d1f8a8ba Automatically fill in server name 2013-01-24 01:31:07 +01:00
Tomahawk CI
362bf64db2 Automatic merge of Transifex translations 2013-01-24 01:17:16 +01:00
Dominik Schmidt
712561a490 Fix the gazillion of JABBER error: messages 2013-01-24 01:05:28 +01:00
Tomahawk CI
5599c9b995 Automatic merge of Transifex translations 2013-01-23 01:17:26 +01:00
Tomahawk CI
563daab032 Automatic merge of Transifex translations 2013-01-22 01:16:33 +01:00
Christian Muehlhaeuser
391f9951b7 * Remove code which seems to cause painting issues with some styles. 2013-01-21 15:45:48 +01:00
Christian Muehlhaeuser
28de1cd8c7 * Updated ChangeLog. 2013-01-21 14:16:24 +01:00
Christian Muehlhaeuser
e6b3884003 * Fixed track hover rect in sidebar. 2013-01-21 13:38:56 +01:00
Tomahawk CI
73977f58d3 Automatic merge of Transifex translations 2013-01-21 01:16:43 +01:00
Teo Mrnjavac
e724b144a4 PlayableModel has icon(), let's use it. 2013-01-20 22:48:19 +01:00
Christian Muehlhaeuser
e0b31b037a * Fixed now playing icon being squeezed in Charts delegate. 2013-01-20 06:43:35 +01:00
Christian Muehlhaeuser
60239668a7 * No need to check for HEADLESS in a widget. 2013-01-20 06:38:00 +01:00
Christian Muehlhaeuser
994f59440d * Always set a black foreground color for QueryLabels in AudioControls. 2013-01-20 06:24:58 +01:00
Christian Muehlhaeuser
da0664dfcb * QueryLabel doesn't support setTextPen any longer. 2013-01-20 06:22:18 +01:00
Christian Muehlhaeuser
bce56f280e * Always set the correct foreground / background colors for QueryLabel. 2013-01-20 06:21:59 +01:00
Tomahawk CI
2f9b6077ac Automatic merge of Transifex translations 2013-01-20 01:16:44 +01:00
Christian Muehlhaeuser
13bee7fad6 * Don't let NSSearchField grab Cmd + A. 2013-01-19 13:35:02 +01:00
Christian Muehlhaeuser
3737c251d4 * Fixed compiling on OSX. 2013-01-19 13:34:55 +01:00
Christian Muehlhaeuser
c3fb3df840 * Try to fix search field behaviour on OSX. 2013-01-19 13:34:18 +01:00
Christian Muehlhaeuser
8ef825aba7 * Style fixes for AccountManager. 2013-01-19 13:33:32 +01:00
Tomahawk CI
bf9701eb01 Automatic merge of Transifex translations 2013-01-19 01:16:40 +01:00
Christian Muehlhaeuser
f56c9d7da5 * Don't crash after d&d operation. 2013-01-18 10:36:01 +01:00
Christian Muehlhaeuser
62f540f4aa * Fixed comment typo. I can't get more pedantic than that, promised. 2013-01-18 04:03:28 +01:00
Dominik Schmidt
7e7ee84d9a Revert searching for specific Boost components 2013-01-18 01:28:37 +01:00
Dominik Schmidt
79fff5ce0e Set SOVERSION of libtomahawk to current Tomahawk version, we won't give any ABI guarantee in the foreseeable future 2013-01-18 01:27:45 +01:00
Tomahawk CI
a30f1f94e2 Automatic merge of Transifex translations 2013-01-18 01:16:58 +01:00
Dominik Schmidt
22c305162c Create hopefully rather sane TomahawkConfig.cmake 2013-01-18 01:15:17 +01:00
Jeff Mitchell
83e3ed2c50 Remove external TH account info 2013-01-17 16:10:33 -05:00
Jeff Mitchell
bfe59af38b Update in-tree-building TH account stuff 2013-01-17 15:44:39 -05:00
Dominik Schmidt
fe4c7543cd Add testing framework 2013-01-17 21:23:41 +01:00
Jeff Mitchell
6314436492 Find TH account dir if available, and compile websocketpp 2013-01-17 14:00:05 -05:00
Jeff Mitchell
b24d5e13cc Add area to gitignore 2013-01-17 11:34:28 -05:00
Jeff Mitchell
8ea6d2dd96 Finish the work begun in 0c68f559 to make scanning more thread-safe 2013-01-17 10:13:44 -05:00
Christian Muehlhaeuser
a7f6a6e129 * Update version to 0.6.99. 2013-01-17 12:38:56 +01:00
Christian Muehlhaeuser
3bf144779b Revert "* Disable BreakPad for testing."
This reverts commit a80803769d.
2013-01-17 12:36:54 +01:00
Christian Muehlhaeuser
d8a47f7ef6 Don't change scroll steps on OSX. 2013-01-17 12:00:51 +01:00
Teo Mrnjavac
b0d1e3813b Not just on X11 2013-01-17 11:48:36 +01:00
Teo Mrnjavac
e7014caecb Fix jumpy scrolling in Account Settings. 2013-01-17 11:46:49 +01:00
Dominik Schmidt
3d94dc13e7 Fix in-source build 2013-01-17 09:28:29 +01:00
Christian Muehlhaeuser
8521f88cb9 * Only check iodev when available. 2013-01-17 08:04:55 +01:00
Christian Muehlhaeuser
09a177ec51 * Don't crash in StreamConnection without m_iodev. 2013-01-17 07:47:29 +01:00
Tomahawk CI
e20d8c955e Automatic merge of Transifex translations 2013-01-17 01:16:43 +01:00
Jeff Mitchell
0c68f55937 Safer thread stopping, should fix an assert 2013-01-16 14:50:37 -05:00
Leo Franchi
c1ea6d7ea1 Blind try to fix mystery osx crash 2013-01-16 14:34:47 -05:00
Teo Mrnjavac
acf324279a Hide the share action from AudioControls if there's no InfoPlugin that
can be used to share a track.
2013-01-16 20:19:03 +01:00
Dominik Schmidt
7d94df120f Forward declare structs as structs 2013-01-16 19:03:14 +01:00
Christian Muehlhaeuser
a80803769d * Disable BreakPad for testing. 2013-01-16 15:06:34 +01:00
Leo Franchi
e20e29c88c Add CMakeDefine, thanks domme :) 2013-01-16 08:50:03 -05:00
Leo Franchi
3c5edea2af Slight clean up by adding a MOUNTAIN_LION define 2013-01-16 08:48:11 -05:00
Christian Muehlhaeuser
dcd253fdf6 * Fixed using tLog before Logger is initialized. 2013-01-16 14:37:09 +01:00
Christian Muehlhaeuser
c07ac1cc74 * Don't use tDebug in installTranslator. 2013-01-16 13:50:36 +01:00
Christian Muehlhaeuser
fbeee55c16 * Restore last fullscreen state on OSX. 2013-01-16 13:18:40 +01:00
Christian Muehlhaeuser
6e0fb0d597 * Added fullscreen action to ActionCollection. 2013-01-16 13:17:39 +01:00
Christian Muehlhaeuser
6736c69928 * TomahawkSettings can now store fullscreen mode. 2013-01-16 13:16:27 +01:00
Christian Muehlhaeuser
18ebcc1156 * Added Tomahawk::toggleFullscreen on OSX. 2013-01-16 13:15:46 +01:00
Christian Muehlhaeuser
dffd614c38 * Fixed memleak in drag & drop operations. 2013-01-16 12:41:26 +01:00
Tomahawk CI
2d94ece5c2 Automatic merge of Transifex translations 2013-01-16 03:25:36 +01:00
Dominik Schmidt
97a675dbf5 Add debug helper method to SipInfo 2013-01-16 02:30:10 +01:00
Dominik Schmidt
f292bb28d9 Don't think two SipInfos are equal just because they are both invalid ... stupid assumptions are stupid 2013-01-16 02:29:56 +01:00
Dominik Schmidt
438cb1b39b You shall not lie. Not even in CMake. 2013-01-16 01:17:35 +01:00
Dominik Schmidt
0a6f2b164a Build all folders inside src/accounts/ 2013-01-16 01:14:49 +01:00
Leo Franchi
550c10edcc Use JobStatusView error message for script errors 2013-01-15 18:50:12 -05:00
Dominik Schmidt
a692b206a3 Allow plugins to store arbitrary data in PeerInfo 2013-01-15 23:56:35 +01:00
Leo Franchi
f2b9619dad Don't crash if Query::get returns an invalid query 2013-01-15 17:42:15 -05:00
Dominik Schmidt
f128055e0b Install CMake files for usage in external plugins 2013-01-15 20:35:04 +01:00
Dominik Schmidt
8a43c70e54 Move AccountDllMacro to libtomahawk so it can be used by external plugins 2013-01-15 20:35:04 +01:00
Dominik Schmidt
e8af9d4c1f Rename add_tomahawk_plugin macro to tomahawk_add_plugin 2013-01-15 20:35:04 +01:00
Dominik Schmidt
5298401f17 Remove copy of Config.h.in from libtomahawk/ and install config.h from build dir 2013-01-15 20:35:03 +01:00
Dominik Schmidt
705b5c9e47 Clean up CMake for optional liblastfm 2013-01-15 20:35:03 +01:00
Dominik Schmidt
034515cc7e Show audio engine error on console even for headless builds 2013-01-15 20:35:03 +01:00
Dominik Schmidt
6eec99e5c7 Add now missing Logger.h include in PeerInfo.cpp 2013-01-15 20:35:03 +01:00
Lucas Lira Gomes
f7d430d77c * Install headers for libtomahawk 2013-01-15 20:35:03 +01:00
Lucas Lira Gomes
7966926d0c * Added methods to create playlists in SourceList class 2013-01-15 20:35:03 +01:00
Lucas Lira Gomes
16ef203411 * Removed some cruft 2013-01-15 20:35:03 +01:00
Lucas Lira Gomes
b75df83989 * Removed some unnecessary includes 2013-01-15 20:35:03 +01:00
Lucas Lira Gomes
34244ebbd0 * Moved all includes to utils/Logger.h from header files to their
respectives source files.
2013-01-15 20:35:03 +01:00
Lucas Lira Gomes
7968e2ee71 * Moved HeadlessCheck.h to libtomahawk directory 2013-01-15 20:35:03 +01:00
Lucas Lira Gomes
79e4647c1c * Made DatabaseImpl visible in the outside 2013-01-15 20:35:02 +01:00
Lucas Lira Gomes
811c0e618d * Made DatabaseCommand_CreateDynamicPlaylist and
DatabaseCommand_CreatePlaylist independent of ViewManager
2013-01-15 20:35:02 +01:00
Lucas Lira Gomes
4949e787a3 * Forwarded FuzzyIndex class declaration 2013-01-15 20:35:02 +01:00
Lucas Lira Gomes
1098ede0e8 * Made TomahawkSqlQuery visible in the outside 2013-01-15 20:35:02 +01:00
Lucas Lira Gomes
b5f5079dca * Added a getter to AccountManager::m_connected. 2013-01-15 20:35:02 +01:00
Lucas Lira Gomes
420720ae52 * Don't compile lastfm parts if liblastfm wasn't found. 2013-01-15 20:35:02 +01:00
Lucas Lira Gomes
0278f82c2a * JobStatusView::instance()->model()->addJob() calls will be ignored when ENABLE_HEADLESS is setted. 2013-01-15 20:35:02 +01:00
Lucas Lira Gomes
d8a7669df8 * Moved isLocalResult and isHttpResult to TomahawkUtils. 2013-01-15 20:35:02 +01:00
Jeff Mitchell
e4c0bd7f30 Remove extraneous debugging 2013-01-15 20:31:12 +01:00
Jeff Mitchell
7ebd08c791 Add debug 2013-01-15 20:31:12 +01:00
Jeff Mitchell
9b4cde3ab5 Fix an issue where the slider could get stuck 2013-01-15 20:31:12 +01:00
Dominik Schmidt
2d8abe99f7 Add SHARED_LIB option to add_tomahawk_plugin cmake macro
Usually plugins are built as modules in cmake, but for certain plugins
we need the possibility to link against them which is only possible with
shared libs
2013-01-15 20:31:12 +01:00
Dominik Schmidt
dd1418f1a3 Make factory name show up in accounts list 2013-01-15 20:31:12 +01:00
Jeff Mitchell
38211e166f Attempt to fix a potential scanner deadlock 2013-01-15 20:31:12 +01:00
Leo Franchi
d388b3608e One workaround attempt at fixing charts crash 2013-01-15 11:51:09 -05:00
Dominik Schmidt
e9d99f05c2 Update Toolchain-mingw32-openSUSE.cmake 2013-01-15 02:42:40 +01:00
Tomahawk CI
0b0592a398 Automatic merge of Transifex translations 2013-01-15 01:16:54 +01:00
Dominik Schmidt
f430738206 Don't rely on C++11 extensions 2013-01-14 23:23:26 +01:00
Dominik Schmidt
31c695e04a untested: Try to only take sources offline if user explicitly set xmpp-account offline not if connection failed 2013-01-14 23:23:26 +01:00
Dominik Schmidt
62df8a2edd Take sources offline if no peerinfos are available anymore 2013-01-14 23:23:26 +01:00
Dominik Schmidt
37882d5bcf Add missing emit 2013-01-14 23:23:26 +01:00
Dominik Schmidt
11569abdd7 Fix all the style issues! 2013-01-14 23:23:26 +01:00
Dominik Schmidt
b9ae0eec8e Add some useful data to the debugging tooltip 2013-01-14 23:23:26 +01:00
Dominik Schmidt
330eb81a0a Fix updating the DiagnosticsDialog when new peers are set online 2013-01-14 23:23:26 +01:00
Dominik Schmidt
80900a546d Properly init PeerInfo in its ctor 2013-01-14 23:23:26 +01:00
Teo Mrnjavac
352dd7588d Add PeerInfo to Source and SourceItem tooltips. 2013-01-14 23:23:26 +01:00
Teo Mrnjavac
259f496985 Unnecessary asserts are unnecessary. 2013-01-14 23:23:26 +01:00
Dominik Schmidt
07887a4ade Refactor peer announcement and disable Twitter until it's ported 2013-01-14 23:22:57 +01:00
Christian Muehlhaeuser
54d0f23a44 * Forward declaration and friend class out of namespace for GCC happiness. 2013-01-14 20:59:51 +01:00
Jeff Mitchell
cd3d42dc61 Add some methods for pushing supported info types out of infosystem; untested currently, but compiles 2013-01-14 14:39:30 -05:00
Leo Franchi
e5f207f0f5 THR-40: Set last.fm resolver icon so last.fm results have icon 2013-01-14 11:09:36 -05:00
Tomahawk CI
cc6b87c882 Automatic merge of Transifex translations 2013-01-14 01:16:50 +01:00
Christian Muehlhaeuser
d93f4f352c * Fixed README.md. 2013-01-13 08:53:43 +01:00
Christian Muehlhaeuser
143078699b * Fixed not emitting start with GStreamer Phonon backend. 2013-01-13 08:48:22 +01:00
Christian Muehlhaeuser
a973ea758a * Reset timer labels in onPlaybackLoading. 2013-01-13 08:47:09 +01:00
Tomahawk CI
b6bed8203c Automatic merge of Transifex translations 2013-01-13 01:16:45 +01:00
Teo Mrnjavac
1b466d7256 Remove obsolete Windows hacks. 2013-01-12 21:26:31 +01:00
Teo Mrnjavac
47439baa37 Draw SocialWidget, STPD and AccountsWidget the same way. 2013-01-12 18:22:21 +01:00
Christian Muehlhaeuser
7c462f8ff0 * Get rid of qDebug usage in TreeView. 2013-01-12 04:35:14 +01:00
Tomahawk CI
175ef4f03a Automatic merge of Transifex translations 2013-01-12 01:16:57 +01:00
Dominik Schmidt
228f41c76d Merge pull request #150 from TheOneRing/fix_love
fixed crash on love, when thumb buttons where not initialized
2013-01-11 06:54:18 -08:00
Patrick von Reth
0e619addc4 fixed crash on love, when thumb buttons where not initialized 2013-01-11 15:51:59 +01:00
Dominik Schmidt
346a24ed7f Merge pull request #149 from TheOneRing/fix_windows
Fix native windows build
2013-01-11 06:36:51 -08:00
Patrick von Reth
08369c0476 removed the dll from the installer script 2013-01-11 15:35:18 +01:00
Patrick von Reth
b16d418102 fixed windows build 2013-01-11 10:27:59 +01:00
Christian Muehlhaeuser
a70ece1523 Use https:// for github urls. 2013-01-11 06:11:56 +01:00
Christian Muehlhaeuser
1cf86ef96a Updated README.md. 2013-01-11 06:06:41 +01:00
Tomahawk CI
969b662283 Automatic merge of Transifex translations 2013-01-11 01:18:18 +01:00
Jason Herskowitz
4b5023487f Fix some of the double-arrow svgs that were blank for some reason 2013-01-10 14:34:24 -05:00
Jeff Mitchell
6f9fd2ce4b Fix spaces -> tabs 2013-01-10 11:41:00 -05:00
Jeff Mitchell
79efd35b9a Allow high res mode on Retina Display macs, fixes font rendering (but
not icons)
2013-01-10 11:36:46 -05:00
Leo Franchi
65911fc133 For extra safety check if resolver is null 2013-01-10 09:50:26 -05:00
Christian Muehlhaeuser
2243e401e3 * Updated ChangeLog. 2013-01-10 12:38:08 +01:00
Christian Muehlhaeuser
a52cb5c92d * Tweak AudioControls layout a bit. A lot less margins now. 2013-01-10 05:43:48 +01:00
Tomahawk CI
bdcfca8e71 Automatic merge of Transifex translations 2013-01-10 01:16:32 +01:00
Leo Franchi
3b373b5bb6 Also display required version 2013-01-09 18:47:30 -05:00
Leo Franchi
6301c84cb0 Depend on libechonest 2.0.2 2013-01-09 18:46:17 -05:00
Stefan Derkits
cbee90db4b Update README.md
change libechonest dependency to git until a new libechonest version is released
2013-01-09 21:51:18 +01:00
Stefan Derkits
7d94b0b575 Merge pull request #147 from tomahawk-player/songtype
add Echonest SongType Support
2013-01-09 12:45:03 -08:00
Dominik Schmidt
29ee62b554 Include dir optimization 2013-01-09 19:33:59 +01:00
Stefan Derkits
a8010e2bb4 don't compare any user visible strings 2013-01-09 16:23:41 +01:00
Stefan Derkits
41c688aa68 style & capitalization fixes 2013-01-09 15:34:44 +01:00
Stefan Derkits
7c64dd8c6b Merge branch 'master' of git://github.com/tomahawk-player/tomahawk into songtype 2013-01-09 15:14:48 +01:00
Teo Mrnjavac
93256dbea3 Fix spinner graphic being cut off on certain DPI values. 2013-01-09 12:40:08 +01:00
Christian Muehlhaeuser
04e8132384 * Speed up item detection & size-hint calculation for huge collections. 2013-01-09 09:06:04 +01:00
Tomahawk CI
655a5d8ecf Automatic merge of Transifex translations 2013-01-09 08:02:50 +01:00
Christian Muehlhaeuser
cc9aa4c6f7 * Try to fix source translation again. 2013-01-09 07:43:14 +01:00
Christian Muehlhaeuser
ed5bf55b16 * Mark AccountFactoryWrapper.ui's as non-translatable. 2013-01-09 07:38:05 +01:00
Tomahawk CI
f8394a2ef2 Automatic merge of Transifex translations 2013-01-09 07:25:50 +01:00
Christian Muehlhaeuser
de0684d42a * Updated authors in about dialog. 2013-01-09 07:21:48 +01:00
Christian Muehlhaeuser
7746070433 * Fixed pt_BR translation. 2013-01-09 07:20:13 +01:00
Christian Muehlhaeuser
63049af4c4 * Fixed english source translation. 2013-01-09 07:19:25 +01:00
Christian Muehlhaeuser
23fe27ed5e * Updated ChangeLog. 2013-01-09 07:17:22 +01:00
Christian Muehlhaeuser
c984e79669 * Updated AUTHORS file. 2013-01-09 07:14:24 +01:00
Christian Muehlhaeuser
453c0ab0c4 * Don't pre-initialize the charts widget. This will require some more changes in WhatsHotWidget - to be discussed with Hugo. 2013-01-09 07:06:37 +01:00
Christian Muehlhaeuser
c832e63c59 * Style fixes in WhatsHotWidget. 2013-01-09 07:06:02 +01:00
Christian Muehlhaeuser
dd79ffe7e7 * Always enfore the vertical scrollbar on Artist & Album pages to get rid of flickery resizing. 2013-01-09 06:18:05 +01:00
Christian Muehlhaeuser
ecec703191 * Fixed Artist & Album page layout when the items don't fill up the entire view. 2013-01-09 06:14:35 +01:00
Christian Muehlhaeuser
d9dbc7f160 * Support external links in artist biographies. 2013-01-09 05:55:12 +01:00
Christian Muehlhaeuser
04175de726 * Use the same color for drawing charts-position & album-position. 2013-01-09 05:07:31 +01:00
Christian Muehlhaeuser
34da802874 * Use an AlbumItemDelegate for Artist page. 2013-01-09 04:33:23 +01:00
Christian Muehlhaeuser
ee13c25607 * Manual signal connect is obsolete. 2013-01-09 04:33:07 +01:00
Christian Muehlhaeuser
ebcda30c96 * Temporary fixes until PlaylistChartItemDelegate becomes a proper PlaylistItemDelegate. 2013-01-09 04:32:27 +01:00
Tomahawk CI
ed151e1e3a Automatic merge of Transifex translations 2013-01-09 01:17:45 +01:00
Christian Muehlhaeuser
ea9bc9a4a2 * Updated copyright in about dialog to 2013. 2013-01-08 23:06:24 +01:00
Christian Muehlhaeuser
0a97127ea8 * Fixed AudioEngine not correctly emitting stopped(). 2013-01-08 21:42:46 +01:00
Christian Muehlhaeuser
d2c83bf614 * Auto resize tophits view and limit it to 20 tracks. 2013-01-08 21:42:46 +01:00
Teo Mrnjavac
64a2854130 Send invite on returnPressed. 2013-01-08 20:02:03 +01:00
Teo Mrnjavac
2e511318f5 Try to remove frame from toolbar on Windows 8. 2013-01-08 19:02:01 +01:00
Dominik Schmidt
fd0a80da1f Remove headers from CMakeLists.txt which don't need to be tracked anymore because of automoc 2013-01-08 15:47:03 +01:00
Leo Franchi
d66afb9ba3 Don't crash when listening along if a result in a sourceplaylistinterface's next is not valid 2013-01-08 09:36:41 -05:00
Stefan Derkits
e32d6c0adf Change QWeakPointer to QPointer to make it compile again 2013-01-08 13:24:11 +01:00
Stefan Derkits
1f5533a2f9 Merge branch 'master' of git://github.com/tomahawk-player/tomahawk into songtype 2013-01-08 11:49:17 +01:00
Dominik Schmidt
852af5737a Merge branch 'stable-0.6' 2013-01-08 03:14:23 +01:00
Dominik Schmidt
195e929c7c Merge branch 'stable-0.6' 2013-01-08 02:49:24 +01:00
Dominik Schmidt
bd2f8b0f36 qt5: don't build qnetwm 2013-01-08 02:06:11 +01:00
Tomahawk CI
c389ca832f Automatic merge of Transifex translations 2013-01-08 01:16:53 +01:00
Jason Herskowitz
68a24914b9 Update ChangeLog
Add linkback source icon to changelog.
2013-01-07 09:20:56 -05:00
Jason Herskowitz
66dae03798 Update ChangeLog
Line break to changelog
2013-01-06 19:53:04 -05:00
Jason Herskowitz
7a04f2242f Update ChangeLog 2013-01-06 19:52:27 -05:00
Tomahawk CI
1e896eb554 Automatic merge of Transifex translations 2013-01-07 01:17:36 +01:00
Dominik Schmidt
66d5d0a403 Remove addPeerManually method in TomahawkWindow 2013-01-06 21:33:54 +01:00
Dominik Schmidt
e9eb4bea15 Move TOMAHAWK_SYSTEM to TomahawkVersion.h 2013-01-06 21:18:47 +01:00
Dominik Schmidt
7fb494c780 Don't use CMAKE_SYSTEM for version info - too detailed build time information 2013-01-06 21:15:21 +01:00
Dominik Schmidt
f6f15223db Fix compilation for windows 2013-01-06 14:17:35 +01:00
Dominik Schmidt
d7ba7ead99 qt5: that should have ended up in the latest commit, too late for git
for me
2013-01-06 05:16:37 +01:00
Dominik Schmidt
110fb0100d qt5: cmake: allow building Tomahawk against Qt4 and Qt5 2013-01-06 03:52:20 +01:00
Dominik Schmidt
033e6a3059 qt5: port InfoPlugins 2013-01-06 02:30:26 +01:00
Dominik Schmidt
61c347d21b Add friendlyNames to InfoPlugins and show them in the diagnostics dialog 2013-01-06 01:41:15 +01:00
Tomahawk CI
fc4acddaae Automatic merge of Transifex translations 2013-01-06 01:16:36 +01:00
Dominik Schmidt
48278260c2 qt5: last commit needs additional include in TomahawkApp 2013-01-05 23:43:16 +01:00
Dominik Schmidt
8261b840c2 qt5: move Q_DECLARE_METATYPE( Tomahawk::InfoSystem::InfoSystemCache* ) to where it belongs 2013-01-05 23:42:27 +01:00
Dominik Schmidt
6f116fadb6 qt5: ifdeffing didn't work, needs to be commented out 2013-01-05 23:37:54 +01:00
Dominik Schmidt
8a373681b2 qt5: ifdef two Q_DECLARE_METATYPE invocations out, for some reason they fail with Qt5 2013-01-05 23:22:03 +01:00
Dominik Schmidt
d829c09e9d qt5: register AudioErrorCode meta type only once 2013-01-05 23:12:07 +01:00
Dominik Schmidt
069b3f9239 qt5: ifdef QFileSystemModel::reset() out, an equivalent in Qt5 seems to be missing 2013-01-05 23:05:21 +01:00
Dominik Schmidt
13eb29a93a qt5: port to new QViewHeader API 2013-01-05 23:03:19 +01:00
Dominik Schmidt
a7cec4648f qt5: don't forward declare QStyleOptionViewItemV4, we need the include for the typedef 2013-01-05 22:51:20 +01:00
Dominik Schmidt
4d693cf4c9 qt5: fix typo 2013-01-05 22:45:41 +01:00
Dominik Schmidt
248565fc6d qt5: qxtweb: woops, some Ascii/Latin1 replacements slipped through 2013-01-05 22:14:39 +01:00
Dominik Schmidt
e821e2ef21 qt5: include qtconcurrentrun.h instead of QtConcurrentRun 2013-01-05 22:08:48 +01:00
Dominik Schmidt
6a7baca8aa qt5: no implicit QString from QUuid 2013-01-05 22:06:19 +01:00
Dominik Schmidt
82753732b9 qt5: port QxtWeb and the web api 2013-01-05 21:54:39 +01:00
Dominik Schmidt
d02b6232bf QxtWeb: add missing header 2013-01-05 20:37:59 +01:00
Dominik Schmidt
517a96cd86 QxtWeb: fix compilation with QT_STRICT_ITERATORS 2013-01-05 20:18:43 +01:00
Dominik Schmidt
d7645a33be Update QxtWeb 2013-01-05 20:16:31 +01:00
Dominik Schmidt
7969f4ab51 qt5: port the Logger 2013-01-05 17:15:54 +01:00
Dominik Schmidt
45c6396b0a qt5: use QStandardPaths in TomahawkSettings 2013-01-05 16:46:42 +01:00
Dominik Schmidt
504c1aece2 qt5: clean up Find modules and don't depend on Qt(4) in them anymore 2013-01-05 16:41:06 +01:00
Dominik Schmidt
74941e8aa4 qt5: fix/rearrange includes 2013-01-05 07:50:37 +01:00
Dominik Schmidt
587e0ad927 qt5: use to/fromLatin1 instead of to/fromAscii 2013-01-05 07:21:08 +01:00
Dominik Schmidt
29e73ad47c qt5: add QUrl comp layer 2013-01-05 07:09:33 +01:00
Christian Muehlhaeuser
a8bd444e6c * Fixed broken signal / slot connect. 2013-01-05 03:22:03 +01:00
Christian Muehlhaeuser
0eaf9bf1e6 * Fixed compiling. 2013-01-05 03:17:56 +01:00
Dominik Schmidt
17a9ec4e20 qt5: don't use QWeakPointer to track QObject* anymore 2013-01-05 03:07:44 +01:00
Christian Muehlhaeuser
c98803b531 * Added context menu to PlayableCover. 2013-01-05 02:26:43 +01:00
Christian Muehlhaeuser
929a98c21a * Use new color roles. 2013-01-05 02:20:24 +01:00
Christian Muehlhaeuser
623b5866ed * Added new color roles for selection foreground / background. 2013-01-05 02:20:24 +01:00
Tomahawk CI
df0563620d Automatic merge of Transifex translations 2013-01-05 01:16:37 +01:00
Stefan Derkits
eb68bde21c Merge branch 'master' of git://github.com/tomahawk-player/tomahawk into songtype 2013-01-04 14:08:28 +01:00
Stefan Derkits
f43fd2b383 Added correct Widget Update after Startup & Summary Text for Song Type Support 2012-12-02 22:53:13 +01:00
Stefan Derkits
2f591f89d2 First Implementation of SongType support in Playlists (needs libechonest from https://github.com/Horrendus/libechonest) 2012-12-01 14:43:04 +01:00
923 changed files with 87020 additions and 41680 deletions

2
.gitignore vendored
View File

@@ -1,3 +1,4 @@
src/accounts/tomahawk
*-build/*
build/*
.directory
@@ -20,3 +21,4 @@ win/
gcc/
tags
.DS_Store
*.autosave

13
AUTHORS
View File

@@ -4,15 +4,18 @@ Tomahawk is primarily authored by:
Contributors include:
* Leo Franchi <lfranchi@kde.org>
* Leo Franchi <lfranchi@tomahawk-player.org>
* Dominik Schmidt <domme@tomahawk-player.org>
* Jeff Mitchell <mitchell@kde.org>
* J Herskowitz <jherskow@gmail.com>
* Jeff Mitchell <jeff@tomahawk-player.org>
* J Herskowitz <j@tomahawk-player.org>
* Alejandro Wainzinger <aikawarazuni@gmail.com>
* Hugo Lindström <hugolm84@gmail.com>
* Hugo Lindström <hugo@tomahawk-player.org>
* Teo Mrnjavac <teo@kde.org>
* Michael Zanetti <dreadhead@follefuder.org>
* Christopher Reichert <christopher@tomahawk-player.org>
* Uwe L. Korn <uwelk@xhochy.com>
Thanks to:
* Harald Sitter <sitter@kde.org>
* Steve Robertson
* Syd Lawrence <syd@tomahawk-player.org>

View File

@@ -11,9 +11,19 @@ SET( TOMAHAWK_ORGANIZATION_DOMAIN "tomahawk-player.org" )
SET( TOMAHAWK_APPLICATION_NAME "Tomahawk" )
SET( TOMAHAWK_DESCRIPTION_SUMMARY "The social media player" )
IF( WIN32 )
SET( TOMAHAWK_SYSTEM "Windows" )
ELSEIF( APPLE )
SET( TOMAHAWK_SYSTEM "OS X" )
ELSEIF( UNIX )
SET( TOMAHAWK_SYSTEM "Linux")
ELSE()
SET( TOMAHAWK_SYSTEM "Uknown Platform, please let the Tomahawk team know, this actually happened" )
ENDIF()
SET( TOMAHAWK_VERSION_MAJOR 0 )
SET( TOMAHAWK_VERSION_MINOR 5 )
SET( TOMAHAWK_VERSION_PATCH 99 )
SET( TOMAHAWK_VERSION_MINOR 7 )
SET( TOMAHAWK_VERSION_PATCH 100 )
#SET( TOMAHAWK_VERSION_RC 0 )
SET( TOMAHAWK_TRANSLATION_LANGUAGES ar bg bn_IN ca cs de en el es fi fr hi_IN hu gl it ja lt pl pt_BR ru sv tr zh_CN zh_TW )
@@ -26,10 +36,15 @@ add_definitions( "-DQT_STRICT_ITERATORS" )
# build options
option(BUILD_GUI "Build Tomahawk with GUI" ON)
option(BUILD_RELEASE "Generate TOMAHAWK_VERSION without GIT info" OFF)
option(BUILD_TESTS "Build Tomahawk with unit tests" ON)
option(BUILD_HATCHET "Build the Hatchet plugin" OFF)
option(WITH_BREAKPAD "Build with breakpad integration" ON)
option(WITH_CRASHREPORTER "Build with CrashReporter" ON)
option(WITH_BINARY_ATTICA "Enable support for downloading binary resolvers automatically" ON)
option(LEGACY_KDE_INTEGRATION "Install tomahawk.protocol file, deprecated since 4.6.0" OFF)
option(WITH_UPOWER "Build with support for UPower events" OFF)
option(WITH_GNOMESHORTCUTHANDLER "Build with shortcut handler for GNOME" OFF)
IF( CMAKE_SYSTEM_PROCESSOR MATCHES "arm" )
message(STATUS "Build of breakpad library disabled on this platform.")
@@ -50,15 +65,17 @@ ENDIF()
# base string used in release and unstable builds
SET( TOMAHAWK_VERSION ${TOMAHAWK_VERSION_MAJOR}.${TOMAHAWK_VERSION_MINOR}.${TOMAHAWK_VERSION_PATCH} )
SET( TOMAHAWK_VERSION_SHORT "${TOMAHAWK_VERSION}" )
IF( TOMAHAWK_VERSION_RC )
SET( TOMAHAWK_VERSION ${TOMAHAWK_VERSION}rc${TOMAHAWK_VERSION_RC} )
ENDIF()
# additional info for non-release builds
IF( NOT BUILD_RELEASE AND EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/.git/" )
INCLUDE( CMakeDateStamp )
SET( TOMAHAWK_VERSION_DATE "${CMAKE_DATESTAMP_YEAR}${CMAKE_DATESTAMP_MONTH}${CMAKE_DATESTAMP_DAY}" )
IF( TOMAHAWK_VERSION_DATE GREATER 0)
IF( TOMAHAWK_VERSION_DATE GREATER 0 )
SET( TOMAHAWK_VERSION ${TOMAHAWK_VERSION}.${TOMAHAWK_VERSION_DATE} )
ENDIF()
@@ -81,35 +98,111 @@ INCLUDE( GNUInstallDirs )
# installer creation
INCLUDE( TomahawkCPack.cmake )
#deps
# deps
INCLUDE( MacroOptionalFindPackage )
INCLUDE( MacroLogFeature )
# Check if we need qtgui:
SET(NEEDED_QT4_COMPONENTS QtCore QtXml QtNetwork )
IF( NOT BUILD_GUI )
ADD_DEFINITIONS( -DENABLE_HEADLESS )
MESSAGE( STATUS "Building Tomahawk ${TOMAHAWK_VERSION} in HEADLESS mode ***" )
ELSE()
MESSAGE( STATUS "Building Tomahawk ${TOMAHAWK_VERSION} full GUI version ***" )
LIST(APPEND NEEDED_QT4_COMPONENTS "QtGui" "QtWebkit" "QtUiTools" )
ENDIF()
# headless mode
if( NOT BUILD_GUI )
add_definitions( -DENABLE_HEADLESS )
message( STATUS "Building Tomahawk ${TOMAHAWK_VERSION} in HEADLESS mode ***" )
else()
message( STATUS "Building Tomahawk ${TOMAHAWK_VERSION} full GUI version ***" )
endif()
IF( BUILD_GUI AND UNIX AND NOT APPLE )
FIND_PACKAGE( X11 )
ENDIF()
macro_optional_find_package(Qt4 4.7.0 COMPONENTS ${NEEDED_QT4_COMPONENTS} )
macro_log_feature(QT4_FOUND "Qt" "A cross-platform application and UI framework" "http://qt.nokia.com" TRUE "" "If you see this, although libqt4-devel is installed, check whether the \n qtwebkit-devel package and whatever contains QtUiTools is installed too")
if( NOT BUILD_WITH_QT4 )
find_package(Qt5Core QUIET)
if( Qt5Core_DIR )
find_package(Qt5Widgets QUIET)
message(STATUS "Found Qt5! Be aware that Qt5-support is still experimental and not officially supported!")
macro(qt_wrap_ui)
qt5_wrap_ui(${ARGN})
endmacro()
macro(qt_add_resources)
qt5_add_resources(${ARGN})
endmacro()
find_package(Qt5LinguistTools REQUIRED)
macro(qt_add_translation)
qt5_add_translation(${ARGN})
endmacro()
macro(setup_qt)
endmacro()
set(QT_RCC_EXECUTABLE "${Qt5Core_RCC_EXECUTABLE}")
#FIXME: CrashReporter depends on deprecated QHttp
set(WITH_CRASHREPORTER OFF)
set(WITH_BREAKPAD OFF)
endif()
endif()
if( NOT Qt5Core_DIR )
message(STATUS "Could not find Qt5, searching for Qt4 instead...")
set(NEEDED_QT4_COMPONENTS "QtCore" "QtXml" "QtNetwork")
if( BUILD_GUI )
list(APPEND NEEDED_QT4_COMPONENTS "QtGui" "QtWebkit" "QtUiTools" "QtSvg")
endif()
if( BUILD_TESTS )
list(APPEND NEEDED_QT4_COMPONENTS "QtTest")
endif()
macro_optional_find_package(Qt4 4.7.0 COMPONENTS ${NEEDED_QT4_COMPONENTS} )
macro_log_feature(QT4_FOUND "Qt" "A cross-platform application and UI framework" "http://qt.nokia.com" TRUE "" "If you see this, although libqt4-devel is installed, check whether the \n qtwebkit-devel package and whatever contains QtUiTools is installed too")
macro(qt5_use_modules)
endmacro()
macro(qt_wrap_ui)
qt4_wrap_ui(${ARGN})
endmacro()
macro(qt_add_resources)
qt4_add_resources(${ARGN})
endmacro()
macro(qt_add_translation)
qt4_add_translation(${ARGN})
endmacro()
macro(setup_qt)
if( NOT BUILD_GUI )
set(QT_DONT_USE_QTGUI TRUE)
endif()
if( UNIX AND NOT APPLE )
set(QT_USE_QTDBUS TRUE)
endif()
set(QT_USE_QTSQL TRUE)
set(QT_USE_QTNETWORK TRUE)
set(QT_USE_QTXML TRUE)
set(QT_USE_QTWEBKIT TRUE)
set(QT_USE_QTDECLARATIVE TRUE)
include( ${QT_USE_FILE} )
endmacro()
endif()
if( BUILD_GUI AND UNIX AND NOT APPLE )
find_package( X11 )
endif()
IF( UNIX AND NOT APPLE AND QT_QTDBUS_FOUND )
SET( WITH_UPOWER ON )
SET( WITH_GNOMESHORTCUTHANDLER ON )
ENDIF( UNIX AND NOT APPLE AND QT_QTDBUS_FOUND )
macro_optional_find_package(Phonon 4.5.0)
macro_log_feature(PHONON_FOUND "Phonon" "The Phonon multimedia library" "http://phonon.kde.org" TRUE "" "")
if(PHONON_FOUND)
if( PHONON_FOUND )
message(STATUS "Phonon found; ensure that phonon-vlc is at least 0.4")
endif()
macro_optional_find_package(Echonest 2.0.0)
macro_log_feature(ECHONEST_FOUND "Echonest" "Qt library for communicating with The Echo Nest" "http://projects.kde.org/libechonest" TRUE "" "libechonest 2.0.0 is needed for dynamic playlists and the infosystem")
macro_optional_find_package(Echonest 2.1.0)
macro_log_feature(ECHONEST_FOUND "Echonest" "Qt library for communicating with The Echo Nest" "http://projects.kde.org/libechonest" TRUE "" "libechonest 2.1.0 is needed for dynamic playlists and the infosystem")
macro_optional_find_package(CLucene 0.9.23)
macro_log_feature(CLucene_FOUND "CLucene" "The open-source, C++ search engine" "http://clucene.sf.net" TRUE "" "CLucene is used for indexing the collection")
@@ -122,11 +215,11 @@ macro_log_feature(TAGLIB_FOUND "TagLib" "Audio Meta-Data Library" "http://develo
include( CheckTagLibFileName )
check_taglib_filename( COMPLEX_TAGLIB_FILENAME )
macro_optional_find_package(Boost)
macro_log_feature(Boost_FOUND "Boost" "Provides free peer-reviewed portable C++ source libraries" "http://www.boost.org" TRUE "" "") #FIXME: give useful explaination
find_package(Boost REQUIRED)
macro_log_feature(Boost_FOUND "Boost" "Provides free peer-reviewed portable C++ source libraries" "http://www.boost.org" TRUE "" "") #FIXME: give useful explanation
macro_optional_find_package(QCA2)
macro_log_feature(QCA2_FOUND "QCA2" "Provides encryption and signing functions required for Grooveshark resolver" "http://delta.affinix.com/qca/" TRUE "" "")
macro_log_feature(QCA2_FOUND "QCA2" "Provides encryption and signing functions necessary for some resolvers and accounts" "http://delta.affinix.com/qca/" TRUE "" "")
macro_optional_find_package(LibAttica 0.4.0)
macro_log_feature(LIBATTICA_FOUND "libattica" "Provides support for installation of resolvers from the Tomahawk website" "https://projects.kde.org/projects/kdesupport/attica" TRUE "" "")
@@ -136,7 +229,7 @@ macro_log_feature(QuaZip_FOUND "QuaZip" "Provides support for extracting downloa
macro_optional_find_package(Jreen 1.0.5)
macro_log_feature(JREEN_FOUND "Jreen" "Qt XMPP Library" "http://qutim.org/jreen / https://github.com/euroelessar/jreen" FALSE "" "Jreen is needed for the Jabber SIP plugin.\n")
if(PC_JREEN_VERSION STREQUAL "1.1.0")
if( PC_JREEN_VERSION STREQUAL "1.1.0" )
message(FATAL_ERROR "Jreen 1.1.0 has a very annoying bug that breaks accepting auth requests in Tomahawk. Please upgrade to 1.1.1 or downgrade to 1.0.5.")
endif()
@@ -144,12 +237,31 @@ macro_optional_find_package(QTweetLib)
macro_log_feature(QTWEETLIB_FOUND "QTweetLib" "Qt Twitter Library" "https://github.com/minimoog/QTweetLib" FALSE "" "QTweetLib is needed for the Twitter SIP plugin.\n")
macro_optional_find_package(LibLastFm 1.0.0)
macro_log_feature(LIBLASTFM_FOUND "liblastfm" "Qt library for the Last.fm webservices" "https://github.com/eartle/liblastfm" TRUE "" "liblastfm is needed for scrobbling tracks to Last.fm and fetching cover artwork")
macro_log_feature(LIBLASTFM_FOUND "liblastfm" "Qt library for the Last.fm webservices" "https://github.com/lastfm/liblastfm" TRUE "" "liblastfm is needed for scrobbling tracks to Last.fm and fetching cover artwork")
IF( WIN32 )
macro_optional_find_package(QtKeychain 0.1.0)
macro_log_feature(QTKEYCHAIN_FOUND "QtKeychain" "Provides support for secure credentials storage" "https://github.com/frankosterfeld/qtkeychain" TRUE "" "")
# we need pthreads too
macro_optional_find_package(Threads)
macro_log_feature(THREADS_FOUND "Threads" "Threading Library" "" TRUE "" "Platform specific library for threading")
### QtSparkle
if( WIN32 )
macro_optional_find_package(QtSparkle)
macro_log_feature(QTSPARKLE_FOUND "qtsparkle" "Library for creating auto updaters written in Qt" "https://github.com/davidsansome/qtsparkle" FALSE "" "")
ENDIF( WIN32 )
endif( WIN32 )
#TODO: support external qxt
set(QXTWEB_FOUND TRUE)
set(QXTWEB_LIBRARIES qxtweb-standalone)
set(QXTWEB_INCLUDE_DIRS ${THIRDPARTY_DIR}/qxt/qxtweb-standalone/web ${THIRDPARTY_DIR}/qxt/qxtweb-standalone/network ${THIRDPARTY_DIR}/qxt/qxtweb-standalone/core ${CMAKE_CURRENT_BINARY_DIR})
### libportfwd
set(LIBPORTFWD_INCLUDE_DIR ${THIRDPARTY_DIR}/libportfwd/include)
set(LIBPORTFWD_LIBRARY tomahawk_portfwd)
set(LIBPORTFWD_LIBRARIES ${LIBPORTFWD_LIBRARY})
add_subdirectory(${THIRDPARTY_DIR}/libportfwd)
#### submodules start
# automatically init submodules here, don't delete this code we may add submodules again
@@ -165,16 +277,6 @@ ENDIF( WIN32 )
#### submodules end
### libportfwd
SET( LIBPORTFWD_INCLUDE_DIR ${THIRDPARTY_DIR}/libportfwd/include )
SET( LIBPORTFWD_LIBRARY tomahawk_portfwd )
SET( LIBPORTFWD_LIBRARIES ${LIBPORTFWD_LIBRARY} )
ADD_SUBDIRECTORY( ${THIRDPARTY_DIR}/libportfwd )
# we need pthreads too
macro_optional_find_package(Threads)
macro_log_feature(THREADS_FOUND "Threads" "Threading Library" "" TRUE "" "Platform specific library for threading")
macro_optional_find_package(KDE4)
macro_optional_find_package(KDE4Installed)
@@ -182,7 +284,7 @@ macro_optional_find_package(KDE4Installed)
# for future kde integration
# macro_optional_find_package(KDE4)
IF(KDE4_FOUND)
IF( KDE4_FOUND )
IF( CMAKE_C_FLAGS )
# KDE4 adds and removes some compiler flags that we don't like
# (only for gcc not for clang e.g.)
@@ -218,5 +320,51 @@ SET( TOMAHAWK_LIBRARIES tomahawklib )
ADD_SUBDIRECTORY( thirdparty )
ADD_SUBDIRECTORY( src )
ADD_SUBDIRECTORY( src/libtomahawk )
ADD_SUBDIRECTORY( admin )
if( BUILD_TESTS )
enable_testing()
add_subdirectory( tests )
endif()
# Add all targets to the build-tree export set
set(CMAKE_INSTALL_CMAKEDIR "${CMAKE_INSTALL_LIBDIR}/cmake/Tomahawk" CACHE PATH "Installation directory for CMake files")
set(CMAKE_INSTALL_FULL_CMAKEDIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_CMAKEDIR}")
export(TARGETS tomahawklib
FILE "${PROJECT_BINARY_DIR}/TomahawkLibraryDepends.cmake")
# Export the package for use from the build-tree
# (this registers the build-tree with a global CMake-registry)
export(PACKAGE Tomahawk)
# Create a TomahawkBuildTreeSettings.cmake file for the use from the build tree
configure_file(TomahawkBuildTreeSettings.cmake.in "${PROJECT_BINARY_DIR}/TomahawkBuildTreeSettings.cmake" @ONLY)
# Create the TomahawkConfig.cmake and TomahawkConfigVersion files
file(RELATIVE_PATH CONF_REL_INCLUDE_DIR "${CMAKE_INSTALL_FULL_CMAKEDIR}" "${CMAKE_INSTALL_FULL_INCLUDEDIR}")
configure_file(TomahawkConfig.cmake.in "${PROJECT_BINARY_DIR}/TomahawkConfig.cmake" @ONLY)
configure_file(TomahawkConfigVersion.cmake.in "${PROJECT_BINARY_DIR}/TomahawkConfigVersion.cmake" @ONLY)
file(COPY TomahawkUse.cmake DESTINATION "${PROJECT_BINARY_DIR}")
file(COPY TomahawkAddPlugin.cmake DESTINATION "${PROJECT_BINARY_DIR}")
# Install the cmake files
install(
FILES
"${PROJECT_BINARY_DIR}/TomahawkConfig.cmake"
"${PROJECT_BINARY_DIR}/TomahawkConfigVersion.cmake"
"${PROJECT_BINARY_DIR}/TomahawkUse.cmake"
"${PROJECT_BINARY_DIR}/TomahawkAddPlugin.cmake"
DESTINATION
"${CMAKE_INSTALL_CMAKEDIR}"
)
# Install the export set for use with the install-tree
install(
EXPORT
TomahawkLibraryDepends
DESTINATION
"${CMAKE_INSTALL_CMAKEDIR}"
)

View File

@@ -7,11 +7,6 @@
# (c) Dominik Schmidt <dev@dominik-schmidt.de>
#
# Dependencies
if(NOT QT4_FOUND)
find_package(Qt4 REQUIRED)
endif()
# Include dir
find_path(LIBLASTFM_INCLUDE_DIR
# Track.h doesn't exist in liblastfm-0.3.1, was called Track back then

View File

@@ -6,45 +6,24 @@
# QJSON_INCLUDE_DIR - the include path of the qjson library
#
if (QJSON_INCLUDE_DIR AND QJSON_LIBRARIES)
# Already in cache
set (QJSON_FOUND TRUE)
else (QJSON_INCLUDE_DIR AND QJSON_LIBRARIES)
if (NOT WIN32)
# use pkg-config to get the values of QJSON_INCLUDE_DIRS
# and QJSON_LIBRARY_DIRS to add as hints to the find commands.
include (FindPkgConfig)
pkg_check_modules (QJSON REQUIRED QJson>=0.5)
endif (NOT WIN32)
find_library (QJSON_LIBRARIES
find_library (QJSON_LIBRARIES
NAMES
qjson
PATHS
${QJSON_LIBRARY_DIRS}
${LIB_INSTALL_DIR}
${KDE4_LIB_DIR}
)
)
find_path (QJSON_INCLUDE_DIR
find_path (QJSON_INCLUDE_DIR
NAMES
parser.h
PATH_SUFFIXES
qjson
qjson/parser.h
PATHS
${QJSON_INCLUDE_DIRS}
${INCLUDE_INSTALL_DIR}
${KDE4_INCLUDE_DIR}
)
)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(QJSON DEFAULT_MSG QJSON_LIBRARIES QJSON_INCLUDE_DIR)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(QJSON DEFAULT_MSG QJSON_LIBRARIES QJSON_INCLUDE_DIR)
if ( UNIX AND NOT APPLE )
set ( QJSON_LIBRARIES "${QJSON_LIBRARIES} ${QJSON_LDFLAGS}" CACHE INTERNAL "")
endif ()
endif (QJSON_INCLUDE_DIR AND QJSON_LIBRARIES)

View File

@@ -7,9 +7,6 @@
# (c) Dominik Schmidt <dev@dominik-schmidt.de>
#
# Dependencies
find_package(Qt4 REQUIRED)
# Include dir
find_path(QTWEETLIB_INCLUDE_DIR
NAMES QTweetLib/qtweetlib_global.h

View File

@@ -1,11 +1,10 @@
find_package(Qt4)
find_path(QuaZip_INCLUDE_DIR quazip.h ${CMAKE_INSTALL_PREFIX}/include/quazip ${CMAKE_INSTALL_PREFIX}/include /usr/include/quazip /usr/local/include/quazip ${QT_INCLUDE_DIR}/quazip ${QT_INCLUDE_DIR} ${QUAZIP_DIR}/include/quazip ${QUAZIP_DIR}/quazip ${QUAZIP_DIR}/include)
find_path(QuaZip_INCLUDE_DIR quazip/quazip.h ${CMAKE_INSTALL_PREFIX}/include/quazip ${CMAKE_INSTALL_PREFIX}/include /usr/include/quazip /usr/local/include/quazip ${QT_INCLUDE_DIR}/quazip ${QT_INCLUDE_DIR} ${QUAZIP_DIR}/include/quazip ${QUAZIP_DIR}/quazip ${QUAZIP_DIR}/include)
find_library(QuaZip_LIBRARY NAMES quazip PATHS ${CMAKE_INSTALL_PREFIX}/lib64 ${CMAKE_INSTALL_PREFIX}/lib ${CMAKE_INSTALL_PREFIX}/Library/Frameworks ${QUAZIP_DIR}/lib64 ${QUAZIP_DIR}/lib ${QUAZIP_DIR}/quazip ${QUAZIP_DIR})
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(quazip DEFAULT_MSG QuaZip_LIBRARY QuaZip_INCLUDE_DIR)
set(QuaZip_LIBRARIES ${QuaZip_LIBRARY})
mark_as_advanced(QuaZip_LIBRARY QuaZip_INCLUDE_DIR)
if(QuaZip_LIBRARY AND QuaZip_INCLUDE_DIR)
set(QuaZip_FOUND TRUE)
if(QuaZip_LIBRARY AND QuaZip_INCLUDE_DIR)
set(QuaZip_FOUND TRUE)
endif()

View File

@@ -274,11 +274,8 @@ Section "Tomahawk Player" SEC_TOMAHAWK_PLAYER
File "${INSTALL_PATH}\bin\tomahawk.exe"
File "${INSTALL_PATH}\bin\tomahawk_crash_reporter.exe"
File "${INSTALL_PATH}\bin\libtomahawk_breakpad.dll"
File "${INSTALL_PATH}\bin\libqxtweb-standalone.dll"
File "${INSTALL_PATH}\bin\libtomahawk_portfwd.dll"
File "${INSTALL_PATH}\bin\libtomahawklib.dll"
File "${INSTALL_PATH}\bin\libtomahawk.dll"
; plugins
File "${INSTALL_PATH}\lib\libtomahawk_*_*.dll"
!endif
@@ -287,11 +284,8 @@ Section "Tomahawk Player" SEC_TOMAHAWK_PLAYER
File "${BUILD_PATH}\tomahawk.exe"
File "${BUILD_PATH}\tomahawk_crash_reporter.exe"
File "${BUILD_PATH}\libtomahawk_breakpad.dll"
File "${BUILD_PATH}\libtomahawklib.dll"
File "${BUILD_PATH}\libqxtweb-standalone.dll"
File "${BUILD_PATH}\libtomahawk_portfwd.dll"
File "${BUILD_PATH}\libtomahawk.dll"
; plugins
File "${BUILD_PATH}\libtomahawk_*_*.dll"
!endif
@@ -354,6 +348,7 @@ Section "Tomahawk Player" SEC_TOMAHAWK_PLAYER
File "${MING_BIN}\liblastfm.dll"
File "${MING_BIN}\libQTweetLib.dll"
File "${MING_BIN}\libquazip.dll"
File "${MING_BIN}\libqtkeychain.dll"
; Jabber
File "${MING_BIN}\libjreen.dll"
@@ -364,8 +359,8 @@ Section "Tomahawk Player" SEC_TOMAHAWK_PLAYER
File "${MING_BIN}\libssl-8.dll"
File "${MING_BIN}\libcrypto-8.dll"
File "${MING_LIB}\libclucene-core.dll"
File "${MING_LIB}\libclucene-shared.dll"
File "${MING_BIN}\libclucene-core.dll"
File "${MING_BIN}\libclucene-shared.dll"
File "${MING_BIN}\libqtsparkle.dll"
File "${MING_BIN}\libattica.dll"

View File

@@ -1,3 +1,42 @@
Version 0.8.0:
* Playback Queue now saves its state across sessions.
* Added "Inbox" feature, showing incoming song recommendations. Dropping
a track on a user in the sidebar sends a recommendation to them.
* You will now be asked whether you want to trust invalid SSL certificates.
* Improved connecting between Tomahawk peers and support having multiple IPs
(including IPv6)
* Added Network Activity showing you the most played tracks of your friends.
Version 0.7.1:
* Heavily reduced memory footprint during and after indexing the database.
Version 0.7.0:
* JavaScript Resolvers can now expose collections.
* Introduced bundle system for JavaScript Resolvers, called "axes".
* Fixed playback-loop caused by duplicate tracks in a playlist.
* Improved peer handling and removed connection support through Twitter.
* Taking an account offline now also disconnects associated peers.
* Improved spotify protocol handling.
* Added "Append to Playlist" context menu item.
* User-friendlier collection handling: added info-buttons for artists and
albums. Double-clicking an item expands it now.
* Charts only load on-demand now.
* Fixed Diagnostics information not correctly updating.
* Fixed issue with hidden sidebar and panels.
* Fixed issues with some color schemes.
* Fixed playing files with special characters in the filename.
* Improved stability.
* Added translations for Catalan, Czech, Galician, Greek, Italian and
Chinese.
* (Windows) Smoother and more responsive audio playback.
* (Linux) Fixed grid issues with GTK-styles.
Version 0.6.1:
* Improved stability.
* Improved UPnP detection and port-forwarding.
* Fixed scrolling behaviour of grid-views.
* Lots of small design tweaks and fixes.
Version 0.6.0:
* Improved icon theme with vector graphics.
* Higher resolution artist and album images.
@@ -5,6 +44,8 @@ Version 0.6.0:
biographies.
* New AudioControl logic - only enable Prev/Skip buttons if available.
* Added more options to right-click/context menus.
* Resolver source icon in Audiocontrols now supports being a link-back URL
to original source.
* Make friends' currently playing song (in sidebar) clickable.
* Improve MusicBrainz plugin to use normalized artist names and avoid
duplicate tracks.
@@ -22,8 +63,11 @@ Version 0.6.0:
* Remove YouTube resolver from plug-in directory on request of YouTube.
* Fixed iTunes m3u playlist support.
* Support dropping of new Soundcloud user, track, set & likes URLs.
* Add HotNewHipHop as available chart.
* Add iTunes as available source for New Releases.
* Added HotNewHipHop as available chart.
* Added iTunes as available source for New Releases.
* Updates and additions to translations including: Japanese, Bulgarian,
Finnish, Russian, Arabic, Chinese, Swedish, Czech and more.
* (Windows) Added thumb buttons to Windows 7's taskbar.
* (Linux) Allow disabling of playback notifications.
Version 0.5.5:
@@ -430,4 +474,4 @@ Version 0.0.2:
* Tomahawk now asks you to authorize new contacts.
Version 0.0.1:
* First public release.
* First public release.

View File

@@ -13,6 +13,7 @@ Compile:
Start the application on Linux:
$ ./tomahawk
Start the application on OS X:
$ open tomahawk.app
@@ -20,11 +21,11 @@ Start the application on OS X:
Detailed building instructions for Ubuntu
-----------------------------------------
See: http://wiki.tomahawk-player.org/index.php/Building_Ubuntu_Binary_on_Precise_(12.04)
See: http://wiki.tomahawk-player.org/index.php/Building_Binary_on_Ubuntu_Precise_(12.04)
Detailed building instructions for OS X
---------------------------------------
See: http://wiki.tomahawk-player.org/index.php/Building_OS_X_Application_Bundle_on_Snow_Leopard_(10.6)_and_Lion_(10.7)
See: http://wiki.tomahawk-player.org/index.php/Building_OS_X_Application_Bundle
Doxygen Documentation
---------------------
@@ -36,31 +37,32 @@ Dependencies
Required dependencies:
* CMake 2.8.6 - http://www.cmake.org/
* Qt 4.7.0 - http://qt.nokia.com/
* Qt 4.7.0 - http://qt-project.org/
* Phonon 4.6.0 - http://phonon.kde.org/
* QJson 0.7.1 - http://qjson.sourceforge.net/
* SQLite 3.6.22 - http://www.sqlite.org/
* TagLib 1.6.2 - http://developer.kde.org/~wheeler/taglib.html
* Boost 1.3 - http://www.boost.org/
* CLucene 0.9.23 (0.9.21 will fail) - http://clucene.sourceforge.net/download.shtml
* libechonest 2.0.0 - http://projects.kde.org/projects/playground/libs/libechonest/
* libechonest 2.0.3 - http://projects.kde.org/projects/playground/libs/libechonest/
* Attica 0.4.0 - ftp://ftp.kde.org/pub/kde/stable/attica/
* QuaZip 0.4.3 - http://quazip.sourceforge.net/
* liblastfm 1.0.1 - http://github.com/lastfm/liblastfm/
* liblastfm 1.0.1 - https://github.com/lastfm/liblastfm/
* QtKeychain 0.1 - https://github.com/frankosterfeld/qtkeychain/
The following dependencies are optional, but recommended:
* Jreen 1.0.5 (1.1.0 will fail, 1.1.1 is fine) - http://qutim.org/jreen / https://github.com/euroelessar/jreen
* QTweetLib 0.5.0 - https://github.com/minimoog/QTweetLib
* Jreen 1.0.5 (1.1.0 will fail, 1.1.1 is fine) - http://qutim.org/jreen/
* QTweetLib 0.5.0 - https://github.com/minimoog/QTweetLib/
Third party libraries that we ship with our source:
* MiniUPnP 1.6 - http://miniupnp.free.fr/
* Breakpad - http://code.google.com/p/google-breakpad/
* Qocoa - http://github.com/mikemcquaid/Qocoa
* Qocoa - https://github.com/mikemcquaid/Qocoa/
* libqnetwm - http://code.google.com/p/libqnetwm/
* libqxt (QxtWeb module) - http://libqxt.org
* SPMediaKeyTap - https://github.com/nevyn/SPMediaKeyTap
* kdsingleapplicationguard
* libqxt (QxtWeb module) - http://libqxt.org/
* SPMediaKeyTap - https://github.com/nevyn/SPMediaKeyTap/
* kdSingleApplicationGuard - http://www.kdab.com/
Enjoy!

View File

@@ -38,10 +38,10 @@ MACRO(CDR var junk)
ENDMACRO(CDR)
macro(add_tomahawk_plugin)
macro(tomahawk_add_plugin)
parse_arguments(PLUGIN
"SOURCES;UI;LINK_LIBRARIES;TYPE;EXPORT_MACRO;COMPILE_DEFINITIONS"
"NO_INSTALL"
"NO_INSTALL;SHARED_LIB"
${ARGN}
)
car(PLUGIN_NAME ${PLUGIN_DEFAULT_ARGS})
@@ -59,18 +59,25 @@ macro(add_tomahawk_plugin)
# qt stuff
include_directories(${CMAKE_CURRENT_BINARY_DIR})
if(PLUGIN_UI)
qt4_wrap_ui(PLUGIN_UI_SOURCES ${PLUGIN_UI})
qt_wrap_ui(PLUGIN_UI_SOURCES ${PLUGIN_UI})
list(APPEND PLUGIN_SOURCES ${PLUGIN_UI_SOURCES})
endif()
if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/resources.qrc")
qt4_add_resources(PLUGIN_RC_SOURCES "resources.qrc")
qt_add_resources(PLUGIN_RC_SOURCES "resources.qrc")
list(APPEND PLUGIN_SOURCES ${PLUGIN_RC_SOURCES})
unset(PLUGIN_RC_SOURCES)
endif()
# add target
add_library(${target} MODULE ${PLUGIN_SOURCES})
if(NOT ${PLUGIN_SHARED_LIB})
add_library(${target} MODULE ${PLUGIN_SOURCES})
else()
add_library(${target} SHARED ${PLUGIN_SOURCES})
endif()
# add qt modules
qt5_use_modules(${target} Core Network Widgets Sql Xml DBus)
# definitions - can this be moved into set_target_properties below?
add_definitions(${QT_DEFINITIONS})
@@ -86,7 +93,7 @@ macro(add_tomahawk_plugin)
endif()
# add link targets
target_link_libraries(${target} tomahawklib)
target_link_libraries(${target} ${TOMAHAWK_LIBRARIES})
if(PLUGIN_LINK_LIBRARIES)
target_link_libraries(${target} ${PLUGIN_LINK_LIBRARIES})
endif()

View File

@@ -0,0 +1,4 @@
set(TOMAHAWK_INCLUDE_DIRS
"@PROJECT_SOURCE_DIR@/src/libtomahawk"
"@PROJECT_BINARY_DIR@/src/libtomahawk"
)

21
TomahawkConfig.cmake.in Normal file
View File

@@ -0,0 +1,21 @@
# - Config file for the Tomahawk package
# It defines the following variables
# TOMAHAWK_INCLUDE_DIRS - include directories for Tomahawk
# TOMAHAWK_LIBRARIES - libraries to link against
# TOMAHAWK_EXECUTABLE - the bar executable
# Compute paths
get_filename_component(TOMAHAWK_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
if(EXISTS "${TOMAHAWK_CMAKE_DIR}/CMakeCache.txt")
# In build tree
include("${TOMAHAWK_CMAKE_DIR}/TomahawkBuildTreeSettings.cmake")
else()
set(TOMAHAWK_INCLUDE_DIRS "${TOMAHAWK_CMAKE_DIR}/@CONF_REL_INCLUDE_DIR@/libtomahawk")
endif()
# Our library dependencies (contains definitions for IMPORTED targets)
include("${TOMAHAWK_CMAKE_DIR}/TomahawkLibraryDepends.cmake")
# These are IMPORTED targets created by TomahawkLibraryDepends.cmake
set(TOMAHAWK_LIBRARIES tomahawklib)
set(TOMAHAWK_USE_FILE "${TOMAHAWK_CMAKE_DIR}/TomahawkUse.cmake")

View File

@@ -0,0 +1,12 @@
set(PACKAGE_VERSION "@TOMAHAWK_VERSION@")
# Check whether the requested PACKAGE_FIND_VERSION is compatible
if("${PACKAGE_VERSION}" VERSION_LESS "${PACKAGE_FIND_VERSION}")
set(PACKAGE_VERSION_COMPATIBLE FALSE)
else()
set(PACKAGE_VERSION_COMPATIBLE TRUE)
if ("${PACKAGE_VERSION}" VERSION_EQUAL "${PACKAGE_FIND_VERSION}")
set(PACKAGE_VERSION_EXACT TRUE)
endif()
endif()

34
TomahawkUse.cmake Normal file
View File

@@ -0,0 +1,34 @@
#FIXME: this only handles qt4 and duplicates top level cmakelists: how can we reduce code duplication?
find_package(Qt4 COMPONENTS QtNetwork QtCore QtGui QtSql QtDeclarative REQUIRED)
include( ${QT_USE_FILE} )
set(NEEDED_QT4_COMPONENTS "QtCore" "QtXml" "QtNetwork")
if(BUILD_GUI OR NOT DEFINED BUILD_GUI)
list(APPEND NEEDED_QT4_COMPONENTS "QtGui" "QtWebkit" "QtUiTools" "QtSvg" "QtDeclarative")
endif()
find_package(Qt4 4.7.0 COMPONENTS ${NEEDED_QT4_COMPONENTS})
include( ${QT_USE_FILE} )
macro(qt5_use_modules)
endmacro()
macro(qt_wrap_ui)
qt4_wrap_ui(${ARGN})
endmacro()
macro(qt_add_resources)
qt4_add_resources(${ARGN})
endmacro()
macro(qt_add_translation)
qt4_add_translation(${ARGN})
endmacro()
if(NOT TOMAHAWK_CMAKE_DIR)
set(TOMAHAWK_CMAKE_DIR ${CMAKE_CURRENT_LIST_DIR})
endif()
include( "${TOMAHAWK_CMAKE_DIR}/TomahawkAddPlugin.cmake" )

View File

@@ -26,6 +26,8 @@
<string>10.5.0</string>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
<key>NSHighResolutionCapable</key>
<true />
<key>SUFeedURL</key>
<string>http://download.tomahawk-player.org/sparkle/update.php</string>
<key>SUPublicDSAKeyFile</key>

View File

@@ -5,11 +5,15 @@ Name=Tomahawk
GenericName=Music Player
GenericName[de]=Musik Player
GenericName[fi]=Musiikkisoitin
GenericName[pl]=Odtwarzacz Muzyki
GenericName[se]=Musikspelare
TryExec=tomahawk
Exec=tomahawk %u
Comment=Tomahawk - Social Music Player
Comment=Tomahawk Social Music Player
Comment[fi]=Tomahawk sosiaalinen musiikkisoitin
Comment[pl]=Tomahawk Społecznościowy Odtwarzacz Muzyki
Comment[se]=Tomahawk — Den Sociala Musikspelaren
Icon=tomahawk
Terminal=false
Categories=Qt;AudioVideo;Audio;Player;
MimeType=x-scheme-handler/tomahawk;
MimeType=x-scheme-handler/tomahawk;x-scheme-handler/spotify;

View File

@@ -5,11 +5,9 @@ SET(CMAKE_SYSTEM_NAME Windows)
# specify the cross compiler
SET(CMAKE_C_COMPILER ccache ${MINGW_PREFIX}-gcc)
SET(CMAKE_C_FLAGS "-fno-keep-inline-dllexport")
SET(CMAKE_CXX_COMPILER ccache ${MINGW_PREFIX}-g++)
SET(CMAKE_CXX_FLAGS ${CMAKE_C_FLAGS})
SET(CMAKE_RC_COMPILER /usr/bin/${MINGW_PREFIX}-windres)
SET(CMAKE_C_COMPILER ${MINGW_PREFIX}-gcc)
SET(CMAKE_CXX_COMPILER ${MINGW_PREFIX}-g++)
SET(CMAKE_RC_COMPILER ${MINGW_PREFIX}-windres)
# where is the target environment containing libraries
SET(CMAKE_FIND_ROOT_PATH /usr/${MINGW_PREFIX}/sys-root/mingw)
@@ -18,6 +16,19 @@ SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
# configure qt variables
SET(QT_LIBRARY_DIR /usr/${MINGW_PREFIX}/bin)
SET(QT_PLUGINS_DIR ${CMAKE_FIND_ROOT_PATH}/lib/qt4/plugins/)
## configure qt variables
# generic
SET(QMAKESPEC win32-g++-cross)
# dirs
SET(QT_LIBRARY_DIR /usr/${MINGW_PREFIX}/bin)
SET(QT_PLUGINS_DIR ${CMAKE_FIND_ROOT_PATH}/lib/qt4/plugins)
SET(QT_MKSPECS_DIR ${CMAKE_FIND_ROOT_PATH}/share/qt4/mkspecs)
SET(QT_QT_INCLUDE_DIR ${CMAKE_FIND_ROOT_PATH}/include)
# qt tools
SET(QT_QMAKE_EXECUTABLE ${MINGW_PREFIX}-qmake )
SET(QT_MOC_EXECUTABLE ${MINGW_PREFIX}-moc)
SET(QT_RCC_EXECUTABLE ${MINGW_PREFIX}-rcc)
SET(QT_UIC_EXECUTABLE ${MINGW_PREFIX}-uic)
SET(QT_LRELEASE_EXECUTABLE ${MINGW_PREFIX}-lrelease)

View File

@@ -75,7 +75,9 @@ rm -rvf \
stream_filter/ \
**/libtheora_plugin* \
**/liblibbluray_plugin* \
**/libdtv_plugin*
**/libdtv_plugin* \
**/*.dll.a \
**/*.la
echo "Downloaded and stripped VLC"

Binary file not shown.

92
data/fonts/OFL.txt Normal file
View File

@@ -0,0 +1,92 @@
Copyright (c) 2009-2011 by Accademia di Belle Arti di Urbino and students of MA course of Visual design. Some rights reserved.
This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at:
http://scripts.sil.org/OFL
-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------
PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide
development of collaborative font projects, to support the font creation
efforts of academic and linguistic communities, and to provide a free and
open framework in which fonts may be shared and improved in partnership
with others.
The OFL allows the licensed fonts to be used, studied, modified and
redistributed freely as long as they are not sold by themselves. The
fonts, including any derivative works, can be bundled, embedded,
redistributed and/or sold with any software provided that any reserved
names are not used by derivative works. The fonts and derivatives,
however, cannot be released under any other type of license. The
requirement for fonts to remain under this license does not apply
to any document created using the fonts or their derivatives.
DEFINITIONS
"Font Software" refers to the set of files released by the Copyright
Holder(s) under this license and clearly marked as such. This may
include source files, build scripts and documentation.
"Reserved Font Name" refers to any names specified as such after the
copyright statement(s).
"Original Version" refers to the collection of Font Software components as
distributed by the Copyright Holder(s).
"Modified Version" refers to any derivative made by adding to, deleting,
or substituting -- in part or in whole -- any of the components of the
Original Version, by changing formats or by porting the Font Software to a
new environment.
"Author" refers to any designer, engineer, programmer, technical
writer or other person who contributed to the Font Software.
PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining
a copy of the Font Software, to use, study, copy, merge, embed, modify,
redistribute, and sell modified and unmodified copies of the Font
Software, subject to the following conditions:
1) Neither the Font Software nor any of its individual components,
in Original or Modified Versions, may be sold by itself.
2) Original or Modified Versions of the Font Software may be bundled,
redistributed and/or sold with any software, provided that each copy
contains the above copyright notice and this license. These can be
included either as stand-alone text files, human-readable headers or
in the appropriate machine-readable metadata fields within text or
binary files as long as those fields can be easily viewed by the user.
3) No Modified Version of the Font Software may use the Reserved Font
Name(s) unless explicit written permission is granted by the corresponding
Copyright Holder. This restriction only applies to the primary font name as
presented to the users.
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
Software shall not be used to promote, endorse or advertise any
Modified Version, except to acknowledge the contribution(s) of the
Copyright Holder(s) and the Author(s) or with their explicit written
permission.
5) The Font Software, modified or unmodified, in part or in whole,
must be distributed entirely under this license, and must not be
distributed under any other license. The requirement for fonts to
remain under this license does not apply to any document created
using the Font Software.
TERMINATION
This license becomes null and void if any of the above conditions are
not met.
DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
OTHER DEALINGS IN THE FONT SOFTWARE.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 KiB

After

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 888 B

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 100 KiB

After

Width:  |  Height:  |  Size: 93 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.2 KiB

After

Width:  |  Height:  |  Size: 10 KiB

View File

@@ -1,101 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="606.248px" height="595.5px" viewBox="0 0 606.248 595.5" enable-background="new 0 0 606.248 595.5" xml:space="preserve">
<g id="Layer_3">
<rect x="-20.376" y="-15.75" stroke="#E63E30" stroke-miterlimit="10" width="688" height="700"/>
</g>
<g id="Layer_2">
<path id="path9_1_" inkscape:connector-curvature="0" fill="none" stroke="#E63E30" stroke-miterlimit="10" d="M429.977,493.576
V154.483h-65.371h-6.949v115.065L194.409,156.07c-2.608-1.802-6.036-2.046-8.93-0.661c-2.895,1.493-4.692,4.437-4.692,7.56v266.003
c0,3.123,1.798,6.037,4.692,7.488c1.234,0.695,2.608,0.977,3.953,0.977c1.725,0,3.522-0.561,4.977-1.529l163.248-113.472v201.091
c-17.532,4.084-35.744,6.375-54.511,6.375c-130.896,0-237.345-104.598-237.345-233.146c0-128.547,106.442-233.117,237.345-233.117
c130.858,0,237.344,104.562,237.344,233.116C540.482,379.515,496.305,452.197,429.977,493.576L429.977,493.576z"/>
<ellipse fill="#FFFFFF" stroke="#E63E30" stroke-miterlimit="10" cx="318.624" cy="295.75" rx="286" ry="270.5"/>
</g>
<g id="Layer_1" sodipodi:docname="tomahawk-icon.svg" inkscape:version="0.48.2 r9819" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape">
<sodipodi:namedview fit-margin-bottom="0" fit-margin-right="0" inkscape:snap-page="false" inkscape:current-layer="Layer_1" inkscape:window-maximized="0" inkscape:window-y="0" inkscape:window-x="0" inkscape:window-height="794" inkscape:window-width="1440" inkscape:pageshadow="2" inkscape:pageopacity="0" fit-margin-left="0" fit-margin-top="0" inkscape:cy="336.94553" inkscape:cx="431.12548" inkscape:zoom="1" showgrid="false" guidetolerance="10" gridtolerance="10" objecttolerance="10" bordercolor="#666666" pagecolor="#ffffff" borderopacity="1" id="namedview11">
<sodipodi:guide orientation="0,841.89001" position="-3.5728101e-05,-1.501866e-05" id="guide2994"></sodipodi:guide>
<sodipodi:guide orientation="-595.28003,0" position="841.88997,-1.501866e-05" id="guide2996"></sodipodi:guide>
<sodipodi:guide orientation="0,-841.89001" position="841.88997,595.28001" id="guide2998"></sodipodi:guide>
<sodipodi:guide orientation="595.28003,0" position="-3.5728101e-05,595.28001" id="guide3000"></sodipodi:guide>
</sodipodi:namedview>
<g id="g3_1_" transform="matrix(7.3080643,0,0,7.1790074,-2773.1692,-1839.0104)">
<g>
<g enable-background="new ">
<g>
<polygon fill="#4C1410" points="430.355,293.516 429.444,293.909 429.416,279.061 430.323,277.603 "/>
</g>
<g>
<polygon fill="#4C1410" points="430.428,328.913 429.507,326.921 429.457,300.757 430.371,300.856 "/>
</g>
<g enable-background="new ">
<defs>
<path id="SVGID_1_" enable-background="new " d="M440.229,324.595l-1.574-1.692c2.083-1.367,3.987-2.983,5.669-4.803
c1.678-1.816,3.136-3.836,4.332-6.018c1.194-2.177,2.127-4.516,2.758-6.973c0.63-2.454,0.959-5.028,0.945-7.679
c-0.022-4.114-0.867-8.035-2.377-11.605c-1.51-3.571-3.686-6.797-6.372-9.519c-2.69-2.726-5.895-4.949-9.458-6.505
c-3.573-1.561-7.51-2.454-11.652-2.511c-4.16-0.058-8.14,0.731-11.777,2.212c-3.65,1.486-6.953,3.668-9.739,6.386
c-2.795,2.728-5.069,5.995-6.649,9.637c-1.584,3.651-2.47,7.677-2.486,11.907c-0.016,4.236,0.842,8.276,2.405,11.95
c1.563,3.673,3.829,6.974,6.627,9.736c2.794,2.757,6.114,4.973,9.791,6.483c3.666,1.506,7.683,2.31,11.88,2.251
c0.601-0.008,1.197-0.036,1.787-0.08c0.59-0.045,1.176-0.107,1.756-0.186c0.58-0.079,1.154-0.174,1.723-0.286
c0.569-0.111,1.132-0.238,1.689-0.379l0.921,1.992c-0.597,0.152-1.201,0.288-1.81,0.408c-0.61,0.12-1.226,0.223-1.847,0.308
c-0.622,0.085-1.249,0.153-1.883,0.201c-0.634,0.049-1.272,0.078-1.917,0.088c-4.502,0.068-8.811-0.79-12.745-2.404
c-3.946-1.618-7.511-3.994-10.51-6.951c-3.004-2.963-5.437-6.506-7.115-10.448c-1.678-3.944-2.599-8.28-2.58-12.827
c0.018-4.54,0.971-8.86,2.673-12.777c1.698-3.907,4.139-7.409,7.141-10.333c2.99-2.913,6.534-5.249,10.45-6.838
c3.9-1.583,8.167-2.424,12.626-2.357c4.439,0.066,8.656,1.027,12.483,2.703c3.815,1.671,7.247,4.055,10.127,6.976
c2.875,2.916,5.205,6.373,6.822,10.198c1.616,3.824,2.522,8.023,2.548,12.43c0.016,2.84-0.335,5.597-1.008,8.226
c-0.674,2.633-1.672,5.139-2.949,7.472c-1.279,2.338-2.839,4.504-4.636,6.452C444.498,321.393,442.46,323.127,440.229,324.595
z"/>
</defs>
<clipPath id="SVGID_2_">
<use xlink:href="#SVGID_1_" overflow="visible"/>
</clipPath>
<g clip-path="url(#SVGID_2_)" enable-background="new ">
<path fill="#4D1510" d="M440.229,324.595l-1.574-1.692c2.083-1.367,3.987-2.983,5.669-4.803
c1.678-1.816,3.136-3.836,4.332-6.018c1.194-2.177,2.127-4.516,2.758-6.973c0.63-2.454,0.959-5.028,0.945-7.679
c-0.022-4.114-0.867-8.035-2.377-11.605c-1.51-3.571-3.686-6.797-6.372-9.519c-2.69-2.726-5.895-4.949-9.458-6.505
c-3.573-1.561-7.51-2.454-11.652-2.511c-4.16-0.058-8.14,0.731-11.777,2.212c-3.65,1.486-6.953,3.668-9.739,6.386
c-2.795,2.728-5.069,5.995-6.649,9.637c-1.584,3.651-2.47,7.677-2.486,11.907c-0.016,4.236,0.842,8.276,2.405,11.95
c1.563,3.673,3.829,6.974,6.627,9.736c2.794,2.757,6.114,4.973,9.791,6.483c3.666,1.506,7.683,2.31,11.88,2.251
c0.601-0.008,1.197-0.036,1.787-0.08c0.59-0.045,1.176-0.107,1.756-0.186c0.58-0.079,1.154-0.174,1.723-0.286
c0.569-0.111,1.132-0.238,1.689-0.379l0.921,1.992c-0.597,0.152-1.201,0.288-1.81,0.408c-0.61,0.12-1.226,0.223-1.847,0.308
c-0.622,0.085-1.249,0.153-1.883,0.201c-0.634,0.049-1.272,0.078-1.917,0.088c-4.502,0.068-8.811-0.79-12.745-2.404
c-3.946-1.618-7.511-3.994-10.51-6.951c-3.004-2.963-5.437-6.506-7.115-10.448c-1.678-3.944-2.599-8.28-2.58-12.827
c0.018-4.54,0.971-8.86,2.673-12.777c1.698-3.907,4.139-7.409,7.141-10.333c2.99-2.913,6.534-5.249,10.45-6.838
c3.9-1.583,8.167-2.424,12.626-2.357c4.439,0.066,8.656,1.027,12.483,2.703c3.815,1.671,7.247,4.055,10.127,6.976
c2.875,2.916,5.205,6.373,6.822,10.198c1.616,3.824,2.522,8.023,2.548,12.43c0.016,2.84-0.335,5.597-1.008,8.226
c-0.674,2.633-1.672,5.139-2.949,7.472c-1.279,2.338-2.839,4.504-4.636,6.452C444.498,321.393,442.46,323.127,440.229,324.595
"/>
</g>
</g>
<g>
<path fill="#E53E30" d="M422.903,256.08c5.658,0.108,11.029,1.353,15.897,3.504c4.85,2.143,9.21,5.189,12.868,8.915
c3.65,3.717,6.608,8.117,8.662,12.983c2.053,4.864,3.208,10.204,3.247,15.808c0.04,5.613-1.043,10.98-3.039,15.883
c-2.002,4.92-4.927,9.381-8.565,13.159c-3.654,3.795-8.032,6.904-12.92,9.095c-4.913,2.202-10.344,3.478-16.073,3.588
c-5.761,0.111-11.281-0.966-16.325-3.014c-5.064-2.056-9.641-5.088-13.494-8.871c-3.862-3.792-6.988-8.332-9.143-13.388
c-2.155-5.058-3.333-10.622-3.302-16.455c0.032-5.822,1.266-11.358,3.463-16.374c2.19-4.998,5.333-9.474,9.191-13.203
c3.84-3.711,8.385-6.68,13.4-8.69C411.761,257.022,417.213,255.972,422.903,256.08z M440.229,324.595
c2.231-1.468,4.269-3.201,6.069-5.154c1.796-1.948,3.356-4.114,4.636-6.452c1.277-2.334,2.274-4.84,2.949-7.472
c0.673-2.629,1.024-5.386,1.008-8.226c-0.025-4.407-0.931-8.606-2.548-12.43c-1.617-3.826-3.947-7.282-6.822-10.198
c-2.88-2.922-6.312-5.305-10.127-6.976c-3.827-1.676-8.044-2.637-12.483-2.703c-4.458-0.067-8.726,0.775-12.626,2.357
c-3.916,1.589-7.46,3.925-10.45,6.838c-3.001,2.924-5.443,6.426-7.141,10.333c-1.702,3.917-2.655,8.237-2.673,12.777
c-0.018,4.547,0.902,8.884,2.58,12.827c1.678,3.942,4.111,7.485,7.115,10.448c2.999,2.957,6.563,5.333,10.51,6.951
c3.934,1.613,8.243,2.471,12.745,2.404c0.644-0.01,1.283-0.039,1.917-0.088c0.633-0.049,1.261-0.116,1.883-0.201
c0.622-0.085,1.237-0.188,1.847-0.308c0.609-0.12,1.213-0.256,1.81-0.408l-0.057-28.056l-22.413,16.004
c-0.051,0.034-0.104,0.065-0.16,0.092c-0.056,0.027-0.113,0.05-0.172,0.069c-0.059,0.019-0.119,0.033-0.179,0.043
c-0.06,0.01-0.121,0.016-0.18,0.016c-0.047,0.001-0.094-0.001-0.141-0.006c-0.047-0.005-0.094-0.012-0.14-0.023
c-0.046-0.011-0.092-0.024-0.137-0.041c-0.045-0.017-0.089-0.037-0.132-0.061c-0.1-0.05-0.191-0.114-0.271-0.187
c-0.08-0.074-0.149-0.157-0.205-0.249c-0.056-0.091-0.1-0.19-0.13-0.294s-0.045-0.212-0.045-0.322l0.06-37.332
c0-0.109,0.016-0.216,0.046-0.319c0.03-0.103,0.074-0.201,0.13-0.292c0.056-0.091,0.125-0.175,0.205-0.249
c0.08-0.074,0.17-0.138,0.27-0.189c0.043-0.02,0.087-0.038,0.131-0.053s0.09-0.028,0.135-0.037
c0.046-0.01,0.091-0.017,0.137-0.022c0.046-0.005,0.092-0.007,0.138-0.006c0.061,0.001,0.122,0.006,0.183,0.015
c0.06,0.01,0.12,0.024,0.178,0.042c0.058,0.018,0.116,0.042,0.171,0.069c0.055,0.027,0.109,0.059,0.161,0.095l22.346,15.897
l-0.033-15.913l0.94,0.009l8.801,0.081L440.229,324.595"/>
</g>
</g>
</g>
</g>
</g>
</svg>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="3100px" height="3100px" viewBox="0 0 3100 3100" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<title>tomahawk-icon</title>
<description>Created with Sketch (http://www.bohemiancoding.com/sketch)</description>
<defs>
<filter x="-20%" y="-20%" width="140%" height="140%" filterUnits="objectBoundingBox" id="filter-1">
<feOffset dx="0" dy="2" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="2" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.7 0" in="shadowBlurOuter1" type="matrix" result="shadowMatrixOuter1"></feColorMatrix>
<feMerge>
<feMergeNode in="shadowMatrixOuter1"></feMergeNode>
<feMergeNode in="SourceGraphic"></feMergeNode>
</feMerge>
</filter>
</defs>
<g id="Page 1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<circle d="M1546,3051 C2374.42717,3051 3046,2379.42717 3046,1551 C3046,722.572834 2374.42717,51 1546,51 C717.572834,51 46,722.572834 46,1551 C46,2379.42717 717.572834,3051 1546,3051 Z M1546,3051" id="Oval 1" stroke="#979797" fill="#FFFFFF" sketch:type="MSShapeGroup" cx="1546" cy="1551" r="1500"></circle>
<g id="Group" sketch:type="MSLayerGroup" transform="translate(46.000000, 48.000000)">
<path d="M1500.00026,326.562245 C852.333832,326.562245 325.623384,853.409757 325.623384,1501.14467 C325.623384,2148.84339 852.297589,2675.87184 1500.00026,2675.87184 C1592.85982,2675.87184 1682.97119,2664.36909 1769.71967,2643.75096 L1769.71967,1630.53256 L961.97175,2202.26973 C954.812018,2207.15297 945.916593,2209.9744 937.346612,2209.9744 C930.693123,2209.9744 923.894994,2208.56369 917.783909,2205.05499 C903.464446,2197.74821 894.56902,2183.06231 894.56902,2167.32742 L894.56902,827.040286 C894.56902,811.305396 903.464445,796.474809 917.783909,788.951001 C932.103373,781.969774 949.026377,783.199628 961.97175,792.27884 L1769.71967,1364.0522 L1769.71967,784.284802 L1804.10807,784.284802 L2127.56161,784.284802 L2127.56161,2492.84071 C2455.75216,2284.34437 2674.34095,1918.13743 2674.34095,1501.10857 C2674.34087,853.446289 2147.48558,326.562245 1500.00026,326.562245 L1500.00026,326.562245 L1500.00026,326.562245" id="Shape" sketch:type="MSShapeGroup"></path>
<path d="M1500.00026,0.904613118 C672.870406,0.904613118 0.0726019231,673.923876 0.0726019231,1501.14494 C0.0726019231,2328.4023 672.870475,3001.38527 1500.00026,3001.38527 C2326.94928,3001.38527 2999.78337,2328.40223 2999.78337,1501.14494 C2999.74681,673.923394 2326.94887,0.904613118 1500.00026,0.904613118 L1500.00026,0.904613118 L1500.00026,0.904613118 M2127.56146,2492.87708 L2127.56146,784.321176 L1804.10793,784.321176 L1769.71952,784.321176 L1769.71952,1364.08857 L961.971604,792.315213 C949.06239,783.236001 932.103228,782.006148 917.783763,788.987375 C903.464299,796.511184 894.568874,811.341769 894.568874,827.076659 L894.568874,2167.3638 C894.568874,2183.09869 903.464299,2197.78459 917.783763,2205.09136 C923.894847,2208.60006 930.692976,2210.01078 937.346465,2210.01078 C945.880287,2210.01078 954.775711,2207.18935 961.971604,2202.30611 L1769.71952,1630.56893 L1769.71952,2643.78733 C1682.97105,2664.36929 1592.85968,2675.90821 1500.00012,2675.90821 C852.333686,2675.90821 325.623237,2148.87983 325.623237,1501.18104 C325.623237,853.482317 852.297442,326.598618 1500.00012,326.598618 C2147.48578,326.598618 2674.377,853.44613 2674.377,1501.18104 C2674.34087,1918.17376 2455.75215,2284.38047 2127.56146,2492.87708 L2072.56159,399.051282" id="Shape" fill="#E63E30" filter="url(#filter-1)" sketch:type="MSShapeGroup"></path>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 9.1 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB

View File

@@ -1,21 +1,26 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="400px" height="400px" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<svg width="355px" height="355px" viewBox="0 0 355 355" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<title>album-placeholder-grid</title>
<description>Created with Sketch (http://www.bohemiancoding.com/sketch)</description>
<defs>
<radialGradient cx="50%" cy="50%" fx="50%" fy="50%" r="70.6690133%" id="radialGradient-1">
<stop stop-color="rgb(187,190,185)" offset="0%"></stop>
<stop stop-color="rgb(213,211,209)" offset="0.923389476%"></stop>
<stop stop-color="rgb(241,240,240)" offset="100%"></stop>
</radialGradient>
<path d="M201,260 C234.137087,260 261,233.137087 261,200 C261,166.862913 234.137087,140 201,140 C167.862913,140 141,166.862913 141,200 C141,233.137087 167.862913,260 201,260 Z M200.5,377 C102.469452,377 23,297.530548 23,199.5 C23,101.469452 102.469452,22 200.5,22 C298.530548,22 378,101.469452 378,199.5 C378,297.530548 298.530548,377 200.5,377 Z M200.5,377" id="path-2"></path>
<path d="M177.5,219 C200.419818,219 219,200.419818 219,177.5 C219,154.580182 200.419818,136 177.5,136 C154.580182,136 136,154.580182 136,177.5 C136,200.419818 154.580182,219 177.5,219 Z M177.5,355 C79.4694521,355 0,275.530548 0,177.5 C0,79.4694521 79.4694521,0 177.5,0 C275.530548,0 355,79.4694521 355,177.5 C355,275.530548 275.530548,355 177.5,355 Z M177.5,355" id="path-1"></path>
<filter x="-20%" y="-20%" width="140%" height="140%" filterUnits="objectBoundingBox" id="filter-2">
<feOffset dx="0" dy="1" in="SourceAlpha" result="shadowOffsetInner1"></feOffset>
<feGaussianBlur stdDeviation="1.5" in="shadowOffsetInner1" result="shadowBlurInner1"></feGaussianBlur>
<feComposite in="shadowBlurInner1" in2="SourceAlpha" operator="arithmetic" k2="-1" k3="1" result="shadowInnerInner1"></feComposite>
<feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.7 0" in="shadowInnerInner1" type="matrix" result="shadowMatrixInner1"></feColorMatrix>
<feMerge>
<feMergeNode in="SourceGraphic"></feMergeNode>
<feMergeNode in="shadowMatrixInner1"></feMergeNode>
</feMerge>
</filter>
</defs>
<g id="Page 1" fill="rgb(215,215,215)" fill-rule="evenodd">
<path d="M0,0 L0,400 L400,400 L400,0 L0,0 Z M0,0" id="Rectangle 1" fill="rgb(0,0,0)"></path>
<g id="Group">
<use id="Oval 1" fill="url(#radialGradient-1)" xlink:href="#path-2"></use>
<use id="Oval 1-1" stroke="none" fill="none" xlink:href="#path-2"></use>
<path d="M201,260 C167.862913,260 141,233.137087 141,200 C141,166.862913 167.862913,140 201,140 C234.137087,140 261,166.862913 261,200 C261,233.137087 234.137087,260 201,260 Z M201.5,226 C216.135547,226 228,214.359404 228,200 C228,185.640596 216.135547,174 201.5,174 C186.864453,174 175,185.640596 175,200 C175,214.359404 186.864453,226 201.5,226 Z M201.5,226" id="Oval 2" stroke="rgb(150,150,150)" stroke-width="1" fill="rgb(137,137,137)"></path>
<g id="Page 1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<rect d="M-23,-22 L-23,378 L377,378 L377,-22 L-23,-22 Z M-23,-22" id="Rectangle 1" sketch:type="MSShapeGroup" x="-23" y="-22" width="400" height="400"></rect>
<g id="Oval 1">
<use fill="#0B0A0A" fill-rule="evenodd" sketch:type="MSShapeGroup" xlink:href="#path-1"></use>
<use fill="none" xlink:href="#path-1"></use>
</g>
<circle d="M177.5,191 C184.40356,191 190,185.40356 190,178.5 C190,171.59644 184.40356,166 177.5,166 C170.59644,166 165,171.59644 165,178.5 C165,185.40356 170.59644,191 177.5,191 Z M177.5,191" id="Oval 2" stroke="#979797" fill-opacity="0.496897978" fill="#898989" filter="url(#filter-2)" sketch:type="MSShapeGroup" cx="177.5" cy="178.5" r="12.5"></circle>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

@@ -1,11 +1,15 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="42px" height="42px" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<title>arrow-up-double</title>
<svg width="45px" height="45px" viewBox="0 0 45 45" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<title>arrow-down-double</title>
<description>Created with Sketch (http://www.bohemiancoding.com/sketch)</description>
<defs></defs>
<g id="Page 1" fill="rgb(223,223,223)" fill-rule="evenodd">
<g id="Group" fill="rgb(0,0,0)">
<path d="M2.35400391,38.0279541 L39.5150032,38.0279541 C40.6710032,38.0279541 41.7310033,37.3789541 42.2560031,36.3469541 C42.4830031,35.9079541 42.5930032,35.4279541 42.5930032,34.9499542 C42.5930032,34.3129541 42.3930032,33.6759541 42.0040032,33.1419542 L23.4220024,7.55995345 C22.8430024,6.76095343 21.9170024,6.2909534 20.9320024,6.2909534 C19.9470024,6.2909534 19.0210024,6.7629534 18.4430023,7.55995345 L-0.137997031,33.1419542 C-0.817997038,34.0769542 -0.912997007,35.3199542 -0.388997018,36.3469541 C0.135986328,37.3790283 1.19702148,38.0279541 2.35400391,38.0279541 C2.35400391,38.0279541 1.19702148,38.0279541 2.35400391,38.0279541 L2.35400391,38.0279541" id="Shape" fill="rgb(100,100,100)" transform="translate(-207.065652, -202.840546) rotate(-180) translate(207.065652, 202.840546)"></path>
<g id="Page 1" fill="rgb(215,215,215)" fill-rule="evenodd">
<g id="arrow-up-double" fill="rgb(0,0,0)" transform="translate(22.000000, 23.500000) rotate(-180.000000) translate(-22.000000, -23.500000)">
<g id="Page 1" fill="rgb(222,223,222)">
<g id="Group" fill="rgb(0,0,0)">
<path d="M3.48530778,39.7090464 L40.6463071,39.7090464 C41.8023053,39.7090464 42.8623067,39.0600481 43.3873082,38.0280466 C43.6143056,37.5890474 43.7243062,37.1090479 43.7243062,36.6310472 C43.7243062,35.9940462 43.5243054,35.3570452 43.1353055,34.8230448 L24.5533067,9.24104548 C23.9743062,8.44204569 23.0483056,7.9720459 22.0633069,7.9720459 C21.0783063,7.9720459 20.1523057,8.44404554 19.5743066,9.24104548 L0.993306841,34.8230448 C0.313306834,35.7580462 0.218306865,37.0010462 0.742306854,38.0280466 C1.2672902,39.0601206 2.32832536,39.7090464 3.48530778,39.7090464 C3.48530778,39.7090464 2.32832536,39.7090464 3.48530778,39.7090464 L3.48530778,39.7090464" id="Shape" fill="rgb(99,100,99)"></path>
</g>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@@ -1,11 +1,15 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="42px" height="42px" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<svg width="45px" height="45px" viewBox="0 0 45 45" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<title>arrow-right-double</title>
<description>Created with Sketch (http://www.bohemiancoding.com/sketch)</description>
<defs></defs>
<g id="Page 1" fill="rgb(223,223,223)" fill-rule="evenodd">
<g id="Group" fill="rgb(0,0,0)">
<path d="M7.32121281,41.8181084 L34.5477114,41.8181084 C35.3946701,41.8181084 36.1712932,40.932299 36.5559413,39.5237392 C36.7222559,38.9245553 36.8028488,38.2694112 36.8028488,37.616997 C36.8028488,36.7475662 36.6563162,35.8781353 36.3713102,35.1492876 L22.7569611,0.232836341 C22.3327491,-0.857705628 21.6543029,-1.49920092 20.9326296,-1.49920092 C20.2109563,-1.49920092 19.5325101,-0.854975896 19.1090307,0.232836341 L5.4954153,35.1492876 C4.99720429,36.4254537 4.9276013,38.1220039 5.31151684,39.5237392 C5.69615284,40.9324003 6.47353431,41.8181084 7.32121281,41.8181084 C7.32121281,41.8181084 6.47353431,41.8181084 7.32121281,41.8181084 L7.32121281,41.8181084" id="Shape" fill="rgb(100,100,100)" transform="translate(-213.065652, -198.840546) rotate(-270) translate(213.065652, 198.840546)"></path>
<g id="Page 1" fill="rgb(215,215,215)" fill-rule="evenodd">
<g id="arrow-up-double" fill="rgb(0,0,0)" transform="translate(22.000000, 22.500000) rotate(-270.000000) translate(-22.000000, -22.500000)">
<g id="Page 1" fill="rgb(222,223,222)">
<g id="Group" fill="rgb(0,0,0)">
<path d="M3.76020197,38.3028483 L40.9212013,38.3028483 C42.0771995,38.3028483 43.1372009,37.65385 43.6622024,36.6218485 C43.8891998,36.1828494 43.9992004,35.7028498 43.9992004,35.2248492 C43.9992004,34.5878481 43.7991996,33.9508471 43.4101997,33.4168467 L24.8282009,7.83484741 C24.2492004,7.03584762 23.3231998,6.56584783 22.3382011,6.56584783 C21.3532005,6.56584783 20.4271999,7.03784748 19.8492008,7.83484741 L1.26820104,33.4168467 C0.588201029,34.3518481 0.49320106,35.5948481 1.01720105,36.6218485 C1.5421844,37.6539225 2.60321955,38.3028483 3.76020197,38.3028483 C3.76020197,38.3028483 2.60321955,38.3028483 3.76020197,38.3028483 L3.76020197,38.3028483" id="Shape" fill="rgb(99,100,99)"></path>
</g>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@@ -1,13 +1,17 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="200px" height="200px" viewBox="0 0 200 200" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<title>artist-placeholder-grid</title>
<title>Slice 1</title>
<description>Created with Sketch (http://www.bohemiancoding.com/sketch)</description>
<defs></defs>
<g id="Page 1" fill="rgb(215,215,215)" fill-rule="evenodd">
<g id="artist-placeholder" fill="rgb(0,0,0)">
<g id="Page 1" fill="rgb(214,215,214)">
<path d="M0,200 L200,200 L200,0 L0,0 L0,200 Z M0,200" id="Rectangle 4" fill="rgb(0,0,0)"></path>
<path d="M187,78 C187,76 185,74 182,74 L125,73 L107,16 C106,14 104,13 102,13 C99,13 98,14 97,16 L78,73 L21,74 C19,74 17,76 16,78 C16,80 16,83 18,84 L63,120 L47,178 C46,180 47,182 49,184 C51,185 53,185 55,184 L102,149 L149,184 C149,184 150,185 152,185 C153,185 154,184 155,184 C156,182 157,180 156,178 L140,120 L185,84 C187,83 188,80 187,78 C187,78 188,80 187,78 L187,78 M131,114 C129,115 128,117 129,120 L142,166 L105,138 C103,137 101,137 99,138 L61,166 L74,120 C75,117 74,115 73,114 L36,85 L82,84 C84,84 86,82 87,80 L102,34 L117,80 C117,82 119,84 122,84 L167,85 L131,114" id="Shape" fill="rgb(254,254,254)"></path>
<g id="Page 1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="artist-placeholder-grid" sketch:type="MSLayerGroup" transform="translate(-1.000000, 0.000000)">
<g id="Page 1" sketch:type="MSShapeGroup">
<g id="artist-placeholder">
<g id="Page 1">
<path d="M0,200 L200,200 L200,0 L0,0 L0,200 L0,200 Z M0,200" id="Rectangle 4"></path>
<path d="M187,78 C187,76 185,74 182,74 L125,73 L107,16 C106,14 104,13 102,13 C99,13 98,14 97,16 L78,73 L21,74 C19,74 17,76 16,78 C16,80 16,83 18,84 L63,120 L47,178 C46,180 47,182 49,184 C51,185 53,185 55,184 L102,149 L149,184 C149,184 150,185 152,185 C153,185 154,184 155,184 C156,182 157,180 156,178 L140,120 L185,84 C187,83 188,80 187,78 C187,78 188,80 187,78 L187,78 M131,114 C129,115 128,117 129,120 L142,166 L105,138 C103,137 101,137 99,138 L61,166 L74,120 C75,117 74,115 73,114 L36,85 L82,84 C84,84 86,82 87,80 L102,34 L117,80 C117,82 119,84 122,84 L167,85 L131,114" id="Shape" fill="#9B9B9B"></path>
</g>
</g>
</g>
</g>
</g>

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

14
data/images/inbox.svg Normal file
View File

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="100px" height="100px" viewBox="0 0 100 100" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<title>inbox</title>
<description>Created with Sketch (http://www.bohemiancoding.com/sketch)</description>
<defs></defs>
<g id="Page 1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<path d="M4,50 L4,91 L97,91 L97,50 L4,50 Z M25.7265625,19 L4,50 L97,50 L75.3945312,19 L25.7265625,19 Z M25.7265625,19" id="Rectangle 8" fill="#FFFFFF"></path>
<g id="Group" transform="translate(1.000000, 3.000000)">
<path id="Shape" fill="#9B9B9B" d="M97.3548503,45.9181572 L75.6276213,17.2579381 C75.0275732,16.4663384 74.0902433,16 73.0940852,16 L57.5359773,16 L57.5359773,22.3523915 L71.5135665,22.3523915 L91.6426285,48.9023312 L91.6426285,87.6436897 L6.3554106,87.6436897 L6.3554106,48.9023312 L26.4844725,22.3523915 L41.0072035,22.3523915 L41.0072035,16 L24.901993,16 C23.9058348,16 22.9704658,16.464379 22.3684569,17.2579381 L0.643188731,45.9181572 C0.225508244,46.4667906 0,47.1427854 0,47.8344554 L0,90.8198855 C0,92.5755125 1.42364335,94 3.17868577,94 L94.8213142,94 C96.5783176,94 98,92.5735531 98,90.8198855 L98,47.8344554 C98,47.1427854 97.7744918,46.46875 97.3548503,45.9181572 L97.3548503,45.9181572 Z M97.3548503,45.9181572"></path>
<path id="Shape" fill="#9B9B9B" d="M62.1778225,50.999412 L62.1778225,61.1512722 L35.8199786,61.1512722 L35.8199786,50.999412 C35.8199786,49.9353752 34.9614682,49.0770259 33.9060517,49.0770259 L17.7243125,49.0770259 L30.466103,31.8467501 L30.9150488,31.8467501 C30.5862157,30.5750481 30.6964831,29.2262134 31.2616035,28 L29.5052015,28 C28.8967618,28 28.3277033,28.2867757 27.9673653,28.7752833 L12.3783132,49.8542869 C11.9451199,50.4397049 11.8801409,51.216966 12.2030668,51.8656724 C12.5279618,52.5163566 13.1915352,52.9257537 13.9161495,52.9257537 L31.9901559,52.9257537 L31.9901559,63.0776139 C31.9901559,64.1396729 32.8486663,65 33.9080208,65 L64.0917493,65 C65.1530729,65 66.0076452,64.1396729 66.0076452,63.0776139 L66.0076452,52.9257537 L84.0836207,52.9257537 C84.810204,52.9257537 85.4718083,52.5163566 85.7967033,51.8656724 C86.1215983,51.2189438 86.0526812,50.4397049 85.6214569,49.8542869 L70.0304358,28.7752833 C69.6700977,28.2867757 69.0990702,28 68.4925996,28 L67.2895036,28 C67.8703764,29.2598354 67.9688295,30.6541586 67.6084914,31.9495938 L80.2774267,49.0770259 L64.0937184,49.0770259 C63.0323948,49.0790036 62.1778225,49.9353752 62.1778225,50.999412 L62.1778225,50.999412 Z M62.1778225,50.999412"></path>
<path id="Shape" fill="#67ABFE" d="M34.2040126,28.7107082 C33.8839325,29.3487239 33.9440687,30.1159085 34.3592029,30.6952111 L34.5784093,31.0044334 L46.9722983,48.2152015 C47.3292361,48.7103487 47.893741,49 48.4989833,49 C49.1042257,49 49.6706704,48.7103487 50.0256683,48.2152015 L62.4195574,31.0044334 L62.6387637,30.6952111 C63.0577777,30.1159085 63.115974,29.3487239 62.7939541,28.7107082 C62.473874,28.0746495 61.8240144,27.6734433 61.1120787,27.6734433 L52.9025094,27.6734433 L52.9025094,27.1978672 L52.9025094,22.0839557 L52.9025094,15.7390262 L52.9025094,4.44262492 C52.9025094,1.99233135 50.931592,0 48.4989833,0 C46.0663746,0 44.0954572,1.99233135 44.0954572,4.44262492 L44.0954572,15.7390262 L44.0954572,22.0839557 L44.0954572,27.1978672 L44.0954572,27.6734433 L35.8839481,27.6734433 C35.1758921,27.6734433 34.5279724,28.0746495 34.2040126,28.7107082 L34.2040126,28.7107082 Z M34.2040126,28.7107082"></path>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.6 KiB

View File

@@ -1,9 +1,13 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="71px" height="71px" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<svg width="50px" height="50px" viewBox="0 0 50 50" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<title>info</title>
<description>Created with Sketch (http://www.bohemiancoding.com/sketch)</description>
<defs></defs>
<g id="Page 1" fill="rgb(215,215,215)" fill-rule="evenodd">
<path d="M35.5340004,11 C22.0050001,11 11,22.0059996 11,35.5349998 C11,49.0640001 22.0050001,60.0720005 35.5340004,60.0720005 C49.0630007,60.0720005 60.0699997,49.0640001 60.0699997,35.5349998 C60.0699997,22.0059996 49.0630531,11 35.5340004,11 L35.5340004,11 L35.5340004,11 M36.2140541,18.2849731 C39.2040541,18.2849731 41.636054,20.7189732 41.636054,23.7089729 C41.636054,26.6989727 39.2040541,29.1319728 36.2140541,29.1319728 C33.2240541,29.1319728 30.7900543,26.6989727 30.7900543,23.7089729 C30.7900543,20.7189732 33.2240028,18.2849731 36.2140541,18.2849731 C36.2140541,18.2849731 33.2240028,18.2849731 36.2140541,18.2849731 L36.2140541,18.2849731 M43.6360512,50.75 C43.2080512,51.206 42.7490512,51.303 42.4390512,51.303 L29.9860511,51.303 C29.6750511,51.303 29.2150511,51.206 28.7890511,50.75 C28.4580511,50.395 28.290051,49.932 28.290051,49.374 C28.290051,48.807 28.453051,48.3319999 28.7750511,47.9649999 C29.2050511,47.4789999 29.6710511,47.3769999 29.986051,47.3769999 L31.4000511,47.3769999 L31.4000511,36.9980002 L29.986051,36.9980002 C29.675051,36.9980002 29.215051,36.9020002 28.789051,36.4450002 C28.458051,36.0900002 28.290051,35.6270002 28.290051,35.0680003 C28.290051,34.5020003 28.453051,34.0290002 28.775051,33.6620002 C29.205051,33.1740002 29.671051,33.0720003 29.986051,33.0720003 L40.4180511,33.0720003 C40.7550511,33.0720003 41.0270512,33.3440003 41.0270512,33.6790003 L41.0270512,47.3759998 L42.4390511,47.3759998 C42.7540511,47.3759998 43.2210511,47.4779998 43.6480511,47.9639998 C43.9720511,48.3309998 44.1360511,48.8059998 44.1360511,49.3729998 C44.1360512,49.9329834 43.9680214,50.3950195 43.6360512,50.75 C43.6360512,50.75 43.9680214,50.3950195 43.6360512,50.75 L43.6360512,50.75" id="Shape" fill="rgb(80,81,80)"></path>
<g id="Page 1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="info" sketch:type="MSLayerGroup" fill="#A1B8CC">
<g id="Page 1" sketch:type="MSShapeGroup">
<path d="M24.5340004,0 C11.0050001,0 0,11.0059996 0,24.5349998 C0,38.0640001 11.0050001,49.0720005 24.5340004,49.0720005 C38.0630007,49.0720005 49.0699997,38.0640001 49.0699997,24.5349998 C49.0699997,11.0059996 38.0630531,0 24.5340004,0 L24.5340004,0 M25.2140541,7.2849731 C28.2040541,7.2849731 30.636054,9.7189732 30.636054,12.7089729 C30.636054,15.6989727 28.2040541,18.1319728 25.2140541,18.1319728 C22.2240541,18.1319728 19.7900543,15.6989727 19.7900543,12.7089729 C19.7900543,9.7189732 22.2240028,7.2849731 25.2140541,7.2849731 C25.2140541,7.2849731 22.2240028,7.2849731 25.2140541,7.2849731 L25.2140541,7.2849731 M32.6360512,39.75 C32.2080512,40.206 31.7490512,40.303 31.4390512,40.303 L18.9860511,40.303 C18.6750511,40.303 18.2150511,40.206 17.7890511,39.75 C17.4580511,39.395 17.290051,38.932 17.290051,38.374 C17.290051,37.807 17.453051,37.3319999 17.7750511,36.9649999 C18.2050511,36.4789999 18.6710511,36.3769999 18.986051,36.3769999 L20.4000511,36.3769999 L20.4000511,25.9980002 L18.986051,25.9980002 C18.675051,25.9980002 18.215051,25.9020002 17.789051,25.4450002 C17.458051,25.0900002 17.290051,24.6270002 17.290051,24.0680003 C17.290051,23.5020003 17.453051,23.0290002 17.775051,22.6620002 C18.205051,22.1740002 18.671051,22.0720003 18.986051,22.0720003 L29.4180511,22.0720003 C29.7550511,22.0720003 30.0270512,22.3440003 30.0270512,22.6790003 L30.0270512,36.3759998 L31.4390511,36.3759998 C31.7540511,36.3759998 32.2210511,36.4779998 32.6480511,36.9639998 C32.9720511,37.3309998 33.1360511,37.8059998 33.1360511,38.3729998 C33.1360512,38.9329834 32.9680214,39.3950195 32.6360512,39.75 C32.6360512,39.75 32.9680214,39.3950195 32.6360512,39.75 L32.6360512,39.75" id="Shape"></path>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

@@ -0,0 +1,145 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
height="32"
version="1.1"
viewBox="0 0 32 32"
width="32"
x="0px"
y="0px"
id="svg2"
inkscape:version="0.48.3.1 r9886"
sodipodi:docname="inputfield-border.svg">
<metadata
id="metadata18">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs16">
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 22 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="44 : 22 : 1"
inkscape:persp3d-origin="22 : 14.666667 : 1"
id="perspective2836" />
</defs>
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="2880"
inkscape:window-height="1720"
id="namedview14"
showgrid="true"
inkscape:zoom="22.627417"
inkscape:cx="27.047196"
inkscape:cy="19.278199"
inkscape:window-x="-12"
inkscape:window-y="45"
inkscape:window-maximized="1"
inkscape:current-layer="svg2">
<inkscape:grid
type="xygrid"
id="grid2990"
empspacing="5"
visible="true"
enabled="true"
snapvisiblegridlinesonly="true" />
</sodipodi:namedview>
<g
id="g4599">
<path
style="opacity:0.06466699;fill:none;stroke:#000000;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:8;stroke-opacity:1"
d="M 4.65625,2.53125 C 0.01699841,4.4354339 3.6476695,11.37715 2.5,15.15625 c 0.9104726,4.415191 -1.74364624,10.215434 1.125,13.9375 7.922985,0.877493 16.321668,0.399451 24.3125,0.1875 C 31.683761,26.34472 28.403491,19.966164 29.5,15.84375 28.337107,11.830292 31.896487,5.0854716 27.625,2.59375 19.995242,2.3871025 12.300962,2.5260218 4.65625,2.53125 z"
id="path4601"
inkscape:connector-curvature="0" />
<path
style="opacity:0.06466699;fill:none;stroke:#000000;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:8;stroke-opacity:1"
d="M 4.78125,2.15625 C -0.50384498,3.6307191 3.3089847,11.154694 2.15625,15 c 0.9229661,4.546013 -1.76090684,10.511754 1.125,14.3125 7.901377,1.296184 16.629903,0.28974 24.6875,0.375 C 32.275546,27.028776 28.653465,20.168522 29.84375,16 28.645472,11.822061 32.315037,4.9433197 27.90625,2.3125 20.331149,1.9143664 12.389796,2.2847244 4.78125,2.15625 z"
id="path4605"
inkscape:connector-curvature="0" />
<path
style="opacity:0.06466699;fill:none;stroke:#000000;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:8;stroke-opacity:1"
d="m 4.71875,1.8125 c -5.60622152,1.4178135 -1.8407007,9.335986 -2.9375,13.3125 1.0422893,4.584739 -2.09676889,11.02483 1.5625,14.625 8.081978,0.980787 16.725347,0.518622 24.875,0.1875 4.402595,-2.83693 0.856871,-9.769091 2,-14.0625 -1.179633,-4.234007 2.610959,-11.6624143 -2.4375,-14 C 20.11261,1.665057 12.395997,1.8099213 4.71875,1.8125 z"
id="path4609"
inkscape:connector-curvature="0" />
<path
style="opacity:0.06466699;fill:none;stroke:#000000;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:8;stroke-opacity:1"
d="M 4.34375,1.46875 C -1.4013281,3.6570978 2.6368879,11.554337 1.4375,16.09375 2.5716902,20.523565 -1.4013805,28.864524 4.59375,30.53125 12.624379,30.017378 21.200972,31.58868 28.96875,30 32.860269,25.890157 29.400879,19.01996 30.5625,13.90625 29.907854,10.034046 32.893088,1.9946986 26.90625,1.4375 19.397406,1.4612481 11.795029,1.3918794 4.34375,1.46875 z"
id="path4613"
inkscape:connector-curvature="0" />
<path
style="opacity:0.06466699;fill:none;stroke:#000000;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:8;stroke-opacity:1"
d="m 4.625,1.09375 c -6.2068547,1.3257477 -2.6318919,9.686262 -3.5625,13.96875 1.1448342,4.811525 -2.4458629,11.943183 2.09375,15.40625 8.111337,1.130173 16.686474,0.284334 24.90625,0.3125 5.588519,-2.412228 1.736328,-10.285499 2.875,-14.84375 C 29.823429,11.396143 33.723745,3.1822192 27.75,1.125 20.050017,0.99409221 12.327794,1.0658584 4.625,1.09375 z"
id="path4617"
inkscape:connector-curvature="0" />
<path
style="opacity:0.06466699;fill:none;stroke:#000000;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:8;stroke-opacity:1"
d="M 4.59375,0.75 C -0.61385497,1.3040672 0.78718888,7.8712117 0.71875,11.459821 1.1629644,17.279444 -0.11932148,23.455713 1.25,29.09375 c 2.821567,4.196632 8.916358,1.349939 13.066963,2.1875 C 19.332991,30.61559 25.044407,32.586609 29.6875,30.375 33.051694,26.90515 30.469139,21.267325 31.28125,16.968751 30.597411,12.179526 32.636881,6.6229625 30.3125,2.25 26.821643,-1.0138505 21.248342,1.5206042 16.968751,0.71875 12.844428,0.74314509 8.7159665,0.67222023 4.59375,0.75 z"
id="path4621"
inkscape:connector-curvature="0" />
<path
style="opacity:0.06466699;fill:none;stroke:#000000;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:8;stroke-opacity:1"
d="M 4.53125,0.375 C 1.3894018,0.60024126 -0.18415805,3.9813327 0.34375,6.8169646 0.40966407,13.865499 0.21403433,20.929441 0.4375,27.96875 c 0.5865041,3.066072 3.9812099,4.147942 6.7366076,3.6875 6.9294814,-0.06599 13.8743884,0.129817 20.7946424,-0.09375 3.066072,-0.586504 4.147942,-3.98121 3.6875,-6.736608 C 31.590265,17.896411 31.786067,10.951504 31.5625,4.03125 30.975996,0.96517848 27.58129,-0.11669206 24.825892,0.34375 18.061449,0.36541598 11.293922,0.30095384 4.53125,0.375 z"
id="path4625"
inkscape:connector-curvature="0" />
<path
id="path4629"
d="m 5,0 22,0 c 2.77,0 5,2.23 5,5 l 0,22 c 0,2.77 -2.23,5 -5,5 L 5,32 C 2.23,32 0,29.77 0,27 L 0,5 C 0,2.23 2.23,0 5,0 z"
style="opacity:0.064667;fill:none;stroke:#000000;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:8;stroke-opacity:1" />
<path
style="opacity:0.06466699;fill:none;stroke:#000000;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:8;stroke-opacity:1"
d="M 4.46875,-0.3125 C 0.98344595,-0.12851319 -0.95137919,3.548349 -0.34375,6.7857146 -0.21552288,13.997692 -0.59536534,21.254525 -0.16338012,28.44023 0.58057677,31.627772 4.1300096,32.842509 7.1428576,32.34375 14.235767,32.215407 21.373601,32.595537 28.44023,32.16338 31.627772,31.419423 32.842509,27.86999 32.34375,24.857142 32.215407,17.764233 32.595537,10.626399 32.16338,3.5597705 31.419423,0.37222754 27.86999,-0.84250881 24.857142,-0.34375 18.061422,-0.32218456 11.26281,-0.38641136 4.46875,-0.3125 z"
id="path4631"
inkscape:connector-curvature="0" />
<path
style="opacity:0.06466699;fill:none;stroke:#000000;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:8;stroke-opacity:1"
d="m 4.46875,-0.6875 c -4.88903887,0.31100674 -5.938444,6.0477797 -5.1875,9.9732151 0.41575444,6.5986889 -0.7714644,13.4654919 0.46875,19.9330349 2.5002101,5.615111 9.8337653,2.870216 14.535716,3.5 5.227227,-0.673134 11.102211,1.356807 15.964284,-1 4.618144,-3.665229 1.605796,-10.45511 2.46875,-15.433038 C 31.834965,11.207777 34.77447,4.6031 30.625,0.5625 26.002847,-2.3037853 19.99663,0.03815215 14.857141,-0.71875 11.394973,-0.69362162 7.9291701,-0.76635345 4.46875,-0.6875 z"
id="path4635"
inkscape:connector-curvature="0" />
<path
style="opacity:0.06466699;fill:none;stroke:#000000;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:8;stroke-opacity:1"
d="M 4.4375,-1.03125 C -2.4288841,-0.40966905 -1.3119005,8.2085409 -1.0625,13 0.16788472,19.074593 -3.8317535,27.473817 1.59375,32.0625 8.5628736,34.728281 16.662641,32.170927 24,33.0625 29.022589,34.430248 34.293748,30.315663 33.0625,25 32.365371,17.457535 34.334575,9.3983493 32.34375,2.09375 28.430894,-3.9134302 19.817453,0.11168301 14,-1.0625 c -3.186531,0.031844 -6.3778449,-0.056838 -9.5625,0.03125 z"
id="path4639"
inkscape:connector-curvature="0" />
<path
style="opacity:0.06466699;fill:none;stroke:#000000;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:8;stroke-opacity:1"
d="M 4.40625,-1.40625 C -2.6356932,-0.73578486 -1.8066321,7.9924057 -1.4375,13 -0.23753983,19.199171 -4.2465159,27.811194 1.46875,32.40625 8.5086357,35.093269 16.607199,32.562499 24,33.4375 29.206688,34.80078 34.643458,30.487912 33.4375,25 32.720722,17.386853 34.764131,9.2829251 32.65625,1.90625 28.669603,-4.2590766 19.946075,-0.32351915 14,-1.4375 c -3.196957,0.031744 -6.3986661,-0.056723 -9.59375,0.03125 z"
id="path4643"
inkscape:connector-curvature="0" />
<path
style="opacity:0.06466699;fill:none;stroke:#000000;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:8;stroke-opacity:1"
d="M 4.375,-1.75 C -2.3899272,-1.2431511 -2.4446337,7.0084439 -1.78125,12 -0.57839019,18.49983 -4.4259935,26.910214 0.625,32.21875 6.6149095,35.870482 14.375511,32.750815 21,33.78125 26.00645,34.811355 33.908351,33.579761 33.78125,27 33.025646,18.677041 35.173733,9.8203103 32.96875,1.75 28.969659,-4.6437363 20.059663,-0.68188005 14,-1.78125 10.792617,-1.7496477 7.5805122,-1.8377839 4.375,-1.75 z"
id="path4647"
inkscape:connector-curvature="0" />
<path
style="opacity:0.06466699;fill:none;stroke:#000000;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:8;stroke-opacity:1"
d="M 4.875,-2.125 C -1.8309464,-2.1825575 -3.2026722,5.8349656 -2.15625,11 -1.080826,17.712074 -4.3881621,25.748049 -0.375,31.6875 4.9763374,36.782756 13.437274,32.97527 20,34.15625 25.186853,34.907535 33.649994,34.582135 34.09375,27.625 33.532181,19.108316 35.431584,10.074869 33.375,1.78125 29.243722,-5.2757831 19.506448,-0.97339883 13,-2.15625 10.294719,-2.1339361 7.5677947,-2.1998142 4.875,-2.125 z"
id="path4651"
inkscape:connector-curvature="0" />
<path
style="opacity:0.06466699;fill:none;stroke:#000000;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:8;stroke-opacity:1"
d="M 4.34375,-2.46875 C -2.8099687,-2.0064215 -3.3295148,6.5980666 -2.5,12 -1.2963625,18.720406 -5.2816016,27.573393 0.3125,32.875 6.7337709,36.640288 14.932728,33.450664 22,34.5 27.257415,35.699243 34.692301,33.44159 34.5,27 33.751825,18.586732 35.895885,9.6625663 33.65625,1.5 29.388001,-5.6000779 19.620414,-1.344641 13,-2.5 c -2.884405,0.032599 -5.7737456,-0.058009 -8.65625,0.03125 z"
id="path4655"
inkscape:connector-curvature="0" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 11 KiB

View File

@@ -0,0 +1,49 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="82px" height="82px" viewBox="0 0 82 82" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<title>Network Activity</title>
<description>Created with Sketch (http://www.bohemiancoding.com/sketch)</description>
<defs>
<radialGradient cx="50%" cy="0%" fx="50%" fy="0%" r="100%" id="radialGradient-1">
<stop stop-color="#FF374A" offset="0%"></stop>
<stop stop-color="#B60000" offset="100%"></stop>
</radialGradient>
<filter x="-20%" y="-20%" width="140%" height="140%" filterUnits="objectBoundingBox" id="filter-2">
<feOffset dx="0" dy="1" in="SourceAlpha" result="shadowOffsetInner1"></feOffset>
<feGaussianBlur stdDeviation="1.5" in="shadowOffsetInner1" result="shadowBlurInner1"></feGaussianBlur>
<feComposite in="shadowBlurInner1" in2="SourceAlpha" operator="arithmetic" k2="-1" k3="1" result="shadowInnerInner1"></feComposite>
<feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.7 0" in="shadowInnerInner1" type="matrix" result="shadowMatrixInner1"></feColorMatrix>
<feMerge>
<feMergeNode in="SourceGraphic"></feMergeNode>
<feMergeNode in="shadowMatrixInner1"></feMergeNode>
</feMerge>
</filter>
<filter x="-20%" y="-20%" width="140%" height="140%" filterUnits="objectBoundingBox" id="filter-3">
<feOffset dx="0" dy="1" in="SourceAlpha" result="shadowOffsetInner1"></feOffset>
<feGaussianBlur stdDeviation="1.5" in="shadowOffsetInner1" result="shadowBlurInner1"></feGaussianBlur>
<feComposite in="shadowBlurInner1" in2="SourceAlpha" operator="arithmetic" k2="-1" k3="1" result="shadowInnerInner1"></feComposite>
<feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.7 0" in="shadowInnerInner1" type="matrix" result="shadowMatrixInner1"></feColorMatrix>
<feMerge>
<feMergeNode in="SourceGraphic"></feMergeNode>
<feMergeNode in="shadowMatrixInner1"></feMergeNode>
</feMerge>
</filter>
<radialGradient cx="-93.3681184%" cy="64.1660344%" fx="-93.3681184%" fy="64.1660344%" r="100%" id="radialGradient-4">
<stop stop-color="#FF374A" offset="0%"></stop>
<stop stop-color="#B60000" offset="100%"></stop>
</radialGradient>
</defs>
<g id="Page 1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="Group" sketch:type="MSLayerGroup" transform="translate(29.000000, 10.000000)" fill="url(#radialGradient-1)">
<path d="M6,4 C6,3.61624999 6.31125,3.30749997 6.69499999,3.30749997 C6.69624999,3.30749997 6.70124999,3.30749997 6.70499999,3.30874998 C6.84999999,1.48499999 8.37249998,0.048749925 10.2349998,0.048749925 C12.0937498,0.048749925 13.6187499,1.48499999 13.76125,3.30874998 C13.76625,3.30749997 13.76875,3.30749997 13.77375,3.30749997 C14.155,3.30749997 14.46375,3.61624997 14.46375,4 C14.46375,4.28124999 14.2975,4.52375 14.055,4.63124999 C14.195,5.04125001 14.27375,5.47874996 14.27375,5.93499997 C14.27375,8.16624993 12.46375,9.97374991 10.235,9.97374991 C8.00375006,9.97374976 6.1925,8.16624993 6.1925,5.93499997 C6.1925,5.47874996 6.27249999,5.04125001 6.41125,4.63124999 C6.17000001,4.52375 6,4.28124999 6,4" id="path932" filter="url(#filter-2)" sketch:type="MSShapeGroup"></path>
<path d="M13.75,62 L12.45,62 L10.2162501,56.5512497 L7.97999978,62 L6.67750001,62 C3.06125015,62 0.534999967,58.6249999 0.534999967,53.8062502 C0.527499967,53.4325002 0.369999968,44.6300001 1.11374997,40.8412505 C1.65999997,38.0587505 2.65749998,37.2500007 3.39125,37.0575006 L4.36875001,12.8487499 C4.38250001,12.5437499 4.63125,12.3024999 4.93750002,12.3024999 L8.26124992,12.3024999 C8.56374992,12.3024999 8.81249994,12.5412499 8.82749993,12.8437499 L9.82749995,33.3787492 L10.2162499,33.8237492 L10.6024999,33.3787492 L11.6012499,12.8437499 C11.6174999,12.5412499 11.8649999,12.3024999 12.1675,12.3024999 L15.49375,12.3024999 C15.79625,12.3024999 16.05,12.5437499 16.0625,12.8487499 L17.03625,37.0537503 C17.75125,37.2300003 18.85125,37.9875003 19.3187499,40.8587502 C19.94,44.6562503 19.8974999,53.4275005 19.8949999,53.7950001 C19.8949999,58.6249999 17.3699999,62 13.75,62" id="path944" filter="url(#filter-3)" sketch:type="MSShapeGroup" transform="translate(10.206284, 37.151250) rotate(-180.000000) translate(-10.206284, -37.151250) "></path>
</g>
<g id="Group" sketch:type="MSLayerGroup" transform="translate(53.000000, 18.000000)" fill="url(#radialGradient-1)">
<path d="M6.25,2.5 L6.25875,2.5 C6.3675,1.13374993 7.50875,0.0575000048 8.90250001,0.0575000048 C10.2975001,0.0575000048 11.4387501,1.13375001 11.5450001,2.5 L11.5537501,2.5 C11.8412501,2.5 12.0725001,2.73250001 12.0725001,3.01750001 C12.0725001,3.22875001 11.9450001,3.41000002 11.7662501,3.48999999 C11.8700001,3.7975 11.9262501,4.12500001 11.9262501,4.4675 C11.9262501,6.14000008 10.5737501,7.49375001 8.90250022,7.49375001 C7.2312502,7.49375001 5.87625021,6.14000008 5.87625021,4.4675 C5.87625021,4.12500001 5.93375021,3.79749998 6.04000021,3.48999999 C5.85875001,3.40999998 5.73375002,3.22875001 5.73375002,3.01750001 C5.73375002,2.73250001 5.96375,2.5 6.25,2.5" id="path940" sketch:type="MSShapeGroup"></path>
<path d="M10.9140107,46.8300004 L9.93776063,46.8300004 L8.26401065,42.7487503 L6.59026067,46.8300004 L5.61651069,46.8300004 C2.90651071,46.8300004 1.01276058,44.3037506 1.01276058,40.6912507 C1.00901058,40.4125007 0.889010577,33.8187505 1.44651058,30.9812506 C1.85651059,28.8962506 2.60401058,28.2912506 3.15526056,28.1462507 L3.88526055,10.0112502 C3.89526055,9.78375024 4.08401054,9.60375023 4.31026055,9.60375023 L6.80151059,9.60375023 C7.02776058,9.60375023 7.21276059,9.78125023 7.22526058,10.0087502 L7.9752606,25.3912499 L8.26401061,25.7249999 L8.55651061,25.3912499 L9.30526058,10.0087502 C9.31401058,9.78125023 9.50276059,9.60375023 9.72776058,9.60375023 L12.2190106,9.60375023 C12.4477606,9.60375023 12.6352606,9.78375022 12.6452606,10.0112502 L13.3752606,28.1437497 C13.9102606,28.2762497 14.7315106,28.8424997 15.0852606,30.9949996 C15.5515106,33.8400008 15.5165106,40.4087507 15.5165106,40.6837507 C15.5165106,44.3037506 13.6240105,46.8300004 10.9140107,46.8300004 Z M10.9140107,46.8300004" id="path952" sketch:type="MSShapeGroup" transform="translate(8.258255, 28.216875) rotate(-180.000000) translate(-8.258255, -28.216875) "></path>
</g>
<g id="Group" sketch:type="MSLayerGroup" transform="translate(12.000000, 18.000000)" fill="url(#radialGradient-4)">
<path d="M13.4598564,24.1621039 L11.2636064,33.4007741 C11.3666619,33.8297424 11.4755508,34.2372622 11.6223564,34.77254 C11.9062453,35.8207145 12.3369397,37.4032345 13.1108286,40.6932344 C13.510412,43.199901 12.7793008,44.6369448 12.0948564,45.4006946 C11.4522175,46.1196827 10.5781898,46.5318653 9.70124543,46.5318653 L9.2715232,46.5318653 L6.82346776,40.8032739 L4.37443993,46.5309328 L4.04291216,46.5309328 C3.12805106,46.5309328 2.22971771,46.1206153 1.58416212,45.408155 C0.907495469,44.6602582 0.176384383,43.2362701 0.554578768,40.6661907 C1.36443988,37.1216073 1.83110651,35.4905953 2.14027325,34.4125797 C2.24235658,34.0516869 2.32693992,33.7579368 2.39985658,33.4735123 L0.167634351,24.0819051 C0.135551018,23.9532146 0.168606573,23.8198614 0.252217682,23.7182146 C0.337773237,23.6165678 0.467078794,23.5568852 0.602217696,23.5568852 L2.52138434,23.5568852 L3.11930102,9.37575449 C3.12805102,9.1454172 3.3244399,8.96357195 3.56360656,8.96357195 L5.29027325,8.96357195 C5.5284677,8.96357195 5.72388437,9.14355211 5.73749548,9.37202433 L6.45596772,23.5568859 L7.20360661,23.5568859 L7.92207885,9.37202433 C7.93471774,9.1435521 8.13110663,8.96357195 8.36930108,8.96357195 L10.0940233,8.96357195 C10.3341622,8.96357195 10.5324956,9.14541718 10.5422178,9.37575449 L11.1362456,23.5568852 L13.0437456,23.5568852 L13.0524956,23.5568852 C13.29944,23.5568852 13.4987456,23.7489884 13.4987456,23.9858535 C13.4987453,24.048334 13.4851342,24.1089491 13.4598564,24.1621039" id="path1076" sketch:type="MSShapeGroup" transform="translate(6.827150, 27.747719) rotate(-180.000000) translate(-6.827150, -27.747719) "></path>
<path d="M2.93902801,0.78146832 L2.94097246,0.78146832 C3.4105558,0.78146832 4.0561113,0.878452449 4.44305575,1.33632946 C4.53152797,1.44170644 4.60638908,1.53775803 4.67347242,1.63007946 C5.13527797,0.745099296 6.04333357,0.136150886 6.72000022,0.136150886 C7.4550002,0.136150886 8.33000023,0.742301658 8.77041685,1.62168665 C8.836528,1.53123024 8.9104171,1.43797625 8.99791678,1.33632946 C9.38291669,0.877519908 10.0275001,0.78146832 10.5000002,0.78146832 C10.9413891,0.78146832 11.76875,0.901765933 11.76875,1.13210323 C11.76875,1.15541673 11.7609728,1.23281752 11.6511118,1.26172624 C11.5898611,1.27664691 11.529584,1.27944449 11.309861,1.26359135 C11.0463889,1.26359135 10.7897223,1.61236115 10.5563892,2.14111113 C10.5884725,2.1383136 10.6186115,2.12619057 10.6536113,2.12619057 C10.9686112,2.12619057 11.2408331,2.26793656 11.3750003,2.35279763 C11.4595835,2.40408738 11.7279169,2.58686514 11.7279169,2.75938503 C11.7279169,2.87128969 11.6190285,2.97013885 11.3390283,2.89087316 C11.326389,2.88621036 11.3118062,2.88527788 11.2952783,2.88527788 C10.8500003,2.88527788 10.1869446,4.5797024 9.84083355,5.83863089 C9.83500017,5.86474233 9.82625034,5.88992085 9.81847267,5.91603185 C9.8165279,5.92162713 9.8145836,5.92815488 9.81263929,5.93375016 L9.81069453,5.9356151 C9.48305574,7.28500004 8.22694481,8.29214283 6.72000018,8.29214283 C5.21402793,8.29214283 3.95597246,7.28500004 3.62736135,5.9356151 L3.62541687,5.93375016 C3.62347246,5.92815488 3.62152804,5.92162713 3.61958356,5.91603185 C3.61375024,5.88992085 3.60402803,5.86474233 3.59819466,5.83863089 C3.25402802,4.5797024 2.59000024,2.88527788 2.14375022,2.88527788 C2.12819466,2.88527788 2.11361133,2.88621042 2.10000022,2.89087312 C1.82291689,2.970139 1.71111132,2.87128979 1.71111132,2.75938502 C1.71111132,2.53837312 2.26527798,2.12619056 2.78638905,2.12619056 C2.81944461,2.12619056 2.84472238,2.13738104 2.87583349,2.14017866 C2.63763912,1.61236115 2.37513914,1.26545641 2.10291689,1.26545641 C2.03291689,1.27105165 1.97361133,1.27384927 1.92597245,1.27384927 C1.86472245,1.27384927 1.67027799,1.27384927 1.67027799,1.13210324 C1.67027807,0.901765933 2.49763913,0.78146832 2.93902801,0.78146832" id="path1080" sketch:type="MSShapeGroup" transform="translate(6.719514, 4.214147) rotate(-180.000000) translate(-6.719514, -4.214147) "></path>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 10 KiB

23
data/images/new-inbox.svg Normal file
View File

@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="100px" height="100px" viewBox="0 0 100 100" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<title>new-inbox</title>
<description>Created with Sketch (http://www.bohemiancoding.com/sketch)</description>
<defs>
<linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="linearGradient-1">
<stop stop-color="#039EFF" offset="0%"></stop>
<stop stop-color="#67ABFE" offset="100%"></stop>
</linearGradient>
<filter x="-20%" y="-20%" width="140%" height="140%" filterUnits="objectBoundingBox" id="filter-2">
<feOffset dx="0" dy="2" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="2" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.7 0" in="shadowBlurOuter1" type="matrix" result="shadowMatrixOuter1"></feColorMatrix>
<feMerge>
<feMergeNode in="shadowMatrixOuter1"></feMergeNode>
<feMergeNode in="SourceGraphic"></feMergeNode>
</feMerge>
</filter>
</defs>
<g id="Page 1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<circle d="M49,73 C62.8071194,73 74,61.8071194 74,48 C74,34.1928806 62.8071194,23 49,23 C35.1928806,23 24,34.1928806 24,48 C24,61.8071194 35.1928806,73 49,73 Z M49,73" id="Oval 2" fill="url(#linearGradient-1)" filter="url(#filter-2)" sketch:type="MSShapeGroup" cx="49" cy="48" r="25"></circle>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

18
data/images/outbox.svg Normal file
View File

@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="100px" height="100px" viewBox="0 0 100 100" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<title>outbox</title>
<description>Created with Sketch (http://www.bohemiancoding.com/sketch)</description>
<defs></defs>
<g id="Page 1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="inbox" sketch:type="MSLayerGroup" transform="translate(1.000000, 2.000000)">
<g id="Page 1" sketch:type="MSShapeGroup">
<path d="M3,50 L3,91 L96,91 L96,50 L3,50 L3,50 Z M24.7265625,19 L3,50 L96,50 L74.3945312,19 L24.7265625,19 L24.7265625,19 Z M24.7265625,19" id="Rectangle 8" fill="#FFFFFF"></path>
<g id="Group">
<path d="M75.6276213,20.2579381 C75.0275732,19.4663384 74.0902433,19 73.0940852,19 L70.2802734,20.2579381 L71.5135665,25.3523915 L91.6426285,51.9023312 L91.6426285,90.6436897 L6.3554106,90.6436897 L6.3554106,51.9023312 L26.4844725,25.3523915 L26.4844723,20.2579381 L24.901993,19 C23.9058348,19 22.9704658,19.464379 22.3684569,20.2579381 L0.643188731,48.9181572 C0.225508244,49.4667906 0,50.1427854 0,50.8344554 L0,93.8198855 C0,95.5755125 1.42364335,97 3.17868577,97 L94.8213142,97 C96.5783176,97 98,95.5735531 98,93.8198855 L98,50.8344554 C98,50.1427854 97.7744918,49.46875 97.3548503,48.9181572 L75.6276213,20.2579381 Z M75.6276213,20.2579381" id="Shape" fill="#9B9B9B"></path>
<path d="M62.1778225,53.999412 L62.1778225,64.1512722 L35.8199786,64.1512722 L35.8199786,53.999412 C35.8199786,52.9353752 34.9614682,52.0770259 33.9060517,52.0770259 L17.7243125,52.0770259 L30.466103,34.8467501 L30.9150488,34.8467501 C30.5862157,33.5750481 30.6964831,32.2262134 31.2616035,31 L29.5052015,31 C28.8967618,31 28.3277033,31.2867757 27.9673653,31.7752833 L12.3783132,52.8542869 C11.9451199,53.4397049 11.8801409,54.216966 12.2030668,54.8656724 C12.5279618,55.5163566 13.1915352,55.9257537 13.9161495,55.9257537 L31.9901559,55.9257537 L31.9901559,66.0776139 C31.9901559,67.1396729 32.8486663,68 33.9080208,68 L64.0917493,68 C65.1530729,68 66.0076452,67.1396729 66.0076452,66.0776139 L66.0076452,55.9257537 L84.0836207,55.9257537 C84.810204,55.9257537 85.4718083,55.5163566 85.7967033,54.8656724 C86.1215983,54.2189438 86.0526812,53.4397049 85.6214569,52.8542869 L70.0304358,31.7752833 C69.6700977,31.2867757 69.0990702,31 68.4925996,31 L67.2895036,31 C67.8703764,32.2598354 67.9688295,33.6541586 67.6084914,34.9495938 L80.2774267,52.0770259 L64.0937184,52.0770259 C63.0323948,52.0790036 62.1778225,52.9353752 62.1778225,53.999412 L62.1778225,53.999412 L62.1778225,53.999412 Z M62.1778225,53.999412" id="Shape" fill="#9B9B9B"></path>
<path d="M34.7040126,29.2107082 C34.3839325,29.8487239 34.4440687,30.6159085 34.8592029,31.1952111 L35.0784093,31.5044334 L47.4722983,48.7152015 C47.8292361,49.2103487 48.393741,49.5 48.9989833,49.5 C49.6042257,49.5 50.1706704,49.2103487 50.5256683,48.7152015 L62.9195574,31.5044334 L63.1387637,31.1952111 C63.5577777,30.6159085 63.615974,29.8487239 63.2939541,29.2107082 C62.973874,28.5746495 62.3240144,28.1734433 61.6120787,28.1734433 L53.4025094,28.1734433 L53.4025094,27.6978672 L53.4025094,22.5839557 L53.4025094,16.2390262 L53.4025094,4.94262492 C53.4025094,2.49233135 51.431592,0.5 48.9989833,0.5 C46.5663746,0.5 44.5954572,2.49233135 44.5954572,4.94262492 L44.5954572,16.2390262 L44.5954572,22.5839557 L44.5954572,27.6978672 L44.5954572,28.1734433 L36.3839481,28.1734433 C35.6758921,28.1734433 35.0279724,28.5746495 34.7040126,29.2107082 L34.7040126,29.2107082 L34.7040126,29.2107082 Z M34.7040126,29.2107082" id="Shape" fill="#99CC00" transform="translate(49.000000, 25.000000) rotate(-180.000000) translate(-49.000000, -25.000000) "></path>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.9 KiB

13
data/images/refresh.svg Normal file
View File

@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="44px" height="44px" viewBox="0 0 44 44" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<title>refresh</title>
<description>Created with Sketch (http://www.bohemiancoding.com/sketch)</description>
<defs></defs>
<g id="Page 1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="refresh" transform="translate(0.000000, 1.000000)" fill="#FFFFFF">
<g id="Page 1">
<path d="M43.8927655,25.3359998 L37.0097656,15.8609994 C36.8167656,15.5939995 36.5067655,15.4359994 36.1767656,15.4359994 C35.8477656,15.4359994 35.5367656,15.5939994 35.3437656,15.8609994 L28.4607657,25.3349994 C28.2317657,25.6489994 28.2007657,26.0639994 28.3767657,26.4079994 C28.5517657,26.7539994 28.9057656,26.9699994 29.2937657,26.9699994 L33.1067656,26.9699994 C32.2747656,28.3759994 31.2177656,29.6569994 29.9327656,30.7409993 C26.9367655,33.2659994 23.1357657,34.4739993 19.2317654,34.1419993 C15.3277653,33.8089993 11.7867652,31.9769993 9.26076567,28.9809995 C6.73476612,25.9849997 5.52876555,22.1849995 5.86076557,18.2809997 C6.19276556,14.3759997 8.0247656,10.8349996 11.0207654,8.30899958 C14.0167652,5.78299955 17.8147656,4.57699946 21.7207652,4.90899948 C25.5477651,5.23499949 29.0417653,7.01299957 31.5577651,9.91299967 C32.4277651,10.9149996 33.9457651,11.0219996 34.9487652,10.1539997 C35.9507651,9.28399966 36.0577651,7.76599965 35.1887651,6.76399956 C31.8467651,2.91299949 27.2097651,0.552999593 22.1277653,0.118999578 C16.9457651,-0.319000416 11.900765,1.28299961 7.92276535,4.63499937 C3.94576536,7.98899946 1.51276551,12.6899997 1.07176552,17.8729993 C0.630765507,23.0569993 2.23276553,28.0999995 5.58676539,32.0769998 C8.94076524,36.054 13.6417657,38.4869996 18.8247653,38.929 C19.3877653,38.977 19.9497653,39 20.5087653,39 C25.0917655,39 29.4847652,37.402 33.0287658,34.414 C35.4547659,32.369 37.3017655,29.8200002 38.4777657,26.9689999 L43.0587655,26.9689999 C43.4467655,26.9689999 43.7997655,26.7519999 43.9757655,26.4069999 C44.15276,26.0630506 44.1197705,25.6489881 43.8927655,25.3359998 C43.8927655,25.3359998 44.1197705,25.6489881 43.8927655,25.3359998 L43.8927655,25.3359998" id="Shape"></path>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 53 KiB

After

Width:  |  Height:  |  Size: 373 KiB

View File

@@ -1,43 +1,29 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="47px" height="47px" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<title>spotify-logo</title>
<svg width="1000px" height="1000px" viewBox="0 0 1000 1000" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<title>Slice 1</title>
<description>Created with Sketch (http://www.bohemiancoding.com/sketch)</description>
<defs>
<linearGradient x1="62.2222222%" y1="-109.879447%" x2="62.2222222%" y2="100.079007%" id="linearGradient-1">
<stop stop-color="rgb(211,224,107)" offset="0%"></stop>
<stop stop-color="rgb(133,163,46)" offset="100%"></stop>
</linearGradient>
<linearGradient x1="132.472281%" y1="113.795168%" x2="-9.02630224%" y2="19.3853017%" id="linearGradient-2">
<stop stop-color="rgb(107,126,50)" offset="0%"></stop>
<stop stop-color="rgb(60,73,24)" offset="100%"></stop>
</linearGradient>
<linearGradient x1="114.177516%" y1="87.9933558%" x2="2.46797803%" y2="25.4018941%" id="linearGradient-3">
<stop stop-color="rgb(107,126,50)" offset="0%"></stop>
<stop stop-color="rgb(60,73,24)" offset="100%"></stop>
</linearGradient>
<linearGradient x1="149.680203%" y1="114.783395%" x2="-1.23068876%" y2="20.5175511%" id="linearGradient-4">
<stop stop-color="rgb(107,126,50)" offset="0%"></stop>
<stop stop-color="rgb(60,73,24)" offset="100%"></stop>
</linearGradient>
<linearGradient x1="65.1692878%" y1="-1.15412394%" x2="65.1692878%" y2="100.967712%" id="linearGradient-5">
<stop stop-color="rgb(254,255,254)" offset="0%"></stop>
<stop stop-color="rgb(254,255,254)" stop-opacity="0" offset="100%"></stop>
</linearGradient>
<radialGradient cx="47.4050141%" cy="100.000123%" fx="47.4050141%" fy="100.000123%" r="50%" id="radialGradient-6">
<stop stop-color="rgb(107,126,50)" offset="0%"></stop>
<stop stop-color="rgb(60,73,24)" offset="100%"></stop>
<radialGradient cx="50.8262172%" cy="19.7598471%" fx="50.8262172%" fy="19.7598471%" r="50%" id="radialGradient-1">
<stop stop-color="#A9D03F" offset="0%"></stop>
<stop stop-color="#A9D03F" offset="7.105015%"></stop>
<stop stop-color="#A1CC3E" offset="24.677444%"></stop>
<stop stop-color="#94C93D" offset="45.569649%"></stop>
<stop stop-color="#8DC540" offset="59.65941%"></stop>
<stop stop-color="#84BC41" offset="79.657596%"></stop>
<stop stop-color="#79B641" offset="100%"></stop>
</radialGradient>
</defs>
<g id="Page 1" fill="rgb(215,215,215)" fill-rule="evenodd">
<g id="svg2" fill="rgb(0,0,0)">
<g id="layer1">
<path d="M46,23.4999996 C46,35.9264065 35.9264069,45.9999996 23.5,45.9999996 C11.0735931,45.9999996 1,35.9264065 1,23.4999996 C1,11.0735927 11.0735931,0.999999617 23.5,0.999999617 C35.9264069,0.999999617 46,11.0735927 46,23.4999996 C46,23.4999996 46,11.0735927 46,23.4999996 L46,23.4999996" id="path5513" fill="url(#linearGradient-1)"></path>
<path d="M10.3002453,11.6195555 C8.24102688,12.012805 7.94257736,15.3554049 10.7654648,15.3130732 C21.9770622,13.2014904 31.0487232,15.4988899 39.6700478,19.8260403 C40.8082466,20.3789711 42.6476097,18.0287037 41.0204697,16.7585106 C31.3168354,11.6140623 19.9609756,9.87804699 10.3002453,11.6195555 C10.3002453,11.6195555 19.9609756,9.87804699 10.3002453,11.6195555 L10.3002453,11.6195555" id="path7661" fill="url(#linearGradient-2)"></path>
<path d="M12.3035316,19.1448269 C10.172718,19.3810368 9.82939053,22.9693108 12.5619602,22.6482792 C21.9036541,21.5098209 27.8536301,22.6287899 35.6833229,25.8085918 C37.6471901,26.8732643 38.7249985,23.4825859 36.9293365,22.6049614 C28.1335659,18.8897991 21.4121304,18.7261505 12.3035316,19.1448269 C12.3035316,19.1448269 21.4121304,18.7261505 12.3035316,19.1448269 L12.3035316,19.1448269" id="path7666" opacity="0.8" fill="url(#linearGradient-3)"></path>
<path d="M14.4476528,25.7030106 C12.7541599,26.3083305 13.0538054,29.1486492 14.8631124,29.0521393 C17.8708324,28.7223721 20.1539478,28.7061386 23.6155319,29.0975533 C27.1264324,29.494545 29.2332573,30.4359741 32.1573563,31.4530487 C33.3504066,31.9618759 34.4471741,29.7644825 33.1875381,28.5280266 C29.9664268,27.2747231 27.415802,26.1748791 23.3885059,25.7194977 C20.0840149,25.3480473 17.7555847,25.3715115 14.4476528,25.7030106 C14.4476528,25.7030106 17.7555847,25.3715115 14.4476528,25.7030106 L14.4476528,25.7030106" id="path7668" opacity="0.6" fill="url(#linearGradient-4)"></path>
<path d="M23.4999995,44.9999992 C11.6258773,44.9999992 1.9999994,35.3741214 1.9999994,23.4999993 C1.9999994,11.6258773 11.6258773,1.99999946 23.4999995,1.99999946 C35.3741217,1.99999946 44.9999996,11.6258773 44.9999996,23.4999993 C44.9999996,35.3741214 35.3741217,44.9999992 23.4999995,44.9999992 Z M23.4999995,44.9999992" id="path3894" stroke="rgb(0,0,0)" stroke-width="0.955555555" opacity="0.2"></path>
<path d="M7.34768963,38.6745071 C7.87801963,38.6745071 11.00822,31.347157 22.94065,32.7613673 C34.8730803,34.1755773 36.25068,42.033257 36.25068,42.033257 C34.2001801,43.433877 32.01899,44.6602271 29.2680001,45.126857 C29.2680001,45.126857 26.2690802,39.5798371 20.8773904,39.933387 C15.4857006,40.286937 13.6232605,43.4474771 13.6232605,43.4474771 C10.8516705,42.4523971 8.70550013,40.8477371 7.34769011,38.6745069 C7.34769011,38.6745069 8.70550013,40.8477371 7.34769011,38.6745069 L7.34768963,38.6745071" id="path5529" fill="url(#radialGradient-6)"></path>
<path d="M23.4999995,45.9999993 C11.0735926,46.0000012 0.9999995,35.9264062 0.9999995,23.4999993 C0.99999895,11.0735925 11.0735926,0.999999335 23.4999995,0.999999335 C35.9264064,0.999999335 45.9999995,11.0735925 45.9999995,23.4999993 C45.9999995,35.9264062 35.9264064,45.9999993 23.4999995,45.9999993 Z M23.4999995,45.9999993" id="path3892" stroke="rgb(117,143,56)" stroke-width="1"></path>
<g id="Page 1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="svg2" sketch:type="MSLayerGroup" transform="translate(-3578.000000, -1.000000)">
<g id="layer1" transform="translate(0.205880, 0.260670)" sketch:type="MSShapeGroup">
<g id="g3128" transform="translate(3577.939315, 0.777349)">
<g id="g3099" transform="translate(0.354801, 0.209030)">
<path d="M193.437643,632.659533 L195.123066,649.176693 L207.876102,655.075649 C208.61026,635.537611 220.760227,623.670557 236.809201,620.805363 C287.667189,609.746278 350.224972,599.175766 423.104651,599.175766 C537.69697,599.175766 636.546844,627.589457 716.536846,676.368177 C728.346469,683.54526 732.213989,692.48324 733.896707,704.34618 L778.335699,675.581658 L767.09954,631.311187 L435.408243,542.320795 L125.290361,581.872088 L193.437643,632.659533 Z M193.437643,632.659533" id="path3103" stroke="#008080" stroke-width="0.60321335" fill="#7A9F3F"></path>
<path d="M172.482213,509.286544 L187.538661,503.607354 C188.063083,484.734552 198.241386,469.043304 220.011149,463.105899 C276.33546,446.55852 342.484544,436.195362 414.733719,436.195362 C553.337209,436.195362 680.365755,472.505672 773.168293,528.463296 C788.018896,537.582595 793.722856,544.317514 796.523759,568.200359 L864.776004,530.687943 L578.11458,396.57358 L98.8624405,424.540587 L172.482213,509.286544 Z M172.482213,509.286544" id="path3105" stroke="#000080" stroke-width="0.60321335" fill="#82A73E"></path>
<path d="M153.605473,350.070232 C152.076157,321.873002 166.872726,301.582443 188.549915,295.350126 C259.810578,274.652277 336.233219,264.506862 426.53168,264.506862 C576.724736,264.506862 727.614818,295.943186 838.000808,359.708052 C859.696193,371.514802 865.964969,387.375427 867.14592,411.606877 L935.646849,366.381993 L730.026064,192.541832 L100.769276,259.916791 L153.605473,350.070232 Z M153.605473,350.070232" id="path3107" stroke="#000000" stroke-width="0.60321335" fill="#81A83E"></path>
<path d="M499.499987,0.252954078 C223.636558,0.252954078 0,223.868339 0,499.731895 C0,775.595316 223.636558,999.231882 499.499987,999.231882 C775.363415,999.231882 998.999974,775.595316 998.999974,499.731895 C998.999974,223.868339 775.363415,0.252954078 499.499987,0.252954078 L499.499987,0.252954078 Z M426.206543,260.943245 C572.876178,260.943245 727.193376,291.113719 839.912938,357.318749 C855.106318,365.924044 865.651016,378.898295 865.651016,402.681847 C865.651016,429.910701 843.765436,449.478352 818.538319,449.478352 C808.368472,449.478352 802.334438,447.003989 792.800241,441.784298 C702.388396,387.571922 562.085689,357.719226 426.396258,357.719226 C358.663817,357.719226 289.87104,364.607334 226.857649,381.707704 C219.600156,383.534168 210.428242,387.16733 201.246049,387.16733 C174.600109,387.16733 154.154431,366.087014 154.154431,339.443328 C154.154431,312.298387 170.977823,297.060501 189.125333,291.698212 C260.328459,270.721438 339.807595,260.943245 426.206543,260.943245 L426.206543,260.943245 Z M416.025141,432.57252 C546.769259,432.57252 673.250636,465.135467 772.690392,524.647805 C789.361104,534.207108 795.498418,546.34634 795.498418,564.129754 C795.498418,585.758205 778.279496,603.232205 756.564569,603.232205 C745.726425,603.232205 738.908806,598.852727 731.543195,594.568562 C650.290675,546.350185 537.6778,514.318914 414.35986,514.318914 C351.11133,514.318914 296.518727,523.175342 251.330956,535.208671 C241.595233,537.888096 236.137204,540.773661 227.026285,540.773661 C205.543773,540.773661 188.008119,523.267822 188.008119,501.607938 C188.008119,480.36762 198.309807,465.742557 219.079311,459.89156 C275.228953,444.470603 332.567773,432.57252 416.025141,432.57252 L416.025141,432.57252 Z M422.875981,595.685809 C532.179064,595.685809 629.593366,620.760574 713.414819,671.002852 C725.890454,678.286513 733.208476,685.729501 733.208476,704.203109 C733.208476,722.209932 718.564432,735.44287 702.137283,735.44287 C694.05938,735.44287 688.548347,732.640611 680.994538,728.043997 C608.602224,684.246044 518.339022,661.221961 422.538709,661.221961 C369.09223,661.221961 315.300392,668.07641 264.990477,678.549316 C256.809701,680.322827 246.514832,683.48192 240.369613,683.48192 C221.400881,683.48192 208.750353,668.414491 208.750353,652.094569 C208.750353,631.105451 220.860397,620.6544 235.921837,617.777132 C297.616561,603.71727 359.058918,595.685809 422.875981,595.685809 L422.875981,595.685809 Z M422.875981,595.685809" id="path3101" fill="url(#radialGradient-1)"></path>
</g>
</g>
</g>
</g>
</g>

Before

Width:  |  Height:  |  Size: 5.4 KiB

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 373 KiB

View File

@@ -1,92 +1,30 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
version="1.1"
width="194.88251"
height="194.88251"
id="svg3252"
xml:space="preserve"><metadata
id="metadata3258"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
id="defs3256"><clipPath
id="clipPath3266"><path
d="m 0,155.906 155.906,0 L 155.906,0 0,0 0,155.906 z"
id="path3268" /></clipPath></defs><g
transform="matrix(1.25,0,0,-1.25,0,194.8825)"
id="g3260"><g
id="g3262"><g
clip-path="url(#clipPath3266)"
id="g3264"><g
transform="translate(0,3.7119)"
id="g3270"><path
d="m 0,0 c 0,-2.051 1.661,-3.712 3.711,-3.712 l 148.482,0 c 2.051,0 3.712,1.661 3.712,3.712 l 0,148.481 c 0,2.051 -1.661,3.712 -3.712,3.712 l -148.482,0 C 1.661,152.193 0,150.532 0,148.481 L 0,0 z"
id="path3272"
style="fill:#84b82d;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g><path
d="m 104.527,43.722 -1.413,0 0,-8.581 1.413,0 0,8.581 z m -9.569,0 -3.632,0 0,-8.581 3.632,0 0,8.581 z m 26.71,0.309 c 0.384,-1.071 0.562,-1.567 1.121,-3.13 0.482,1.522 0.636,2.005 0.966,3.05 -0.546,0.282 -0.938,0.774 -1.104,1.377 -0.151,-0.556 -0.502,-1.007 -0.983,-1.297 M 73.945,40.634 c 0.77,0.721 1.244,2.129 1.3,3.861 0.062,1.88 -0.288,3.327 -0.986,4.07 -0.251,0.27 -0.697,0.627 -1.662,0.661 -2.568,0.083 -2.885,-3.516 -2.919,-4.622 -0.057,-1.69 0.327,-3.098 1.048,-3.87 0.411,-0.438 0.924,-0.661 1.572,-0.681 0.669,-0.023 1.206,0.168 1.647,0.581 M 54.063,34.827 c 1.646,0 2.482,1.549 2.482,4.605 0,1.377 -0.229,4.573 -2.343,4.573 -0.725,0 -1.34,-0.323 -1.824,-0.963 -0.607,-0.804 -0.94,-2.011 -0.94,-3.397 0,-2.33 0.688,-4.818 2.625,-4.818 m -10.977,8.859 -2.489,0 c 1.007,-0.572 1.829,-1.273 2.489,-2.048 0.004,2.343 0,0.773 0,2.048 m -8.9,-10.275 c 1.034,0 2.768,0.238 2.768,1.846 0,0.947 -0.584,1.431 -4.082,1.786 -1.598,0.158 -3.003,0.313 -4.398,0.768 0.233,-0.174 0.466,-0.35 0.616,-0.608 l 0.071,-0.117 c 1.19,-2.011 2.387,-3.675 5.025,-3.675 m 2.494,11.677 c -0.425,0.926 -0.593,1.133 -0.901,1.462 -0.889,0.912 -2.008,1.416 -3.149,1.416 -1.627,0 -2.626,-0.747 -2.626,-1.282 0,-0.214 0.231,-0.364 0.444,-0.458 0.62,-0.288 1.275,-0.464 3.311,-0.694 1.22,-0.137 2.106,-0.269 2.921,-0.444 m 104.654,3.791 0,-2.929 c 0,-1.227 -0.995,-2.264 -2.222,-2.264 l -7.338,0 c -0.859,-2.594 -6.047,-18.247 -6.047,-18.247 -1.262,-3.657 -4.042,-4.15 -6.594,-4.15 l -2.69,0 c -1.226,0 -2.22,0.995 -2.22,2.222 l 0,3.115 c 0,0.59 0.299,1.153 0.717,1.569 0.418,0.417 1.051,0.649 1.641,0.647 l 1.227,-0.002 0.547,0.007 c 0.161,0 0.249,0.006 0.334,0.011 0.048,0.116 0.112,0.286 0.194,0.541 0.005,0.015 0.024,0.087 0.036,0.13 -0.43,1.136 -4.494,11.878 -5.355,14.157 l -0.877,0 0,-8.541 0.147,0 c 1.228,0 2.222,-0.998 2.222,-2.222 l 0,-3.008 c 0,-1.227 -0.994,-2.222 -2.222,-2.222 l -22.032,0 c -4.758,0 -7.598,2.611 -7.598,7.103 l 0,6.342 0,0.002 c -0.581,-2.292 -1.709,-4.281 -3.298,-5.77 -2.108,-1.975 -4.848,-2.967 -7.924,-2.867 -2.969,0.094 -5.497,1.222 -7.35,3.101 l 0.002,0 c -1.195,-4.994 -4.801,-8.334 -9.44,-8.334 -0.561,0 -1.083,0.04 -1.57,0.115 0.048,-0.18 0.111,-0.353 0.111,-0.547 l 0,-3.008 c 0,-1.226 -0.995,-2.222 -2.222,-2.222 l -8.243,0 c -1.228,0 -2.221,0.996 -2.221,2.222 l 0,3.386 C 39.366,26.059 37.309,25.394 35,25.394 c -2.422,0 -4.249,0.657 -5.719,1.58 -0.135,-0.484 -0.385,-1.031 -0.845,-1.521 -0.489,-0.519 -1.373,-1.138 -2.81,-1.138 -1.434,0 -2.318,0.617 -2.806,1.134 -1.045,1.108 -1.023,2.516 -1.007,2.786 -0.002,-0.043 -0.003,-0.084 -0.003,-0.127 l 0,7.961 c 0,1.228 0.996,2.221 2.222,2.221 l 3.149,0 c 0.004,0 0.007,-0.002 0.01,-0.002 -0.905,0.396 -1.96,0.973 -2.757,1.847 -1.623,1.719 -2.517,3.958 -2.517,6.303 0,2.615 1.08,5.01 3.044,6.747 1.889,1.668 4.462,2.586 7.244,2.586 2.012,0 3.609,-0.526 4.891,-1.217 0.406,0.437 0.973,0.719 1.619,0.719 l 3.148,0 c 1.227,0 2.221,-0.993 2.221,-2.22 l 0,-1.918 5.164,0 c 0.606,0 1.151,-0.245 1.553,-0.638 1.166,0.631 2.596,1.065 4.428,1.065 2.639,0 4.914,-1.048 6.609,-2.87 l 0,-10e-4 c 1.469,5.004 5.679,8.259 10.967,8.087 4.246,-0.136 7.58,-2.242 9.38,-5.643 l 1.019,0 0,3.334 c 0,1.226 0.994,2.221 2.222,2.221 l 3.678,0 c 1.228,0 2.222,-0.995 2.222,-2.221 l 0,-3.334 3.632,0 0,3.334 c 0,1.226 0.994,2.221 2.222,2.221 l 3.713,0 c 1.228,0 2.221,-0.995 2.221,-2.221 l 0,-3.334 1.413,0 0,1.885 c 0,2.469 1.136,3.81 2.089,4.498 1.191,0.859 2.785,1.259 5.015,1.259 l 2.723,0 c 1.228,0 2.223,-0.994 2.223,-2.22 l 0,-2.937 c 0,-1.227 -0.995,-2.222 -2.223,-2.222 l -1.667,0 0,-0.263 7.86,0 c 1.021,0 1.846,-0.703 2.104,-1.642 0.261,0.939 1.084,1.642 2.105,1.642 l 14.356,0 c 1.227,0 2.222,-1.029 2.222,-2.256"
id="path3274"
style="fill:#5e9536;fill-opacity:1;fill-rule:nonzero;stroke:none" /><g
transform="translate(27.1812,36.0693)"
id="g3276"><path
d="m 0,0 c 1.027,-1.732 2.794,-4.881 7.005,-4.881 3.042,0 4.99,1.59 4.99,4.068 0,3.398 -3.645,3.751 -6.087,3.998 -1.803,0.177 -3.114,0.317 -4.387,0.814 -0.743,0.282 -1.912,0.777 -2.654,1.592 -1.203,1.273 -1.91,2.972 -1.91,4.777 0,4.069 3.433,7.111 8.067,7.111 3.29,0 5.201,-1.769 6.51,-2.972 l 0,2.476 3.148,0 0,-7.147 -3.113,0 c -0.532,1.167 -0.815,1.593 -1.38,2.196 -1.309,1.342 -3.006,2.086 -4.74,2.086 -2.761,0 -4.847,-1.522 -4.847,-3.504 0,-1.061 0.635,-1.979 1.732,-2.474 0.921,-0.426 1.805,-0.638 3.999,-0.887 2.229,-0.248 3.184,-0.459 4.564,-0.92 3.997,-1.38 5.023,-4.812 5.023,-6.934 0,-4.528 -3.431,-7.853 -8.101,-7.853 -3.963,0 -5.874,2.121 -7.785,4.175 l 0,-3.682 c 0,0 0.094,-1.572 -1.589,-1.572 -1.682,0 -1.594,1.572 -1.594,1.572 L -3.149,0 0,0 z"
id="path3278"
style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g><g
transform="translate(54.0635,32.6055)"
id="g3280"><path
d="m 0,0 c 3.006,0 4.702,2.441 4.702,6.826 0,4.246 -1.696,6.794 -4.564,6.794 -2.935,0 -4.988,-2.723 -4.988,-6.581 C -4.85,2.722 -2.938,0 0,0 m -4.815,13.584 c 1.487,1.946 3.113,3.149 5.981,3.149 4.493,0 7.607,-4.104 7.607,-10.013 0,-5.696 -3.221,-9.834 -7.642,-9.834 -3.397,0 -4.883,1.839 -5.946,3.148 l 0,-5.802 2.265,0 0,-3.007 -8.244,0 0,3.007 2.264,0 0,19.068 -2.264,0 0,3.008 5.979,0 0,-2.724 z"
id="path3282"
style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g><g
transform="translate(77.4663,44.4209)"
id="g3284"><path
d="M 0,0 C 0.14,4.351 -1.58,6.922 -4.799,7.025 -7.875,7.124 -9.872,4.5 -10.01,0.256 -10.142,-3.775 -8.282,-6.49 -5.241,-6.59 -2.165,-6.688 -0.133,-4.137 0,0 m -13.962,0.667 c 0.186,5.693 4.031,9.64 9.229,9.472 5.375,-0.175 8.888,-4.254 8.696,-10.125 -0.192,-5.943 -4,-9.887 -9.375,-9.712 -5.269,0.171 -8.744,4.388 -8.55,10.365"
id="path3286"
style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g><g
transform="translate(85.4258,54.4688)"
id="g3288"><path
d="m 0,0 3.679,0 0,-5.556 4.246,0 0,-3.007 -4.246,0 0,-10.93 c 0,-2.411 1.92,-2.053 4.246,-2.053 l 0,-3.078 -2.549,0 c -3.21,0 -5.376,1.359 -5.376,4.951 l 0,11.11 -2.433,0 c 0,0 -0.054,0.777 -0.157,1.47 -0.101,0.695 -0.333,1.537 -0.333,1.537 L 0,-5.556 0,0 z"
id="path3290"
style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g><g
transform="translate(94.9492,48.9131)"
id="g3292"><path
d="m 0,0 5.943,0 0,-15.99 2.124,0 0,-3.008 -8.101,0 0,3.008 2.264,0 0,13.018 -2.23,0 L 0,0 z"
id="path3294"
style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g><path
d="m 97.18,54.469 3.713,0 0,-3.325 -3.713,0 0,3.325 z"
id="path3296"
style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" /><g
transform="translate(110.4639,45.9053)"
id="g3298"><path
d="m 0,0 0,-12.982 2.37,0 0,-3.008 -8.278,0 0,3.008 2.192,0 0,12.982 -2.972,0 0,3.008 2.972,0 0,4.106 c 0,2.476 1.487,3.537 4.883,3.537 l 2.724,0 0,-2.936 -2.157,0 C 0.426,7.715 0,7.29 0,6.087 l 0,-3.079 10.083,0 L 10.083,0 8.172,0 12.455,-11.956 16.24,0 l -1.948,0 0,3.008 7.184,0 0,-3.008 -1.769,0 -6.546,-19.74 c -0.706,-2.053 -1.875,-2.655 -4.492,-2.655 l -2.69,0 0,3.116 c 0.566,-0.036 1.451,0 1.913,0 1.662,0 2.086,0.352 2.652,2.122 l 0.247,0.884 L 4.635,0 0,0 z"
id="path3300"
style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g><g
transform="translate(133.2666,48.8789)"
id="g3302"><path
d="m 0,0 2.194,0 0,-1.11 -0.37,0 0,0.726 -0.493,0 0,-2.162 0.331,0 0,-0.383 -1.135,0 0,0.383 0.338,0 0,2.162 -0.495,0 0,-0.713 -0.37,0 L 0,0 z"
id="path3304"
style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g><g
transform="translate(135.7598,48.8789)"
id="g3306"><path
d="M 0,0 1.014,0 1.678,-2.214 2.352,0 l 1.001,0 0,-0.384 -0.295,0 0,-2.162 0.295,0 0,-0.383 -0.724,0 0,2.624 -0.788,-2.624 -0.312,0 -0.797,2.617 0,-2.617 -0.732,0 0,0.383 0.303,0 0,2.162 L 0,-0.384 0,0 z"
id="path3308"
style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g><g
transform="translate(79.1582,58.2109)"
id="g3310"><path
d="m 0,0 c -2.762,1.688 -6.185,2.082 -10.174,1.169 -0.352,-0.08 -0.571,-0.43 -0.491,-0.781 0.079,-0.352 0.431,-0.571 0.782,-0.492 3.646,0.833 6.742,0.494 9.202,-1.009 0.306,-0.188 0.71,-0.091 0.899,0.217 C 0.404,-0.587 0.309,-0.186 0,0"
id="path3312"
style="fill:#5e9536;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g><g
transform="translate(80.3877,61.29)"
id="g3314"><path
d="m 0,0 c -3.233,1.986 -7.963,2.547 -11.768,1.392 -0.431,-0.13 -0.675,-0.586 -0.544,-1.018 0.132,-0.432 0.588,-0.676 1.02,-0.544 3.329,1.01 7.623,0.51 10.438,-1.223 0.383,-0.234 0.886,-0.114 1.124,0.27 C 0.504,-0.739 0.384,-0.237 0,0"
id="path3316"
style="fill:#538434;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g><g
transform="translate(81.7666,64.8672)"
id="g3318"><path
d="m 0,0 c -3.885,2.307 -10.037,2.524 -13.738,1.399 -0.518,-0.157 -0.81,-0.704 -0.652,-1.221 0.156,-0.518 0.702,-0.811 1.222,-0.654 3.221,0.98 8.792,0.794 12.169,-1.211 0.464,-0.276 1.065,-0.124 1.341,0.342 C 0.618,-0.878 0.466,-0.278 0,0"
id="path3320"
style="fill:#467232;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g></g></g></g></svg>
<svg width="1000px" height="1000px" viewBox="0 0 1000 1000" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<title>Slice 1</title>
<description>Created with Sketch (http://www.bohemiancoding.com/sketch)</description>
<defs>
<radialGradient cx="50.8262172%" cy="19.7598471%" fx="50.8262172%" fy="19.7598471%" r="50%" id="radialGradient-1">
<stop stop-color="#A9D03F" offset="0%"></stop>
<stop stop-color="#A9D03F" offset="7.105015%"></stop>
<stop stop-color="#A1CC3E" offset="24.677444%"></stop>
<stop stop-color="#94C93D" offset="45.569649%"></stop>
<stop stop-color="#8DC540" offset="59.65941%"></stop>
<stop stop-color="#84BC41" offset="79.657596%"></stop>
<stop stop-color="#79B641" offset="100%"></stop>
</radialGradient>
</defs>
<g id="Page 1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="svg2" sketch:type="MSLayerGroup" transform="translate(-3578.000000, -1.000000)">
<g id="layer1" transform="translate(0.205880, 0.260670)" sketch:type="MSShapeGroup">
<g id="g3128" transform="translate(3577.939315, 0.777349)">
<g id="g3099" transform="translate(0.354801, 0.209030)">
<path d="M193.437643,632.659533 L195.123066,649.176693 L207.876102,655.075649 C208.61026,635.537611 220.760227,623.670557 236.809201,620.805363 C287.667189,609.746278 350.224972,599.175766 423.104651,599.175766 C537.69697,599.175766 636.546844,627.589457 716.536846,676.368177 C728.346469,683.54526 732.213989,692.48324 733.896707,704.34618 L778.335699,675.581658 L767.09954,631.311187 L435.408243,542.320795 L125.290361,581.872088 L193.437643,632.659533 Z M193.437643,632.659533" id="path3103" stroke="#008080" stroke-width="0.60321335" fill="#7A9F3F"></path>
<path d="M172.482213,509.286544 L187.538661,503.607354 C188.063083,484.734552 198.241386,469.043304 220.011149,463.105899 C276.33546,446.55852 342.484544,436.195362 414.733719,436.195362 C553.337209,436.195362 680.365755,472.505672 773.168293,528.463296 C788.018896,537.582595 793.722856,544.317514 796.523759,568.200359 L864.776004,530.687943 L578.11458,396.57358 L98.8624405,424.540587 L172.482213,509.286544 Z M172.482213,509.286544" id="path3105" stroke="#000080" stroke-width="0.60321335" fill="#82A73E"></path>
<path d="M153.605473,350.070232 C152.076157,321.873002 166.872726,301.582443 188.549915,295.350126 C259.810578,274.652277 336.233219,264.506862 426.53168,264.506862 C576.724736,264.506862 727.614818,295.943186 838.000808,359.708052 C859.696193,371.514802 865.964969,387.375427 867.14592,411.606877 L935.646849,366.381993 L730.026064,192.541832 L100.769276,259.916791 L153.605473,350.070232 Z M153.605473,350.070232" id="path3107" stroke="#000000" stroke-width="0.60321335" fill="#81A83E"></path>
<path d="M499.499987,0.252954078 C223.636558,0.252954078 0,223.868339 0,499.731895 C0,775.595316 223.636558,999.231882 499.499987,999.231882 C775.363415,999.231882 998.999974,775.595316 998.999974,499.731895 C998.999974,223.868339 775.363415,0.252954078 499.499987,0.252954078 L499.499987,0.252954078 Z M426.206543,260.943245 C572.876178,260.943245 727.193376,291.113719 839.912938,357.318749 C855.106318,365.924044 865.651016,378.898295 865.651016,402.681847 C865.651016,429.910701 843.765436,449.478352 818.538319,449.478352 C808.368472,449.478352 802.334438,447.003989 792.800241,441.784298 C702.388396,387.571922 562.085689,357.719226 426.396258,357.719226 C358.663817,357.719226 289.87104,364.607334 226.857649,381.707704 C219.600156,383.534168 210.428242,387.16733 201.246049,387.16733 C174.600109,387.16733 154.154431,366.087014 154.154431,339.443328 C154.154431,312.298387 170.977823,297.060501 189.125333,291.698212 C260.328459,270.721438 339.807595,260.943245 426.206543,260.943245 L426.206543,260.943245 Z M416.025141,432.57252 C546.769259,432.57252 673.250636,465.135467 772.690392,524.647805 C789.361104,534.207108 795.498418,546.34634 795.498418,564.129754 C795.498418,585.758205 778.279496,603.232205 756.564569,603.232205 C745.726425,603.232205 738.908806,598.852727 731.543195,594.568562 C650.290675,546.350185 537.6778,514.318914 414.35986,514.318914 C351.11133,514.318914 296.518727,523.175342 251.330956,535.208671 C241.595233,537.888096 236.137204,540.773661 227.026285,540.773661 C205.543773,540.773661 188.008119,523.267822 188.008119,501.607938 C188.008119,480.36762 198.309807,465.742557 219.079311,459.89156 C275.228953,444.470603 332.567773,432.57252 416.025141,432.57252 L416.025141,432.57252 Z M422.875981,595.685809 C532.179064,595.685809 629.593366,620.760574 713.414819,671.002852 C725.890454,678.286513 733.208476,685.729501 733.208476,704.203109 C733.208476,722.209932 718.564432,735.44287 702.137283,735.44287 C694.05938,735.44287 688.548347,732.640611 680.994538,728.043997 C608.602224,684.246044 518.339022,661.221961 422.538709,661.221961 C369.09223,661.221961 315.300392,668.07641 264.990477,678.549316 C256.809701,680.322827 246.514832,683.48192 240.369613,683.48192 C221.400881,683.48192 208.750353,668.414491 208.750353,652.094569 C208.750353,631.105451 220.860397,620.6544 235.921837,617.777132 C297.616561,603.71727 359.058918,595.685809 422.875981,595.685809 L422.875981,595.685809 Z M422.875981,595.685809" id="path3101" fill="url(#radialGradient-1)"></path>
</g>
</g>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 5.6 KiB

View File

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="500px" height="500px" viewBox="0 0 500 500" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<title>station-artist</title>
<description>Created with Sketch (http://www.bohemiancoding.com/sketch)</description>
<defs>
<linearGradient x1="50%" y1="50%" x2="50%" y2="170.589844%" id="linearGradient-1">
<stop stop-color="rgb(254,255,254)" offset="0%"></stop>
<stop stop-color="rgb(0,0,0)" offset="100%"></stop>
</linearGradient>
</defs>
<g id="Page 1" fill="rgb(215,215,215)" fill-rule="evenodd">
<path d="M245.48466,91 C161.807243,91 94,158.187218 94,241.021267 C94,323.885705 161.807243,391 245.48466,391 C329.137526,391 397,323.885699 397,241.021267 C397.006157,158.188001 329.137415,91 245.48466,91 L245.48466,91 L245.48466,91 M328.597284,221.910531 L283.447689,255.452489 L299.857913,308.566669 C300.496157,310.61443 299.741311,312.856636 297.986141,314.126613 C297.090145,314.776792 296.034589,315.10492 294.966758,315.10492 C293.960297,315.10492 292.947699,314.807174 292.076251,314.211683 L245.496742,282.462275 L198.929509,314.211683 C197.155929,315.433048 194.774789,315.390513 193.019619,314.126613 C191.264449,312.856637 190.515741,310.620506 191.147847,308.566669 L207.551935,255.452489 L162.408476,221.910531 C160.671717,220.616248 159.947556,218.374041 160.610347,216.320204 C161.279276,214.254214 163.187869,212.850556 165.378763,212.801944 L222.071977,211.671726 L240.673094,159.213801 C241.397255,157.190346 243.32426,155.8353 245.490606,155.8353 C247.656952,155.8353 249.602368,157.190346 250.320392,159.213801 L268.92151,211.671726 L325.614723,212.801944 C327.793343,212.850556 329.708074,214.254214 330.377002,216.320204 C331.052217,218.375335 330.334166,220.616913 328.597284,221.910531 C328.597284,221.910531 330.334166,220.616913 328.597284,221.910531 L328.597284,221.910531" id="Shape" stroke="rgb(150,150,150)" stroke-width="1" fill="url(#linearGradient-1)"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="500px" height="500px" viewBox="0 0 500 500" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<title>station-genre</title>
<description>Created with Sketch (http://www.bohemiancoding.com/sketch)</description>
<defs>
<linearGradient x1="50%" y1="50%" x2="50%" y2="170.589844%" id="linearGradient-1">
<stop stop-color="rgb(254,255,254)" offset="0%"></stop>
<stop stop-color="rgb(0,0,0)" offset="100%"></stop>
</linearGradient>
</defs>
<g id="Page 1" fill="rgb(215,215,215)" fill-rule="evenodd">
<g id="Group" fill="rgb(0,0,0)">
<path d="M389.045442,230.429716 C383.570272,224.959128 241.528204,83.1885389 241.528204,83.1885389 L179.981162,84.9885389 L160.691354,104.235598 C166.349226,110.976775 171.677056,117.782657 175.749546,123.859127 C179.185524,122.035598 183.098886,121.000304 187.259779,121.000304 C200.856353,121.000304 211.871525,132.006186 211.871525,145.576774 C211.871525,159.14148 200.850461,170.141481 187.259779,170.141481 C173.669099,170.141481 162.648034,159.141481 162.648034,145.576774 C162.648034,142.612068 163.19614,139.788539 164.1568,137.159127 C158.104056,132.623833 151.208523,126.559127 144.560523,120.34148 L129.631991,135.24148 L129.631991,198.565012 L276.789714,345.447361 C276.789714,345.447361 281.192246,351.47089 287.22731,345.447361 C293.262374,339.423831 389.045432,243.817946 389.045432,243.817946 C389.045432,243.817946 394.514592,235.894158 389.045442,230.429716 C389.045442,230.429716 394.514592,235.894158 389.045442,230.429716 L389.045442,230.429716" id="Shape" stroke="rgb(150,150,150)" stroke-width="1" fill="url(#linearGradient-1)"></path>
<path d="M178.83767,140.964384 C179.008585,140.964384 179.309159,140.952619 179.427032,140.82909 C182.916053,137.346737 161.374883,108.893797 132.325244,78.5584992 C131.523712,78.4114404 129.867605,78.1349698 127.975755,78.1349698 C125.512223,78.1349698 122.20001,78.5996757 120.437818,80.8290875 C118.940839,82.7173229 118.622584,85.7232053 119.506627,89.7761465 C138.165813,109.723719 170.456964,140.964384 178.83767,140.964384 C178.83767,140.964384 170.456964,140.964384 178.83767,140.964384 L178.83767,140.964384" id="Shape" stroke="rgb(150,150,150)" stroke-width="1" fill="url(#linearGradient-1)"></path>
<path d="M141.000749,228.394014 L196.30056,367.023423 C196.30056,367.023423 197.726815,373.270482 204.551624,370.576364 C207.793113,369.288128 233.895943,358.911658 260.440793,348.358717 L260.423112,348.364599 L141.000749,228.394014 L141.000749,228.394014 L141.000749,228.394014" id="Shape" stroke="rgb(150,150,150)" stroke-width="1" fill="url(#linearGradient-1)"></path>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.8 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 11 KiB

View File

@@ -1,9 +1,15 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="80px" height="80px" viewBox="0 0 80 80" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<svg width="150px" height="150px" viewBox="0 0 150 150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<title>track-placeholder-grid</title>
<description>Created with Sketch (http://www.bohemiancoding.com/sketch)</description>
<defs></defs>
<g id="Page 1" fill="rgb(215,215,215)" fill-rule="evenodd">
<path d="M0,0 L80,0 L80,80 L0,80 Z M16.875,15.9537457 C15.7162501,17.6713457 15.575625,19.9684456 16.485,22.2560456 C17.29875,24.300446 18.87375,26.2080454 20.9343749,27.6330454 C23.0231251,29.0789457 25.3874999,29.8769459 27.5925002,29.8769459 C28.0031249,29.8769459 28.3912504,29.8389459 28.7737504,29.7857461 C28.7681249,33.8346462 28.7606254,37.8778449 28.7493749,41.911547 C28.7381249,46.8477471 28.7287499,51.7725466 28.7287499,56.6897468 C28.7287499,57.5618467 29.2893749,58.3332468 30.1124999,58.5897468 L57.8568758,67.2727463 C58.4587507,67.4589463 59.1018758,67.3506463 59.6025008,66.9744463 C60.1012507,66.6001462 60.3975008,66.0054463 60.3975008,65.3746463 L60.3975008,64.4037463 C60.4087508,64.3372463 60.4087508,64.2707463 60.4087508,64.2004463 L60.4087508,33.9334457 C60.9262508,32.7060457 60.9450008,31.2582456 60.5531258,29.7781457 C60.4612508,29.1549458 60.2962508,28.5241457 60.0450008,27.8914457 C59.2312507,25.8470458 57.6506256,23.9375459 55.5937506,22.5144459 C53.5050009,21.0666459 51.1368757,20.2705459 48.9375007,20.2705459 C46.5149993,20.2705459 44.5406252,21.2148458 43.3818752,22.9324459 C42.2268748,24.650046 42.0825005,26.9471453 42.9918748,29.2328454 C43.8037509,31.2772449 45.3843749,33.1886459 47.4450016,34.6117452 C49.5300007,36.0576464 51.8981266,36.8537457 54.1012502,36.8537457 C54.3318737,36.8537457 54.5550013,36.838545 54.7743738,36.8195464 C54.9356246,36.8423466 55.0968754,36.8708454 55.258125,36.8803447 L55.258125,56.9747451 L33.93,50.301945 L33.93,26.3657458 C35.0531249,23.7000456 33.9131249,20.0083456 31.0199999,17.1545457 C30.9168749,17.0519457 30.8099999,16.9626457 30.7049999,16.8657457 C30.5793749,16.7479457 30.4518749,16.6320457 30.3206249,16.5180457 C30.1949999,16.4116457 30.0599999,16.3109457 29.9343749,16.2083457 C29.6531249,15.9822457 29.3906249,15.7428457 29.0887499,15.5357457 C26.9943751,14.0879457 24.6318749,13.2918457 22.4268749,13.2918457 C20.0043751,13.2918457 18.031875,14.2361458 16.875,15.9537457 Z M16.875,15.9537457" id="Rectangle 1" fill="rgb(0,0,0)" transform="translate(40.000000, 40.000000) scale(1, -1) translate(-40.000000, -40.000000)"></path>
<defs>
<path d="M368.5,17 C391.419818,17 410,-1.58018175 410,-24.5 C410,-47.4198183 391.419818,-66 368.5,-66 C345.580182,-66 327,-47.4198183 327,-24.5 C327,-1.58018175 345.580182,17 368.5,17 Z M368.5,153 C270.469452,153 191,73.5305479 191,-24.5 C191,-122.530548 270.469452,-202 368.5,-202 C466.530548,-202 546,-122.530548 546,-24.5 C546,73.5305479 466.530548,153 368.5,153 Z M368.5,153" id="path-1"></path>
</defs>
<g id="Page 1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="Oval 1">
<use fill="#0B0A0A" fill-rule="evenodd" sketch:type="MSShapeGroup" xlink:href="#path-1"></use>
<use fill="none" xlink:href="#path-1"></use>
</g>
<path d="M38.4021158,37.7907545 C40.0517338,35.3447574 42.8643728,34 46.3186782,34 C49.4628449,34 52.8315951,35.1337089 55.8180184,37.1954897 C56.2484698,37.4904163 56.6227753,37.8313407 57.023817,38.1533248 C57.202949,38.2994353 57.395449,38.44284 57.5745809,38.5943619 C57.7617337,38.7567069 57.9435392,38.9217576 58.1226712,39.089514 C58.2723934,39.2275072 58.4247892,39.3546774 58.5718378,39.5007879 C62.6972197,43.5648229 64.3227754,48.8220933 62.7212824,52.6182596 L62.7212824,86.7052854 L93.1336088,96.2078764 L93.1336088,67.5918735 C92.9036789,67.5783457 92.6737472,67.5377611 92.4438154,67.5052919 C92.1310065,67.5323474 91.812843,67.5539945 91.483991,67.5539945 C88.3425,67.5539945 84.9657279,66.4202865 81.9926736,64.3612097 C79.0543725,62.3346047 76.8005198,59.6126198 75.6428447,56.7012345 C74.3461442,53.4462181 74.5520114,50.1749685 76.1989563,47.7289712 C77.851248,45.2829739 80.6665592,43.9382166 84.1208668,43.9382166 C87.2570126,43.9382166 90.6337838,45.0719255 93.6121861,47.1337063 C96.5451375,49.1603124 98.7989918,51.8795901 99.9593391,54.790976 C100.317603,55.6919905 100.552881,56.5902992 100.683888,57.4777848 C101.242672,59.5855633 101.215936,61.6473441 100.47802,63.3952581 L100.47802,106.497842 C100.47802,106.597955 100.47802,106.692656 100.461978,106.787357 L100.461978,108.169995 C100.461978,109.068303 100.039547,109.915203 99.3283669,110.448235 C98.6145127,110.983974 97.6974641,111.138201 96.8392349,110.873038 L57.2778101,98.5077654 C56.1040948,98.1424893 55.3046851,97.0439551 55.3046851,95.8020163 C55.3046851,88.7995375 55.3180532,81.7862365 55.3340949,74.7567003 C55.3501372,69.012392 55.3608309,63.2545598 55.3688524,57.4886084 C54.8234358,57.5643691 54.2699976,57.618484 53.6844771,57.618484 C50.5403101,57.618484 47.1688867,56.4820692 44.1904837,54.4229937 C41.2521852,52.3936819 39.0063519,49.6771106 37.8460047,46.765724 C36.5493032,43.5080021 36.7498242,40.2367517 38.4021158,37.7907545" id="path1534" fill="#9B9B9B" sketch:type="MSShapeGroup" transform="translate(69.035570, 72.500000) scale(1, -1) translate(-69.035570, -72.500000) "></path>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

View File

@@ -1,14 +1,18 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="38px" height="38px" viewBox="0 0 38 38" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<title>view-toggle-inactive-centre</title>
<svg width="40px" height="40px" viewBox="0 0 40 40" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<title>Slice 1</title>
<description>Created with Sketch (http://www.bohemiancoding.com/sketch)</description>
<defs>
<linearGradient x1="50%" y1="0%" x2="50%" y2="173.920641%" id="linearGradient-1">
<stop stop-color="rgb(254,255,254)" offset="0%"></stop>
<stop stop-color="rgb(0,0,0)" offset="100%"></stop>
<linearGradient x1="50%" y1="0%" x2="50%" y2="321.977796%" id="linearGradient-1">
<stop stop-color="#FEFFFE" offset="0%"></stop>
<stop stop-color="#000000" offset="100%"></stop>
</linearGradient>
</defs>
<g id="Page 1" fill="rgb(215,215,215)" fill-rule="evenodd">
<path d="M0,0 L0,38 L38,38 L38,0 L0,0 Z M0,0" id="Rectangle 1" stroke="rgb(150,150,150)" stroke-width="1" fill="url(#linearGradient-1)" transform="translate(19.000000, 19.000000) scale(-1, 1) translate(-19.000000, -19.000000)"></path>
<g id="Page 1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="view-toggle-inactive-centre" sketch:type="MSLayerGroup" transform="translate(1.000000, 1.000000)" stroke="#969696" fill="url(#linearGradient-1)">
<g id="Page 1" sketch:type="MSShapeGroup">
<path d="M0,0 L0,38 L38,38 L38,0 L0,0 L0,0 Z M0,0" id="Rectangle 1" transform="translate(19.000000, 19.000000) scale(-1, 1) translate(-19.000000, -19.000000) "></path>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 985 B

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@@ -1,14 +1,18 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="38px" height="38px" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<title>view-toggle-inactive-right</title>
<svg width="40px" height="40px" viewBox="0 0 40 40" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<title>Slice 1</title>
<description>Created with Sketch (http://www.bohemiancoding.com/sketch)</description>
<defs>
<linearGradient x1="50%" y1="0%" x2="50%" y2="173.920641%" id="linearGradient-1">
<stop stop-color="rgb(254,255,254)" offset="0%"></stop>
<stop stop-color="rgb(0,0,0)" offset="100%"></stop>
<linearGradient x1="50%" y1="0%" x2="50%" y2="321.977796%" id="linearGradient-1">
<stop stop-color="#FEFFFE" offset="0%"></stop>
<stop stop-color="#000000" offset="100%"></stop>
</linearGradient>
</defs>
<g id="Page 1" fill="rgb(215,215,215)" fill-rule="evenodd">
<path d="M0,0 L0,38 L26.0026482,38 C32.6286026,38 38,32.636124 38,26.0026482 L38,11.9973518 C38,5.37139735 32.636124,0 26.0026482,0 L0,0 Z M0,0" id="Rectangle 2" stroke="rgb(150,150,150)" stroke-width="1" fill="url(#linearGradient-1)"></path>
<g id="Page 1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="view-toggle-inactive-right" sketch:type="MSLayerGroup" transform="translate(1.000000, 1.000000)" stroke="#969696" fill="url(#linearGradient-1)">
<g id="Page 1" sketch:type="MSShapeGroup">
<path d="M0,0 L0,38 L26.0026482,38 C32.6286026,38 38,32.636124 38,26.0026482 L38,11.9973518 C38,5.37139735 32.636124,0 26.0026482,0 L0,0 L0,0 Z M0,0" id="Rectangle 2"></path>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 972 B

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@@ -1,16 +1,18 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="38px" height="38px" viewBox="0 0 38 38" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<title>view-toggle-pressed-left</title>
<svg width="40px" height="40px" viewBox="0 0 40 40" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<title>Slice 1</title>
<description>Created with Sketch (http://www.bohemiancoding.com/sketch)</description>
<defs>
<linearGradient x1="50%" y1="50%" x2="50%" y2="0%" id="linearGradient-1">
<stop stop-color="rgb(37,41,44)" offset="0%"></stop>
<stop stop-color="rgb(0,0,0)" stop-opacity="0.5" offset="100%"></stop>
<linearGradient x1="50%" y1="0%" x2="50%" y2="321.977796%" id="linearGradient-1">
<stop stop-color="#FEFFFE" offset="0%"></stop>
<stop stop-color="#000000" offset="100%"></stop>
</linearGradient>
<path d="M11.9973518,0 C5.37139735,0 0,5.36387601 0,11.9973518 L0,26.0026482 C0,32.6286026 5.36387601,38 11.9973518,38 L38,38 L38,0 L11.9973518,0 Z M11.9973518,0" id="path-2"></path>
</defs>
<g id="Page 1" fill="rgb(215,215,215)" fill-rule="evenodd">
<use id="Rectangle 2" stroke="rgb(150,150,150)" stroke-width="1" fill="url(#linearGradient-1)" xlink:href="#path-2"></use>
<use id="Rectangle 2-1" stroke="none" fill="none" xlink:href="#path-2"></use>
<g id="Page 1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="view-toggle-inactive-left" sketch:type="MSLayerGroup" transform="translate(1.000000, 1.000000)" stroke="#969696" fill="url(#linearGradient-1)">
<g id="Page 1" sketch:type="MSShapeGroup">
<path d="M11.9973518,0 C5.37139735,0 0,5.36387601 0,11.9973518 L0,26.0026482 C0,32.6286026 5.36387601,38 11.9973518,38 L38,38 L38,0 L11.9973518,0 L11.9973518,0 Z M11.9973518,0" id="Rectangle 2"></path>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -1,3 +1,22 @@
/* === This file is part of Tomahawk Player - <http://tomahawk-player.org> ===
*
* Copyright 2011, Dominik Schmidt <domme@tomahawk-player.org>
* Copyright 2011-2012, Leo Franchi <lfranchi@kde.org>
* Copyright 2013, Teo Mrnjavac <teo@kde.org>
*
* Tomahawk is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Tomahawk is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Tomahawk. If not, see <http://www.gnu.org/licenses/>.
*/
// if run in phantomjs add fake Tomahawk environment
if(window.Tomahawk === undefined)
@@ -60,6 +79,14 @@ Tomahawk.extend = function(object, members) {
};
var TomahawkResolverCapability = {
NullCapability: 0,
Browsable: 1,
PlaylistSync: 2,
AccountFactory: 4
};
// Resolver BaseObject, inherit it to implement your own resolver
var TomahawkResolver = {
init: function()
@@ -106,6 +133,28 @@ var TomahawkResolver = {
search: function( qid, searchString )
{
return this.resolve( qid, "", "", searchString );
},
artists: function( qid )
{
return {
qid: qid
};
},
albums: function( qid, artist )
{
return {
qid: qid
};
},
tracks: function( qid, artist, album )
{
return {
qid: qid
};
},
collection: function()
{
return {};
}
};

View File

@@ -0,0 +1,21 @@
import QtQuick 1.1
import tomahawk 1.0
import "tomahawkimports"
// Only to be used together with DeclarativeHeader C++ class
// If you want to use the header in QML, use FlexibleHeader
Item {
anchors.fill: parent
FlexibleHeader {
anchors.fill: parent
icon: iconSource
title: caption
subtitle: description
buttonModel: buttonList
onSearchTextChanged: mainView.setFilterText(searchText)
onCurrentButtonIndexChanged: mainView.viewModeSelected(currentButtonIndex)
}
}

65
data/qml/QmlGridView.qml Normal file
View File

@@ -0,0 +1,65 @@
import QtQuick 1.1
//import tomahawk 1.0
import "tomahawkimports"
Rectangle {
anchors.fill: parent
color: "black"
Text {
id: fontMetrics
text: "Here's some sample text"
opacity: 0
}
GridView {
id: gridView
anchors.fill: parent
//anchors.rightMargin: scrollBar.width
cellHeight: cellWidth
cellWidth: calculateCoverSize(gridView.width - 3)
cacheBuffer: cellHeight * 5
function calculateCoverSize(rectWidth) {
var itemWidth = fontMetrics.width;
var itemsPerRow = Math.max( 1, Math.floor( rectWidth / itemWidth ) );
var remSpace = rectWidth - ( itemsPerRow * itemWidth );
var extraSpace = remSpace / itemsPerRow;
return itemWidth + extraSpace;
}
model: mainModel
delegate: CoverImage {
height: gridView.cellHeight// * 0.95
width: gridView.cellWidth// * 0.95
showLabels: true
showMirror: false
artistName: model.artistName
trackName: model.trackName
artworkId: model.coverID
showPlayButton: true
currentlyPlaying: isPlaying
smooth: !gridView.moving
onClicked: {
rootView.onItemClicked(index)
}
onPlayClicked: {
rootView.onItemPlayClicked(index)
}
}
}
ScrollBar {
id: scrollBar
listView: gridView
orientation: Qt.Vertical
margin: -width
}
}

35
data/qml/SpinnerTest.qml Normal file
View File

@@ -0,0 +1,35 @@
import QtQuick 1.1
import "tomahawkimports"
Rectangle {
width: 1400
height: 900
color: "black"
BusyIndicator {
anchors.centerIn: parent
anchors.horizontalCenterOffset: 200
height: 200
width: 200
count: 11
}
Image {
id: svgSpinner
source: "../images/loading-animation.svg"
smooth: true
height: 200
width: 200
anchors.centerIn: parent
anchors.horizontalCenterOffset: -200
Timer {
running: true
repeat: true
interval: 200
onTriggered: svgSpinner.rotation += 360 / 12
}
}
}

165
data/qml/StationView.qml Normal file
View File

@@ -0,0 +1,165 @@
import QtQuick 1.1
import tomahawk 1.0
import "tomahawkimports"
import "stations"
Rectangle {
id: scene
color: "black"
anchors.fill: parent
state: "list"
FlexibleHeader {
id: header
anchors {
left: parent.left
top: parent.top
right: parent.right
}
height: defaultFontHeight * 4
width: parent.width
icon: "../images/station.svg"
title: mainView.title
subtitle: generator.summary
showSearchField: false
showBackButton: stationListView.currentIndex > 0
showNextButton: mainView.configured && stationListView.currentIndex == 2
nextButtonText: "Save"
backButtonText: "Back"
z: 1 //cover albumcovers that may leave their area
onBackPressed: {
inputBubble.opacity = 0
stationListView.decrementCurrentIndex()
switch (stationListView.currentIndex) {
case 0:
subtitle = ""
break;
case 1:
subtitle = modeModel.get(stationCreator.modeIndex).headerSubtitle + "..."
break;
}
}
// In our case the next button is the save button
onNextPressed: {
inputBubble.opacity = 1
inputBubble.forceActiveFocus();
}
}
ListModel {
id: modeModel
ListElement { label: "By Artist"; image: "../../images/station-artist.svg"; creatorContent: "stations/CreateByArtist.qml"; headerSubtitle: "Songs from" }
ListElement { label: "By Genre"; image: "../../images/station-genre.svg"; creatorContent: "stations/CreateByGenre.qml"; headerSubtitle: "Songs of genre" }
ListElement { label: "By Year"; image: "../../images/station-year.svg"; creatorContent: "stations/CreateByYear.qml"; headerSubtitle: "Songs from" }
}
VisualItemModel {
id: stationVisualModel
StationCreatorPage1 {
height: scene.height - header.height
width: scene.width
model: modeModel
onItemClicked: {
stationCreator.modeIndex = index
// FIXME: This is a workaround for the ListView scrolling too slow on the first time
// Lets reinitialize the current index to something invalid and back to 0 (what it already is) before scrolling over to page 1
stationListView.currentIndex = -1
stationListView.currentIndex = 0
stationListView.incrementCurrentIndex()
header.subtitle = modeModel.get(index).headerSubtitle + "..."
}
}
StationCreatorPage2 {
id: stationCreator
height: stationListView.height
width: stationListView.width
property int modeIndex
content: modeModel.get(modeIndex).creatorContent
onNext: {
stationListView.incrementCurrentIndex()
header.subtitle = modeModel.get(modeIndex).headerSubtitle + " " + text
}
}
StationItem {
id: stationItem
height: stationListView.height
width: stationListView.width
}
}
VisualItemModel {
id: configuredStationVisualModel
StationItem {
id: cfgstationItem
height: stationListView.height
width: stationListView.width
}
}
ListView {
id: stationListView
anchors {
left: parent.left
top: header.bottom
right: parent.right
bottom: parent.bottom
}
contentHeight: height
contentWidth: width
orientation: ListView.Horizontal
//model: mainView.configured ? configuredStationVisualModel : stationVisualModel
interactive: false
highlightMoveDuration: 300
onHeightChanged: {
contentHeight = scene.height
}
onWidthChanged: {
contentWidth = scene.width
}
Component.onCompleted: {
model = mainView.configured ? configuredStationVisualModel : stationVisualModel
}
onModelChanged: print("ccccccccccccc", mainView.configured)
}
InputBubble {
id: inputBubble
text: "Station name:"
width: defaultFontHeight * 18
anchors.top: header.bottom
anchors.right: parent.right
anchors.rightMargin: defaultFontHeight / 2
anchors.topMargin: -defaultFontHeight / 2
z: 2
opacity: 0
arrowPosition: 0.95
onAccepted: {
mainView.title = inputBubble.inputText
inputBubble.opacity = 0
header.showNextButton = false
header.showBackButton = false
inputBubble.opacity = 0
}
onRejected: inputBubble.opacity = 0
}
}

View File

@@ -0,0 +1,74 @@
import QtQuick 1.1
import tomahawk 1.0
import "../tomahawkimports"
Item {
id: root
anchors.fill: parent
signal done(string text)
function createStation(artist) {
mainView.startStationFromArtist(artist)
root.done(artist)
}
Column {
id: upperColumn
anchors.fill: parent
anchors.margins: defaultFontHeight
spacing: defaultFontHeight
HeaderLabel {
id: headerText
text: "Pick one of your top artists,"
}
Item {
height: parent.height - headerText.height*2 - artistInputField.height - parent.spacing * 3
width: parent.width
ArtistView {
id: artistView
height: parent.height
width: parent.width
model: artistChartsModel
clip: true
cellWidth: defaultFontHeight * 12
cellHeight: defaultFontHeight * 12
spacing: defaultFontHeight / 2
onItemClicked: {
createStation(artistChartsModel.itemFromIndex(index).artistName);
}
}
ScrollBar {
listView: artistView
}
}
HeaderLabel {
text: "Or enter an artist name"
}
Row {
height: artistInputField.height
width: Math.min(defaultFontHeight * 30, parent.width)
spacing: defaultFontHeight * 0.5
anchors.horizontalCenter: parent.horizontalCenter
InputField {
id: artistInputField
width: parent.width - createFromInputButton.width - parent.spacing
onAccepted: createStation(text)
}
PushButton {
id: createFromInputButton
text: "Create station"
enabled: artistInputField.text.length > 2
onClicked: createStation(artistInputField.text)
}
}
}
}

View File

@@ -0,0 +1,94 @@
import QtQuick 1.1
import tomahawk 1.0
import "../tomahawkimports"
Item {
id: root
anchors.fill: parent
signal done(string text)
function createStation(genre) {
mainView.startStationFromGenre(genre)
root.done(genre)
}
ListModel {
id: styleModel
ListElement { modelData: "acoustic" }
ListElement { modelData: "alternative" }
ListElement { modelData: "alternative rock" }
ListElement { modelData: "classic" }
ListElement { modelData: "folk" }
ListElement { modelData: "indie" }
ListElement { modelData: "pop" }
ListElement { modelData: "rock" }
ListElement { modelData: "hip-hop" }
ListElement { modelData: "punk" }
ListElement { modelData: "grunge" }
ListElement { modelData: "indie" }
ListElement { modelData: "electronic" }
ListElement { modelData: "country" }
ListElement { modelData: "jazz" }
ListElement { modelData: "psychodelic" }
ListElement { modelData: "soundtrack" }
ListElement { modelData: "reggae" }
ListElement { modelData: "house" }
ListElement { modelData: "drum and base" }
}
Column {
id: upperColumn
anchors.fill: parent
anchors.bottomMargin: defaultFontHeight
spacing: defaultFontHeight
HeaderLabel {
id: headerText
text: "Enter a genre,"
}
Row {
width: Math.min(defaultFontHeight * 30, parent.width)
height: parent.height * 0.2
spacing: defaultFontHeight * 0.5
anchors.horizontalCenter: parent.horizontalCenter
z: 2
InputField {
id: genreInputField
width: parent.width - createFromInputButton.width - parent.spacing
completionModel: allGenres
onAccepted: createStation(text);
}
PushButton {
id: createFromInputButton
text: "Create station"
height: genreInputField.height
enabled: genreInputField.text.length > 2
onClicked: createStation(genreInputField.text)
}
}
HeaderLabel {
text: "Or, pick one of your most listened genres"
}
Item {
height: parent.height - y
width: parent.width
clip: true
TagCloud {
anchors.fill: parent
anchors.margins: parent.width / 6
model: styleModel
onTagClicked: {
root.createStation(tag);
}
}
}
}
}

View File

@@ -0,0 +1,89 @@
import QtQuick 1.1
import tomahawk 1.0
import "../tomahawkimports"
Item {
id: root
anchors.fill: parent
signal done(string text)
function createStationFromYear(year) {
mainView.startStationFromYear(year)
root.done(year)
}
function createStationFromTo(yearFrom, yearTo) {
mainView.startStationFromTo(yearFrom, yearTo)
root.done(yearFrom + " to " + yearTo)
}
Column {
id: upperColumn
anchors.horizontalCenter: parent.horizontalCenter
height: parent.height
width: defaultFontHeight * 30
anchors.bottomMargin: defaultFontHeight
spacing: defaultFontHeight
HeaderLabel {
id: headerText
text: "Enter a year or pick a range"
}
Row {
height: yearInputField.height
width: parent.width
spacing: defaultFontHeight * 0.5
Text {
text: "Year:"
color: "white"
anchors.verticalCenter: parent.verticalCenter
}
InputField {
id: yearInputField
width: parent.width - createFromInputButton.width - parent.spacing
onAccepted: createStation(text)
}
}
DoubleSlider {
id: yearSlider
width: parent.width
height: defaultFontHeight * 4
min: 1960
max: new Date().getFullYear()
lowerSliderPos: 1990
upperSliderPos: 2010
minMaxLabelsVisible: false
opacity: yearInputField.text.length > 0 ? 0.3 : 1
Behavior on opacity {
NumberAnimation { duration: 200 }
}
}
PushButton {
id: createFromInputButton
text: "Go!"
enabled: yearInputField.text.length == 0 || (yearInputField.text >= yearSlider.min && yearInputField.text <= yearSlider.max)
anchors.horizontalCenter: parent.horizontalCenter
onClicked: {
if (yearInputField.text.length > 0) {
createStationFromYear(yearInputField.text)
} else {
createStationFromTo(yearSlider.lowerSliderPos, yearSlider.upperSliderPos)
}
}
// TODO: move some disabled look/animation to the button itself
opacity: enabled ? 1 : 0.3
Behavior on opacity {
NumberAnimation { duration: 200 }
}
}
}
}

View File

@@ -0,0 +1,79 @@
import QtQuick 1.1
import tomahawk 1.0
import "tomahawkimports"
Item {
id: fineTuneView
property color textColor: "white"
signal done();
Grid {
anchors.top: parent.top
anchors.bottom: parent.bottom
anchors.margins: 50
anchors.horizontalCenter: parent.horizontalCenter
width: scene.width / 2
spacing: 50
columns: 2
Text {
color: fineTuneView.textColor
text: "Name:"
}
InputField {
text: echonestStation.name
onAccepted: {
print("text changed!!!")
echonestStation.name = text;
}
}
Text {
id: tempoText
text: "Tempo:"
color: "white"
}
DoubleSlider {
width: 500
height: tempoText.height
min: 0
max: 500
lowerSliderPos: echonestStation.minTempo
upperSliderPos: echonestStation.maxTempo
onValueChanged: echonestStation.setTempo( lowerSliderPos, upperSliderPos )
}
Text {
id: hotnessText
text: "Hotness:"
color: "white"
}
DoubleSlider {
width: 500
height: hotnessText.height
min: 0
max: 100
minLabel: "Less"
maxLabel: "More"
showFloatingLabel: false
lowerSliderPos: echonestStation.minHotttness * 100
upperSliderPos: echonestStation.maxHotttness * 100
onValueChanged: echonestStation.setHotttness( 1.0 * lowerSliderPos / 100, 1.0 * upperSliderPos / 100 )
}
}
Button {
id: configureButton
onClicked: fineTuneView.done();
text: "configure"
anchors.bottom: parent.bottom
anchors.bottomMargin: 20
anchors.horizontalCenter: parent.horizontalCenter
}
}

View File

@@ -0,0 +1,65 @@
import QtQuick 1.1
import tomahawk 1.0
import "../tomahawkimports"
Item {
id: root
property alias model: gridView.model
property int spacing: 10
signal itemClicked(int index)
GridView {
id: gridView
anchors.centerIn: parent
width: root.width * 9 / 10
height: cellHeight
interactive: false
cellWidth: (width - 1) / 3
cellHeight: cellWidth //* 10 / 16
delegate: Image {
width: gridView.cellWidth - root.spacing
height: gridView.cellHeight - root.spacing
source: image
smooth: true
Rectangle {
id: textBackground
anchors {
left: parent.left
bottom: parent.bottom
right: parent.right
}
height: parent.height / 5
color: "black"
opacity: .5
}
Text {
anchors.centerIn: textBackground
text: label
color: "white"
font.bold: true
}
Rectangle {
id: hoverShade
anchors.fill: parent
color: "white"
opacity: mouseArea.containsMouse ? .2 : 0
Behavior on opacity {
NumberAnimation { easing.type: Easing.Linear; duration: 300 }
}
}
MouseArea {
id: mouseArea
anchors.fill: parent
hoverEnabled: true
onClicked: root.itemClicked(index)
}
}
}
}

View File

@@ -0,0 +1,25 @@
import QtQuick 1.1
import tomahawk 1.0
import "../tomahawkimports"
Item {
id: root
property int margins: defaultFontHeight * 2
property alias content: contentLoader.source
signal next(string text)
Loader {
id: contentLoader
anchors.fill: parent
anchors.margins: root.margins
}
Connections {
target: contentLoader.item
onDone: root.next(text)
}
}

View File

@@ -0,0 +1,37 @@
import QtQuick 1.1
import tomahawk 1.0
import "../tomahawkimports"
Item {
id: stationItem
CoverFlow {
id: coverView
interactive: false
anchors.fill: parent
backgroundColor: scene.color
model: dynamicModel
currentIndex: currentlyPlayedIndex
onItemPlayPauseClicked: {
mainView.playItem(index)
}
onItemClicked: {
mainView.playItem(index)
}
}
BusyIndicator {
id: busyIndicator
anchors.centerIn: parent
height: defaultFontHeight * 4
width: height
// count: 12
opacity: mainView.loading ? 1 : 0
running: mainView.loading
}
}

View File

@@ -0,0 +1,58 @@
import QtQuick 1.1
import tomahawk 1.0
GridView {
id: root
signal itemClicked(int index)
property int spacing
delegate: Item {
width: root.cellWidth - root.spacing / 2
height: root.cellHeight - root.spacing / 2
Rectangle {
id: background
anchors.fill: parent
radius: defaultFontHeight / 2
opacity: 0.5
gradient: Gradient {
GradientStop { position: 0.0; color: "#00FFFFFF" }
GradientStop { position: 1.0; color: "#AAFFFFFF" }
}
states: [
State {
name: "hovered"; when: mouseArea.containsMouse
PropertyChanges { target: background; opacity: 1 }
}
]
transitions: [
Transition {
from: "*"; to: "hovered"
NumberAnimation { properties: "opacity"; duration: 100 }
},
Transition {
from: "hovered"; to: "*"
NumberAnimation { properties: "opacity"; duration: 600 }
}
]
}
CoverImage {
id: coverImage
height: parent.height
width: height
showLabels: true
artworkId: model.coverID
artistName: model.artistName
}
MouseArea {
id: mouseArea
anchors.fill: parent
onClicked: root.itemClicked(index)
hoverEnabled: true
}
}
}

View File

@@ -0,0 +1,52 @@
import QtQuick 1.1
Item {
id: busyIndicator
width: 100
height: width
property int barWidth: width / 10
property int barHeight: height / 4
property int count: 12
property color color: "white"
property int currentHighlight: 0
property bool running: true
property int interval: 200
Behavior on opacity {
NumberAnimation { duration: 500 }
}
Repeater {
model: busyIndicator.count
Item {
height: parent.height
width: busyIndicator.barWidth
anchors.centerIn: parent
Rectangle {
anchors {
top: parent.top
left: parent.left
right: parent.right
}
height: busyIndicator.barHeight
radius: width / 2
color: busyIndicator.color
}
rotation: 360 / busyIndicator.count * index
opacity: 1 - ((index > busyIndicator.currentHighlight ? busyIndicator.currentHighlight + busyIndicator.count : busyIndicator.currentHighlight) - index) / busyIndicator.count
Behavior on opacity {
NumberAnimation { duration: busyIndicator.interval }
}
}
}
Timer {
interval: busyIndicator.interval
running: busyIndicator.running
repeat: true
onTriggered: parent.currentHighlight = (parent.currentHighlight + 1) % busyIndicator.count
}
}

View File

@@ -0,0 +1,44 @@
import QtQuick 1.1
Rectangle {
id: root
height: contentRow.height + defaultFontHeight / 2
width: contentRow.width + defaultFontHeight / 2
property alias text: buttonText.text
property alias imageSource: image.source
property bool enabled: true
color: "transparent"
border.width: defaultFontHeight / 16
border.color: buttonMouseArea.containsMouse ? "lightblue" : "transparent"
radius: defaultFontHeight / 4
signal clicked()
Row {
id: contentRow
spacing: defaultFontHeight / 4
width: childrenRect.width
height: childrenRect.height
anchors.centerIn: parent
Image {
id: image
height: defaultFontHeight
width: source.length == 0 ? 0 : height
}
Text {
id: buttonText
color: root.enabled ? "black" : "grey"
}
}
MouseArea {
id: buttonMouseArea
anchors.fill: parent
hoverEnabled: root.enabled
enabled: root.enabled
onClicked: root.clicked();
}
}

View File

@@ -0,0 +1,135 @@
import QtQuick 1.1
import tomahawk 1.0
PathView {
id: coverView
// The start coordinates for the covers
// Default is left, centered in height
property int pathStartX: 0
property int pathStartY: height
// The size of the covers in the path
property int coverSize: height
property color backgroundColor: "black"
// emitted when a cover is clicked
signal itemClicked(int index)
// emitted when a cover is clicked
signal itemPlayPauseClicked(int index)
preferredHighlightBegin: 0.2 // scene.width / 11000
preferredHighlightEnd: preferredHighlightBegin
pathItemCount: 5
//highlightMoveDuration: 500
property bool itemHovered: false
delegate: Item {
id: delegateItem
height: coverView.coverSize
width: coverView.coverSize
scale: PathView.itemScale
// itemBrightness: PathView.itemBrightness - ((coverView.itemHovered && !coverDelegate.containsMouse) ? .4 : 0)
property double itemBrightness: PathView.itemBrightness
property double itemOpacity: PathView.itemOpacity
property int _origZ
z: coverView.width - x
CoverImage {
id: coverDelegate
height: coverView.coverSize
width: coverView.coverSize
anchors {
top: parent.top
right: parent.right
}
showLabels: true
showMirror: true
artistName: model.artistName
trackName: model.trackName
artworkId: model.coverID
showPlayButton: true
currentlyPlaying: isPlaying
smooth: true
// itemBrightness: PathView.itemBrightness - ((coverView.itemHovered && !coverDelegate.containsMouse) ? .4 : 0)
itemBrightness: coverDelegate.containsMouse ? 1 : parent.itemBrightness * (coverView.itemHovered ? .5 : 1)
opacity: parent.itemOpacity
z: coverView.width - x
onPlayClicked: {
console.log("***************")
coverView.itemPlayPauseClicked(index)
}
onClicked: {
coverView.itemClicked(index)
}
onContainsMouseChanged: {
if (containsMouse) {
delegateItem._origZ = delegateItem.z;
coverView.itemHovered = true
} else {
coverView.itemHovered = false
}
}
}
states: [
State {
name: "hovered"; when: coverDelegate.containsMouse && !coverView.moving && index !== currentIndex
PropertyChanges {
target: delegateItem
width: coverView.coverSize * 2
z: delegateItem._origZ
}
}
]
transitions: [
Transition {
NumberAnimation {
properties: "width"
duration: 300
easing.type: Easing.InOutSine
}
}
]
}
path: Path {
startX: coverView.pathStartX
startY: coverView.pathStartY
PathAttribute { name: "itemOpacity"; value: 0 }
PathAttribute { name: "itemBrightness"; value: 0 }
PathAttribute { name: "itemScale"; value: 1.3 }
PathLine { x: coverView.width / 4; y: coverView.height / 4 * 3}
PathPercent { value: 0.1 }
PathAttribute { name: "itemOpacity"; value: 0 }
PathAttribute { name: "itemBrightness"; value: 1 }
PathAttribute { name: "itemScale"; value: 1.0 }
PathLine { x: coverView.width / 2; y: coverView.height / 2}
PathPercent { value: 0.2 }
PathAttribute { name: "itemOpacity"; value: 1 }
PathAttribute { name: "itemBrightness"; value: 1 }
PathAttribute { name: "itemScale"; value: 0.5 }
PathLine { x: coverView.width; y: 0 }
PathPercent { value: 1 }
PathAttribute { name: "itemOpacity"; value: 1 }
PathAttribute { name: "itemBrightness"; value: 0 }
PathAttribute { name: "itemScale"; value: 0.1 }
}
}

View File

@@ -0,0 +1,84 @@
import QtQuick 1.1
import tomahawk 1.0
ListView {
id: coverView
property color backgroundColor: "black"
property int coverSize: height / 2
// emitted when a cover is clicked
signal itemClicked(int index)
// emitted when a cover is clicked
signal itemPlayPauseClicked(int index)
preferredHighlightBegin: (width / 2) - (coverSize / 4)
preferredHighlightEnd: preferredHighlightBegin + coverSize / 2
snapMode: ListView.SnapToItem
highlightRangeMode: ListView.StrictlyEnforceRange
highlightMoveDuration: 200
property bool itemHovered: false
orientation: ListView.Horizontal
delegate: Item {
id: delegateItem
height: parent.height
width: coverView.coverSize / 2
anchors.verticalCenter: ListView.view.verticalCenter
property real distanceFromLeftEdge: -coverView.contentX + index*width
property real distanceFromRightEdge: coverView.contentX + coverView.width - (index+1)*width
property real distanceFromEdge: Math.max(distanceFromLeftEdge, distanceFromRightEdge)
scale: 2 - (distanceFromEdge / (coverView.width))
property double itemBrightness: (1.3 - (distanceFromEdge / (coverView.width))) - ((coverView.itemHovered && !coverDelegate.containsMouse) ? .4 : 0)
property double itemOpacity: coverView.itemHovered && !coverDelegate.containsMouse ? 0.4 : 1
property int _origZ
z: -Math.abs(currentIndex - index)
CoverImage {
id: coverDelegate
height: coverView.coverSize / 2
width: parent.width
anchors {
verticalCenter: parent.verticalCenter
right: parent.right
}
showLabels: true
showMirror: false
artistName: model.artistName
trackName: model.trackName
artworkId: model.coverID
showPlayButton: true
currentlyPlaying: isPlaying
smooth: true
itemBrightness: coverDelegate.containsMouse ? 1 : parent.itemBrightness * (coverView.itemHovered ? .5 : 1)
opacity: parent.itemOpacity
z: coverView.width - x
onPlayClicked: {
console.log("***************")
coverView.itemPlayPauseClicked(index)
}
onClicked: {
coverView.itemClicked(index)
}
onContainsMouseChanged: {
if (containsMouse) {
delegateItem._origZ = delegateItem.z;
coverView.itemHovered = true
} else {
coverView.itemHovered = false
}
}
}
}
}

View File

@@ -0,0 +1,194 @@
import QtQuick 1.1
Item {
id: root
// Should the artist + track labels be painted
property bool showLabels: true
// Should the play button be painted on mouse hover?
property bool showPlayButton: false
// if this is true, the play button will be swapped by a pause button
property bool currentlyPlaying: false
// Should the mirror be painted?
property bool showMirror: false
// Labels & Cover
property string artistName
property string trackName
property string artworkId
// The border color for the cover image
property color borderColor: "black"
// The border width for the cover image
property int borderWidth: 2
// sets the brightness for the item and its mirror (1: brightest, 0: darkest)
property double itemBrightness: 1
property double mirrorBrightness: .5
// set this to true if you want to smoothly scale the cover (be aware of performance impacts)
property bool smooth: false
// will be emitted when the on hower play button is clicked
signal playClicked()
// will be emitted when the cover is clicked
signal clicked()
// will be emitted when the cover is hovered by the mouse
property alias containsMouse: mouseArea.containsMouse
MouseArea {
id: mouseArea
anchors.fill: parent
hoverEnabled: true
onClicked: {
print("Cover clicked");
root.clicked();
}
}
Rectangle {
id: itemShadow
color: "black"
anchors.fill: parent
//opacity: 1 - itemBrightness
Behavior on opacity {
NumberAnimation { easing.type: Easing.Linear; duration: 300 }
}
}
Component {
id: coverImage
Item {
property bool isMirror: false
Image {
anchors.fill: parent
source: "image://albumart/" + artworkId + (isMirror ? "-mirror" : "") + (showLabels ? "-labels" : "")
smooth: root.smooth
opacity: itemBrightness
Behavior on opacity {
NumberAnimation { duration: 300 }
}
}
Rectangle {
id: itemGlow
anchors.fill: parent
anchors.topMargin: isMirror ? parent.height / 2 : 0
opacity: (mouseArea.containsMouse ? .2 : 0)
Gradient {
id: glowGradient
GradientStop { position: 0.0; color: "white" }
GradientStop { position: 0.7; color: "white" }
GradientStop { position: 0.8; color: "#00000000" }
GradientStop { position: 1.0; color: "#00000000" }
}
Gradient {
id: mirrorGlowGradient
GradientStop { position: 0.0; color: "#00000000" }
GradientStop { position: 0.5; color: "#00000000" }
GradientStop { position: 1.0; color: "#44FFFFFF" }
}
states: [
State {
name: "mirrored"; when: isMirror
PropertyChanges {
target: itemGlow
gradient: mirrorGlowGradient
}
},
State {
name: "normal"; when: !isMirror
PropertyChanges {
target: itemGlow
gradient: glowGradient
}
}
]
Behavior on opacity {
NumberAnimation { easing.type: Easing.Linear; duration: 300 }
}
}
Text {
id: trackText
color: "white"
font.bold: true
text: trackName
anchors { left: parent.left; right: parent.right; bottom: artistText.top }
anchors.margins: 2
horizontalAlignment: Text.AlignHCenter
elide: Text.ElideRight
opacity: showLabels ? itemBrightness * (isMirror ? 0.5 : 1): 0
font.pixelSize: root.height / 15
Behavior on opacity {
NumberAnimation { duration: 300 }
}
}
Text {
id: artistText
color: "white"
font.bold: trackText.text.length == 0
text: artistName
anchors { left: parent.left; right: parent.right; bottom: parent.bottom }
anchors.margins: root.height / 20
horizontalAlignment: Text.AlignHCenter
elide: Text.ElideRight
opacity: showLabels ? itemBrightness * (isMirror ? 0.5 : 1) : 0
font.pixelSize: trackText.text.length == 0 ? root.height / 10 : root.height / 15
Behavior on opacity {
NumberAnimation { duration: 300 }
}
}
}
}
Loader {
sourceComponent: coverImage
anchors.fill: parent
}
Loader {
id: mirroredCover
sourceComponent: parent.showMirror ? coverImage : undefined
anchors.fill: parent
onLoaded: {
item.isMirror = true
}
transform : [
Rotation {
angle: 180; origin.y: root.height
axis.x: 1; axis.y: 0; axis.z: 0
}
]
}
Image {
id: playButton
visible: showPlayButton ? (mouseArea.containsMouse || currentlyPlaying) : false
source: currentlyPlaying ? "../../images/pause-rest.svg" : "../../images/play-rest.svg"
anchors.centerIn: parent
height: mirroredCover.height / 5
width: height
smooth: root.smooth
MouseArea {
anchors.fill: parent
onClicked: {
print("Play button clicked");
root.playClicked();
}
}
}
}

View File

@@ -0,0 +1,225 @@
import QtQuick 1.1
Item {
id: root
property int min: 0
property int max: 100
/** The labels next to the slider
* if empty, min and max values are used
*/
property string minLabel: ""
property string maxLabel: ""
/** Should the floating label indicating the current position be shown? */
property bool showFloatingLabel: true
property bool minMaxLabelsVisible: true
property int lowerSliderPos: 25
property int upperSliderPos: 75
onUpperSliderPosChanged: print("fooooooooo", upperSliderPos)
signal valueChanged()
QtObject {
id: priv
property int steps: root.max - root.min + 1
property int sliderHeight: root.height / 3
property int sliderWidth: sliderHeight / 2
}
Row {
anchors.fill: parent
anchors.topMargin: defaultFontHeight * 1.2
anchors.bottomMargin: defaultFontHeight * 1.2
spacing: 10
Text {
id: minText
text: root.minLabel.length > 0 ? root.minLabel : min
color: "white"
visible: root.minMaxLabelsVisible
}
Item {
id: sliderRect
height: root.height / 4
property int maxWidth: parent.width - (minText.visible ? minText.width : 0) - (maxText.visible ? maxText.width : 0) - parent.spacing * 2
width: maxWidth - (maxWidth % priv.steps)
anchors.horizontalCenter: parent.horizontalCenter
function sliderPosToValue( sliderPos ) {
var percent = sliderPos * 100 / (sliderRect.width - priv.sliderWidth/2);
return Math.floor(percent * (priv.steps-1) / 100) + root.min
}
function valueToSloderPos( value ) {
var percent = (value - root.min) * 100 / (priv.steps-1)
return percent * (sliderRect.width - priv.sliderWidth/2) / 100
}
Rectangle {
id: sliderBase
height: parent.height
width: parent.width + defaultFontHeight * 1.5
color: "white"
radius: height / 2
anchors.centerIn: parent
gradient: Gradient {
GradientStop { position: 0.0; color: "#ffffffff" }
GradientStop { position: 1.0; color: "#aaffffff" }
}
Rectangle {
anchors.fill: sliderBase
anchors.leftMargin: lowerSlider.x + priv.sliderWidth
anchors.rightMargin: sliderBase.width - upperSlider.x - priv.sliderWidth
gradient: Gradient {
GradientStop { position: 0.0; color: "#aa962c26" }
GradientStop { position: 1.0; color: "#962c26" }
}
}
Row {
id: stepRow
anchors.fill: parent
anchors.leftMargin: defaultFontHeight - lineWidth/2
anchors.rightMargin: defaultFontHeight - lineWidth/2
property int stepCount: root.max - root.min + 1
property int lineHeight: height
property int lineWidth: lineHeight / 15
spacing: (width - (stepCount * lineWidth)) / stepCount
Repeater {
model: stepRow.stepCount
Rectangle {
id: marker
height: stepRow.lineHeight * (isHighlight ? 1.2 : 1)
width: stepRow.lineWidth
color: "black"
property bool isHighlight: index % 10 === 0
gradient: Gradient {
GradientStop { position: 0.0; color: marker.isHighlight ? "white" : "black" }
GradientStop { position: 1.0; color: marker.isHighlight ? "#aaffffff" : "black" }
}
Text {
text: root.min + index
visible: marker.isHighlight
anchors.horizontalCenter: marker.horizontalCenter
anchors.top: marker.bottom
anchors.topMargin: defaultFontHeight / 2
color: "white"
}
}
}
}
}
Rectangle {
id: lowerSlider
height: priv.sliderHeight
width: priv.sliderWidth
anchors.verticalCenter: sliderBase.verticalCenter
radius: height/4
border.color: "black"
border.width: 2
x: sliderRect.valueToSloderPos(root.lowerSliderPos) - priv.sliderWidth/2
Rectangle {
id: lowerFloatingRect
color: "white"
anchors.bottom: lowerSlider.top
anchors.bottomMargin: 10
// visible: root.showFloatingLabel && lowerSliderMouseArea.pressed
width: lowerFloatingText.width * 1.2
height: lowerFloatingText.height + height * 1.2
x: -(width - priv.sliderWidth) / 2
radius: height / 8
Text {
id: lowerFloatingText
anchors.centerIn: parent
text: sliderRect.sliderPosToValue(lowerSlider.x + priv.sliderWidth/2)
}
}
}
MouseArea {
id: lowerSliderMouseArea
anchors.fill: lowerSlider
drag.target: lowerSlider
drag.axis: "XAxis"
drag.minimumX: -priv.sliderWidth / 2
drag.maximumX: upperSlider.x - priv.sliderWidth
onReleased: {
root.lowerSliderPos = sliderRect.sliderPosToValue( lowerSlider.x + priv.sliderWidth/2 );
root.valueChanged();
}
}
Rectangle {
id: upperSlider
height: priv.sliderHeight
width: priv.sliderWidth
anchors.verticalCenter: sliderBase.verticalCenter
radius: height / 4
border.color: "black"
border.width: 2
x: sliderRect.valueToSloderPos(root.upperSliderPos)
Rectangle {
id: upperFloatingRect
color: "white"
anchors.bottom: upperSlider.top
anchors.bottomMargin: 10
// visible: root.showFloatingLabel && upperSliderMouseArea.pressed
width: upperFloatingText.width * 1.2
height: upperFloatingText.height + height * 1.2
radius: height / 4
x: -(width - priv.sliderWidth) / 2
Text {
id: upperFloatingText
anchors.centerIn: parent
text: sliderRect.sliderPosToValue(upperSlider.x + priv.sliderWidth/2)
}
}
}
MouseArea {
id: upperSliderMouseArea
anchors.fill: upperSlider
onClicked: print("button pressed")
drag.target: upperSlider
drag.axis: "XAxis"
drag.minimumX: lowerSlider.x + priv.sliderWidth
drag.maximumX: parent.width - priv.sliderWidth
onReleased: {
root.upperSliderPos = sliderRect.sliderPosToValue( upperSlider.x + priv.sliderWidth/2 );
root.valueChanged();
}
}
}
Text {
id: maxText
text: root.maxLabel.length > 0 ? root.maxLabel : max
color: "white"
visible: root.minMaxLabelsVisible
}
}
}

View File

@@ -0,0 +1,223 @@
import QtQuick 1.1
import tomahawk 1.0
Rectangle {
id: root
// The icon
property alias icon: iconImage.source
// The title
property alias title: titleItem.titleText
// The subtitle/description
property alias subtitle: subtitleText.text
// The model for the ToggleViewButtons.
// "modelData" role name holds the iconSource
// => You can use a QStringList or StandardListModel here
property alias buttonModel: toggleViewButtons.model
// The index of the currently selected item
property alias currentButtonIndex: toggleViewButtons.currentIndex
// Should we show the searchfield?
property bool showSearchField: true
// The SearchFields text
property alias searchText: searchField.text
property bool showBackButton: false
property bool showNextButton: false
property string backButtonText: "Back"
property string nextButtonText: "Next"
// Layout spacing
property int spacing: defaultFontHeight * 0.5
signal backPressed()
signal nextPressed()
signal savePressed()
gradient: Gradient {
GradientStop { position: 0.0; color: "#615858" }
GradientStop { position: 1.0; color: "#231F1F" }
}
Row {
id: leftRow
anchors {
left: parent.left
top: parent.top
bottom: parent.bottom
right: rightRow.left
}
anchors.margins: root.spacing
spacing: root.spacing
Image {
id: iconImage
height: parent.height * 0.8
width: height
anchors.verticalCenter: parent.verticalCenter
smooth: true
}
Column {
height: childrenRect.height
width: parent.width - iconImage.width - parent.spacing
anchors.verticalCenter: parent.verticalCenter
Item {
id: titleItem
height: captionText1.height
width: parent.width
clip: true
property string titleText
onTitleTextChanged: {
if(captionText1.text.length > 0) {
captionText2.text = titleText;
renewTitleAnimation.start();
} else {
captionText1.text = titleText;
}
}
ParallelAnimation {
id: renewTitleAnimation
property int duration: 500
property variant easingType: Easing.OutBounce;
NumberAnimation { target: captionText2; property: "anchors.topMargin"; to: 0; duration: renewTitleAnimation.duration; easing.type: renewTitleAnimation.easingType }
NumberAnimation { target: captionText1; property: "anchors.topMargin"; to: captionText1.height * 2; duration: renewTitleAnimation.duration; easing.type: renewTitleAnimation.easingType }
onCompleted: {
captionText1.text = titleItem.titleText
captionText2.anchors.topMargin = -captionText2.height * 2
captionText1.anchors.topMargin = 0
}
}
Text {
id: captionText1
color: "white"
anchors.left: parent.left
anchors.top: parent.top
font.pointSize: defaultFontSize * 1.5
font.bold: true
width: parent.width
elide: Text.ElideRight
}
Text {
id: captionText2
color: "white"
anchors.left: parent.left
anchors.top: parent.top
anchors.topMargin: -height * 2
font.pointSize: defaultFontSize * 1.5
font.bold: true
width: parent.width
elide: Text.ElideRight
}
}
Text {
id: subtitleText
color: "white"
font.pointSize: defaultFontSize * 1.2
width: parent.width
elide: Text.ElideRight
height: text.length > 0 ? defaultFontHeight : 0
opacity: text.length > 0 ? 1 : 0
Behavior on height {
NumberAnimation { duration: 200 }
}
Behavior on opacity {
NumberAnimation { duration: 200 }
}
onTextChanged: {
if (text.length > 0) {
animationText.text = text
}
}
Text {
id: animationText
color: parent.color
font: parent.font
elide: parent.elide
anchors.fill: parent
}
}
}
}
Row {
id: rightRow
anchors {
top: parent.top
right: parent.right
rightMargin: -backButton.width - root.spacing - nextButton.width
bottom: parent.bottom
margins: root.spacing
}
width: childrenRect.width
spacing: root.spacing
layoutDirection: Qt.RightToLeft
states: [
State {
name: "oneVisible"; when: root.showBackButton && !root.showNextButton
PropertyChanges {
target: rightRow
anchors.rightMargin: -nextButton.width
}
},
State {
name: "bothVisible"; when: root.showBackButton && root.showNextButton
PropertyChanges {
target: rightRow
anchors.rightMargin: root.spacing
}
}
]
Behavior on anchors.rightMargin {
NumberAnimation { duration: 200 }
}
PushButton {
id: nextButton
anchors.verticalCenter: parent.verticalCenter
text: root.nextButtonText
onClicked: root.nextPressed();
}
PushButton {
id: backButton
anchors.verticalCenter: parent.verticalCenter
text: root.backButtonText
onClicked: root.backPressed();
}
InputField {
id: searchField
visible: root.showSearchField
anchors.verticalCenter: parent.verticalCenter
placeholderText: "Search..."
showSearchIcon: true
}
ToggleViewButtons {
id: toggleViewButtons
anchors.verticalCenter: parent.verticalCenter
height: defaultFontHeight * 1.5
}
}
}

View File

@@ -0,0 +1,7 @@
import QtQuick 1.1
Text {
color: "white"
font.pointSize: defaultFontSize + 5
font.bold: true
}

View File

@@ -0,0 +1,114 @@
import QtQuick 1.1
import tomahawk 1.0
FocusScope {
id: root
property alias text: messageText.text
property alias inputText: inputField.text
property real arrowPosition: 1
height: contentColumn.height + defaultFontHeight * 2
signal accepted()
signal rejected()
onFocusChanged: {
if (focus) {
inputField.forceActiveFocus()
}
}
Behavior on opacity {
NumberAnimation { duration: 200 }
}
MouseArea {
anchors.fill: parent
anchors.margins: -999999999
hoverEnabled: root.opacity > 0
enabled: root.opacity > 0
onClicked: root.rejected();
}
Item {
id: backgroundItem
anchors.fill: parent
opacity: 0.9
Rectangle {
id: background
anchors.fill: parent
color: "white"
border.color: "black"
border.width: defaultFontHeight / 10
radius: defaultFontHeight / 2
anchors.topMargin: defaultFontHeight / 4
}
Item {
clip: true
anchors.bottom: backgroundItem.top
anchors.bottomMargin: -background.border.width*3
height: defaultFontHeight
width: height
x: defaultFontHeight - arrowRect.width/2 + (root.width - defaultFontHeight*2) * arrowPosition
Rectangle {
id: arrowRect
height: defaultFontHeight / 1.8
width: height
rotation: 45
color: "white"
anchors.centerIn: parent
anchors.verticalCenterOffset: parent.height/2
border.color: "black"
border.width: defaultFontHeight / 10
}
}
}
Column {
id: contentColumn
width: parent.width - defaultFontHeight
height: childrenRect.height
anchors.centerIn: parent
anchors.verticalCenterOffset: defaultFontHeight / 4
spacing: defaultFontHeight / 2
Row {
width: parent.width
height: childrenRect.height
spacing: defaultFontHeight / 2
Text {
id: messageText
wrapMode: Text.WordWrap
anchors.verticalCenter: parent.verticalCenter
}
InputField {
id: inputField
width: parent.width - x
anchors.verticalCenter: parent.verticalCenter
}
}
Row {
height: childrenRect.height
anchors.right: parent.right
spacing: defaultFontHeight
Button {
text: "OK"
imageSource: "qrc:///data/images/ok.svg"
enabled: inputField.text.length > 0
onClicked: root.accepted()
}
Button {
text: "Cancel"
imageSource: "qrc:///data/images/cancel.svg"
onClicked: {
inputField.text = ""
root.rejected()
}
}
}
}
}

View File

@@ -0,0 +1,162 @@
import QtQuick 1.1
Rectangle {
id: root
color: "white"
border.color: "black"
border.width: defaultFontHeight * 0.1
radius: defaultFontHeight * 0.25
height: textInput.height * 1.4
width: 300
property bool showSearchIcon: false
property string text: ""
property string placeholderText: ""
property variant completionModel
property int spacing: defaultFontHeight * 0.2
signal accepted( string text )
onFocusChanged: {
if(focus) {
textInput.forceActiveFocus();
}
}
Image {
id: searchIcon
anchors {
left: parent.left
leftMargin: root.spacing
verticalCenter: parent.verticalCenter
}
height: parent.height * 0.6
width: root.showSearchIcon ? height : 1
opacity: root.showSearchIcon ? 1 : 0
smooth: true
source: "../../images/search-icon.svg"
}
Item {
id: textItem
anchors.left: searchIcon.right
anchors.leftMargin: root.spacing
anchors.right: clearIcon.right
anchors.rightMargin: root.spacing
height: textInput.height
anchors.verticalCenter: parent.verticalCenter
TextInput {
id: textInput
width: parent.width
anchors.centerIn: parent
text: root.text
font.pointSize: defaultFontSize
onAccepted: root.accepted( text );
onTextChanged: {
root.text = text;
realCompletionListModel.clear();
for (var i in completionModel) {
if (completionModel[i].indexOf(text) == 0) {
realCompletionListModel.append({modelData: completionModel[i]})
}
}
}
}
Text {
width: parent.width
anchors.centerIn: parent
text: root.text.length === 0 ? root.placeholderText : ""
color: "lightgray"
font.pointSize: defaultFontSize
}
}
Image {
id: clearIcon
anchors {
right: parent.right
rightMargin: root.spacing
verticalCenter: parent.verticalCenter
}
height: parent.height * 0.8
width: (root.showSearchIcon && root.text.length > 0) ? height : 1
opacity: (root.showSearchIcon && root.text.length > 0) ? 1 : 0
smooth: true
source: "../../images/search-box-dismiss-x.svg"
MouseArea {
anchors.fill: parent
onClicked: textInput.text = ""
}
}
Image {
// source: "../../images/inputfield-border.svg"
anchors.fill: parent
anchors.margins: root.radius * 0.1
clip: true
}
Rectangle {
anchors {
top: parent.bottom
left: parent.left
right: parent.right
}
height: Math.min(completionListView.count, 10) * completionListView.delegateHeight
color: "white"
ListView {
id: completionListView
anchors.fill: parent
anchors.rightMargin: scrollBar.width + scrollBar.margin
clip: true
model: ListModel {
id: realCompletionListModel
}
property int delegateHeight: defaultFontHeight * 1.25
delegate: Rectangle {
height: completionListView.delegateHeight
color: delegateMouseArea.containsMouse ? "lightblue" : "transparent"
width: parent.width
Text {
anchors {
left: parent.left
right: parent.right
verticalCenter: parent.verticalCenter
margins: defaultFontHeight / 4
}
text: modelData
}
MouseArea {
id: delegateMouseArea
anchors.fill: parent
hoverEnabled: true
onClicked: {
textInput.text = modelData
realCompletionListModel.clear();
}
}
}
}
ScrollBar {
id: scrollBar
listView: completionListView
color: "black"
margin: 0
}
}
MouseArea {
anchors.fill: parent
anchors.margins: -99999999
z: -1
enabled: completionListView.count > 0
onClicked: {
realCompletionListModel.clear();
}
}
}

View File

@@ -0,0 +1,35 @@
import QtQuick 1.1
//import tomahawk 1.0
Rectangle {
id: root
height: buttonText.height * 1.4
width: buttonText.width + (spacing * 2)
radius: defaultFontHeight * 0.25
// border.width: defaultFontHeight * 0.05
// border.color: "#a7a7a7"
color: "white"
/* gradient: Gradient {
GradientStop { position: 0.0; color: mouseArea.pressed ? "#040404" : "#fbfbfb" }
GradientStop { position: 1.0; color: mouseArea.pressed ? "#8e8f8e" : "#787878" }
}*/
property int spacing: defaultFontHeight * 0.5
property alias text: buttonText.text
signal clicked()
Text {
id: buttonText
anchors.centerIn: root
font.pointSize: defaultFontSize
color: mouseArea.pressed ? "grey" : "black"
}
MouseArea {
id: mouseArea
anchors.fill: parent
onClicked: root.clicked()
}
}

View File

@@ -0,0 +1,43 @@
import QtQuick 1.1
import tomahawk 1.0
Rectangle {
id: root
border.width: 4
border.color: enabled ? "white" : "grey"
radius: height / 2
color: (buttonMouseArea.containsMouse && enabled) ? "#22ffffff" : "black"
opacity: hidden ? 0 : 1
height: defaultFontHeight * 2
width: height
property string text
property bool enabled: true
property bool hidden: false
signal clicked()
Behavior on opacity {
NumberAnimation { duration: 200 }
}
Behavior on color {
ColorAnimation { duration: 200 }
}
Text {
anchors.centerIn: parent
text: parent.text
color: root.border.color
font.pixelSize: parent.height * .75
font.bold: true
}
MouseArea {
id: buttonMouseArea
anchors.fill: parent
hoverEnabled: true
enabled: root.enabled
onClicked: parent.clicked()
}
}

View File

@@ -0,0 +1,71 @@
import QtQuick 1.1
Item {
id: scrollBar
width: defaultFontHeight / 2
// the ListView where to attach this scrollbar
property variant listView
// the orientation of the scrollbar
property variant orientation : Qt.Vertical
property int margin: defaultFontHeight * 0.25
property color color: "white"
states: [
State {
name: "hidden"; when: !listView.moving
PropertyChanges { target: scrollBar; opacity: 0 }
},
State {
name: "visible"; when: listView.moving
PropertyChanges { target: scrollBar; opacity: 1 }
}
]
transitions: [
Transition {
from: "hidden"
to: "visible"
NumberAnimation { properties: "opacity"; duration: 200 }
},
Transition {
from: "visible"
to: "hidden"
NumberAnimation { properties: "opacity"; duration: 2000 }
}
]
anchors {
left: orientation == Qt.Vertical ? listView.right : listView.left
leftMargin: orientation == Qt.Vertical ? scrollBar.margin : 0
top: orientation == Qt.Vertical ? listView.top : listView.bottom
topMargin: orientation == Qt.Vertical ? 0 : scrollBar.margin
bottom: orientation == Qt.Vertical ? listView.bottom : undefined
right: orientation == Qt.Vertical ? undefined : listView.right
}
// A light, semi-transparent background
Rectangle {
id: background
anchors.fill: parent
radius: orientation == Qt.Vertical ? (width/2 - 1) : (height/2 - 1)
color: scrollBar.color
opacity: 0.2
clip: true
// Size the bar to the required size, depending upon the orientation.
Rectangle {
property real position: orientation == Qt.Vertical ? (listView.contentY / listView.contentHeight) : (listView.contentX / listView.contentWidth)
property real pageSize: orientation == Qt.Vertical ? (listView.height / listView.contentHeight) : (listView.width / listView.contentWidth)
x: orientation == Qt.Vertical ? 1 : (position * (scrollBar.width-2) + 1)
y: orientation == Qt.Vertical ? (position * (scrollBar.height-2) + 1) : 1
width: orientation == Qt.Vertical ? (parent.width-2) : (pageSize * (scrollBar.width-2))
height: orientation == Qt.Vertical ? (pageSize * (scrollBar.height-2)) : (parent.height-2)
radius: orientation == Qt.Vertical ? (width/2 - 1) : (height/2 - 1)
color: scrollBar.color
opacity: 1
}
}
}

View File

@@ -0,0 +1,80 @@
import QtQuick 1.1
import tomahawk 1.0
Item {
id: tagCloud
property variant model: 10
signal tagClicked( string tag )
function randomNumber(min, max) {
var date = new Date();
return (max - min) * Math.random(date.getSeconds()) + min
}
Flow {
anchors.centerIn: parent
width: parent.width
spacing: defaultFontSize
Repeater {
id: cloudRepeater
model: tagCloud.model
delegate: Item {
id: cloudItem
width: delegateText.width * 1.1
height: delegateText.height
property double itemScale: tagCloud.randomNumber(0.5, 1.2)
scale: itemScale
Text {
id: delegateText
color: "gray"
//text: controlModel.controlAt( index ).summary
text: modelData
font.pixelSize: defaultFontHeight * 1.8
anchors.verticalCenter: parent.verticalCenter
//anchors.verticalCenterOffset: tagCloud.randomNumber(0, 15)
states: [
State {
name: "hovered"; when: cloudItemMouseArea.containsMouse
PropertyChanges {
target: delegateText
color: "white"
}
}
]
transitions: [
Transition {
from: "*"
to: "hovered"
ColorAnimation {
duration: 200
}
},
Transition {
from: "hovered"
to: "*"
ColorAnimation {
duration: 1000
}
}
]
}
MouseArea {
id: cloudItemMouseArea
hoverEnabled: true
anchors.fill: parent
onClicked: tagCloud.tagClicked( modelData )
}
Behavior on scale {
NumberAnimation { easing: Easing.Linear; duration: 1000 }
}
}
}
}
}

View File

@@ -0,0 +1,34 @@
import QtQuick 1.1
import tomahawk 1.0
Row {
id: root
width: repeater.width
property alias model: repeater.model
property int currentIndex: 0
Repeater {
id: repeater
height: root.height
width: count * height
delegate: Image {
height: repeater.height
width: height
source: "../../images/view-toggle-" + (index === root.currentIndex ? "active-" : "inactive-" ) + (index === 0 ? "left" : ( index === repeater.count - 1 ? "right" : "centre" )) + ".svg"
smooth: true
Image {
anchors.fill: parent
source: "../../images/" + modelData + (index === root.currentIndex ? "-active.svg" : "-inactive.svg")
}
MouseArea {
id: mouseArea
anchors.fill: parent
onClicked: root.currentIndex = index
}
}
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

4648
lang/tomahawk_ca@valencia.ts Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

4633
lang/tomahawk_da.ts Normal file

File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More