Compare commits
2
Commits
work/jbb/fedc
..
kf6
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
883d3871e6 | ||
|
|
5cbcb85cf5 |
No files matched your search
+3
-23
@@ -1,27 +1,7 @@
|
||||
# SPDX-FileCopyrightText: 2021-2023 Jonah Brüchert <[email protected]>
|
||||
# SPDX-FileCopyrightText: 2021 Jonah Brüchert <[email protected]>
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
|
||||
|
||||
include:
|
||||
# - https://invent.kde.org/sysadmin/ci-utilities/raw/master/gitlab-templates/reuse-lint.yml
|
||||
# - https://invent.kde.org/sysadmin/ci-utilities/raw/master/gitlab-templates/flatpak.yml
|
||||
|
||||
external-data-checker:
|
||||
image:
|
||||
name: ghcr.io/flathub/flatpak-external-data-checker:latest
|
||||
entrypoint: [""]
|
||||
variables:
|
||||
GIT_AUTHOR_NAME: Flatpak External Data Checker
|
||||
GIT_COMMITTER_NAME: Flatpak External Data Checker
|
||||
GIT_AUTHOR_EMAIL: [email protected]
|
||||
GIT_COMMITTER_EMAIL: [email protected]
|
||||
EMAIL: [email protected]
|
||||
script:
|
||||
- export BRANCH_NAME="$(git rev-parse --abbrev-ref HEAD)"
|
||||
- /app/flatpak-external-data-checker --update --commit-only .flatpak-manifest.json
|
||||
- export MR_BRANCH_NAME="work/fedc/$(git rev-parse --abbrev-ref HEAD)"
|
||||
- git checkout -b "${MR_BRANCH_NAME}"
|
||||
- pip3 install git+https://invent.kde.org/sdk/git-lab
|
||||
- git lab workflow --workbranch
|
||||
- git lab login --host invent.kde.org --token "${TOKEN}"
|
||||
- git lab mr --noninteractive --target-branch "${BRANCH_NAME}"
|
||||
- https://invent.kde.org/sysadmin/ci-utilities/raw/master/gitlab-templates/reuse-lint.yml
|
||||
- https://invent.kde.org/sysadmin/ci-utilities/raw/master/gitlab-templates/flatpak.yml
|
||||
+10
-12
@@ -14,22 +14,20 @@ project(audiotube VERSION ${RELEASE_SERVICE_VERSION})
|
||||
|
||||
include(FeatureSummary)
|
||||
|
||||
if (QT_MAJOR_VERSION_STREQUAL "6")
|
||||
set(QT_MIN_VERSION "6.4.0")
|
||||
set(KF_MIN_VERSION "5.240.0")
|
||||
else()
|
||||
set(QT_MIN_VERSION "5.15")
|
||||
set(KF_MIN_VERSION "5.81.0")
|
||||
endif()
|
||||
|
||||
set(CMAKE_CXX_STANDARD 20)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
|
||||
set(QT_MIN_VERSION "5.15")
|
||||
set(KF_MIN_VERSION "5.81.0")
|
||||
|
||||
find_package(ECM ${KF_MIN_VERSION} REQUIRED NO_MODULE)
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake)
|
||||
|
||||
if (QT_MAJOR_VERSION STREQUAL "6")
|
||||
set(QT_MIN_VERSION "6.4.0")
|
||||
set(KF_MIN_VERSION "5.240.0")
|
||||
set(KF_MAJOR_VERSION "6")
|
||||
else()
|
||||
set(KF_MAJOR_VERSION "5")
|
||||
endif()
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake)
|
||||
|
||||
include(KDEInstallDirs)
|
||||
include(KDECMakeSettings)
|
||||
@@ -47,7 +45,7 @@ ecm_setup_version(${PROJECT_VERSION}
|
||||
kde_enable_exceptions()
|
||||
|
||||
find_package(Qt${QT_MAJOR_VERSION} ${QT_MIN_VERSION} REQUIRED COMPONENTS Core Gui Qml QuickControls2 Svg Sql Widgets Concurrent DBus)
|
||||
find_package(KF${KF_MAJOR_VERSION} ${KF_MIN_VERSION} REQUIRED COMPONENTS Kirigami2 I18n CoreAddons Crash WindowSystem)
|
||||
find_package(KF5 ${KF_MIN_VERSION} REQUIRED COMPONENTS Kirigami2 I18n CoreAddons Crash WindowSystem)
|
||||
find_package(pybind11 REQUIRED)
|
||||
find_package(Ytdlp REQUIRED RUNTIME)
|
||||
find_package(YTMusicAPI 1.0.2 REQUIRED RUNTIME)
|
||||
|
||||
@@ -8,8 +8,8 @@
|
||||
"sources": [
|
||||
{
|
||||
"type": "archive",
|
||||
"url": "https://download.kde.org/stable/kirigami-addons/kirigami-addons-0.11.0.tar.xz",
|
||||
"sha256": "05296c5afbe6804308bf9c0d2751f3b748b40d00fa784946d1dcdf3af4bffbad",
|
||||
"url": "https://download.kde.org/stable/kirigami-addons/kirigami-addons-0.7.0.tar.xz",
|
||||
"sha256": "0132a58b150229544a61e17e792c48cfc6daa03a8be9c7acd873a6c30d283df7",
|
||||
"x-checker-data": {
|
||||
"type": "anitya",
|
||||
"project-id": 242933,
|
||||
|
||||
@@ -7,8 +7,8 @@
|
||||
"sources": [
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/2f/c2/f9e977608bdf958650638c3f1e28f85a1b075f075ebbe77db8555463787b/Brotli-1.1.0.tar.gz",
|
||||
"sha256": "81de08ac11bcb85841e440c13611c00b67d3bf82698314928d0b676362546724"
|
||||
"url": "https://files.pythonhosted.org/packages/2a/18/70c32fe9357f3eea18598b23aa9ed29b1711c3001835f7cf99a9818985d0/Brotli-1.0.9.zip",
|
||||
"sha256": "4d1b810aa0ed773f81dceda2cc7b403d01057458730e309856356d4ef4188438"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
@@ -17,13 +17,13 @@
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/b0/7a/620f945b96be1f6ee357d211d5bf74ab1b7fe72a9f1525aafbfe3aee6875/mutagen-1.47.0-py3-none-any.whl",
|
||||
"sha256": "edd96f50c5907a9539d8e5bba7245f62c9f520aef333d13392a79a4f70aca719"
|
||||
"url": "https://files.pythonhosted.org/packages/03/ee/114d7016d2e34f341e212fefb5e7bd87785077ebcfff0ad23a497c70eea1/mutagen-1.46.0-py3-none-any.whl",
|
||||
"sha256": "8af0728aa2d5c3ee5a727e28d0627966641fddfe804c23eabb5926a4d770aed5"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/14/c9/09d5df04c9f29ae1b49d0e34c9934646b53bb2131a55e8ed2a0d447c7c53/pycryptodomex-3.19.0.tar.gz",
|
||||
"sha256": "af83a554b3f077564229865c45af0791be008ac6469ef0098152139e6bd4b5b6"
|
||||
"url": "https://files.pythonhosted.org/packages/40/92/efd675dba957315d705f792b28d900bddc36f39252f6713961b4221ee9af/pycryptodomex-3.18.0.tar.gz",
|
||||
"sha256": "3e3ecb5fe979e7c1bb0027e518340acf7ee60415d79295e5251d13c68dde576e"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
@@ -32,8 +32,8 @@
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/70/b4/94e72fd0e1541ab50f8efe224ead550a367da3df1b8aa733bd2d9bde9aed/yt_dlp-2023.9.24-py2.py3-none-any.whl",
|
||||
"sha256": "61792482647faac6207b1795b52d73714803414d8c090cd9721dfe8b16b12605"
|
||||
"url": "https://files.pythonhosted.org/packages/5c/da/ef08140cea3392288a8f6cd60f6f12510a4c5776eead53e90151f139af19/yt_dlp-2023.7.6-py2.py3-none-any.whl",
|
||||
"sha256": "b33b3f68751f33dd8290f1f61f7a011679b3b512aa223df3bff496688bc0bd19"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -12,8 +12,8 @@
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/cf/ac/e89b2f2f75f51e9859979b56d2ec162f7f893221975d244d8d5277aa9489/charset-normalizer-3.3.0.tar.gz",
|
||||
"sha256": "63563193aec44bce707e0c5ca64ff69fa72ed7cf34ce6e11d5127555756fd2f6"
|
||||
"url": "https://files.pythonhosted.org/packages/2a/53/cf0a48de1bdcf6ff6e1c9a023f5f523dfe303e4024f216feac64b6eb7f67/charset-normalizer-3.2.0.tar.gz",
|
||||
"sha256": "3bb3d25a8e6c0aedd251753a79ae98a093c7e7b471faa3aa9a93a81431987ace"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
@@ -27,13 +27,13 @@
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/26/40/9957270221b6d3e9a3b92fdfba80dd5c9661ff45a664b47edd5d00f707f5/urllib3-2.0.6-py3-none-any.whl",
|
||||
"sha256": "7a7c7003b000adf9e7ca2a377c9688bbc54ed41b985789ed576570342a375cd2"
|
||||
"url": "https://files.pythonhosted.org/packages/9b/81/62fd61001fa4b9d0df6e31d47ff49cfa9de4af03adecf339c7bc30656b37/urllib3-2.0.4-py3-none-any.whl",
|
||||
"sha256": "de7df1803967d2c2a98e4b11bb7d6bd9210474c46e8a0401514e3a42a75ebde4"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/48/d7/291259f063aa0260e13a3a561bc023594c2fb300bc70e7588303effb522c/ytmusicapi-1.3.0-py3-none-any.whl",
|
||||
"sha256": "791eaca2ac186b7982962faf19506ca26905797cd4a95c75f41266839f888326"
|
||||
"url": "https://files.pythonhosted.org/packages/28/e2/35adcefca140b4232387b5d7d119abe69c6d1c86d48c949a720c7ccb8bc7/ytmusicapi-1.1.1-py3-none-any.whl",
|
||||
"sha256": "0c154a052c8f8e2310a51b1f391aa2ed1a2f6693a7ec343cc47b822de5e95783"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -113,8 +113,6 @@ SPDX-License-Identifier: CC0-1.0
|
||||
<content_rating type="oars-1.0"/>
|
||||
<url type="homepage">https://apps.kde.org/en/audiotube</url>
|
||||
<releases>
|
||||
<release version="23.08.1" date="2023-09-14"/>
|
||||
<release version="23.08.0" date="2023-08-24"/>
|
||||
<release version="23.04.3" date="2023-07-06"/>
|
||||
<release version="23.04.2" date="2023-06-08"/>
|
||||
<release version="23.04.1" date="2023-05-11"/>
|
||||
|
||||
+11
-53
@@ -4,9 +4,7 @@
|
||||
"runtime-version": "5.15-22.08",
|
||||
"sdk": "org.kde.Sdk",
|
||||
"command": "audiotube",
|
||||
"tags": [
|
||||
"nightly"
|
||||
],
|
||||
"tags": ["nightly"],
|
||||
"desktop-file-name-suffix": " (Nightly)",
|
||||
"finish-args": [
|
||||
"--share=ipc",
|
||||
@@ -22,6 +20,7 @@
|
||||
"/include/",
|
||||
"/share/cmake/"
|
||||
],
|
||||
|
||||
"modules": [
|
||||
"flatpak/python3-yt-dlp.json",
|
||||
"flatpak/python3-ytmusicapi.json",
|
||||
@@ -29,82 +28,41 @@
|
||||
{
|
||||
"name": "qcoro",
|
||||
"buildsystem": "cmake-ninja",
|
||||
"config-opts": [
|
||||
"-DBUILD_TESTING=OFF",
|
||||
"-DCMAKE_BUILD_TYPE=Release"
|
||||
],
|
||||
"config-opts": ["-DBUILD_TESTING=OFF", "-DCMAKE_BUILD_TYPE=Release"],
|
||||
"sources": [
|
||||
{
|
||||
"type": "archive",
|
||||
"url": "https://github.com/danvratil/qcoro/archive/refs/tags/v0.9.0.tar.gz",
|
||||
"sha256": "cfaf6b778450f06adac4ce5e353eb6eae213a3b62b8c8740520d58cf9fe3ec1a",
|
||||
"x-checker-data": {
|
||||
"type": "anitya",
|
||||
"project-id": 236236,
|
||||
"stable-only": true,
|
||||
"url-template": "https://github.com/danvratil/qcoro/archive/refs/tags/v$version.tar.gz"
|
||||
}
|
||||
"sha256": "cfaf6b778450f06adac4ce5e353eb6eae213a3b62b8c8740520d58cf9fe3ec1a"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "futuresql",
|
||||
"buildsystem": "cmake-ninja",
|
||||
"config-opts": [
|
||||
"-DBUILD_TESTING=OFF",
|
||||
"-DCMAKE_BUILD_TYPE=Release"
|
||||
],
|
||||
"config-opts": ["-DBUILD_TESTING=OFF", "-DCMAKE_BUILD_TYPE=Release"],
|
||||
"sources": [
|
||||
{
|
||||
"type": "archive",
|
||||
"url": "https://download.kde.org/stable/futuresql/futuresql-0.1.0.tar.xz",
|
||||
"sha256": "e44ed8d5a9618b3ca7ba2983ed9c5f7572e6e0a5b199f94868834b71ccbebd43",
|
||||
"x-checker-data": {
|
||||
"type": "anitya",
|
||||
"project-id": 368957,
|
||||
"stable-only": true,
|
||||
"url-template": "https://download.kde.org/stable/futuresql/futuresql-$version.tar.xz"
|
||||
}
|
||||
"sha256": "ecd354c26c48a67795b0004e701066f6176d25d39adda1b8a1bf9c07fa48ba6a"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "pybind11",
|
||||
"config-opts": [
|
||||
"-DPYBIND11_FINDPYTHON=ON",
|
||||
"-DPYBIND11_TEST=OFF"
|
||||
],
|
||||
"config-opts": ["-DPYBIND11_FINDPYTHON=ON", "-DPYBIND11_TEST=OFF"],
|
||||
"buildsystem": "cmake-ninja",
|
||||
"builddir": true,
|
||||
"sources": [
|
||||
{
|
||||
"type": "archive",
|
||||
"url": "https://github.com/pybind/pybind11/archive/refs/tags/v2.11.1.tar.gz",
|
||||
"sha256": "d475978da0cdc2d43b73f30910786759d593a9d8ee05b1b6846d1eb16c6d2e0c",
|
||||
"x-checker-data": {
|
||||
"type": "anitya",
|
||||
"project-id": 13384,
|
||||
"url-template": "https://github.com/pybind/pybind11/archive/refs/tags/v$version.tar.gz"
|
||||
}
|
||||
}
|
||||
]
|
||||
"sources": [ { "type": "git", "url": "https://github.com/pybind/pybind11", "tag": "v2.10.3" } ]
|
||||
},
|
||||
{
|
||||
"name": "org.kde.audiotube",
|
||||
"config-opts": [
|
||||
"-DPYBIND11_FINDPYTHON=ON"
|
||||
],
|
||||
"config-opts": ["-DPYBIND11_FINDPYTHON=ON"],
|
||||
"buildsystem": "cmake-ninja",
|
||||
"builddir": true,
|
||||
"sources": [
|
||||
{
|
||||
"type": "dir",
|
||||
"path": ".",
|
||||
"skip": [
|
||||
".git"
|
||||
]
|
||||
}
|
||||
]
|
||||
"sources": [ { "type": "dir", "path": ".", "skip": [".git"] } ]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
+3
-3
@@ -6,7 +6,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
|
||||
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
|
||||
"PO-Revision-Date: 2023-05-11 11:03+0400\n"
|
||||
"Last-Translator: Zayed Al-Saidi <[email protected]>\n"
|
||||
"Language-Team: ar\n"
|
||||
@@ -402,7 +402,7 @@ msgstr ""
|
||||
msgid "Playlist"
|
||||
msgstr "قائمة التشغيل"
|
||||
|
||||
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
|
||||
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
|
||||
#, kde-format
|
||||
msgid "remove from search history"
|
||||
msgstr "أزل من تاريخ البحث"
|
||||
@@ -427,7 +427,7 @@ msgstr ""
|
||||
msgid "Unknown"
|
||||
msgstr "مجهول"
|
||||
|
||||
#: contents/ui/SearchWithDropdown.qml:338
|
||||
#: contents/ui/SearchWithDropdown.qml:343
|
||||
#, kde-format
|
||||
msgid "No matching previous searches"
|
||||
msgstr "لا يوجد تطابق من البحوث الأخيرة"
|
||||
|
||||
+3
-3
@@ -6,7 +6,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
|
||||
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
|
||||
"PO-Revision-Date: 2022-06-19 12:16+0400\n"
|
||||
"Last-Translator: Kheyyam <[email protected]>\n"
|
||||
"Language-Team: Azerbaijani <[email protected]>\n"
|
||||
@@ -405,7 +405,7 @@ msgstr ""
|
||||
msgid "Playlist"
|
||||
msgstr "Mahnı siyahıları"
|
||||
|
||||
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
|
||||
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
|
||||
#, kde-format
|
||||
msgid "remove from search history"
|
||||
msgstr ""
|
||||
@@ -430,7 +430,7 @@ msgstr ""
|
||||
msgid "Unknown"
|
||||
msgstr "Bilinməyən"
|
||||
|
||||
#: contents/ui/SearchWithDropdown.qml:338
|
||||
#: contents/ui/SearchWithDropdown.qml:343
|
||||
#, kde-format
|
||||
msgid "No matching previous searches"
|
||||
msgstr ""
|
||||
|
||||
+3
-3
@@ -9,7 +9,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
|
||||
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
|
||||
"PO-Revision-Date: 2023-07-05 14:48+0200\n"
|
||||
"Last-Translator: Josep M. Ferrer <[email protected]>\n"
|
||||
"Language-Team: Catalan <[email protected]>\n"
|
||||
@@ -386,7 +386,7 @@ msgstr "La llista de reproducció s'ha importat correctament"
|
||||
msgid "Playlist"
|
||||
msgstr "Llista de reproducció"
|
||||
|
||||
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
|
||||
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
|
||||
#, kde-format
|
||||
msgid "remove from search history"
|
||||
msgstr "elimina de l'historial de cerques"
|
||||
@@ -411,7 +411,7 @@ msgstr "Resultats principals"
|
||||
msgid "Unknown"
|
||||
msgstr "Desconegut"
|
||||
|
||||
#: contents/ui/SearchWithDropdown.qml:338
|
||||
#: contents/ui/SearchWithDropdown.qml:343
|
||||
#, kde-format
|
||||
msgid "No matching previous searches"
|
||||
msgstr "No hi ha cerques anteriors coincidents"
|
||||
|
||||
@@ -9,7 +9,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
|
||||
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
|
||||
"PO-Revision-Date: 2023-07-05 14:48+0200\n"
|
||||
"Last-Translator: Josep M. Ferrer <[email protected]>\n"
|
||||
"Language-Team: Catalan <[email protected]>\n"
|
||||
@@ -386,7 +386,7 @@ msgstr "La llista de reproducció s'ha importat correctament"
|
||||
msgid "Playlist"
|
||||
msgstr "Llista de reproducció"
|
||||
|
||||
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
|
||||
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
|
||||
#, kde-format
|
||||
msgid "remove from search history"
|
||||
msgstr "elimina de l'historial de busques"
|
||||
@@ -411,7 +411,7 @@ msgstr "Resultats principals"
|
||||
msgid "Unknown"
|
||||
msgstr "Desconegut"
|
||||
|
||||
#: contents/ui/SearchWithDropdown.qml:338
|
||||
#: contents/ui/SearchWithDropdown.qml:343
|
||||
#, kde-format
|
||||
msgid "No matching previous searches"
|
||||
msgstr "No hi ha busques anteriors coincidents"
|
||||
@@ -532,3 +532,31 @@ msgstr "Sense títol"
|
||||
#, kde-format
|
||||
msgid "No album"
|
||||
msgstr "Sense àlbum"
|
||||
|
||||
#~ msgid "Export"
|
||||
#~ msgstr "Exporta"
|
||||
|
||||
#~ msgid "Import Playlist from Url"
|
||||
#~ msgstr "Importa una llista de reproducció des d'un URL"
|
||||
|
||||
#~ msgid "Import Playlist from File"
|
||||
#~ msgstr "Importa una llista de reproducció des d'un fitxer"
|
||||
|
||||
#~ msgid "Export Playlist"
|
||||
#~ msgstr "Exporta una llista de reproducció"
|
||||
|
||||
#~ msgid "m3u, m3u8 Playlist File (*.m3u *.m3u8)"
|
||||
#~ msgstr "Fitxer de llista de reproducció m3u, m3u8 (*.m3u *.m3u8)"
|
||||
|
||||
#~ msgid "Import Playlists"
|
||||
#~ msgstr "Importa llistes de reproducció"
|
||||
|
||||
#~ msgid "m3u, m3u8 Playlist Files (*.m3u *.m3u8)"
|
||||
#~ msgstr "Fitxers de llista de reproducció m3u, m3u8 (*.m3u *.m3u8)"
|
||||
|
||||
#~ msgid "Saving Failed"
|
||||
#~ msgstr "No s'ha pogut guardar"
|
||||
|
||||
#~ msgctxt "%1 is the path to a playlist file."
|
||||
#~ msgid "Failed to Import %1"
|
||||
#~ msgstr "No s'ha pogut importar %1"
|
||||
+3
-3
@@ -6,7 +6,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
|
||||
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
|
||||
"PO-Revision-Date: 2023-06-05 11:14+0200\n"
|
||||
"Last-Translator: Vit Pelcak <[email protected]>\n"
|
||||
"Language-Team: Czech <[email protected]>\n"
|
||||
@@ -383,7 +383,7 @@ msgstr "Seznam skladeb byl úspěšně importován."
|
||||
msgid "Playlist"
|
||||
msgstr "Seznam skladeb"
|
||||
|
||||
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
|
||||
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
|
||||
#, kde-format
|
||||
msgid "remove from search history"
|
||||
msgstr "odstranit z historie hledání"
|
||||
@@ -408,7 +408,7 @@ msgstr "Nejlepší výsledky"
|
||||
msgid "Unknown"
|
||||
msgstr "Neznámý"
|
||||
|
||||
#: contents/ui/SearchWithDropdown.qml:338
|
||||
#: contents/ui/SearchWithDropdown.qml:343
|
||||
#, kde-format
|
||||
msgid "No matching previous searches"
|
||||
msgstr "Neodpovídají žádná předchozí hledání"
|
||||
|
||||
+3
-3
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
|
||||
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
|
||||
"PO-Revision-Date: 2023-07-09 01:01+0200\n"
|
||||
"Last-Translator: Frederik Schwarzer <[email protected]>\n"
|
||||
"Language-Team: German <[email protected]>\n"
|
||||
@@ -383,7 +383,7 @@ msgstr "Wiedergabeliste erfolgreich importiert"
|
||||
msgid "Playlist"
|
||||
msgstr "Wiedergabeliste"
|
||||
|
||||
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
|
||||
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
|
||||
#, kde-format
|
||||
msgid "remove from search history"
|
||||
msgstr "Aus Suchverlauf löschen"
|
||||
@@ -408,7 +408,7 @@ msgstr "Beste Ergebnisse"
|
||||
msgid "Unknown"
|
||||
msgstr "Unbekannt"
|
||||
|
||||
#: contents/ui/SearchWithDropdown.qml:338
|
||||
#: contents/ui/SearchWithDropdown.qml:343
|
||||
#, kde-format
|
||||
msgid "No matching previous searches"
|
||||
msgstr "Keine passenden vorherigen Suchvorgänge"
|
||||
|
||||
@@ -6,7 +6,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
|
||||
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
|
||||
"PO-Revision-Date: 2023-06-17 12:08+0100\n"
|
||||
"Last-Translator: Steve Allewell <[email protected]>\n"
|
||||
"Language-Team: British English\n"
|
||||
@@ -383,7 +383,7 @@ msgstr "Playlist successfully imported"
|
||||
msgid "Playlist"
|
||||
msgstr "Playlist"
|
||||
|
||||
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
|
||||
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
|
||||
#, kde-format
|
||||
msgid "remove from search history"
|
||||
msgstr "remove from search history"
|
||||
@@ -408,7 +408,7 @@ msgstr "Top Results"
|
||||
msgid "Unknown"
|
||||
msgstr "Unknown"
|
||||
|
||||
#: contents/ui/SearchWithDropdown.qml:338
|
||||
#: contents/ui/SearchWithDropdown.qml:343
|
||||
#, kde-format
|
||||
msgid "No matching previous searches"
|
||||
msgstr "No matching previous searches"
|
||||
|
||||
+3
-3
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
|
||||
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
|
||||
"PO-Revision-Date: 2023-07-05 18:57+0200\n"
|
||||
"Last-Translator: Eloy Cuadra <[email protected]>\n"
|
||||
"Language-Team: Spanish <[email protected]>\n"
|
||||
@@ -385,7 +385,7 @@ msgstr "Lista de reproducción importada correctamente"
|
||||
msgid "Playlist"
|
||||
msgstr "Lista de reproducción"
|
||||
|
||||
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
|
||||
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
|
||||
#, kde-format
|
||||
msgid "remove from search history"
|
||||
msgstr "eliminar del historial de búsqueda"
|
||||
@@ -410,7 +410,7 @@ msgstr "Resultados principales"
|
||||
msgid "Unknown"
|
||||
msgstr "Desconocido"
|
||||
|
||||
#: contents/ui/SearchWithDropdown.qml:338
|
||||
#: contents/ui/SearchWithDropdown.qml:343
|
||||
#, kde-format
|
||||
msgid "No matching previous searches"
|
||||
msgstr "No hay búsquedas anteriores coincidentes"
|
||||
|
||||
+3
-3
@@ -9,7 +9,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
|
||||
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
|
||||
"PO-Revision-Date: 2023-07-30 22:49+0200\n"
|
||||
"Last-Translator: Iñigo Salvador Azurmendi <[email protected]>\n"
|
||||
"Language-Team: Basque <[email protected]>\n"
|
||||
@@ -386,7 +386,7 @@ msgstr "Jotze-zerrenda ondo inportatu da"
|
||||
msgid "Playlist"
|
||||
msgstr "Jotze-zerrenda"
|
||||
|
||||
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
|
||||
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
|
||||
#, kde-format
|
||||
msgid "remove from search history"
|
||||
msgstr "Kendu bilaketa-historiatik"
|
||||
@@ -411,7 +411,7 @@ msgstr "Emaitza nagusiak"
|
||||
msgid "Unknown"
|
||||
msgstr "Ezezaguna"
|
||||
|
||||
#: contents/ui/SearchWithDropdown.qml:338
|
||||
#: contents/ui/SearchWithDropdown.qml:343
|
||||
#, kde-format
|
||||
msgid "No matching previous searches"
|
||||
msgstr "Ez dago bat datorren aurreko bilaketarik"
|
||||
|
||||
+3
-3
@@ -6,7 +6,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
|
||||
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
|
||||
"PO-Revision-Date: 2023-06-27 18:07+0300\n"
|
||||
"Last-Translator: Tommi Nieminen <[email protected]>\n"
|
||||
"Language-Team: Finnish <[email protected]>\n"
|
||||
@@ -382,7 +382,7 @@ msgstr "Soittolistan tuonti onnistui"
|
||||
msgid "Playlist"
|
||||
msgstr "Soittolista"
|
||||
|
||||
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
|
||||
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
|
||||
#, kde-format
|
||||
msgid "remove from search history"
|
||||
msgstr "poista hakuhistoriasta"
|
||||
@@ -407,7 +407,7 @@ msgstr "Parhaat tulokset"
|
||||
msgid "Unknown"
|
||||
msgstr "Tuntematon"
|
||||
|
||||
#: contents/ui/SearchWithDropdown.qml:338
|
||||
#: contents/ui/SearchWithDropdown.qml:343
|
||||
#, kde-format
|
||||
msgid "No matching previous searches"
|
||||
msgstr "Ei osumia aiemmista hauista"
|
||||
|
||||
+3
-3
@@ -4,7 +4,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
|
||||
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
|
||||
"PO-Revision-Date: 2023-07-06 20:41+0200\n"
|
||||
"Last-Translator: Xavier BESNARD <[email protected]>\n"
|
||||
"Language-Team: fr\n"
|
||||
@@ -381,7 +381,7 @@ msgstr "La liste de lecture a été importée avec succès"
|
||||
msgid "Playlist"
|
||||
msgstr "Liste de lecture"
|
||||
|
||||
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
|
||||
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
|
||||
#, kde-format
|
||||
msgid "remove from search history"
|
||||
msgstr "supprimer de l'historique de recherche"
|
||||
@@ -406,7 +406,7 @@ msgstr "Principaux résultats"
|
||||
msgid "Unknown"
|
||||
msgstr "Inconnu"
|
||||
|
||||
#: contents/ui/SearchWithDropdown.qml:338
|
||||
#: contents/ui/SearchWithDropdown.qml:343
|
||||
#, kde-format
|
||||
msgid "No matching previous searches"
|
||||
msgstr "Aucune correspondance avec les recherches précédentes"
|
||||
|
||||
+5
-5
@@ -6,7 +6,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
|
||||
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
|
||||
"PO-Revision-Date: 2023-06-24 10:58+0200\n"
|
||||
"Last-Translator: Adrián Chaves (Gallaecio) <[email protected]>\n"
|
||||
"Language-Team: Galician <[email protected]>\n"
|
||||
@@ -23,7 +23,7 @@ msgid ""
|
||||
"Running with untested version of ytmusicapi %1. If you experience errors, "
|
||||
"please report them to your distribution."
|
||||
msgstr ""
|
||||
"Usando unha versión non probada de ytmusicapi, a %1. Informe á súa "
|
||||
"Estase a usar unha versión non probada de ytmusicapi, a %1. Informe á súa "
|
||||
"distribución de detecta algún erro."
|
||||
|
||||
#: contents/ui/AlbumPage.qml:75 contents/ui/LibraryPage.qml:37
|
||||
@@ -95,7 +95,7 @@ msgstr "Intérprete"
|
||||
msgid ""
|
||||
"Video playback is not supported yet. Do you want to play only the audio of "
|
||||
"\"%1\"?"
|
||||
msgstr "Non é posíbel reproducir vídeo. Quere reproducir o son de «%1»?"
|
||||
msgstr "Non se pode reproducir vídeo. Quere reproducir o son de «%1»?"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:148 contents/ui/SearchPage.qml:26
|
||||
#, kde-format
|
||||
@@ -381,7 +381,7 @@ msgstr "Importouse a lista."
|
||||
msgid "Playlist"
|
||||
msgstr "Lista de reprodución"
|
||||
|
||||
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
|
||||
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
|
||||
#, kde-format
|
||||
msgid "remove from search history"
|
||||
msgstr "Retirar do historial de buscas"
|
||||
@@ -406,7 +406,7 @@ msgstr "Resultados principais"
|
||||
msgid "Unknown"
|
||||
msgstr "Descoñecida"
|
||||
|
||||
#: contents/ui/SearchWithDropdown.qml:338
|
||||
#: contents/ui/SearchWithDropdown.qml:343
|
||||
#, kde-format
|
||||
msgid "No matching previous searches"
|
||||
msgstr "Ningunha busca anterior coincide."
|
||||
|
||||
+3
-3
@@ -6,7 +6,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
|
||||
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
|
||||
"PO-Revision-Date: 2021-09-17 20:09+0530\n"
|
||||
"Last-Translator: Raghavendra Kamath <[email protected]>\n"
|
||||
"Language-Team: kde-hindi\n"
|
||||
@@ -399,7 +399,7 @@ msgstr ""
|
||||
msgid "Playlist"
|
||||
msgstr "गीत-सूचीयाँ"
|
||||
|
||||
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
|
||||
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
|
||||
#, kde-format
|
||||
msgid "remove from search history"
|
||||
msgstr ""
|
||||
@@ -424,7 +424,7 @@ msgstr ""
|
||||
msgid "Unknown"
|
||||
msgstr "अज्ञात"
|
||||
|
||||
#: contents/ui/SearchWithDropdown.qml:338
|
||||
#: contents/ui/SearchWithDropdown.qml:343
|
||||
#, kde-format
|
||||
msgid "No matching previous searches"
|
||||
msgstr ""
|
||||
|
||||
+3
-3
@@ -6,7 +6,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
|
||||
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
|
||||
"PO-Revision-Date: 2023-07-05 22:28+0200\n"
|
||||
"Last-Translator: giovanni <[email protected]>\n"
|
||||
"Language-Team: Interlingua <[email protected]>\n"
|
||||
@@ -383,7 +383,7 @@ msgstr "Lista de reproduction importate con successo"
|
||||
msgid "Playlist"
|
||||
msgstr "Lista de reproduction"
|
||||
|
||||
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
|
||||
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
|
||||
#, kde-format
|
||||
msgid "remove from search history"
|
||||
msgstr "remove ex chronologia de cerca"
|
||||
@@ -408,7 +408,7 @@ msgstr "Exitos al culmine (Top)"
|
||||
msgid "Unknown"
|
||||
msgstr "Incognite"
|
||||
|
||||
#: contents/ui/SearchWithDropdown.qml:338
|
||||
#: contents/ui/SearchWithDropdown.qml:343
|
||||
#, kde-format
|
||||
msgid "No matching previous searches"
|
||||
msgstr "Nulle previes cerca correspondente"
|
||||
|
||||
+3
-3
@@ -6,7 +6,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
|
||||
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
|
||||
"PO-Revision-Date: 2023-06-16 19:34+0700\n"
|
||||
"Last-Translator: Linerly <[email protected]>\n"
|
||||
"Language-Team: Indonesian <[email protected]>\n"
|
||||
@@ -397,7 +397,7 @@ msgstr "Daftar putar berhasil diimpor"
|
||||
msgid "Playlist"
|
||||
msgstr "Daftar Putar"
|
||||
|
||||
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
|
||||
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
|
||||
#, kde-format
|
||||
msgid "remove from search history"
|
||||
msgstr "hapus dari riwayat pencarian"
|
||||
@@ -422,7 +422,7 @@ msgstr "Hasil Teratas"
|
||||
msgid "Unknown"
|
||||
msgstr "Tidak diketahui"
|
||||
|
||||
#: contents/ui/SearchWithDropdown.qml:338
|
||||
#: contents/ui/SearchWithDropdown.qml:343
|
||||
#, kde-format
|
||||
msgid "No matching previous searches"
|
||||
msgstr "Tidak ada pencarian sebelumnya yang cocok"
|
||||
|
||||
+3
-3
@@ -6,7 +6,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
|
||||
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
|
||||
"PO-Revision-Date: 2023-07-06 14:15+0200\n"
|
||||
"Last-Translator: Vincenzo Reale <[email protected]>\n"
|
||||
"Language-Team: Italian <[email protected]>\n"
|
||||
@@ -383,7 +383,7 @@ msgstr "Scaletta importato correttamente"
|
||||
msgid "Playlist"
|
||||
msgstr "Scaletta"
|
||||
|
||||
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
|
||||
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
|
||||
#, kde-format
|
||||
msgid "remove from search history"
|
||||
msgstr "rimuovi dalla cronologia delle ricerche"
|
||||
@@ -408,7 +408,7 @@ msgstr "Migliori risultati"
|
||||
msgid "Unknown"
|
||||
msgstr "Sconosciuto"
|
||||
|
||||
#: contents/ui/SearchWithDropdown.qml:338
|
||||
#: contents/ui/SearchWithDropdown.qml:343
|
||||
#, kde-format
|
||||
msgid "No matching previous searches"
|
||||
msgstr "Nessuna ricerca precedente corrispondente"
|
||||
|
||||
+3
-3
@@ -4,7 +4,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
|
||||
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
|
||||
"PO-Revision-Date: 2023-07-01 15:47-0700\n"
|
||||
"Last-Translator: Fumiaki Okushi <[email protected]>\n"
|
||||
"Language-Team: Japanese <[email protected]>\n"
|
||||
@@ -380,7 +380,7 @@ msgstr "再生リストのインポートに成功"
|
||||
msgid "Playlist"
|
||||
msgstr "再生リスト"
|
||||
|
||||
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
|
||||
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
|
||||
#, kde-format
|
||||
msgid "remove from search history"
|
||||
msgstr "検索履歴から除去"
|
||||
@@ -405,7 +405,7 @@ msgstr "検索上位"
|
||||
msgid "Unknown"
|
||||
msgstr "不明"
|
||||
|
||||
#: contents/ui/SearchWithDropdown.qml:338
|
||||
#: contents/ui/SearchWithDropdown.qml:343
|
||||
#, kde-format
|
||||
msgid "No matching previous searches"
|
||||
msgstr "以前の検索には一致しません"
|
||||
|
||||
+3
-3
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
|
||||
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
|
||||
"PO-Revision-Date: 2023-07-06 08:29+0200\n"
|
||||
"Last-Translator: Temuri Doghonadze <[email protected]>\n"
|
||||
"Language-Team: Georgian <[email protected]>\n"
|
||||
@@ -383,7 +383,7 @@ msgstr "დასაკრავი სიის შემოტანა წა
|
||||
msgid "Playlist"
|
||||
msgstr "დასაკრავი სია"
|
||||
|
||||
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
|
||||
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
|
||||
#, kde-format
|
||||
msgid "remove from search history"
|
||||
msgstr "ძებნის ისტორიიდან წაშლა"
|
||||
@@ -408,7 +408,7 @@ msgstr "საუკეთესო შედეგები"
|
||||
msgid "Unknown"
|
||||
msgstr "უცნობი"
|
||||
|
||||
#: contents/ui/SearchWithDropdown.qml:338
|
||||
#: contents/ui/SearchWithDropdown.qml:343
|
||||
#, kde-format
|
||||
msgid "No matching previous searches"
|
||||
msgstr "წინა ძებნებს არ ემთხვევა"
|
||||
|
||||
+3
-3
@@ -6,7 +6,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
|
||||
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
|
||||
"PO-Revision-Date: 2023-07-18 13:25+0200\n"
|
||||
"Last-Translator: Shinjo Park <[email protected]>\n"
|
||||
"Language-Team: Korean <[email protected]>\n"
|
||||
@@ -381,7 +381,7 @@ msgstr "재생 목록을 가져왔습니다"
|
||||
msgid "Playlist"
|
||||
msgstr "재생 목록"
|
||||
|
||||
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
|
||||
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
|
||||
#, kde-format
|
||||
msgid "remove from search history"
|
||||
msgstr "검색 기록에서 삭제"
|
||||
@@ -406,7 +406,7 @@ msgstr "상위 결과"
|
||||
msgid "Unknown"
|
||||
msgstr "알 수 없음"
|
||||
|
||||
#: contents/ui/SearchWithDropdown.qml:338
|
||||
#: contents/ui/SearchWithDropdown.qml:343
|
||||
#, kde-format
|
||||
msgid "No matching previous searches"
|
||||
msgstr "일치하는 이전 검색 없음"
|
||||
|
||||
+3
-3
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
|
||||
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
|
||||
"PO-Revision-Date: 2023-02-23 00:57+0000\n"
|
||||
"Last-Translator: Automatically generated\n"
|
||||
"Language-Team: none\n"
|
||||
@@ -380,7 +380,7 @@ msgstr ""
|
||||
msgid "Playlist"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
|
||||
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
|
||||
#, kde-format
|
||||
msgid "remove from search history"
|
||||
msgstr ""
|
||||
@@ -405,7 +405,7 @@ msgstr ""
|
||||
msgid "Unknown"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SearchWithDropdown.qml:338
|
||||
#: contents/ui/SearchWithDropdown.qml:343
|
||||
#, kde-format
|
||||
msgid "No matching previous searches"
|
||||
msgstr ""
|
||||
|
||||
+3
-3
@@ -6,7 +6,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
|
||||
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
|
||||
"PO-Revision-Date: 2023-07-05 23:07+0200\n"
|
||||
"Last-Translator: Freek de Kruijf <[email protected]>\n"
|
||||
"Language-Team: \n"
|
||||
@@ -383,7 +383,7 @@ msgstr "Afspeellijst met succes geïmporteerd"
|
||||
msgid "Playlist"
|
||||
msgstr "Afspeellijst"
|
||||
|
||||
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
|
||||
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
|
||||
#, kde-format
|
||||
msgid "remove from search history"
|
||||
msgstr "uit zoekgeschiedenis verwijderen"
|
||||
@@ -408,7 +408,7 @@ msgstr "Top resultaten"
|
||||
msgid "Unknown"
|
||||
msgstr "Onbekend"
|
||||
|
||||
#: contents/ui/SearchWithDropdown.qml:338
|
||||
#: contents/ui/SearchWithDropdown.qml:343
|
||||
#, kde-format
|
||||
msgid "No matching previous searches"
|
||||
msgstr "Geen overeenkomende vorige zoekopdrachten"
|
||||
|
||||
+50
-50
@@ -6,8 +6,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
|
||||
"PO-Revision-Date: 2023-08-24 21:35+0200\n"
|
||||
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
|
||||
"PO-Revision-Date: 2023-07-30 22:10+0200\n"
|
||||
"Last-Translator: Karl Ove Hufthammer <[email protected]>\n"
|
||||
"Language-Team: Norwegian Nynorsk <[email protected]>\n"
|
||||
"Language: nn\n"
|
||||
@@ -55,7 +55,7 @@ msgstr "Stokk om"
|
||||
#: contents/ui/PlaybackHistory.qml:114 contents/ui/PlaylistPage.qml:99
|
||||
#, kde-format
|
||||
msgid "Append to queue"
|
||||
msgstr "Legg i avspelingskøen"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/AlbumPage.qml:95 contents/ui/ArtistPage.qml:95
|
||||
#: contents/ui/PlaylistPage.qml:115
|
||||
@@ -153,7 +153,7 @@ msgstr "Importer speleliste"
|
||||
#: contents/ui/dialogs/ImportPlaylistDialog.qml:23
|
||||
#, kde-format
|
||||
msgid "Playlist URL (Youtube)"
|
||||
msgstr "Speleliste-URL (YouTube)"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/dialogs/PlaylistDialog.qml:20
|
||||
#, kde-format
|
||||
@@ -171,7 +171,7 @@ msgstr "Ny speleliste"
|
||||
#: contents/ui/dialogs/RenamePlaylistDialog.qml:18
|
||||
#, kde-format
|
||||
msgid "Rename playlist"
|
||||
msgstr "Endra namn på speleliste"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/LibraryPage.qml:30 contents/ui/LibraryPage.qml:123
|
||||
#: contents/ui/NavigationBar.qml:48 contents/ui/NavigationBar.qml:54
|
||||
@@ -189,7 +189,7 @@ msgstr "Vis alle"
|
||||
#: contents/ui/LibraryPage.qml:147
|
||||
#, kde-format
|
||||
msgid "No Favourites Yet"
|
||||
msgstr "Ingen favorittar enno"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/LibraryPage.qml:215
|
||||
#, kde-format
|
||||
@@ -206,7 +206,7 @@ msgstr "Avspela songar"
|
||||
#: contents/ui/LibraryPage.qml:334
|
||||
#, kde-format
|
||||
msgid "No Songs Played Yet"
|
||||
msgstr "Ingen avspela songar enno"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/LibraryPage.qml:391 contents/ui/LocalPlaylistsPage.qml:18
|
||||
#: contents/ui/LocalPlaylistsPage.qml:79 contents/ui/NavigationBar.qml:75
|
||||
@@ -218,36 +218,36 @@ msgstr "Spelelister"
|
||||
#: contents/ui/LibraryPage.qml:430
|
||||
#, kde-format
|
||||
msgid "No Playlists Yet"
|
||||
msgstr "Ingen spelelister enno"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/LibraryPage.qml:450 contents/ui/LibraryPage.qml:472
|
||||
#: contents/ui/LocalPlaylistsPage.qml:33 contents/ui/LocalPlaylistsPage.qml:55
|
||||
#, kde-format
|
||||
msgid "Rename"
|
||||
msgstr "Endra namn"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/LibraryPage.qml:459 contents/ui/LibraryPage.qml:480
|
||||
#: contents/ui/LocalPlaylistsPage.qml:42 contents/ui/LocalPlaylistsPage.qml:63
|
||||
#, kde-format
|
||||
msgid "Delete"
|
||||
msgstr "Slett"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/LocalPlaylistPage.qml:21
|
||||
#, kde-format
|
||||
msgid "Remove from Playlist"
|
||||
msgstr "Fjern frå speleliste"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/LocalPlaylistPage.qml:79
|
||||
#, kde-format
|
||||
msgid "This playlist is still empty"
|
||||
msgstr "Spelelista er framleis tom"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/LocalPlaylistsPage.qml:110
|
||||
#: contents/ui/LocalPlaylistsPage.qml:133
|
||||
#: contents/ui/LocalPlaylistsPage.qml:148 contents/ui/PlaylistPage.qml:104
|
||||
#, kde-format
|
||||
msgid "Import Playlist"
|
||||
msgstr "Importer speleliste"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/main.qml:110 main.cpp:62
|
||||
#, kde-format
|
||||
@@ -257,12 +257,12 @@ msgstr "AudioTube"
|
||||
#: contents/ui/main.qml:260
|
||||
#, kde-format
|
||||
msgid "No song playing"
|
||||
msgstr "Ingen song vert spela av"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:99
|
||||
#, kde-format
|
||||
msgid "Close Maximized Player"
|
||||
msgstr "Lukk maksimert spelar"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:203
|
||||
#: contents/ui/MinimizedPlayerControls.qml:94
|
||||
@@ -273,27 +273,27 @@ msgstr "Inkje medium vert spela av"
|
||||
#: contents/ui/MaximizedPlayerPage.qml:426
|
||||
#, kde-format
|
||||
msgid "Remove from Favourites"
|
||||
msgstr "Fjern frå favorittar"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:426
|
||||
#, kde-format
|
||||
msgid "Add to Favourites"
|
||||
msgstr "Merk som favoritt"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:451
|
||||
#, kde-format
|
||||
msgid "Open Volume Drawer"
|
||||
msgstr "Opna lydstyrke-skuff"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:559
|
||||
#, kde-format
|
||||
msgid "Unmute Audio"
|
||||
msgstr "Slå av lyddemping"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:559
|
||||
#, kde-format
|
||||
msgid "Mute Audio"
|
||||
msgstr "Demp lyd"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:602
|
||||
#, kde-format
|
||||
@@ -303,33 +303,33 @@ msgstr "%1 %"
|
||||
#: contents/ui/MaximizedPlayerPage.qml:633
|
||||
#, kde-format
|
||||
msgid "Hide Lyrics"
|
||||
msgstr "Gøym songtekst"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:633
|
||||
#, kde-format
|
||||
msgid "Show Lyrics"
|
||||
msgstr "Vis songtekst"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:653 contents/ui/SongMenu.qml:183
|
||||
#: contents/ui/SongMenu.qml:269
|
||||
#, kde-format
|
||||
msgid "Share Song"
|
||||
msgstr "Del song"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:699
|
||||
#, kde-format
|
||||
msgid "Add to a local playlist"
|
||||
msgstr "Legg til i lokal speleliste"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:736
|
||||
#, kde-format
|
||||
msgid "Hide Queue"
|
||||
msgstr "Gøym avspelingskøen"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:736
|
||||
#, kde-format
|
||||
msgid "Show Queue"
|
||||
msgstr "Vis avspelingskøen"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:956
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1198
|
||||
@@ -340,17 +340,17 @@ msgstr "Fjern spor"
|
||||
#: contents/ui/MaximizedPlayerPage.qml:995
|
||||
#, kde-format
|
||||
msgid "Clear Queue"
|
||||
msgstr "Tøm avspelingskøen"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1020
|
||||
#, kde-format
|
||||
msgid "Shuffle Queue"
|
||||
msgstr "Stokk om på avspelingskøen"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1050
|
||||
#, kde-format
|
||||
msgid "Upcoming Songs"
|
||||
msgstr "Framtidige songar"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:100
|
||||
#, kde-format
|
||||
@@ -375,14 +375,14 @@ msgstr "Ingen songar enno"
|
||||
#: contents/ui/PlaylistPage.qml:110
|
||||
#, kde-format
|
||||
msgid "Playlist successfully imported"
|
||||
msgstr "Spelelista vart importert"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/PlaylistPage.qml:131
|
||||
#, kde-format
|
||||
msgid "Playlist"
|
||||
msgstr "Speleliste"
|
||||
|
||||
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
|
||||
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
|
||||
#, kde-format
|
||||
msgid "remove from search history"
|
||||
msgstr "Fjern frå søkjeloggen"
|
||||
@@ -400,14 +400,14 @@ msgstr "Artistar"
|
||||
#: contents/ui/SearchPage.qml:36
|
||||
#, kde-format
|
||||
msgid "Top Results"
|
||||
msgstr "Toppresultat"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SearchPage.qml:39 playlistimporter.cpp:23
|
||||
#, kde-format
|
||||
msgid "Unknown"
|
||||
msgstr "Ukjend"
|
||||
|
||||
#: contents/ui/SearchWithDropdown.qml:338
|
||||
#: contents/ui/SearchWithDropdown.qml:343
|
||||
#, kde-format
|
||||
msgid "No matching previous searches"
|
||||
msgstr "Ingen samsvarande tidlegare søk"
|
||||
@@ -415,22 +415,22 @@ msgstr "Ingen samsvarande tidlegare søk"
|
||||
#: contents/ui/ShareMenu.qml:39
|
||||
#, kde-format
|
||||
msgid "Share to"
|
||||
msgstr "Del til"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/ShareMenu.qml:49 contents/ui/ShareMenu.qml:99
|
||||
#, kde-format
|
||||
msgid "Copy Link"
|
||||
msgstr "Kopier lenkje"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/ShareMenu.qml:54 contents/ui/ShareMenu.qml:104
|
||||
#, kde-format
|
||||
msgid "Link copied to clipboard"
|
||||
msgstr "Lenkje kopiert til utklippstavla"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/Sidebar.qml:189
|
||||
#, kde-format
|
||||
msgid "About"
|
||||
msgstr "Om"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/Sidebar.qml:203
|
||||
#, kde-format
|
||||
@@ -465,66 +465,66 @@ msgstr "Fjern frå loggen"
|
||||
#: contents/ui/SongMenu.qml:156 contents/ui/SongMenu.qml:244
|
||||
#, kde-format
|
||||
msgid "Add to playlist"
|
||||
msgstr "Legg til i speleliste"
|
||||
msgstr ""
|
||||
|
||||
#: main.cpp:64
|
||||
#, kde-format
|
||||
msgid "YouTube Music Player"
|
||||
msgstr "YouTube Music-spelar"
|
||||
msgstr ""
|
||||
|
||||
#: main.cpp:66
|
||||
#, kde-format
|
||||
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
|
||||
msgstr "© 2021–2023 Jonah Brüchert, 2021–2023 KDE-fellesskapet"
|
||||
msgstr ""
|
||||
|
||||
#: main.cpp:67
|
||||
#, kde-format
|
||||
msgid "Jonah Brüchert"
|
||||
msgstr "Jonah Brüchert"
|
||||
msgstr ""
|
||||
|
||||
#: main.cpp:67
|
||||
#, kde-format
|
||||
msgid "Maintainer"
|
||||
msgstr "Vedlikehaldar"
|
||||
msgstr ""
|
||||
|
||||
#: main.cpp:68
|
||||
#, kde-format
|
||||
msgid "Mathis Brüchert"
|
||||
msgstr "Mathis Brüchert"
|
||||
msgstr ""
|
||||
|
||||
#: main.cpp:68
|
||||
#, kde-format
|
||||
msgid "Designer"
|
||||
msgstr "Designar"
|
||||
msgstr ""
|
||||
|
||||
#: main.cpp:69
|
||||
#, kde-format
|
||||
msgctxt "NAME OF TRANSLATORS"
|
||||
msgid "Your names"
|
||||
msgstr "Øystein Steffensen-Alværvik,Karl Ove Hufthammer"
|
||||
msgstr "Øystein Steffensen-Alværvik"
|
||||
|
||||
#: main.cpp:69
|
||||
#, kde-format
|
||||
msgctxt "EMAIL OF TRANSLATORS"
|
||||
msgid "Your emails"
|
||||
msgstr "[email protected],[email protected]"
|
||||
msgstr "[email protected]"
|
||||
|
||||
#: main.cpp:74
|
||||
#, kde-format
|
||||
msgid "Unofficial API for YouTube Music"
|
||||
msgstr "Uoffisielt API for YouTube Music"
|
||||
msgstr ""
|
||||
|
||||
#: playlistimporter.cpp:23
|
||||
#, kde-format
|
||||
msgid "No description"
|
||||
msgstr "Inga skildring"
|
||||
msgstr ""
|
||||
|
||||
#: playlistimporter.cpp:57
|
||||
#, kde-format
|
||||
msgid "No title"
|
||||
msgstr "Utan tittel"
|
||||
msgstr ""
|
||||
|
||||
#: playlistimporter.cpp:59
|
||||
#, kde-format
|
||||
msgid "No album"
|
||||
msgstr "Ingen album"
|
||||
msgstr ""
|
||||
+3
-3
@@ -6,7 +6,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
|
||||
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
|
||||
"PO-Revision-Date: 2022-01-01 09:11-0800\n"
|
||||
"Last-Translator: A S Alam <[email protected]>\n"
|
||||
"Language-Team: Punjabi <[email protected]>\n"
|
||||
@@ -398,7 +398,7 @@ msgstr ""
|
||||
msgid "Playlist"
|
||||
msgstr "ਪਲੇਅਲਿਸਟਾਂ"
|
||||
|
||||
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
|
||||
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
|
||||
#, kde-format
|
||||
msgid "remove from search history"
|
||||
msgstr ""
|
||||
@@ -423,7 +423,7 @@ msgstr ""
|
||||
msgid "Unknown"
|
||||
msgstr "ਅਣਪਛਾਤਾ"
|
||||
|
||||
#: contents/ui/SearchWithDropdown.qml:338
|
||||
#: contents/ui/SearchWithDropdown.qml:343
|
||||
#, kde-format
|
||||
msgid "No matching previous searches"
|
||||
msgstr ""
|
||||
|
||||
+6
-6
@@ -7,8 +7,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
|
||||
"PO-Revision-Date: 2023-08-20 10:50+0200\n"
|
||||
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
|
||||
"PO-Revision-Date: 2023-05-20 09:19+0200\n"
|
||||
"Last-Translator: Łukasz Wojniłowicz <[email protected]>\n"
|
||||
"Language-Team: Polish <[email protected]>\n"
|
||||
"Language: pl\n"
|
||||
@@ -17,7 +17,7 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
|
||||
"|| n%100>=20) ? 1 : 2);\n"
|
||||
"X-Generator: Lokalize 23.04.2\n"
|
||||
"X-Generator: Lokalize 22.12.3\n"
|
||||
|
||||
#: asyncytmusic.cpp:65
|
||||
#, kde-format
|
||||
@@ -378,14 +378,14 @@ msgstr "Jeszcze nie ma tutaj utworów"
|
||||
#: contents/ui/PlaylistPage.qml:110
|
||||
#, kde-format
|
||||
msgid "Playlist successfully imported"
|
||||
msgstr "Pomyślnie zaimportowano listy odtwarzania"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/PlaylistPage.qml:131
|
||||
#, kde-format
|
||||
msgid "Playlist"
|
||||
msgstr "Lista odtwarzania"
|
||||
|
||||
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
|
||||
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
|
||||
#, kde-format
|
||||
msgid "remove from search history"
|
||||
msgstr "usuń z historii wyszukiwania"
|
||||
@@ -410,7 +410,7 @@ msgstr "Szczytowe wyniki"
|
||||
msgid "Unknown"
|
||||
msgstr "Nieznany"
|
||||
|
||||
#: contents/ui/SearchWithDropdown.qml:338
|
||||
#: contents/ui/SearchWithDropdown.qml:343
|
||||
#, kde-format
|
||||
msgid "No matching previous searches"
|
||||
msgstr "Żadne z poprzednich wyszukiwań nie odpowiada"
|
||||
|
||||
+3
-3
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
|
||||
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
|
||||
"PO-Revision-Date: 2023-07-08 12:56+0100\n"
|
||||
"Last-Translator: José Nuno Coelho Pires <[email protected]>\n"
|
||||
"Language-Team: Portuguese <[email protected]>\n"
|
||||
@@ -386,7 +386,7 @@ msgstr "A lista de reprodução foi importada com sucesso"
|
||||
msgid "Playlist"
|
||||
msgstr "Lista de Reprodução"
|
||||
|
||||
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
|
||||
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
|
||||
#, kde-format
|
||||
msgid "remove from search history"
|
||||
msgstr "remover do histórico de pesquisas"
|
||||
@@ -411,7 +411,7 @@ msgstr "Resultados de Topo"
|
||||
msgid "Unknown"
|
||||
msgstr "Desconhecido"
|
||||
|
||||
#: contents/ui/SearchWithDropdown.qml:338
|
||||
#: contents/ui/SearchWithDropdown.qml:343
|
||||
#, kde-format
|
||||
msgid "No matching previous searches"
|
||||
msgstr "Sem pesquisas anteriores correspondentes"
|
||||
|
||||
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
|
||||
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
|
||||
"PO-Revision-Date: 2023-07-05 17:10-0300\n"
|
||||
"Last-Translator: Luiz Fernando Ranghetti <[email protected]>\n"
|
||||
"Language-Team: Brazilian Portuguese <[email protected]>\n"
|
||||
@@ -384,7 +384,7 @@ msgstr "Lista de músicas importada com sucesso"
|
||||
msgid "Playlist"
|
||||
msgstr "Lista de músicas"
|
||||
|
||||
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
|
||||
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
|
||||
#, kde-format
|
||||
msgid "remove from search history"
|
||||
msgstr "remover do histórico de pesquisa"
|
||||
@@ -409,7 +409,7 @@ msgstr "Principais resultados"
|
||||
msgid "Unknown"
|
||||
msgstr "Desconhecido"
|
||||
|
||||
#: contents/ui/SearchWithDropdown.qml:338
|
||||
#: contents/ui/SearchWithDropdown.qml:343
|
||||
#, kde-format
|
||||
msgid "No matching previous searches"
|
||||
msgstr "Nenhuma pesquisa anterior correspondente"
|
||||
|
||||
+3
-3
@@ -6,7 +6,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
|
||||
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
|
||||
"PO-Revision-Date: 2023-04-30 14:45+0300\n"
|
||||
"Last-Translator: Alexander Yavorsky <[email protected]>\n"
|
||||
"Language-Team: Russian <[email protected]>\n"
|
||||
@@ -395,7 +395,7 @@ msgstr ""
|
||||
msgid "Playlist"
|
||||
msgstr "Список воспроизведения"
|
||||
|
||||
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
|
||||
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
|
||||
#, kde-format
|
||||
msgid "remove from search history"
|
||||
msgstr "Удалить из истории поиска"
|
||||
@@ -420,7 +420,7 @@ msgstr ""
|
||||
msgid "Unknown"
|
||||
msgstr "Неизвестный тип"
|
||||
|
||||
#: contents/ui/SearchWithDropdown.qml:338
|
||||
#: contents/ui/SearchWithDropdown.qml:343
|
||||
#, kde-format
|
||||
msgid "No matching previous searches"
|
||||
msgstr "Не найдено соответствующих предыдущих поисковых запросов"
|
||||
|
||||
+3
-3
@@ -4,7 +4,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
|
||||
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
|
||||
"PO-Revision-Date: 2022-04-07 18:01+0200\n"
|
||||
"Last-Translator: Roman Paholik <[email protected]>\n"
|
||||
"Language-Team: Slovak <[email protected]>\n"
|
||||
@@ -396,7 +396,7 @@ msgstr ""
|
||||
msgid "Playlist"
|
||||
msgstr "Zoznamy skladieb"
|
||||
|
||||
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
|
||||
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
|
||||
#, kde-format
|
||||
msgid "remove from search history"
|
||||
msgstr ""
|
||||
@@ -421,7 +421,7 @@ msgstr ""
|
||||
msgid "Unknown"
|
||||
msgstr "Neznáme"
|
||||
|
||||
#: contents/ui/SearchWithDropdown.qml:338
|
||||
#: contents/ui/SearchWithDropdown.qml:343
|
||||
#, kde-format
|
||||
msgid "No matching previous searches"
|
||||
msgstr ""
|
||||
|
||||
+3
-3
@@ -6,7 +6,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
|
||||
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
|
||||
"PO-Revision-Date: 2023-07-05 09:15+0200\n"
|
||||
"Last-Translator: Matjaž Jeran <[email protected]>\n"
|
||||
"Language-Team: Slovenian <[email protected]>\n"
|
||||
@@ -382,7 +382,7 @@ msgstr "Seznam pesmi uspešno uvožen"
|
||||
msgid "Playlist"
|
||||
msgstr "Seznam predvajanja"
|
||||
|
||||
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
|
||||
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
|
||||
#, kde-format
|
||||
msgid "remove from search history"
|
||||
msgstr "odstrani iz zgodovine iskanj"
|
||||
@@ -407,7 +407,7 @@ msgstr "Najboljši rezultati"
|
||||
msgid "Unknown"
|
||||
msgstr "Neznano"
|
||||
|
||||
#: contents/ui/SearchWithDropdown.qml:338
|
||||
#: contents/ui/SearchWithDropdown.qml:343
|
||||
#, kde-format
|
||||
msgid "No matching previous searches"
|
||||
msgstr "Ni zadetkov iz prejšnjih iskanj"
|
||||
|
||||
+3
-3
@@ -6,7 +6,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
|
||||
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
|
||||
"PO-Revision-Date: 2023-07-26 20:15+0200\n"
|
||||
"Last-Translator: Stefan Asserhäll <[email protected]>\n"
|
||||
"Language-Team: Swedish <[email protected]>\n"
|
||||
@@ -381,7 +381,7 @@ msgstr "Spellista importerad med lyckat resultat"
|
||||
msgid "Playlist"
|
||||
msgstr "Spellista"
|
||||
|
||||
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
|
||||
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
|
||||
#, kde-format
|
||||
msgid "remove from search history"
|
||||
msgstr "ta bort från sökhistorik"
|
||||
@@ -406,7 +406,7 @@ msgstr "Toppresultat"
|
||||
msgid "Unknown"
|
||||
msgstr "Okänd"
|
||||
|
||||
#: contents/ui/SearchWithDropdown.qml:338
|
||||
#: contents/ui/SearchWithDropdown.qml:343
|
||||
#, kde-format
|
||||
msgid "No matching previous searches"
|
||||
msgstr "Inga matchande tidigare sökningar"
|
||||
|
||||
+3
-3
@@ -6,7 +6,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
|
||||
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
|
||||
"PO-Revision-Date: 2023-07-05 13:28+0300\n"
|
||||
"Last-Translator: Emir SARI <[email protected]>\n"
|
||||
"Language-Team: Turkish <[email protected]>\n"
|
||||
@@ -383,7 +383,7 @@ msgstr "Çalma listesi başarıyla içe aktarıldı"
|
||||
msgid "Playlist"
|
||||
msgstr "Çalma Listesi"
|
||||
|
||||
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
|
||||
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
|
||||
#, kde-format
|
||||
msgid "remove from search history"
|
||||
msgstr "arama geçmişinden kaldır"
|
||||
@@ -408,7 +408,7 @@ msgstr "En İyi Sonuçlar"
|
||||
msgid "Unknown"
|
||||
msgstr "Bilinmiyor"
|
||||
|
||||
#: contents/ui/SearchWithDropdown.qml:338
|
||||
#: contents/ui/SearchWithDropdown.qml:343
|
||||
#, kde-format
|
||||
msgid "No matching previous searches"
|
||||
msgstr "Daha önceden yapılmış eşleşen arama yok"
|
||||
|
||||
+3
-3
@@ -6,7 +6,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
|
||||
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
|
||||
"PO-Revision-Date: 2023-07-05 15:10+0300\n"
|
||||
"Last-Translator: Yuri Chornoivan <[email protected]>\n"
|
||||
"Language-Team: Ukrainian <[email protected]>\n"
|
||||
@@ -384,7 +384,7 @@ msgstr "Список відтворення успішно імпортован
|
||||
msgid "Playlist"
|
||||
msgstr "Список відтворення"
|
||||
|
||||
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
|
||||
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
|
||||
#, kde-format
|
||||
msgid "remove from search history"
|
||||
msgstr "вилучити з журналу пошуку"
|
||||
@@ -409,7 +409,7 @@ msgstr "Найкращі результати"
|
||||
msgid "Unknown"
|
||||
msgstr "Невідомий"
|
||||
|
||||
#: contents/ui/SearchWithDropdown.qml:338
|
||||
#: contents/ui/SearchWithDropdown.qml:343
|
||||
#, kde-format
|
||||
msgid "No matching previous searches"
|
||||
msgstr "Немає відповідних попередніх пошуків"
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: kdeorg\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
|
||||
"PO-Revision-Date: 2023-09-16 10:09\n"
|
||||
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
|
||||
"PO-Revision-Date: 2023-08-02 12:41\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Chinese Simplified\n"
|
||||
"Language: zh_CN\n"
|
||||
@@ -379,7 +379,7 @@ msgstr ""
|
||||
msgid "Playlist"
|
||||
msgstr "播放列表"
|
||||
|
||||
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
|
||||
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
|
||||
#, kde-format
|
||||
msgid "remove from search history"
|
||||
msgstr "从搜索历史中移除"
|
||||
@@ -404,7 +404,7 @@ msgstr ""
|
||||
msgid "Unknown"
|
||||
msgstr "未知"
|
||||
|
||||
#: contents/ui/SearchWithDropdown.qml:338
|
||||
#: contents/ui/SearchWithDropdown.qml:343
|
||||
#, kde-format
|
||||
msgid "No matching previous searches"
|
||||
msgstr "没有匹配的历史搜索"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
|
||||
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
|
||||
"PO-Revision-Date: 2022-05-30 00:47+0000\n"
|
||||
"Last-Translator: Automatically generated\n"
|
||||
"Language-Team: none\n"
|
||||
@@ -380,7 +380,7 @@ msgstr ""
|
||||
msgid "Playlist"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
|
||||
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
|
||||
#, kde-format
|
||||
msgid "remove from search history"
|
||||
msgstr ""
|
||||
@@ -405,7 +405,7 @@ msgstr ""
|
||||
msgid "Unknown"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SearchWithDropdown.qml:338
|
||||
#: contents/ui/SearchWithDropdown.qml:343
|
||||
#, kde-format
|
||||
msgid "No matching previous searches"
|
||||
msgstr ""
|
||||
|
||||
+1
-1
@@ -3,5 +3,5 @@
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
|
||||
|
||||
ytmusicapi==1.3.0
|
||||
ytmusicapi==1.1.1
|
||||
yt-dlp
|
||||
@@ -99,7 +99,6 @@ private:
|
||||
interface->reportResult(val);
|
||||
interface->reportFinished();
|
||||
} catch (const std::exception &err) {
|
||||
interface->reportResult({});
|
||||
interface->reportFinished();
|
||||
Q_EMIT errorOccurred(QString::fromLocal8Bit(err.what()));
|
||||
}
|
||||
|
||||
@@ -2,12 +2,20 @@
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
|
||||
|
||||
import org.kde.kirigamiaddons.formcard 1.0 as FormCard
|
||||
import org.kde.kirigamiaddons.labs.mobileform 0.1 as MobileForm
|
||||
|
||||
import QtQuick 2.15
|
||||
import org.kde.kirigamiaddons.formcard 1.0 as FormCard
|
||||
import QtQuick.Layouts 1.3
|
||||
import QtQuick.Controls 2.15 as Controls
|
||||
import org.kde.kirigami 2.20 as Kirigami
|
||||
import org.kde.ytmusic 1.0
|
||||
|
||||
FormCard.AboutPage {
|
||||
MobileForm.AboutPage {
|
||||
aboutData: About
|
||||
|
||||
Component.onCompleted: {
|
||||
if (hasOwnProperty("showAboutKDE")) {
|
||||
showAboutKDE = false
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -114,22 +114,14 @@ Flickable {
|
||||
videoId: UserPlaylistModel.currentVideoId
|
||||
}
|
||||
|
||||
property var audioPlayer: audioLoader.item
|
||||
property var audioPlayer: Audio {
|
||||
id: audio
|
||||
|
||||
Loader {
|
||||
id: audioLoader
|
||||
active: true
|
||||
asynchronous: true
|
||||
sourceComponent: Audio {
|
||||
id: audio
|
||||
|
||||
autoPlay: true
|
||||
source: info.audioUrl
|
||||
onStatusChanged: {
|
||||
if (status === Audio.EndOfMedia) {
|
||||
console.log("Song ended");
|
||||
UserPlaylistModel.next();
|
||||
}
|
||||
source: info.audioUrl
|
||||
onStatusChanged: {
|
||||
if (status === Audio.EndOfMedia) {
|
||||
console.log("Song ended");
|
||||
UserPlaylistModel.next();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -38,14 +38,12 @@ Kirigami.ScrollablePage {
|
||||
Repeater {
|
||||
id: recentsRepeater
|
||||
Layout.fillWidth: true
|
||||
model: LocalSearchModel {
|
||||
searchQuery: searchLoader.text
|
||||
}
|
||||
|
||||
delegate: Kirigami.DelegateRecycler {
|
||||
Layout.alignment: Qt.AlignTop
|
||||
sourceComponent: searchAlbum
|
||||
model: SortFilterModel {
|
||||
filterRole: PlaybackHistoryModel.Title
|
||||
filterRegularExpression: searchLoader.filterExpression
|
||||
sourceModel: Library.playbackHistory
|
||||
}
|
||||
delegate: searchAlbum
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -60,7 +58,10 @@ Kirigami.ScrollablePage {
|
||||
Repeater {
|
||||
Layout.fillHeight: true
|
||||
Layout.fillWidth: true
|
||||
model: Library.searches
|
||||
model: SortFilterModel {
|
||||
sourceModel: Library.searches
|
||||
filterRegularExpression: searchLoader.filterExpression
|
||||
}
|
||||
|
||||
delegate: Kirigami.AbstractListItem {
|
||||
implicitHeight: Kirigami.Units.gridUnit * 2
|
||||
@@ -94,4 +95,5 @@ Kirigami.ScrollablePage {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -13,6 +13,7 @@ import org.kde.ytmusic 1.0
|
||||
Item {
|
||||
function forceFocus(){searchField.forceActiveFocus()}
|
||||
function accepted(){searchField.accepted()}
|
||||
property alias filterExpression: searchField.filterExpression
|
||||
property alias text: searchField.text
|
||||
|
||||
id: root
|
||||
@@ -24,18 +25,21 @@ Item {
|
||||
readOnly: true
|
||||
}
|
||||
Kirigami.SearchField {
|
||||
property var filterExpression: new RegExp(`.*${filterText}.*`, "i")
|
||||
property string filterText: ""
|
||||
|
||||
id: searchField
|
||||
autoAccept: false
|
||||
width: root.width
|
||||
selectByMouse: true
|
||||
onFocusChanged: {
|
||||
Library.searches.filter = text
|
||||
filterText = text
|
||||
if (wideScreen && focus)
|
||||
popup.open()
|
||||
}
|
||||
|
||||
onTextEdited: {
|
||||
Library.searches.filter = text
|
||||
filterText = text
|
||||
if(completionList.count === 0) {
|
||||
//no matching search -> message should display
|
||||
Library.temporarySearch = ""
|
||||
@@ -198,7 +202,7 @@ Item {
|
||||
from: searchField.height
|
||||
duration: 200
|
||||
to: completionList
|
||||
? (Library.searches.filter && recentsRepeater.count > 0 //can't use recentsRepeater.visible directly, because it always returns false at this stage
|
||||
? (searchField.filterText && recentsRepeater.count > 0 //can't use recentsRepeater.visible directly, because it always returns false at this stage
|
||||
? (Math.min(fieldContainer.height+ (completionList.count) * (completionList.delegateHeight + completionList.delegatePadding) + Kirigami.Separator.implicitHeight + recentsRepeater.implicitHeight, Kirigami.Units.gridUnit * 20))+2*(popup.shadowSize+popup.expansion)
|
||||
: (completionList.count === 0
|
||||
?(Math.min(fieldContainer.height+ noMatchingSearchLabel.height + 2*noMatchingSearchLabel.Layout.margins, Kirigami.Units.gridUnit * 20))+2*(popup.shadowSize+popup.expansion)
|
||||
@@ -310,12 +314,13 @@ Item {
|
||||
|
||||
Layout.fillWidth: true
|
||||
|
||||
visible: Library.searches.filter && recentsRepeater.count > 0 //if changed, adjust playOpenHeight
|
||||
visible: searchField.filterText && recentsRepeater.count > 0 //if changed, adjust playOpenHeight
|
||||
|
||||
model: LocalSearchModel {
|
||||
searchQuery: Library.searches.filter
|
||||
model: SortFilterModel {
|
||||
filterRole: PlaybackHistoryModel.Title
|
||||
filterRegularExpression: searchField.filterExpression
|
||||
sourceModel: Library.playbackHistory
|
||||
}
|
||||
|
||||
delegate: searchAlbum
|
||||
}
|
||||
Kirigami.Separator {
|
||||
@@ -350,7 +355,10 @@ Item {
|
||||
property int empiricDelegateHeight: recentsRepeater.visible ? (mainScrollView.contentHeight - recentsRepeater.height) / count : (mainScrollView.contentHeight + mainScrollViewLayout.spacing) / (count)
|
||||
|
||||
id: completionList
|
||||
model: Library.searches
|
||||
model: SortFilterModel {
|
||||
sourceModel: Library.searches
|
||||
filterRegularExpression: searchField.filterExpression
|
||||
}
|
||||
|
||||
function isSelectedDelegateVisible() {
|
||||
if(!recentsRepeater.visible) {
|
||||
|
||||
+25
-77
@@ -27,10 +27,25 @@ Library::Library(QObject *parent)
|
||||
}()))
|
||||
{
|
||||
m_database->runMigrations(":/migrations/");
|
||||
m_searches = new SearchHistoryModel(this);
|
||||
m_searches = new SearchHistoryModel(m_database->getResults<SingleValue<QString>>("select distinct (search_query) from searches order by search_id desc"), this);
|
||||
connect(this, &Library::changeFavourites, [this]() {
|
||||
auto future = m_database->getResults<Song>("select * from favourites natural join songs order by favourites.rowid desc");
|
||||
m_favourites= new FavouritesModel(std::move(future), this);
|
||||
Q_EMIT favouritesChanged();
|
||||
});
|
||||
Q_EMIT changeFavourites();
|
||||
|
||||
refreshFavourites();
|
||||
refreshPlaybackHistory();
|
||||
connect(this, &Library::changePlaybackHistory, [this]() {
|
||||
//playbackHistory
|
||||
auto future = m_database->getResults<PlayedSong>("select * from played_songs natural join songs");
|
||||
m_playbackHistory = new PlaybackHistoryModel(std::move(future), this);
|
||||
|
||||
//mostPlayed
|
||||
auto future2 = m_database->getResults<PlayedSong>("select * from played_songs natural join songs order by plays desc limit 10");
|
||||
m_mostPlayed = new PlaybackHistoryModel(std::move(future2), this);
|
||||
Q_EMIT playbackHistoryChanged();
|
||||
});
|
||||
Q_EMIT changePlaybackHistory();
|
||||
}
|
||||
|
||||
Library::~Library() = default;
|
||||
@@ -49,15 +64,13 @@ FavouritesModel *Library::favourites()
|
||||
void Library::addFavourite(const QString &videoId, const QString &title, const QString &artist, const QString &album)
|
||||
{
|
||||
QCoro::connect(addSong(videoId, title, artist, album), this, [=, this] {
|
||||
QCoro::connect(m_database->execute("insert or ignore into favourites (video_id) values (?)", videoId),
|
||||
this, &Library::refreshFavourites);
|
||||
QCoro::connect(m_database->execute("insert or ignore into favourites (video_id) values (?)", videoId), this, &Library::changeFavourites);
|
||||
});
|
||||
}
|
||||
|
||||
void Library::removeFavourite(const QString &videoId)
|
||||
{
|
||||
QCoro::connect(m_database->execute("delete from favourites where video_id = ?", videoId),
|
||||
this, &Library::refreshFavourites);
|
||||
QCoro::connect(m_database->execute("delete from favourites where video_id = ?", videoId), this, &Library::changeFavourites);
|
||||
}
|
||||
|
||||
FavouriteWatcher *Library::favouriteWatcher(const QString &videoId)
|
||||
@@ -101,41 +114,17 @@ PlaybackHistoryModel *Library::playbackHistory()
|
||||
return m_playbackHistory;
|
||||
}
|
||||
|
||||
void Library::refreshPlaybackHistory()
|
||||
{
|
||||
// playbackHistory
|
||||
auto future = m_database->getResults<PlayedSong>(
|
||||
"select * from played_songs natural join songs");
|
||||
m_playbackHistory = new PlaybackHistoryModel(std::move(future), this);
|
||||
|
||||
// mostPlayed
|
||||
auto future2 = m_database->getResults<PlayedSong>(
|
||||
"select * from played_songs natural join songs order by plays desc limit 10");
|
||||
m_mostPlayed = new PlaybackHistoryModel(std::move(future2), this);
|
||||
Q_EMIT playbackHistoryChanged();
|
||||
}
|
||||
|
||||
void Library::refreshFavourites()
|
||||
{
|
||||
auto future = m_database->getResults<Song>(
|
||||
"select * from favourites natural join songs order by favourites.rowid desc");
|
||||
m_favourites = new FavouritesModel(std::move(future), this);
|
||||
Q_EMIT favouritesChanged();
|
||||
}
|
||||
|
||||
void Library::addPlaybackHistoryItem(const QString &videoId, const QString &title, const QString &artist, const QString &album)
|
||||
{
|
||||
QCoro::connect(addSong(videoId, title, artist, album), this, [=, this] {
|
||||
QCoro::connect(m_database->execute("insert or ignore into played_songs (video_id, plays) values (?, ?)", videoId, 0), this, [=, this] {
|
||||
QCoro::connect(m_database->execute("update played_songs set plays = plays + 1 where video_id = ? ", videoId),
|
||||
this, &Library::refreshPlaybackHistory);
|
||||
QCoro::connect(m_database->execute("update played_songs set plays = plays + 1 where video_id = ? ", videoId), this, &Library::changePlaybackHistory);
|
||||
});
|
||||
});
|
||||
}
|
||||
void Library::removePlaybackHistoryItem(const QString &videoId)
|
||||
{
|
||||
QCoro::connect(m_database->execute("delete from played_songs where video_id = ?", videoId),
|
||||
this, &Library::refreshPlaybackHistory);
|
||||
QCoro::connect(m_database->execute("delete from played_songs where video_id = ?", videoId), this, &Library::changePlaybackHistory);
|
||||
}
|
||||
|
||||
WasPlayedWatcher *Library::wasPlayedWatcher(const QString& videoId)
|
||||
@@ -175,11 +164,6 @@ PlaybackHistoryModel::PlaybackHistoryModel(QFuture<std::vector<PlayedSong>> &&so
|
||||
});
|
||||
}
|
||||
|
||||
PlaybackHistoryModel::PlaybackHistoryModel(QObject *parent)
|
||||
: QAbstractListModel(parent)
|
||||
{
|
||||
}
|
||||
|
||||
QHash<int, QByteArray> PlaybackHistoryModel::roleNames() const {
|
||||
return {
|
||||
{Roles::VideoId, "videoId"},
|
||||
@@ -288,25 +272,9 @@ bool FavouriteWatcher::isFavourite() const {
|
||||
return m_isFavourite;
|
||||
}
|
||||
|
||||
SearchHistoryModel::SearchHistoryModel(Library *library)
|
||||
: QAbstractListModel(library)
|
||||
SearchHistoryModel::SearchHistoryModel(QFuture<std::vector<SingleValue<QString>>> &&historyFuture, QObject *parent)
|
||||
: QAbstractListModel(parent)
|
||||
{
|
||||
auto historyFuture = library->database()
|
||||
.getResults<SingleValue<QString>>("select distinct (search_query) from searches order by search_id desc limit 20");
|
||||
|
||||
connect(this, &SearchHistoryModel::filterChanged, this, [library, this]() {
|
||||
auto future = library->database()
|
||||
.getResults<SingleValue<QString>>("select distinct (search_query) from searches "
|
||||
"where search_query like '%" % m_filter % "%'"
|
||||
"order by search_id desc limit 20");
|
||||
|
||||
QCoro::connect(std::move(future), this, [this](auto history) {
|
||||
beginResetModel();
|
||||
m_history = history;
|
||||
endResetModel();
|
||||
});
|
||||
});
|
||||
|
||||
QCoro::connect(std::move(historyFuture), this, [this](const auto history) {
|
||||
beginResetModel();
|
||||
m_history = history;
|
||||
@@ -328,12 +296,7 @@ int SearchHistoryModel::rowCount(const QModelIndex &parent) const {
|
||||
|
||||
void SearchHistoryModel::removeSearch(const QString &search) {
|
||||
int row = getRow(search);
|
||||
if(m_temporarySearch != "") {
|
||||
beginRemoveRows({}, row+1, row+1);
|
||||
}
|
||||
else {
|
||||
beginRemoveRows({}, row, row);
|
||||
}
|
||||
beginRemoveRows({}, row, row);
|
||||
m_history.erase(m_history.begin() + row);
|
||||
endRemoveRows();
|
||||
}
|
||||
@@ -428,18 +391,3 @@ void WasPlayedWatcher::update(std::optional<SingleValue<bool> > result)
|
||||
Q_EMIT wasPlayedChanged();
|
||||
}
|
||||
}
|
||||
|
||||
LocalSearchModel::LocalSearchModel(QObject *parent) : PlaybackHistoryModel(parent)
|
||||
{
|
||||
connect(this, &LocalSearchModel::searchQueryChanged, this, [this]() {
|
||||
auto resultFuture = Library::instance().database()
|
||||
.getResults<PlayedSong>("select * from played_songs natural join songs "
|
||||
"where title like '%" % m_searchQuery % "%' "
|
||||
"order by plays desc limit 10");
|
||||
QCoro::connect(std::move(resultFuture), this, [this](auto results) {
|
||||
beginResetModel();
|
||||
m_playedSongs = results;
|
||||
endResetModel();
|
||||
});
|
||||
});
|
||||
}
|
||||
+4
-28
@@ -84,42 +84,21 @@ public:
|
||||
Q_ENUM(Roles);
|
||||
|
||||
PlaybackHistoryModel(QFuture<std::vector<PlayedSong>> &&songs, QObject *parent = nullptr);
|
||||
PlaybackHistoryModel(QObject *parent = nullptr);
|
||||
|
||||
QHash<int, QByteArray> roleNames() const override;
|
||||
int rowCount(const QModelIndex &parent) const override;
|
||||
QVariant data(const QModelIndex &index, int role) const override;
|
||||
std::vector<PlayedSong> getPlayedSong() const;
|
||||
|
||||
protected:
|
||||
private:
|
||||
std::vector<PlayedSong> m_playedSongs;
|
||||
};
|
||||
|
||||
///
|
||||
/// Provides a list of recently played songs matching a search query.
|
||||
///
|
||||
class LocalSearchModel : public PlaybackHistoryModel {
|
||||
Q_OBJECT
|
||||
|
||||
Q_PROPERTY(QString searchQuery MEMBER m_searchQuery NOTIFY searchQueryChanged)
|
||||
|
||||
Q_SIGNAL void searchQueryChanged();
|
||||
|
||||
public:
|
||||
LocalSearchModel(QObject *parent = nullptr);
|
||||
|
||||
QString m_searchQuery;
|
||||
};
|
||||
|
||||
class Library;
|
||||
|
||||
class SearchHistoryModel : public QAbstractListModel {
|
||||
Q_OBJECT
|
||||
|
||||
Q_PROPERTY(QString filter MEMBER m_filter NOTIFY filterChanged)
|
||||
|
||||
public:
|
||||
SearchHistoryModel(Library *library);
|
||||
SearchHistoryModel(QFuture<std::vector<SingleValue<QString>>> &&historyFuture, QObject *parent = nullptr);
|
||||
int rowCount(const QModelIndex &parent) const override;
|
||||
void removeSearch(const QString &search);
|
||||
QVariant data(const QModelIndex &index, int role) const override;
|
||||
@@ -127,13 +106,10 @@ public:
|
||||
const QString & temporarySearch() const;
|
||||
void setTemporarySearch(QString const& text);
|
||||
|
||||
Q_SIGNAL void filterChanged();
|
||||
|
||||
private:
|
||||
size_t getRow(QString const &search) const;
|
||||
std::vector<SingleValue<QString>> m_history;
|
||||
QString m_temporarySearch;
|
||||
QString m_filter;
|
||||
};
|
||||
|
||||
class Library : public QObject
|
||||
@@ -153,7 +129,7 @@ public:
|
||||
|
||||
FavouritesModel *favourites();
|
||||
Q_SIGNAL void favouritesChanged();
|
||||
void refreshFavourites();
|
||||
Q_SIGNAL void changeFavourites();
|
||||
Q_INVOKABLE void addFavourite(const QString &videoId, const QString &title, const QString &artist, const QString &album);
|
||||
Q_INVOKABLE void removeFavourite(const QString &videoId);
|
||||
Q_INVOKABLE FavouriteWatcher *favouriteWatcher(const QString &videoId);
|
||||
@@ -168,7 +144,7 @@ public:
|
||||
|
||||
PlaybackHistoryModel *playbackHistory();
|
||||
Q_SIGNAL void playbackHistoryChanged();
|
||||
void refreshPlaybackHistory();
|
||||
Q_SIGNAL void changePlaybackHistory();
|
||||
Q_INVOKABLE void addPlaybackHistoryItem(const QString &videoId, const QString &title, const QString &artist, const QString &album);
|
||||
Q_INVOKABLE void removePlaybackHistoryItem(const QString &videoId);
|
||||
Q_INVOKABLE WasPlayedWatcher *wasPlayedWatcher(const QString &videoId);
|
||||
|
||||
@@ -91,7 +91,6 @@ Q_DECL_EXPORT int main(int argc, char *argv[])
|
||||
qmlRegisterUncreatableType<PlaybackHistoryModel>(URI, 1, 0, "PlaybackHistoryModel","");
|
||||
qmlRegisterType<QSortFilterProxyModel>(URI, 1, 0, "SortFilterModel");
|
||||
qmlRegisterType<Blur>(URI, 1, 0, "Blur");
|
||||
qmlRegisterType<LocalSearchModel>(URI, 1, 0, "LocalSearchModel");
|
||||
qmlRegisterType<LocalPlaylistModel>(URI, 1, 0, "LocalPlaylistModel");
|
||||
qmlRegisterType<LocalPlaylistsModel>(URI, 1, 0, "LocalPlaylistsModel");
|
||||
qmlRegisterType<PlaylistImporter>(URI, 1, 0, "PlaylistImporter");
|
||||
|
||||
+4
-11
@@ -23,7 +23,6 @@ void ThumbnailSource::setVideoId(const QString &id) {
|
||||
|
||||
m_videoId = id;
|
||||
Q_EMIT videoIdChanged();
|
||||
setCachedPath({});
|
||||
|
||||
const QString cacheDir = QStandardPaths::writableLocation(QStandardPaths::CacheLocation) % QDir::separator() % "thumbnails";
|
||||
QDir(cacheDir).mkpath(QStringLiteral("."));
|
||||
@@ -69,14 +68,11 @@ void ThumbnailSource::setVideoId(const QString &id) {
|
||||
|
||||
auto *reply = Library::instance().nam().get(QNetworkRequest(QUrl("https://i.ytimg.com/vi_webp/" % m_videoId % "/maxresdefault.webp")));
|
||||
|
||||
auto storeResult = [this, cacheLocation, id](QNetworkReply *reply) {
|
||||
if (reply->error() != QNetworkReply::NoError) {
|
||||
return;
|
||||
}
|
||||
auto storeResult = [this, cacheLocation](QNetworkReply *reply) {
|
||||
auto data = reply->readAll();
|
||||
reply->deleteLater();
|
||||
auto future = QtConcurrent::run([data = std::move(data), cacheLocation]() {
|
||||
// Scale cover down to save memory
|
||||
// Scale cover down to save qmemory
|
||||
int targetHeight = 200 * qGuiApp->devicePixelRatio();
|
||||
auto scaled = QImage::fromData(data)
|
||||
.scaledToHeight(targetHeight);
|
||||
@@ -88,11 +84,8 @@ void ThumbnailSource::setVideoId(const QString &id) {
|
||||
cropped.save(cacheLocation);
|
||||
});
|
||||
|
||||
QCoro::connect(std::move(future), this, [this, cacheLocation, id]() {
|
||||
// Check if video id was changed since we started fetching
|
||||
if (id == m_videoId) {
|
||||
setCachedPath(QUrl::fromLocalFile(cacheLocation));
|
||||
}
|
||||
QCoro::connect(std::move(future), this, [this, cacheLocation]() {
|
||||
setCachedPath(QUrl::fromLocalFile(cacheLocation));
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
+1
-1
@@ -12,7 +12,7 @@
|
||||
#include <vector>
|
||||
#include <memory>
|
||||
|
||||
constexpr auto TESTED_YTMUSICAPI_VERSION = "1.3.0";
|
||||
constexpr auto TESTED_YTMUSICAPI_VERSION = "1.1.1";
|
||||
|
||||
struct YTMusicPrivate;
|
||||
|
||||
|
||||
Reference in new issue
Block a user