1
0
mirror of https://github.com/tomahawk-player/tomahawk.git synced 2025-09-19 02:11:32 +02:00

Compare commits

..

567 Commits

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
Christian Muehlhaeuser
7b6c183bf7 * Need to actually load controls. 2013-05-20 20:05:56 +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
2323 changed files with 522093 additions and 128509 deletions

2
.gitignore vendored
View File

@@ -12,6 +12,7 @@ Makefile*
moc_*
*~
/tomahawk
thirdparty/qtweetlib/WARNING-twitter-api-keys
.kdev4
*.kdev4
*.kate-swp
@@ -21,4 +22,3 @@ gcc/
tags
.DS_Store
*.autosave
Doxyfile

3
.gitmodules vendored
View File

@@ -1,3 +0,0 @@
[submodule "thirdparty/libcrashreporter-qt"]
path = thirdparty/libcrashreporter-qt
url = https://github.com/dschmidt/libcrashreporter-qt

View File

@@ -14,7 +14,6 @@ Contributors include:
* Michael Zanetti <dreadhead@follefuder.org>
* Christopher Reichert <christopher@tomahawk-player.org>
* Uwe L. Korn <uwelk@xhochy.com>
* Patrick von Reth <vonreth@kde.org>
Thanks to:

View File

@@ -3,16 +3,6 @@ CMAKE_MINIMUM_REQUIRED( VERSION 2.8.6 )
SET( CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules" )
CMAKE_POLICY(SET CMP0017 NEW)
IF ( CMAKE_VERSION VERSION_EQUAL 2.8.12 OR CMAKE_VERSION VERSION_GREATER 2.8.12 )
CMAKE_POLICY(SET CMP0022 NEW)
# TODO:
# Update to NEW and fix things up when we can depend on 2.8.12
CMAKE_POLICY(SET CMP0023 OLD)
ENDIF()
INCLUDE(CMakeDependentOption)
###
### Tomahawk application info
###
@@ -32,47 +22,45 @@ ELSE()
ENDIF()
SET( TOMAHAWK_VERSION_MAJOR 0 )
SET( TOMAHAWK_VERSION_MINOR 8 )
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 ro ru sv tr zh_CN zh_TW )
# add_definitions is only in the scope of this directory and all directories
# below it. Tomahawk Libraries and plugins that are built with Tomahawk are
# not included in out-of-source build so we need to re-add_definitions there.
macro(tomahawk_add_definitions DEFINITION)
add_definitions( ${DEFINITION} )
list(APPEND TOMAHAWK_DEFINITIONS ${DEFINITION})
endmacro()
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 )
# enforce proper symbol exporting on all platforms
tomahawk_add_definitions( "-fvisibility=hidden" )
add_definitions( "-fvisibility=hidden" )
# enforce using constBegin, constEnd for const-iterators
tomahawk_add_definitions( "-DQT_STRICT_ITERATORS" )
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(BUILD_WITH_QT4 "Build Tomahawk with Qt4 no matter if Qt5 was found" ON)
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_KDE4 "Build with support for KDE specific stuff" ON)
option(WITH_UPOWER "Build with support for UPower events" OFF)
option(WITH_GNOMESHORTCUTHANDLER "Build with shortcut handler for GNOME" OFF)
CMAKE_DEPENDENT_OPTION(WITH_UPOWER "Build with support for UPower events" ON
"UNIX;NOT APPLE" OFF)
CMAKE_DEPENDENT_OPTION(WITH_GNOMESHORTCUTHANDLER "Build with shortcut handler for GNOME" ON
"UNIX;NOT APPLE" OFF)
IF( CMAKE_SYSTEM_PROCESSOR MATCHES "arm" OR NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/libcrashreporter-qt/CMakeLists.txt")
message(STATUS "Build of crashreporter disabled.")
IF( CMAKE_SYSTEM_PROCESSOR MATCHES "arm" )
message(STATUS "Build of breakpad library disabled on this platform.")
SET(WITH_BREAKPAD OFF)
SET(WITH_CRASHREPORTER OFF)
ENDIF()
# add definitions based on build options
IF( WITH_BREAKPAD )
message(STATUS "Build with support for breakpad.")
IF( CMAKE_COMPILER_IS_GNUCXX )
ADD_DEFINITIONS( -DSTDC_HEADERS -std=gnu++98 )
# SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DSTDC_HEADERS -std=gnu++98" )
ENDIF()
ENDIF()
# generate version string
# base string used in release and unstable builds
@@ -114,29 +102,21 @@ INCLUDE( TomahawkCPack.cmake )
INCLUDE( MacroOptionalFindPackage )
INCLUDE( MacroLogFeature )
message( STATUS "Building Tomahawk ${TOMAHAWK_VERSION} ***" )
# 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( NOT BUILD_WITH_QT4 )
find_package(Qt5Core QUIET)
if( Qt5Core_DIR )
# CMAKE 2.8.13+/3.0.0+ requires these for IMPORTed targets
find_package(Qt5Concurrent REQUIRED)
find_package(Qt5Svg REQUIRED)
find_package(Qt5UiTools REQUIRED)
find_package(Qt5WebKitWidgets REQUIRED)
find_package(Qt5Widgets REQUIRED)
find_package(Qt5Xml REQUIRED)
find_package(Qt5Widgets QUIET)
message(STATUS "Found Qt5! Be aware that Qt5-support is still experimental and not officially supported!")
if( UNIX AND NOT APPLE )
# We need this to find the paths to qdbusxml2cpp and co
find_package(Qt5DBus REQUIRED)
endif()
if(WIN32)
find_package(Qt5WinExtras REQUIRED)
endif()
macro(qt_wrap_ui)
qt5_wrap_ui(${ARGN})
endmacro()
@@ -150,20 +130,13 @@ if( NOT BUILD_WITH_QT4 )
qt5_add_translation(${ARGN})
endmacro()
macro(qt_add_dbus_interface)
qt5_add_dbus_interface(${ARGN})
endmacro()
macro(qt_add_dbus_adaptor)
qt5_add_dbus_adaptor(${ARGN})
endmacro()
macro(setup_qt)
endmacro()
set(QT_RCC_EXECUTABLE "${Qt5Core_RCC_EXECUTABLE}")
#FIXME: CrashReporter depends on deprecated QHttp
set(WITH_KDE4 OFF)
set(WITH_CRASHREPORTER OFF)
set(WITH_BREAKPAD OFF)
endif()
endif()
if( NOT Qt5Core_DIR )
@@ -195,14 +168,6 @@ if( NOT Qt5Core_DIR )
qt4_add_translation(${ARGN})
endmacro()
macro(qt_add_dbus_interface)
qt4_add_dbus_interface(${ARGN})
endmacro()
macro(qt_add_dbus_adaptor)
qt4_add_dbus_adaptor(${ARGN})
endmacro()
macro(setup_qt)
if( NOT BUILD_GUI )
set(QT_DONT_USE_QTGUI TRUE)
@@ -214,46 +179,36 @@ if( NOT Qt5Core_DIR )
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()
# Qt5 C++11 Macros not defined within Qt4
# TODO: Add C++11 support
tomahawk_add_definitions( "-DQ_DECL_FINAL=" )
tomahawk_add_definitions( "-DQ_DECL_OVERRIDE=" )
endif()
if( Qt5Core_DIR )
set( TOMAHAWK_QT5 TRUE )
else( Qt5Core_DIR )
set( TOMAHAWK_QT5 FALSE )
endif( Qt5Core_DIR )
if( BUILD_GUI AND UNIX AND NOT APPLE )
find_package( X11 )
endif()
# Check if we can use <functional> or need <tr1/functional>
include( CheckStdFunctional )
check_std_functional( CXX_STD_FUNCTIONAL )
include( CheckStdTr1Functional )
check_std_tr1_functional( CXX_STD_TR1_FUNCTIONAL )
if ( NOT CXX_STD_FUNCTIONAL AND NOT CXX_STD_TR1_FUNCTIONAL )
message( FATAL_ERROR
"Used compiler neither provides std::function nor std::tr1::function")
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 )
message(STATUS "Phonon found; ensure that phonon-vlc is at least 0.4")
endif()
macro_optional_find_package(Echonest 2.2.0)
macro_log_feature(ECHONEST_FOUND "Echonest" "Qt library for communicating with The Echo Nest" "http://projects.kde.org/libechonest" TRUE "" "libechonest 2.2.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")
if( NOT TOMAHAWK_QT5 )
macro_optional_find_package(QJSON 0.8.1)
macro_log_feature(QJSON_FOUND "QJson" "Qt library that maps JSON data to QVariant objects" "http://qjson.sf.net" TRUE "" "libqjson is used for encoding communication between Tomahawk instances")
ENDIF()
macro_optional_find_package(QJSON)
macro_log_feature(QJSON_FOUND "QJson" "Qt library that maps JSON data to QVariant objects" "http://qjson.sf.net" TRUE "" "libqjson is used for encoding communication between Tomahawk instances")
macro_optional_find_package(Taglib 1.6.0)
macro_log_feature(TAGLIB_FOUND "TagLib" "Audio Meta-Data Library" "http://developer.kde.org/~wheeler/taglib.html" TRUE "" "taglib is needed for reading meta data from audio files")
@@ -263,28 +218,10 @@ check_taglib_filename( COMPLEX_TAGLIB_FILENAME )
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(Sparsehash)
macro_log_feature(SPARSEHASH_FOUND "Sparsehash"
"An extremely memory-efficient hash_map implementation."
"https://code.google.com/p/sparsehash/" TRUE ""
"Sparsehash is needed for reading metadata of mediastreams and fast
forward/backward seeking in HTTP streams")
macro_optional_find_package(GnuTLS)
macro_log_feature(GNUTLS_FOUND "GnuTLS"
"GnuTLS is a secure communications library implementing the SSL, TLS and DTLS protocols and technologies around them."
"http://gnutls.org/" TRUE ""
"GnuTLS is needed for serving the Playdar/HTTP API via TLS")
macro_optional_find_package(QCA2)
macro_log_feature(QCA2_FOUND "QCA2" "Provides encryption and signing functions necessary for some resolvers and accounts" "http://delta.affinix.com/qca/" TRUE "" "")
if( TOMAHAWK_QT5 )
macro_optional_find_package(KF5Attica 1.0.0)
set(LIBATTICA_FOUND ${KF5Attica_FOUND})
else()
macro_optional_find_package(LibAttica 0.4.0)
endif()
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 "" "")
macro_optional_find_package(QuaZip)
@@ -296,26 +233,14 @@ 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()
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/lastfm/liblastfm" TRUE "" "liblastfm is needed for scrobbling tracks to Last.fm and fetching cover artwork")
if( NOT APPLE )
if( TOMAHAWK_QT5 )
macro_optional_find_package(Qt5Keychain 0.1.0)
else()
macro_optional_find_package(QtKeychain 0.1.0)
endif()
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 "" "")
endif()
if( UNIX AND NOT APPLE )
macro_optional_find_package(TelepathyQt 0.9.3)
if ( TOMAHAWK_QT5 )
macro_log_feature(TelepathyQt5_FOUND "Telepathy-Qt" "Telepathy-Qt is a Qt high-level binding for Telepathy, a D-Bus framework for unifying real time communication." FALSE "" "Telepathy-Qt is needed for sharing Jabber/GTalk accounts with Telepathy.\n")
else ( TOMAHAWK_QT5)
macro_log_feature(TelepathyQt4_FOUND "Telepathy-Qt" "Telepathy-Qt is a Qt high-level binding for Telepathy, a D-Bus framework for unifying real time communication." FALSE "" "Telepathy-Qt is needed for sharing Jabber/GTalk accounts with Telepathy.\n")
endif()
endif()
# we need pthreads too
macro_optional_find_package(Threads)
@@ -327,15 +252,7 @@ if( WIN32 )
macro_log_feature(QTSPARKLE_FOUND "qtsparkle" "Library for creating auto updaters written in Qt" "https://github.com/davidsansome/qtsparkle" FALSE "" "")
endif( WIN32 )
if( WIN32 OR APPLE )
if( TOMAHAWK_QT5 )
macro_optional_find_package(LibsnoreQt5 QUIET)
else()
macro_optional_find_package(Libsnore QUIET)
endif()
macro_log_feature(LIBSNORE_FOUND "Libsnore" "Library for notifications" "https://github.com/TheOneRing/Snorenotify" FALSE "" "")
endif()
#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})
@@ -360,23 +277,14 @@ add_subdirectory(${THIRDPARTY_DIR}/libportfwd)
#### submodules end
macro_optional_find_package(KDE4)
macro_optional_find_package(KDE4Installed)
if (WITH_KDE4)
macro_optional_find_package(KDE4)
macro_optional_find_package(KDE4Installed)
endif(WITH_KDE4)
macro_log_feature(KDE4_FOUND "KDE4" "Provides support for configuring Telepathy Accounts from inside Tomahawk" "https://www.kde.org" FALSE "" "")
# this was used before we had FindKDE4Installed, just leaving it here to keep the flags
# for future kde integration
if(NOT Phonon_FOUND)
macro_optional_find_package(Phonon 4.5.0)
endif()
macro_log_feature(Phonon_FOUND "Phonon" "The Phonon multimedia library" "http://phonon.kde.org" TRUE "" "")
if(Phonon_FOUND)
message(STATUS "Phonon found; ensure that phonon-vlc is at least 0.4")
endif()
IF( KDE4_FOUND OR Phonon_FOUND )
# macro_optional_find_package(KDE4)
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.)
@@ -398,34 +306,27 @@ CONFIGURE_FILE(
"${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
IMMEDIATE @ONLY)
# KDE4 defines an uninstall target for us automatically (and at least with Qt4 Phonon does as well no matter if kdelibs was found)
# IF( NOT KDE4_FOUND )
# ADD_CUSTOM_TARGET(uninstall "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake")
# ENDIF()
# KDE4 defines an uninstall target for us automatically
IF( NOT KDE4_FOUND )
ADD_CUSTOM_TARGET(uninstall "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake")
ENDIF()
IF( NOT APPLE )
# Make linking as strict on linux as it is on osx. Then we don't break linking on mac so often
SET( CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined" )
SET( CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--no-undefined" )
SET( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wl,--no-undefined" )
ENDIF( NOT APPLE )
# Early configure these files as we need them later on
configure_file(TomahawkUse.cmake.in "${PROJECT_BINARY_DIR}/TomahawkUse.cmake" @ONLY)
file(COPY TomahawkAddPlugin.cmake DESTINATION "${PROJECT_BINARY_DIR}")
file(COPY TomahawkAddLibrary.cmake DESTINATION "${PROJECT_BINARY_DIR}")
SET( TOMAHAWK_LIBRARIES tomahawklib )
SET( TOMAHAWK_WIDGETS_LIBRARIES tomahawk-widgets )
SET( TOMAHAWK_PLAYDARAPI_LIBRARIES tomahawk-playdarapi )
ADD_SUBDIRECTORY( thirdparty )
ADD_SUBDIRECTORY( src )
ADD_SUBDIRECTORY( admin )
IF(BUILD_TESTS)
enable_testing()
ADD_SUBDIRECTORY( src/tests )
ENDIF()
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")
@@ -445,6 +346,9 @@ file(RELATIVE_PATH CONF_REL_INCLUDE_DIR "${CMAKE_INSTALL_FULL_CMAKEDIR}" "${CMAK
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(
@@ -453,7 +357,6 @@ install(
"${PROJECT_BINARY_DIR}/TomahawkConfigVersion.cmake"
"${PROJECT_BINARY_DIR}/TomahawkUse.cmake"
"${PROJECT_BINARY_DIR}/TomahawkAddPlugin.cmake"
"${PROJECT_BINARY_DIR}/TomahawkAddLibrary.cmake"
DESTINATION
"${CMAKE_INSTALL_CMAKEDIR}"
)

View File

@@ -1,12 +0,0 @@
macro (CHECK_STD_FUNCTIONAL CXX_STD_FUNCTIONAL)
include (CheckCXXSourceCompiles)
check_cxx_source_compiles(
"
#include <functional>
using std::function;
int main()
{
return 0;
}" ${CXX_STD_FUNCTIONAL})
endmacro()

View File

@@ -1,12 +0,0 @@
macro (CHECK_STD_TR1_FUNCTIONAL CXX_STD_TR1_FUNCTIONAL)
include (CheckCXXSourceCompiles)
check_cxx_source_compiles(
"
#include <tr1/functional>
using std::tr1::function;
int main()
{
return 0;
}" ${CXX_STD_TR1_FUNCTIONAL})
endmacro()

View File

@@ -6,12 +6,7 @@
# ECHONEST_FOUND, whether libechonest was found
FIND_PACKAGE(PkgConfig QUIET)
if( TOMAHAWK_QT5 )
set(LIBECHONEST_SUFFIX "5")
endif()
PKG_CHECK_MODULES(PC_ECHONEST QUIET libechonest${LIBECHONEST_SUFFIX})
PKG_CHECK_MODULES(PC_ECHONEST QUIET libechonest)
FIND_PATH(ECHONEST_INCLUDE_DIR NAMES echonest/Track.h
HINTS
@@ -21,7 +16,7 @@ FIND_PATH(ECHONEST_INCLUDE_DIR NAMES echonest/Track.h
${KDE4_INCLUDE_DIR}
)
FIND_LIBRARY(ECHONEST_LIBRARIES NAMES echonest${LIBECHONEST_SUFFIX}
FIND_LIBRARY(ECHONEST_LIBRARIES NAMES echonest
HINTS
${PC_ECHONEST_LIBDIR}
${PC_ECHONEST_LIBRARY_DIRS}

View File

@@ -6,13 +6,7 @@
# LIBJREEN_FOUND, whether libjreen was found
FIND_PACKAGE(PkgConfig QUIET)
if( TOMAHAWK_QT5 )
set(JREEN_LIB_SUFFIX "-qt5")
set(JREEN_INCLUDE_SUFFIX ${JREEN_LIB_SUFFIX})
else()
set(JREEN_INCLUDE_SUFFIX "-qt4")
endif()
PKG_CHECK_MODULES(PC_JREEN QUIET libjreen${JREEN_LIB_SUFFIX})
PKG_CHECK_MODULES(PC_JREEN QUIET libjreen)
FIND_PATH(JREEN_INCLUDE_DIR NAMES jreen/jreen.h
HINTS
@@ -20,12 +14,9 @@ FIND_PATH(JREEN_INCLUDE_DIR NAMES jreen/jreen.h
${PC_JREEN_INCLUDE_DIRS}
${CMAKE_INSTALL_INCLUDEDIR}
${KDE4_INCLUDE_DIR}
PATH_SUFFIXES
jreen${JREEN_INCLUDE_SUFFIX}
)
FIND_LIBRARY(JREEN_LIBRARIES NAMES jreen${JREEN_LIB_SUFFIX}
FIND_LIBRARY(JREEN_LIBRARIES NAMES jreen
HINTS
${PC_JREEN_LIBDIR}
${PC_JREEN_LIBRARY_DIRS}

View File

@@ -11,14 +11,27 @@
# Redistribution and use is allowed according to the terms of the BSD license.
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
macro(_phonon_find_version)
set(_phonon_namespace_header_file "${PHONON_INCLUDE_DIR}/phonon/phononnamespace.h")
if (APPLE AND EXISTS "${PHONON_INCLUDE_DIR}/Headers/phononnamespace.h")
set(_phonon_namespace_header_file "${PHONON_INCLUDE_DIR}/Headers/phononnamespace.h")
endif (APPLE AND EXISTS "${PHONON_INCLUDE_DIR}/Headers/phononnamespace.h")
file(READ ${_phonon_namespace_header_file} _phonon_header LIMIT 5000 OFFSET 1000)
string(REGEX MATCH "define PHONON_VERSION_STR \"(4\\.[0-9]+\\.[0-9a-z]+)\"" _phonon_version_match "${_phonon_header}")
set(PHONON_VERSION "${CMAKE_MATCH_1}")
endmacro(_phonon_find_version)
# the dirs listed with HINTS are searched before the default sets of dirs
find_library(PHONON_LIBRARY NAMES phonon HINTS ${KDE4_LIB_INSTALL_DIR} ${QT_LIBRARY_DIR})
find_path(PHONON_INCLUDE_DIR NAMES phonon/phonon_export.h HINTS ${KDE4_INCLUDE_INSTALL_DIR} ${QT_INCLUDE_DIR} ${INCLUDE_INSTALL_DIR} ${QT_LIBRARY_DIR})
if(PHONON_INCLUDE_DIR AND PHONON_LIBRARY)
set(PHONON_LIBS ${phonon_LIB_DEPENDS} ${PHONON_LIBRARY})
set(PHONON_INCLUDES ${PHONON_INCLUDE_DIR}/KDE ${PHONON_INCLUDE_DIR})
_phonon_find_version()
endif(PHONON_INCLUDE_DIR AND PHONON_LIBRARY)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Phonon DEFAULT_MSG PHONON_INCLUDE_DIR PHONON_LIBRARY)
if( TOMAHAWK_QT5 )
find_package(Phonon4Qt5 NO_MODULE)
set(Phonon_FOUND ${Phonon4Qt5_FOUND})
set(Phonon_DIR ${Phonon4Qt5_DIR})
else()
find_package(Phonon NO_MODULE)
endif()
find_package_handle_standard_args(Phonon DEFAULT_MSG Phonon_DIR )
mark_as_advanced(PHONON_INCLUDE_DIR PHONON_LIBRARY)

View File

@@ -0,0 +1,28 @@
# - Try to find QTweetLib
#
# QTWEETLIB_FOUND - system has QTweetLib
# QTWEETLIB_INCLUDE_DIRS - the QTweetLib include directories
# QTWEETLIB_LIBRARIES - link these to use QTweetLib
#
# (c) Dominik Schmidt <dev@dominik-schmidt.de>
#
# Include dir
find_path(QTWEETLIB_INCLUDE_DIR
NAMES QTweetLib/qtweetlib_global.h
PATHS ${KDE4_INCLUDE_DIR}
)
# Finally the library itself
find_library(QTWEETLIB_LIBRARY
NAMES QTweetLib
PATHS ${KDE4_LIB_DIR}
)
SET( QTWEETLIB_LIBRARIES ${QTWEETLIB_LIBRARY} ${QJSON_LIBRARIES} )
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(QTweetLib DEFAULT_MSG QTWEETLIB_LIBRARY QTWEETLIB_INCLUDE_DIR)
MARK_AS_ADVANCED(QTWEETLIB_LIBRARIES QTWEETLIB_INCLUDE_DIR)

View File

@@ -1,25 +0,0 @@
# - Find google-sparsehash
# Find the google-sparsehash includes
# This module defines
# SPARSEHASH_INCLUDE_DIR, root jreen include dir.
# SPARSEHASH_FOUND, whether libjreen was found
FIND_PACKAGE(PkgConfig QUIET)
PKG_CHECK_MODULES(PC_SPARSEHASH QUIET libsparsehash)
FIND_PATH(SPARSEHASH_INCLUDE_DIR NAMES google/sparsetable
HINTS
${PC_SPARSEHASH_INCLUDEDIR}
${PC_SPARSEHASH_INCLUDE_DIRS}
${CMAKE_INSTALL_INCLUDEDIR}
)
IF(SPARSEHASH_INCLUDE_DIR AND NOT PC_SPARSEHASH_VERSION)
MESSAGE(WARNING "You don't have pkg-config and so the google-sparsehash version check does not work!")
ENDIF()
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Sparsehash
REQUIRED_VARS SPARSEHASH_INCLUDE_DIR)
MARK_AS_ADVANCED(SPARSEHASH_INCLUDE_DIR)

View File

@@ -1,27 +0,0 @@
# Copyright (c) 2013, Teo Mrnjavac <teo@kde.org>
include(FindPackageHandleStandardArgs)
if( NOT BUILD_WITH_QT4 )
find_package(TelepathyQt5 NO_MODULE)
set(TelepathyQt_FOUND ${TelepathyQt5_FOUND})
set(TELEPATHY_QT_VERSION ${TELEPATHY_QT5_VERSION})
set(TELEPATHY_QT_INSTALL_DIR ${TELEPATHY_QT5_INSTALL_DIR})
set(TELEPATHY_QT_INCLUDE_DIR ${TELEPATHY_QT5_INCLUDE_DIR})
set(TELEPATHY_QT_LIB_DIR ${TELEPATHY_QT5_LIB_DIR})
set(TELEPATHY_QT_SHARE_DIR ${TELEPATHY_QT5_SHARE_DIR})
set(TELEPATHY_QT_LIBRARIES ${TELEPATHY_QT5_LIBRARIES})
else()
find_package(TelepathyQt4 NO_MODULE)
set(TelepathyQt_FOUND ${TelepathyQt4_FOUND})
set(TELEPATHY_QT_VERSION ${TELEPATHY_QT4_VERSION})
set(TELEPATHY_QT_INSTALL_DIR ${TELEPATHY_QT4_INSTALL_DIR})
set(TELEPATHY_QT_INCLUDE_DIR ${TELEPATHY_QT4_INCLUDE_DIR})
set(TELEPATHY_QT_LIB_DIR ${TELEPATHY_QT4_LIB_DIR})
set(TELEPATHY_QT_SHARE_DIR ${TELEPATHY_QT4_SHARE_DIR})
set(TELEPATHY_QT_LIBRARIES ${TELEPATHY_QT4_LIBRARIES})
endif()
set(TELEPATHY_QT_FOUND ${TelepathyQt_FOUND})
find_package_handle_standard_args(TelepathyQt DEFAULT_MSG TELEPATHY_QT_INSTALL_DIR )

View File

@@ -34,9 +34,6 @@
!define NSI_PATH "${SOURCE_PATH}/admin/win/nsi"
;define app id needed for Windows 8 notifications
!define AppUserModelId org.tomahawk-player.Tomahawk
;-----------------------------------------------------------------------------
; Installer version
;-----------------------------------------------------------------------------
@@ -279,9 +276,6 @@ Section "Tomahawk Player" SEC_TOMAHAWK_PLAYER
File "${INSTALL_PATH}\bin\tomahawk_crash_reporter.exe"
File "${INSTALL_PATH}\bin\libtomahawk.dll"
File "${INSTALL_PATH}\bin\libtomahawk-widgets.dll"
File "${INSTALL_PATH}\bin\libtomahawk-playdarapi.dll"
; plugins
File "${INSTALL_PATH}\lib\libtomahawk_*_*.dll"
!endif
@@ -292,9 +286,6 @@ Section "Tomahawk Player" SEC_TOMAHAWK_PLAYER
File "${BUILD_PATH}\tomahawk_crash_reporter.exe"
File "${BUILD_PATH}\libtomahawk.dll"
File "${BUILD_PATH}\libtomahawk-widgets.dll"
File "${BUILD_PATH}\libtomahawk-playdarapi.dll"
; plugins
File "${BUILD_PATH}\libtomahawk_*_*.dll"
!endif
@@ -313,14 +304,11 @@ Section "Tomahawk Player" SEC_TOMAHAWK_PLAYER
File "${QT_DLL_PATH}\QtWebKit4.dll"
File "${QT_DLL_PATH}\QtXml4.dll"
File "${QT_DLL_PATH}\QtSvg4.dll"
File "${QT_DLL_PATH}\QtDeclarative4.dll"
File "${QT_DLL_PATH}\QtXmlPatterns4.dll"
;SQLite driver
SetOutPath "$INSTDIR\sqldrivers"
File "${SQLITE_DLL_PATH}\qsqlite4.dll"
SetOutPath "$INSTDIR"
File "${MING_BIN}\libsqlite3-0.dll"
;Image plugins
SetOutPath "$INSTDIR\imageformats"
@@ -352,47 +340,24 @@ Section "Tomahawk Player" SEC_TOMAHAWK_PLAYER
; Other
File "${MING_BIN}\libqjson.dll"
File "${MING_BIN}\libtag.dll"
File "${MING_BIN}\libpng16-16.dll"
File "${MING_BIN}\libpng15-15.dll"
File "${MING_BIN}\libjpeg-8.dll"
File "${MING_BIN}\zlib1.dll"
File "${MING_BIN}\libechonest.dll"
File "${MING_BIN}\liblastfm.dll"
File "${MING_BIN}\libQTweetLib.dll"
File "${MING_BIN}\libquazip.dll"
File "${MING_BIN}\libqtkeychain.dll"
; GnuTLS
File "${MING_BIN}\libgnutls-28.dll"
File "${MING_BIN}\libtasn1-6.dll"
File "${MING_BIN}\libgmp-10.dll"
File "${MING_BIN}\libhogweed-2-4.dll"
File "${MING_BIN}\libintl-8.dll"
File "${MING_BIN}\libnettle-4-6.dll"
File "${MING_BIN}\libp11-kit-0.dll"
File "${MING_BIN}\libffi-6.dll"
; Snorenotify
File "${MING_BIN}\SnoreToast.exe"
File "${MING_BIN}\libsnore.dll"
File "${MING_LIB}\libsnore\libsnore_backend_growl.dll"
File "${MING_LIB}\libsnore\libsnore_backend_snarl.dll"
File "${MING_LIB}\libsnore\libsnore_backend_snore.dll"
File "${MING_LIB}\libsnore\libsnore_backend_snoretoast.dll"
; Snoregrowl
File "${MING_BIN}\libsnoregrowl++.dll"
File "${MING_BIN}\libsnoregrowl.dll"
; Jabber
File "${MING_BIN}\libjreen.dll"
File "${MING_BIN}\libidn-11.dll"
File "${MING_BIN}\libgsasl-7.dll"
File "${MING_BIN}\libqca.dll"
SetOutPath "$INSTDIR\crypto"
File "${MING_LIB}\qt4\plugins\crypto\libqca-ossl.dll"
SetOutPath "$INSTDIR"
File "${MING_BIN}\libssl-10.dll"
File "${MING_BIN}\libcrypto-10.dll"
File "${MING_BIN}\libssl-8.dll"
File "${MING_BIN}\libcrypto-8.dll"
File "${MING_BIN}\libclucene-core.dll"
File "${MING_BIN}\libclucene-shared.dll"
@@ -414,7 +379,6 @@ SectionGroup "Shortcuts"
CreateDirectory "$SMPROGRAMS\Tomahawk"
CreateShortCut "$SMPROGRAMS\Tomahawk\LICENSE.lnk" "$INSTDIR\LICENSE.txt"
CreateShortCut "$SMPROGRAMS\Tomahawk\Tomahawk.lnk" "$INSTDIR\tomahawk.exe"
WinShell::SetLnkAUMI "$SMPROGRAMS\Tomahawk\Tomahawk.lnk" "${AppUserModelId}"
CreateShortCut "$SMPROGRAMS\Tomahawk\Release notes.lnk" "$INSTDIR\NOTES.txt"
CreateShortCut "$SMPROGRAMS\Tomahawk\Uninstall.lnk" "$INSTDIR\uninstall.exe"
SetShellVarContext current
@@ -553,16 +517,12 @@ Section Uninstall
DeleteRegValue HKLM "Software\Tomahawk" "VersionRevision"
DeleteRegValue HKLM "Software\Tomahawk" ""
DeleteRegKey HKLM "Software\Tomahawk"
DeleteRegKey HKCR "Software\Tomahawk"
DeleteRegKey HKCR "Software\TomahawkSpotify"
DeleteRegKey HKCR "tomahawk"
;Start menu shortcuts.
!ifdef OPTION_SECTION_SC_START_MENU
SetShellVarContext all
WinShell::UninstAppUserModelId "${AppUserModelId}"
WinShell::UninstShortcut "$SMPROGRAMS\Tomahawk\Tomahawk.lnk"
RMDir /r "$SMPROGRAMS\Tomahawk"
SetShellVarContext current
!endif

View File

@@ -1,41 +1,14 @@
Version 0.9.0:
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 Trending page, showing you the most played tracks of your friends recently,
trending songs and playlists.
* Removed Top Loved from sidebar.
* JavaScript-Resolver can now handle URLs (e.g. when dropped from a browser)
and resolve them to Playlists/Tracks/Artists/Albums.
* HTTP(S) streaming is now done by Tomahawk instead of the Phonon backend
(fixed HTTPS streaming on MacOS).
(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.
* New Loved widget shows what friends have loved tracks throughout the app.
* New Artist, Album and Track page design - new fonts, colors, layout.
* Retina display and DPI scaling fixes.
* New Dashboard layout.
* New Stats widget.
* New Collection views.
* Added Telepathy support.
* Plugin refactoring (and .AXE resolver binaries).
* Removed Twitter due to change in Twitter's API.
* Improved error messages.
* Support drag & drop of items from Artist and Album page headers.
* Added basic remote control API.
* Add support for Opus codec in local files (requires TagLib 1.9).
* Support rtmp:// streams.
* Drop QJson as a dependency for Qt5.
* Support additional headers in CustomUrlHandler.
* Fuzzy search indices for JS Resolvers.
* Add metadata retrieval of HTTP(S) streams in JavaScript resolvers.
* New Dependencies: google-sparsehash, GnuTLS.
* Flat Collection View.
* Support for Windows, OS X and Growl notifications.
Version 0.7.0:
* JavaScript Resolvers can now expose collections.

View File

@@ -21,7 +21,7 @@ Start the application on OS X:
Detailed building instructions for Ubuntu
-----------------------------------------
See: http://wiki.tomahawk-player.org/index.php/Building_on_Ubuntu
See: http://wiki.tomahawk-player.org/index.php/Building_Binary_on_Ubuntu_Precise_(12.04)
Detailed building instructions for OS X
---------------------------------------
@@ -39,27 +39,26 @@ Required dependencies:
* CMake 2.8.6 - http://www.cmake.org/
* Qt 4.7.0 - http://qt-project.org/
* Phonon 4.6.0 - http://phonon.kde.org/
* QJson 0.8.1 - http://qjson.sourceforge.net/
* QJson 0.7.1 - http://qjson.sourceforge.net/
* SQLite 3.6.22 - http://www.sqlite.org/
* TagLib 1.8 - http://developer.kde.org/~wheeler/taglib.html
* 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.2.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 - https://github.com/lastfm/liblastfm/
* QtKeychain 0.1 - https://github.com/frankosterfeld/qtkeychain/
* Sparsehash - https://code.google.com/p/sparsehash/
* GnuTLS - http://gnutls.org/
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/
* Snorenotify - https://github.com/Snorenotify/Snorenotify/
* 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 - https://github.com/mikemcquaid/Qocoa/
* libqnetwm - http://code.google.com/p/libqnetwm/
* libqxt (QxtWeb module) - http://libqxt.org/

View File

@@ -1,116 +0,0 @@
include( CMakeParseArguments )
function(tomahawk_add_library)
# parse arguments (name needs to be saved before passing ARGN into the macro)
set(NAME ${ARGV0})
set(options NO_INSTALL NO_VERSION)
set(oneValueArgs NAME TYPE EXPORT_MACRO TARGET TARGET_TYPE EXPORT VERSION SOVERSION INSTALL_BINDIR)
set(multiValueArgs SOURCES UI LINK_LIBRARIES LINK_PRIVATE_LIBRARIES COMPILE_DEFINITIONS QT5_MODULES)
cmake_parse_arguments(LIBRARY "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
set(LIBRARY_NAME ${NAME})
# message("*** Arguments for ${LIBRARY_NAME}")
# message("Sources: ${LIBRARY_SOURCES}")
# message("Link libraries: ${LIBRARY_LINK_LIBRARIES}")
# message("UI: ${LIBRARY_UI}")
# message("TARGET_TYPE: ${LIBRARY_TARGET_TYPE}")
# message("EXPORT_MACRO: ${LIBRARY_EXPORT_MACRO}")
# message("NO_INSTALL: ${LIBRARY_NO_INSTALL}")
set(target ${LIBRARY_NAME})
# qt stuff
include_directories(${CMAKE_CURRENT_LIST_DIR})
include_directories(${CMAKE_CURRENT_BINARY_DIR})
if(LIBRARY_UI)
qt_wrap_ui(LIBRARY_UI_SOURCES ${LIBRARY_UI})
list(APPEND LIBRARY_SOURCES ${LIBRARY_UI_SOURCES})
endif()
# add resources from current dir
if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/resources.qrc")
qt_add_resources(LIBRARY_RC_SOURCES "resources.qrc")
list(APPEND LIBRARY_SOURCES ${LIBRARY_RC_SOURCES})
unset(LIBRARY_RC_SOURCES)
endif()
# add target
if(LIBRARY_TARGET_TYPE STREQUAL "STATIC")
add_library(${target} STATIC ${LIBRARY_SOURCES})
elseif(LIBRARY_TARGET_TYPE STREQUAL "MODULE")
add_library(${target} MODULE ${LIBRARY_SOURCES})
else() # default
add_library(${target} SHARED ${LIBRARY_SOURCES})
endif()
# HACK: add qt modules - every lib should define its own set of modules
qt5_use_modules(${target} Core Network Widgets Sql Xml DBus ${LIBRARY_QT5_MODULES})
# definitions - can this be moved into set_target_properties below?
add_definitions(${QT_DEFINITIONS})
set_target_properties(${target} PROPERTIES AUTOMOC TRUE)
add_definitions(${TOMAHAWK_DEFINITIONS})
if(LIBRARY_EXPORT_MACRO)
set_target_properties(${target} PROPERTIES COMPILE_DEFINITIONS ${LIBRARY_EXPORT_MACRO})
endif()
if(LIBRARY_COMPILE_DEFINITIONS)
# Dear CMake, i hate you! Sincerely, domme
# At least in CMake 2.8.8, you CANNOT set more than one COMPILE_DEFINITIONS value
# only takes the first one if called multiple times or bails out with wrong number of arguments
# when passing in a list, thus i redefine the export macro here in hope it won't mess up other targets
# Dear domme,
# "The COMPILE_DEFINITIONS property may be set to a semicolon-separated list"
# Sincerely, CMake Documentation
add_definitions( "-D${LIBRARY_EXPORT_MACRO}" )
set_target_properties(${target} PROPERTIES COMPILE_DEFINITIONS ${LIBRARY_COMPILE_DEFINITIONS})
endif()
# add link targets
target_link_libraries(${target} ${TOMAHAWK_LIBRARIES})
if(LIBRARY_LINK_LIBRARIES)
target_link_libraries(${target} ${LIBRARY_LINK_LIBRARIES})
endif()
if(LIBRARY_LINK_PRIVATE_LIBRARIES)
target_link_libraries(${target} LINK_PRIVATE ${LIBRARY_LINK_PRIVATE_LIBRARIES})
endif()
# add soversion
if(NOT LIBRARY_NO_VERSION)
set_target_properties(${target} PROPERTIES VERSION ${LIBRARY_VERSION})
if(NOT LIBRARY_SOVERSION)
set(LIBRARY_SOVERSION ${LIBRARY_VERSION})
endif()
set_target_properties(${target} PROPERTIES SOVERSION ${LIBRARY_SOVERSION})
endif()
if(NOT LIBRARY_INSTALL_BINDIR)
set(LIBRARY_INSTALL_BINDIR "${CMAKE_INSTALL_BINDIR}")
endif()
# make installation optional, maybe useful for dummy plugins one day
if(NOT LIBRARY_NO_INSTALL)
include(GNUInstallDirs)
if(NOT LIBRARY_EXPORT)
install( TARGETS ${target}
RUNTIME DESTINATION ${LIBRARY_INSTALL_BINDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
)
else()
install( TARGETS ${target}
EXPORT ${LIBRARY_EXPORT}
RUNTIME DESTINATION ${LIBRARY_INSTALL_BINDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
)
endif()
endif()
endfunction()

View File

@@ -1,14 +1,50 @@
include( CMakeParseArguments )
include( ${TOMAHAWK_CMAKE_DIR}/TomahawkAddLibrary.cmake )
MACRO(PARSE_ARGUMENTS prefix arg_names option_names)
SET(DEFAULT_ARGS)
FOREACH(arg_name ${arg_names})
SET(${prefix}_${arg_name})
ENDFOREACH(arg_name)
FOREACH(option ${option_names})
SET(${prefix}_${option} FALSE)
ENDFOREACH(option)
function(tomahawk_add_plugin)
# parse arguments (name needs to be saved before passing ARGN into the macro)
set(NAME ${ARGV0})
set(options NO_INSTALL SHARED_LIB)
set(oneValueArgs NAME TYPE EXPORT_MACRO)
set(multiValueArgs SOURCES UI LINK_LIBRARIES COMPILE_DEFINITIONS)
cmake_parse_arguments(PLUGIN "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
set(PLUGIN_NAME ${NAME})
SET(current_arg_name DEFAULT_ARGS)
SET(current_arg_list)
FOREACH(arg ${ARGN})
SET(larg_names ${arg_names})
LIST(FIND larg_names "${arg}" is_arg_name)
IF (is_arg_name GREATER -1)
SET(${prefix}_${current_arg_name} ${current_arg_list})
SET(current_arg_name ${arg})
SET(current_arg_list)
ELSE (is_arg_name GREATER -1)
SET(loption_names ${option_names})
LIST(FIND loption_names "${arg}" is_option)
IF (is_option GREATER -1)
SET(${prefix}_${arg} TRUE)
ELSE (is_option GREATER -1)
SET(current_arg_list ${current_arg_list} ${arg})
ENDIF (is_option GREATER -1)
ENDIF (is_arg_name GREATER -1)
ENDFOREACH(arg)
SET(${prefix}_${current_arg_name} ${current_arg_list})
ENDMACRO(PARSE_ARGUMENTS)
MACRO(CAR var)
SET(${var} ${ARGV1})
ENDMACRO(CAR)
MACRO(CDR var junk)
SET(${var} ${ARGN})
ENDMACRO(CDR)
macro(tomahawk_add_plugin)
parse_arguments(PLUGIN
"SOURCES;UI;LINK_LIBRARIES;TYPE;EXPORT_MACRO;COMPILE_DEFINITIONS"
"NO_INSTALL;SHARED_LIB"
${ARGN}
)
car(PLUGIN_NAME ${PLUGIN_DEFAULT_ARGS})
# message("*** Arguments for ${PLUGIN_NAME}")
# message("Sources: ${PLUGIN_SOURCES}")
@@ -16,40 +52,55 @@ function(tomahawk_add_plugin)
# message("UI: ${PLUGIN_UI}")
# message("TYPE: ${PLUGIN_TYPE}")
# message("EXPORT_MACRO: ${PLUGIN_EXPORT_MACRO}")
# message("NO_INSTALL: ${PLUGIN_NO_INSTALL}")
# create target name once for convenience
set(target "tomahawk_${PLUGIN_TYPE}_${PLUGIN_NAME}")
# determine target type
if(NOT ${PLUGIN_SHARED_LIB})
set(target_type "MODULE")
else()
set(target_type "SHARED")
endif()
list(APPEND tomahawk_add_library_args
"${target}"
"EXPORT_MACRO" "${PLUGIN_EXPORT_MACRO}"
"TARGET_TYPE" "${target_type}"
"SOURCES" "${PLUGIN_SOURCES}"
)
# qt stuff
include_directories(${CMAKE_CURRENT_BINARY_DIR})
if(PLUGIN_UI)
list(APPEND tomahawk_add_library_args "UI" "${PLUGIN_UI}")
qt_wrap_ui(PLUGIN_UI_SOURCES ${PLUGIN_UI})
list(APPEND PLUGIN_SOURCES ${PLUGIN_UI_SOURCES})
endif()
if(PLUGIN_LINK_LIBRARIES)
list(APPEND tomahawk_add_library_args "LINK_LIBRARIES" "${PLUGIN_LINK_LIBRARIES}")
if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/resources.qrc")
qt_add_resources(PLUGIN_RC_SOURCES "resources.qrc")
list(APPEND PLUGIN_SOURCES ${PLUGIN_RC_SOURCES})
unset(PLUGIN_RC_SOURCES)
endif()
# add target
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})
set_target_properties(${target} PROPERTIES AUTOMOC TRUE COMPILE_DEFINITIONS ${PLUGIN_EXPORT_MACRO})
if(PLUGIN_COMPILE_DEFINITIONS)
list(APPEND tomahawk_add_library_args "COMPILE_DEFINITIONS" ${PLUGIN_COMPILE_DEFINITIONS})
# Dear CMake, i hate you! Sincerely, domme
# At least in CMake 2.8.8, you CANNOT set more than one COMPILE_DEFINITIONS value
# only takes the first one if called multiple times or bails out with wrong number of arguments
# when passing in a list, thus i redefine the export macro here in hope it won't mess up other targets
add_definitions( "-D${PLUGIN_EXPORT_MACRO}" )
set_target_properties(${target} PROPERTIES COMPILE_DEFINITIONS ${PLUGIN_COMPILE_DEFINITIONS})
endif()
list(APPEND tomahawk_add_library_args "NO_VERSION")
# add link targets
target_link_libraries(${target} ${TOMAHAWK_LIBRARIES})
if(PLUGIN_LINK_LIBRARIES)
target_link_libraries(${target} ${PLUGIN_LINK_LIBRARIES})
endif()
list(APPEND tomahawk_add_library_args "INSTALL_BINDIR" "${CMAKE_INSTALL_LIBDIR}")
tomahawk_add_library(${tomahawk_add_library_args})
endfunction()
# make installation optional, maybe useful for dummy plugins one day
if(NOT PLUGIN_NO_INSTALL)
include(GNUInstallDirs)
install(TARGETS ${target} DESTINATION ${CMAKE_INSTALL_LIBDIR})
endif()
endmacro()

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

@@ -1,63 +0,0 @@
#FIXME: this duplicates top level cmakelists: how can we reduce code duplication?
set( TOMAHAWK_QT5 @TOMAHAWK_QT5@ )
if(TOMAHAWK_QT5)
find_package(Qt5Core)
find_package(Qt5Network)
find_package(Qt5Gui)
find_package(Qt5Sql)
set(NEEDED_QT4_COMPONENTS "QtCore" "QtXml" "QtNetwork")
if(BUILD_GUI OR NOT DEFINED BUILD_GUI)
find_package(Qt5Widgets)
find_package(Qt5Svg)
endif()
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()
else(TOMAHAWK_QT5)
find_package(Qt4 COMPONENTS QtNetwork QtCore QtGui QtSql 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")
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()
endif(TOMAHAWK_QT5)
if(NOT TOMAHAWK_CMAKE_DIR)
set(TOMAHAWK_CMAKE_DIR ${CMAKE_CURRENT_LIST_DIR})
endif()
include( "${TOMAHAWK_CMAKE_DIR}/TomahawkAddLibrary.cmake" )
include( "${TOMAHAWK_CMAKE_DIR}/TomahawkAddPlugin.cmake" )

View File

@@ -1,5 +1,5 @@
#!/usr/bin/python
# This file is part of Tomahawk.
# This file is part of Tomahawk.
# It was inspired in large part by the macdeploy script in Clementine.
#
# Clementine is free software: you can redistribute it and/or modify
@@ -26,162 +26,162 @@ FRAMEWORK_SEARCH_PATH=[
os.path.join(os.environ['HOME'], 'Library/Frameworks')
]
LIBRARY_SEARCH_PATH=['/usr/local/lib', '/usr/local/Cellar/gettext/0.19.2/lib', '.']
LIBRARY_SEARCH_PATH=['/usr/local/lib', '/usr/local/Cellar/gettext/0.18.1.1/lib', '.']
VLC_PLUGINS=[
'access/libattachment_plugin.dylib',
#'access/libaccess_avio_plugin.dylib',
#'access/libaccess_fake_plugin.dylib',
'access/libftp_plugin.dylib',
'access/libhttp_plugin.dylib',
'access/libimem_plugin.dylib',
#'access/libaccess_mmap_plugin.dylib',
'access/libaccess_mms_plugin.dylib',
'access/libaccess_realrtsp_plugin.dylib',
'access/libtcp_plugin.dylib',
'access/libudp_plugin.dylib',
'access/libcdda_plugin.dylib',
'access/libfilesystem_plugin.dylib',
'access/libqtcapture_plugin.dylib',
'access/librtp_plugin.dylib',
'access/libzip_plugin.dylib',
'access_output/libaccess_output_dummy_plugin.dylib',
'access_output/libaccess_output_file_plugin.dylib',
'access_output/libaccess_output_http_plugin.dylib',
'access_output/libaccess_output_shout_plugin.dylib',
'access_output/libaccess_output_udp_plugin.dylib',
'audio_filter/liba52tofloat32_plugin.dylib',
'audio_filter/liba52tospdif_plugin.dylib',
'audio_filter/libaudio_format_plugin.dylib',
'audio_filter/libaudiobargraph_a_plugin.dylib',
'audio_filter/libchorus_flanger_plugin.dylib',
#'libconverter_fixed_plugin.dylib',
'audio_filter/libdolby_surround_decoder_plugin.dylib',
'audio_filter/libdtstofloat32_plugin.dylib',
'audio_filter/libdtstospdif_plugin.dylib',
'audio_filter/libequalizer_plugin.dylib',
'audio_filter/libheadphone_channel_mixer_plugin.dylib',
'audio_filter/libmono_plugin.dylib',
'audio_filter/libmpgatofixed32_plugin.dylib',
'audio_filter/libnormvol_plugin.dylib',
'audio_filter/libparam_eq_plugin.dylib',
'audio_filter/libscaletempo_plugin.dylib',
'audio_filter/libsimple_channel_mixer_plugin.dylib',
'audio_filter/libspatializer_plugin.dylib',
'audio_filter/libtrivial_channel_mixer_plugin.dylib',
'audio_filter/libugly_resampler_plugin.dylib',
'audio_mixer/libfloat_mixer_plugin.dylib',
'libaccess_attachment_plugin.dylib',
#'libaccess_avio_plugin.dylib',
#'libaccess_fake_plugin.dylib',
'libaccess_ftp_plugin.dylib',
'libaccess_http_plugin.dylib',
'libaccess_imem_plugin.dylib',
#'libaccess_mmap_plugin.dylib',
'libaccess_mms_plugin.dylib',
'libaccess_realrtsp_plugin.dylib',
'libaccess_tcp_plugin.dylib',
'libaccess_udp_plugin.dylib',
'libcdda_plugin.dylib',
'libfilesystem_plugin.dylib',
'libqtcapture_plugin.dylib',
'librtp_plugin.dylib',
'libzip_plugin.dylib',
'libaccess_output_dummy_plugin.dylib',
'libaccess_output_file_plugin.dylib',
'libaccess_output_http_plugin.dylib',
'libaccess_output_shout_plugin.dylib',
'libaccess_output_udp_plugin.dylib',
'liba52tofloat32_plugin.dylib',
'liba52tospdif_plugin.dylib',
'libaudio_format_plugin.dylib',
'libaudiobargraph_a_plugin.dylib',
'libchorus_flanger_plugin.dylib',
'libconverter_fixed_plugin.dylib',
'libdolby_surround_decoder_plugin.dylib',
'libdtstofloat32_plugin.dylib',
'libdtstospdif_plugin.dylib',
'libequalizer_plugin.dylib',
'libheadphone_channel_mixer_plugin.dylib',
'libmono_plugin.dylib',
'libmpgatofixed32_plugin.dylib',
'libnormvol_plugin.dylib',
'libparam_eq_plugin.dylib',
'libscaletempo_plugin.dylib',
'libsimple_channel_mixer_plugin.dylib',
'libspatializer_plugin.dylib',
'libtrivial_channel_mixer_plugin.dylib',
'libugly_resampler_plugin.dylib',
'libfloat32_mixer_plugin.dylib',
#'libspdif_mixer_plugin.dylib',
#'libtrivial_mixer_plugin.dylib',
#'libaout_file_plugin.dylib',
'audio_output/libauhal_plugin.dylib',
'codec/liba52_plugin.dylib',
'codec/libadpcm_plugin.dylib',
'codec/libaes3_plugin.dylib',
'codec/libaraw_plugin.dylib',
'codec/libavcodec_plugin.dylib',
'codec/libcc_plugin.dylib',
'codec/libcdg_plugin.dylib',
'codec/libdts_plugin.dylib',
'codec/libfaad_plugin.dylib',
'libaout_file_plugin.dylib',
'libauhal_plugin.dylib',
'liba52_plugin.dylib',
'libadpcm_plugin.dylib',
'libaes3_plugin.dylib',
'libaraw_plugin.dylib',
'libavcodec_plugin.dylib',
'libcc_plugin.dylib',
'libcdg_plugin.dylib',
'libdts_plugin.dylib',
'libfaad_plugin.dylib',
#'libfake_plugin.dylib',
'codec/libflac_plugin.dylib',
#'libfluidsynth_plugin.dylib',
'libflac_plugin.dylib',
'libfluidsynth_plugin.dylib',
#'libinvmem_plugin.dylib',
'codec/liblpcm_plugin.dylib',
'codec/libmpeg_audio_plugin.dylib',
'codec/libpng_plugin.dylib',
'codec/librawvideo_plugin.dylib',
'codec/libspeex_plugin.dylib',
'codec/libspudec_plugin.dylib',
'codec/libtheora_plugin.dylib',
'codec/libtwolame_plugin.dylib',
'codec/libvorbis_plugin.dylib',
#'control/libgestures_plugin.dylib',
#'libhotkeys_plugin.dylib',
#'libmotion_plugin.dylib',
#'libnetsync_plugin.dylib',
'liblpcm_plugin.dylib',
'libmpeg_audio_plugin.dylib',
'libpng_plugin.dylib',
'librawvideo_plugin.dylib',
'libspeex_plugin.dylib',
'libspudec_plugin.dylib',
'libtheora_plugin.dylib',
'libtwolame_plugin.dylib',
'libvorbis_plugin.dylib',
'libgestures_plugin.dylib',
'libhotkeys_plugin.dylib',
'libmotion_plugin.dylib',
'libnetsync_plugin.dylib',
#'libsignals_plugin.dylib',
'demux/libaiff_plugin.dylib',
'demux/libasf_plugin.dylib',
'demux/libau_plugin.dylib',
'libaiff_plugin.dylib',
'libasf_plugin.dylib',
'libau_plugin.dylib',
#'libavformat_plugin.dylib',
'demux/libavi_plugin.dylib',
'demux/libdemux_cdg_plugin.dylib',
'demux/libdemuxdump_plugin.dylib',
'demux/libdiracsys_plugin.dylib',
'demux/libes_plugin.dylib',
'demux/libflacsys_plugin.dylib',
'access/liblive555_plugin.dylib',
'demux/libmkv_plugin.dylib',
'demux/libmod_plugin.dylib',
'demux/libmp4_plugin.dylib',
'demux/libmpc_plugin.dylib',
'demux/libmpgv_plugin.dylib',
'demux/libnsc_plugin.dylib',
'demux/libnsv_plugin.dylib',
'demux/libnuv_plugin.dylib',
'demux/libogg_plugin.dylib',
'demux/libplaylist_plugin.dylib',
'demux/libps_plugin.dylib',
'demux/libpva_plugin.dylib',
'demux/librawaud_plugin.dylib',
'demux/librawdv_plugin.dylib',
'demux/librawvid_plugin.dylib',
'demux/libreal_plugin.dylib',
'demux/libsmf_plugin.dylib',
'demux/libts_plugin.dylib',
'demux/libtta_plugin.dylib',
'demux/libty_plugin.dylib',
'demux/libvc1_plugin.dylib',
'demux/libvoc_plugin.dylib',
'demux/libwav_plugin.dylib',
'demux/libxa_plugin.dylib',
'meta_engine/libfolder_plugin.dylib',
'meta_engine/libtaglib_plugin.dylib',
#'libaudioscrobbler_plugin.dylib',
'control/libdummy_plugin.dylib',
'misc/libexport_plugin.dylib',
#'libfreetype_plugin.dylib',
#'libgnutls_plugin.dylib',
'misc/liblogger_plugin.dylib',
'lua/liblua_plugin.dylib',
#'libosd_parser_plugin.dylib',
#'libquartztext_plugin.dylib',
#'libstats_plugin.dylib',
'misc/libvod_rtsp_plugin.dylib',
'misc/libxml_plugin.dylib',
'libavi_plugin.dylib',
'libdemux_cdg_plugin.dylib',
'libdemuxdump_plugin.dylib',
'libdirac_plugin.dylib',
'libes_plugin.dylib',
'libflacsys_plugin.dylib',
'liblive555_plugin.dylib',
'libmkv_plugin.dylib',
'libmod_plugin.dylib',
'libmp4_plugin.dylib',
'libmpc_plugin.dylib',
'libmpgv_plugin.dylib',
'libnsc_plugin.dylib',
'libnsv_plugin.dylib',
'libnuv_plugin.dylib',
'libogg_plugin.dylib',
'libplaylist_plugin.dylib',
'libps_plugin.dylib',
'libpva_plugin.dylib',
'librawaud_plugin.dylib',
'librawdv_plugin.dylib',
'librawvid_plugin.dylib',
'libreal_plugin.dylib',
'libsmf_plugin.dylib',
'libts_plugin.dylib',
'libtta_plugin.dylib',
'libty_plugin.dylib',
'libvc1_plugin.dylib',
'libvoc_plugin.dylib',
'libwav_plugin.dylib',
'libxa_plugin.dylib',
'libfolder_plugin.dylib',
'libtaglib_plugin.dylib',
'libaudioscrobbler_plugin.dylib',
'libdummy_plugin.dylib',
'libexport_plugin.dylib',
'libfreetype_plugin.dylib',
'libgnutls_plugin.dylib',
'liblogger_plugin.dylib',
'liblua_plugin.dylib',
'libosd_parser_plugin.dylib',
'libquartztext_plugin.dylib',
'libstats_plugin.dylib',
'libvod_rtsp_plugin.dylib',
'libxml_plugin.dylib',
#'libxtag_plugin.dylib',
'video_chroma/libi420_rgb_mmx_plugin.dylib',
'video_chroma/libi420_yuy2_mmx_plugin.dylib',
'video_chroma/libi422_yuy2_mmx_plugin.dylib',
#'libmemcpymmx_plugin.dylib',
#'libmemcpymmxext_plugin.dylib',
'mux/libmux_asf_plugin.dylib',
'mux/libmux_avi_plugin.dylib',
'mux/libmux_dummy_plugin.dylib',
'mux/libmux_mp4_plugin.dylib',
'mux/libmux_mpjpeg_plugin.dylib',
'mux/libmux_ogg_plugin.dylib',
'mux/libmux_ps_plugin.dylib',
'mux/libmux_ts_plugin.dylib',
'mux/libmux_wav_plugin.dylib',
'packetizer/libpacketizer_copy_plugin.dylib',
'packetizer/libpacketizer_dirac_plugin.dylib',
'packetizer/libpacketizer_flac_plugin.dylib',
'packetizer/libpacketizer_h264_plugin.dylib',
'packetizer/libpacketizer_mlp_plugin.dylib',
'packetizer/libpacketizer_mpeg4audio_plugin.dylib',
'packetizer/libpacketizer_mpeg4video_plugin.dylib',
'packetizer/libpacketizer_mpegvideo_plugin.dylib',
'packetizer/libpacketizer_vc1_plugin.dylib',
'video_chroma/libi420_rgb_sse2_plugin.dylib',
'video_chroma/libi420_yuy2_sse2_plugin.dylib',
'video_chroma/libi422_yuy2_sse2_plugin.dylib',
'stream_filter/libdecomp_plugin.dylib',
#'access/libstream_filter_rar_plugin.dylib',
'stream_filter/librecord_plugin.dylib',
#'libvisual_plugin.dylib',
'libi420_rgb_mmx_plugin.dylib',
'libi420_yuy2_mmx_plugin.dylib',
'libi422_yuy2_mmx_plugin.dylib',
'libmemcpymmx_plugin.dylib',
'libmemcpymmxext_plugin.dylib',
'libmux_asf_plugin.dylib',
'libmux_avi_plugin.dylib',
'libmux_dummy_plugin.dylib',
'libmux_mp4_plugin.dylib',
'libmux_mpjpeg_plugin.dylib',
'libmux_ogg_plugin.dylib',
'libmux_ps_plugin.dylib',
'libmux_ts_plugin.dylib',
'libmux_wav_plugin.dylib',
'libpacketizer_copy_plugin.dylib',
'libpacketizer_dirac_plugin.dylib',
'libpacketizer_flac_plugin.dylib',
'libpacketizer_h264_plugin.dylib',
'libpacketizer_mlp_plugin.dylib',
'libpacketizer_mpeg4audio_plugin.dylib',
'libpacketizer_mpeg4video_plugin.dylib',
'libpacketizer_mpegvideo_plugin.dylib',
'libpacketizer_vc1_plugin.dylib',
'libi420_rgb_sse2_plugin.dylib',
'libi420_yuy2_sse2_plugin.dylib',
'libi422_yuy2_sse2_plugin.dylib',
'libdecomp_plugin.dylib',
'libstream_filter_rar_plugin.dylib',
'libstream_filter_record_plugin.dylib',
'libvisual_plugin.dylib',
]
VLC_SEARCH_PATH=[
@@ -199,16 +199,11 @@ QT_PLUGINS = [
'imageformats/libqmng.dylib',
]
SNORE_PLUGINS = [
'libsnore_backend_growl.so',
'libsnore_backend_osxnotificationcenter.so',
]
TOMAHAWK_PLUGINS = [
'libtomahawk_account_xmpp.dylib',
'libtomahawk_account_xmpp.so',
'libtomahawk_account_google.so',
'libtomahawk_account_twitter.so',
'libtomahawk_account_zeroconf.so',
'libtomahawk_account_hatchet.so',
'libtomahawk_infoplugin_adium.so',
'libtomahawk_infoplugin_charts.so',
'libtomahawk_infoplugin_discogs.so',
@@ -218,21 +213,13 @@ TOMAHAWK_PLUGINS = [
'libtomahawk_infoplugin_musixmatch.so',
'libtomahawk_infoplugin_newreleases.so',
'libtomahawk_infoplugin_rovi.so',
'libtomahawk_infoplugin_snorenotify.so',
'libtomahawk_infoplugin_spotify.so',
'libtomahawk_viewpage_dashboard.so',
# 'libtomahawk_viewpage_networkactivity.so',
'libtomahawk_viewpage_whatshot.so',
'libtomahawk_viewpage_whatsnew_0_8.so',
]
QT_PLUGINS_SEARCH_PATH=[
'/usr/local/Cellar/qt/4.8.6/plugins',
'/usr/local/Cellar/qt/4.8.4/plugins',
]
SNORE_PLUGINS_SEARCH_PATH=[
'/usr/local/Cellar/snorenotify/HEAD/lib/libsnore',
]
class Error(Exception):
pass
@@ -250,10 +237,6 @@ class CouldNotFindQtPluginError(Error):
pass
class CouldNotFindSnorePluginError(Error):
pass
class CouldNotFindVLCPluginError(Error):
pass
@@ -262,10 +245,12 @@ class CouldNotFindScriptPluginError(Error):
pass
if len(sys.argv) < 2:
print 'Usage: %s <bundle.app>' % sys.argv[0]
bundle_dir = sys.argv[1]
bundle_name = os.path.basename(bundle_dir).split('.')[0]
commands = []
@@ -273,10 +258,6 @@ commands = []
binary_dir = os.path.join(bundle_dir, 'Contents', 'MacOS')
frameworks_dir = os.path.join(bundle_dir, 'Contents', 'Frameworks')
commands.append(['mkdir', '-p', frameworks_dir])
vlcplugins_dir = os.path.join(frameworks_dir, 'vlc', 'plugins')
commands.append(['mkdir', '-p', vlcplugins_dir])
snoreplugins_dir = os.path.join(binary_dir, 'libsnore')
commands.append(['mkdir', '-p', snoreplugins_dir])
resources_dir = os.path.join(bundle_dir, 'Contents', 'Resources')
commands.append(['mkdir', '-p', resources_dir])
plugins_dir = os.path.join(bundle_dir, 'Contents', 'qt-plugins')
@@ -388,12 +369,12 @@ def FixLibrary(path):
for library in broken_libs['libs']:
FixLibraryInstallPath(library, new_path)
def FixVLCPlugin(abs_path):
def FixVLCPlugin(abs_path, subdir):
broken_libs = GetBrokenLibraries(abs_path)
FixAllLibraries(broken_libs)
#print "Copying plugin....%s %s %s" % (plugins_dir, subdir, os.path.join(abs_path.split('/')[-2:]))
new_path = os.path.join(vlcplugins_dir, os.path.basename(abs_path))
new_path = os.path.join(plugins_dir, subdir, os.path.basename(abs_path))
args = ['mkdir', '-p', os.path.dirname(new_path)]
commands.append(args)
args = ['ditto', '--arch=i386', '--arch=x86_64', abs_path, new_path]
@@ -508,12 +489,6 @@ def FindQtPlugin(name):
return os.path.join(path, name)
raise CouldNotFindQtPluginError(name)
def FindSnorePlugin(name):
for path in SNORE_PLUGINS_SEARCH_PATH:
if os.path.exists(path):
if os.path.exists(os.path.join(path, name)):
return os.path.join(path, name)
raise CouldNotFindSnorePluginError(name)
def FindVLCPlugin(name):
for path in VLC_SEARCH_PATH:
@@ -525,14 +500,11 @@ def FindVLCPlugin(name):
FixBinary(binary)
for plugin in VLC_PLUGINS:
FixVLCPlugin(FindVLCPlugin(plugin))
FixVLCPlugin(FindVLCPlugin(plugin), '../plugins')
for plugin in TOMAHAWK_PLUGINS:
FixPlugin(plugin, '../MacOS')
for plugin in SNORE_PLUGINS:
FixPlugin(FindSnorePlugin(plugin), '../MacOS/libsnore')
try:
FixPlugin('tomahawk_crash_reporter', '../MacOS')
except:

View File

@@ -6,14 +6,12 @@ GenericName=Music Player
GenericName[de]=Musik Player
GenericName[fi]=Musiikkisoitin
GenericName[pl]=Odtwarzacz Muzyki
GenericName[ro]=Redare muzică
GenericName[se]=Musikspelare
TryExec=tomahawk
Exec=tomahawk %u
Comment=Tomahawk — Social Music Player
Comment[fi]=Tomahawk sosiaalinen musiikkisoitin
Comment[pl]=Tomahawk Społecznościowy Odtwarzacz Muzyki
Comment[ro]=Tomahawk Redare muzică în mod social
Comment[se]=Tomahawk — Den Sociala Musikspelaren
Icon=tomahawk
Terminal=false

View File

@@ -32,6 +32,3 @@ 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)
# phonon -_-
SET(Automoc4_DIR "/usr/lib64/automoc4/")

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 151 KiB

After

Width:  |  Height:  |  Size: 151 KiB

View File

@@ -68,6 +68,7 @@ rm -rvf \
services_discovery/ \
visualization/ \
control/ \
misc/ \
**/libi420* \
**/libi422* \
mux/ \

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.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.5 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 852 B

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 93 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

View File

@@ -1,15 +1,16 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="63px" height="63px" viewBox="0 0 63 63" 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>
<svg width="55px" height="55px" 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>account-none</title>
<description>Created with Sketch (http://www.bohemiancoding.com/sketch)</description>
<defs>
<radialGradient cx="50%" cy="0%" fx="50%" fy="0%" r="50%" id="radialGradient-1">
<stop stop-color="#000000" offset="0%"></stop>
<stop stop-color="#FFFFFF" offset="100%"></stop>
<radialGradient cx="50%" cy="42.571189%" fx="50%" fy="42.571189%" r="57.428813%" id="radialGradient-1">
<stop stop-color="rgb(113,114,112)" offset="0%"></stop>
<stop stop-color="rgb(60,60,60)" offset="100%"></stop>
</radialGradient>
</defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<path d="M39.4882425,50.1164605 L31,62 L22.2995024,49.8193034 C9.95141137,46.556924 1,36.9024496 1,25.5 C1,11.4167382 14.6553143,0 31.5,0 C48.3446857,0 62,11.4167382 62,25.5 C62,37.2723466 52.4583986,47.1814694 39.4882425,50.1164605 Z" id="Triangle-1" fill="#000000" sketch:type="MSShapeGroup"></path>
<path d="M4.5,62 L56.5,62" id="Line" stroke="url(#radialGradient-1)" stroke-width="2" stroke-linecap="square" sketch:type="MSShapeGroup"></path>
<g id="Page 1" fill="rgb(215,215,215)" fill-rule="evenodd">
<g id="g430" fill="rgb(0,0,0)">
<path d="M6.25636752,11.5187741 C4.20816486,14.5775092 3,18.3321999 3,22.3856982 C3,31.7567891 9.30999994,39.4618424 17.6929998,40.778919 L17.6929998,49.303531 C17.6929998,50.1410367 18.2039998,50.8957889 18.9839998,51.2088565 C19.2339998,51.3085596 19.4939998,51.356417 19.7519999,51.356417 C20.3029999,51.356417 20.8429998,51.1360733 21.2399999,50.7242996 L22.9542104,48.9393602 L30.5949994,40.98331 L35.5949994,40.98331 C45.0989991,40.98331 52.8309995,32.6411552 52.8309995,22.385698 C52.8319998,12.131227 45.0989981,3.78908268 35.5950003,3.78908268 L20.2360001,3.78908268 C14.488848,3.78908268 9.3896678,6.83958098 6.25636752,11.5187741 Z M6.25636752,11.5187741" id="path432" fill="url(#radialGradient-1)"></path>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

@@ -1,15 +1,16 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="63px" height="63px" viewBox="0 0 63 63" 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>
<svg width="55px" height="55px" 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>account-offline</title>
<description>Created with Sketch (http://www.bohemiancoding.com/sketch)</description>
<defs>
<radialGradient cx="50%" cy="0%" fx="50%" fy="0%" r="50%" id="radialGradient-1">
<stop stop-color="#000000" offset="0%"></stop>
<stop stop-color="#FFFFFF" offset="100%"></stop>
<radialGradient cx="50%" cy="40.9965298%" fx="50%" fy="40.9965298%" r="132.924116%" id="radialGradient-1">
<stop stop-color="rgb(254,255,254)" offset="0%"></stop>
<stop stop-color="rgb(178,177,177)" offset="100%"></stop>
</radialGradient>
</defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<path d="M39.4882425,50.1164605 L31,62 L22.2995024,49.8193034 C9.95141137,46.556924 1,36.9024496 1,25.5 C1,11.4167382 14.6553143,0 31.5,0 C48.3446857,0 62,11.4167382 62,25.5 C62,37.2723466 52.4583986,47.1814694 39.4882425,50.1164605 Z" id="Triangle-1" fill="#D6D6D6" sketch:type="MSShapeGroup"></path>
<path d="M4.5,62 L56.5,62" id="Line" stroke="url(#radialGradient-1)" stroke-width="2" stroke-linecap="square" sketch:type="MSShapeGroup"></path>
<g id="Page 1" fill="rgb(215,215,215)" fill-rule="evenodd">
<g id="g430" fill="rgb(0,0,0)">
<path d="M6.25636752,11.5187741 C4.20816486,14.5775092 3,18.3321999 3,22.3856982 C3,31.7567891 9.30999994,39.4618424 17.6929998,40.778919 L17.6929998,49.303531 C17.6929998,50.1410367 18.2039998,50.8957889 18.9839998,51.2088565 C19.2339998,51.3085596 19.4939998,51.356417 19.7519999,51.356417 C20.3029999,51.356417 20.8429998,51.1360733 21.2399999,50.7242996 L22.9542104,48.9393602 L30.5949994,40.98331 L35.5949994,40.98331 C45.0989991,40.98331 52.8309995,32.6411552 52.8309995,22.385698 C52.8319998,12.131227 45.0989981,3.78908268 35.5950003,3.78908268 L20.2360001,3.78908268 C14.488848,3.78908268 9.3896678,6.83958098 6.25636752,11.5187741 Z M6.25636752,11.5187741" id="path432" stroke="rgb(0,0,0)" stroke-width="0.25" fill="url(#radialGradient-1)"></path>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

@@ -1,15 +1,11 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="63px" height="63px" viewBox="0 0 63 63" 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>
<svg width="55px" height="55px" 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>account-online</title>
<description>Created with Sketch (http://www.bohemiancoding.com/sketch)</description>
<defs>
<radialGradient cx="50%" cy="0%" fx="50%" fy="0%" r="50%" id="radialGradient-1">
<stop stop-color="#000000" offset="0%"></stop>
<stop stop-color="#FFFFFF" offset="100%"></stop>
</radialGradient>
</defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<path d="M39.4882425,50.1164605 L31,62 L22.2995024,49.8193034 C9.95141137,46.556924 1,36.9024496 1,25.5 C1,11.4167382 14.6553143,0 31.5,0 C48.3446857,0 62,11.4167382 62,25.5 C62,37.2723466 52.4583986,47.1814694 39.4882425,50.1164605 Z" id="Triangle-1" fill="#198DE7" sketch:type="MSShapeGroup"></path>
<path d="M4.5,62 L56.5,62" id="Line" stroke="url(#radialGradient-1)" stroke-width="2" stroke-linecap="square" sketch:type="MSShapeGroup"></path>
<defs></defs>
<g id="Page 1" fill="rgb(215,215,215)" fill-rule="evenodd">
<g id="g430" fill="rgb(113,175,250)">
<path d="M5.25636752,11.5187741 C3.20816486,14.5775092 2,18.3321999 2,22.3856982 C2,31.7567891 8.30999994,39.4618424 16.6929998,40.778919 L16.6929998,49.303531 C16.6929998,50.1410367 17.2039998,50.8957889 17.9839998,51.2088565 C18.2339998,51.3085596 18.4939998,51.356417 18.7519999,51.356417 C19.3029999,51.356417 19.8429998,51.1360733 20.2399999,50.7242996 L21.9542104,48.9393602 L29.5949994,40.98331 L34.5949994,40.98331 C44.0989991,40.98331 51.8309995,32.6411552 51.8309995,22.385698 C51.8319998,12.131227 44.0989981,3.78908268 34.5950003,3.78908268 L19.2360001,3.78908268 C13.488848,3.78908268 8.3896678,6.83958098 5.25636752,11.5187741 Z M5.25636752,11.5187741" id="path432"></path>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 KiB

After

Width:  |  Height:  |  Size: 19 KiB

View File

@@ -1,17 +1,14 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="62px" height="62px" viewBox="0 0 62 62" 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>
<svg width="51px" height="51px" 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>account-settings</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="account-settings" sketch:type="MSLayerGroup" transform="translate(1.000000, 1.000000)" fill="#000000">
<g id="Page-1" sketch:type="MSShapeGroup">
<g id="account-settings">
<g id="Page-1">
<path d="M51.0600062,15.0759327 L40.5857196,25.552555 L37.0910209,22.5074737 L47.7906208,11.8039501 L49.2134624,8.24707031 L53.5493811,5.02172353 L57.8461191,9.31341677 L54.625705,13.6433753 L51.0600062,15.0759327 L51.0600062,15.0759327 Z M57.345307,44.205397 C61.0555096,47.9156369 61.0542764,53.9534837 57.3428584,57.6662143 C55.5440824,59.4649897 53.152654,60.4543774 50.6106132,60.4543774 C48.0685724,60.4543774 45.6795929,59.4649898 43.8428582,57.6258061 L21.5938785,32.0829482 C19.524491,32.5115197 17.4085725,32.7368258 15.4457154,32.7368258 L15.4444909,32.7368258 C10.7657158,32.7368258 7.02612397,31.4694787 4.62734847,29.0719277 C0.596328,25.0384588 -1.14979445,19.289479 -0.0404066755,13.6886628 C0.0195933184,13.3825403 0.242450461,13.1388669 0.536328,13.0507036 C0.831430004,12.9613158 1.15102184,13.0409077 1.37143002,13.2600913 L8.67183806,20.5580505 L15.732246,22.0188669 L21.6955112,16.0580505 L20.2334702,8.99641758 L12.9330623,1.69478515 C12.7151031,1.47805047 12.6355113,1.15600963 12.7248991,0.862132078 C12.8155113,0.565805547 13.0591848,0.345397384 13.3628582,0.284172894 C14.4538787,0.068662702 15.5730623,-0.0427658706 16.6885727,-0.0427658706 C21.2436744,-0.0427658706 25.5269396,1.7315197 28.7448988,4.9531524 C33.6391845,9.844989 32.4281641,18.6380505 31.7571437,21.9172342 L37.2820418,26.7294791 L37.9702051,27.3294791 L57.345307,44.205397 L57.345307,44.205397 Z M52.2930535,52.6138991 C51.3648901,53.5432869 49.8624411,53.5432869 48.9342779,52.6151236 L48.9330534,52.6138991 C48.0061146,51.6857358 48.0061146,50.1808379 48.9330534,49.2538991 C49.8612167,48.3281848 51.3648901,48.3281848 52.2930534,49.2563481 L52.2942779,49.2563481 C53.2199968,50.1831553 53.2199968,51.6856664 52.2930535,52.6138991 L52.2930535,52.6138991 L52.2930535,52.6138991 Z M20.401219,36.7042013 L25.5342795,42.6809353 C26.3816264,43.5295067 26.3816264,44.9046087 25.5342795,45.7519556 L11.7244837,59.5605276 C10.8746879,60.40665 9.50081035,60.40665 8.65346344,59.5605276 L3.1016268,54.0062422 C2.2542799,53.1564463 2.2542799,51.7825687 3.1016268,50.9364463 L17.3314231,36.7042013 C18.1799945,35.8568543 19.553872,35.8568543 20.401219,36.7042013 L20.401219,36.7042013 L20.401219,36.7042013 Z" id="Shape"></path>
</g>
</g>
</g>
</g>
<defs>
<linearGradient x1="50%" y1="0%" x2="50%" y2="173.920641%" id="linearGradient-1">
<stop stop-color="rgb(123,125,121)" 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="M42.6990051,13.3120117 L34.1450043,21.8679199 L31.2910004,19.3811035 L40.029007,10.6398926 L41.1909943,7.73510742 L44.7319946,5.10107422 L48.2409973,8.60595703 L45.6109924,12.1420898 Z M47.8320007,37.1010742 C50.8619995,40.1311035 50.8609924,45.0620117 47.830001,48.094075 C46.3610006,49.5630749 44.4080008,50.3710749 42.3320008,50.3710749 C40.2560008,50.3710749 38.3050009,49.563075 36.8050009,48.061075 L18.6350008,27.2010744 C16.945001,27.5510744 15.2170009,27.7350744 13.6140009,27.7350744 L13.6130009,27.7350744 C9.79200126,27.7350744 6.73800124,26.7000743 4.77900125,24.7420743 C1.4870012,21.4480747 0.0610011965,16.7530745 0.967001215,12.1790746 C1.01600121,11.9290746 1.19800121,11.7300746 1.4380012,11.6580746 C1.67900117,11.5850746 1.94000117,11.6500746 2.12000118,11.8290746 L8.08200108,17.7890746 L13.8480009,18.9820746 L18.7180008,14.1140746 L17.5240007,8.34707436 L11.5620009,2.38407454 C11.3840009,2.20707455 11.3190009,1.94407453 11.3920009,1.70407453 C11.4660009,1.46207453 11.6650009,1.28207453 11.9130009,1.23207453 C12.8040009,1.05607454 13.7180009,0.965074539 14.629001,0.965074539 C18.3490008,0.965074539 21.8470007,2.41407442 24.4750007,5.04507446 C28.4720007,9.04007435 27.4830007,16.2210746 26.9350007,18.8990746 L31.4470008,22.8290746 L32.0090008,23.3190746 Z M43.7059937,43.9680176 C42.9479936,44.7270176 41.7209936,44.7270176 40.9629936,43.9690176 L40.9619936,43.9680176 C40.2049936,43.2100176 40.2049936,41.9810176 40.9619936,41.2240176 C41.7199936,40.4680176 42.9479936,40.4680176 43.7059936,41.2260176 L43.7069936,41.2260176 C44.4629974,41.9829102 44.4629974,43.2099609 43.7059937,43.9680176 Z M17.6609955,30.9750977 L21.8529949,35.8560972 C22.5449949,36.5490971 22.5449949,37.6720971 21.8529949,38.3640971 L10.574995,49.6410975 C9.88099515,50.3320975 8.75899512,50.3320975 8.06699514,49.6410975 L3.53299522,45.1050978 C2.84099525,44.4110978 2.84099525,43.2890978 3.53299522,42.5980978 L15.1539955,30.9750977 C15.8469955,30.2830977 16.9689955,30.2830977 17.6609955,30.9750977 Z M17.6609955,30.9750977" id="Shape" fill="url(#linearGradient-1)"></path>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

@@ -1,77 +1,20 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="60px" height="60px" viewBox="0 0 60 60" 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>
<title>add-contact</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="icon_Connect1" sketch:type="MSLayerGroup">
<g id="Layer_2"></g>
<g id="Layer_3"></g>
<g id="Layer_4"></g>
<g id="Layer_5"></g>
<g id="Layer_6"></g>
<g id="Layer_8"></g>
<g id="Layer_9"></g>
<g id="Layer_10"></g>
<g id="Layer_11"></g>
<g id="Layer_12"></g>
<g id="Layer_13"></g>
<g id="Layer_14"></g>
<g id="Layer_15"></g>
<g id="Layer_16"></g>
<g id="Layer_17"></g>
<g id="Layer_18"></g>
<g id="Layer_19"></g>
<g id="Layer_20"></g>
<g id="Layer_21"></g>
<g id="Layer_24"></g>
<g id="Layer_25"></g>
<g id="Layer_26"></g>
<g id="Layer_27"></g>
<g id="Layer_28"></g>
<g id="Layer_29"></g>
<g id="Layer_47"></g>
<g id="Layer_30"></g>
<g id="Layer_31"></g>
<g id="Layer_32"></g>
<g id="Layer_33"></g>
<g id="Layer_34"></g>
<g id="Layer_35"></g>
<g id="Layer_36"></g>
<g id="Layer_37"></g>
<g id="Layer_38"></g>
<g id="Layer_39"></g>
<g id="Layer_40"></g>
<g id="Layer_41"></g>
<g id="Layer_42"></g>
<g id="Layer_43"></g>
<g id="Layer_44"></g>
<g id="Layer_45"></g>
<g id="Layer_46"></g>
<g id="Layer_48"></g>
<g id="Layer_49"></g>
<g id="Layer_51"></g>
<g id="Layer_52"></g>
<g id="Layer_53"></g>
<g id="Layer_54" fill="#000000" sketch:type="MSShapeGroup">
<g id="Group">
<path d="M36,32.25 C35.25,33 34.5,33.375 34.125,34.125 C31.875,36 30,38.25 28.125,40.125 C25.125,37.5 22.5,34.5 19.875,31.875 L21.375,30.375 L27.75,24 C28.5,23.25 28.5,22.125 27.75,21.375 C27.375,20.625 26.25,20.625 25.5,21.375 C25.125,21.75 24.75,22.125 24.375,22.125 L16.875,29.625 C16.125,28.5 15.375,27.75 14.25,26.625 C12,29.25 9.375,31.5 7.5,34.125 C5.625,36.375 5.25,39 5.625,42 C5.625,44.25 6.75,46.5 7.875,48.375 L0.375,55.875 L4.125,59.625 L11.625,52.125 C16.125,54.75 20.625,55.125 25.5,52.5 C28.875,50.625 30.75,47.625 33.75,45 C32.625,44.25 31.875,43.125 30.75,42.375 L34.125,39 C35.625,37.5 37.125,36 39,34.5 C39.75,33.75 40.125,32.625 39.375,31.875 C37.875,31.5 36.75,31.5 36,32.25 L36,32.25 Z" id="Shape"></path>
<path d="M60,3.75 L56.25,0 L48.75,7.5 C48.375,7.5 48.375,7.125 48,7.125 C43.5,4.875 38.625,4.5 34.125,7.5 C31.5,9.375 29.25,12 27,14.25 L45.75,33 C47.625,31.125 49.5,29.625 51.375,27.375 C53.625,24.75 54.75,21.375 54.375,18 C54.375,15.75 53.625,13.5 52.125,11.625 L60,3.75 L60,3.75 Z" id="Shape"></path>
</g>
</g>
<g id="Layer_55"></g>
<g id="Layer_56"></g>
<g id="Layer_57"></g>
<g id="Layer_58"></g>
<g id="Layer_59"></g>
<g id="Layer_60"></g>
<g id="Layer_61"></g>
<g id="Layer_62"></g>
<g id="Layer_63"></g>
<g id="Layer_64"></g>
<g id="Layer_65"></g>
<g id="Layer_66"></g>
<g id="Layer_50"></g>
<defs>
<linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="linearGradient-1">
<stop stop-color="rgb(95,88,88)" offset="0%"></stop>
<stop stop-color="rgb(34,31,31)" offset="100%"></stop>
</linearGradient>
<linearGradient x1="50%" y1="0%" x2="50%" y2="173.920641%" id="linearGradient-2">
<stop stop-color="rgb(123,125,121)" 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" stroke="rgb(150,150,150)" stroke-width="1" fill="url(#linearGradient-1)">
<path d="M41.7720032,33.5539551 C35.769989,34.1109619 31.052002,39.1710205 31.0530045,45.3179558 C31.0530045,47.0919557 31.4560045,48.7689556 32.1580045,50.2799557 L24.0980041,50.2799557 C24.0580041,50.2919557 24.0180041,50.2979557 23.9740041,50.2979557 L9.86000377,50.2979557 C9.73200378,50.2979557 9.60800378,50.2459557 9.51900378,50.1529557 C9.42900378,50.0609557 9.37900378,49.9379557 9.38200378,49.8099557 C9.5860033,40.1639548 13.6520033,32.344955 20.2560034,28.897955 C20.4300034,28.808955 20.6390034,28.832955 20.7870034,28.958955 C22.2620035,30.2229551 24.0390035,31.1019551 25.9240035,31.4979551 C25.9260033,31.4979551 26.8810034,31.680955 28.2380034,31.680955 C29.0350033,31.680955 29.8120033,31.618955 30.5480033,31.496955 C32.4120032,31.1009549 34.1890031,30.221955 35.6620032,28.9589549 C35.8100032,28.8329549 36.0190032,28.8079549 36.1930032,28.8979549 C38.3370032,30.0169551 40.2090032,31.6009551 41.7720032,33.5539551 Z M28.2260132,28.9150391 C22.1520081,28.9150391 17.2109985,23.8580322 17.211013,17.643039 C17.211013,15.2640388 17.9400131,13.0580389 19.1740131,11.2380388 C19.2140131,11.1140388 19.2780131,10.9950388 19.3690131,10.8910388 C19.4080131,10.8460388 19.4590131,10.8220388 19.5040131,10.7870388 C21.5200133,8.10803878 24.6740131,6.37203884 28.2260132,6.37203884 C34.3000126,6.37203884 39.2390127,11.4290385 39.2390127,17.6430387 C39.2390127,23.8580389 34.2990131,28.9150391 28.2260132,28.9150391 Z M44.8389893,36.3830566 C50.303009,36.3830566 54.7520142,40.8299561 54.7519894,46.2940569 C54.7519894,51.7610569 50.3029895,56.207057 44.8389893,56.207057 C39.3719893,56.207057 34.9259892,51.7610569 34.9259892,46.2940569 C34.9259892,40.8300567 39.3719893,36.3830566 44.8389893,36.3830566 Z M44.8389893,54.6779785 C40.2149892,54.6779785 36.453989,50.9169786 36.453989,46.2939787 C36.453989,41.6719785 40.2149889,37.9119787 44.8389893,37.9119787 C49.4609895,37.9119787 53.2209892,41.6719787 53.2209892,46.2939787 C53.2210083,50.9169922 49.4609985,54.6779785 44.8389893,54.6779785 Z M46.1209874,45.1409912 L46.1209874,41.3059912 C46.1209874,40.9709912 45.8499874,40.6989912 45.5169874,40.6989912 L44.3059875,40.6989912 C43.9749875,40.6989912 43.7019875,40.9709912 43.7019875,41.3059912 L43.7019875,45.1409912 L40.0379875,45.1409912 C39.7019875,45.1409912 39.4319875,45.4119912 39.4319875,45.7469912 L39.4319875,46.8789912 C39.4319875,47.2139912 39.7029875,47.4849912 40.0379875,47.4849912 L43.7019875,47.4849912 L43.7019875,51.3579911 C43.7019875,51.6919911 43.9749875,51.9629911 44.3059875,51.9629911 L45.5169874,51.9629911 C45.8509874,51.9629911 46.1209874,51.6919911 46.1209874,51.3579911 L46.1209874,47.4849912 L49.7869873,47.4849912 C50.1209873,47.4849912 50.3919873,47.2139912 50.3919873,46.8789912 L50.3919873,45.7469912 C50.3930054,45.4110107 50.1210022,45.1409912 49.7869873,45.1409912 Z M46.1209874,45.1409912" id="Shape" fill="url(#linearGradient-2)"></path>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.3 KiB

After

Width:  |  Height:  |  Size: 68 KiB

View File

@@ -1,82 +1,10 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="68px" height="68px" viewBox="0 0 68 68" 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>
<svg width="82px" height="82px" 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>add</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="list-remove" sketch:type="MSLayerGroup" transform="translate(34.500000, 33.500000) rotate(-45.000000) translate(-34.500000, -33.500000) translate(6.000000, 5.000000)">
<g id="Page-1">
<g id="list-remove">
<g id="Page-1">
<g id="icon_Cross">
<g id="Layer_2"></g>
<g id="Layer_3"></g>
<g id="Layer_4"></g>
<g id="Layer_5"></g>
<g id="Layer_6"></g>
<g id="Layer_8"></g>
<g id="Layer_9"></g>
<g id="Layer_10"></g>
<g id="Layer_11"></g>
<g id="Layer_12"></g>
<g id="Layer_13"></g>
<g id="Layer_14"></g>
<g id="Layer_15"></g>
<g id="Layer_16"></g>
<g id="Layer_17"></g>
<g id="Layer_18"></g>
<g id="Layer_19"></g>
<g id="Layer_20"></g>
<g id="Layer_21"></g>
<g id="Layer_24"></g>
<g id="Layer_25"></g>
<g id="Layer_26"></g>
<g id="Layer_27"></g>
<g id="Layer_28"></g>
<g id="Layer_29"></g>
<g id="Layer_47"></g>
<g id="Layer_30"></g>
<g id="Layer_31"></g>
<g id="Layer_32"></g>
<g id="Layer_33"></g>
<g id="Layer_34"></g>
<g id="Layer_35"></g>
<g id="Layer_36"></g>
<g id="Layer_37"></g>
<g id="Layer_38"></g>
<g id="Layer_39"></g>
<g id="Layer_40"></g>
<g id="Layer_41"></g>
<g id="Layer_42"></g>
<g id="Layer_43"></g>
<g id="Layer_44" fill="#000000" sketch:type="MSShapeGroup">
<path d="M56.6666667,9.33333333 L47.3333333,0 L28,18.6666667 L9.33333333,0 L0,9.33333333 L18.6666667,28 L0,47.3333333 L9.33333333,56.6666667 L28,38 L47.3333333,56.6666667 L56.6666667,47.3333333 L38,28 L56.6666667,9.33333333 L56.6666667,9.33333333 Z" id="Shape"></path>
</g>
<g id="Layer_45"></g>
<g id="Layer_46"></g>
<g id="Layer_48"></g>
<g id="Layer_49"></g>
<g id="Layer_51"></g>
<g id="Layer_52"></g>
<g id="Layer_53"></g>
<g id="Layer_54"></g>
<g id="Layer_55"></g>
<g id="Layer_56"></g>
<g id="Layer_57"></g>
<g id="Layer_58"></g>
<g id="Layer_59"></g>
<g id="Layer_60"></g>
<g id="Layer_61"></g>
<g id="Layer_62"></g>
<g id="Layer_63"></g>
<g id="Layer_64"></g>
<g id="Layer_65"></g>
<g id="Layer_66"></g>
<g id="Layer_50"></g>
</g>
</g>
</g>
</g>
</g>
<g id="Page 1" fill="rgb(215,215,215)" fill-rule="evenodd">
<path d="M41,71 C57.5685433,71 71,57.5685433 71,41 C71,24.4314567 57.5685433,11 41,11 C24.4314567,11 11,24.4314567 11,41 C11,57.5685433 24.4314567,71 41,71 Z M41,71" id="Oval 1" fill="rgb(154,170,198)"></path>
<path d="M45.1402321,37.4080257 L45.1402321,25.8322088 C45.1402321,24.8210227 44.3242652,24 43.3216195,24 L39.6753614,24 C38.6787375,24 37.8567488,24.8210228 37.8567488,25.8322088 L37.8567488,37.4080257 L26.8246346,37.4080257 C25.812956,37.4080257 25,38.22603 25,39.2372161 L25,42.6541194 C25,43.6653056 25.8159669,44.4833098 26.8246346,44.4833098 L37.8567488,44.4833098 L37.8567488,56.1738281 C37.8567488,57.1819957 38.6787376,58 39.6753614,58 L43.3216195,58 C44.3272762,58 45.1402321,57.1819957 45.1402321,56.1738281 L45.1402321,44.4833098 L56.1783677,44.4833098 C57.1840244,44.4833098 57.9999914,43.6653056 57.9999914,42.6541194 L57.9999914,39.2372161 C58.0030567,38.2230705 57.1840693,37.4080257 56.1783677,37.4080257 L45.1402321,37.4080257 Z M45.1402321,37.4080257" id="Shape" fill="rgb(254,255,254)"></path>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 4.3 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.9 KiB

After

Width:  |  Height:  |  Size: 19 KiB

View File

@@ -1,74 +1,16 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="60px" height="60px" viewBox="0 0 60 60" 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>
<svg width="79px" height="79px" 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>advanced-settings</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="icon_Settings" sketch:type="MSLayerGroup">
<g id="Layer_2"></g>
<g id="Layer_3"></g>
<g id="Layer_4"></g>
<g id="Layer_5"></g>
<g id="Layer_6"></g>
<g id="Layer_8"></g>
<g id="Layer_9"></g>
<g id="Layer_10"></g>
<g id="Layer_11"></g>
<g id="Layer_12"></g>
<g id="Layer_13"></g>
<g id="Layer_14"></g>
<g id="Layer_15"></g>
<g id="Layer_16"></g>
<g id="Layer_17"></g>
<g id="Layer_18"></g>
<g id="Layer_19"></g>
<g id="Layer_20"></g>
<g id="Layer_21"></g>
<g id="Layer_24"></g>
<g id="Layer_25"></g>
<g id="Layer_26"></g>
<g id="Layer_27"></g>
<g id="Layer_28"></g>
<g id="Layer_29"></g>
<g id="Layer_47"></g>
<g id="Layer_30"></g>
<g id="Layer_31"></g>
<g id="Layer_32"></g>
<g id="Layer_33"></g>
<g id="Layer_34"></g>
<g id="Layer_35"></g>
<g id="Layer_36"></g>
<g id="Layer_37"></g>
<g id="Layer_38"></g>
<g id="Layer_39"></g>
<g id="Layer_40"></g>
<g id="Layer_41"></g>
<g id="Layer_42"></g>
<g id="Layer_43"></g>
<g id="Layer_44"></g>
<g id="Layer_45"></g>
<g id="Layer_46"></g>
<g id="Layer_48"></g>
<g id="Layer_49"></g>
<g id="Layer_51"></g>
<g id="Layer_52"></g>
<g id="Layer_53"></g>
<g id="Layer_54"></g>
<g id="Layer_55"></g>
<g id="Layer_56"></g>
<g id="Layer_57"></g>
<g id="Layer_58"></g>
<g id="Layer_59"></g>
<g id="Layer_60"></g>
<g id="Layer_61"></g>
<g id="Layer_62"></g>
<g id="Layer_63" fill="#000000" sketch:type="MSShapeGroup">
<path d="M39.5,9.5 C39,9.5 38.5,9 38,9 C37.5,9 37,8.5 36.5,8.5 L34.5,0.5 C31,1.38777878e-17 28,1.38777878e-17 24.5,0.5 L22.5,9 C21.5,9 20.5,9.5 19.5,10 L12,6 C9.5,8 7,10 5.5,13 L10,20.5 C10,21 9.5,21.5 9.5,22 C9.5,22.5 9,23 9,23.5 L0.5,25.5 C1.38777878e-17,29 1.38777878e-17,32 0.5,35.5 L9,37.5 C9,38.5 9.5,39.5 10,40.5 L6,48 C8,50.5 10.5,53 13,55 L20.5,50.5 C21,50.5 21.5,51 22,51 C22.5,51 23,51.5 23.5,51.5 L26,59.5 C29.5,60 32.5,60 35.5,59.5 L37.5,51 L40.5,49.5 L48,53.5 C50.5,51.5 53,49 55,46.5 L50.5,39 C50.5,38.5 51,38 51,37.5 C51,37 51.5,36.5 51.5,36 L59.5,33.5 C60,30 60,27 59.5,24 L51,22 L49.5,19 L53.5,11.5 C51.5,9 49,6.5 46.5,4.5 L39.5,9.5 L39.5,9.5 Z M40.5,34 C38,39.5 31.5,42.5 26,40.5 C20.5,38 17.5,31.5 19.5,26 C21.5,20.5 28,17.5 34,20 C39.5,22 42.5,28.5 40.5,34 L40.5,34 Z" id="Shape"></path>
</g>
<g id="Layer_64"></g>
<g id="Layer_65"></g>
<g id="Layer_66"></g>
<g id="Layer_50"></g>
<defs>
<linearGradient x1="50%" y1="0%" x2="50%" y2="173.920641%" id="linearGradient-1">
<stop stop-color="rgb(123,125,121)" 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" stroke="rgb(150,150,150)" stroke-width="1">
<path d="M77.0386845,38.7883065 L71.392233,37.998629 C71.2219104,34.1354033 70.388362,30.4270161 68.9173943,26.9457258 L73.6038458,23.410242 C73.9057813,23.1779839 74.1070716,22.8321774 74.1612652,22.4579839 C74.2154588,22.0786291 74.112233,21.6915323 73.8825555,21.3844355 L67.3612653,12.7573389 C67.1315879,12.4528228 66.7883621,12.2541131 66.4090073,12.1973389 C66.0244912,12.1431454 65.6451363,12.2463712 65.3406202,12.4760486 L61.0154589,15.7457259 C58.1509427,13.1031452 54.8786847,11.0283067 51.2606203,9.56766127 L52.0322332,4.03217745 C52.0864267,3.65282261 51.9832009,3.26830647 51.7561041,2.96120973 C51.5264267,2.6566936 51.1832009,2.45798394 50.8064267,2.40120975 L40.1044916,0.914758202 C39.7070723,0.860564654 39.3380401,0.961209812 39.0335239,1.19346789 C38.7290078,1.42056466 38.5302981,1.76637112 38.4735239,2.14572592 L37.7638465,7.28120981 C33.7715883,7.44895174 29.9419113,8.32637111 26.3522338,9.89540339 L23.0877177,5.58314532 C22.6077177,4.94830659 21.7070725,4.82443564 21.0670725,5.301855 L12.4477179,11.8128227 C12.1432018,12.0450808 11.9419115,12.3883066 11.8877179,12.7650808 C11.8335244,13.1444356 11.9367502,13.5289518 12.1664276,13.8360485 L15.2528792,17.9263712 C12.5767503,20.8889518 10.5173952,24.233468 9.11094341,27.8954032 L3.70707218,27.1470161 C3.3251367,27.0928226 2.9457819,27.1960484 2.63868508,27.4231452 C2.3367496,27.6554033 2.13287864,27.9960484 2.08126571,28.3754032 L0.599975382,39.0747578 C0.489007636,39.8644352 1.03868506,40.5921772 1.82836251,40.7005643 L7.0541692,41.4283062 C7.28900791,45.3354031 8.21029827,49.1005644 9.80771767,52.6566929 L5.25804022,56.0941123 C4.6283628,56.5741123 4.49674994,57.4773381 4.98191119,58.1147574 L11.4954594,66.734112 C11.9754594,67.3715314 12.8786852,67.4902411 13.5109433,67.0128217 L17.9548143,63.6605636 C20.8193305,66.1870151 24.1328789,68.202499 27.6425561,69.5599185 L26.8322335,75.4592733 C26.7212657,76.2489507 27.2761045,76.9741121 28.0632012,77.0850798 L38.7625558,78.5715313 C38.827072,78.5818539 38.8967494,78.5870152 38.9638461,78.5870152 C39.6709429,78.5870152 40.2902978,78.0657248 40.3909429,77.3457249 L41.1961042,71.6089505 C44.9793299,71.3895957 48.6335234,70.5224989 52.0838457,69.0257246 L55.769007,73.9031439 C56.2541682,74.5405633 57.157394,74.6566923 57.7896521,74.1844342 L66.4167487,67.678628 C66.7238455,67.4489506 66.9225552,67.1005635 66.9767487,66.7237893 C67.0309422,66.3444345 66.9277164,65.9599183 66.7006197,65.6528216 L63.1728778,60.981854 C65.7122327,58.1766927 67.7070712,54.9947574 69.113523,51.5005636 L75.1522325,52.3392732 C75.9161035,52.4347571 76.6696519,51.8979829 76.7832003,51.1083055 L78.2722326,40.4063704 C78.3779927,39.6272051 77.82844,38.8966734 77.0386845,38.7883065 C77.0386845,38.7883065 77.82844,38.8966734 77.0386845,38.7883065 L77.0386845,38.7883065 M47.570281,50.5303679 C45.1444746,52.3652067 42.2541521,53.3355293 39.2218942,53.3355293 C34.8270556,53.3355293 30.785765,51.3303679 28.1406035,47.8284323 C23.5341519,41.730368 24.7496357,33.0206906 30.8554423,28.4064968 C33.2812487,26.571658 36.1715712,25.6039162 39.2012487,25.6039162 C43.5960872,25.6039162 47.6296358,27.6064969 50.2696358,31.1006907 C54.8812689,37.2012349 53.6734816,45.921308 47.570281,50.5303679 C47.570281,50.5303679 53.6734816,45.921308 47.570281,50.5303679 L47.570281,50.5303679" id="Shape" fill="url(#linearGradient-1)"></path>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 68 KiB

View File

@@ -1,78 +1,20 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="60px" height="60px" viewBox="0 0 60 60" 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>
<svg width="365px" height="365px" 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-icon</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="album-icon" sketch:type="MSLayerGroup">
<g id="Page-1">
<g id="icon_Playlist">
<g id="Layer_2"></g>
<g id="Layer_3"></g>
<g id="Layer_4"></g>
<g id="Layer_5"></g>
<g id="Layer_6"></g>
<g id="Layer_8"></g>
<g id="Layer_9"></g>
<g id="Layer_10"></g>
<g id="Layer_11"></g>
<g id="Layer_12"></g>
<g id="Layer_13"></g>
<g id="Layer_14"></g>
<g id="Layer_15"></g>
<g id="Layer_16"></g>
<g id="Layer_17"></g>
<g id="Layer_18"></g>
<g id="Layer_19"></g>
<g id="Layer_20"></g>
<g id="Layer_21"></g>
<g id="Layer_24"></g>
<g id="Layer_25"></g>
<g id="Layer_26"></g>
<g id="Layer_27"></g>
<g id="Layer_28"></g>
<g id="Layer_29"></g>
<g id="Layer_47"></g>
<g id="Layer_30"></g>
<g id="Layer_31"></g>
<g id="Layer_32"></g>
<g id="Layer_33"></g>
<g id="Layer_34"></g>
<g id="Layer_35"></g>
<g id="Layer_36"></g>
<g id="Layer_37"></g>
<g id="Layer_38"></g>
<g id="Layer_39"></g>
<g id="Layer_40" fill="#000000" sketch:type="MSShapeGroup">
<path d="M30,0 C13.5,0 0,13.5 0,30 C0,46.5 13.5,60 30,60 C46.5,60 60,46.5 60,30 C59.5,13.5 46.5,0 30,0 L30,0 L30,0 Z M30,40 C24.5,40 20,35.5 20,30 C20,24.5 24.5,20 30,20 C35.5,20 39.5,24.5 39.5,30 C39.5,35.5 35,40 30,40 L30,40 L30,40 Z" id="Shape"></path>
</g>
<g id="Layer_41"></g>
<g id="Layer_42"></g>
<g id="Layer_43"></g>
<g id="Layer_44"></g>
<g id="Layer_45"></g>
<g id="Layer_46"></g>
<g id="Layer_48"></g>
<g id="Layer_49"></g>
<g id="Layer_51"></g>
<g id="Layer_52"></g>
<g id="Layer_53"></g>
<g id="Layer_54"></g>
<g id="Layer_55"></g>
<g id="Layer_56"></g>
<g id="Layer_57"></g>
<g id="Layer_58"></g>
<g id="Layer_59"></g>
<g id="Layer_60"></g>
<g id="Layer_61"></g>
<g id="Layer_62"></g>
<g id="Layer_63"></g>
<g id="Layer_64"></g>
<g id="Layer_65"></g>
<g id="Layer_66"></g>
<g id="Layer_50"></g>
</g>
</g>
<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="M183,243 C216.137087,243 243,216.137087 243,183 C243,149.862913 216.137087,123 183,123 C149.862913,123 123,149.862913 123,183 C123,216.137087 149.862913,243 183,243 Z M182.5,360 C84.4694521,360 5,280.530548 5,182.5 C5,84.4694521 84.4694521,5 182.5,5 C280.530548,5 360,84.4694521 360,182.5 C360,280.530548 280.530548,360 182.5,360 Z M182.5,360" id="path-2"></path>
</defs>
<g id="Page 1" fill="rgb(215,215,215)" fill-rule="evenodd">
<g id="Group">
<use id="Oval 1" stroke="rgb(49,54,58)" stroke-width="5" 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="M183,243 C149.862913,243 123,216.137087 123,183 C123,149.862913 149.862913,123 183,123 C216.137087,123 243,149.862913 243,183 C243,216.137087 216.137087,243 183,243 Z M183.5,209 C198.135547,209 210,197.359404 210,183 C210,168.640596 198.135547,157 183.5,157 C168.864453,157 157,168.640596 157,183 C157,197.359404 168.864453,209 183.5,209 Z M183.5,209" id="Oval 2" stroke="rgb(150,150,150)" stroke-width="1" fill="rgb(137,137,137)"></path>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.8 KiB

After

Width:  |  Height:  |  Size: 260 KiB

View File

@@ -1,87 +1,26 @@
<?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>Slice 1</title>
<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></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="album-placeholder-grid" sketch:type="MSLayerGroup">
<g id="Page-1">
<rect id="Rectangle-1" fill="#D8D8D8" sketch:type="MSShapeGroup" x="0" y="0" width="200" height="200"></rect>
<g id="album-placeholder-grid" transform="translate(75.000000, 75.000000)">
<g id="Page-1">
<g id="album-icon">
<g id="Page-1">
<g id="icon_Playlist">
<g id="Layer_2"></g>
<g id="Layer_3"></g>
<g id="Layer_4"></g>
<g id="Layer_5"></g>
<g id="Layer_6"></g>
<g id="Layer_8"></g>
<g id="Layer_9"></g>
<g id="Layer_10"></g>
<g id="Layer_11"></g>
<g id="Layer_12"></g>
<g id="Layer_13"></g>
<g id="Layer_14"></g>
<g id="Layer_15"></g>
<g id="Layer_16"></g>
<g id="Layer_17"></g>
<g id="Layer_18"></g>
<g id="Layer_19"></g>
<g id="Layer_20"></g>
<g id="Layer_21"></g>
<g id="Layer_24"></g>
<g id="Layer_25"></g>
<g id="Layer_26"></g>
<g id="Layer_27"></g>
<g id="Layer_28"></g>
<g id="Layer_29"></g>
<g id="Layer_47"></g>
<g id="Layer_30"></g>
<g id="Layer_31"></g>
<g id="Layer_32"></g>
<g id="Layer_33"></g>
<g id="Layer_34"></g>
<g id="Layer_35"></g>
<g id="Layer_36"></g>
<g id="Layer_37"></g>
<g id="Layer_38"></g>
<g id="Layer_39"></g>
<g id="Layer_40" fill="#606060" sketch:type="MSShapeGroup">
<path d="M25,0 C11.25,0 0,11.25 0,25 C0,38.75 11.25,50 25,50 C38.75,50 50,38.75 50,25 C49.5833333,11.25 38.75,0 25,0 L25,0 L25,0 Z M25,33.3333333 C20.4166667,33.3333333 16.6666667,29.5833333 16.6666667,25 C16.6666667,20.4166667 20.4166667,16.6666667 25,16.6666667 C29.5833333,16.6666667 32.9166667,20.4166667 32.9166667,25 C32.9166667,29.5833333 29.1666667,33.3333333 25,33.3333333 L25,33.3333333 L25,33.3333333 Z" id="Shape"></path>
</g>
<g id="Layer_41"></g>
<g id="Layer_42"></g>
<g id="Layer_43"></g>
<g id="Layer_44"></g>
<g id="Layer_45"></g>
<g id="Layer_46"></g>
<g id="Layer_48"></g>
<g id="Layer_49"></g>
<g id="Layer_51"></g>
<g id="Layer_52"></g>
<g id="Layer_53"></g>
<g id="Layer_54"></g>
<g id="Layer_55"></g>
<g id="Layer_56"></g>
<g id="Layer_57"></g>
<g id="Layer_58"></g>
<g id="Layer_59"></g>
<g id="Layer_60"></g>
<g id="Layer_61"></g>
<g id="Layer_62"></g>
<g id="Layer_63"></g>
<g id="Layer_64"></g>
<g id="Layer_65"></g>
<g id="Layer_66"></g>
<g id="Layer_50"></g>
</g>
</g>
</g>
</g>
</g>
</g>
<defs>
<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" 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: 5.2 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.8 KiB

After

Width:  |  Height:  |  Size: 68 KiB

View File

@@ -1,20 +1,12 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="51px" height="50px" viewBox="0 0 51 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>apply-check</title>
<svg width="51px" height="50px" 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></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="apply-check" sketch:type="MSLayerGroup" transform="translate(1.000000, 1.000000)">
<g id="Page-1" sketch:type="MSShapeGroup">
<g id="apply-check">
<g id="Page-1">
<g id="Group">
<path d="M4.24000168,-0.24597168 C1.78800178,-0.24597168 -0.208998203,1.74902833 -0.208998203,4.2030282 L-0.208998203,43.8820291 C-0.208998203,46.3350291 1.78800178,48.3320289 4.24000168,48.3320289 L45,48.3320289 C47.4519999,48.3320289 49.4489999,46.3350289 49.4489999,43.8820291 L49.4489999,4.2030282 C49.4489746,1.74902344 47.4520264,-0.24597168 45,-0.24597168 L4.24000168,-0.24597168 Z" id="Shape" fill="#000000"></path>
<path d="M38.992981,10.0159912 C38.112981,9.3459912 36.857981,9.5139912 36.1889811,10.3919912 L19.0559816,32.827992 L12.6759815,25.2839919 C11.9629815,24.4409919 10.6999816,24.3349919 9.8579814,25.0479919 C9.0139815,25.7619919 8.90898144,27.0239918 9.6219814,27.865992 L17.6079815,37.3099922 C17.9889815,37.7599922 18.5469815,38.0189922 19.1349815,38.0189922 C19.1519815,38.0189922 19.1679815,38.0189922 19.1849815,38.0179922 C19.7899815,38.0029922 20.3569815,37.7139922 20.7249814,37.2329922 L39.3689805,12.8199921 C40.0390015,11.94104 39.8709717,10.6870117 38.992981,10.0159912 C38.992981,10.0159912 39.8709717,10.6870117 38.992981,10.0159912 L38.992981,10.0159912" id="Shape" fill="#FFFFFF"></path>
</g>
</g>
</g>
</g>
<g id="Page 1" fill="rgb(223,223,223)" fill-rule="evenodd">
<g id="Group" fill="rgb(0,0,0)">
<path d="M46,0.75402832 L5.24000168,0.75402832 C2.78800178,0.75402832 0.791001797,2.74902833 0.791001797,5.2030282 L0.791001797,44.8820291 C0.791001797,47.3350291 2.78800178,49.3320289 5.24000168,49.3320289 L46,49.3320289 C48.4519999,49.3320289 50.4489999,47.3350289 50.4489999,44.8820291 L50.4489999,5.2030282 C50.4489746,2.74902344 48.4520264,0.75402832 46,0.75402832 L46,0.75402832 L46,0.75402832 M46.5689697,44.881958 C46.5689697,45.197958 46.3149697,45.451958 45.9999697,45.451958 L5.2399714,45.451958 C4.9249714,45.451958 4.67097139,45.197958 4.67097139,44.881958 L4.67097139,5.20295715 C4.67097139,4.88895714 4.9249714,4.63095713 5.2399714,4.63095713 L46,4.63095713 C46.315,4.63095713 46.569,4.88895711 46.569,5.20295715 L46.569,44.881958 L46.569,44.881958 L46.5689697,44.881958" id="Shape" fill="rgb(62,115,0)"></path>
<path d="M39.992981,11.0159912 C39.112981,10.3459912 37.857981,10.5139912 37.1889811,11.3919912 L20.0559816,33.827992 L13.6759815,26.2839919 C12.9629815,25.4409919 11.6999816,25.3349919 10.8579814,26.0479919 C10.0139815,26.7619919 9.90898144,28.0239918 10.6219814,28.865992 L18.6079815,38.3099922 C18.9889815,38.7599922 19.5469815,39.0189922 20.1349815,39.0189922 C20.1519815,39.0189922 20.1679815,39.0189922 20.1849815,39.0179922 C20.7899815,39.0029922 21.3569815,38.7139922 21.7249814,38.2329922 L40.3689805,13.8199921 C41.0390015,12.94104 40.8709717,11.6870117 39.992981,11.0159912 C39.992981,11.0159912 40.8709717,11.6870117 39.992981,11.0159912 L39.992981,11.0159912" id="Shape" fill="rgb(62,115,0)"></path>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 952 B

After

Width:  |  Height:  |  Size: 91 KiB

View File

@@ -1,13 +1,9 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="62px" height="61px" viewBox="0 0 62 61" 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>
<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>artist-icon</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="artist-icon" sketch:type="MSLayerGroup" transform="translate(1.000000, 1.000000)" fill="#000000">
<g id="Page-1" sketch:type="MSShapeGroup">
<path d="M59.9125522,22.5833558 C59.6763462,21.809491 59.0039372,21.2801979 58.2332538,21.2619446 L48.0212482,21.0429275 L45.0195468,20.9808738 L42.0178377,20.9133423 L39.4557841,20.8622368 L38.2557947,20.8348625 L37.6213153,18.9202774 L31.6989366,1.072129 C31.445492,0.31286692 30.7644617,-0.2 30.0006754,-0.2 C29.2368853,-0.2 28.5541307,0.31286692 28.3006861,1.072129 L22.3800317,18.9202774 L21.7438279,20.8348625 L20.5421144,20.8622368 L17.9800607,20.9133423 L14.9800797,20.9808738 L11.9800988,21.0429275 L1.7663707,21.2619446 C0.9974098,21.2801979 0.3232765,21.809491 0.0870705,22.5833558 C-0.14913376,23.3590439 0.1060371,24.204087 0.72155,24.6914032 L16.6300698,37.3287476 L10.8473473,57.3378723 C10.6249352,58.115384 10.8887273,58.9531295 11.5076885,59.4331482 C11.6645833,59.5536011 11.8335477,59.6430405 12.0128594,59.7032669 C12.0697556,59.7251709 12.1300964,59.7233475 12.1921654,59.7397736 C12.3128548,59.7653244 12.4352685,59.7963532 12.5594063,59.7981766 L12.5732002,59.8 C12.6869927,59.8 12.7990609,59.7707946 12.9128532,59.7470673 C12.973198,59.7342957 13.0352631,59.7397736 13.0938836,59.7178696 C13.269745,59.66129 13.4369851,59.5791596 13.5921594,59.4641693 L30.0023958,47.5003097 L46.4126361,59.4641693 C46.7212527,59.6886642 47.076424,59.8 47.4333194,59.8 C47.8074573,59.8 48.1815952,59.6795394 48.4988329,59.4331482 C49.1160663,58.9513061 49.3798602,58.1099136 49.1574481,57.3378723 L43.3730013,37.3287476 L59.2849659,24.6914032 C59.8954014,24.202195 60.1487964,23.357129 59.9125522,22.5833558 L59.9125522,22.5833558 L59.9125522,22.5833558 Z" id="Path"></path>
</g>
</g>
<g id="Page 1" fill="rgb(215,215,215)" fill-rule="evenodd">
<path d="M50,100 C22.3857613,100 0,77.6142426 0,50 C0,22.3857613 22.3857613,0 50,0 C77.6142426,0 100,22.3857613 100,50 C100,77.6142426 77.6142426,100 50,100 Z M74.9125277,41.9861298 C74.7157469,41.3412425 74.1555699,40.9001649 73.5135216,40.8849538 L65.0060053,40.7024396 L62.5053189,40.6507282 L60.0046261,40.5944519 L57.8702057,40.551864 L56.870507,40.5290521 L56.3419287,38.9335645 L51.4080563,24.0601075 C51.1969142,23.4273891 50.6295549,23 49.9932524,23 C49.3569468,23 48.788151,23.4273891 48.5770089,24.0601075 L43.644573,38.9335645 L43.1145582,40.5290521 L42.1134231,40.551864 L39.9790026,40.5944519 L37.4797495,40.6507282 L34.9804964,40.7024396 L26.4715452,40.8849538 C25.8309318,40.9001649 25.2693183,41.3412425 25.0725375,41.9861298 C24.8757582,42.6325366 25.0883384,43.3367392 25.6011158,43.742836 L38.8543392,54.2739563 L34.0368129,70.9482269 C33.8515236,71.5961533 34.0712861,72.2942746 34.5869363,72.6942902 C34.7176437,72.7946676 34.8584062,72.8692004 35.0077889,72.9193891 C35.0551886,72.9376424 35.1054579,72.9361229 35.1571669,72.9498113 C35.257712,72.9711037 35.3596936,72.996961 35.4631115,72.9984805 L35.4746031,73 C35.5694024,73 35.6627653,72.9756622 35.7575645,72.9558894 C35.8078371,72.9452464 35.8595429,72.9498113 35.908379,72.931558 C36.0548873,72.8844083 36.1942133,72.8159663 36.3234874,72.7201411 L49.9946857,62.7502581 L63.6658872,72.7201411 C63.9229925,72.9072202 64.218882,73 64.5162079,73 C64.8278983,73 65.1395887,72.8996162 65.4038762,72.6942902 C65.9180869,72.2927551 66.1378509,71.5915947 65.9525617,70.9482269 L61.1335989,54.2739563 L74.389692,43.742836 C74.8982395,43.3351625 75.1093403,42.6309408 74.9125277,41.9861298 Z M74.9125277,41.9861298" id="Oval 1" fill="rgb(69,73,82)"></path>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 260 KiB

View File

@@ -3,73 +3,16 @@
<title>Slice 1</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">
<rect id="Rectangle-1" fill="#D8D8D8" sketch:type="MSShapeGroup" x="0" y="0" width="200" height="200"></rect>
<g id="icon_Star" sketch:type="MSLayerGroup" transform="translate(70.000000, 70.000000)">
<g id="Layer_2"></g>
<g id="Layer_3"></g>
<g id="Layer_4"></g>
<g id="Layer_5"></g>
<g id="Layer_6"></g>
<g id="Layer_8"></g>
<g id="Layer_9"></g>
<g id="Layer_10"></g>
<g id="Layer_11"></g>
<g id="Layer_12"></g>
<g id="Layer_13"></g>
<g id="Layer_14"></g>
<g id="Layer_15"></g>
<g id="Layer_16"></g>
<g id="Layer_17"></g>
<g id="Layer_18"></g>
<g id="Layer_19"></g>
<g id="Layer_20"></g>
<g id="Layer_21"></g>
<g id="Layer_24"></g>
<g id="Layer_25"></g>
<g id="Layer_26"></g>
<g id="Layer_27"></g>
<g id="Layer_28"></g>
<g id="Layer_29"></g>
<g id="Layer_47"></g>
<g id="Layer_30"></g>
<g id="Layer_31"></g>
<g id="Layer_32"></g>
<g id="Layer_33"></g>
<g id="Layer_34"></g>
<g id="Layer_35"></g>
<g id="Layer_36"></g>
<g id="Layer_37"></g>
<g id="Layer_38"></g>
<g id="Layer_39"></g>
<g id="Layer_40"></g>
<g id="Layer_41"></g>
<g id="Layer_42"></g>
<g id="Layer_43"></g>
<g id="Layer_44"></g>
<g id="Layer_45"></g>
<g id="Layer_46"></g>
<g id="Layer_48"></g>
<g id="Layer_49"></g>
<g id="Layer_51"></g>
<g id="Layer_52"></g>
<g id="Layer_53"></g>
<g id="Layer_54"></g>
<g id="Layer_55"></g>
<g id="Layer_56"></g>
<g id="Layer_57"></g>
<g id="Layer_58"></g>
<g id="Layer_59"></g>
<g id="Layer_60"></g>
<g id="Layer_61"></g>
<g id="Layer_62"></g>
<g id="Layer_63"></g>
<g id="Layer_64" fill="#606060" sketch:type="MSShapeGroup">
<path d="M37,22.9090909 L30,0 L23,22.9090909 L0,22.9090909 L19,37.0909091 L11.5,60 L30,45.8181818 L48.5,60 L41,37.0909091 L60,22.9090909 L37,22.9090909 Z" id="Shape"></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 id="Layer_65"></g>
<g id="Layer_66"></g>
<g id="Layer_50"></g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.2 KiB

After

Width:  |  Height:  |  Size: 68 KiB

View File

@@ -1,16 +1,16 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="60px" height="60px" viewBox="0 0 60 60" 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>
<svg width="107px" height="107px" 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>automatic-playlist</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="g2550-+-g2554" sketch:type="MSLayerGroup" transform="translate(0.000000, 2.000000)" fill="#000000">
<g id="g2550" sketch:type="MSShapeGroup">
<path d="M54.8541622,14.9280009 L43.0142092,21.7644343 L30.0939982,21.7644343 C27.0593814,21.7644343 24.590457,24.2070779 24.590457,27.2088415 C24.590457,30.2139034 27.0593816,32.6532486 30.0939982,32.6532486 L42.0098167,32.6532486 L54.8541622,40.0702432 C55.9509123,40.7035823 56.3252917,42.1055047 55.6919804,43.1990041 C55.0603183,44.2958023 53.6601065,44.6701981 52.5650056,44.036859 L34.7564225,33.7566447 L45.0378364,51.5643579 C45.6694985,52.6611561 45.2951191,54.0614293 44.2000183,54.6931189 C43.1049175,55.3248086 41.7030563,54.9504129 41.0713944,53.8536147 L30.9878908,36.3873104 L30.9878908,43.9593409 C30.9878908,45.2227204 29.9620585,46.2485978 28.6987342,46.2485978 C27.4337608,46.2485978 26.4079283,45.2227205 26.4079283,43.9593409 L26.4079283,35.7061409 L15.9286048,53.8536147 C15.2969427,54.9504129 13.896731,55.3248086 12.8016301,54.6931189 C11.7065293,54.0614291 11.3321499,52.661156 11.9638119,51.5643579 L22.246875,33.7549947 L4.43664347,44.035209 C3.33989335,44.6685481 1.93968152,44.2958016 1.30801961,43.1990035 C0.674708276,42.1038547 1.04908763,40.7035815 2.14583775,40.0702425 L19.5668466,30.0126861 L12.4602358,30.0126861 C11.1969117,30.0126861 10.1710792,28.9851594 10.1710792,27.7234292 C10.1710792,26.4551018 11.1969116,25.4308737 12.4602358,25.4308737 L20.3403438,25.4308737 L2.14748629,14.9280009 C1.05073617,14.2930125 0.676356815,12.8943886 1.30801892,11.79924 C1.73352495,11.063643 2.50207462,10.6529622 3.29371381,10.6529622 C3.6829364,10.6529622 4.07545749,10.7535708 4.43664288,10.9613852 L22.2452261,21.2415995 L11.965462,3.43388621 C11.3321507,2.33873744 11.70653,0.94176288 12.8016309,0.306774504 C13.1628163,0.0973107947 13.5553374,8.84764461e-07 13.94456,8.84764461e-07 C14.7361992,8.84764461e-07 15.5063981,0.410681685 15.9302549,1.14462932 L26.4079293,19.2937516 L26.4079293,11.4842188 C26.4079293,10.21919 27.4337617,9.19331255 28.6987352,9.19331255 C29.9620593,9.19331255 30.9878918,10.2191899 30.9878918,11.4842188 L30.9878918,18.612582 L41.0730445,1.14627773 C41.4969013,0.410680776 42.2671002,0 43.0587394,0 C43.4463127,0 43.8404831,0.0989592276 44.2000191,0.30677362 C45.2967693,0.941761995 45.6711486,2.34038586 45.0394865,3.43388533 L34.7580726,21.2415986 L52.5650058,10.9630335 C52.9245419,10.7535698 53.3187123,10.6546105 53.7079349,10.6546105 C54.499574,10.6546105 55.269773,11.0652913 55.6919805,11.799239 C56.3252917,12.896038 55.9509123,14.2946618 54.8541622,14.9280009" id="path2552"></path>
</g>
<g id="g2554" transform="translate(26.000000, 24.000000)" sketch:type="MSShapeGroup">
<path d="M1.88781858,7 C0.845060474,7 0,5.43204391 0,3.5 C0,1.56612642 0.845060474,0 1.88781858,0 L33,0 L33,7 L1.88781858,7 L1.88781858,7 L1.88781858,7" id="path2556"></path>
</g>
<defs>
<radialGradient cx="55.1087141%" cy="29.5365341%" fx="55.1087141%" fy="29.5365341%" r="100%" id="radialGradient-1">
<stop stop-color="rgb(149,198,243)" offset="0%"></stop>
<stop stop-color="rgb(124,142,212)" offset="100%"></stop>
</radialGradient>
</defs>
<g id="Page 1" fill="rgb(215,215,215)" fill-rule="evenodd">
<g id="g2598" fill="rgb(0,0,0)">
<path d="M20.0684075,81.2901123 L20.9789657,80.3761627 L28.3736486,85.5563411 L26.3575333,87.5775429 C24.502504,89.429181 24.502504,92.4457232 26.354142,94.2990568 C28.2074758,96.1523906 31.2223223,96.1523906 33.0807429,94.2990568 L37.4521008,89.9260028 C43.0087105,84.3710886 43.9158777,78.5380895 44.0939198,74.0751679 C44.1176588,73.4715203 44.1312239,72.8729597 44.126137,72.2777904 C44.1227457,70.6414986 44.0396594,69.0238586 43.9599643,67.4604792 C43.8802693,65.9310126 43.8175306,64.566023 43.8073568,63.1908597 C43.8005742,62.5685601 43.8073568,61.9479562 43.8310957,61.3358304 C43.8972257,59.8487549 44.0633983,58.2497669 44.516134,56.5795623 L52.9519391,62.4854738 C50.8357813,63.3502498 48.8077968,63.6622475 46.9392023,63.7792466 C46.9561587,64.8831078 47.0172017,66.0293599 47.0799404,67.2807417 C47.1562441,68.7627304 47.2291566,70.2141976 47.2478087,71.7080559 C53.384327,71.8182724 59.8447124,70.9823223 65.7777551,65.0492805 C71.9193604,58.9059797 72.6027032,52.2065091 72.4263565,45.8834694 C72.4077045,45.2781262 72.3839656,44.6710873 72.358531,44.0742222 C72.334792,43.5638348 72.3093574,43.0619256 72.2822272,42.5634077 C72.1499673,39.9283843 72.0160118,37.203492 72.3127487,34.6159469 C72.3907481,33.9139523 72.4958778,33.2797832 72.6213551,32.67444 C72.9180919,31.2941897 73.364045,30.0071996 73.9575188,28.7829478 C73.9575188,28.7829478 79.759797,31.8201554 80.0533419,33.0525673 C80.3468867,34.2849792 77.0808863,34.5243821 75.4191598,34.919466 C75.1444662,37.2391005 75.2733348,39.7486466 75.4055946,42.4023221 L75.4496813,43.3298368 C79.8227349,43.089056 85.3674752,42.0089338 90.6561747,36.720235 L95.0326197,32.3488769 C96.8859535,30.4938476 96.8842578,27.4756096 95.0292285,25.6256675 C93.1758947,23.7689425 90.162744,23.7689425 88.3077145,25.6222762 L87.3140699,26.6176165 L79.9176915,21.4391344 L82.0219799,19.3365417 C83.873618,17.4832079 83.873618,14.4683613 82.0202843,12.6150278 C80.165255,10.7599985 77.1504084,10.7599985 75.2987703,12.6150278 L70.9240212,16.9880814 C65.3724985,22.5413 64.4619399,28.3692118 64.2838981,32.8372216 C64.2584636,33.4408692 64.2482897,34.0428211 64.251681,34.6362948 C64.2550723,36.2437608 64.3347673,37.8291835 64.4127667,39.3637372 C64.4924618,40.9101602 64.561983,42.320932 64.5721568,43.7181389 C64.5772437,44.3421341 64.5738524,44.9627381 64.5450266,45.5765594 C64.4755054,47.1518083 64.294072,48.8491431 63.7735107,50.6244775 L55.1087939,44.559176 C57.3385596,43.5943573 59.4784561,43.2552295 61.4386153,43.1314478 C61.4199633,41.9987608 61.3589203,40.8236829 61.2961816,39.6316486 C61.2232691,38.1852683 61.1469654,36.7236272 61.1334002,35.2026389 C54.9951864,35.0924223 48.5314091,35.9317638 42.5949771,41.8681967 C36.4550673,48.0081065 35.7734208,54.7024898 35.949767,61.0255295 C35.9650278,61.6376553 35.9955493,62.2396072 36.0175926,62.8415591 L36.0938963,64.350678 C36.2244606,66.9873969 36.3618074,69.7088981 36.0650705,72.2964433 C35.9853754,73.0001335 35.8819414,73.632607 35.7547685,74.2379502 C35.4495534,75.6605915 34.9883396,76.9797988 34.3677356,78.234572 L28.2159564,73.9293439 C29.6945537,73.040829 31.2528463,72.4015729 32.9569637,71.992924 C33.2333529,69.6715939 33.1044843,67.1603523 32.9722244,64.5134597 L32.9247465,63.5842494 C28.5567799,63.8216389 23.0086482,64.9017611 17.7199494,70.1921557 L13.3468958,74.5652093 C11.4901708,76.4185431 11.4935621,79.4384766 13.3468958,81.2901146 C15.2002268,83.1451418 18.2150736,83.1451418 20.0684075,81.2901123 Z M20.0684075,81.2901123" id="path2600" fill="url(#radialGradient-1)"></path>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 3.6 KiB

111
data/images/back.svg Executable file → Normal file
View File

@@ -1,95 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 17.1.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="14px"
height="14px" viewBox="0 0 14 14" enable-background="new 0 0 14 14" xml:space="preserve">
<g id="Layer_2">
</g>
<g id="Layer_3">
</g>
<g id="Layer_4">
</g>
<g id="Layer_5">
</g>
<g id="Layer_6">
</g>
<g id="Layer_8">
</g>
<g id="Layer_9">
</g>
<g id="Layer_10">
</g>
<g id="Layer_11">
</g>
<g id="Layer_12">
</g>
<g id="Layer_13">
</g>
<g id="Layer_14">
</g>
<g id="Layer_15">
</g>
<g id="Layer_16">
</g>
<g id="Layer_17">
</g>
<g id="Layer_18">
</g>
<g id="Layer_19">
</g>
<g id="Layer_20">
</g>
<g id="Layer_21">
</g>
<g id="Layer_24">
</g>
<g id="Layer_25">
</g>
<g id="Layer_26">
</g>
<g id="Layer_27">
</g>
<g id="Layer_28">
</g>
<g id="Layer_29">
</g>
<g id="Layer_47">
</g>
<g id="Layer_30">
</g>
<g id="Layer_31">
</g>
<g id="Layer_32">
</g>
<g id="Layer_33">
</g>
<g id="Layer_34">
</g>
<g id="Layer_35">
</g>
<g id="Layer_36">
</g>
<g id="Layer_37">
</g>
<g id="Layer_38">
<g>
<polygon points="11.7,13.9 1.7,7 11.7,0.1 12.3,0.9 3.5,7 12.3,13.1 "/>
</g>
</g>
<g id="Layer_39">
</g>
<g id="Layer_40">
</g>
<g id="Layer_41">
</g>
<g id="Layer_42">
</g>
<g id="Layer_43">
</g>
<g id="Layer_44">
</g>
<g id="Layer_45">
</g>
<g id="Layer_46">
</g>
</svg>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="51px" height="51px" 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>back</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>
<path d="M2,23.6164666 C2,24.3104666 2.331,24.9594667 2.89099997,25.3654666 L22.791999,39.8204665 C23.1939991,40.1134665 23.675999,40.2324665 24.153999,40.2134665 L24.153999,40.2134665 L24.156999,40.2134665 C24.300999,40.2054665 24.442999,40.1924665 24.582999,40.1564665 C24.741999,40.1234665 24.894999,40.0734665 25.044999,39.9974665 C25.768999,39.6294665 26.224999,38.8834665 26.224999,38.0704665 L26.223999,28.6624665 L45.7469997,28.6624665 C48.5349998,28.6624665 50.7919998,26.4044666 50.7919998,23.6154665 C50.7909998,20.8304665 48.5349998,18.5704665 45.7479996,18.5704665 L26.2249989,18.5704665 L26.2239989,14.4574666 L26.2239989,9.16146655 C26.2239989,8.97946655 26.1929989,8.80346654 26.1499989,8.63346655 C26.1369989,8.58446655 26.1219989,8.53646655 26.1069989,8.49046654 C26.0629989,8.35746654 26.0069989,8.23146654 25.9409989,8.11146654 C25.9199989,8.07446653 25.9039989,8.03746653 25.8809989,8.00346653 C25.7969989,7.87046653 25.7009989,7.74446653 25.5909989,7.63346653 C25.5809989,7.62446653 25.5699989,7.61946653 25.5599989,7.61146653 C25.4099989,7.46446653 25.2369989,7.33546653 25.0429989,7.23646653 C24.3189989,6.86746654 23.4479989,6.93346652 22.7909988,7.41246653 L2.8909992,21.8684669 C2.33099365,22.2754022 2,22.9245721 2,23.6164666 C2,23.6164666 2,22.9245721 2,23.6164666 L2,23.6164666" id="path-2"></path>
</defs>
<g id="Page 1" fill="rgb(215,215,215)" fill-rule="evenodd">
<use id="Shape" stroke="rgb(150,150,150)" stroke-width="1" fill="url(#linearGradient-1)" xlink:href="#path-2"></use>
<use id="Shape-1" stroke="none" fill="none" xlink:href="#path-2"></use>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@@ -1,45 +0,0 @@
<?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="209.9375"
height="209.93625"
id="svg2"
xml:space="preserve"><metadata
id="metadata8"><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="defs6"><clipPath
id="clipPath16"><path
d="m 190.352,296.129 0,-46.533 c 7.015,5.27 15.744,8.394 25.19,8.394 l 0,0 c 23.195,0 41.988,-18.797 41.988,-41.992 l 0,0 c 0,-23.186 -18.793,-41.987 -41.988,-41.987 l 0,0 c -23.19,0 -41.989,18.801 -41.989,41.987 l 0,0 0,72.744 c -25.096,-14.519 -41.985,-41.664 -41.985,-72.744 l 0,0 c 0,-46.373 37.602,-83.973 83.974,-83.973 l 0,0 c 46.38,0 83.976,37.6 83.976,83.973 l 0,0 c 0,46.381 -37.596,83.976 -83.976,83.976 l 0,0 c -8.78,0 -17.242,-1.349 -25.19,-3.845 m 12.595,-65.437 0,-29.394 c 0,-3.475 2.821,-6.296 6.299,-6.296 l 0,0 c 1.404,0 2.703,0.461 3.752,1.24 l 0,0 0,-0.002 20.12,14.619 -0.002,0.002 c 1.605,1.143 2.652,3.016 2.652,5.135 l 0,0 c 0,2.117 -1.047,3.99 -2.652,5.133 l 0,0 0.002,0.002 -20.12,14.619 0,-0.002 c -1.049,0.779 -2.348,1.24 -3.752,1.24 l 0,0 c -3.478,0 -6.299,-2.82 -6.299,-6.296"
id="path18" /></clipPath><linearGradient
x1="0"
y1="0"
x2="1"
y2="0"
id="linearGradient24"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(118.75739,118.75739,118.75739,-118.75739,156.16501,156.62248)"
spreadMethod="pad"><stop
id="stop26"
style="stop-color:#89278e;stop-opacity:1"
offset="0" /><stop
id="stop28"
style="stop-color:#e31837;stop-opacity:1"
offset="1" /></linearGradient></defs><g
transform="matrix(1.25,0,0,-1.25,-164.46,374.9675)"
id="g10"><g
id="g12"><g
clip-path="url(#clipPath16)"
id="g14"><g
id="g20"><g
id="g22"><path
d="m 190.352,296.129 0,-46.533 c 7.015,5.27 15.744,8.394 25.19,8.394 l 0,0 c 23.195,0 41.988,-18.797 41.988,-41.992 l 0,0 c 0,-23.186 -18.793,-41.987 -41.988,-41.987 l 0,0 c -23.19,0 -41.989,18.801 -41.989,41.987 l 0,0 0,72.744 c -25.096,-14.519 -41.985,-41.664 -41.985,-72.744 l 0,0 c 0,-46.373 37.602,-83.973 83.974,-83.973 l 0,0 c 46.38,0 83.976,37.6 83.976,83.973 l 0,0 c 0,46.381 -37.596,83.976 -83.976,83.976 l 0,0 c -8.78,0 -17.242,-1.349 -25.19,-3.845 m 12.595,-65.437 0,-29.394 c 0,-3.475 2.821,-6.296 6.299,-6.296 l 0,0 c 1.404,0 2.703,0.461 3.752,1.24 l 0,0 0,-0.002 20.12,14.619 -0.002,0.002 c 1.605,1.143 2.652,3.016 2.652,5.135 l 0,0 c 0,2.117 -1.047,3.99 -2.652,5.133 l 0,0 0.002,0.002 -20.12,14.619 0,-0.002 c -1.049,0.779 -2.348,1.24 -3.752,1.24 l 0,0 c -3.478,0 -6.299,-2.82 -6.299,-6.296"
id="path30"
style="fill:url(#linearGradient24);stroke:none" /></g></g></g></g></g></svg>

Before

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 923 B

After

Width:  |  Height:  |  Size: 988 B

View File

@@ -1,18 +1,14 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="60px" height="60px" viewBox="0 0 60 60" 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>
<svg width="72px" height="72px" viewBox="0 0 72 72" 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>cancel</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="cancel" sketch:type="MSLayerGroup">
<g id="Page-1" sketch:type="MSShapeGroup">
<g id="cancel">
<g id="Page-1">
<path d="M17.5,42.5 L45,14" id="Line" stroke="#000000" stroke-width="10" stroke-linecap="square"></path>
<path d="M0,29.9993506 C0,46.5411446 13.4588529,60 30.0006494,60 C46.5424458,60 60,46.5411471 60,29.9993506 C60,13.4575542 46.5424817,0 30.0006494,0 C13.4588542,0 0,13.4575567 0,29.9993506 Z M30,50 C41.0456955,50 50,41.0456955 50,30 C50,18.9543045 41.0456955,10 30,10 C18.9543045,10 10,18.9543045 10,30 C10,41.0456955 18.9543045,50 30,50 Z" id="Oval-1" fill="#000000"></path>
</g>
</g>
</g>
</g>
<defs>
<linearGradient x1="50%" y1="0%" x2="50%" y2="173.920641%" id="linearGradient-1">
<stop stop-color="rgb(123,125,121)" 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="M36.0006494,5 C19.4588542,5 6,18.4575567 6,34.9993506 C6,51.5411446 19.4588529,65 36.0006494,65 C52.5424458,65 66,51.5411471 66,34.9993506 C66,18.4575542 52.5424817,5 36.0006494,5 L36.0006494,5 L36.0006494,5 M36.0006494,59.4371165 C30.6479766,59.4371165 25.6960729,57.7017454 21.6650312,54.7718478 L55.4775297,20.2615692 C58.5851148,24.3626478 60.435918,29.467596 60.435918,34.9992532 C60.4372204,48.4738244 49.4751158,59.4371165 36.0006494,59.4371165 L36.0006494,59.4371165 L36.0006494,59.4371165 M36.0006494,10.5615996 C41.6620053,10.5615996 46.8733072,12.5018949 51.0210775,15.744367 L17.0555343,50.4128779 C13.6249988,46.2041493 11.5640833,40.8385064 11.5640833,34.9981654 C11.5628117,21.5236251 22.5275287,10.5615996 36.0006494,10.5615996 C36.0006494,10.5615996 22.5275287,10.5615996 36.0006494,10.5615996 L36.0006494,10.5615996" id="Shape" fill="url(#linearGradient-1)"></path>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 KiB

After

Width:  |  Height:  |  Size: 68 KiB

View File

@@ -1,28 +1,16 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="60px" height="60px" viewBox="0 0 60 60" 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>
<svg width="73px" height="73px" viewBox="0 0 73 73" 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>charts</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="charts" sketch:type="MSLayerGroup" transform="translate(1.000000, 0.000000)" fill="#000000">
<g id="Page-1" sketch:type="MSShapeGroup">
<g id="charts">
<g id="Page-1">
<g id="charts">
<g id="Page-1">
<g id="Group">
<path d="M55.5771484,45.8056815 L19.851435,45.8056815 C18.4985778,45.8056815 17.4000065,48.8856815 17.4000065,52.6736817 C17.4000065,56.4616815 18.4985779,59.5376815 19.851435,59.5376815 L55.5771484,59.5376815 C56.9300056,59.5376815 58.028577,56.4616815 58.028577,52.6736817 C58.028577,48.8856818 56.9314314,45.8056815 55.5771484,45.8056815 L55.5771484,45.8056815" id="Shape"></path>
<path d="M55.5771484,23.7842494 L19.851435,23.7842494 C18.4985778,23.7842494 17.4000065,26.8562495 17.4000065,30.6482495 C17.4000065,34.4402492 18.4985779,37.5082495 19.851435,37.5082495 L55.5771484,37.5082495 C56.9300056,37.5082495 58.028577,34.4402494 58.028577,30.6482495 C58.028577,26.8562492 56.9314314,23.7842494 55.5771484,23.7842494 L55.5771484,23.7842494" id="Shape"></path>
<path d="M19.8528355,14.4880371 L55.578549,14.4880371 C56.9314062,14.4880371 58.0299775,11.4160371 58.0299775,7.62803696 C58.0299775,3.83603689 56.9314061,0.76003691 55.578549,0.76003691 L19.8528355,0.76003691 C18.4999783,0.76003691 17.401407,3.83603689 17.401407,7.62803696 C17.4014457,11.4199218 18.4985526,14.4880371 19.8528355,14.4880371 C19.8528355,14.4880371 18.4985526,14.4880371 19.8528355,14.4880371 L19.8528355,14.4880371" id="Shape"></path>
<path d="M10.6863665,0.722830636 L2.95182071,0.722830636 C1.22818432,0.722830636 -0.169997488,2.11919428 -0.169997488,3.84101251 L-0.169997488,11.5791944 C-0.169997488,13.3010126 1.22818432,14.7010126 2.95182071,14.7010126 L10.6863665,14.7010126 C12.4100029,14.7010126 13.8081846,13.3010126 13.8081846,11.5791944 L13.8081846,3.84101251 C13.8082037,2.11742847 12.4099993,0.722830636 10.6863665,0.722830636 L10.6863665,0.722830636" id="Shape"></path>
<path d="M10.6863665,23.7428676 L2.95182071,23.7428676 C1.22818432,23.7428676 -0.169997488,25.1428676 -0.169997488,26.8665041 L-0.169997488,34.6028679 C-0.169997488,36.3246862 1.22818432,37.7210497 2.95182071,37.7210497 L10.6863665,37.7210497 C12.4100029,37.7210497 13.8081846,36.3246862 13.8081846,34.6028679 L13.8081846,26.8665041 C13.8082037,25.1429031 12.4099993,23.7428676 10.6863665,23.7428676 L10.6863665,23.7428676" id="Shape"></path>
<path d="M10.6863665,45.767177 L2.95182071,45.767177 C1.22818432,45.767177 -0.169997488,47.1635407 -0.169997488,48.887177 L-0.169997488,56.6235408 C-0.169997488,58.345359 1.22818432,59.7435408 2.95182071,59.7435408 L10.6863665,59.7435408 C12.4100029,59.7435408 13.8081846,58.3453589 13.8081846,56.6235408 L13.8081846,48.887177 C13.8082037,47.1616639 12.4099993,45.767177 10.6863665,45.767177 L10.6863665,45.767177" id="Shape"></path>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
<defs>
<radialGradient cx="50%" cy="25.578859%" fx="50%" fy="25.578859%" r="74.4211435%" id="radialGradient-1">
<stop stop-color="rgb(67,112,14)" offset="0%"></stop>
<stop stop-color="rgb(125,237,22)" offset="100%"></stop>
</radialGradient>
<path d="M12.6880041,58.1100338 C10.7249589,58.1100338 9.13496935,56.2763784 9.13493435,54.014699 L9.13493435,25.7770118 C9.13493435,23.5153566 10.7250023,21.683366 12.6879943,21.683366 L18.844184,21.683366 C20.807176,21.683366 22.3972439,23.5153566 22.3972439,25.7770118 L22.3972439,54.014699 C22.3972439,56.2763526 20.807176,58.1100338 18.844184,58.1100338 Z M33.2428954,58.1100338 C31.2798503,58.1100338 29.6898607,56.2763784 29.6898271,54.014699 L29.6898271,41.0013078 C29.6898271,38.7396542 31.2798923,36.9076636 33.242887,36.9076636 L39.3990754,36.9076636 C41.3620673,36.9076636 42.9521353,38.7396542 42.9521353,41.0013078 L42.9521353,54.014699 C42.9521353,56.2763526 41.3620673,58.1100338 39.3990754,58.1100338 Z M59.9539668,58.1100338 L53.7977868,58.1100338 C51.8347416,58.1100338 50.2447521,56.2763784 50.2447185,54.014699 L50.2447185,7.16953817 C50.2447185,4.9078842 51.8347865,3.07589402 53.7977756,3.07589402 L59.9539668,3.07589402 C61.9169615,3.07589402 63.5070295,4.9078844 63.5070295,7.16953817 L63.5070295,54.014699 C63.5070295,56.2763526 61.9169615,58.1100338 59.9539668,58.1100338 Z M3.31053384,63.6787297 L70.6895101,63.6787297 C72.3030676,63.6787297 73.6141839,65.1875721 73.6141335,67.0483749 L73.6141335,67.2851962 C73.6141335,69.1459409 72.3044902,70.6548414 70.6894653,70.6548414 L3.31053384,70.6548414 C1.6955068,70.6548414 0.385866463,69.147638 0.385866463,67.2851962 L0.385866463,67.0483749 C0.385866463,65.1876237 1.69403853,63.6787297 3.31053384,63.6787297 Z M3.31053384,63.6787297" id="path-2"></path>
</defs>
<g id="Page 1" fill="rgb(215,215,215)" fill-rule="evenodd">
<use id="Shape" fill="url(#radialGradient-1)" xlink:href="#path-2"></use>
<use id="Shape-1" stroke="none" fill="none" xlink:href="#path-2"></use>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 3.7 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@@ -1,16 +1,12 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<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>Slice 1</title>
<svg width="52px" height="52px" 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>closed-padlock</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="closed-padlock" sketch:type="MSLayerGroup" transform="translate(5.000000, 1.000000)">
<g id="Page-1" sketch:type="MSShapeGroup">
<g id="Group">
<path d="M30.8569946,16.8280029 L28.4989946,16.8280029 C28.5089946,16.7290029 28.5289946,16.6340029 28.5289946,16.5330029 L28.5289946,11.4480029 C28.5289946,4.9580031 23.2489944,-0.322997 16.7589941,-0.322997 C10.2689939,-0.322997 4.9899941,4.9570032 4.9899941,11.4480029 L4.9899941,16.5330029 C4.9899941,16.6340029 5.0099941,16.7290029 5.0199941,16.8280029 L3.628994,16.8280029 C1.464994,16.8280029 -0.29600591,18.5900029 -0.29600591,20.7530029 L-0.29600591,39.4710033 C-0.29600591,41.6360033 1.4649941,43.3970034 3.628994,43.3970034 L30.8569947,43.3970034 C33.0209947,43.3970034 34.7819946,41.6360034 34.7819946,39.4710033 L34.7819946,20.7530029 C34.7820129,18.5899658 33.0209961,16.8280029 30.8569946,16.8280029 L30.8569946,16.8280029 M10.9979858,16.532959 L10.9979858,11.4479589 C10.9979858,8.269959 13.581986,5.6849589 16.758986,5.6849589 C19.935986,5.6849589 22.5209861,8.269959 22.5209861,11.4479589 L22.5209861,16.532959 C22.5209861,16.633959 22.5409861,16.728959 22.5509861,16.827959 L10.9679859,16.827959 C10.9779968,16.7290039 10.9979858,16.6340332 10.9979858,16.532959 C10.9979858,16.532959 10.9979858,16.6340332 10.9979858,16.532959 L10.9979858,16.532959" id="Shape" fill="#000000"></path>
<path d="M17.2420044,29.1169434 C16.0000044,29.1169434 14.9940045,30.1239433 14.9940045,31.3649433 L14.9940045,35.6949432 L19.4920046,35.6949432 L19.4920046,31.3649433 C19.4920044,30.1240234 18.4849854,29.1169434 17.2420044,29.1169434 L17.2420044,29.1169434" id="Shape" fill="#FFFFFF"></path>
</g>
</g>
<g id="Page 1" fill="rgb(223,223,223)" fill-rule="evenodd">
<g id="Group" fill="rgb(0,0,0)">
<path d="M39.8569946,23.8280029 L37.4989946,23.8280029 C37.5089946,23.7290029 37.5289946,23.6340029 37.5289946,23.5330029 L37.5289946,18.4480029 C37.5289946,11.9580031 32.2489944,6.677003 25.7589941,6.677003 C19.2689939,6.677003 13.9899941,11.9570032 13.9899941,18.4480029 L13.9899941,23.5330029 C13.9899941,23.6340029 14.0099941,23.7290029 14.0199941,23.8280029 L12.628994,23.8280029 C10.464994,23.8280029 8.70399409,25.5900029 8.70399409,27.7530029 L8.70399409,46.4710033 C8.70399409,48.6360033 10.4649941,50.3970034 12.628994,50.3970034 L39.8569947,50.3970034 C42.0209947,50.3970034 43.7819946,48.6360034 43.7819946,46.4710033 L43.7819946,27.7530029 C43.7820129,25.5899658 42.0209961,23.8280029 39.8569946,23.8280029 L39.8569946,23.8280029 L39.8569946,23.8280029 M19.9979858,23.532959 L19.9979858,18.4479589 C19.9979858,15.269959 22.581986,12.6849589 25.758986,12.6849589 C28.935986,12.6849589 31.5209861,15.269959 31.5209861,18.4479589 L31.5209861,23.532959 C31.5209861,23.633959 31.5409861,23.728959 31.5509861,23.827959 L19.9679859,23.827959 C19.9779968,23.7290039 19.9979858,23.6340332 19.9979858,23.532959 C19.9979858,23.532959 19.9979858,23.6340332 19.9979858,23.532959 L19.9979858,23.532959" id="Shape" fill="rgb(103,103,103)"></path>
<path d="M26.2420044,36.1169434 C25.0000044,36.1169434 23.9940045,37.1239433 23.9940045,38.3649433 L23.9940045,42.6949432 L28.4920046,42.6949432 L28.4920046,38.3649433 C28.4920044,37.1240234 27.4849854,36.1169434 26.2420044,36.1169434 L26.2420044,36.1169434 L26.2420044,36.1169434" id="Shape" fill="rgb(255,255,255)"></path>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

After

Width:  |  Height:  |  Size: 68 KiB

View File

@@ -1,78 +1,16 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="60px" height="60px" viewBox="0 0 60 60" 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>
<svg width="74px" height="68px" 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>collection</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="icon_Collection" sketch:type="MSLayerGroup">
<g id="Layer_2"></g>
<g id="Layer_3"></g>
<g id="Layer_4"></g>
<g id="Layer_5"></g>
<g id="Layer_6"></g>
<g id="Layer_8"></g>
<g id="Layer_9"></g>
<g id="Layer_10"></g>
<g id="Layer_11"></g>
<g id="Layer_12"></g>
<g id="Layer_13"></g>
<g id="Layer_14"></g>
<g id="Layer_15"></g>
<g id="Layer_16"></g>
<g id="Layer_17"></g>
<g id="Layer_18"></g>
<g id="Layer_19"></g>
<g id="Layer_20"></g>
<g id="Layer_21"></g>
<g id="Layer_24"></g>
<g id="Layer_25"></g>
<g id="Layer_26"></g>
<g id="Layer_27"></g>
<g id="Layer_28"></g>
<g id="Layer_29"></g>
<g id="Layer_47"></g>
<g id="Layer_30"></g>
<g id="Layer_31"></g>
<g id="Layer_32"></g>
<g id="Layer_33"></g>
<g id="Layer_34"></g>
<g id="Layer_35"></g>
<g id="Layer_36" fill="#000000" sketch:type="MSShapeGroup">
<g id="Group">
<rect id="Rectangle" x="43.6363636" y="0" width="16.3636364" height="60"></rect>
<rect id="Rectangle" x="0" y="0" width="16.3636364" height="60"></rect>
<rect id="Rectangle" x="21.8181818" y="0" width="16.3636364" height="60"></rect>
</g>
</g>
<g id="Layer_37"></g>
<g id="Layer_38"></g>
<g id="Layer_39"></g>
<g id="Layer_40"></g>
<g id="Layer_41"></g>
<g id="Layer_42"></g>
<g id="Layer_43"></g>
<g id="Layer_44"></g>
<g id="Layer_45"></g>
<g id="Layer_46"></g>
<g id="Layer_48"></g>
<g id="Layer_49"></g>
<g id="Layer_51"></g>
<g id="Layer_52"></g>
<g id="Layer_53"></g>
<g id="Layer_54"></g>
<g id="Layer_55"></g>
<g id="Layer_56"></g>
<g id="Layer_57"></g>
<g id="Layer_58"></g>
<g id="Layer_59"></g>
<g id="Layer_60"></g>
<g id="Layer_61"></g>
<g id="Layer_62"></g>
<g id="Layer_63"></g>
<g id="Layer_64"></g>
<g id="Layer_65"></g>
<g id="Layer_66"></g>
<g id="Layer_50"></g>
</g>
<defs>
<radialGradient cx="48.2475281%" cy="50%" fx="48.2475281%" fy="50%" r="81.9925606%" id="radialGradient-1">
<stop stop-color="rgb(83,102,136)" offset="0%"></stop>
<stop stop-color="rgb(0,0,0)" offset="100%"></stop>
</radialGradient>
<path d="M18.0049167,0 L56.9950833,0 C58.6532394,0 60,1.34389141 60,3.00166547 L60,4.99833453 C60,6.66097987 58.654653,8 56.9950833,8 L18.0049167,8 C16.3467606,8 15,6.65610859 15,4.99833453 L15,3.00166547 C15,1.33902013 16.345347,0 18.0049167,0 Z M17.5049167,15 L56.4950833,15 C58.1532394,15 59.5,16.3438914 59.5,18.0016655 L59.5,19.9983345 C59.5,21.6609799 58.154653,23 56.4950833,23 L17.5049167,23 C15.8467606,23 14.5,21.6561086 14.5,19.9983345 L14.5,18.0016655 C14.5,16.3390201 15.845347,15 17.5049167,15 Z M18.0049167,30 L56.9950833,30 C58.6532394,30 60,31.3438914 60,33.0016655 L60,34.9983345 C60,36.6609799 58.654653,38 56.9950833,38 L18.0049167,38 C16.3467606,38 15,36.6561086 15,34.9983345 L15,33.0016655 C15,31.3390201 16.345347,30 18.0049167,30 Z M17.4772685,45 L56.4674351,45 C58.1255911,45 59.4723518,46.3438914 59.4723518,48.0016655 L59.4723518,49.9983345 C59.4723518,51.6609799 58.1270047,53 56.4674351,53 L17.4772685,53 C15.8191124,53 14.4723518,51.6561086 14.4723518,49.9983345 L14.4723518,48.0016655 C14.4723518,46.3390201 15.8176988,45 17.4772685,45 Z M8.05129913,60 L65.9487009,60 L65.9487009,34.999854 C65.9487009,33.3499755 67.2897874,32 68.9441015,32 L70.5322476,32 C72.1901307,32 73.5276482,33.3430804 73.5276482,34.999854 L73.5276482,64.5444498 C73.5276482,65.4958702 73.0816863,66.3475616 72.3868662,66.8981603 C71.8693265,67.3237633 71.2063342,67.5789474 70.4835672,67.5789474 L3.51643275,67.5789474 C2.87373094,67.5789474 2.27755463,67.3758914 1.78900862,67.0303375 C0.993762261,66.4910318 0.472351765,65.5788851 0.472351765,64.5444498 L0.472351765,34.999854 C0.472351765,33.3499755 1.81343833,32 3.46775245,32 L5.05589845,32 C6.71378156,32 8.05129913,33.3430804 8.05129913,34.999854 Z M8.05129913,60" id="path-2"></path>
</defs>
<g id="Page 1" fill="rgb(215,215,215)" fill-rule="evenodd">
<use id="Rectangle 1" fill="url(#radialGradient-1)" xlink:href="#path-2"></use>
<use id="Rectangle 1-1" stroke="none" fill="none" xlink:href="#path-2"></use>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1022 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 298 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

After

Width:  |  Height:  |  Size: 4.0 KiB

View File

@@ -1,17 +1,14 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="60px" height="60px" viewBox="0 0 60 60" 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>
<svg width="50px" height="50px" 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>configure</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="configure" sketch:type="MSLayerGroup" transform="translate(-9.000000, 2.000000)" fill="#000000">
<g id="Page-1" sketch:type="MSShapeGroup">
<g id="configure" transform="translate(36.683514, 29.785804) rotate(45.000000) translate(-36.683514, -29.785804) translate(19.901908, -4.934758)">
<g id="Page-1" transform="translate(-0.000000, 0.000000)">
<path d="M34.0914661,13.9310752 C34.0914661,8.39704265 31.2604823,3.25131382 26.5193138,0.164726693 C26.2084893,-0.0350936954 25.8130271,-0.0549340156 25.4846913,0.115125889 C25.1548963,0.285185774 24.9520578,0.616802592 24.9505985,0.976762683 L24.9505985,2.32873887 L24.9505985,8.40838022 L24.9505985,10.8388197 L21.1185556,16.507483 L12.9729106,16.507483 L9.1408676,10.8388197 L9.1408676,0.976762513 C9.1408676,0.616802379 8.9365698,0.285185576 8.6082339,0.115125719 C8.28135741,-0.05493418 7.88443611,-0.0336766912 7.57361159,0.164726523 C2.82952473,3.25131365 0,8.39704282 0,13.931075 C0,20.5917541 6.90964373,25.7502382 9.75230175,27.5883022 L7.45395131,60.0130551 C7.45395131,65.1502813 11.7573385,69.3295031 17.0471923,69.3295031 C22.3370462,69.3295031 26.6404333,65.1502813 26.6389742,59.9450306 L24.3406238,27.5882995 C27.1818217,25.7503627 34.0914661,20.5906474 34.0914661,13.9310752 C34.0914661,13.9310752 34.0914661,20.5906474 34.0914661,13.9310752 L34.0914661,13.9310752 M19.395159,60.0131837 C19.3936997,61.2744613 18.341566,62.2905692 17.0457341,62.2905692 C15.7484432,62.289152 14.7006873,61.2702098 14.6977687,60.0131837 C14.6977687,58.7519061 15.7484432,57.7329639 17.0457341,57.7301297 C18.3415657,57.7331244 19.3936893,58.7520583 19.395159,60.0131837 C19.3966174,60.0131837 19.3936893,60.0131837 19.395159,60.0131837 C19.395159,60.0131837 19.3936893,60.0131837 19.395159,60.0131837 L19.395159,60.0131837" id="Shape"></path>
</g>
</g>
</g>
</g>
<defs>
<linearGradient x1="50%" y1="0%" x2="50%" y2="173.920641%" id="linearGradient-1">
<stop stop-color="rgb(123,125,121)" 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="M36.3619998,10.8302365 C36.3619998,6.92523648 34.4219998,3.29423668 31.1729997,1.11623671 C30.9599997,0.975236705 30.6889997,0.961236706 30.4639997,1.08123671 C30.2379997,1.2012367 30.0989997,1.43523671 30.0979997,1.68923669 L30.0979997,2.64323668 L30.0979997,6.93323665 L30.0979997,8.64823668 L27.4719998,12.6482367 L21.89,12.6482367 L19.2640001,8.64823668 L19.2640001,1.68923657 C19.2640001,1.43523656 19.1240001,1.20123656 18.899,1.08123659 C18.675,0.96123659 18.4030001,0.976236591 18.1900001,1.11623659 C14.9390001,3.29423656 13,6.9252366 13,10.8302363 C13,15.5302361 17.7350001,19.1702365 19.6830001,20.4672364 L18.108,43.3472356 C18.108,46.9722356 21.0569999,49.9212355 24.6819999,49.9212355 C28.3069999,49.9212355 31.2559998,46.9722356 31.2549999,43.2992352 L29.6799998,20.4672345 C31.6269992,19.1703243 36.3619998,15.5294552 36.3619998,10.8302365 C36.3619998,10.8302365 36.3619998,15.5294552 36.3619998,10.8302365 L36.3619998,10.8302365 M26.2910007,43.3473263 C26.2900007,44.2373263 25.5690007,44.9543263 24.6810006,44.9543263 C23.7920007,44.9533263 23.0740007,44.2343263 23.0720007,43.3473263 C23.0720007,42.4573263 23.7920007,41.7383263 24.6810006,41.7363264 C25.5690005,41.7384396 26.2899936,42.4574337 26.2910007,43.3473263 C26.2920001,43.3473263 26.2899936,43.3473263 26.2910007,43.3473263 C26.2910007,43.3473263 26.2899936,43.3473263 26.2910007,43.3473263 L26.2910007,43.3473263" id="Shape" fill="url(#linearGradient-1)"></path>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.1 KiB

After

Width:  |  Height:  |  Size: 68 KiB

View File

@@ -1,13 +1,21 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="62px" height="62px" viewBox="0 0 62 62" 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>
<svg width="54px" height="54px" 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>dashboard</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="g574" sketch:type="MSLayerGroup" transform="translate(25.250000, 16.875000)" fill="#000000">
<path d="M25.28,31.25 L3.49180006,31.25 C1.67480066,31.25 0.20224041,30.6675 0.20224041,29.9474999 L0.20224041,1.48874968 C0.20224041,0.769999698 1.67480038,0.186249614 3.49180044,0.186249614 L25.2800004,0.186249614 C27.1001603,0.186249614 28.5727206,0.769999623 28.5727206,1.48874968 L28.5727206,29.9474999 C28.5727202,30.6675 27.1001599,31.25 25.28,31.25" id="path576" sketch:type="MSShapeGroup"></path>
<defs>
<radialGradient cx="50%" cy="50%" fx="50%" fy="50%" r="244.726896%" id="radialGradient-1">
<stop stop-color="rgb(254,255,254)" offset="0%"></stop>
<stop stop-color="rgb(250,250,250)" offset="0%"></stop>
<stop stop-color="rgb(129,129,129)" offset="0%"></stop>
<stop stop-color="rgb(0,0,0)" offset="100%"></stop>
</radialGradient>
<path d="M2.91098976,28.1920242 C2.91098976,33.9540243 4.93898988,39.5620241 8.62398958,43.9850245 C8.94898957,44.3770244 9.4329896,44.6020244 9.94198954,44.6020244 L45.2639881,44.6020244 C45.7739881,44.6020244 46.2559881,44.3760244 46.5819881,43.9850245 C50.2659881,39.5620246 52.2949879,33.9540243 52.2949879,28.1920242 C52.2949829,14.5769043 41.21698,3.49902344 27.6019897,3.49902344 C13.98699,3.49902344 2.91098976,14.5770235 2.91098976,28.1920242 Z M2.91098976,28.1920242" id="path-2"></path>
</defs>
<g id="Page 1" fill="rgb(215,215,215)" fill-rule="evenodd">
<g id="Group" fill="rgb(0,0,0)">
<use id="Shape" stroke="rgb(254,255,254)" stroke-width="2" fill="url(#radialGradient-1)" xlink:href="#path-2"></use>
<use id="Shape-1" stroke="none" fill="none" xlink:href="#path-2"></use>
<path d="M36.9169866,21.8380293 C37.2319866,21.5710293 37.6349866,21.4050293 38.0799866,21.4050293 C39.0820007,21.4050293 39.894989,22.2180176 39.8939861,23.2200301 C39.8939861,23.64403 39.7429861,24.02903 39.5019861,24.34103 L30.317986,35.4180297 C30.198986,35.6020297 30.068986,35.7730297 29.890986,35.9600297 C29.3089861,36.5490297 28.4989861,36.9170297 27.6039861,36.9170297 C25.8249862,36.9170297 24.3829861,35.4740298 24.3829861,33.6960298 C24.3829861,32.5890296 24.9419862,31.6120296 25.7929861,31.0330297 Z M11.3519897,27.4318848 C11.9200134,27.4318848 12.381012,27.8920898 12.3809898,28.4608848 C12.3809898,29.0288849 11.9199898,29.4898849 11.3519897,29.4898849 L9.5729897,29.4898849 C9.00498965,29.4898849 8.54398966,29.0288848 8.54398966,28.4608848 C8.54398966,27.8918848 9.00498968,27.4318848 9.5729897,27.4318848 Z M15.1270142,14.9970703 L16.4680141,16.3370703 C16.8700141,16.7380704 16.8700141,17.3910703 16.4680141,17.7930703 C16.2660141,17.9940703 16.0030141,18.0950703 15.7400141,18.0950703 C15.4770141,18.0950703 15.2120141,17.9940703 15.0110141,17.7930703 L13.6720141,16.4540703 C13.2700141,16.0520703 13.270014,15.3990703 13.6720141,14.9970703 C14.0740142,14.5950703 14.7250142,14.5970703 15.1270142,14.9970703 Z M27.8250122,12.7929688 C27.256012,12.7929688 26.79599,12.3320312 26.7960122,11.7629688 L26.7960122,10.0609688 C26.7960122,9.49196878 27.2560122,9.03096879 27.8250122,9.03096879 C28.3940122,9.03096879 28.8550122,9.49196875 28.8550122,10.0609688 L28.8550122,11.7629688 C28.8550122,12.3319688 28.3940122,12.7929688 27.8250122,12.7929688 Z M40.3519897,15.0209961 C40.7550049,14.6169434 41.4079897,14.618996 41.8099897,15.019996 C42.2119897,15.4209961 42.2119897,16.073996 41.8099897,16.475996 L40.4939897,17.792996 C40.2919898,17.993996 40.0289898,18.094996 39.7649898,18.094996 C39.5019897,18.094996 39.2389898,17.9939961 39.0379898,17.792996 C38.6349898,17.3909961 38.6349898,16.7389961 39.0359898,16.3369961 Z M45.5960083,27.4331055 C46.1640015,27.4331055 46.625,27.894043 46.6250083,28.4621055 C46.6250083,29.0311055 46.1640083,29.4911056 45.5960083,29.4911056 L43.7420083,29.4911056 C43.1740083,29.4911056 42.7130083,29.0311055 42.7130083,28.4621055 C42.7130083,27.8941055 43.1740083,27.4331055 43.7420083,27.4331055 Z M45.5960083,27.4331055" id="Shape" fill="rgb(254,255,254)"></path>
</g>
<path d="M20.4691028,19.6025008 L10.0308973,19.6025008 L10.0308973,45.4600018 L20.4691028,45.4600018 L20.4691028,19.6025008 L20.4691028,19.6025008 L20.4691028,19.6025008 M20.9850466,48.0625003 L9.51544862,48.0625003 C9.23073877,48.0625003 9,47.4800003 9,46.7612503 L9,18.3025001 C9,17.5825001 9.23073876,17 9.51544862,17 L20.9850466,17 C21.2692613,17 21.5,17.5825 21.5,18.3025001 L21.5,46.7612503 C21.5,47.4800003 21.2692612,48.0625003 20.9850466,48.0625003" id="path578" fill="#000000" sketch:type="MSShapeGroup"></path>
<path d="M4,49 L58,49 L58,7 L4,7 L4,49 L4,49 L4,49 M2.1523901,58 C0.962682853,58 0,57.021545 0,55.8151617 L0,5.18483831 C0,3.97845497 0.962682853,3 2.1523901,3 L59.8463694,3 C61.0360767,3 62,3.97845497 62,5.18483831 L62,55.8151617 C62,57.021545 61.0360766,58 59.8463694,58 L2.1523901,58 Z" id="path580" fill="#000000" sketch:type="MSShapeGroup" transform="translate(31.000000, 30.500000) scale(1, -1) translate(-31.000000, -30.500000) "></path>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.4 KiB

After

Width:  |  Height:  |  Size: 16 KiB

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