mirror of
https://github.com/tomahawk-player/tomahawk.git
synced 2025-03-19 23:39:42 +01:00
Merge remote-tracking branch 'upstream/master'
This commit is contained in:
commit
34370a300f
@ -69,7 +69,7 @@ ENDIF (LUCENEPP_INCLUDE_DIR)
|
||||
SET(LUCENEPP_GOOD_VERSION TRUE)
|
||||
|
||||
FIND_PATH(LUCENEPP_LIBRARY_DIR
|
||||
NAMES liblucene++.dylib liblucene++.so liblucene++.dll.a
|
||||
NAMES liblucene++.dylib liblucene++.so liblucene++.dll.a lucene++
|
||||
PATHS ${TRIAL_LIBRARY_PATHS} ${TRIAL_INCLUDE_PATHS} NO_DEFAULT_PATH)
|
||||
IF (LUCENEPP_LIBRARY_DIR)
|
||||
MESSAGE(STATUS "Found Lucene++ library dir: ${LUCENEPP_LIBRARY_DIR}")
|
||||
|
@ -2,6 +2,8 @@ Version 0.9.0:
|
||||
* Resolved playback issues by switching to a new audio engine.
|
||||
|
||||
Version 0.8.1:
|
||||
* Fixed importing M3U playlists.
|
||||
* Sort album grids by artist name.
|
||||
* Fixed painting issue on 'More Albums' grid.
|
||||
* Fixed crash when editing/saving track tags.
|
||||
|
||||
|
@ -51,8 +51,8 @@ You can download one of our nightly or stable builds:
|
||||
|
||||
| *BUILD* | MAC / OSX | WINDOWS | LINUX |
|
||||
|:-------:|:---------:|:-------:|:-----:|
|
||||
|**NIGHTLY** | [**latest**](http://download.tomahawk-player.org/nightly/mac/Tomahawk-latest.dmg) | [**latest**](http://download.tomahawk-player.org/nightly/windows/tomahawk-latest.exe) | *N/A* |
|
||||
|**STABLE** | [**0.7**](http://download.tomahawk-player.org/Tomahawk-0.7.0.dmg) | [**0.7**](http://download.tomahawk-player.org/tomahawk-0.7.0.exe) | [**0.7**](http://www.tomahawk-player.org/download.html#linux) (various distros) |
|
||||
|**NIGHTLY** | [**latest**](http://download.tomahawk-player.org/nightly/mac/Tomahawk-latest.dmg) | [**latest**](http://download.tomahawk-player.org/nightly/windows/tomahawk-latest.exe) | [**latest**] (https://launchpad.net/~tomahawk/+archive/ubuntu/nightly) (Ubuntu) |
|
||||
|**STABLE** | [**0.8**](http://download.tomahawk-player.org/Tomahawk-0.8.0.dmg) | [**0.8**](http://download.tomahawk-player.org/tomahawk-0.8.0.exe) | [**0.8**](http://www.tomahawk-player.org/#page-about) (various distros) |
|
||||
|
||||
## BUILD TOMAHAWK
|
||||
|
||||
|
@ -349,7 +349,7 @@ connect and stream from you?</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/viewpages/ArtistViewPage.cpp" line="200"/>
|
||||
<location filename="../src/libtomahawk/viewpages/ArtistViewPage.cpp" line="201"/>
|
||||
<source>Albums</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
@ -1112,7 +1112,7 @@ Password (OTP)</source>
|
||||
<translation>تقدم</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/filemetadata/MetadataEditor.cpp" line="376"/>
|
||||
<location filename="../src/libtomahawk/filemetadata/MetadataEditor.cpp" line="381"/>
|
||||
<source>Properties</source>
|
||||
<translation>خصائص</translation>
|
||||
</message>
|
||||
|
@ -348,7 +348,7 @@ connect and stream from you?</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/viewpages/ArtistViewPage.cpp" line="200"/>
|
||||
<location filename="../src/libtomahawk/viewpages/ArtistViewPage.cpp" line="201"/>
|
||||
<source>Albums</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
@ -1110,7 +1110,7 @@ Password (OTP)</source>
|
||||
<translation>Напред</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/filemetadata/MetadataEditor.cpp" line="376"/>
|
||||
<location filename="../src/libtomahawk/filemetadata/MetadataEditor.cpp" line="381"/>
|
||||
<source>Properties</source>
|
||||
<translation>Настройки</translation>
|
||||
</message>
|
||||
|
@ -348,7 +348,7 @@ connect and stream from you?</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/viewpages/ArtistViewPage.cpp" line="200"/>
|
||||
<location filename="../src/libtomahawk/viewpages/ArtistViewPage.cpp" line="201"/>
|
||||
<source>Albums</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
@ -1109,7 +1109,7 @@ Password (OTP)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/filemetadata/MetadataEditor.cpp" line="376"/>
|
||||
<location filename="../src/libtomahawk/filemetadata/MetadataEditor.cpp" line="381"/>
|
||||
<source>Properties</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
|
@ -348,7 +348,7 @@ connect and stream from you?</source>
|
||||
<translation>Cançons</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/viewpages/ArtistViewPage.cpp" line="200"/>
|
||||
<location filename="../src/libtomahawk/viewpages/ArtistViewPage.cpp" line="201"/>
|
||||
<source>Albums</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
@ -1109,7 +1109,7 @@ Password (OTP)</source>
|
||||
<translation>Endavant</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/filemetadata/MetadataEditor.cpp" line="376"/>
|
||||
<location filename="../src/libtomahawk/filemetadata/MetadataEditor.cpp" line="381"/>
|
||||
<source>Properties</source>
|
||||
<translation>Propietats</translation>
|
||||
</message>
|
||||
|
@ -348,7 +348,7 @@ connect and stream from you?</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/viewpages/ArtistViewPage.cpp" line="200"/>
|
||||
<location filename="../src/libtomahawk/viewpages/ArtistViewPage.cpp" line="201"/>
|
||||
<source>Albums</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
@ -1109,7 +1109,7 @@ Password (OTP)</source>
|
||||
<translation>Avant</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/filemetadata/MetadataEditor.cpp" line="376"/>
|
||||
<location filename="../src/libtomahawk/filemetadata/MetadataEditor.cpp" line="381"/>
|
||||
<source>Properties</source>
|
||||
<translation>Propietats</translation>
|
||||
</message>
|
||||
|
@ -349,7 +349,7 @@ se s vámi spojil?</translation>
|
||||
<translation>Písně</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/viewpages/ArtistViewPage.cpp" line="200"/>
|
||||
<location filename="../src/libtomahawk/viewpages/ArtistViewPage.cpp" line="201"/>
|
||||
<source>Albums</source>
|
||||
<translation>Alba</translation>
|
||||
</message>
|
||||
@ -1111,7 +1111,7 @@ heslo</translation>
|
||||
<translation>Vpřed</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/filemetadata/MetadataEditor.cpp" line="376"/>
|
||||
<location filename="../src/libtomahawk/filemetadata/MetadataEditor.cpp" line="381"/>
|
||||
<source>Properties</source>
|
||||
<translation>Vlastnosti</translation>
|
||||
</message>
|
||||
|
@ -348,7 +348,7 @@ connect and stream from you?</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/viewpages/ArtistViewPage.cpp" line="200"/>
|
||||
<location filename="../src/libtomahawk/viewpages/ArtistViewPage.cpp" line="201"/>
|
||||
<source>Albums</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
@ -1109,7 +1109,7 @@ Password (OTP)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/filemetadata/MetadataEditor.cpp" line="376"/>
|
||||
<location filename="../src/libtomahawk/filemetadata/MetadataEditor.cpp" line="381"/>
|
||||
<source>Properties</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
|
@ -349,7 +349,7 @@ erlauben sich mit dir zu verbinden und von dir zu streamen?</translation>
|
||||
<translation>Lieder</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/viewpages/ArtistViewPage.cpp" line="200"/>
|
||||
<location filename="../src/libtomahawk/viewpages/ArtistViewPage.cpp" line="201"/>
|
||||
<source>Albums</source>
|
||||
<translation>Alben</translation>
|
||||
</message>
|
||||
@ -1111,7 +1111,7 @@ Password (OTP)</source>
|
||||
<translation>Vorwärts</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/filemetadata/MetadataEditor.cpp" line="376"/>
|
||||
<location filename="../src/libtomahawk/filemetadata/MetadataEditor.cpp" line="381"/>
|
||||
<source>Properties</source>
|
||||
<translation>Eigenschaften</translation>
|
||||
</message>
|
||||
|
@ -348,7 +348,7 @@ connect and stream from you?</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/viewpages/ArtistViewPage.cpp" line="200"/>
|
||||
<location filename="../src/libtomahawk/viewpages/ArtistViewPage.cpp" line="201"/>
|
||||
<source>Albums</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
@ -1110,7 +1110,7 @@ Password (OTP)</source>
|
||||
<translation>Μπροστά</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/filemetadata/MetadataEditor.cpp" line="376"/>
|
||||
<location filename="../src/libtomahawk/filemetadata/MetadataEditor.cpp" line="381"/>
|
||||
<source>Properties</source>
|
||||
<translation>Ιδιότητες</translation>
|
||||
</message>
|
||||
|
@ -349,7 +349,7 @@ connect and stream from you?</translation>
|
||||
<translation>Songs</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/viewpages/ArtistViewPage.cpp" line="200"/>
|
||||
<location filename="../src/libtomahawk/viewpages/ArtistViewPage.cpp" line="201"/>
|
||||
<source>Albums</source>
|
||||
<translation>Albums</translation>
|
||||
</message>
|
||||
@ -1111,7 +1111,7 @@ Password (OTP)</translation>
|
||||
<translation>Forward</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/filemetadata/MetadataEditor.cpp" line="376"/>
|
||||
<location filename="../src/libtomahawk/filemetadata/MetadataEditor.cpp" line="381"/>
|
||||
<source>Properties</source>
|
||||
<translation>Properties</translation>
|
||||
</message>
|
||||
|
@ -349,7 +349,7 @@ connect and stream from you?</translation>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/viewpages/ArtistViewPage.cpp" line="200"/>
|
||||
<location filename="../src/libtomahawk/viewpages/ArtistViewPage.cpp" line="201"/>
|
||||
<source>Albums</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
@ -1111,7 +1111,7 @@ Password (OTP)</translation>
|
||||
<translation>Forward</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/filemetadata/MetadataEditor.cpp" line="376"/>
|
||||
<location filename="../src/libtomahawk/filemetadata/MetadataEditor.cpp" line="381"/>
|
||||
<source>Properties</source>
|
||||
<translation>Properties</translation>
|
||||
</message>
|
||||
|
@ -87,7 +87,7 @@ conectarse y transmitir música por usted?</translation>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/ActionCollection.cpp" line="72"/>
|
||||
<source>&Follow in Real-Time</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>&Seguir en tiempo real</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/ActionCollection.cpp" line="77"/>
|
||||
@ -162,7 +162,7 @@ conectarse y transmitir música por usted?</translation>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/ActionCollection.cpp" line="114"/>
|
||||
<source>Show Offline Friends</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Mostrar amigos desconectados</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/ActionCollection.cpp" line="116"/>
|
||||
@ -247,7 +247,7 @@ conectarse y transmitir música por usted?</translation>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/ActionCollection.cpp" line="179"/>
|
||||
<source>&Help</source>
|
||||
<translation>&Ayuda</translation>
|
||||
<translation>Ay&uda</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/ActionCollection.cpp" line="188"/>
|
||||
@ -349,7 +349,7 @@ conectarse y transmitir música por usted?</translation>
|
||||
<translation>Canciones</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/viewpages/ArtistViewPage.cpp" line="200"/>
|
||||
<location filename="../src/libtomahawk/viewpages/ArtistViewPage.cpp" line="201"/>
|
||||
<source>Albums</source>
|
||||
<translation>Álbumes</translation>
|
||||
</message>
|
||||
@ -489,7 +489,7 @@ conectarse y transmitir música por usted?</translation>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/viewpages/CollectionViewPage.cpp" line="379"/>
|
||||
<source>After you have scanned your music collection you will find your tracks right here.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Después de escanear su colección de música encontrará sus pistas aquí</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/viewpages/CollectionViewPage.cpp" line="382"/>
|
||||
@ -566,7 +566,7 @@ conectarse y transmitir música por usted?</translation>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/playlist/ContextView.cpp" line="246"/>
|
||||
<source>This playlist is currently empty. Add some tracks to it and enjoy the music!</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Esta lista de reproducción está vacía. ¡Añada algunas pistas y disfrute de la música!</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -721,7 +721,7 @@ conectarse y transmitir música por usted?</translation>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/GlobalActionManager.cpp" line="189"/>
|
||||
<source>Resolver installation from file %1 failed.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Falló la instalación del servicio a partir del archivo %1.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/GlobalActionManager.cpp" line="197"/>
|
||||
@ -856,7 +856,7 @@ de un solo uso (OTP)</translation>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/playlist/InboxView.cpp" line="84"/>
|
||||
<source>Inbox Details</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Detalles de la Bandeja de entrada</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/playlist/InboxView.cpp" line="93"/>
|
||||
@ -869,7 +869,7 @@ de un solo uso (OTP)</translation>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/jobview/IndexingJobItem.cpp" line="33"/>
|
||||
<source>Indexing Music Library</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Indizando la fonoteca</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -985,12 +985,12 @@ de un solo uso (OTP)</translation>
|
||||
<message>
|
||||
<location filename="../src/tomahawk/sourcetree/items/LovedTracksItem.cpp" line="60"/>
|
||||
<source>Favorites</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Favoritos</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tomahawk/sourcetree/items/LovedTracksItem.cpp" line="86"/>
|
||||
<source>Sorry, we could not find any of your Favorites!</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>No se encontró ninguno de sus Favoritos.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tomahawk/sourcetree/items/LovedTracksItem.cpp" line="89"/>
|
||||
@ -1111,7 +1111,7 @@ de un solo uso (OTP)</translation>
|
||||
<translation>Adelante</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/filemetadata/MetadataEditor.cpp" line="376"/>
|
||||
<location filename="../src/libtomahawk/filemetadata/MetadataEditor.cpp" line="381"/>
|
||||
<source>Properties</source>
|
||||
<translation>Propiedades</translation>
|
||||
</message>
|
||||
@ -1513,7 +1513,7 @@ de un solo uso (OTP)</translation>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/playlist/QueueView.cpp" line="39"/>
|
||||
<source>Queue Details</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Datos de cola</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/playlist/QueueView.cpp" line="49"/>
|
||||
@ -1544,7 +1544,7 @@ de un solo uso (OTP)</translation>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/jobview/ScannerStatusItem.cpp" line="55"/>
|
||||
<source>Scanning Collection</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Escaneando Colección</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -1626,17 +1626,17 @@ de un solo uso (OTP)</translation>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/viewpages/SearchViewPage.cpp" line="65"/>
|
||||
<source>Sorry, we could not find any artists!</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>No se encontró ningún artista.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/viewpages/SearchViewPage.cpp" line="86"/>
|
||||
<source>Sorry, we could not find any albums!</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>No se encontró ningún álbum.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/viewpages/SearchViewPage.cpp" line="108"/>
|
||||
<source>Sorry, we could not find any songs!</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>No se encontró ninguna canción.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -1735,7 +1735,7 @@ de un solo uso (OTP)</translation>
|
||||
<message>
|
||||
<location filename="../src/tomahawk/dialogs/Settings_Accounts.ui" line="57"/>
|
||||
<source>Filter by Capability:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Filtrar por Capacidad:</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -1763,7 +1763,7 @@ de un solo uso (OTP)</translation>
|
||||
<message>
|
||||
<location filename="../src/tomahawk/dialogs/Settings_Advanced.ui" line="82"/>
|
||||
<source>Host Settings...</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Configuración del host ...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tomahawk/dialogs/Settings_Advanced.ui" line="110"/>
|
||||
@ -1798,12 +1798,12 @@ de un solo uso (OTP)</translation>
|
||||
<message>
|
||||
<location filename="../src/tomahawk/dialogs/Settings_Advanced.ui" line="206"/>
|
||||
<source>Send Tomahawk Crash Reports</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Envíe informes de fallos a Tomahawk</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tomahawk/dialogs/Settings_Advanced.ui" line="216"/>
|
||||
<source>Show Notifications on song change</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Mostrar notificaciones de cambio de canción</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tomahawk/dialogs/Settings_Advanced.ui" line="244"/>
|
||||
@ -1852,12 +1852,12 @@ y estaciones basadas en sus gustos personales.</translation>
|
||||
<message>
|
||||
<location filename="../src/tomahawk/dialogs/Settings_Collection.ui" line="128"/>
|
||||
<source>Watch for changes (automatically update Collection)</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Cuidado con los cambios (la Colección se actualiza automáticamente)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tomahawk/dialogs/Settings_Collection.ui" line="137"/>
|
||||
<source>Time between scans (in seconds):</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Tiempo entre escaneo (en segundos):</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -2077,7 +2077,7 @@ y estaciones basadas en sus gustos personales.</translation>
|
||||
<message>
|
||||
<location filename="../src/tomahawk/sourcetree/SourcesModel.cpp" line="99"/>
|
||||
<source>Source</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Fuente</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tomahawk/sourcetree/SourcesModel.cpp" line="102"/>
|
||||
@ -2102,22 +2102,22 @@ y estaciones basadas en sus gustos personales.</translation>
|
||||
<message>
|
||||
<location filename="../src/tomahawk/sourcetree/SourcesModel.cpp" line="312"/>
|
||||
<source>Cloud Collections</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Colecciones de la nube</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tomahawk/sourcetree/SourcesModel.cpp" line="300"/>
|
||||
<source>Discover</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Descubre</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tomahawk/sourcetree/SourcesModel.cpp" line="301"/>
|
||||
<source>Open Pages</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Páginas abiertas</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tomahawk/sourcetree/SourcesModel.cpp" line="303"/>
|
||||
<source>Your Music</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Tu Música</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tomahawk/sourcetree/SourcesModel.cpp" line="311"/>
|
||||
@ -2140,12 +2140,12 @@ y estaciones basadas en sus gustos personales.</translation>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/accounts/spotify/SpotifyAccountConfig.ui" line="129"/>
|
||||
<source>Log In</source>
|
||||
<translation>Iniciar sesión</translation>
|
||||
<translation>Acceder</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/accounts/spotify/SpotifyAccountConfig.ui" line="136"/>
|
||||
<source>Right click on any Tomahawk playlist to sync it to Spotify.</source>
|
||||
<translation>Haga click derecho en cualquier lista de Tomahawk para sincronizarla con Spotify.</translation>
|
||||
<translation>Haga clic secundario en cualquier lista de Tomahawk para sincronizarla con Spotify.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/accounts/spotify/SpotifyAccountConfig.ui" line="153"/>
|
||||
@ -2160,7 +2160,7 @@ y estaciones basadas en sus gustos personales.</translation>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/accounts/spotify/SpotifyAccountConfig.ui" line="179"/>
|
||||
<source>High Quality Streams</source>
|
||||
<translation>Streams de alta calidad</translation>
|
||||
<translation>Transmisiones de alta calidad</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/accounts/spotify/SpotifyAccountConfig.ui" line="196"/>
|
||||
@ -2523,7 +2523,7 @@ y estaciones basadas en sus gustos personales.</translation>
|
||||
<location filename="../src/libtomahawk/accounts/spotify/SpotifyAccountConfig.cpp" line="302"/>
|
||||
<location filename="../src/libtomahawk/accounts/spotify/SpotifyAccountConfig.cpp" line="314"/>
|
||||
<source>Log In</source>
|
||||
<translation>Iniciar sesión</translation>
|
||||
<translation>Acceder</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -2603,7 +2603,7 @@ usuario@jabber.org</translation>
|
||||
<message>
|
||||
<location filename="../src/accounts/zeroconf/ZeroconfAccount.h" line="46"/>
|
||||
<source>Automatically connect to Tomahawk users on the same local network.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Conectarse automáticamente a los usuarios de Tomahawk en la misma red local.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -2760,7 +2760,7 @@ usuario@jabber.org</translation>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/playlist/dynamic/widgets/DynamicControlList.cpp" line="84"/>
|
||||
<source>Save Settings</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Guardar configuración</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -2829,12 +2829,12 @@ Intente ajustar los filtros para reproducir nuevas canciones.</translation>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/playlist/dynamic/echonest/EchonestControl.cpp" line="165"/>
|
||||
<source>Similar To</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Similar A</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/playlist/dynamic/echonest/EchonestControl.cpp" line="166"/>
|
||||
<source>Limit To</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Limitar a</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/playlist/dynamic/echonest/EchonestControl.cpp" line="170"/>
|
||||
@ -2871,7 +2871,7 @@ Intente ajustar los filtros para reproducir nuevas canciones.</translation>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/playlist/dynamic/echonest/EchonestControl.cpp" line="246"/>
|
||||
<source>Enter any combination of song name and artist here...</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Introduzca cualquier combinación de nombre de la canción y del artista aquí...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/playlist/dynamic/echonest/EchonestControl.cpp" line="267"/>
|
||||
@ -3109,23 +3109,23 @@ Intente ajustar los filtros para reproducir nuevas canciones.</translation>
|
||||
<location filename="../src/libtomahawk/playlist/dynamic/echonest/EchonestControl.cpp" line="498"/>
|
||||
<source>Electric</source>
|
||||
<comment>Song type</comment>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Electrónica</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/playlist/dynamic/echonest/EchonestControl.cpp" line="499"/>
|
||||
<source>Christmas</source>
|
||||
<comment>Song type: A christmas song</comment>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Navidad</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/playlist/dynamic/echonest/EchonestControl.cpp" line="526"/>
|
||||
<source>At Least</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Por lo menos</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/playlist/dynamic/echonest/EchonestControl.cpp" line="527"/>
|
||||
<source>At Most</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Como máximo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/playlist/dynamic/echonest/EchonestControl.cpp" line="879"/>
|
||||
@ -3152,7 +3152,7 @@ Intente ajustar los filtros para reproducir nuevas canciones.</translation>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/playlist/dynamic/echonest/EchonestControl.cpp" line="897"/>
|
||||
<source>You</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Usted</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/playlist/dynamic/echonest/EchonestControl.cpp" line="898"/>
|
||||
@ -3380,12 +3380,12 @@ Intente ajustar los filtros para reproducir nuevas canciones.</translation>
|
||||
<message>
|
||||
<location filename="../src/infoplugins/generic/snorenotify/SnoreNotifyPlugin.cpp" line="87"/>
|
||||
<source>Notify User</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Notificar al usuario</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/infoplugins/generic/snorenotify/SnoreNotifyPlugin.cpp" line="88"/>
|
||||
<source>Now Playing</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Reproduciendo ahora</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/infoplugins/generic/snorenotify/SnoreNotifyPlugin.cpp" line="89"/>
|
||||
@ -3412,14 +3412,14 @@ Intente ajustar los filtros para reproducir nuevas canciones.</translation>
|
||||
<location filename="../src/infoplugins/generic/snorenotify/SnoreNotifyPlugin.cpp" line="204"/>
|
||||
<source>%1%4 %2%3.</source>
|
||||
<comment>%1 is a title, %2 is an artist and %3 is replaced by either the previous message or nothing, %4 is the preposition used to link track and artist ('by' in english)</comment>
|
||||
<translation type="unfinished"/>
|
||||
<translation>%1%4 %2%3.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/infoplugins/generic/snorenotify/SnoreNotifyPlugin.cpp" line="208"/>
|
||||
<location filename="../src/infoplugins/generic/snorenotify/SnoreNotifyPlugin.cpp" line="270"/>
|
||||
<source>by</source>
|
||||
<comment>preposition to link track and artist</comment>
|
||||
<translation type="unfinished"/>
|
||||
<translation>por</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/infoplugins/generic/snorenotify/SnoreNotifyPlugin.cpp" line="217"/>
|
||||
@ -3431,20 +3431,21 @@ Intente ajustar los filtros para reproducir nuevas canciones.</translation>
|
||||
<location filename="../src/infoplugins/generic/snorenotify/SnoreNotifyPlugin.cpp" line="219"/>
|
||||
<source>"%1" by %2%3.</source>
|
||||
<comment>%1 is a title, %2 is an artist and %3 is replaced by either the previous message or nothing</comment>
|
||||
<translation type="unfinished"/>
|
||||
<translation>«%1» por %2%3.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/infoplugins/generic/snorenotify/SnoreNotifyPlugin.cpp" line="266"/>
|
||||
<source>%1 sent you
|
||||
%2%4 %3.</source>
|
||||
<comment>%1 is a nickname, %2 is a title, %3 is an artist, %4 is the preposition used to link track and artist ('by' in english)</comment>
|
||||
<translation type="unfinished"/>
|
||||
<translation>%1 te envió
|
||||
%2%4 %3.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/infoplugins/generic/snorenotify/SnoreNotifyPlugin.cpp" line="277"/>
|
||||
<source>%1 sent you "%2" by %3.</source>
|
||||
<comment>%1 is a nickname, %2 is a title, %3 is an artist</comment>
|
||||
<translation type="unfinished"/>
|
||||
<translation>%1 te envió "%2" de %3.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -3502,7 +3503,7 @@ Intente ajustar los filtros para reproducir nuevas canciones.</translation>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/database/LocalCollection.cpp" line="42"/>
|
||||
<source>Your Collection</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Tu colección</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -3624,7 +3625,7 @@ Intente ajustar los filtros para reproducir nuevas canciones.</translation>
|
||||
<message>
|
||||
<location filename="../src/viewpages/charts/ChartsWidget.h" line="130"/>
|
||||
<source>Charts</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Listas de éxitos</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -3645,7 +3646,7 @@ Intente ajustar los filtros para reproducir nuevas canciones.</translation>
|
||||
<message>
|
||||
<location filename="../src/viewpages/dashboard/Dashboard.cpp" line="78"/>
|
||||
<source>Recently Played Tracks</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Pistas reproducidas recientemente</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/viewpages/dashboard/Dashboard.cpp" line="72"/>
|
||||
@ -3724,7 +3725,7 @@ Intente ajustar los filtros para reproducir nuevas canciones.</translation>
|
||||
<message>
|
||||
<location filename="../src/viewpages/newreleases/NewReleasesWidget.h" line="120"/>
|
||||
<source>New Releases</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Últimas novedades</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -3737,7 +3738,7 @@ Intente ajustar los filtros para reproducir nuevas canciones.</translation>
|
||||
<message>
|
||||
<location filename="../src/viewpages/whatsnew_0_8/WhatsNew_0_8.h" line="90"/>
|
||||
<source>An overview of the changes and additions since 0.7.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Un resumen de los cambios y adiciones desde 0.7.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -3753,17 +3754,17 @@ Intente ajustar los filtros para reproducir nuevas canciones.</translation>
|
||||
<message>
|
||||
<location filename="../src/tomahawk/TomahawkApp.cpp" line="517"/>
|
||||
<source>You</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>usted</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tomahawk/TomahawkApp.cpp" line="604"/>
|
||||
<source>Tomahawk is updating the database. Please wait, this may take a minute!</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Tomahawk está actualizando la base de datos. Espere un momento.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tomahawk/TomahawkApp.cpp" line="611"/>
|
||||
<source>Tomahawk</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Tomahawk</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tomahawk/TomahawkApp.cpp" line="712"/>
|
||||
@ -3917,7 +3918,7 @@ Intente ajustar los filtros para reproducir nuevas canciones.</translation>
|
||||
<location filename="../src/tomahawk/TomahawkWindow.cpp" line="1014"/>
|
||||
<location filename="../src/tomahawk/TomahawkWindow.cpp" line="1021"/>
|
||||
<source>Love</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Favorito</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tomahawk/TomahawkWindow.cpp" line="1009"/>
|
||||
@ -4004,7 +4005,7 @@ Intente ajustar los filtros para reproducir nuevas canciones.</translation>
|
||||
<message>
|
||||
<location filename="../src/tomahawk/TomahawkWindow.cpp" line="332"/>
|
||||
<source>Search</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Buscar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tomahawk/TomahawkWindow.cpp" line="1353"/>
|
||||
@ -4049,12 +4050,12 @@ Intente ajustar los filtros para reproducir nuevas canciones.</translation>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/playlist/TrackDetailView.cpp" line="79"/>
|
||||
<source>Marked as Favorite</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Marcar como Favorito</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/playlist/TrackDetailView.cpp" line="97"/>
|
||||
<source>Alternate Sources:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Fuentes alternas:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/playlist/TrackDetailView.cpp" line="175"/>
|
||||
@ -4082,7 +4083,7 @@ Intente ajustar los filtros para reproducir nuevas canciones.</translation>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/viewpages/TrackViewPage.ui" line="60"/>
|
||||
<source>Top Hits</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Grandes éxitos</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -4148,7 +4149,7 @@ Intente ajustar los filtros para reproducir nuevas canciones.</translation>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/playlist/dynamic/echonest/EchonestGenerator.cpp" line="78"/>
|
||||
<source>Adventurousness</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Audacia</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/playlist/dynamic/echonest/EchonestGenerator.cpp" line="79"/>
|
||||
@ -4168,12 +4169,12 @@ Intente ajustar los filtros para reproducir nuevas canciones.</translation>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/playlist/dynamic/echonest/EchonestGenerator.cpp" line="80"/>
|
||||
<source>Loudness</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Volumen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/playlist/dynamic/echonest/EchonestGenerator.cpp" line="81"/>
|
||||
<source>Danceability</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Bailabilidad</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/playlist/dynamic/echonest/EchonestGenerator.cpp" line="81"/>
|
||||
@ -4183,17 +4184,17 @@ Intente ajustar los filtros para reproducir nuevas canciones.</translation>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/playlist/dynamic/echonest/EchonestGenerator.cpp" line="82"/>
|
||||
<source>Artist Familiarity</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Familiaridad del artista</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/playlist/dynamic/echonest/EchonestGenerator.cpp" line="82"/>
|
||||
<source>Artist Hotttnesss</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Popularidad del artista</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/playlist/dynamic/echonest/EchonestGenerator.cpp" line="83"/>
|
||||
<source>Song Hotttnesss</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Popularidad de la pista</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/playlist/dynamic/echonest/EchonestGenerator.cpp" line="83"/>
|
||||
@ -4213,7 +4214,7 @@ Intente ajustar los filtros para reproducir nuevas canciones.</translation>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/playlist/dynamic/echonest/EchonestGenerator.cpp" line="85"/>
|
||||
<source>Key</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Tonalidad</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/playlist/dynamic/echonest/EchonestGenerator.cpp" line="85"/>
|
||||
@ -4254,7 +4255,7 @@ Intente ajustar los filtros para reproducir nuevas canciones.</translation>
|
||||
<message>
|
||||
<location filename="../src/viewpages/whatsnew_0_8/WhatsNewWidget_0_8.ui" line="174"/>
|
||||
<source>Inbox</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Bandeja de Entrada</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/viewpages/whatsnew_0_8/WhatsNewWidget_0_8.ui" line="213"/>
|
||||
@ -4269,7 +4270,7 @@ Intente ajustar los filtros para reproducir nuevas canciones.</translation>
|
||||
<message>
|
||||
<location filename="../src/viewpages/whatsnew_0_8/WhatsNewWidget_0_8.ui" line="253"/>
|
||||
<source><html><head/><body><p>Love that your friends and influencers are posting music links but hate that they are links for music services you don't use? Just drag Rdio, Deezer, Beats or other music service URLs into your Tomahawk queue or playlists and have them automatically play from your preferred source.</p></body></html></source>
|
||||
<translation type="unfinished"/>
|
||||
<translation><html><head/><body><p>Me encanta que sus amigos y personas influyentes estén publicando enlaces de música pero odias que son enlaces para servicios de música que no usas? Sólo tienes que arrastrar Rdio, Deezer, Beats u otras URLs de servicios de música en la cola de Tomahawk o a las listas de reproducción y hacer que se reproduzcan automáticamente de su fuente preferida.</p></body></html></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/viewpages/whatsnew_0_8/WhatsNewWidget_0_8.ui" line="270"/>
|
||||
@ -4289,7 +4290,7 @@ Intente ajustar los filtros para reproducir nuevas canciones.</translation>
|
||||
<message>
|
||||
<location filename="../src/viewpages/whatsnew_0_8/WhatsNewWidget_0_8.ui" line="336"/>
|
||||
<source><html><head/><body><p>Google Music is another of our latest supported services - both for the music you've uploaded to Google Music as well as their full streaming catalog for Google Play Music All Access subscribers. Not only is all of your Google Play Music a potential source for streaming - your entire online collection is browseable too.</p></body></html></source>
|
||||
<translation type="unfinished"/>
|
||||
<translation><html><head/><body><p>Google Music es otro de nuestros últimos servicios soportados - así como su catálogo completo en streaming de Google Play Music, Sólo con acceso de subscripción. No sólo toda tu música de su Google Play Music una fuente potencial para el streaming - toda su colección en línea es navegable también.</p></body></html></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/viewpages/whatsnew_0_8/WhatsNewWidget_0_8.ui" line="376"/>
|
||||
@ -4304,7 +4305,7 @@ Intente ajustar los filtros para reproducir nuevas canciones.</translation>
|
||||
<message>
|
||||
<location filename="../src/viewpages/whatsnew_0_8/WhatsNewWidget_0_8.ui" line="419"/>
|
||||
<source><html><head/><body><p>Tomahawk now supports IPv6 and multiple local IP addresses. This improves the discoverability and connection between Tomahawk users - particularly large local networks often found in work and university settings. The more friends, the more music, the more playlists and the more curation from those people whose musical tastes you value. Sit back and just Listen Along!</p></body></html></source>
|
||||
<translation type="unfinished"/>
|
||||
<translation><html><head/><body><p>Tomahawk ahora es compatible con IPv6 y múltiples direcciones IP locales. Esto mejora la capacidad de descubrimiento y conexión entre los usuarios Tomahawk - particularmente grandes redes locales a menudo se encuentran en los entornos de trabajo y de la universidad. Cuantos más amigos, más música, más listas y más de curación de aquellas personas cuyos gustos musicales valoras. Siéntese y simplemente escuchar a lo alrgo de un buen tiempo!</p></body></html></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/viewpages/whatsnew_0_8/WhatsNewWidget_0_8.ui" line="353"/>
|
||||
@ -4481,12 +4482,12 @@ Letras de «%1» por %2:
|
||||
<message>
|
||||
<location filename="../src/accounts/xmpp/XmppConfigWidget.ui" line="58"/>
|
||||
<source>Configure this Jabber/XMPP account</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Configurar esta cuenta Jabber/XMPP</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/accounts/xmpp/XmppConfigWidget.ui" line="104"/>
|
||||
<source>Enter your XMPP login to connect with your friends using Tomahawk!</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Introduzca sus datos de inicio de sesión de XMPP para conectarse son sus amigos que usen Tomahawk!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/accounts/xmpp/XmppConfigWidget.ui" line="231"/>
|
||||
|
@ -349,7 +349,7 @@ yhdistää ja toistaa sinulta virtaa?</translation>
|
||||
<translation>Kappaleet</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/viewpages/ArtistViewPage.cpp" line="200"/>
|
||||
<location filename="../src/libtomahawk/viewpages/ArtistViewPage.cpp" line="201"/>
|
||||
<source>Albums</source>
|
||||
<translation>Albumit</translation>
|
||||
</message>
|
||||
@ -1111,7 +1111,7 @@ salasana (OTP)</translation>
|
||||
<translation>Seuraava</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/filemetadata/MetadataEditor.cpp" line="376"/>
|
||||
<location filename="../src/libtomahawk/filemetadata/MetadataEditor.cpp" line="381"/>
|
||||
<source>Properties</source>
|
||||
<translation>Ominaisuudet</translation>
|
||||
</message>
|
||||
|
@ -349,7 +349,7 @@ de se connecter et streamer votre flux ?</translation>
|
||||
<translation>Chansons</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/viewpages/ArtistViewPage.cpp" line="200"/>
|
||||
<location filename="../src/libtomahawk/viewpages/ArtistViewPage.cpp" line="201"/>
|
||||
<source>Albums</source>
|
||||
<translation>Albums</translation>
|
||||
</message>
|
||||
@ -1110,7 +1110,7 @@ Password (OTP)</source>
|
||||
<translation>Avancer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/filemetadata/MetadataEditor.cpp" line="376"/>
|
||||
<location filename="../src/libtomahawk/filemetadata/MetadataEditor.cpp" line="381"/>
|
||||
<source>Properties</source>
|
||||
<translation>Propriétés</translation>
|
||||
</message>
|
||||
@ -2345,7 +2345,7 @@ Password (OTP)</source>
|
||||
<message>
|
||||
<location filename="../src/accounts/hatchet/account/HatchetAccount.h" line="51"/>
|
||||
<source>Connect to Hatchet to capture your playback data, sync your playlists to Android and more.</source>
|
||||
<translation>Connectez-vous à Hatchet pour récupérer votre informations de lecture, synchroniser vos collections vers Android, et plus.</translation>
|
||||
<translation>Connectez-vous à Hatchet pour récupérer vos informations de lecture, synchroniser vos collections vers Android, et plus.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
@ -348,7 +348,7 @@ connect and stream from you?</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/viewpages/ArtistViewPage.cpp" line="200"/>
|
||||
<location filename="../src/libtomahawk/viewpages/ArtistViewPage.cpp" line="201"/>
|
||||
<source>Albums</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
@ -1109,7 +1109,7 @@ Password (OTP)</source>
|
||||
<translation>Adiante</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/filemetadata/MetadataEditor.cpp" line="376"/>
|
||||
<location filename="../src/libtomahawk/filemetadata/MetadataEditor.cpp" line="381"/>
|
||||
<source>Properties</source>
|
||||
<translation>Propiedades</translation>
|
||||
</message>
|
||||
|
@ -348,7 +348,7 @@ connect and stream from you?</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/viewpages/ArtistViewPage.cpp" line="200"/>
|
||||
<location filename="../src/libtomahawk/viewpages/ArtistViewPage.cpp" line="201"/>
|
||||
<source>Albums</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
@ -1109,7 +1109,7 @@ Password (OTP)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/filemetadata/MetadataEditor.cpp" line="376"/>
|
||||
<location filename="../src/libtomahawk/filemetadata/MetadataEditor.cpp" line="381"/>
|
||||
<source>Properties</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
|
@ -348,7 +348,7 @@ connect and stream from you?</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/viewpages/ArtistViewPage.cpp" line="200"/>
|
||||
<location filename="../src/libtomahawk/viewpages/ArtistViewPage.cpp" line="201"/>
|
||||
<source>Albums</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
@ -1109,7 +1109,7 @@ Password (OTP)</source>
|
||||
<translation>Előre</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/filemetadata/MetadataEditor.cpp" line="376"/>
|
||||
<location filename="../src/libtomahawk/filemetadata/MetadataEditor.cpp" line="381"/>
|
||||
<source>Properties</source>
|
||||
<translation>Tulajdonságok</translation>
|
||||
</message>
|
||||
|
@ -349,7 +349,7 @@ terhubung dan memutar secara langsung?</translation>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/viewpages/ArtistViewPage.cpp" line="200"/>
|
||||
<location filename="../src/libtomahawk/viewpages/ArtistViewPage.cpp" line="201"/>
|
||||
<source>Albums</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
@ -1110,7 +1110,7 @@ Password (OTP)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/filemetadata/MetadataEditor.cpp" line="376"/>
|
||||
<location filename="../src/libtomahawk/filemetadata/MetadataEditor.cpp" line="381"/>
|
||||
<source>Properties</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
|
@ -349,7 +349,7 @@ connettersi e condividere la tua musica?</translation>
|
||||
<translation>Brani</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/viewpages/ArtistViewPage.cpp" line="200"/>
|
||||
<location filename="../src/libtomahawk/viewpages/ArtistViewPage.cpp" line="201"/>
|
||||
<source>Albums</source>
|
||||
<translation>Albums</translation>
|
||||
</message>
|
||||
@ -1111,7 +1111,7 @@ temporanea (OTP)</translation>
|
||||
<translation>Avanti</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/filemetadata/MetadataEditor.cpp" line="376"/>
|
||||
<location filename="../src/libtomahawk/filemetadata/MetadataEditor.cpp" line="381"/>
|
||||
<source>Properties</source>
|
||||
<translation>Proprietà</translation>
|
||||
</message>
|
||||
|
@ -348,7 +348,7 @@ connect and stream from you?</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/viewpages/ArtistViewPage.cpp" line="200"/>
|
||||
<location filename="../src/libtomahawk/viewpages/ArtistViewPage.cpp" line="201"/>
|
||||
<source>Albums</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
@ -1109,7 +1109,7 @@ Password (OTP)</source>
|
||||
<translation>次へ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/filemetadata/MetadataEditor.cpp" line="376"/>
|
||||
<location filename="../src/libtomahawk/filemetadata/MetadataEditor.cpp" line="381"/>
|
||||
<source>Properties</source>
|
||||
<translation>情報</translation>
|
||||
</message>
|
||||
|
@ -348,7 +348,7 @@ connect and stream from you?</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/viewpages/ArtistViewPage.cpp" line="200"/>
|
||||
<location filename="../src/libtomahawk/viewpages/ArtistViewPage.cpp" line="201"/>
|
||||
<source>Albums</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
@ -1109,7 +1109,7 @@ Password (OTP)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/filemetadata/MetadataEditor.cpp" line="376"/>
|
||||
<location filename="../src/libtomahawk/filemetadata/MetadataEditor.cpp" line="381"/>
|
||||
<source>Properties</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
|
@ -348,7 +348,7 @@ connect and stream from you?</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/viewpages/ArtistViewPage.cpp" line="200"/>
|
||||
<location filename="../src/libtomahawk/viewpages/ArtistViewPage.cpp" line="201"/>
|
||||
<source>Albums</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
@ -1109,7 +1109,7 @@ Password (OTP)</source>
|
||||
<translation>Pirmyn</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/filemetadata/MetadataEditor.cpp" line="376"/>
|
||||
<location filename="../src/libtomahawk/filemetadata/MetadataEditor.cpp" line="381"/>
|
||||
<source>Properties</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
|
@ -348,7 +348,7 @@ connect and stream from you?</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/viewpages/ArtistViewPage.cpp" line="200"/>
|
||||
<location filename="../src/libtomahawk/viewpages/ArtistViewPage.cpp" line="201"/>
|
||||
<source>Albums</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
@ -1109,7 +1109,7 @@ Password (OTP)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/filemetadata/MetadataEditor.cpp" line="376"/>
|
||||
<location filename="../src/libtomahawk/filemetadata/MetadataEditor.cpp" line="381"/>
|
||||
<source>Properties</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
|
@ -349,7 +349,7 @@ te verbinden en te streamen vanuit jou?</translation>
|
||||
<translation>Nummers</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/viewpages/ArtistViewPage.cpp" line="200"/>
|
||||
<location filename="../src/libtomahawk/viewpages/ArtistViewPage.cpp" line="201"/>
|
||||
<source>Albums</source>
|
||||
<translation>Albums</translation>
|
||||
</message>
|
||||
@ -1111,7 +1111,7 @@ opgeven (OTP)</translation>
|
||||
<translation>Vooruit</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/filemetadata/MetadataEditor.cpp" line="376"/>
|
||||
<location filename="../src/libtomahawk/filemetadata/MetadataEditor.cpp" line="381"/>
|
||||
<source>Properties</source>
|
||||
<translation>Eigenschappen</translation>
|
||||
</message>
|
||||
|
@ -349,7 +349,7 @@ połączyć się i strumieniować od ciebie?</translation>
|
||||
<translation>Utwory</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/viewpages/ArtistViewPage.cpp" line="200"/>
|
||||
<location filename="../src/libtomahawk/viewpages/ArtistViewPage.cpp" line="201"/>
|
||||
<source>Albums</source>
|
||||
<translation>Albumy</translation>
|
||||
</message>
|
||||
@ -1111,7 +1111,7 @@ jednorazowe (OTP)</translation>
|
||||
<translation>Naprzód</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/filemetadata/MetadataEditor.cpp" line="376"/>
|
||||
<location filename="../src/libtomahawk/filemetadata/MetadataEditor.cpp" line="381"/>
|
||||
<source>Properties</source>
|
||||
<translation>Właściwości</translation>
|
||||
</message>
|
||||
|
@ -349,7 +349,7 @@ se conecte e faça o stream de você?</translation>
|
||||
<translation>Faixas</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/viewpages/ArtistViewPage.cpp" line="200"/>
|
||||
<location filename="../src/libtomahawk/viewpages/ArtistViewPage.cpp" line="201"/>
|
||||
<source>Albums</source>
|
||||
<translation>Álbuns</translation>
|
||||
</message>
|
||||
@ -1110,7 +1110,7 @@ Password (OTP)</source>
|
||||
<translation>Avançar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/filemetadata/MetadataEditor.cpp" line="376"/>
|
||||
<location filename="../src/libtomahawk/filemetadata/MetadataEditor.cpp" line="381"/>
|
||||
<source>Properties</source>
|
||||
<translation>Propriedades</translation>
|
||||
</message>
|
||||
|
4648
lang/tomahawk_pt_PT.ts
Normal file
4648
lang/tomahawk_pt_PT.ts
Normal file
File diff suppressed because it is too large
Load Diff
@ -349,7 +349,7 @@ se conecteze și să redea de la tine?</translation>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/viewpages/ArtistViewPage.cpp" line="200"/>
|
||||
<location filename="../src/libtomahawk/viewpages/ArtistViewPage.cpp" line="201"/>
|
||||
<source>Albums</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
@ -1111,7 +1111,7 @@ Password (OTP)</translation>
|
||||
<translation>Înainte</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/filemetadata/MetadataEditor.cpp" line="376"/>
|
||||
<location filename="../src/libtomahawk/filemetadata/MetadataEditor.cpp" line="381"/>
|
||||
<source>Properties</source>
|
||||
<translation>Proprietăți</translation>
|
||||
</message>
|
||||
|
@ -350,7 +350,7 @@ connect and stream from you?</source>
|
||||
<translation>Песни</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/viewpages/ArtistViewPage.cpp" line="200"/>
|
||||
<location filename="../src/libtomahawk/viewpages/ArtistViewPage.cpp" line="201"/>
|
||||
<source>Albums</source>
|
||||
<translation>Альбомы</translation>
|
||||
</message>
|
||||
@ -1112,7 +1112,7 @@ Password (OTP)</source>
|
||||
<translation>Вперед</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/filemetadata/MetadataEditor.cpp" line="376"/>
|
||||
<location filename="../src/libtomahawk/filemetadata/MetadataEditor.cpp" line="381"/>
|
||||
<source>Properties</source>
|
||||
<translation>Свойства</translation>
|
||||
</message>
|
||||
|
@ -349,7 +349,7 @@ lidhuni dhe transmeto nga ju?</translation>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/viewpages/ArtistViewPage.cpp" line="200"/>
|
||||
<location filename="../src/libtomahawk/viewpages/ArtistViewPage.cpp" line="201"/>
|
||||
<source>Albums</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
@ -1110,7 +1110,7 @@ Password (OTP)</source>
|
||||
<translation>Përpara</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/filemetadata/MetadataEditor.cpp" line="376"/>
|
||||
<location filename="../src/libtomahawk/filemetadata/MetadataEditor.cpp" line="381"/>
|
||||
<source>Properties</source>
|
||||
<translation>Cilësimet</translation>
|
||||
</message>
|
||||
|
@ -349,7 +349,7 @@ ansluta och strömma från dig?</translation>
|
||||
<translation>Låtar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/viewpages/ArtistViewPage.cpp" line="200"/>
|
||||
<location filename="../src/libtomahawk/viewpages/ArtistViewPage.cpp" line="201"/>
|
||||
<source>Albums</source>
|
||||
<translation>Album</translation>
|
||||
</message>
|
||||
@ -1110,7 +1110,7 @@ Password (OTP)</source>
|
||||
<translation>Framåt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/filemetadata/MetadataEditor.cpp" line="376"/>
|
||||
<location filename="../src/libtomahawk/filemetadata/MetadataEditor.cpp" line="381"/>
|
||||
<source>Properties</source>
|
||||
<translation>Egenskaper</translation>
|
||||
</message>
|
||||
|
@ -349,7 +349,7 @@ connect and stream from you?</source>
|
||||
<translation>เพลง</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/viewpages/ArtistViewPage.cpp" line="200"/>
|
||||
<location filename="../src/libtomahawk/viewpages/ArtistViewPage.cpp" line="201"/>
|
||||
<source>Albums</source>
|
||||
<translation>อัลบั้ม</translation>
|
||||
</message>
|
||||
@ -1110,7 +1110,7 @@ Password (OTP)</source>
|
||||
<translation>เดินหน้า</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/filemetadata/MetadataEditor.cpp" line="376"/>
|
||||
<location filename="../src/libtomahawk/filemetadata/MetadataEditor.cpp" line="381"/>
|
||||
<source>Properties</source>
|
||||
<translation>คุณสมบัติ</translation>
|
||||
</message>
|
||||
|
@ -348,7 +348,7 @@ connect and stream from you?</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/viewpages/ArtistViewPage.cpp" line="200"/>
|
||||
<location filename="../src/libtomahawk/viewpages/ArtistViewPage.cpp" line="201"/>
|
||||
<source>Albums</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
@ -1109,7 +1109,7 @@ Password (OTP)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/filemetadata/MetadataEditor.cpp" line="376"/>
|
||||
<location filename="../src/libtomahawk/filemetadata/MetadataEditor.cpp" line="381"/>
|
||||
<source>Properties</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
|
@ -349,7 +349,7 @@ connect and stream from you?</source>
|
||||
<translation>Пісні</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/viewpages/ArtistViewPage.cpp" line="200"/>
|
||||
<location filename="../src/libtomahawk/viewpages/ArtistViewPage.cpp" line="201"/>
|
||||
<source>Albums</source>
|
||||
<translation>Альбоми</translation>
|
||||
</message>
|
||||
@ -1111,7 +1111,7 @@ Password (OTP)</source>
|
||||
<translation>Вперед</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/filemetadata/MetadataEditor.cpp" line="376"/>
|
||||
<location filename="../src/libtomahawk/filemetadata/MetadataEditor.cpp" line="381"/>
|
||||
<source>Properties</source>
|
||||
<translation>Властивості</translation>
|
||||
</message>
|
||||
|
@ -348,7 +348,7 @@ connect and stream from you?</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/viewpages/ArtistViewPage.cpp" line="200"/>
|
||||
<location filename="../src/libtomahawk/viewpages/ArtistViewPage.cpp" line="201"/>
|
||||
<source>Albums</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
@ -1109,7 +1109,7 @@ Password (OTP)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/filemetadata/MetadataEditor.cpp" line="376"/>
|
||||
<location filename="../src/libtomahawk/filemetadata/MetadataEditor.cpp" line="381"/>
|
||||
<source>Properties</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
|
@ -348,7 +348,7 @@ connect and stream from you?</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/viewpages/ArtistViewPage.cpp" line="200"/>
|
||||
<location filename="../src/libtomahawk/viewpages/ArtistViewPage.cpp" line="201"/>
|
||||
<source>Albums</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
@ -1109,7 +1109,7 @@ Password (OTP)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/filemetadata/MetadataEditor.cpp" line="376"/>
|
||||
<location filename="../src/libtomahawk/filemetadata/MetadataEditor.cpp" line="381"/>
|
||||
<source>Properties</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
|
@ -348,7 +348,7 @@ connect and stream from you?</source>
|
||||
<translation>曲目</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/viewpages/ArtistViewPage.cpp" line="200"/>
|
||||
<location filename="../src/libtomahawk/viewpages/ArtistViewPage.cpp" line="201"/>
|
||||
<source>Albums</source>
|
||||
<translation>专辑</translation>
|
||||
</message>
|
||||
@ -1110,7 +1110,7 @@ Password (OTP)</source>
|
||||
<translation>下一个</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/filemetadata/MetadataEditor.cpp" line="376"/>
|
||||
<location filename="../src/libtomahawk/filemetadata/MetadataEditor.cpp" line="381"/>
|
||||
<source>Properties</source>
|
||||
<translation>属性</translation>
|
||||
</message>
|
||||
|
@ -348,7 +348,7 @@ connect and stream from you?</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/viewpages/ArtistViewPage.cpp" line="200"/>
|
||||
<location filename="../src/libtomahawk/viewpages/ArtistViewPage.cpp" line="201"/>
|
||||
<source>Albums</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
@ -1109,7 +1109,7 @@ Password (OTP)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libtomahawk/filemetadata/MetadataEditor.cpp" line="376"/>
|
||||
<location filename="../src/libtomahawk/filemetadata/MetadataEditor.cpp" line="381"/>
|
||||
<source>Properties</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
|
@ -108,7 +108,7 @@ ActionCollection::initActions()
|
||||
connect( m_actionCollection[ "nextTrack" ], SIGNAL( triggered() ), ae, SLOT( next() ), Qt::UniqueConnection );
|
||||
|
||||
// main menu actions
|
||||
m_actionCollection[ "loadXSPF" ] = new QAction( tr( "Import Playlist..." ), this );
|
||||
m_actionCollection[ "importPlaylist" ] = new QAction( tr( "Import Playlist..." ), this );
|
||||
m_actionCollection[ "updateCollection" ] = new QAction( tr( "U&pdate Collection" ), this );
|
||||
m_actionCollection[ "rescanCollection" ] = new QAction( tr( "Fully &Rescan Collection" ), this );
|
||||
m_actionCollection[ "showOfflineSources" ] = new QAction( tr( "Show Offline Friends" ), this );
|
||||
@ -163,7 +163,7 @@ ActionCollection::createMenuBar( QWidget *parent )
|
||||
controlsMenu->addAction( m_actionCollection[ "togglePrivacy" ] );
|
||||
controlsMenu->addAction( m_actionCollection[ "showOfflineSources" ] );
|
||||
controlsMenu->addSeparator();
|
||||
controlsMenu->addAction( m_actionCollection[ "loadXSPF" ] );
|
||||
controlsMenu->addAction( m_actionCollection[ "importPlaylist" ] );
|
||||
controlsMenu->addAction( m_actionCollection[ "updateCollection" ] );
|
||||
controlsMenu->addAction( m_actionCollection[ "rescanCollection" ] );
|
||||
controlsMenu->addSeparator();
|
||||
@ -226,7 +226,7 @@ ActionCollection::createMenuBar( QWidget *parent )
|
||||
|
||||
|
||||
QMenu*
|
||||
ActionCollection::createCompactMenu( QWidget *parent )
|
||||
ActionCollection::createCompactMenu( QWidget* parent )
|
||||
{
|
||||
QMenu* compactMenu = new QMenu( tr( "Main Menu" ), parent );
|
||||
compactMenu->setFont( TomahawkUtils::systemFont() );
|
||||
@ -238,7 +238,7 @@ ActionCollection::createCompactMenu( QWidget *parent )
|
||||
compactMenu->addAction( m_actionCollection[ "togglePrivacy" ] );
|
||||
compactMenu->addAction( m_actionCollection[ "showOfflineSources" ] );
|
||||
compactMenu->addSeparator();
|
||||
compactMenu->addAction( m_actionCollection[ "loadXSPF" ] );
|
||||
compactMenu->addAction( m_actionCollection[ "importPlaylist" ] );
|
||||
compactMenu->addAction( m_actionCollection[ "updateCollection" ] );
|
||||
compactMenu->addAction( m_actionCollection[ "rescanCollection" ] );
|
||||
compactMenu->addSeparator();
|
||||
|
@ -39,7 +39,7 @@ public:
|
||||
|
||||
static ActionCollection* instance();
|
||||
|
||||
ActionCollection( QObject *parent );
|
||||
ActionCollection( QObject* parent );
|
||||
~ActionCollection();
|
||||
|
||||
void initActions();
|
||||
@ -47,7 +47,7 @@ public:
|
||||
/**
|
||||
* This method returns a main menu bar, suitable for Windows, Mac and X11.
|
||||
*/
|
||||
QMenuBar *createMenuBar( QWidget *parent );
|
||||
QMenuBar* createMenuBar( QWidget* parent );
|
||||
|
||||
/**
|
||||
* Returns a QMenu with all the entries that would normally be in the main menu,
|
||||
@ -55,7 +55,7 @@ public:
|
||||
* and fairly little sense on Unity and other X11 desktop configurations which pull
|
||||
* out the menu bar from the window.
|
||||
*/
|
||||
QMenu *createCompactMenu( QWidget *parent );
|
||||
QMenu* createCompactMenu( QWidget* parent );
|
||||
|
||||
QAction* getAction( const QString& name );
|
||||
QList< QAction* > getAction( ActionDestination category );
|
||||
|
@ -1545,19 +1545,19 @@ TomahawkSettings::updateIndex()
|
||||
|
||||
|
||||
QString
|
||||
TomahawkSettings::importXspfPath() const
|
||||
TomahawkSettings::importPlaylistPath() const
|
||||
{
|
||||
if ( contains( "importXspfPath" ) )
|
||||
return value( "importXspfPath" ).toString();
|
||||
if ( contains( "importPlaylistPath" ) )
|
||||
return value( "importPlaylistPath" ).toString();
|
||||
else
|
||||
return QDir::homePath();
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
TomahawkSettings::setImportXspfPath( const QString& path )
|
||||
TomahawkSettings::setImportPlaylistPath( const QString& path )
|
||||
{
|
||||
setValue( "importXspfPath", path );
|
||||
setValue( "importPlaylistPath", path );
|
||||
}
|
||||
|
||||
|
||||
|
@ -216,8 +216,8 @@ public:
|
||||
PrivateListeningMode privateListeningMode() const;
|
||||
void setPrivateListeningMode( PrivateListeningMode mode );
|
||||
|
||||
void setImportXspfPath( const QString& path );
|
||||
QString importXspfPath() const;
|
||||
void setImportPlaylistPath( const QString& path );
|
||||
QString importPlaylistPath() const;
|
||||
|
||||
Tomahawk::SerializedUpdaters playlistUpdaters() const;
|
||||
void setPlaylistUpdaters( const Tomahawk::SerializedUpdaters& updaters );
|
||||
|
@ -173,6 +173,21 @@ AudioOutput::setCurrentSource( QIODevice* stream )
|
||||
}
|
||||
|
||||
|
||||
int readCallback ( void* data, const char* cookie, int64_t* dts, int64_t* pts, unsigned* flags, size_t* bufferSize, void** buffer )
|
||||
{
|
||||
MediaStream* mediaStream = static_cast< MediaStream * >( data );
|
||||
return mediaStream->readCallback( cookie, dts, pts, flags, bufferSize, buffer );
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
readDoneCallback ( void *data, const char *cookie, size_t bufferSize, void *buffer )
|
||||
{
|
||||
MediaStream* mediaStream = static_cast< MediaStream * >( data );
|
||||
return mediaStream->readDoneCallback( cookie, bufferSize, buffer );
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
AudioOutput::setCurrentSource( MediaStream* stream )
|
||||
{
|
||||
@ -248,9 +263,9 @@ AudioOutput::setCurrentSource( MediaStream* stream )
|
||||
libvlc_media_add_option_flag(m_vlcMedia, "imem-cat=4", libvlc_media_option_trusted);
|
||||
const char* imemData = QString( "imem-data=%1" ).arg( (uintptr_t)stream ).toLatin1().constData();
|
||||
libvlc_media_add_option_flag(m_vlcMedia, imemData, libvlc_media_option_trusted);
|
||||
const char* imemGet = QString( "imem-get=%1" ).arg( (uintptr_t)&MediaStream::readCallback ).toLatin1().constData();
|
||||
const char* imemGet = QString( "imem-get=%1" ).arg( (uintptr_t)&readCallback ).toLatin1().constData();
|
||||
libvlc_media_add_option_flag(m_vlcMedia, imemGet, libvlc_media_option_trusted);
|
||||
const char* imemRelease = QString( "imem-release=%1" ).arg( (uintptr_t)&MediaStream::readDoneCallback ).toLatin1().constData();
|
||||
const char* imemRelease = QString( "imem-release=%1" ).arg( (uintptr_t)&readDoneCallback ).toLatin1().constData();
|
||||
libvlc_media_add_option_flag(m_vlcMedia, imemRelease, libvlc_media_option_trusted);
|
||||
const char* imemSeek = QString( "imem-seek=%1" ).arg( (uintptr_t)&MediaStream::seekCallback ).toLatin1().constData();
|
||||
libvlc_media_add_option_flag(m_vlcMedia, imemSeek, libvlc_media_option_trusted);
|
||||
|
@ -98,38 +98,43 @@ MediaStream::bufferingFinished()
|
||||
|
||||
|
||||
int
|
||||
MediaStream::readCallback ( void* data, const char* cookie, int64_t* dts, int64_t* pts, unsigned* flags, size_t* bufferSize, void** buffer )
|
||||
MediaStream::readCallback ( const char* cookie, int64_t* dts, int64_t* pts, unsigned* flags, size_t* bufferSize, void** buffer )
|
||||
{
|
||||
Q_UNUSED(cookie);
|
||||
Q_UNUSED(dts);
|
||||
Q_UNUSED(pts);
|
||||
Q_UNUSED(flags);
|
||||
|
||||
MediaStream* that = static_cast < MediaStream * > ( data );
|
||||
qint64 bufsize = 0;
|
||||
*bufferSize = 0;
|
||||
|
||||
if ( that->m_eos == true ) {
|
||||
if ( m_eos == true )
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
if ( that->m_type == Stream ) {
|
||||
bufsize = that->needData(buffer);
|
||||
if ( m_type == Stream )
|
||||
{
|
||||
bufsize = needData( buffer );
|
||||
}
|
||||
else if ( that->m_type == IODevice ) {
|
||||
bufsize = that->m_ioDevice->read( that->m_buffer, BLOCK_SIZE );
|
||||
*buffer = that->m_buffer;
|
||||
else if ( m_type == IODevice )
|
||||
{
|
||||
bufsize = m_ioDevice->read( m_buffer, BLOCK_SIZE );
|
||||
*buffer = m_buffer;
|
||||
}
|
||||
|
||||
if ( bufsize > 0 ) {
|
||||
that->m_started = true;
|
||||
if ( bufsize > 0 )
|
||||
{
|
||||
m_started = true;
|
||||
}
|
||||
if ( that->m_type == IODevice && bufsize == 0 && that->m_started && that->m_bufferingFinished == true ) {
|
||||
that->m_eos = true;
|
||||
if ( m_type == IODevice && bufsize == 0 && m_started && m_bufferingFinished == true )
|
||||
{
|
||||
m_eos = true;
|
||||
return -1;
|
||||
}
|
||||
if ( bufsize < 0 ) {
|
||||
that->m_eos = true;
|
||||
if ( bufsize < 0 )
|
||||
{
|
||||
m_eos = true;
|
||||
return -1;
|
||||
}
|
||||
|
||||
@ -139,14 +144,12 @@ MediaStream::readCallback ( void* data, const char* cookie, int64_t* dts, int64_
|
||||
|
||||
|
||||
int
|
||||
MediaStream::readDoneCallback ( void *data, const char *cookie, size_t bufferSize, void *buffer )
|
||||
MediaStream::readDoneCallback ( const char *cookie, size_t bufferSize, void *buffer )
|
||||
{
|
||||
Q_UNUSED(cookie);
|
||||
Q_UNUSED(bufferSize);
|
||||
|
||||
MediaStream* that = static_cast < MediaStream * > ( data );
|
||||
|
||||
if ( ( that->m_type == Stream ) && buffer != 0 && bufferSize > 0 ) {
|
||||
if ( ( m_type == Stream ) && buffer != nullptr && bufferSize > 0 ) {
|
||||
delete static_cast< char* >( buffer );
|
||||
}
|
||||
|
||||
|
@ -54,8 +54,8 @@ public:
|
||||
virtual void seekStream( qint64 offset ) { (void)offset; }
|
||||
virtual qint64 needData ( void** buffer ) { (void)buffer; return 0; }
|
||||
|
||||
static int readCallback ( void* data, const char* cookie, int64_t* dts, int64_t* pts, unsigned* flags, size_t* bufferSize, void** buffer );
|
||||
static int readDoneCallback ( void *data, const char *cookie, size_t bufferSize, void *buffer );
|
||||
int readCallback( const char* cookie, int64_t* dts, int64_t* pts, unsigned* flags, size_t* bufferSize, void** buffer );
|
||||
int readDoneCallback ( const char *cookie, size_t bufferSize, void *buffer );
|
||||
static int seekCallback ( void *data, const uint64_t pos );
|
||||
|
||||
public slots:
|
||||
|
@ -74,15 +74,13 @@ QNR_IODeviceStream::QNR_IODeviceStream( const QSharedPointer<QNetworkReply>& rep
|
||||
|
||||
QNR_IODeviceStream::~QNR_IODeviceStream()
|
||||
{
|
||||
tDebug() << Q_FUNC_INFO;
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
QNR_IODeviceStream::seekStream( qint64 offset )
|
||||
{
|
||||
tDebug() << Q_FUNC_INFO;
|
||||
|
||||
QMutexLocker locker( &m_mutex );
|
||||
m_pos = offset;
|
||||
}
|
||||
|
||||
@ -90,6 +88,7 @@ QNR_IODeviceStream::seekStream( qint64 offset )
|
||||
qint64
|
||||
QNR_IODeviceStream::needData ( void** buffer )
|
||||
{
|
||||
QMutexLocker locker( &m_mutex );
|
||||
QByteArray data = m_data.mid( m_pos, BLOCK_SIZE );
|
||||
m_pos += data.size();
|
||||
if ( ( data.size() == 0 ) && m_networkReply->atEnd() && m_networkReply->isFinished() )
|
||||
@ -101,13 +100,13 @@ QNR_IODeviceStream::needData ( void** buffer )
|
||||
|
||||
*buffer = new char[data.size()];
|
||||
memcpy(*buffer, data.data(), data.size());
|
||||
// tDebug() << Q_FUNC_INFO << " Returning buffer with size " << data.size();
|
||||
return data.size();
|
||||
}
|
||||
|
||||
void
|
||||
QNR_IODeviceStream::readyRead()
|
||||
{
|
||||
QMutexLocker locker( &m_mutex );
|
||||
m_data += m_networkReply->readAll();
|
||||
}
|
||||
|
||||
|
@ -26,6 +26,7 @@
|
||||
#include "DllMacro.h"
|
||||
|
||||
#include <QByteArray>
|
||||
#include <QMutex>
|
||||
#include <QNetworkReply>
|
||||
#include <QSharedPointer>
|
||||
|
||||
@ -52,6 +53,7 @@ private slots:
|
||||
void readyRead();
|
||||
|
||||
private:
|
||||
QMutex m_mutex;
|
||||
QByteArray m_data;
|
||||
QSharedPointer<QNetworkReply> m_networkReply;
|
||||
QTimer* m_timer;
|
||||
|
@ -384,15 +384,8 @@ PlayableProxyModel::lessThan( int column, const Tomahawk::query_ptr& q1, const T
|
||||
const unsigned int albumpos2 = t2->albumpos();
|
||||
const unsigned int discnumber1 = t1->discnumber();
|
||||
const unsigned int discnumber2 = t2->discnumber();
|
||||
qint64 id1 = 0, id2 = 0;
|
||||
|
||||
// This makes it a stable sorter and prevents items from randomly jumping about.
|
||||
// FIXME: This always true.
|
||||
if ( id1 == id2 )
|
||||
{
|
||||
id1 = (qint64)&q1;
|
||||
id2 = (qint64)&q2;
|
||||
}
|
||||
const qint64 id1 = (qint64)&q1;
|
||||
const qint64 id2 = (qint64)&q2;
|
||||
|
||||
if ( column == PlayableModel::Artist ) // sort by artist
|
||||
{
|
||||
@ -566,6 +559,18 @@ PlayableProxyModel::lessThan( int column, const Tomahawk::query_ptr& q1, const T
|
||||
}
|
||||
|
||||
|
||||
bool
|
||||
PlayableProxyModel::lessThan( const Tomahawk::album_ptr& album1, const Tomahawk::album_ptr& album2 ) const
|
||||
{
|
||||
if ( album1->artist() == album2->artist() )
|
||||
{
|
||||
return QString::localeAwareCompare( album1->sortname(), album2->sortname() ) < 0;
|
||||
}
|
||||
|
||||
return QString::localeAwareCompare( album1->artist()->sortname(), album2->artist()->sortname() ) < 0;
|
||||
}
|
||||
|
||||
|
||||
bool
|
||||
PlayableProxyModel::lessThan( const QModelIndex& left, const QModelIndex& right ) const
|
||||
{
|
||||
@ -581,6 +586,10 @@ PlayableProxyModel::lessThan( const QModelIndex& left, const QModelIndex& right
|
||||
{
|
||||
return lessThan( left.column(), p1->query(), p2->query() );
|
||||
}
|
||||
if ( p1->album() && p2->album() )
|
||||
{
|
||||
return lessThan( p1->album(), p2->album() );
|
||||
}
|
||||
|
||||
return QString::localeAwareCompare( sourceModel()->data( left ).toString(), sourceModel()->data( right ).toString() ) < 0;
|
||||
}
|
||||
|
@ -135,7 +135,9 @@ private:
|
||||
bool nameFilterAcceptsRow( int sourceRow, PlayableItem* pi, const QModelIndex& sourceParent ) const;
|
||||
bool dupeFilterAcceptsRow( int sourceRow, PlayableItem* pi, const QModelIndex& sourceParent, PlayableProxyModelFilterMemo& memo ) const;
|
||||
bool visibilityFilterAcceptsRow( int sourceRow, const QModelIndex& sourceParent, PlayableProxyModelFilterMemo& memo ) const;
|
||||
|
||||
bool lessThan( int column, const Tomahawk::query_ptr& left, const Tomahawk::query_ptr& right ) const;
|
||||
bool lessThan( const Tomahawk::album_ptr& album1, const Tomahawk::album_ptr& album2 ) const;
|
||||
|
||||
QPointer<PlayableModel> m_model;
|
||||
|
||||
|
@ -172,6 +172,7 @@ RecentlyPlayedModel::onPlaybackFinished( const Tomahawk::track_ptr& track, const
|
||||
void
|
||||
RecentlyPlayedModel::onTracksLoaded( QList<Tomahawk::track_ptr> tracks, QList<Tomahawk::PlaybackLog> logs )
|
||||
{
|
||||
finishLoading();
|
||||
for ( int i = 0; i < tracks.count(); i++ )
|
||||
{
|
||||
onPlaybackFinished( tracks.at( i ), logs.at( i ) );
|
||||
|
@ -216,8 +216,7 @@ TreeModel::addTracks( const album_ptr& album, const QModelIndex& parent, bool au
|
||||
connect( album.data(), SIGNAL( tracksAdded( QList<Tomahawk::query_ptr>, Tomahawk::ModelMode, Tomahawk::collection_ptr ) ),
|
||||
SLOT( onTracksFound( QList<Tomahawk::query_ptr>, Tomahawk::ModelMode, Tomahawk::collection_ptr ) ) );
|
||||
|
||||
if ( !album->tracks( m_mode, m_collection ).isEmpty() )
|
||||
onTracksAdded( album->tracks( m_mode, m_collection ), parent );
|
||||
onTracksAdded( album->tracks( m_mode, m_collection ), parent );
|
||||
}
|
||||
|
||||
|
||||
@ -305,6 +304,8 @@ TreeModel::onTracksAdded( const QList<Tomahawk::query_ptr>& tracks, const QModel
|
||||
|
||||
QPair< int, int > crows;
|
||||
int c = rowCount( parent );
|
||||
removeRows( 0, c, parent );
|
||||
|
||||
crows.first = c;
|
||||
crows.second = c + tracks.count() - 1;
|
||||
|
||||
|
@ -111,7 +111,7 @@ M3uLoader::parseLine( const QString& line, const QFile& file )
|
||||
{
|
||||
QFileInfo tmpFile( QUrl::fromUserInput( QString( line.simplified() ) ).toLocalFile() );
|
||||
|
||||
if( tmpFile.exists() )
|
||||
if ( tmpFile.exists() )
|
||||
{
|
||||
getTags( tmpFile );
|
||||
}
|
||||
@ -190,6 +190,7 @@ M3uLoader::parseM3u( const QString& fileLink )
|
||||
}
|
||||
else
|
||||
emit tracks( m_tracks );
|
||||
|
||||
m_tracks.clear();
|
||||
}
|
||||
|
||||
|
@ -47,6 +47,7 @@ public:
|
||||
|
||||
public slots:
|
||||
void parse();
|
||||
|
||||
private slots:
|
||||
void playlistCreated();
|
||||
|
||||
@ -57,7 +58,7 @@ signals:
|
||||
private:
|
||||
void parseM3u( const QString& track );
|
||||
void getTags( const QFileInfo& info );
|
||||
void parseLine(const QString& line , const QFile &file);
|
||||
void parseLine(const QString& line , const QFile& file);
|
||||
QList< query_ptr > m_tracks;
|
||||
QString m_title, m_info, m_creator;
|
||||
bool m_single;
|
||||
|
@ -295,6 +295,7 @@ tomahawkWindow()
|
||||
void
|
||||
bringToFront()
|
||||
{
|
||||
#if QT_VERSION < QT_VERSION_CHECK( 5, 0, 0 )
|
||||
#if defined(Q_WS_X11)
|
||||
{
|
||||
qDebug() << Q_FUNC_INFO;
|
||||
@ -348,6 +349,20 @@ bringToFront()
|
||||
}
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
#if QT_VERSION >= QT_VERSION_CHECK( 5, 0, 0 )
|
||||
{
|
||||
qDebug() << Q_FUNC_INFO;
|
||||
|
||||
QWidget* widget = tomahawkWindow();
|
||||
if ( !widget )
|
||||
return;
|
||||
|
||||
widget->show();
|
||||
widget->activateWindow();
|
||||
widget->raise();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -71,7 +71,6 @@ CollectionViewPage::CollectionViewPage( const Tomahawk::collection_ptr& collecti
|
||||
m_albumView->setItemWidth( TomahawkUtils::DpiScaler::scaledX( this, 170 ) );
|
||||
m_albumView->delegate()->setWordWrapping( true );
|
||||
|
||||
m_albumView->proxyModel()->sort( -1 );
|
||||
m_albumView->setEmptyTip( tr( "Sorry, there are no albums in this collection!" ) );
|
||||
|
||||
TomahawkStyle::stylePageFrame( m_albumView );
|
||||
@ -186,6 +185,7 @@ CollectionViewPage::setAlbumModel( PlayableModel* model )
|
||||
|
||||
m_albumModel = model;
|
||||
m_albumView->setPlayableModel( model );
|
||||
m_albumView->proxyModel()->sort( PlayableModel::Artist, Qt::AscendingOrder );
|
||||
|
||||
if ( oldModel )
|
||||
{
|
||||
|
@ -34,7 +34,7 @@ ENDIF( LIBLASTFM_FOUND )
|
||||
|
||||
SET( tomahawkSourcesGui ${tomahawkSourcesGui}
|
||||
dialogs/DiagnosticsDialog.cpp
|
||||
dialogs/LoadXSPFDialog.cpp
|
||||
dialogs/LoadPlaylistDialog.cpp
|
||||
dialogs/SettingsDialog.cpp
|
||||
|
||||
sourcetree/SourcesModel.cpp
|
||||
@ -74,7 +74,7 @@ SET( tomahawkSourcesGui ${tomahawkSourcesGui}
|
||||
SET( tomahawkUI ${tomahawkUI}
|
||||
dialogs/DiagnosticsDialog.ui
|
||||
dialogs/HostDialog.ui
|
||||
dialogs/LoadXSPFDialog.ui
|
||||
dialogs/LoadPlaylistDialog.ui
|
||||
dialogs/ProxyDialog.ui
|
||||
dialogs/Settings_Accounts.ui
|
||||
dialogs/Settings_Advanced.ui
|
||||
|
@ -48,6 +48,7 @@
|
||||
#include "utils/ProxyStyle.h"
|
||||
#include "utils/WidgetDragFilter.h"
|
||||
#include "utils/NetworkAccessManager.h"
|
||||
#include "utils/M3uLoader.h"
|
||||
#include "widgets/AccountsToolButton.h"
|
||||
#include "widgets/AnimatedSplitter.h"
|
||||
#include "widgets/ContainedMenuButton.h"
|
||||
@ -79,7 +80,7 @@
|
||||
#include "SourceList.h"
|
||||
#include "TomahawkTrayIcon.h"
|
||||
#include "TomahawkApp.h"
|
||||
#include "dialogs/LoadXSPFDialog.h"
|
||||
#include "dialogs/LoadPlaylistDialog.h"
|
||||
#include "utils/ImageRegistry.h"
|
||||
#include "utils/Logger.h"
|
||||
|
||||
@ -679,7 +680,7 @@ TomahawkWindow::setupSignals()
|
||||
connect( ac->getAction( "openLogfile" ), SIGNAL( triggered() ), SLOT( openLogfile() ) );
|
||||
connect( ac->getAction( "updateCollection" ), SIGNAL( triggered() ), SLOT( updateCollectionManually() ) );
|
||||
connect( ac->getAction( "rescanCollection" ), SIGNAL( triggered() ), SLOT( rescanCollectionManually() ) );
|
||||
connect( ac->getAction( "loadXSPF" ), SIGNAL( triggered() ), SLOT( loadSpiff() ) );
|
||||
connect( ac->getAction( "importPlaylist" ), SIGNAL( triggered() ), SLOT( loadPlaylist() ) );
|
||||
connect( ac->getAction( "whatsnew_0_8" ), SIGNAL( triggered() ), SLOT( showWhatsNew_0_8() ) );
|
||||
connect( ac->getAction( "aboutTomahawk" ), SIGNAL( triggered() ), SLOT( showAboutTomahawk() ) );
|
||||
connect( ac->getAction( "quit" ), SIGNAL( triggered() ), qApp, SLOT( quit() ) );
|
||||
@ -1166,46 +1167,54 @@ TomahawkWindow::fullScreenExited()
|
||||
|
||||
|
||||
void
|
||||
TomahawkWindow::loadSpiff()
|
||||
TomahawkWindow::loadPlaylist()
|
||||
{
|
||||
LoadXSPFDialog* diag = new LoadXSPFDialog( this, Qt::Sheet );
|
||||
LoadPlaylistDialog* diag = new LoadPlaylistDialog( this, Qt::Sheet );
|
||||
#ifdef Q_OS_MAC
|
||||
connect( diag, SIGNAL( finished( int ) ), this, SLOT( loadXspfFinished( int ) ) );
|
||||
connect( diag, SIGNAL( finished( int ) ), this, SLOT( loadPlaylistFinished( int ) ) );
|
||||
diag->show();
|
||||
#else
|
||||
QPointer< LoadXSPFDialog > safe( diag );
|
||||
QPointer< LoadPlaylistDialog > safe( diag );
|
||||
|
||||
int ret = diag->exec();
|
||||
if ( !safe.isNull() && ret == QDialog::Accepted )
|
||||
{
|
||||
QUrl url = QUrl::fromUserInput( safe.data()->xspfUrl() );
|
||||
bool autoUpdate = safe.data()->autoUpdate();
|
||||
|
||||
XSPFLoader* loader = new XSPFLoader( true, autoUpdate );
|
||||
connect( loader, SIGNAL( error( XSPFLoader::XSPFErrorCode ) ), SLOT( onXSPFError( XSPFLoader::XSPFErrorCode ) ) );
|
||||
connect( loader, SIGNAL( ok( Tomahawk::playlist_ptr ) ), SLOT( onXSPFOk( Tomahawk::playlist_ptr ) ) );
|
||||
loader->load( url );
|
||||
importPlaylist( safe->url(), safe->autoUpdate() );
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
TomahawkWindow::loadXspfFinished( int ret )
|
||||
TomahawkWindow::loadPlaylistFinished( int ret )
|
||||
{
|
||||
LoadXSPFDialog* d = qobject_cast< LoadXSPFDialog* >( sender() );
|
||||
LoadPlaylistDialog* d = qobject_cast< LoadPlaylistDialog* >( sender() );
|
||||
Q_ASSERT( d );
|
||||
if ( ret == QDialog::Accepted )
|
||||
{
|
||||
QUrl url = QUrl::fromUserInput( d->xspfUrl() );
|
||||
bool autoUpdate = d->autoUpdate();
|
||||
importPlaylist( d->url(), d->autoUpdate() );
|
||||
}
|
||||
d->deleteLater();
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
TomahawkWindow::importPlaylist( const QString& url, bool autoUpdate )
|
||||
{
|
||||
const QUrl u = QUrl::fromUserInput( url );
|
||||
|
||||
if ( u.toString().toLower().endsWith( ".m3u" ) )
|
||||
{
|
||||
M3uLoader* loader = new M3uLoader( u.toString(), true );
|
||||
loader->parse();
|
||||
}
|
||||
else
|
||||
{
|
||||
XSPFLoader* loader = new XSPFLoader( true, autoUpdate );
|
||||
connect( loader, SIGNAL( error( XSPFLoader::XSPFErrorCode ) ), SLOT( onXSPFError( XSPFLoader::XSPFErrorCode ) ) );
|
||||
connect( loader, SIGNAL( ok( Tomahawk::playlist_ptr ) ), SLOT( onXSPFOk( Tomahawk::playlist_ptr ) ) );
|
||||
loader->load( url );
|
||||
loader->load( u );
|
||||
}
|
||||
d->deleteLater();
|
||||
}
|
||||
|
||||
|
||||
|
@ -99,7 +99,7 @@ protected:
|
||||
public slots:
|
||||
void createStation();
|
||||
void createPlaylist();
|
||||
void loadSpiff();
|
||||
void loadPlaylist();
|
||||
void showSettingsDialog();
|
||||
void showDiagnosticsDialog();
|
||||
void legalInfo();
|
||||
@ -137,7 +137,7 @@ private slots:
|
||||
void onSearch( const QString& search );
|
||||
void onFilterEdited();
|
||||
|
||||
void loadXspfFinished( int );
|
||||
void loadPlaylistFinished( int );
|
||||
|
||||
void minimize();
|
||||
void maximize();
|
||||
@ -166,6 +166,8 @@ private:
|
||||
void setupShortcuts();
|
||||
void setupUpdateCheck();
|
||||
|
||||
void importPlaylist( const QString& url, bool autoUpdate );
|
||||
|
||||
#ifdef Q_OS_WIN
|
||||
bool setupWindowsButtons();
|
||||
#if QT_VERSION < QT_VERSION_CHECK( 5, 2, 0 )
|
||||
|
@ -1,6 +1,7 @@
|
||||
/* === This file is part of Tomahawk Player - <http://tomahawk-player.org> ===
|
||||
*
|
||||
* Copyright 2010-2011, Leo Franchi <lfranchi@kde.org>
|
||||
* Copyright 2014, Christian Muehlhaeuser <muesli@tomahawk-player.org>
|
||||
*
|
||||
* Tomahawk is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@ -16,53 +17,70 @@
|
||||
* along with Tomahawk. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "LoadXSPFDialog.h"
|
||||
#include "ui_LoadXSPFDialog.h"
|
||||
#include "LoadPlaylistDialog.h"
|
||||
#include "ui_LoadPlaylistDialog.h"
|
||||
|
||||
#include "TomahawkSettings.h"
|
||||
#include "Source.h"
|
||||
|
||||
#include <QFileDialog>
|
||||
|
||||
LoadXSPFDialog::LoadXSPFDialog( QWidget* parent, Qt::WindowFlags f )
|
||||
LoadPlaylistDialog::LoadPlaylistDialog( QWidget* parent, Qt::WindowFlags f )
|
||||
: QDialog( parent, f )
|
||||
, m_ui( new Ui_LoadXSPF )
|
||||
, m_ui( new Ui_LoadPlaylist )
|
||||
{
|
||||
m_ui->setupUi( this );
|
||||
|
||||
#ifdef Q_OS_MAC
|
||||
m_ui->horizontalLayout->setContentsMargins( 0, 0, 0, 0 );
|
||||
m_ui->horizontalLayout->setSpacing( 5 );
|
||||
m_ui->verticalLayout->setContentsMargins( 0, 10, 0, 0 );
|
||||
m_ui->verticalLayout->setSpacing( 0 );
|
||||
#endif
|
||||
|
||||
setMinimumSize( sizeHint() );
|
||||
m_ui->autoUpdate->setEnabled( false );
|
||||
|
||||
connect( m_ui->navigateButton, SIGNAL( clicked( bool ) ), this, SLOT( getLocalFile() ) );
|
||||
connect( m_ui->lineEdit, SIGNAL( textChanged( QString ) ), this, SLOT( onUrlChanged() ) );
|
||||
}
|
||||
|
||||
LoadXSPFDialog::~LoadXSPFDialog()
|
||||
|
||||
LoadPlaylistDialog::~LoadPlaylistDialog()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
LoadXSPFDialog::getLocalFile()
|
||||
LoadPlaylistDialog::getLocalFile()
|
||||
{
|
||||
const QString path = TomahawkSettings::instance()->importXspfPath();
|
||||
QString url = QFileDialog::getOpenFileName( this, tr( "Load XSPF File" ), path, tr( "XSPF Files (*.xspf)" ) );
|
||||
const QString path = TomahawkSettings::instance()->importPlaylistPath();
|
||||
QString url = QFileDialog::getOpenFileName( this, tr( "Load Playlist" ), path, tr( "Playlists (*.xspf *.m3u)" ) );
|
||||
|
||||
if ( !url.isEmpty() )
|
||||
TomahawkSettings::instance()->setImportXspfPath( QFileInfo( url ).absoluteDir().absolutePath() );
|
||||
{
|
||||
const QFileInfo fi( url );
|
||||
TomahawkSettings::instance()->setImportPlaylistPath( fi.absoluteDir().absolutePath() );
|
||||
}
|
||||
|
||||
m_ui->lineEdit->setText( url );
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
LoadPlaylistDialog::onUrlChanged()
|
||||
{
|
||||
m_ui->autoUpdate->setEnabled( m_ui->lineEdit->text().trimmed().startsWith( "http://" ) );
|
||||
}
|
||||
|
||||
|
||||
QString
|
||||
LoadXSPFDialog::xspfUrl() const
|
||||
LoadPlaylistDialog::url() const
|
||||
{
|
||||
return m_ui->lineEdit->text();
|
||||
}
|
||||
|
||||
|
||||
bool
|
||||
LoadXSPFDialog::autoUpdate() const
|
||||
LoadPlaylistDialog::autoUpdate() const
|
||||
{
|
||||
return m_ui->autoUpdate->isChecked();
|
||||
}
|
@ -1,6 +1,7 @@
|
||||
/* === This file is part of Tomahawk Player - <http://tomahawk-player.org> ===
|
||||
*
|
||||
* Copyright 2010-2011, Leo Franchi <lfranchi@kde.org>
|
||||
* Copyright 2014, Christian Muehlhaeuser <muesli@tomahawk-player.org>
|
||||
*
|
||||
* Tomahawk is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@ -16,28 +17,31 @@
|
||||
* along with Tomahawk. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef LOADXSPFDIALOG_H
|
||||
#define LOADXSPFDIALOG_H
|
||||
#ifndef LOADPLAYLISTDIALOG_H
|
||||
#define LOADPLAYLISTDIALOG_H
|
||||
|
||||
#include <QDialog>
|
||||
|
||||
class Ui_LoadXSPF;
|
||||
class Ui_LoadPlaylist;
|
||||
|
||||
class LoadXSPFDialog : public QDialog
|
||||
class LoadPlaylistDialog : public QDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit LoadXSPFDialog( QWidget* parent = 0, Qt::WindowFlags f = 0 );
|
||||
virtual ~LoadXSPFDialog();
|
||||
explicit LoadPlaylistDialog( QWidget* parent = 0, Qt::WindowFlags f = 0 );
|
||||
virtual ~LoadPlaylistDialog();
|
||||
|
||||
QString xspfUrl() const;
|
||||
QString url() const;
|
||||
bool autoUpdate() const;
|
||||
|
||||
public slots:
|
||||
void getLocalFile();
|
||||
|
||||
private slots:
|
||||
void onUrlChanged();
|
||||
|
||||
private:
|
||||
Ui_LoadXSPF* m_ui;
|
||||
Ui_LoadPlaylist* m_ui;
|
||||
};
|
||||
|
||||
#endif // LOADXSPFDIALOG_H
|
||||
#endif // LOADPLAYLISTDIALOG_H
|
@ -1,17 +1,17 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>LoadXSPF</class>
|
||||
<widget class="QDialog" name="LoadXSPF">
|
||||
<class>LoadPlaylist</class>
|
||||
<widget class="QDialog" name="LoadPlaylist">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>444</width>
|
||||
<height>241</height>
|
||||
<width>481</width>
|
||||
<height>199</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Load XSPF</string>
|
||||
<string>Load Playlist</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
@ -19,6 +19,9 @@
|
||||
<property name="text">
|
||||
<string>Enter the URL of the hosted playlist (e.g. .xspf format) or click the button to select a local M3U of XSPF playlist to import.</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
@ -75,6 +78,9 @@
|
||||
<property name="text">
|
||||
<string>To import a playlist from Spotify, Rdio, Beats, etc. - simply drag the link into Tomahawk.</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
@ -97,7 +103,7 @@
|
||||
<connection>
|
||||
<sender>buttonBox</sender>
|
||||
<signal>accepted()</signal>
|
||||
<receiver>LoadXSPF</receiver>
|
||||
<receiver>LoadPlaylist</receiver>
|
||||
<slot>accept()</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
@ -113,7 +119,7 @@
|
||||
<connection>
|
||||
<sender>buttonBox</sender>
|
||||
<signal>rejected()</signal>
|
||||
<receiver>LoadXSPF</receiver>
|
||||
<receiver>LoadPlaylist</receiver>
|
||||
<slot>reject()</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
Loading…
x
Reference in New Issue
Block a user