diff --git a/CMakeLists.txt b/CMakeLists.txt index 5ff9d2629..c63ef54c7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -72,7 +72,7 @@ IF( NOT BUILD_GUI ) MESSAGE( STATUS "Building Tomahawk ${TOMAHAWK_VERSION} in HEADLESS mode ***" ) ELSE() MESSAGE( STATUS "Building Tomahawk ${TOMAHAWK_VERSION} full GUI version ***" ) - LIST(APPEND NEEDED_QT4_COMPONENTS "QtGui" "QtWebkit" ) + LIST(APPEND NEEDED_QT4_COMPONENTS "QtGui" "QtWebkit" "QtUiTools" ) ENDIF() IF( BUILD_GUI AND UNIX AND NOT APPLE ) @@ -80,7 +80,7 @@ IF( BUILD_GUI AND UNIX AND NOT APPLE ) ENDIF() macro_optional_find_package(Qt4 4.7.0 COMPONENTS ${NEEDED_QT4_COMPONENTS} ) -macro_log_feature(QT4_FOUND "Qt" "A cross-platform application and UI framework" "http://qt.nokia.com" TRUE "" "If you see this, although libqt4-devel is installed, check whether \n the qtwebkit-devel package is installed as well") +macro_log_feature(QT4_FOUND "Qt" "A cross-platform application and UI framework" "http://qt.nokia.com" TRUE "" "If you see this, although libqt4-devel is installed, check whether the \n qtwebkit-devel package and whatever contains QtUiTools is installed too") macro_optional_find_package(Phonon 4.5.0) macro_log_feature(PHONON_FOUND "Phonon" "The Phonon multimedia library" "http://phonon.kde.org" TRUE "" "") diff --git a/CMakeModules/FindTaglib.cmake b/CMakeModules/FindTaglib.cmake index fd4480460..e0efbef97 100644 --- a/CMakeModules/FindTaglib.cmake +++ b/CMakeModules/FindTaglib.cmake @@ -56,7 +56,7 @@ ELSE() include(FindLibraryWithDebug) include(FindPackageHandleStandardArgs) - find_path(TAGLIB_CFLAGS + find_path(TAGLIB_INCLUDES NAMES tag.h PATH_SUFFIXES taglib diff --git a/admin/win/Toolchain-mingw32-openSUSE.cmake b/admin/win/Toolchain-mingw32-openSUSE.cmake index 0be73a183..2dcd0ce69 100644 --- a/admin/win/Toolchain-mingw32-openSUSE.cmake +++ b/admin/win/Toolchain-mingw32-openSUSE.cmake @@ -17,10 +17,6 @@ SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) # libs with broken find modules -SET(TAGLIB_FOUND true) -SET(TAGLIB_LIBRARIES ${CMAKE_FIND_ROOT_PATH}/lib/libtag.dll.a) -SET(TAGLIB_INCLUDES ${CMAKE_FIND_ROOT_PATH}/include/taglib) - SET(QT_PLUGINS_DIR ${CMAKE_FIND_ROOT_PATH}/lib/qt4/plugins/) SET(QT_QTUITOOLS_LIBRARY_RELEASE ${CMAKE_FIND_ROOT_PATH}/lib/libQtUiTools.a) SET(QT_QTUITOOLS_LIBRARY_DEBUG ${CMAKE_FIND_ROOT_PATH}/lib/libQtUiToolsd.a) diff --git a/lang/tomahawk_i18n.qrc b/lang/tomahawk_i18n.qrc index 1c698d89d..7dbc698e6 100644 --- a/lang/tomahawk_i18n.qrc +++ b/lang/tomahawk_i18n.qrc @@ -4,5 +4,6 @@ tomahawk_de.qm tomahawk_sv.qm tomahawk_es.qm +tomahawk_pt_BR.qm diff --git a/lang/tomahawk_pt_BR.ts b/lang/tomahawk_pt_BR.ts new file mode 100644 index 000000000..c9baae3da --- /dev/null +++ b/lang/tomahawk_pt_BR.ts @@ -0,0 +1,3246 @@ + + + + + ActionCollection + + + &Listen Along + &Reproduzir acompanhado + + + + Stop &Listening Along + &Parar acompanhado + + + + &Follow in real-time + &Seguir em tempo real + + + + + &Listen Privately + &Escutar de forma privada + + + + + &Listen Publicly + &Escutar forma pública + + + + &Load Playlist + &Carregar lista de reprodução + + + + &Rename Playlist + &Renomear lista + + + + &Copy Playlist Link + &Copiar link da lista de reprodução + + + + &Play + &Reproduzir + + + + &Stop + &Parar + + + + &Previous Track + &Faixa anterior + + + + &Next Track + &Próxima faixa + + + + &Quit + &Sair + + + + AlbumInfoWidget + + + Form + Formulário + + + + Other Albums by Artist + Outros álbuns do artista + + + + + Click to show Super Collection Tracks + Clique para mostrar as Faixas da Super Biblioteca + + + + + Click to show Official Tracks + Clique para mostrar as Faixas Oficiais + + + + + Click to show Super Collection Albums + Clique para mostrar os Álbuns da Super Biblioteca + + + + Click to show Official Albums + Clique para mostrar os Ábuns Oficiais + + + + Other Albums by %1 + Outros álbuns por %1 + + + + AlbumModel + + + Album + Álbum + + + + + All albums from %1 + Todos os álbuns de %1 + + + + All albums + Todos os álbuns + + + + AlbumView + + + After you have scanned your music collection you will find your latest album additions right here. + Depois que você escanear a sua biblioteca musical você encontrará aqui o último álbum adicionado. + + + + This collection doesn't have any recent albums. + Essa biblioteca não tem nenhum álbum recente. + + + + ArtistInfoWidget + + + Form + Formulário + + + + Top Hits + Maiores sucessos + + + + Related Artists + Artistas relacionados + + + + Albums + Álbuns + + + + + Click to show Super Collection Albums + Clique para mostrar os Álbuns da Super Biblioteca + + + + Click to show Official Albums + Clique para mostrar os Ábuns Oficiais + + + + ArtistView + + + After you have scanned your music collection you will find your tracks right here. + Depois que você escanear a sua biblioteca musical você encontrará aqui as suas faixas. + + + + This collection is currently empty. + Essa biblioteca está vazia. + + + + Sorry, your filter '%1' did not match any results. + Desculpe, o seu filtro '%1' não encontreou nenhum resultado. + + + + AudioControls + + + Prev + Anterior + + + + Play + Reporduzir + + + + Pause + Pausar + + + + Next + Próxima + + + + Artist + Artista + + + + Album + Álbum + + + + Owner + Proprietário + + + + love + Favorita + + + + Time + Tempo + + + + Time Left + Tempo restante + + + + Shuffle + Embaralhar + + + + Repeat + Repetir + + + + Low + Diminuir + + + + High + Aumentar + + + + AudioEngine + + + Tomahawk is stopped. + Tomahawk está inativo. + + + + Tomahawk is playing "%1" by %2%3. + Tomahawk está reproduzindo "%1" por %2%3. + + + + on album %1 + do álbum %1 + + + + CategoryAddItem + + + + New Playlist + Nova lista de reprodução + + + + + + + New Station + Nova estação + + + + + + %1 Station + %1 Estação + + + + CategoryItem + + + Playlists + Listas de reprodução + + + + Stations + Estações + + + + ClearButton + + + Clear + Limpar + + + + CollectionFlatModel + + + My Collection + Minha biblioteca + + + + Collection of %1 + Biblioteca de %1 + + + + CollectionView + + + This collection is empty. + Essa biblioteca está vazia. + + + + ContextWidget + + + InfoBar + Barra de informações + + + + + Show Footnotes + Mostrar rodapé + + + + Hide Footnotes + Ocultar rodapé + + + + CrashReporter + + + Tomahawk Crash Reporter + Informante de falha do Tomahawk + + + + <p><b>Sorry!</b>&nbsp;Tomahawk crashed. Information about the crash is now being sent to Tomahawk HQ so that we can fix the bug.</p> + <p><b>Desculpe!</b>&nbsp;O Tomahawk travou. As informações sobre o travamento estão sendo enviadas para o quartel general do Tomahawk para que possamos solucionar esse problema.</p> + + + + Abort + Cancelar + + + + You can disable sending crash reports in the configuration dialog. + Você pode desabilitar o reporte de falhas na janela de configurações. + + + + + Uploaded %L1 of %L2 KB. + Enviado %L1 de %L2 KB. + + + + + Close + Fechar + + + + Sent! <b>Many thanks</b>. + Enviado! <b>Muito obrigado</b>. + + + + Failed to send crash info. + Falha ao enviar as informações de travamento. + + + + DatabaseCommand_AllAlbums + + + Unknown + Desconhecido + + + + DiagnosticsDialog + + + Tomahawk Diagnostics + Diagnóstico do Tomahawk + + + + Update + Atualização + + + + Copy to Clipboard + Copiar + + + + GetNewStuffDelegate + + + Installed + Instalado + + + + + Installing + Instalando + + + + + Failed + Falhou + + + + Uninstalling + Desinstalando + + + + Install + Instalar + + + + Upgrading + Atualizando + + + + Uninstall + Desinstalar + + + + Upgrade + Atualizar + + + + %1 downloads + %1 transferências + + + + GetNewStuffDialog + + + Download New Resolvers + Transferindo novos resolvedores + + + + GlobalSearchWidget + + + Form + Formulário + + + + GoogleWrapper + + + Configure this Google Account + Configurar conta do Google + + + + Google Address + Conta + + + + Enter your Google login to connect with your friends using Tomahawk! + Coloque seu login do Google para se conectar com os seus amigos que usam Tomahawk! + + + + Add Friend + Adicionar amigo + + + + Enter Google Address: + Coloque sua conta do Google: + + + + InfoBar + + + InfoBar + Barra de informações + + + + Automatically update + Atualização automática + + + + Filter... + Filtro... + + + + JabberConfig + + + Jabber Configuration + Configurar Jabber + + + + Configure this Jabber account + Configurar conta Jabber + + + + Enter your Jabber login to connect with your friends using Tomahawk! + Coloque seu login Jabber para conectar-se com seus amigos usando Tomahawk! + + + + Login Information + Informação de Login + + + + Jabber ID: + Usuário Jabber: + + + + e.g. user@example.com + Ex. usuario@exemplo.com + + + + Password: + Senha: + + + + An account with this name already exists! + Uma conta com esse nome já existe! + + + + Advanced Jabber Settings + Configurações avançadas do Jabber + + + + Server: + Servidor: + + + + Port: + Porta: + + + + JabberPlugin + + + User Interaction + Interação do usuário + + + + Host is unknown + Servidor desconhecido + + + + Item not found + Item não encontrado + + + + Authorization Error + Erro de autorização + + + + Remote Stream Error + Erro com a conexão remota + + + + Remote Connection failed + Falhou a conexão remota + + + + Internal Server Error + Erro interno do servidor + + + + System shutdown + Sistema desligado + + + + Conflict + Conflito + + + + Unknown + Desconhecido + + + + Add Friend + Adicionar amigo + + + + Enter Jabber ID: + Coloque seu login Jabber: + + + + Add Friend... + Adicionar amigo... + + + + XML Console... + Terminal XML... + + + + I'm sorry -- I'm just an automatic presence used by Tomahawk Player (http://gettomahawk.com). If you are getting this message, the person you are trying to reach is probably not signed on, so please try again later! + Me desculpe -- Sou uma presença automática usada por Tomahawk (http://gettomahawk.com). Se você recebeu essa mensagem provavelmente a pessoa que você está buscando não está conectada, tente novamente mais tarde! + + + + Authorize User + Usuário autorizado + + + + Do you want to grant <b>%1</b> access to your Collection? + Deseja permitier o acesso de <b>%1</b> à sua biblioteca? + + + + JobStatusView + + + Searching For + Buscando por + + + + Pending + Pendente + + + + Idle + Ocioso + + + + LastfmContext + + + Last.fm + Last.fm + + + + LatchedStatusItem + + + %1 is listening along to you! + %1 está escutando junto com você! + + + + LoadXSPF + + + Load XSPF + Carregar XSPF + + + + Playlist Url + URL da lista + + + + Enter URL... + Colocar URL... + + + + ... + ... + + + + Automatically update + Atualização automática + + + + LoadXSPFDialog + + + Load XSPF File + Carregar arquivo XSPF + + + + XSPF Files (*.xspf) + Arquivos XSPF (*.xspf) + + + + LocalCollection + + + Bookmarks + Favoritos + + + + Saved tracks + Faixas guardadas + + + + NewPlaylistWidget + + + Enter a title for the new playlist: + Coloque um título para a nova lista: + + + + Tomahawk offers a variety of ways to help you create playlists and find music you enjoy! + Tomahawk oferece várias maneiras de lhe ajudar a criar suas listas e encontrar as músicas que você curte! + + + + Just enter a genre or tag name and Tomahawk will suggest a few songs to get you started with your new playlist: + Coloque o gênero ou o nome da etiqueta e o Tomahawk dará sugestões para que você começe com a sua nova lista: + + + + &Create Playlist + &Criar lista de reprodução + + + + Create a new playlist + Criar uma nova lista de reprodução + + + + PlaylistItemDelegate + + + played %1 by you + reproduzido %1 por você + + + + played %1 by %2 + reproduzido %1 por %2 + + + + PlaylistModel + + + A playlist by %1, created %2 + Uma lista de reprodução de %1, criada %2 + + + + you + você + + + + All tracks by %1 on album %2 + Todas as faixas de %1 no álbum %2 + + + + All tracks by %1 + Todas as faixas de %1 + + + + PlaylistTypeSelectorDlg + + + New Playlist + Nova lista de reprodução + + + + Just a regular old playlist... Give it a name, drag in some tracks, and go! + Uma lista de reprodução normal... Coloque um nome e arraste algumas faixas aqui! + + + + Don't know exactly what you want? Give Tomahawk a few pointers and let it build a playlist for you! + Não sabe o que fazer? Dê ao Tomahawk algumas indicações e deixe-o criar uma lista para você! + + + + Name: + Nome: + + + + New Playlist... + Nova lista de reprodução... + + + + Create Manual Playlist + Criar uma lista manualmente + + + + Create Automatic Playlist + Criar uma lista automaticamente + + + + PlaylistView + + + This playlist is currently empty. Add some tracks to it and enjoy the music! + Esta lista de reprodução está vazia. Adicione algumas faixas para disfrutar de uma música! + + + + ProxyDialog + + + Proxy Settings + Configurações de proxy + + + + Hostname of proxy server + Endereço do servidor proxy + + + + Host + Servidor + + + + Port + Porta + + + + Proxy login + Usuário do servidor proxy + + + + User + Usuário + + + + Password + Senha + + + + Proxy password + Senha do servidor proxy + + + + Type + Tipo + + + + No Proxy Hosts: + Endereços ignorados: + + + + localhost *.example.com (space separated) + localhost *.exemplo.com (separado por espaço) + + + + Use proxy for DNS lookups? + Usar proxy para resolução DNS? + + + + QObject + + + %n year(s) ago + + %n year ago + %n years ago + + + + + %n year(s) + + %n year + %n years + + + + + %n month(s) ago + + %n month ago + %n months ago + + + + + %n month(s) + + %n month + %n months + + + + + %n week(s) ago + + %n week ago + %n weeks ago + + + + + %n week(s) + + %n week + %n weeks + + + + + %n day(s) ago + + %n day ago + %n days ago + + + + + %n day(s) + + %n day + %n days + + + + + %n hour(s) ago + + %n hour ago + %n hours ago + + + + + %n hour(s) + + %n hour + %n hours + + + + + %1 minutes ago + + + + + %1 minutes + + + + + just now + + + + + QuaZipFilePrivate + + + ZIP/UNZIP API error %1 + Erro com a aplicação ZIP/UNZIP %1 + + + + QueueView + + + InfoBar + Barra de informações + + + + Open Queue + Abrir fila + + + + Show Queue + Mostrar fila + + + + Hide Queue + Ocultar fila + + + + RelatedArtistsContext + + + Related Artists + Artistas relacionados + + + + ResolverConfigDelegate + + + Not found: %1 + Não encontrado: %1 + + + + Failed to load: %1 + Falha ao carregar: %1 + + + + SearchLineEdit + + + Search + Buscar + + + + SearchWidget + + + Search: %1 + Buscar: %1 + + + + Results for '%1' + Resultados de '%1' + + + + SettingsDialog + + + Accounts + Contas + + + + Collection + Biblioteca + + + + Last.fm + Last.fm + + + + Resolvers + Resolvedores + + + + Advanced + Avançado + + + + + Failed + Falhou + + + + Success + Sucesso + + + + Could not contact server + Não foi possível contatar o servidor + + + + Load script resolver file + Carregando o arquivo do roteiro do resolvedor + + + + Delete Account + Eliminar conta + + + + Information + Informação + + + + Changing this setting requires a restart of Tomahawk! + Mudando essas contigurações será necessário reiniciar o Tomahawk! + + + + SipConfigDelegate + + + Online + Conectado + + + + Connecting... + Conectando... + + + + Offline + Desconectado + + + + SipHandler + + + Legal Warning + Aviso legal + + + + By pressing I Agree below, you agree that your use of Tomahawk will be in accordance with any applicable laws, including copyright and intellectual property laws, in effect in your country of residence, and indemnify the Tomahawk developers and project from liability should you choose to break those laws. + +For more information, please see http://gettomahawk.com/legal + Clicando em Aceito abaixo você estará aceitando que o uso que dará ao Tomahawk será de acordo com todas as leis vigentes, incluindo copyright e leis de propriedade intelectual, no seu país de residência,e indenizar os desenvolvedores e o projeto do Tomahawk, é de sua responsabilidade romper tais leis. + +Por favor, visite http://gettomahawk.com/legal para maiores informações + + + + I Do Not Agree + Não aceito + + + + I Agree + Aceito + + + + SipModel + + + Add New Account... + Adicionar nova conta... + + + + SocialPlaylistWidget + + + Popular New Albums From Your Friends + Novos álbuns populares de seus amigos + + + + Most Played Playlists + Listas mais reproduzidas + + + + Most Played Tracks You Don't Have + Faixas mais reproduzidas que você não possui + + + + SourceDelegate + + + Track + Faixa + + + + Album + Álbum + + + + Artist + Artista + + + + Local + Local + + + + Top 10 + 10 Mais + + + + Offline + Desconectado + + + + All available tracks + Todas as faixas disponíveis + + + + Online + Conectado + + + + + Show + Mostrar + + + + + Hide + Ocultar + + + + SourceInfoWidget + + + Recent Albums + Álbuns recentes + + + + Latest Additions + Mais recentes + + + + Recently Played Tracks + Faixas reproduzidas recentemente + + + + New Additions + Novas adições + + + + My recent activity + Minha atividade recentes + + + + Recent activity from %1 + Atividade recente de %1 + + + + SourceItem + + + Loved Tracks + Faixas favoritas + + + + Collection + Biblioteca + + + + New Additions + Novas adições + + + + Super Collection + Super biblioteca + + + + SourceTreeView + + + &Copy Link + &Copiar link + + + + &Delete %1 + &Eliminar %1 + + + + &Export Playlist + &Exportar lista de reprodução + + + + Save XSPF + Salvar XSPF + + + + Playlists (*.xspf) + Listas de reprodução (*.xspf) + + + + SourcesModel + + + Group + Grupo + + + + Collection + Biblioteca + + + + Playlist + Lista de reprodução + + + + Automatic Playlist + Lista automática + + + + Station + Estação + + + + History + Histórico + + + + Browse + Navegar + + + + Top Loved Tracks + Faixas favoritas + + + + Dashboard + Painel + + + + Charts + Gráficos + + + + Friends + Amigos + + + + StackedSettingsDialog + + + Tomahawk Settings + Configurações do Tomahawk + + + + Accounts + Contas + + + + Connect to your friends with Google Chat, Twitter, and more. + Conectar-se com seus amigos usando Google Chat, Twitter e mais. + + + + + ... + ... + + + + Local Music Information + Informação da música local + + + + Path to scan for music files: + Caminho dos arquivos de música: + + + + The Echo Nest supports keeping track of your catalog metadata + and using it to craft personalized radios. Enabling this option + will allow you (and all your friends) to create automatic playlists + and stations based on your personal taste profile. + O Echo Nest analisa os dados da sua biblioteca + e usa esses dados para criar rádios personalizadas. Habilitando esta opção + irá permitir a você (e seus amigos) criar listas de reprodução e rádios +.automáticas baseadas no seu gosto pessoal. + + + + Upload collection list to The Echo Nest to enable user radio + Carregar biblioteca ao Echo Nest para habilitar a rádio do usuário + + + + Watch for changes + Observar qualquer mudança + + + + Time between scans, in seconds: + Tempo entre os escaneos, em segundos: + + + + Now Playing Information + Informação de reprodução + + + + Applications to update with currently playing track: + Aplicações para atualizar com a faixar reproduzindo no momento: + + + + Adium + Adium + + + + Scrobble tracks to Last.fm + Enviar faixas para o Last.fm + + + + Username: + Usuário: + + + + Password: + Senha: + + + + Test Login + Teste de autenticação + + + + Script Resolvers + Roteiro do resolvedor + + + + Script resolvers search for a given track to make it playable. + Roteiro do resolvedor busca a faixa mencionada para reproduzi-la. + + + + Get more resolvers... + Buscar mais resolvedores... + + + + Advanced Network Settings + Configurações de rede avançadas + + + + If you're having difficulty connecting to peers, try setting this to your external IP address/host name and a port number (default 50210). Make sure to forward that port to this machine! + Se você está tendo dificuldade em conectar-se com outros pares tente colocar o seu endereço IP externo e número da porta (padrão 50210) Não se esqueça de redirecionar essa porta para este dispositivo! + + + + Static Host Name: + Nome do servidor estático: + + + + Static Port: + Porta estática: + + + + Always use static host name/port? (Overrides UPnP discovery/port forwarding) + Usar sempre nome de dispositivo/porta? (Substituirá as configurações de UPnP/port forwarding) + + + + Proxy Settings... + Configurações de proxy... + + + + Send reports after Tomahawk crashed + Enviar informações caso o Tomahawk trave + + + + Playdar HTTP API + HTTP API do Playdar + + + + Use UPnP to establish port forward + Usar UPnP para estabelecer port forward + + + + Tomahawk::ContextMenu + + + + + &Play + &Reproduzir + + + + + + Add to &Queue + Adicionar à &lista + + + + Copy Track &Link + Copiar link da &faixa + + + + &Delete Items + &Eliminar itens + + + + &Delete Item + &Eliminar item + + + + Tomahawk::CustomPlaylistView + + + Top Loved Tracks + Faixas favoritas + + + + Your loved tracks + Suas faixas favoritas + + + + %1's loved tracks + Faixas favoritas de %1 + + + + The most loved tracks from all your friends + As faixas preferidas dos seus amigos + + + + All of your loved tracks + Todas as suas faixas preferidas + + + + All of %1's loved tracks + Todas as faixas preferidas de %1 + + + + Tomahawk::DropJobNotifier + + + Fetching %1 from database + Buscando %1 na base de dados + + + + Parsing %1 %2 + Analisando %1 %2 + + + + Tomahawk::DynamicControlList + + + Click to collapse + Clique para colapsar + + + + Tomahawk::DynamicModel + + + + Could not find a playable track. + +Please change the filters or try again. + Não foi encontrada nenhuma faixa para reproduzir. + +Por favor, mude os filtros ou tente novamente. + + + + Failed to generate preview with the desired filters + Falha ao criar uma visualização com os filtros solicitados + + + + Tomahawk::DynamicSetupWidget + + + Type: + Type: + + + + Generate + Criar + + + + Tomahawk::DynamicView + + + Add some filters above to seed this station! + Adicione alguns filtros para alimentar essa estação! + + + + Press Generate to get started! + Precione Criar para iniciar! + + + + Add some filters above, and press Generate to get started! + Adicione alguns filtros acima e precione Criar para iniciar! + + + + Tomahawk::EchonestControl + + + + + + + + is + é + + + + from user + do usuário + + + + + No users with Echo Nest Catalogs enabled. Try enabling option in Collection settings + Nenhum usuário com catálogo Echo Nest habilitado. Tente habilitar essa opção nas configurações da biblioteca + + + + similar to + parecido a + + + + + + + + + + Less + Menos + + + + + + + + + + More + Mais + + + + 0 BPM + 0 BPM + + + + 500 BPM + 500 BPM + + + + 0 secs + 0 segundos + + + + 3600 secs + 3600 segundos + + + + -100 dB + -100 dB + + + + 100 dB + 100 dB + + + + Major + Major + + + + Minor + Minor + + + + C + + + + + C Sharp + Dó sustenido + + + + D + + + + + E Flat + Mi bemol + + + + E + Mi + + + + F + + + + + F Sharp + Fá sustenido + + + + G + Sol + + + + A Flat + Sol bemol + + + + A + + + + + B Flat + Sí bemol + + + + B + + + + + Ascending + Ascendente + + + + Descending + Descendente + + + + Tempo + Tempo + + + + Duration + Duração + + + + Loudness + Mais alto + + + + Artist Familiarity + Familiaridade do artista + + + + Artist Hotttnesss + Artistas preferidos + + + + Song Hotttnesss + Canções preferidas + + + + Latitude + Latitude + + + + Longitude + Longitude + + + + Mode + Modo + + + + Key + Chave + + + + Energy + Energia + + + + Danceability + Habilidade de dança + + + + only by ~%1 + somente por ~%1 + + + + similar to ~%1 + parecido a~%1 + + + + with genre ~%1 + do gênero ~%1 + + + + + from no one + de ninguém + + + + My Collection + Minha biblioteca + + + + from %1 radio + da %1 rádio + + + + with %1 %2 + com %1 %2 + + + + about %1 BPM + aproximadamente %1 BPM + + + + about %n minute(s) long + + aproximadamente %n minuto(s) de duração + about %n minutes long + + + + + about %1 dB + aproximadamente %1 dB + + + + at around %1%2 %3 + em torno de %1%2 %3 + + + + in %1 + em %1 + + + + in a %1 key + em uma %1 chave + + + + sorted in %1 %2 order + distrubuido em %1 %2 ordem + + + + with a %1 mood + com um %1 humor + + + + in a %1 style + em um %1 de estilo + + + + Tomahawk::EchonestSteerer + + + Steer this station: + Conduzir essa estação: + + + + Much less + Muito menos + + + + Less + Menos + + + + A bit less + Um pouco menos + + + + Keep at current + Manter atual + + + + A bit more + Um pouco mais + + + + More + Mais + + + + Much more + Muito mais + + + + Tempo + Tempo + + + + Loudness + Mais alto + + + + Danceability + Habilidade de dança + + + + Energy + Energia + + + + Song Hotttnesss + Canções preferidas + + + + Artist Hotttnesss + Artistas preferidos + + + + Artist Familiarity + Familiaridade do artista + + + + By Description + Por descrição + + + + Enter a description + Coloque uma descrição + + + + Apply steering command + Aplicar comando de condução + + + + Reset all steering commands + Redefinir todos os comandos de direção + + + + Tomahawk::InfoSystem::ChartsPlugin + + + Top Overall + Classificação geral + + + + Artists + Artistas + + + + Albums + Álbuns + + + + Tracks + Faixas + + + + Tomahawk::InfoSystem::LastFmPlugin + + + Top Tracks + Faixas principais + + + + Loved Tracks + Faixas favoritas + + + + Hyped Tracks + Faixas mais populares + + + + Top Artists + Artistas principais + + + + Hyped Artists + Artistas mais populares + + + + Tomahawk::JSPFLoader + + + New Playlist + Nova lista de reprodução + + + + Failed to save tracks + Falha ao salvar faixas + + + + Some tracks in the playlist do not contain an artist and a title. They will be ignored. + Algumas faixas da lista de reprodução não contem artista e título. Estas serão ignoradas. + + + + XSPF Error + Erro XSPF + + + + This is not a valid XSPF playlist. + Essa não é uma lista XSPF válida. + + + + Tomahawk::LatchManager + + + &Catch Up + &Alcançar + + + + + &Listen Along + &Reproduzir acompanhado + + + + Tomahawk::Source + + + + Scanning (%L1 tracks) + Escaneando (%L1 faixas) + + + + Scanning + Escaneando + + + + Checking + Verificando + + + + Fetching + Buscando + + + + Parsing + Analisando + + + + Saving (%1%) + Guardando (%1%) + + + + TomahawkApp + + + My Collection + Minha biblioteca + + + + TomahawkOAuthTwitter + + + Twitter PIN + PIN de Twitter + + + + After authenticating on Twitter's web site, +enter the displayed PIN number here: + Depois de autenticar-se no site do Twitter, +colocar o número PIN mostrado aqui: + + + + TomahawkTrayIcon + + + + Hide Tomahawk Window + Esconder janela do Tomahawk + + + + Show Tomahawk Window + Mostrar janela do Tomahawk + + + + Currently not playing. + Não reproduzindo nada. + + + + Play + Reporduzir + + + + Pause + Pausar + + + + TomahawkWindow + + + Tomahawk + Tomahawk + + + + &Settings + &Configurações + + + + &Controls + C&ontroles + + + + &Network + &Rede + + + + &Window + &Janela + + + + &Help + &Ajuda + + + + &Quit + &Sair + + + + Ctrl+Q + Ctrl+Q + + + + Go &Online + Co&nectar + + + + Add &Friend... + Adicionar A&migo... + + + + U&pdate Collection + A&tualizar biblioteca + + + + Update Collection + Atualizar biblioteca + + + + &Configure Tomahawk... + Configurar To&mahawk... + + + + Load &XSPF... + Abrir &XSPF... + + + + Create &New Playlist... + Criar nova &lista de reprodução... + + + + About &Tomahawk... + Sobre Tomaha&wk... + + + + Create New &Automatic Playlist + Criar no&va lista Automática + + + + Create New &Station + Criar n&ova estação + + + + Show Offline Sources + Mostrar origens desconectadas + + + + Hide Offline Sources + Ocultar origens desconectadas + + + + Minimize + Minimizar + + + + Ctrl+M + Ctrl+M + + + + Zoom + Zoom + + + + Meta+Ctrl+Z + Meta+Ctrl+Z + + + + Diagnostics... + Diagnósticos... + + + + Fully &Rescan Collection + Escanear &toda a biblioteca + + + + Fully Rescan Collection + Escanear toda biblioteca novamente + + + + + Play + Reporduzir + + + + Space + Espaço + + + + Previous + Anterior + + + + Next + Próximo + + + + Global Search... + Busca global... + + + + + Check For Updates... + Buscar atualizações... + + + + + + Connect To Peer + Conectar-se ao par + + + + Enter peer address: + Coloque o endereço do par: + + + + Enter peer port: + Coloque a porta do par: + + + + Enter peer key: + Coloque a chave do par: + + + + XSPF Error + Erro de XSPF + + + + This is not a valid XSPF playlist. + Esta não é uma lista de reprodução XSPF válida. + + + + Failed to save tracks + Falha ao salvar faixas + + + + Some tracks in the playlist do not contain an artist and a title. They will be ignored. + Algumas faixas da lista de reprodução não contem artista e título. Estas serão ignoradas. + + + + + Playback Error + Erro de reprodução + + + + Sorry, there is a problem accessing your audio device. Make sure you have a suitable Phonon backend and required plugins installed. + Desculpe, houve um erro ao tentar acessar o seu dispositivo de audio. Verifique que Phonon esteja correndo e os complementos estejam instalados. + + + + Sorry, there is a problem accessing your audio device. + Desculpe, houve um erro ao tentar acessar o seu dispositivo de audio. + + + + Create New Station + Criar uma nova estação + + + + Name: + Nome: + + + + New Station + Nova estação + + + + New Playlist + Nova lista de reprodução + + + + Pause + Pausar + + + + Go &offline + Desc&onectar + + + + Go &online + C&onectar + + + + Authentication Error + Erro de autenticação + + + + %1 by %2 + track, artist name + %1 de %2 + + + + %1 - %2 + current track, some window title + %1 - %2 + + + + About Tomahawk + Sobre Tomahawk + + + + <h2><b>Tomahawk %1<br/>(%2)</h2>Copyright 2010, 2011<br/>Christian Muehlhaeuser &lt;muesli@tomahawk-player.org&gt;<br/><br/>Thanks to: Leo Franchi, Jeff Mitchell, Dominik Schmidt, Jason Herskowitz, Alejandro Wainzinger, Hugo Lindstr&ouml;m, Michael Zanetti, Harald Sitter and Steve Robertson + <h2><b>Tomahawk %1<br/>(%2)</h2>Copyright 2010, 2011<br/>Christian Muehlhaeuser &lt;muesli@tomahawk-player.org&gt;<br/><br/>Agradecimentos: Leo Franchi, Jeff Mitchell, Dominik Schmidt, Jason Herskowitz, Alejandro Wainzinger, Hugo Lindstr&ouml;m, Michael Zanetti, Harald Sitter e Steve Robertson + + + + TopBar + + + Form + Formulário + + + + 0 Sources + 0 Origens + + + + 0 Tracks + 0 Faixas + + + + 0 Artists + 0 Artistas + + + + 0 Shown + 0 Mostrando + + + + Tracks + Faixas + + + + Artists + Artistas + + + + Filter + Filtro + + + + Artist View + Vizualizar artista + + + + Flat View + Vizualização plana + + + + Sources + Origens + + + + Shown + Mostrado + + + + TopTracksContext + + + Top Hits + Maiores sucessos + + + + TrackModel + + + Artist + Artista + + + + Title + Título + + + + Album + Álbum + + + + Track + Faixa + + + + Duration + Duração + + + + Bitrate + Taxa de bits + + + + Age + Idate + + + + Year + Ano + + + + Size + Tamanho + + + + Origin + Origem + + + + Score + Pontuação + + + + TrackView + + + Sorry, your filter '%1' did not match any results. + Desculpe, o seu filtro '%1' não encontreou nenhum resultado. + + + + TransferStatusItem + + + from + de + + + + to + para + + + + TreeItemDelegate + + + Unknown + Desconhecido + + + + TreeModel + + + Name + Nome + + + + Duration + Duração + + + + Bitrate + Taxa de bits + + + + Age + Idate + + + + Year + Ano + + + + Size + Tamanho + + + + Origin + Origem + + + + All Artists + Todos artistas + + + + + My Collection + Minha biblioteca + + + + + Collection of %1 + Biblioteca de %1 + + + + TwitterConfigWidget + + + Configure this Twitter account + Configurar conta de Twitter + + + + The Twitter plugin allows you to discover and play music from your Twitter friends running Tomahawk and post messages to your account. + O complemento do Twitter permite que você descubra e reproduza música pelo seus amigos do Twitter usando Tomahawk e publicar mensagem no seu Twitter. + + + + + + Status: No saved credentials + Estado: Credenciais não salvadas + + + + Authenticate with Twitter + Autenticar com Twitter + + + + Twitter Connections + Conexões com Twitter + + + + +If you only want to post tweets, you're done. + +If you want to connect Tomahawk to your friends using Twitter, select the type of tweet and press the button below to send a sync message. You must both be following each other as Direct Messages are used. Then be (very) patient -- it can take several minutes! + +You can re-send a sync message at any time simply by sending another tweet using the button. + +Se deseja somente publicar tweet, já está completo. + +Se você deseja conectar o Tomahawk com os seus amigos usando Twitter, selecione o tipo de tweet e clique no botão abaixo para enviar uma mensagem de sincronia. Ambos devem se seguir no Twitter já que serão usadas mensagens diretas. Depois ter (muita) paciência -- isso pode demorar um pouco! + +Você pode enviar uma outra mensagem de sincronia a qualquer momento simplesmente enviando outro tweet usando o botão abaixo. + + + + Select the kind of tweet you would like, then press the button to post it: + Selecione o tipo de tweet que você deseja enviar e pressione o botão para enviar a mensagem: + + + + + Global Tweet + Tweet global + + + + + @Mention + @Menção + + + + + Direct Message + Mensagem direta + + + + e.g. @tomahawk + ex.: @tomahawk + + + + Send Message + Enviar mensagem + + + + + + Tweet! + Tweet! + + + + + + Authenticate + Autenticar + + + + + Status: Credentials saved for %1 + Estado: Credenciais de %1 salvas + + + + + De-authenticate + Desautenticar-se + + + + + + + + + + Tweetin' Error + Erro ao enviar Tweet + + + + The credentials could not be verified. +You may wish to try re-authenticating. + Não foi possível confirmar as credenciais. +Tente autenticar-se novamente, por favor. + + + + Status: Error validating credentials + Estado: Erro ao validar credenciais + + + + Send Message! + Enviar mensagem! + + + + Send Mention! + Menção enviada! + + + + You must enter a user name for this type of tweet. + Você deve colocar um nome de usuário para esse tipo de tweet. + + + + Your saved credentials could not be loaded. +You may wish to try re-authenticating. + Não foi possível carregar as suas credenciais salvas. +Tente autenticar-se novamente, por favor. + + + + Your saved credentials could not be verified. +You may wish to try re-authenticating. + Não foi possível confirmar as credenciais. +Tente autenticar-se novamente, por favor. + + + + + There was an error posting your status -- sorry! + Ocorreu um erro ao publicar o seu estado -- desculpe! + + + + + Tweeted! + Tweet enviado! + + + + Your tweet has been posted! + O seu tweet foi publicado! + + + + There was an error posting your direct message -- sorry! + Ocorreu um erro ao publicar sua mensagem -- desculpe! + + + + Your message has been posted! + A sua mensagem foi publicada! + + + + TwitterPlugin + + + Twitter + Twitter + + + + ViewManager + + + All available tracks + Todas as faixas disponíveis + + + + All available albums + Todos os álbuns disponíveis + + + + WelcomeWidget + + + Recent Additions + Mais recentes + + + + Newest Stations & Playlists + Estações e listas mais recentes + + + + Recently Played Tracks + Faixas reproduzidas recentemente + + + + No recently created playlists in your network. + Nenhuma lista de reprodução criada recentemente na sua rede. + + + + Welcome to Tomahawk + Bem-vindo ao Tomahawk + + + + WhatsHotWidget + + + Charts + Gráficos + + + + WikipediaContext + + + Wikipedia + Wikipedia + + + + XMPPBot + + + +Terms for %1: + + +Termos para %1: + + + + + No terms found, sorry. + Nenhum termo encontrado, descupe. + + + + +Hotttness for %1: %2 + + +Hotttness para %1: %2 + + + + + +Familiarity for %1: %2 + + Familiar para %1: %2 + + + + +Lyrics for "%1" by %2: + +%3 + + +Letras de "%1" por %2: + +%3 + + + + XSPFLoader + + + New Playlist + Nova lista de reprodução + + + + XmlConsole + + + Xml stream console + Terminal de fluxo Xml + + + + + Filter + Filtro + + + + Save log + Salvar log + + + + Disabled + Desabilitado + + + + By JID + Por JID + + + + By namespace uri + Por namespace uri + + + + By all attributes + Todos os atributos + + + + Visible stanzas + Estâncias visíveis + + + + Information query + Consulta de informação + + + + Message + Mensagem + + + + Presence + Presença + + + + Custom + Personalizado + + + + Close + Fechar + + + + Save XMPP log to file + Salvar log XMPP em um arquivo + + + + OpenDocument Format (*.odf);;HTML file (*.html);;Plain text (*.txt) + Formato OpenDocument (*.odf);;Arquivo HTML (*.html);;Texto plano (*.txt + + + + ZeroconfConfig + + + Form + Formulário + + + + Local Network configuration + Configuração da rede local + + + + This plugin will automatically find other users running Tomahawk on your local network + Esse complemento encontrará automaticamente usuários do Tomahawk na sua rede + + + + Connect automatically when Tomahawk starts + Conectar automaticamente quando o Tomahawk iniciar + + + diff --git a/src/accounts/xmpp/sip/xmppsip.cpp b/src/accounts/xmpp/sip/xmppsip.cpp index 20797847d..0644a5ebf 100644 --- a/src/accounts/xmpp/sip/xmppsip.cpp +++ b/src/accounts/xmpp/sip/xmppsip.cpp @@ -37,19 +37,19 @@ #include #include -#include -#include -#include -#include +#include +#include +#include +#include #include #include #include #ifndef ENABLE_HEADLESS - #include - #include - #include + #include + #include + #include #endif #include @@ -348,7 +348,7 @@ XmppSipPlugin::errorMessage( Jreen::Client::DisconnectReason reason ) void -XmppSipPlugin::sendMsg(const QString& to, const QString& msg) +JabberPlugin::sendMsg( const QString& to, const QString& msg ) { qDebug() << Q_FUNC_INFO << to << msg; @@ -373,11 +373,11 @@ XmppSipPlugin::sendMsg(const QString& to, const QString& msg) TomahawkXmppMessage *sipMessage; if(m["visible"].toBool()) { - sipMessage = new TomahawkXmppMessage(m["ip"].toString(), - m["port"].toInt(), - m["uniqname"].toString(), - m["key"].toString() - ); + sipMessage = new TomahawkSipMessage( m["ip"].toString(), + m["port"].toInt(), + m["uniqname"].toString(), + m["key"].toString() + ); } else { @@ -387,14 +387,14 @@ XmppSipPlugin::sendMsg(const QString& to, const QString& msg) qDebug() << "Send sip messsage to " << to; Jreen::IQ iq( Jreen::IQ::Set, to ); iq.addExtension( sipMessage ); - Jreen::IQReply *reply = m_client->send(iq); - reply->setData(SipMessageSent); - connect(reply, SIGNAL(received(Jreen::IQ)), SLOT(onNewIq(Jreen::IQ))); + Jreen::IQReply *reply = m_client->send( iq ); + reply->setData( SipMessageSent ); + connect( reply, SIGNAL( received( Jreen::IQ ) ), SLOT( onNewIq( Jreen::IQ ) ) ); } void -XmppSipPlugin::broadcastMsg(const QString& msg) +JabberPlugin::broadcastMsg( const QString& msg ) { qDebug() << Q_FUNC_INFO; @@ -409,7 +409,7 @@ XmppSipPlugin::broadcastMsg(const QString& msg) void -XmppSipPlugin::addContact(const QString& jid, const QString& msg) +JabberPlugin::addContact( const QString& jid, const QString& msg ) { // Add contact to the Tomahawk group on the roster @@ -572,7 +572,8 @@ void XmppSipPlugin::removeMenuHelper() #endif } -void XmppSipPlugin::onNewMessage(const Jreen::Message& message) + +void JabberPlugin::onNewMessage( const Jreen::Message& message ) { if ( m_state != Account::Connected ) return; @@ -644,9 +645,9 @@ void XmppSipPlugin::onPresenceReceived( const Jreen::RosterItem::Ptr &item, cons Jreen::IQ featuresIq( Jreen::IQ::Get, jid ); featuresIq.addExtension( new Jreen::Disco::Info( node ) ); - Jreen::IQReply *reply = m_client->send(featuresIq); - reply->setData(RequestDisco); - connect(reply, SIGNAL(received(Jreen::IQ)), SLOT(onNewIq(Jreen::IQ))); + Jreen::IQReply *reply = m_client->send( featuresIq ); + reply->setData( RequestDisco ); + connect( reply, SIGNAL( received( Jreen::IQ ) ), SLOT( onNewIq( Jreen::IQ ) ) ); } else if( !caps ) { @@ -656,7 +657,8 @@ void XmppSipPlugin::onPresenceReceived( const Jreen::RosterItem::Ptr &item, cons } } -void XmppSipPlugin::onSubscriptionReceived(const Jreen::RosterItem::Ptr& item, const Jreen::Presence& presence) + +void JabberPlugin::onSubscriptionReceived( const Jreen::RosterItem::Ptr& item, const Jreen::Presence& presence ) { if ( m_state != Account::Connected ) return; @@ -718,9 +720,9 @@ XmppSipPlugin::onSubscriptionRequestConfirmed( int result ) QList< QMessageBox* > confirmBoxes = m_subscriptionConfirmBoxes.values(); Jreen::JID jid; - foreach( QMessageBox* currentBox, confirmBoxes ) + foreach ( QMessageBox* currentBox, confirmBoxes ) { - if( currentBox == sender() ) + if ( currentBox == sender() ) { jid = m_subscriptionConfirmBoxes.key( currentBox ); } @@ -730,7 +732,7 @@ XmppSipPlugin::onSubscriptionRequestConfirmed( int result ) m_subscriptionConfirmBoxes.remove( jid ); sender()->deleteLater(); - QMessageBox::StandardButton allowSubscription = static_cast( result ); + QMessageBox::StandardButton allowSubscription = static_cast< QMessageBox::StandardButton >( result ); if ( allowSubscription == QMessageBox::Yes ) { @@ -746,19 +748,20 @@ XmppSipPlugin::onSubscriptionRequestConfirmed( int result ) #endif } -void XmppSipPlugin::onNewIq(const Jreen::IQ& iq) + +void JabberPlugin::onNewIq( const Jreen::IQ& iq ) { if ( m_state != Account::Connected ) return; - Jreen::IQReply *reply = qobject_cast(sender()); + Jreen::IQReply *reply = qobject_cast< Jreen::IQReply* >( sender() ); int context = reply ? reply->data().toInt() : NoContext; - if( context == RequestDisco ) + if ( context == RequestDisco ) { // qDebug() << Q_FUNC_INFO << "Received disco IQ..."; - Jreen::Disco::Info *discoInfo = iq.payload().data(); - if(!discoInfo) + Jreen::Disco::Info *discoInfo = iq.payload< Jreen::Disco::Info >().data(); + if ( !discoInfo ) return; iq.accept(); @@ -766,7 +769,7 @@ void XmppSipPlugin::onNewIq(const Jreen::IQ& iq) Jreen::DataForm::Ptr form = discoInfo->form(); - if(discoInfo->features().contains( TOMAHAWK_FEATURE )) + if ( discoInfo->features().contains( TOMAHAWK_FEATURE ) ) { qDebug() << Q_FUNC_INFO << jid.full() << "Running tomahawk/feature enabled: yes"; @@ -774,17 +777,17 @@ void XmppSipPlugin::onNewIq(const Jreen::IQ& iq) handlePeerStatus( jid, Jreen::Presence::Available ); } } - else if(context == RequestVersion) + else if ( context == RequestVersion) { Jreen::SoftwareVersion::Ptr softwareVersion = iq.payload(); - if( softwareVersion ) + if ( softwareVersion ) { QString versionString = QString("%1 %2 %3").arg( softwareVersion->name(), softwareVersion->os(), softwareVersion->version() ); qDebug() << Q_FUNC_INFO << "Received software version for " << iq.from().full() << ":" << versionString; emit softwareVersionReceived( iq.from().full(), versionString ); } } - else if(context == RequestedDisco) + else if ( context == RequestedDisco ) { qDebug() << "Sent IQ(Set), what should be happening here?"; } @@ -798,7 +801,7 @@ void XmppSipPlugin::onNewIq(const Jreen::IQ& iq) }*/ else { - TomahawkXmppMessage::Ptr sipMessage = iq.payload(); + TomahawkSipMessage::Ptr sipMessage = iq.payload< TomahawkSipMessage >(); if(sipMessage) { iq.accept(); @@ -827,9 +830,10 @@ void XmppSipPlugin::onNewIq(const Jreen::IQ& iq) } } -bool XmppSipPlugin::presenceMeansOnline(Jreen::Presence::Type p) + +bool JabberPlugin::presenceMeansOnline( Jreen::Presence::Type p ) { - switch(p) + switch( p ) { case Jreen::Presence::Invalid: case Jreen::Presence::Unavailable: @@ -841,7 +845,8 @@ bool XmppSipPlugin::presenceMeansOnline(Jreen::Presence::Type p) } } -void XmppSipPlugin::handlePeerStatus(const Jreen::JID& jid, Jreen::Presence::Type presenceType) + +void JabberPlugin::handlePeerStatus( const Jreen::JID& jid, Jreen::Presence::Type presenceType ) { QString fulljid = jid.full(); @@ -860,7 +865,7 @@ void XmppSipPlugin::handlePeerStatus(const Jreen::JID& jid, Jreen::Presence::Typ } // "coming online" event - if( presenceMeansOnline( presenceType ) && + if ( presenceMeansOnline( presenceType ) && ( !m_peers.contains( jid ) || !presenceMeansOnline( m_peers.value( jid ) ) ) @@ -872,16 +877,16 @@ void XmppSipPlugin::handlePeerStatus(const Jreen::JID& jid, Jreen::Presence::Typ emit peerOnline( fulljid ); #ifndef ENABLE_HEADLESS - if(!m_avatarManager->avatar(jid.bare()).isNull()) + if ( !m_avatarManager->avatar( jid.bare() ).isNull() ) onNewAvatar( jid.bare() ); #endif // request software version Jreen::IQ versionIq( Jreen::IQ::Get, jid ); versionIq.addExtension( new Jreen::SoftwareVersion() ); - Jreen::IQReply *reply = m_client->send(versionIq); - reply->setData(RequestVersion); - connect(reply, SIGNAL(received(Jreen::IQ)), SLOT(onNewIq(Jreen::IQ))); + Jreen::IQReply *reply = m_client->send( versionIq ); + reply->setData( RequestVersion ); + connect( reply, SIGNAL( received( Jreen::IQ ) ), SLOT( onNewIq( Jreen::IQ ) ) ); return; } @@ -890,18 +895,19 @@ void XmppSipPlugin::handlePeerStatus(const Jreen::JID& jid, Jreen::Presence::Typ m_peers[ jid ] = presenceType; } -void XmppSipPlugin::onNewAvatar(const QString& jid) + +void JabberPlugin::onNewAvatar( const QString& jid ) { #ifndef ENABLE_HEADLESS // qDebug() << Q_FUNC_INFO << jid; if ( m_state != Account::Connected ) return; - Q_ASSERT(!m_avatarManager->avatar( jid ).isNull()); + Q_ASSERT( !m_avatarManager->avatar( jid ).isNull() ); // find peers for the jid - QList peers = m_peers.keys(); - foreach(const Jreen::JID &peer, peers) + QList< Jreen::JID > peers = m_peers.keys(); + foreach ( const Jreen::JID &peer, peers ) { if( peer.bare() == jid ) { @@ -909,7 +915,7 @@ void XmppSipPlugin::onNewAvatar(const QString& jid) } } - if( jid == m_client->jid().bare() ) + if ( jid == m_client->jid().bare() ) // own avatar emit avatarReceived ( m_avatarManager->avatar( jid ) ); else diff --git a/src/accounts/xmpp/sip/xmppsip.h b/src/accounts/xmpp/sip/xmppsip.h index 79dffb662..45cb5d8c0 100644 --- a/src/accounts/xmpp/sip/xmppsip.h +++ b/src/accounts/xmpp/sip/xmppsip.h @@ -43,7 +43,7 @@ #include #ifndef ENABLE_HEADLESS - #include + #include #endif #define TOMAHAWK_FEATURE QLatin1String( "tomahawk:sip:v1" ) @@ -92,7 +92,7 @@ protected: private slots: void showXmlConsole(); void onConnect(); - void onDisconnect(Jreen::Client::DisconnectReason reason); + void onDisconnect( Jreen::Client::DisconnectReason reason ); void onPresenceReceived( const Jreen::RosterItem::Ptr &item, const Jreen::Presence& presence ); void onSubscriptionReceived( const Jreen::RosterItem::Ptr &item, const Jreen::Presence& presence ); diff --git a/src/accounts/zeroconf/tomahawkzeroconf.h b/src/accounts/zeroconf/tomahawkzeroconf.h index efc309e51..15ef6b5c4 100644 --- a/src/accounts/zeroconf/tomahawkzeroconf.h +++ b/src/accounts/zeroconf/tomahawkzeroconf.h @@ -53,10 +53,13 @@ signals: public slots: void resolved( QHostInfo i ) { - emit tomahawkHostFound( ip, port, i.hostName(), nid ); + if ( i.hostName().length() ) + emit tomahawkHostFound( ip, port, i.hostName(), nid ); + else + emit tomahawkHostFound( ip, port, "Unknown", nid ); this->deleteLater(); } - + void resolve() { QHostInfo::lookupHost( ip, this, SLOT( resolved( QHostInfo ) ) ); diff --git a/src/libtomahawk/network/controlconnection.cpp b/src/libtomahawk/network/controlconnection.cpp index 016bf7d56..142854f8a 100644 --- a/src/libtomahawk/network/controlconnection.cpp +++ b/src/libtomahawk/network/controlconnection.cpp @@ -123,16 +123,7 @@ ControlConnection::setup() return; } - QString friendlyName; - if ( Servent::isIPWhitelisted( m_sock->peerAddress() ) ) - { - // FIXME TODO blocking DNS lookup if LAN, slow/fails on windows? - QHostInfo i = QHostInfo::fromName( m_sock->peerAddress().toString() ); - if( i.hostName().length() ) - friendlyName = i.hostName(); - } - else - friendlyName = name(); + QString friendlyName = name(); tDebug() << "Detected name:" << name() << friendlyName << m_sock->peerAddress(); diff --git a/src/libtomahawk/network/servent.cpp b/src/libtomahawk/network/servent.cpp index 7cc7c021a..adfe6ec21 100644 --- a/src/libtomahawk/network/servent.cpp +++ b/src/libtomahawk/network/servent.cpp @@ -695,6 +695,8 @@ Servent::claimOffer( ControlConnection* cc, const QString &nodeid, const QString bool Servent::checkACL( const Connection* conn, const QString &nodeid, bool showDialog ) const { + Q_UNUSED( conn ); + Q_UNUSED( showDialog ); tDebug( LOGVERBOSE ) << "Checking ACLs"; ACLSystem* aclSystem = ACLSystem::instance(); diff --git a/src/libtomahawk/playlistinterface.cpp b/src/libtomahawk/playlistinterface.cpp index 11d60ea3e..44249ea95 100644 --- a/src/libtomahawk/playlistinterface.cpp +++ b/src/libtomahawk/playlistinterface.cpp @@ -26,6 +26,7 @@ PlaylistInterface::PlaylistInterface () : QObject() , m_latchMode( StayOnSong ) { + m_id = uuid(); qRegisterMetaType( "Tomahawk::PlaylistInterface::RepeatMode" ); } diff --git a/src/libtomahawk/playlistinterface.h b/src/libtomahawk/playlistinterface.h index 8f172a809..17a28bf47 100644 --- a/src/libtomahawk/playlistinterface.h +++ b/src/libtomahawk/playlistinterface.h @@ -44,6 +44,8 @@ public: explicit PlaylistInterface(); virtual ~PlaylistInterface(); + const QString id() { return m_id; } + virtual QList< Tomahawk::query_ptr > tracks() = 0; virtual int unfilteredTrackCount() const = 0; @@ -98,6 +100,7 @@ protected: private: Q_DISABLE_COPY( PlaylistInterface ) + QString m_id; QString m_filter; }; diff --git a/src/libtomahawk/resolvers/scriptresolver.cpp b/src/libtomahawk/resolvers/scriptresolver.cpp index aa696e2c6..9fd1b96cc 100644 --- a/src/libtomahawk/resolvers/scriptresolver.cpp +++ b/src/libtomahawk/resolvers/scriptresolver.cpp @@ -250,7 +250,7 @@ ScriptResolver::handleMsg( const QByteArray& msg ) rp->setSize( m.value( "size" ).toUInt() ); rp->setRID( uuid() ); rp->setFriendlySource( m_name ); - rp->setYear( m.value( "year ").toUInt() ); + rp->setYear( m.value( "year").toUInt() ); rp->setDiscNumber( m.value( "discnumber" ).toUInt() ); rp->setMimetype( m.value( "mimetype" ).toString() ); diff --git a/src/libtomahawk/result.cpp b/src/libtomahawk/result.cpp index 413cb7e39..fb03c7aaf 100644 --- a/src/libtomahawk/result.cpp +++ b/src/libtomahawk/result.cpp @@ -159,7 +159,9 @@ Result::toVariant() const m.insert( "score", score() ); m.insert( "sid", id() ); m.insert( "discnumber", discnumber() ); - m.insert( "composer", composer()->name() ); + + if ( !composer().isNull() ) + m.insert( "composer", composer()->name() ); return m; } diff --git a/src/libtomahawk/widgets/infowidgets/AlbumInfoWidget.cpp b/src/libtomahawk/widgets/infowidgets/AlbumInfoWidget.cpp index 178af0175..62b048704 100644 --- a/src/libtomahawk/widgets/infowidgets/AlbumInfoWidget.cpp +++ b/src/libtomahawk/widgets/infowidgets/AlbumInfoWidget.cpp @@ -158,6 +158,9 @@ AlbumInfoWidget::onLoadingFinished() bool AlbumInfoWidget::isBeingPlayed() const { + //tDebug() << Q_FUNC_INFO << "audioengine playlistInterface = " << AudioEngine::instance()->currentTrackPlaylist()->id(); + //tDebug() << Q_FUNC_INFO << "albumsView playlistInterface = " << ui->albumsView->playlistInterface()->id(); + //tDebug() << Q_FUNC_INFO << "tracksView playlistInterface = " << ui->tracksView->playlistInterface()->id(); if ( ui->albumsView->playlistInterface() == AudioEngine::instance()->currentTrackPlaylist() ) return true; diff --git a/src/sourcetree/sourcetreeview.cpp b/src/sourcetree/sourcetreeview.cpp index 7e74c08f9..330e8aeee 100644 --- a/src/sourcetree/sourcetreeview.cpp +++ b/src/sourcetree/sourcetreeview.cpp @@ -323,8 +323,9 @@ SourceTreeView::copyPlaylistLink() PlaylistItem* item = itemFromIndex< PlaylistItem >( m_contextMenuIndex ); playlist_ptr playlist = item->playlist(); + QString suggestedFilename = TomahawkSettings::instance()->playlistDefaultPath() + "/" + playlist->title(); QString filename = QFileDialog::getSaveFileName( TomahawkUtils::tomahawkWindow(), tr( "Save XSPF" ), - TomahawkSettings::instance()->playlistDefaultPath(), tr( "Playlists (*.xspf)" ) ); + suggestedFilename, tr( "Playlists (*.xspf)" ) ); if ( !filename.isEmpty() ) { QFileInfo playlistAbsoluteFilePath = filename; diff --git a/src/tomahawkwindow.cpp b/src/tomahawkwindow.cpp index 38099b7f1..a70a4927a 100644 --- a/src/tomahawkwindow.cpp +++ b/src/tomahawkwindow.cpp @@ -730,7 +730,7 @@ void TomahawkWindow::showAboutTomahawk() { QMessageBox::about( this, tr( "About Tomahawk" ), - tr( "

Tomahawk %1
(%2)

Copyright 2010, 2011
Christian Muehlhaeuser <muesli@tomahawk-player.org>

" + tr( "

Tomahawk %1
(%2)

Copyright 2010 - 2012
Christian Muehlhaeuser <muesli@tomahawk-player.org>

" "Thanks to: Leo Franchi, Jeff Mitchell, Dominik Schmidt, Jason Herskowitz, Alejandro Wainzinger, Hugo Lindström, Michael Zanetti, Harald Sitter and Steve Robertson" ) .arg( TomahawkUtils::appFriendlyVersion() ) .arg( qApp->applicationVersion() ) );