commit haruna for openSUSE:Factory
Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package haruna for openSUSE:Factory checked in at 2021-11-03 17:26:34 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/haruna (Old) and /work/SRC/openSUSE:Factory/.haruna.new.1890 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "haruna" Wed Nov 3 17:26:34 2021 rev:10 rq:929001 version:0.7.3 Changes: -------- --- /work/SRC/openSUSE:Factory/haruna/haruna.changes 2021-09-26 21:49:37.226844964 +0200 +++ /work/SRC/openSUSE:Factory/.haruna.new.1890/haruna.changes 2021-11-03 17:27:30.677378090 +0100 @@ -1,0 +2,25 @@ +Wed Nov 3 10:32:27 UTC 2021 - Luigi Baldoni <aloisio@gmx.com> + +- Update to version 0.7.3 + * fix(settings): load icon in settings page + * fix: lower tooltip font size + * fix: rename icon in desktop file + * fix: install only one icon + * fix(header): fix toolbutton menu not closing + * feat(mpv): keep file loaded after eof is reached + * Revert "fix: keep file loaded after reaching end of file" + * feat(playlistmodel): add appendVideo method + * fix(settings): raise window when clicking configure button + * fix: keep file loaded after reaching end of file + * fix(settings): load correct file for the General page + * fix: report bug button in about page not working + * fix(youtube-dl): prioritize yt-dlp + * fix(icon): install haruna.svg icon + * fix(mpris): only show filename if there's no title + * refactor(Settings): add about page and move navigation code + in settings editor + * Extract messages for configuration keys + * refactor(Settings): move actions inside list view + * fix(Settings): make sidebar elements translatable + +------------------------------------------------------------------- Old: ---- haruna-v0.7.2.tar.gz New: ---- haruna-v0.7.3.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ haruna.spec ++++++ --- /var/tmp/diff_new_pack.PrPShY/_old 2021-11-03 17:27:31.093378318 +0100 +++ /var/tmp/diff_new_pack.PrPShY/_new 2021-11-03 17:27:31.097378320 +0100 @@ -17,7 +17,7 @@ Name: haruna -Version: 0.7.2 +Version: 0.7.3 Release: 0 Summary: Video player built with Qt/QML on top of libmpv License: CC-BY-4.0 AND GPL-3.0-or-later AND WTFPL @@ -74,7 +74,7 @@ %doc README.md %{_bindir}/%{name} %{_datadir}/applications/org.kde.haruna.desktop -%{_datadir}/icons/hicolor/*/apps/org.kde.haruna.svg +%{_datadir}/icons/hicolor/*/apps/haruna.svg %{_datadir}/metainfo/org.kde.haruna.metainfo.xml %changelog ++++++ haruna-v0.7.2.tar.gz -> haruna-v0.7.3.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haruna-v0.7.2/.github/workflows/appimage-release.yml new/haruna-v0.7.3/.github/workflows/appimage-release.yml --- old/haruna-v0.7.2/.github/workflows/appimage-release.yml 2021-09-26 14:38:02.000000000 +0200 +++ new/haruna-v0.7.3/.github/workflows/appimage-release.yml 1970-01-01 01:00:00.000000000 +0100 @@ -1,49 +0,0 @@ -# -# SPDX-FileCopyrightText: 2021 Alexis Lopez Zubieta <contact@azubieta.net> -# SPDX-FileContributor: 2021 Shriraj Hegde <shriraj.hegde@gmail.com> -# -# SPDX-License-Identifier: GPL-3.0-or-later -# - -name: Appimage Release Build - -on: - release: - types: [published] - -jobs: - build-appimage: - - runs-on: ubuntu-20.04 - - steps: - - uses: actions/checkout@v2 - - name: install dependencies - run: | - sudo apt-get update - sudo apt-get install -y qt5-default qtdeclarative5-dev gettext build-essential extra-cmake-modules \ - kirigami2-dev mpv libmpv-dev libkf5xmlgui-dev qtquickcontrols2-5-dev libkf5kio-dev libkf5iconthemes-dev \ - libkf5filemetadata-dev libkf5config-dev breeze-dev qtquickcontrols2-5-dev cmake g++ libkf5doctools-dev \ - libavcodec-dev libavfilter-dev libavformat-dev libavdevice-dev libavutil-dev libswscale-dev libpostproc-dev - - name: configure - run: cmake . -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr - - name: build - run: make -j`nproc` install DESTDIR=AppDir - - name: Resolve package version - id: resolve_version - run: | - echo "HARUNA_VERSION=${GITHUB_REF##*/}" >> $GITHUB_ENV - - name: pack - uses: docker://appimagecrafters/appimage-builder:0.8.4 - with: - entrypoint: appimage-builder - args: --recipe ./appimage-amd64.yaml --skip-test - - - name: Upload to Release - uses: softprops/action-gh-release@v1 - if: startsWith(github.ref, 'refs/tags/') - with: - files: | - /home/runner/work/haruna/haruna/*.AppImage - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haruna-v0.7.2/.github/workflows/appimage.yml new/haruna-v0.7.3/.github/workflows/appimage.yml --- old/haruna-v0.7.2/.github/workflows/appimage.yml 2021-09-26 14:38:02.000000000 +0200 +++ new/haruna-v0.7.3/.github/workflows/appimage.yml 1970-01-01 01:00:00.000000000 +0100 @@ -1,46 +0,0 @@ -# -# SPDX-FileCopyrightText: 2021 Alexis Lopez Zubieta <contact@azubieta.net> -# SPDX-FileContributor: 2021 Shriraj Hegde <shriraj.hegde@gmail.com> -# -# SPDX-License-Identifier: GPL-3.0-or-later -# - -name: Continuous AppImage build - -on: - push - -jobs: - build-appimage: - - runs-on: ubuntu-20.04 - - steps: - - uses: actions/checkout@v2 - - name: install dependencies - run: | - sudo apt-get update - sudo apt-get install -y qt5-default qtdeclarative5-dev gettext build-essential extra-cmake-modules \ - kirigami2-dev mpv libmpv-dev libkf5xmlgui-dev qtquickcontrols2-5-dev libkf5kio-dev libkf5iconthemes-dev \ - libkf5filemetadata-dev libkf5config-dev breeze-dev qtquickcontrols2-5-dev cmake g++ libkf5doctools-dev \ - libavcodec-dev libavfilter-dev libavformat-dev libavdevice-dev libavutil-dev libswscale-dev libpostproc-dev - - name: configure - run: cmake . -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr - - name: build - run: make -j`nproc` install DESTDIR=AppDir - - name: Resolve package version - id: resolve_version - run: | - GIT_HASH=$(git rev-parse --short "$GITHUB_SHA") - GIT_BRACH=$(echo ${GITHUB_REF#refs/heads/} | sed -r 's/[\/]+/-/g') - echo "HARUNA_VERSION=${GIT_BRACH}-${GIT_HASH}" >> $GITHUB_ENV - - name: pack - uses: docker://appimagecrafters/appimage-builder:0.8.4 - with: - entrypoint: appimage-builder - args: --recipe ./appimage-amd64.yaml --skip-test - - - uses: actions/upload-artifact@v2 - with: - name: AppImage - path: './*.AppImage*' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haruna-v0.7.2/CMakeLists.txt new/haruna-v0.7.3/CMakeLists.txt --- old/haruna-v0.7.2/CMakeLists.txt 2021-09-26 14:38:02.000000000 +0200 +++ new/haruna-v0.7.3/CMakeLists.txt 2021-11-03 10:56:34.000000000 +0100 @@ -7,7 +7,7 @@ cmake_minimum_required(VERSION 3.15) cmake_policy(SET CMP0048 NEW) -project(haruna VERSION 0.7.2 LANGUAGES CXX) +project(haruna VERSION 0.7.3 LANGUAGES CXX) set(CMAKE_INCLUDE_CURRENT_DIR ON) set(CMAKE_AUTOMOC ON) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haruna-v0.7.2/Messages.sh new/haruna-v0.7.3/Messages.sh --- old/haruna-v0.7.2/Messages.sh 2021-09-26 14:38:02.000000000 +0200 +++ new/haruna-v0.7.3/Messages.sh 2021-11-03 10:56:34.000000000 +0100 @@ -5,4 +5,5 @@ # SPDX-License-Identifier: GPL-3.0-or-later # +$EXTRACTRC `find . -name \*.kcfg` >> rc.cpp $XGETTEXT `find . \( -name \*.cpp -o -name \*.h -o -name \*.qml \)` -o $podir/haruna.pot diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haruna-v0.7.2/README.md new/haruna-v0.7.3/README.md --- old/haruna-v0.7.2/README.md 2021-09-26 14:38:02.000000000 +0200 +++ new/haruna-v0.7.3/README.md 2021-11-03 10:56:34.000000000 +0100 @@ -35,14 +35,6 @@ [Flatpak setup guide](https://flatpak.org/setup/) -# AppImage - -* Download appimage from [Releases](https://github.com/g-fb/haruna/releases) -* Make executable `chmod +x Haruna*.AppImage` -* Run -* Optional, use [AppImageLauncher](https://github.com/TheAssassin/AppImageLauncher) -* Note: On Fedora/Redhat users may need to install `libnsl` (`sudo dnf install libnsl`) - # Features these are just some features that set Haruna apart from others players diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haruna-v0.7.2/appimage-amd64.yaml new/haruna-v0.7.3/appimage-amd64.yaml --- old/haruna-v0.7.2/appimage-amd64.yaml 2021-09-26 14:38:02.000000000 +0200 +++ new/haruna-v0.7.3/appimage-amd64.yaml 1970-01-01 01:00:00.000000000 +0100 @@ -1,144 +0,0 @@ -# -# SPDX-FileCopyrightText: 2021 Alexis Lopez Zubieta <contact@azubieta.net> -# -# SPDX-License-Identifier: GPL-3.0-or-later -# -# appimage-builder recipe file https://appimage-builder.readthedocs.io/en/latest/ - -version: 1 -script: - - apt-get update && apt-get install -y python3.8 - -AppDir: - path: ./AppDir - - app_info: - id: org.kde.haruna - name: Haruna Video Player - icon: org.kde.haruna - version: !ENV ${HARUNA_VERSION} - exec: usr/bin/haruna - - apt: - arch: amd64 - sources: - - sourceline: 'deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ focal main restricted universe multiverse' - key_url: 'http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3b4fe6acc0b21f32' - - sourceline: 'deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ focal-updates main restricted universe multiverse' - - sourceline: 'deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ focal-backports main restricted universe multiverse' - - sourceline: 'deb http://archive.neon.kde.org/user focal main' - key_url: 'https://archive.neon.kde.org/public.key' - - - include: - - coreutils - - qml-module-org-kde-kirigami2 - - qml-module-qtquick-layouts - - qml-module-qt-labs-platform - - qml-module-qtquick-shapes - - libkf5configcore5 - - libkf5configgui5 - - libkf5configwidgets5 - - libkf5coreaddons5 - - libkf5filemetadata3 - - libkf5i18n5 - - libkf5kiocore5 - - libkf5filemetadata-bin - - libkf5kiowidgets5 - - libkf5xmlgui5 - - libmpv1 - - libqt5core5a - - libqt5dbus5 - - libqt5gui5 - - libqt5qml5 - - libqt5quick5 - - libqt5quickcontrols2-5 - - libqt5widgets5 - - libkf5i18n5 - - python3 - - breeze - - breeze-icon-theme - - qml-module-org-kde-qqc2desktopstyle - - exclude: - - libkf5service-bin - - perl - - perl-base - - perl-modules - - libpam-runtime - - dpkg - - gpgv - - gpg - - gnupg - - sound-theme-freedesktop - - systemd - - systemd-timesyncd - - gpg-wks-server - - sensible-utils - - mime-support - - libpam-modules - - files: - exclude: - - usr/lib/x86_64-linux-gnu/gconv - - usr/share/man - - usr/share/doc/*/README.* - - usr/share/doc/*/changelog.* - - usr/share/doc/*/NEWS.* - - usr/share/doc/*/TODO.* - after_bundle: - # workaround libcrypt.so.2 binary still name as libcrypt.so.1 in debian systems - - ln -fs /usr/lib/libcrypt.so.2 $APPDIR/usr/lib/libcrypt.so.1 - # deploy the latest youtube-dl - - python3.8 -m pip install --ignore-installed --prefix=/usr --root=$APPDIR install youtube-dl certifi - - runtime: - env: - # Set python home - # See https://docs.python.org/3/using/cmdline.html#envvar-PYTHONHOME - PYTHONHOME: '${APPDIR}/usr' - # Path to the site-packages dir or other modules dirs - # See https://docs.python.org/3/using/cmdline.html#envvar-PYTHONPATH - PYTHONPATH: '${APPDIR}/usr/lib/python3.8/site-packages' - # SSL Certificates are placed in a different location for every system therefore we ship our own copy - SSL_CERT_FILE: '${APPDIR}/usr/lib/python3.8/site-packages/certifi/cacert.pem' - - test: - debian: - image: appimagecrafters/tests-env:debian-stable - command: "./AppRun" - use_host_x: True - env: - QT_DEBUG_PLUGINS: 1 - centos: - image: appimagecrafters/tests-env:centos-7 - command: "./AppRun" - use_host_x: True - env: - QT_DEBUG_PLUGINS: 1 - arch: - image: appimagecrafters/tests-env:archlinux-latest - command: "./AppRun" - use_host_x: True - env: - QT_DEBUG_PLUGINS: 1 - fedora: - image: appimagecrafters/tests-env:fedora-30 - command: "./AppRun" - use_host_x: True - env: - QT_DEBUG_PLUGINS: 1 - ubuntu: - image: appimagecrafters/tests-env:ubuntu-xenial - command: "./AppRun" - use_host_x: True - - -AppImage: - update-information: None - sign-key: None - arch: x86_64 - - - - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haruna-v0.7.2/data/CMakeLists.txt new/haruna-v0.7.3/data/CMakeLists.txt --- old/haruna-v0.7.2/data/CMakeLists.txt 2021-09-26 14:38:02.000000000 +0200 +++ new/haruna-v0.7.3/data/CMakeLists.txt 2021-11-03 10:56:34.000000000 +0100 @@ -6,4 +6,4 @@ install(FILES org.kde.haruna.desktop DESTINATION ${KDE_INSTALL_APPDIR}) install(FILES org.kde.haruna.metainfo.xml DESTINATION ${KDE_INSTALL_METAINFODIR}) -ecm_install_icons(ICONS sc-apps-org.kde.haruna.svg DESTINATION ${KDE_INSTALL_ICONDIR}) +ecm_install_icons(ICONS sc-apps-haruna.svg DESTINATION ${KDE_INSTALL_ICONDIR}) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haruna-v0.7.2/data/org.kde.haruna.desktop new/haruna-v0.7.3/data/org.kde.haruna.desktop --- old/haruna-v0.7.2/data/org.kde.haruna.desktop 2021-09-26 14:38:02.000000000 +0200 +++ new/haruna-v0.7.3/data/org.kde.haruna.desktop 2021-11-03 10:56:34.000000000 +0100 @@ -9,6 +9,7 @@ Name[ca]=Reproductor de v��deo Haruna Name[ca@valencia]=Reproductor de v��deo Haruna Name[cs]=P��ehr��va�� videa Haruna +Name[de]=Haruna Video Player Name[en_GB]=Haruna Video Player Name[es]=Reproductor de v��deo Haruna Name[eu]=Haruna bideo jotzailea @@ -18,13 +19,15 @@ Name[nl]=Haruna videospeler Name[pl]=Odtwarzacz film��w Haruna Name[pt]=Leitor de V��deo Haruna +Name[ru]=������������������������������������ Haruna Name[sk]=Prehr��va�� videa Haruna Name[sl]=Haruna Video predvajalnik Name[sv]=Haruna videospelare Name[uk]=���������������������������� Haruna Name[x-test]=xxHaruna Video Playerxx +Name[zh_CN]=Haruna ��������������� Exec=haruna %u -Icon=org.kde.haruna +Icon=haruna Type=Application Categories=Qt;KDE;AudioVideo;Player;Video;TV; MimeType=application/ogg;application/x-ogg;application/mxf;application/sdp;application/smil;application/x-smil;application/streamingmedia;application/x-streamingmedia;application/vnd.rn-realmedia;application/vnd.rn-realmedia-vbr;audio/aac;audio/x-aac;audio/vnd.dolby.heaac.1;audio/vnd.dolby.heaac.2;audio/aiff;audio/x-aiff;audio/m4a;audio/x-m4a;application/x-extension-m4a;audio/mp1;audio/x-mp1;audio/mp2;audio/x-mp2;audio/mp3;audio/x-mp3;audio/mpeg;audio/mpeg2;audio/mpeg3;audio/mpegurl;audio/x-mpegurl;audio/mpg;audio/x-mpg;audio/rn-mpeg;audio/musepack;audio/x-musepack;audio/ogg;audio/scpls;audio/x-scpls;audio/vnd.rn-realaudio;audio/wav;audio/x-pn-wav;audio/x-pn-windows-pcm;audio/x-realaudio;audio/x-pn-realaudio;audio/x-ms-wma;audio/x-pls;audio/x-wav;video/mpeg;video/x-mpeg2;video/x-mpeg3;video/mp4v-es;video/x-m4v;video/mp4;application/x-extension-mp4;video/divx;video/vnd.divx;video/msvideo;video/x-msvideo;video/ogg;video/quicktime;video/vnd.rn-realvideo;video/x-ms-afs;video/x-ms-asf;au dio/x-ms-asf;application/vnd.ms-asf;video/x-ms-wmv;video/x-ms-wmx;video/x-ms-wvxvideo;video/x-avi;video/avi;video/x-flic;video/fli;video/x-flc;video/flv;video/x-flv;video/x-theora;video/x-theora+ogg;video/x-matroska;video/mkv;audio/x-matroska;application/x-matroska;video/webm;audio/webm;audio/vorbis;audio/x-vorbis;audio/x-vorbis+ogg;video/x-ogm;video/x-ogm+ogg;application/x-ogm;application/x-ogm-audio;application/x-ogm-video;application/x-shorten;audio/x-shorten;audio/x-ape;audio/x-wavpack;audio/x-tta;audio/AMR;audio/ac3;audio/eac3;audio/amr-wb;video/mp2t;audio/flac;audio/mp4;application/x-mpegurl;video/vnd.mpegurl;application/vnd.apple.mpegurl;audio/x-pn-au;video/3gp;video/3gpp;video/3gpp2;audio/3gpp;audio/3gpp2;video/dv;audio/dv;audio/opus;audio/vnd.dts;audio/vnd.dts.hd;audio/x-adpcm;application/x-cue;audio/m3u; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haruna-v0.7.2/data/org.kde.haruna.metainfo.xml new/haruna-v0.7.3/data/org.kde.haruna.metainfo.xml --- old/haruna-v0.7.2/data/org.kde.haruna.metainfo.xml 2021-09-26 14:38:02.000000000 +0200 +++ new/haruna-v0.7.3/data/org.kde.haruna.metainfo.xml 2021-11-03 10:56:34.000000000 +0100 @@ -9,6 +9,7 @@ <name xml:lang="ca">Reproductor de v��deo Haruna</name> <name xml:lang="ca-valencia">Reproductor de v��deo Haruna</name> <name xml:lang="cs">P��ehr��va�� videa Haruna</name> + <name xml:lang="de">Haruna Video Player</name> <name xml:lang="en-GB">Haruna Video Player</name> <name xml:lang="es">Reproductor de v��deo Haruna</name> <name xml:lang="eu">Haruna bideo jotzailea</name> @@ -18,10 +19,12 @@ <name xml:lang="nl">Haruna videospeler</name> <name xml:lang="pl">Odtwarzacz film��w Haruna</name> <name xml:lang="pt">Leitor de V��deo Haruna</name> + <name xml:lang="ru">�������������������� Haruna</name> <name xml:lang="sl">Haruna Video predvajalnik</name> <name xml:lang="sv">Haruna videospelare</name> <name xml:lang="uk">���������������������������� Haruna</name> <name xml:lang="x-test">xxHaruna Video Playerxx</name> + <name xml:lang="zh-CN">Haruna ���������������</name> <id>org.kde.haruna</id> <launchable type="desktop-id">org.kde.haruna.desktop</launchable> <metadata_license>CC-BY-4.0</metadata_license> @@ -42,10 +45,12 @@ <summary xml:lang="nl">Open-source videospeler gebouwd met Qt/QML en libmpv.</summary> <summary xml:lang="pl">Otwarto��r��d��owy odtwarzacz film��w zbudowany na Qt/QML oraz libmpv.</summary> <summary xml:lang="pt">Lietor de v��deo em c��digo aberto, criado com o Qt/QML e a 'libmpv'.</summary> + <summary xml:lang="ru">������������������������������������ �� ���������������� ���������������� ����������, ������������������ �� �������������� Qt/QML �� libmpv.</summary> <summary xml:lang="sl">Odprtokodni video predvajalnik zgrajen z Qt/QML in libmpv.</summary> <summary xml:lang="sv">Videoeditor med ��ppen k��llkod byggd p�� Qt/QML och libmpy.</summary> <summary xml:lang="uk">���������������������������� ���� ������������������ ����������, �������� �������������������� ���� ������������ Qt/QML �� libmpv.</summary> <summary xml:lang="x-test">xxOpen source video player built with Qt/QML and libmpv.xx</summary> + <summary xml:lang="zh-CN">������ Qt/QML ��� libmpv ���������������������������������</summary> <developer_name>George Florea B��nu��</developer_name> <developer_name xml:lang="ca">George Florea B��nu��</developer_name> <developer_name xml:lang="ca-valencia">George Florea B��nu��</developer_name> @@ -59,10 +64,12 @@ <developer_name xml:lang="nl">George Florea B��nu��</developer_name> <developer_name xml:lang="pl">George Florea B��nu��</developer_name> <developer_name xml:lang="pt">George Florea B��nu��</developer_name> + <developer_name xml:lang="ru">George Florea B��nu��</developer_name> <developer_name xml:lang="sl">George Florea B��nu��</developer_name> <developer_name xml:lang="sv">George Florea B��nu��</developer_name> <developer_name xml:lang="uk">George Florea B��nu��</developer_name> <developer_name xml:lang="x-test">xxGeorge Florea B��nu��xx</developer_name> + <developer_name xml:lang="zh-CN">George Florea Ba��nus��</developer_name> <description> <p>Open source video player built with Qt/QML and libmpv.</p> <p xml:lang="ca">Reproductor de v��deo de codi obert constru��t amb Qt/QML i la libmpv.</p> @@ -77,10 +84,12 @@ <p xml:lang="nl">Open-source videospeler gebouwd met Qt/QML en libmpv.</p> <p xml:lang="pl">Otwarto��r��d��owy odtwarzacz film��w zbudowany na Qt/QML oraz libmpv.</p> <p xml:lang="pt">Lietor de v��deo em c��digo aberto, criado com o Qt/QML e a 'libmpv'.</p> + <p xml:lang="ru">������������������������������������ �� ���������������� ���������������� ����������, ������������������ �� �������������� Qt/QML �� libmpv.</p> <p xml:lang="sl">Odprtokodni video predvajalnik zgrajen z Qt/QML in libmpv.</p> <p xml:lang="sv">Videoeditor med ��ppen k��llkod byggd p�� Qt/QML och libmpy.</p> <p xml:lang="uk">���������������������������� ���� ������������������ ����������, �������� �������������������� ���� ������������ Qt/QML �� libmpv.</p> <p xml:lang="x-test">xxOpen source video player built with Qt/QML and libmpv.xx</p> + <p xml:lang="zh-CN">������ Qt/QML ��� libmpv ���������������������������������</p> <p>Features</p> <p xml:lang="ca">Caracter��stiques</p> <p xml:lang="ca-valencia">Caracter��stiques</p> @@ -94,11 +103,13 @@ <p xml:lang="nl">Mogelijkheden</p> <p xml:lang="pl">Mo��liwo��ci</p> <p xml:lang="pt">Caracter��sticas</p> + <p xml:lang="ru">����������������������</p> <p xml:lang="sk">Funkcie</p> <p xml:lang="sl">Zmo��nosti</p> <p xml:lang="sv">Funktioner</p> <p xml:lang="uk">��������������������</p> <p xml:lang="x-test">xxFeaturesxx</p> + <p xml:lang="zh-CN">������</p> <ul> <li>play online videos, through youtube-dl</li> <li xml:lang="ca">Reprodueix v��deos en l��nia a trav��s de youtube-dl</li> @@ -113,10 +124,12 @@ <li xml:lang="nl">online video' afspelen, via youtube-dl</li> <li xml:lang="pl">odtwarzanie film��w z sieci, poprzez youtube-dl</li> <li xml:lang="pt">reproduzir v��deos 'online' atrav��s do 'youtube-dl'</li> + <li xml:lang="ru">������������������������ ���������� ���� ������������������ �� �������������� youtube-dl</li> <li xml:lang="sl">predvaja spletne videoposnetke prek youtube-dl</li> <li xml:lang="sv">spela n��tvideor via youtube-dl</li> <li xml:lang="uk">���������������������� ����������������-���������� ���� ������������������ youtube-dl</li> <li xml:lang="x-test">xxplay online videos, through youtube-dlxx</li> + <li xml:lang="zh-CN">������ youtube-dl ������������������������</li> <li>supports youtube playlists</li> <li xml:lang="ca">Admet les llistes de reproducci�� de YouTube</li> <li xml:lang="ca-valencia">Admet les llistes de reproducci�� de YouTube</li> @@ -130,10 +143,12 @@ <li xml:lang="nl">ondersteunt youtube afspeellijsten</li> <li xml:lang="pl">obs��uga list odtwarzania youtube</li> <li xml:lang="pt">suporta as listas de reprodu����o do YouTube</li> + <li xml:lang="ru">������������������ �������������� ������������������������������ Youtube</li> <li xml:lang="sl">podpira youtube sezname predvajanj</li> <li xml:lang="sv">st��der YouTube spellistor</li> <li xml:lang="uk">������������������ �������������� ���������������������� youtube</li> <li xml:lang="x-test">xxsupports youtube playlistsxx</li> + <li xml:lang="zh-CN">������ YouTube ������������</li> <li>toggle playlist with mouse-over, playlist overlays the video</li> <li xml:lang="ca">Alterna la llista de reproducci�� amb el ratol��, la llista de reproducci�� se superposa al v��deo</li> <li xml:lang="ca-valencia">Alterna la llista de reproducci�� amb el ratol��, la llista de reproducci�� se superposa al v��deo</li> @@ -146,10 +161,12 @@ <li xml:lang="nl">afspeellijst omschakelen met muis-er-boven, afspeellijst gaat over de video</li> <li xml:lang="pl">prze����czanie list odtwarzania po najechaniu na nie, lista odtwarzania nak��ada si�� na film</li> <li xml:lang="pt">comuta����o da lista de reprodu����o �� passagem do rato, sobreposi����o da lista sobre o v��deo</li> + <li xml:lang="ru">������������������������ ������������ ������������������������������ �� �������������� ��������, ������������ ������������������������������ �������������������������� ���� ����������</li> <li xml:lang="sl">preklaplja sezname predvajanj z mi��ko nad njimi, seznam je nad video posnetkom</li> <li xml:lang="sv">visa eller d��lj spellistan genom att h��lla musen ��ver, spellistan visas ovanp�� videon</li> <li xml:lang="uk">���������������������� �������������� ���������������������� ���� ������������������ ������������������ �������������������� ��������, �������������������� ������������ ���������������������� ���� ����������</li> <li xml:lang="x-test">xxtoggle playlist with mouse-over, playlist overlays the videoxx</li> + <li xml:lang="zh-CN">���������������������������������������������������������������������������</li> <li>auto skip chapter containing certain words</li> <li xml:lang="ca">Salt autom��tic de cap��tols que contenen certes paraules</li> <li xml:lang="ca-valencia">Salt autom��tic de cap��tols que contenen certes paraules</li> @@ -162,10 +179,12 @@ <li xml:lang="nl">hoofdstuk met bepaalde woorden overslaan</li> <li xml:lang="pl">pomijanie rozdzia����w zawieraj��cych pewne s��owa</li> <li xml:lang="pt">saltar automaticamente cap��tulos com certas palavras</li> + <li xml:lang="ru">���������������������������� �������������� ��������, �������������������� ������������������ ����������</li> <li xml:lang="sl">samodejno presko��i poglavje, ki vsebuje dolo��ene besede</li> <li xml:lang="sv">hoppa automatiskt ��ver kapitel som inneh��ller vissa ord</li> <li xml:lang="uk">���������������������� ���������������������� ����������������, ���� �������������� ���������� ����������</li> <li xml:lang="x-test">xxauto skip chapter containing certain wordsxx</li> + <li xml:lang="zh-CN">������������������������������������������������</li> <li>configurable shortcuts and mouse buttons</li> <li xml:lang="ca">Dreceres i botons del ratol�� configurables</li> <li xml:lang="ca-valencia">Dreceres i botons del ratol�� configurables</li> @@ -178,10 +197,12 @@ <li xml:lang="nl">te configureren sneltoetsen en muisknoppen</li> <li xml:lang="pl">dostosowywalne skr��ty i przyciski myszy</li> <li xml:lang="pt">atalhos e bot��es de rato configur��veis</li> + <li xml:lang="ru">�������������������������� �������������������� ������������ �� ������������ ��������</li> <li xml:lang="sl">nastavljive bli��njice in gumbi na mi��ki</li> <li xml:lang="sv">anpassningsbara genv��gar och musknappar</li> <li xml:lang="uk">���������������� ���� ���������������������������� ���������������������� �������������������� ���� ��������'�������� ���� ������������ ��������</li> <li xml:lang="x-test">xxconfigurable shortcuts and mouse buttonsxx</li> + <li xml:lang="zh-CN">������������������������������������������</li> <li>quick jump to next chapter by middle click on progress bar</li> <li xml:lang="ca">Salt r��pid cap al cap��tol seg��ent fent clic al mig sobre la barra de progr��s</li> <li xml:lang="ca-valencia">Salt r��pid cap al cap��tol seg��ent fent clic al mig sobre la barra de progr��s</li> @@ -194,13 +215,32 @@ <li xml:lang="nl">snelle sprong naar volgende hoofdstuk door middelste klik op voortgangsbalk</li> <li xml:lang="pl">szybkie skoki do nast��pnych rozdzia����w na ��rodkowy przycisk myszy na pasku post��pu</li> <li xml:lang="pt">salto r��pido para o cap��tulo seguinte com o bot��o do meio do rato sobre a barra de progresso</li> + <li xml:lang="ru">�������������� �������������� ���� ������������������ ���������� ���� ������������ �������������� �������������� ��������</li> <li xml:lang="sl">hitri skon na naslednje poglavje s srednjim klikom na drsniku napredka</li> <li xml:lang="sv">g�� snabbt till n��sta kapitel genom att mittenklicka p�� f��rloppsraden</li> <li xml:lang="uk">�������������� �������������� ���� �������������������� �������������� ������������������ ������������������ �������������� �������� ���� ������������ ��������������</li> <li xml:lang="x-test">xxquick jump to next chapter by middle click on progress barxx</li> + <li xml:lang="zh-CN">���������������������������������������������������</li> </ul> </description> <releases> + <release version="0.7.3" date="2021-10-03"> + <description> + <p>Bugfixes:</p> + <ul> + <li>Made settings sidebar text translatable.</li> + <li>Moved about page inside the settings window.</li> + <li>Show title instead of filename in MPRIS2.</li> + <li>Fixed icon not showing in about page.</li> + <li>Fixed report bug button not working in the about page.</li> + <li>Added support for yt-dlp.</li> + <li>When last file in the playlist ends and repeat setting is disabled the file can be played again by unpausing the player.</li> + <li>Opening the settings window now brings the window on top of the main window even if already open.</li> + <li>Fixed subtitles and audio toolbuttons not properly closing their menu.</li> + <li>Decreased the font size of some tooltips.</li> + </ul> + </description> + </release> <release version="0.7.2" date="2021-09-26"> <description> <p>Bugfixes:</p> @@ -330,10 +370,12 @@ <caption xml:lang="nl">Hoofdvenster van Haruna</caption> <caption xml:lang="pl">G����wne okno Haruna</caption> <caption xml:lang="pt">Janela principal do Haruna</caption> + <caption xml:lang="ru">�������������� �������� Haruna</caption> <caption xml:lang="sl">Haruna glavno okno</caption> <caption xml:lang="sv">Haruna huvudf��nster</caption> <caption xml:lang="uk">�������������� ���������� Haruna</caption> <caption xml:lang="x-test">xxHaruna main windowxx</caption> + <caption xml:lang="zh-CN">Haruna ���������</caption> <image>https://cdn.kde.org/screenshots/haruna/haruna-breeze-light.png</image> </screenshot> <screenshot> @@ -348,10 +390,12 @@ <caption xml:lang="nl">Hoofdvenster van Haruna, donker kleurenschema van breeze</caption> <caption xml:lang="pl">G����wne okno Haruna, zestaw barw czarnej bryzy</caption> <caption xml:lang="pt">Janela principal do Haruna, esquema de cores Brisa Escuro</caption> + <caption xml:lang="ru">�������������� �������� Haruna, ���������������� ���������� breeze dark</caption> <caption xml:lang="sl">Haruna glavno okno, barvna shema temne sapice</caption> <caption xml:lang="sv">Haruna huvudf��nster, breeze m��rkt f��rgschema</caption> <caption xml:lang="uk">�������������� ���������� Haruna, ���������� ���������������� breeze dark</caption> <caption xml:lang="x-test">xxHaruna main window, breeze dark color schemexx</caption> + <caption xml:lang="zh-CN">Haruna ������������������ Breeze Dark ������������</caption> <image>https://cdn.kde.org/screenshots/haruna/haruna-breeze-dark.png</image> </screenshot> <screenshot> @@ -367,10 +411,12 @@ <caption xml:lang="nl">Haruna zonder menubalk en werkbalk</caption> <caption xml:lang="pl">Haruna bez paska menu i narz��dzi</caption> <caption xml:lang="pt">O Haruna sem o menu e barra de ferramentas</caption> + <caption xml:lang="ru">�������� Haruna ������ ������������ �������� �� ������������ ������������������������</caption> <caption xml:lang="sl">Haruna brez menijske vrstice in orodne vrstice</caption> <caption xml:lang="sv">Haruna utan menyrad och verktygsrad</caption> <caption xml:lang="uk">Haruna ������ ������������ �������� �� ������������ ������������������������</caption> <caption xml:lang="x-test">xxHaruna without menubar and toolbarxx</caption> + <caption xml:lang="zh-CN">��������������������������� Haruna</caption> <image>https://cdn.kde.org/screenshots/haruna/haruna-minimal.png</image> </screenshot> <screenshot> @@ -386,10 +432,12 @@ <caption xml:lang="nl">Haruna afspeellijst</caption> <caption xml:lang="pl">Lista odtwarzania Haruna</caption> <caption xml:lang="pt">Lista de reprodu����o do Haruna</caption> + <caption xml:lang="ru">������������ ������������������������������ Haruna</caption> <caption xml:lang="sl">Haruna seznam predvajanj</caption> <caption xml:lang="sv">Haruna spellista</caption> <caption xml:lang="uk">������������ ���������������������� Haruna</caption> <caption xml:lang="x-test">xxHaruna playlistxx</caption> + <caption xml:lang="zh-CN">Haruna ������������</caption> <image>https://cdn.kde.org/screenshots/haruna/haruna-playlist.png</image> </screenshot> <screenshot> @@ -406,10 +454,12 @@ <caption xml:lang="nl">Instellingenvenster van Haruna</caption> <caption xml:lang="pl">Okno ustawie�� Haruna</caption> <caption xml:lang="pt">Janela de configura����o do Haruna</caption> + <caption xml:lang="ru">�������� �������������������� Haruna</caption> <caption xml:lang="sl">Haruna okno nastavitev</caption> <caption xml:lang="sv">Haruna inst��llningsf��nster</caption> <caption xml:lang="uk">���������� �������������������� Haruna</caption> <caption xml:lang="x-test">xxHaruna settings windowxx</caption> + <caption xml:lang="zh-CN">Haruna ������������</caption> <image>https://cdn.kde.org/screenshots/haruna/haruna-settings.png</image> </screenshot> <screenshot> @@ -425,10 +475,12 @@ <caption xml:lang="nl">Haruna sneltoetsbewerker</caption> <caption xml:lang="pl">Edytor skr��t��w Haruna</caption> <caption xml:lang="pt">Editor de atalhos do Haruna</caption> + <caption xml:lang="ru">���������������� �������������������� ������������ Haruna</caption> <caption xml:lang="sl">Haruna urejevalnik bli��njic</caption> <caption xml:lang="sv">Haruna genv��gseditor</caption> <caption xml:lang="uk">���������������� ������������������������ ������������������ Haruna</caption> <caption xml:lang="x-test">xxHaruna shortcuts editorxx</caption> + <caption xml:lang="zh-CN">Haruna ������������������</caption> <image>https://cdn.kde.org/screenshots/haruna/haruna-shortcuts-editor.png</image> </screenshot> </screenshots> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haruna-v0.7.2/data/sc-apps-haruna.svg new/haruna-v0.7.3/data/sc-apps-haruna.svg --- old/haruna-v0.7.2/data/sc-apps-haruna.svg 1970-01-01 01:00:00.000000000 +0100 +++ new/haruna-v0.7.3/data/sc-apps-haruna.svg 2021-11-03 10:56:34.000000000 +0100 @@ -0,0 +1,18 @@ +<svg width="256" height="256" version="1.1" viewBox="0 0 67.733332 67.733335" xmlns="http://www.w3.org/2000/svg"> + <g transform="translate(0,-229.26665)"> + <rect x="1.3229166" y="230.85416" width="64.822914" height="64.822906" ry="6.6145768" fill="#2f3134" stroke-width=".31620926"/> + <rect x="13.229167" y="241.43748" width="11.906249" height="43.656258" rx="0" ry="0" fill="#e6e6e6" stroke-width=".35179207"/> + <g fill="#333" stroke-width=".19843754"> + <rect x="17.197916" y="248.05206" width="3.9687498" height="3.9687521"/> + <rect x="17.197916" y="261.28122" width="3.9687498" height="3.9687524"/> + <rect x="17.197916" y="274.51041" width="3.9687498" height="3.9687524"/> + </g> + <rect x="42.333332" y="241.43748" width="11.906249" height="43.656258" rx="0" ry="0" fill="#e6e6e6" stroke-width=".35179207"/> + <g fill="#333" stroke-width=".19843754"> + <rect x="46.302082" y="248.05206" width="3.9687498" height="3.9687524"/> + <rect x="46.302082" y="261.28122" width="3.9687498" height="3.9687526"/> + <rect x="46.302082" y="274.51041" width="3.9687498" height="3.9687526"/> + </g> + <rect x="23.8125" y="258.63541" width="19.843748" height="9.2604103" ry="0" fill="#e6e6e6" stroke-width=".28420806"/> + </g> +</svg> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haruna-v0.7.2/data/sc-apps-haruna.svg.license new/haruna-v0.7.3/data/sc-apps-haruna.svg.license --- old/haruna-v0.7.2/data/sc-apps-haruna.svg.license 1970-01-01 01:00:00.000000000 +0100 +++ new/haruna-v0.7.3/data/sc-apps-haruna.svg.license 2021-11-03 10:56:34.000000000 +0100 @@ -0,0 +1,2 @@ +SPDX-FileCopyrightText: 2021 George Florea B��nu�� <georgefb899@gmail.com> +SPDX-License-Identifier: CC-BY-4.0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haruna-v0.7.2/data/sc-apps-org.kde.haruna.svg new/haruna-v0.7.3/data/sc-apps-org.kde.haruna.svg --- old/haruna-v0.7.2/data/sc-apps-org.kde.haruna.svg 2021-09-26 14:38:02.000000000 +0200 +++ new/haruna-v0.7.3/data/sc-apps-org.kde.haruna.svg 1970-01-01 01:00:00.000000000 +0100 @@ -1,18 +0,0 @@ -<svg width="256" height="256" version="1.1" viewBox="0 0 67.733332 67.733335" xmlns="http://www.w3.org/2000/svg"> - <g transform="translate(0,-229.26665)"> - <rect x="1.3229166" y="230.85416" width="64.822914" height="64.822906" ry="6.6145768" fill="#2f3134" stroke-width=".31620926"/> - <rect x="13.229167" y="241.43748" width="11.906249" height="43.656258" rx="0" ry="0" fill="#e6e6e6" stroke-width=".35179207"/> - <g fill="#333" stroke-width=".19843754"> - <rect x="17.197916" y="248.05206" width="3.9687498" height="3.9687521"/> - <rect x="17.197916" y="261.28122" width="3.9687498" height="3.9687524"/> - <rect x="17.197916" y="274.51041" width="3.9687498" height="3.9687524"/> - </g> - <rect x="42.333332" y="241.43748" width="11.906249" height="43.656258" rx="0" ry="0" fill="#e6e6e6" stroke-width=".35179207"/> - <g fill="#333" stroke-width=".19843754"> - <rect x="46.302082" y="248.05206" width="3.9687498" height="3.9687524"/> - <rect x="46.302082" y="261.28122" width="3.9687498" height="3.9687526"/> - <rect x="46.302082" y="274.51041" width="3.9687498" height="3.9687526"/> - </g> - <rect x="23.8125" y="258.63541" width="19.843748" height="9.2604103" ry="0" fill="#e6e6e6" stroke-width=".28420806"/> - </g> -</svg> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haruna-v0.7.2/data/sc-apps-org.kde.haruna.svg.license new/haruna-v0.7.3/data/sc-apps-org.kde.haruna.svg.license --- old/haruna-v0.7.2/data/sc-apps-org.kde.haruna.svg.license 2021-09-26 14:38:02.000000000 +0200 +++ new/haruna-v0.7.3/data/sc-apps-org.kde.haruna.svg.license 1970-01-01 01:00:00.000000000 +0100 @@ -1,2 +0,0 @@ -SPDX-FileCopyrightText: 2020 George Florea B��nu�� <georgefb899@gmail.com> -SPDX-License-Identifier: CC-BY-4.0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haruna-v0.7.2/src/application.cpp new/haruna-v0.7.3/src/application.cpp --- old/haruna-v0.7.2/src/application.cpp 2021-09-26 14:38:02.000000000 +0200 +++ new/haruna-v0.7.3/src/application.cpp 2021-11-03 10:56:34.000000000 +0100 @@ -71,7 +71,6 @@ QApplication::setOrganizationDomain("kde.org"); QApplication::setApplicationDisplayName("Haruna - Video Player"); QApplication::setApplicationVersion(Application::version()); - QApplication::setWindowIcon(QIcon::fromTheme("org.kde.haruna")); QQuickStyle::setStyle(QStringLiteral("org.kde.desktop")); QQuickStyle::setFallbackStyle(QStringLiteral("Fusion")); @@ -80,6 +79,7 @@ } QApplication *app = new QApplication(argc, argv); + QApplication::setWindowIcon(QIcon::fromTheme("haruna")); KLocalizedString::setApplicationDomain("haruna"); return app; } @@ -170,7 +170,8 @@ m_aboutData.setLicense(KAboutLicense::GPL_V3); m_aboutData.setCopyrightStatement(i18n("(c) 2019-2021")); m_aboutData.setHomepage(QStringLiteral("https://invent.kde.org/multimedia/haruna")); - m_aboutData.setBugAddress(QStringLiteral("https://bugs.kde.org").toUtf8()); + m_aboutData.setBugAddress(QStringLiteral("https://bugs.kde.org/enter_bug.cgi?product=Haruna").toUtf8()); + m_aboutData.setComponentName(QStringLiteral("generic")); m_aboutData.setDesktopFileName("org.kde.haruna"); m_aboutData.addAuthor(i18n("George Florea B��nu��"), @@ -283,10 +284,25 @@ bool Application::hasYoutubeDl() { - return !QStandardPaths::findExecutable(QStringLiteral("youtube-dl")).isEmpty(); + return !youtubeDlExecutable().isEmpty(); } +QString Application::youtubeDlExecutable() +{ + auto ytDlp = QStandardPaths::findExecutable(QStringLiteral("yt-dlp")); + if (!ytDlp.isEmpty()) { + return ytDlp; + } + + auto youtubeDl = QStandardPaths::findExecutable(QStringLiteral("youtube-dl")); + if (!youtubeDl.isEmpty()) { + return youtubeDl; + } + + return QString(); +} + QUrl Application::parentUrl(const QString &path) { QUrl url(path); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haruna-v0.7.2/src/application.h new/haruna-v0.7.3/src/application.h --- old/haruna-v0.7.2/src/application.h 2021-09-26 14:38:02.000000000 +0200 +++ new/haruna-v0.7.3/src/application.h 2021-11-03 10:56:34.000000000 +0100 @@ -71,6 +71,7 @@ static QString version(); Q_INVOKABLE static bool hasYoutubeDl(); + Q_INVOKABLE static QString youtubeDlExecutable(); Q_INVOKABLE static bool isYoutubePlaylist(const QString &path); Q_INVOKABLE static QString formatTime(const double time); Q_INVOKABLE static void hideCursor(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haruna-v0.7.2/src/models/playlistmodel.cpp new/haruna-v0.7.3/src/models/playlistmodel.cpp --- old/haruna-v0.7.2/src/models/playlistmodel.cpp 2021-09-26 14:38:02.000000000 +0200 +++ new/haruna-v0.7.3/src/models/playlistmodel.cpp 2021-11-03 10:56:34.000000000 +0100 @@ -116,6 +116,33 @@ endInsertRows(); } +void PlayListModel::appendVideo(QString videoPath) +{ + videoPath = QUrl(videoPath).toLocalFile().isEmpty() ? videoPath : QUrl(videoPath).toLocalFile(); + QFileInfo videoPathInfo(videoPath); + QStringList videoFiles; + if (videoPathInfo.exists() && videoPathInfo.isFile()) { + QString mimeType = Application::mimeType(videoPathInfo.absoluteFilePath()); + if (mimeType.startsWith("video/") || mimeType.startsWith("audio/")) { + videoFiles.append(videoPathInfo.absoluteFilePath()); + } + } + + if (videoFiles.isEmpty()) { + return; + } + + int row {m_playList.count()}; + beginInsertRows(QModelIndex(), row, m_playList.count()); + + auto video = new PlayListItem(videoFiles.at(row), row, this); + m_playList.append(video); + setPlayingVideo(row); + Q_EMIT videoAdded(row, video->filePath()); + + endInsertRows(); +} + Playlist PlayListModel::items() const { return m_playList; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haruna-v0.7.2/src/models/playlistmodel.h new/haruna-v0.7.3/src/models/playlistmodel.h --- old/haruna-v0.7.2/src/models/playlistmodel.h 2021-09-26 14:38:02.000000000 +0200 +++ new/haruna-v0.7.3/src/models/playlistmodel.h 2021-11-03 10:56:34.000000000 +0100 @@ -46,6 +46,7 @@ Q_INVOKABLE void setPlayingVideo(int playingVideo); Q_INVOKABLE int getPlayingVideo() const; Q_INVOKABLE void getVideos(QString path); + Q_INVOKABLE void appendVideo(QString videoPath); Q_INVOKABLE void clear(); Playlist getPlayList() const; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haruna-v0.7.2/src/mpris2/mediaplayer2player.cpp new/haruna-v0.7.3/src/mpris2/mediaplayer2player.cpp --- old/haruna-v0.7.2/src/mpris2/mediaplayer2player.cpp 2021-09-26 14:38:02.000000000 +0200 +++ new/haruna-v0.7.3/src/mpris2/mediaplayer2player.cpp 2021-11-03 10:56:34.000000000 +0100 @@ -125,12 +125,15 @@ m_mpv->getProperty("duration").toDouble() * 1000 * 1000); metadata.insert(QStringLiteral("mpris:trackid"), QVariant::fromValue<QDBusObjectPath>(QDBusObjectPath("/org/kde/haruna"))); - metadata.insert(QStringLiteral("xesam:title"), - m_mpv->getProperty("filename").toString()); + + auto mpvMediaTitle = m_mpv->getProperty("media-title").toString(); + auto mpvFilename = m_mpv->getProperty("filename").toString(); + auto title = mpvMediaTitle.isEmpty() || mpvMediaTitle.isNull() ? mpvFilename : mpvMediaTitle; + metadata.insert(QStringLiteral("xesam:title"), title); + QUrl url(m_mpv->getProperty("path").toString()); url.setScheme("file"); - metadata.insert(QStringLiteral("xesam:url"), - url.toString()); + metadata.insert(QStringLiteral("xesam:url"), url.toString()); return metadata; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haruna-v0.7.2/src/mpvobject.cpp new/haruna-v0.7.3/src/mpvobject.cpp --- old/haruna-v0.7.2/src/mpvobject.cpp 2021-09-26 14:38:02.000000000 +0200 +++ new/haruna-v0.7.3/src/mpvobject.cpp 2021-11-03 10:56:34.000000000 +0100 @@ -114,6 +114,8 @@ setProperty("screenshot-template", VideoSettings::screenshotTemplate()); setProperty("sub-auto", "exact"); setProperty("volume-max", "100"); + // set ytdl_path to yt-dlp or fallback to youtube-dl + setProperty("script-opts", QString("ytdl_hook-ytdl_path=%1").arg(Application::youtubeDlExecutable())); mpv_observe_property(mpv, 0, "media-title", MPV_FORMAT_STRING); mpv_observe_property(mpv, 0, "time-pos", MPV_FORMAT_DOUBLE); @@ -579,7 +581,7 @@ // use youtube-dl to get the required playlist info as json auto ytdlProcess = new QProcess(); - ytdlProcess->setProgram("youtube-dl"); + ytdlProcess->setProgram(Application::youtubeDlExecutable()); ytdlProcess->setArguments(QStringList() << "-J" << "--flat-playlist" << path); ytdlProcess->start(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haruna-v0.7.2/src/qml/Actions.qml new/haruna-v0.7.3/src/qml/Actions.qml --- old/haruna-v0.7.2/src/qml/Actions.qml 2021-09-26 14:38:02.000000000 +0200 +++ new/haruna-v0.7.3/src/qml/Actions.qml 2021-11-03 10:56:34.000000000 +0100 @@ -8,6 +8,7 @@ import QtQuick.Controls 2.12 import org.kde.haruna 1.0 +import "Settings" QtObject { id: root @@ -180,7 +181,10 @@ Component.onCompleted: list["aboutHarunaAction"] = aboutHarunaAction - onTriggered: aboutPage.show() + onTriggered: { + settingsEditor.page = SettingsEditor.Page.About + configureAction.trigger() + } } property Action seekForwardSmallAction: Action { @@ -443,7 +447,11 @@ Component.onCompleted: list["configureAction"] = configureAction onTriggered: { - settingsEditor.visible = true + if (settingsEditor.visible) { + settingsEditor.raise() + } else { + settingsEditor.visible = true + } } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haruna-v0.7.2/src/qml/Footer.qml new/haruna-v0.7.3/src/qml/Footer.qml --- old/haruna-v0.7.2/src/qml/Footer.qml 2021-09-26 14:38:02.000000000 +0200 +++ new/haruna-v0.7.3/src/qml/Footer.qml 2021-11-03 10:56:34.000000000 +0100 @@ -110,7 +110,6 @@ text: app.formatTime(mpv.position) + " / " + app.formatTime(mpv.duration) font.pointSize: Kirigami.Units.gridUnit - 4 toolTipText: i18n("Remaining: %1", app.formatTime(mpv.remaining)) - toolTipFontSize: timeInfo.font.pointSize + 2 alwaysShowToolTip: true horizontalAlignment: Qt.AlignHCenter } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haruna-v0.7.2/src/qml/Header.qml new/haruna-v0.7.3/src/qml/Header.qml --- old/haruna-v0.7.2/src/qml/Header.qml 2021-09-26 14:38:02.000000000 +0200 +++ new/haruna-v0.7.3/src/qml/Header.qml 2021-11-03 10:56:34.000000000 +0100 @@ -66,7 +66,7 @@ icon.name: "add-subtitle" focusPolicy: Qt.NoFocus - onClicked: { + onReleased: { subtitleMenu.visible = !subtitleMenu.visible } @@ -74,6 +74,7 @@ id: subtitleMenu y: parent.height + closePolicy: Popup.CloseOnReleaseOutsideParent Instantiator { id: primarySubtitleMenuInstantiator @@ -96,10 +97,7 @@ icon.name: "audio-volume-high" focusPolicy: Qt.NoFocus - onClicked: { - if (audioMenuInstantiator.model === 0) { - audioMenuInstantiator.model = mpv.audioTracksModel - } + onReleased: { audioMenu.visible = !audioMenu.visible } @@ -107,11 +105,12 @@ id: audioMenu y: parent.height + closePolicy: Popup.CloseOnReleaseOutsideParent Instantiator { id: audioMenuInstantiator - model: 0 + model: mpv.audioTracksModel onObjectAdded: audioMenu.insertItem( index, object ) onObjectRemoved: audioMenu.removeItem( object ) delegate: MenuItem { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haruna-v0.7.2/src/qml/MpvVideo.qml new/haruna-v0.7.3/src/qml/MpvVideo.qml --- old/haruna-v0.7.2/src/qml/MpvVideo.qml 2021-09-26 14:38:02.000000000 +0200 +++ new/haruna-v0.7.3/src/qml/MpvVideo.qml 2021-11-03 10:56:34.000000000 +0100 @@ -19,6 +19,11 @@ property int mouseX: mouseArea.mouseX property int mouseY: mouseArea.mouseY + // when playlist repeat is turned off + // the last file in the playlist is reloaded + // this property is used to pause the player + property bool isFileReloaded: false + signal setSubtitle(int id) signal setSecondarySubtitle(int id) signal setAudio(int id) @@ -100,6 +105,13 @@ setProperty("ab-loop-a", "no") setProperty("ab-loop-b", "no") + if (isFileReloaded) { + mpv.pause = true + position = 0 + isFileReloaded = false + return + } + mpv.pause = false position = 0 if (PlaybackSettings.resumePlayback) { @@ -157,6 +169,9 @@ if (PlaylistSettings.repeat) { playlistModel.setPlayingVideo(0) loadFile(playlistModel.getPath(0), !playList.isYouTubePlaylist) + } else { + loadFile(playlistModel.getPath(playlistModel.getPlayingVideo()), !playList.isYouTubePlaylist) + isFileReloaded = true } } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haruna-v0.7.2/src/qml/PlayListItem.qml new/haruna-v0.7.3/src/qml/PlayListItem.qml --- old/haruna-v0.7.2/src/qml/PlayListItem.qml 2021-09-26 14:38:02.000000000 +0200 +++ new/haruna-v0.7.3/src/qml/PlayListItem.qml 2021-11-03 10:56:34.000000000 +0100 @@ -66,8 +66,6 @@ } LabelWithTooltip { - toolTipFontSize: font.pointSize + 2 - color: Kirigami.Theme.textColor horizontalAlignment: Qt.AlignLeft verticalAlignment: Qt.AlignVCenter diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haruna-v0.7.2/src/qml/PlayListItemCompact.qml new/haruna-v0.7.3/src/qml/PlayListItemCompact.qml --- old/haruna-v0.7.2/src/qml/PlayListItemCompact.qml 2021-09-26 14:38:02.000000000 +0200 +++ new/haruna-v0.7.3/src/qml/PlayListItemCompact.qml 2021-11-03 10:56:34.000000000 +0100 @@ -38,7 +38,6 @@ ToolTip { text: (PlaylistSettings.showMediaTitle ? model.title : model.name) visible: root.containsMouse - font.pointSize: Kirigami.Units.gridUnit - 5 } function mainText() { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haruna-v0.7.2/src/qml/PlayListItemWithThumbnail.qml new/haruna-v0.7.3/src/qml/PlayListItemWithThumbnail.qml --- old/haruna-v0.7.2/src/qml/PlayListItemWithThumbnail.qml 2021-09-26 14:38:02.000000000 +0200 +++ new/haruna-v0.7.3/src/qml/PlayListItemWithThumbnail.qml 2021-11-03 10:56:34.000000000 +0100 @@ -113,7 +113,6 @@ LabelWithTooltip { text: PlaylistSettings.showMediaTitle ? model.title : model.name - toolTipFontSize: font.pointSize + 2 color: Kirigami.Theme.textColor horizontalAlignment: Qt.AlignLeft verticalAlignment: Qt.AlignVCenter diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haruna-v0.7.2/src/qml/Settings/Navigation.qml new/haruna-v0.7.3/src/qml/Settings/Navigation.qml --- old/haruna-v0.7.2/src/qml/Settings/Navigation.qml 2021-09-26 14:38:02.000000000 +0200 +++ new/haruna-v0.7.3/src/qml/Settings/Navigation.qml 1970-01-01 01:00:00.000000000 +0100 @@ -1,94 +0,0 @@ -/* - * SPDX-FileCopyrightText: 2020 George Florea B��nu�� <georgefb899@gmail.com> - * - * SPDX-License-Identifier: GPL-3.0-or-later - */ - -import QtQuick 2.0 -import QtQuick.Layouts 1.12 -import QtQuick.Controls 2.12 -import org.kde.kirigami 2.11 as Kirigami - -Kirigami.Page -{ - padding: 0 - leftPadding: 0 - topPadding: 0 - rightPadding: 0 - bottomPadding: 0 - - Component.onCompleted: applicationWindow().pageStack.columnView.columnWidth = Kirigami.Units.gridUnit * 15 - - - footer: ToolBar { - RowLayout { - anchors.fill: parent - - ToolButton { - text: i18n("Configure shortcuts") - icon.name: "configure-shortcuts" - onClicked: appActions.configureShortcutsAction.trigger() - Layout.fillWidth: true - } - } - } - - ListModel { - id: settingsPagesModel - ListElement { - name: "General" - iconName: "configure" - page: "qrc:/General.qml" - } - ListElement { - name: "Playback" - iconName: "media-playback-start" - page: "qrc:/Playback.qml" - } - ListElement { - name: "Video" - iconName: "video-x-generic" - page: "qrc:/VideoSettings.qml" - } - ListElement { - name: "Audio" - iconName: "player-volume" - page: "qrc:/Audio.qml" - } - ListElement { - name: "Subtitles" - iconName: "add-subtitle" - page: "qrc:/Subtitles.qml" - } - ListElement { - name: "Playlist" - iconName: "view-media-playlist" - page: "qrc:/Playlist.qml" - } - ListElement { - name: "Mouse" - iconName: "input-mouse" - page: "qrc:/Mouse.qml" - } - ListElement { - name: "Custom commands" - iconName: "configure" - page: "qrc:/CustomCommands.qml" - } - } - - ListView { - id: settingsPagesList - - anchors.fill: parent - model: settingsPagesModel - delegate: Kirigami.BasicListItem { - text: i18n(name) - icon: iconName - onClicked: { - applicationWindow().pageStack.removePage(1) - applicationWindow().pageStack.push(model.page) - } - } - } -} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haruna-v0.7.2/src/qml/Settings/SettingsEditor.qml new/haruna-v0.7.3/src/qml/Settings/SettingsEditor.qml --- old/haruna-v0.7.2/src/qml/Settings/SettingsEditor.qml 2021-09-26 14:38:02.000000000 +0200 +++ new/haruna-v0.7.3/src/qml/Settings/SettingsEditor.qml 2021-11-03 10:56:34.000000000 +0100 @@ -16,13 +16,150 @@ Kirigami.ApplicationWindow { id: root + property int page: SettingsEditor.Page.General + enum Page { + General = 0, + Playback, + Video, + Audio, + Subtitles, + Playlist, + Mouse, + CusomCommands, + About + } + width: Kirigami.Units.gridUnit * 45 height: Kirigami.Units.gridUnit * 35 - title: i18n("Haruna Settings") + title: i18n("Settings") visible: false - pageStack.initialPage: "qrc:/Navigation.qml" + pageStack.initialPage: Kirigami.ScrollablePage { + bottomPadding: 0 + leftPadding: 0 + rightPadding: 0 + topPadding: 0 + Kirigami.Theme.colorSet: Kirigami.Theme.View + + footer: ToolBar { + RowLayout { + anchors.fill: parent + + ToolButton { + text: i18n("Configure shortcuts") + icon.name: "configure-shortcuts" + onClicked: appActions.configureShortcutsAction.trigger() + Layout.fillWidth: true + } + } + } + + ListView { + id: settingsPagesList + + Component.onCompleted: { + pages[root.page].trigger() + currentIndex = root.page + } + + property list<Kirigami.Action> pages: [ + Kirigami.Action { + text: i18n("General") + icon.name: "configure" + onTriggered: { + applicationWindow().pageStack.removePage(1) + applicationWindow().pageStack.push("qrc:/General.qml") + } + }, + Kirigami.Action { + text: i18n("Playback") + icon.name: "media-playback-start" + onTriggered: { + applicationWindow().pageStack.removePage(1) + applicationWindow().pageStack.push("qrc:/Playback.qml") + } + }, + Kirigami.Action { + text: i18n("Video") + icon.name: "video-x-generic" + onTriggered: { + applicationWindow().pageStack.removePage(1) + applicationWindow().pageStack.push("qrc:/VideoSettings.qml") + } + }, + Kirigami.Action { + text: i18n("Audio") + icon.name: "player-volume" + onTriggered: { + applicationWindow().pageStack.removePage(1) + applicationWindow().pageStack.push("qrc:/Audio.qml") + } + }, + Kirigami.Action { + text: i18n("Subtitles") + icon.name: "add-subtitle" + onTriggered: { + applicationWindow().pageStack.removePage(1) + applicationWindow().pageStack.push("qrc:/Subtitles.qml") + } + }, + Kirigami.Action { + text: i18n("Playlist") + icon.name: "view-media-playlist" + onTriggered: { + applicationWindow().pageStack.removePage(1) + applicationWindow().pageStack.push("qrc:/Playlist.qml") + } + }, + Kirigami.Action { + text: i18n("Mouse") + icon.name: "input-mouse" + onTriggered: { + applicationWindow().pageStack.removePage(1) + applicationWindow().pageStack.push("qrc:/Mouse.qml") + } + }, + Kirigami.Action { + text: i18n("Custom commands") + icon.name: "configure" + onTriggered: { + applicationWindow().pageStack.removePage(1) + applicationWindow().pageStack.push("qrc:/CustomCommands.qml") + } + }, + Kirigami.Action { + text: i18n("About") + icon.name: "help-about" + onTriggered: { + applicationWindow().pageStack.removePage(1) + applicationWindow().pageStack.push(aboutPage) + } + } + ] + + anchors.fill: parent + model: pages + delegate: Kirigami.BasicListItem { + action: modelData + } + } + + Component { + id: aboutPage + + Kirigami.AboutPage { + aboutData: harunaAboutData + } + } + } + + onVisibleChanged: { + if (visible) { + settingsPagesList.pages[root.page].trigger() + settingsPagesList.currentIndex = root.page + } + } - Component.onCompleted: pageStack.push("qrc:/General.qml") + Component.onCompleted: pageStack.columnView.columnWidth = Kirigami.Units.gridUnit * 15 Window { id: helpWindow diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haruna-v0.7.2/src/qml/main.qml new/haruna-v0.7.3/src/qml/main.qml --- old/haruna-v0.7.2/src/qml/main.qml 2021-09-26 14:38:02.000000000 +0200 +++ new/haruna-v0.7.3/src/qml/main.qml 2021-11-03 10:56:34.000000000 +0100 @@ -102,19 +102,6 @@ } } - Window { - id: aboutPage - - width: 600 - height: 500 - - Kirigami.AboutPage - { - aboutData: harunaAboutData - anchors.fill: parent - } - } - Connections { target: app onQmlApplicationMouseLeave: { @@ -219,7 +206,10 @@ if (loadSiblings) { // get video files from same folder as the opened file mpv.playlistModel.getVideos(path) + } else { + mpv.playlistModel.appendVideo(path) } + mpv.loadFile(path) } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haruna-v0.7.2/src/qml.qrc new/haruna-v0.7.3/src/qml.qrc --- old/haruna-v0.7.2/src/qml.qrc 2021-09-26 14:38:02.000000000 +0200 +++ new/haruna-v0.7.3/src/qml.qrc 2021-11-03 10:56:34.000000000 +0100 @@ -14,7 +14,6 @@ <file>qml/Haruna/Components/SubtitlesFolders.qml</file> <file alias="General.qml">qml/Settings/General.qml</file> <file alias="Mouse.qml">qml/Settings/Mouse.qml</file> - <file alias="Navigation.qml">qml/Settings/Navigation.qml</file> <file alias="Playlist.qml">qml/Settings/Playlist.qml</file> <file alias="Audio.qml">qml/Settings/Audio.qml</file> <file alias="Subtitles.qml">qml/Settings/Subtitles.qml</file>
participants (1)
-
Source-Sync