Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

C# --> C++ #782

Merged
merged 123 commits into from
Sep 4, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
123 commits
Select commit Hold shift + click to select a range
62482fa
Use C++ Template
nlogozzo Jun 16, 2024
6f8172c
GNOME - Cleanup
nlogozzo Jun 16, 2024
81626f6
Update mainwindow.cpp
nlogozzo Jun 16, 2024
f363fd0
Shared - Config + Disclaimer
nlogozzo Jun 17, 2024
936b47d
All - Implement Global Configuration
nlogozzo Jun 18, 2024
e006025
Shared/WinUI - Download History
nlogozzo Jun 18, 2024
f9985fe
Shared - Cleanup
nlogozzo Jun 18, 2024
46f8176
Shared/WinUI - Add DownloaderOptions Model
nlogozzo Jun 20, 2024
b4a706b
Shared - Add DownloadOptions, DownloadProgressStatus, and DownloadPro…
nlogozzo Jun 21, 2024
ffdda41
Shared - Add Media & UrlInfo Models
nlogozzo Jun 21, 2024
cab8884
Shared - Load Python + NetworkMonitor
nlogozzo Jun 21, 2024
ebf50fc
All - Load vcpkg Python Environment via CMake
nlogozzo Jun 22, 2024
89d1e5b
Better Docs + Update ytdlp
nlogozzo Jun 24, 2024
f00de29
Update dependencies
nlogozzo Jun 24, 2024
6a8404f
GNOME - Fix Linux Build
nlogozzo Jun 24, 2024
30871c7
Update preferencesdialog.cpp
nlogozzo Jun 24, 2024
421aec3
Update libnick
nlogozzo Jun 26, 2024
b3dbe6f
Merge branch 'main' into cpp
nlogozzo Jun 27, 2024
a97679a
Update Deps + Build WinUI Installer With CI
nlogozzo Jun 28, 2024
1cdec6c
Update yt-dlp
nlogozzo Jul 3, 2024
5354785
Shared - Implement UrlInfo + Testing Framework
nlogozzo Jul 4, 2024
fa617e8
Linux - Update libnick
nlogozzo Jul 4, 2024
021ac06
GNOME - Implement NavigationSplitView
nlogozzo Jul 4, 2024
d691ca8
Shared - Cleanup
nlogozzo Jul 4, 2024
7903048
snap: update for core24
soumyaDghosh Jul 5, 2024
bb0bda8
GNOME - Implement History
nlogozzo Jul 5, 2024
e613d6e
Merge branch 'cpp' into snap-cpp
nlogozzo Jul 5, 2024
24ed640
Shared - Allow Length For DownloadHistory
nlogozzo Jul 6, 2024
485aebb
GNOME - Pass Arguments to GApplication
nlogozzo Jul 6, 2024
c7cc3d6
Merge branch 'snap-cpp' into cpp
nlogozzo Jul 6, 2024
9f8b9eb
Update snap.yml
nlogozzo Jul 6, 2024
6b8aa1e
GNOME - Fix Window Not Showing
nlogozzo Jul 7, 2024
5a26cec
Shared - Start Download Model
nlogozzo Jul 7, 2024
17b9c6d
Shared - Install Parabolic ytdlp Plugin
nlogozzo Jul 8, 2024
8ed0a6f
WinUI - Ensure ffmpeg and aria2 are installed
nlogozzo Jul 8, 2024
ebb55cd
Update dependencies
nlogozzo Jul 8, 2024
4e643dc
Update libnick
nlogozzo Jul 9, 2024
2f9bff8
Update yt-dlp
nlogozzo Jul 9, 2024
743e621
Shared - Fix Configuration Fix on Linux
nlogozzo Jul 9, 2024
3c87a7a
Shared - Implement Download::runDownload()
nlogozzo Jul 10, 2024
5fca97d
Use `yt-dlp` Executable Instead of Embedded Python (#789)
nlogozzo Jul 12, 2024
99a2789
Shared - Build Fixes
nlogozzo Jul 12, 2024
eb21685
Shared - Implement DownloadManager
nlogozzo Jul 12, 2024
4f5acbc
Shared - Improved DownloadManager Performance + Logging
nlogozzo Jul 12, 2024
0eb23c9
WinUI - Better History Page
nlogozzo Jul 14, 2024
f761a9a
Tests - Use DownloadManager in DownloadTest
nlogozzo Jul 14, 2024
975f7e6
Shared - Add PreviousDownloadOptions Model
nlogozzo Jul 14, 2024
c8a20d2
All - Blank AddDownloadDialog UI
nlogozzo Jul 15, 2024
604c119
WinUI - Small AddDownloadDialog Work
nlogozzo Jul 15, 2024
6f860e6
All - AddDownloadDialog Validate
nlogozzo Jul 16, 2024
d438203
Shared - Update yt-dlp + Better AddDownloadDialogController API
nlogozzo Jul 18, 2024
c9ae474
WinUI - Implement Single Download AddDownloadDialog Loading
nlogozzo Jul 18, 2024
46fa38d
WinUI - Load Single + Playlist Download in AddDownloadDialog
nlogozzo Jul 18, 2024
2f0daba
GNOME - Implement Single Download AddDownloadDialog Loading
nlogozzo Jul 22, 2024
098d56f
Fix POTFILES
nlogozzo Jul 22, 2024
ce705b9
GNOME - Playlist Loading
nlogozzo Jul 24, 2024
9c24969
All - Better Handling of Playlist Title Numbering
nlogozzo Jul 24, 2024
4ab7a28
All - Finish AddDownloadDialog
nlogozzo Jul 24, 2024
74c9f8e
All - Download History Length Preference
nlogozzo Jul 24, 2024
06ca1ec
Merge branch 'main' into cpp
nlogozzo Jul 25, 2024
18b6bdc
All - Update Translations
nlogozzo Jul 25, 2024
800d78c
Cleanup
nlogozzo Jul 25, 2024
aa478ba
GNOME - QOL Fixes
nlogozzo Jul 27, 2024
a9a42be
WinUI --> QT
nlogozzo Jul 29, 2024
5929c2b
Update flatpak.yml
nlogozzo Jul 29, 2024
5904029
QT - Implement SettingsDialog
nlogozzo Jul 30, 2024
220a991
QT - Finish AddDownloadDialog
nlogozzo Aug 1, 2024
3658743
QT - History Pane
nlogozzo Aug 1, 2024
2fe0e71
QT - Make History Pane Read-Only
nlogozzo Aug 1, 2024
d817ec0
Cleanup
nlogozzo Aug 1, 2024
7bcd697
Update yt-dlp
nlogozzo Aug 2, 2024
72d78f6
QT - Start Downloads Page
nlogozzo Aug 5, 2024
9116a5d
Shared - Fix Slow Downloads
nlogozzo Aug 5, 2024
59f423b
QT - Add DownloadRow Control
nlogozzo Aug 5, 2024
602e28b
QT - Better DownloadRow
nlogozzo Aug 5, 2024
399bf7b
All - Cookies From Browser
nlogozzo Aug 8, 2024
ab1c951
GNOME - Fix Build
nlogozzo Aug 8, 2024
8d36d60
Merge branch 'main' into cpp
nlogozzo Aug 8, 2024
cfc1695
All - Update Translations
nlogozzo Aug 8, 2024
ed7aad6
QT - More Download Page Implementation
nlogozzo Aug 8, 2024
25b3f92
Shared - Cleanup MainWindowController
nlogozzo Aug 8, 2024
e716193
GNOME - Add Control Helpers
nlogozzo Aug 10, 2024
e7e89a2
GNOME - Add More Helpers
nlogozzo Aug 10, 2024
54dde4f
QT - Cleanup
nlogozzo Aug 10, 2024
cadfacc
GNOME - Handle Close With Downloads
nlogozzo Aug 10, 2024
5cce1f0
GNOME - Start DownloadRow Control
nlogozzo Aug 10, 2024
c03d85b
GNOME - Start DownloadRow
nlogozzo Aug 11, 2024
a4e6355
GNOME - C++ Cleanup
nlogozzo Aug 11, 2024
0857708
GNOME - Fix Build
nlogozzo Aug 11, 2024
97241c5
GNOME - MainWindow Move Download Rows
nlogozzo Aug 13, 2024
e942779
GNOME - Cleanup
nlogozzo Aug 13, 2024
4848253
Update download.cpp
nlogozzo Aug 14, 2024
eea09ae
Update deps
nlogozzo Aug 14, 2024
b57601e
Update Translations
nlogozzo Aug 15, 2024
3240aae
Shared - Better Progress Monitoring
nlogozzo Aug 15, 2024
9a8d588
GNOME - No Downloads ViewStacks
nlogozzo Aug 15, 2024
4dd8469
QT - Fix Progress Display
nlogozzo Aug 15, 2024
518c18a
Add QT ToolBar + GNOME Fixes
nlogozzo Aug 15, 2024
6c6d8fb
Shared + QT - Blank KeyringDialog
nlogozzo Aug 18, 2024
250342a
QT - Implement KeyringDialog
nlogozzo Aug 19, 2024
79086f5
GNOME - Fix Build
nlogozzo Aug 20, 2024
c0087f6
Docs - Update For C++ Rewrite
nlogozzo Aug 21, 2024
710543e
Fix Builds
nlogozzo Aug 26, 2024
559fce0
GNOME - Finish Download Pages
nlogozzo Aug 27, 2024
d2f5c15
GNOME - Add Blank KeyringPage
nlogozzo Aug 27, 2024
23d5385
Merge branch 'main' into cpp
nlogozzo Aug 27, 2024
eb112da
Shared - Use `video-password` when only a password is specified for a…
nlogozzo Aug 29, 2024
7fa6aef
All - Cleanup
nlogozzo Aug 29, 2024
f9fcea1
GNOME - Continue KeyringPage Implementation
nlogozzo Aug 30, 2024
f55faf7
GNOME - Implement KeyringPage
nlogozzo Aug 30, 2024
dc13245
All - Allow Cookies File Option Again + Disallow Cookies Browser on S…
nlogozzo Sep 1, 2024
6f71715
GNOME - Add Missing DownloadRow UI Code
nlogozzo Sep 1, 2024
57604aa
All - HistoryRow Re-Download Button
nlogozzo Sep 1, 2024
0b4d180
Shared - Prevent Duplicate History Items
nlogozzo Sep 1, 2024
cd1d9a1
All - Cleanup
nlogozzo Sep 3, 2024
4dcb381
Update libnick + `jsoncpp` --> `boost-json`
nlogozzo Sep 3, 2024
fb53fc2
Fix Brackets for `boost-json`
nlogozzo Sep 3, 2024
af08631
Update libnick
nlogozzo Sep 4, 2024
e787f60
GNOME - Fix Dialog Crash
nlogozzo Sep 4, 2024
4168267
Merge branch 'main' into cpp
nlogozzo Sep 4, 2024
32b7bfb
Update translations
nlogozzo Sep 4, 2024
50c9c72
GNOME - Add Screenshots
nlogozzo Sep 4, 2024
9272442
QT - Add Screenshots
nlogozzo Sep 4, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
12 changes: 0 additions & 12 deletions .config/dotnet-tools.json

This file was deleted.

9 changes: 3 additions & 6 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -1,10 +1,7 @@
[*.{sln,resx}]
indent_style = tab

[*.{cs,sh,py,json,page,cake}]
[*.{h,cpp,py,json,page,txt}]
indent_style = space
indent_size = 4

[*.{csproj,xml,css,md,blp,yml}]
[*.{xml,css,md,blp,yml}]
indent_style = space
indent_size = 2
indent_size = 2
4 changes: 1 addition & 3 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
# Auto detect text files and perform LF normalization
* text eol=lf
*.csproj eol=crlf
*.sln eol=crlf
*.png binary
*.jpg binary
*.ico binary
*.pdf binary
*.exe binary
# Exclude Docs From Stats
NickvisionTubeConverter.Shared/Docs/** linguist-documentation
docs/** linguist-documentation
32 changes: 25 additions & 7 deletions .github/workflows/flatpak.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,25 +10,43 @@ permissions:
id-token: write
contents: read
jobs:
flatpak:
gnome-flatpak:
name: "GNOME on Flatpak"
runs-on: ubuntu-latest
if: ${{ github.event.pull_request.user.login != 'weblate' }}
container:
image: bilelmoussaoui/flatpak-github-actions:gnome-45
image: bilelmoussaoui/flatpak-github-actions:gnome-46
options: --privileged
strategy:
matrix:
arch: [x86_64]
fail-fast: false
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- uses: actions/checkout@v4
- uses: flatpak/flatpak-github-actions/[email protected]
with:
bundle: org.nickvision.tubeconverter.flatpak
manifest-path: flatpak/org.nickvision.tubeconverter.json
bundle: org.nickvision.tubeconverter.gnome.flatpak
manifest-path: flatpak/org.nickvision.tubeconverter.gnome.json
cache-key: flatpak-builder-${{ github.sha }}
arch: ${{ matrix.arch }}
restore-cache: true
qt-flatpak:
name: "QT on Flatpak"
runs-on: ubuntu-latest
if: ${{ github.event.pull_request.user.login != 'weblate' }}
container:
image: bilelmoussaoui/flatpak-github-actions:kde-6.7
options: --privileged
strategy:
matrix:
arch: [x86_64]
fail-fast: false
steps:
- uses: actions/checkout@v4
- uses: flatpak/flatpak-github-actions/[email protected]
with:
bundle: org.nickvision.tubeconverter.qt.flatpak
manifest-path: flatpak/org.nickvision.tubeconverter.qt.json
cache-key: flatpak-builder-${{ github.sha }}
arch: ${{ matrix.arch }}
restore-cache: true
28 changes: 9 additions & 19 deletions .github/workflows/snap.yml
Original file line number Diff line number Diff line change
@@ -1,37 +1,27 @@
on:
push:
branches: [ "main" ]
branches: ["main"]
pull_request:
branches: [ "main" ]
types: [ "review_requested", "ready_for_review" ]
branches: ["main"]
types: ["review_requested", "ready_for_review"]
workflow_dispatch:
name: Snap
permissions:
id-token: write
contents: read
jobs:
snap:
gnome-snap:
name: "GNOME on Snap"
runs-on: ubuntu-latest
steps:
- name: Checkout Git repository
uses: actions/checkout@v4
with:
submodules: recursive
- name: Build Snap
- uses: actions/checkout@v4
- name: Build
uses: snapcore/action-build@v1
id: snapcraft-build
with:
snapcraft-args: "-v"
snapcraft-args: "--verbosity debug"
snapcraft-channel: "edge"
- uses: actions/upload-artifact@v4
with:
name: ${{ steps.snapcraft-build.outputs.snap }}
name: tube-converter-snap
path: ${{ steps.snapcraft-build.outputs.snap }}
- name: Upload and release Parabolic Snap
uses: snapcore/action-publish@v1
if: ${{ github.event_name != 'pull_request' }}
env:
SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.STORE_LOGIN }}
with:
snap: ${{ steps.snapcraft-build.outputs.snap }}
release: ${{'edge'}}
6 changes: 3 additions & 3 deletions .github/workflows/spelling.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@ jobs:
codespell:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- uses: codespell-project/actions-codespell@master
with:
check_filenames: true
skip: cargo-sources.json,.git,*.svg,*.html,*.js,*.po,*.pot,*.page
ignore_words_list: gir,te
skip: cargo-sources.json,.git,*.svg,*.html,*.js,*.po,*.pot,*.page,*.map,sqlite3.h,sqlite3.c,pch.h,CONTRIBUTING.md
ignore_words_list: gir
64 changes: 64 additions & 0 deletions .github/workflows/windows.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
types: [ "review_requested", "ready_for_review" ]
workflow_dispatch:
name: Windows
permissions:
id-token: write
contents: read
env:
GITHUB_ACTIONS: true
VCPKG_ROOT: ${{github.workspace}}/vcpkg
jobs:
build:
name: "Build on x64"
runs-on: windows-latest
if: ${{ github.event.pull_request.user.login != 'weblate' }}
steps:
- name: "Checkout"
uses: actions/checkout@v4
with:
submodules: recursive
- name: "Setup Environment"
run: |
mkdir build
powershell -command "Invoke-WebRequest https://github.com/mlocati/gettext-iconv-windows/releases/download/v0.21-v1.16/gettext0.21-iconv1.16-shared-64.zip -OutFile gettext.zip"
powershell -command "Expand-Archive -Force 'gettext.zip'"
move gettext\bin\* C:\Windows\System32
choco install innosetup
- name: "Vcpkg"
uses: johnwason/vcpkg-action@v6
id: vcpkg
with:
pkgs: boost-date-time libnick qtbase qtsvg qttools
triplet: x64-windows
revision: 7fc54fb8618cfec8de0c6f5a04efb89c6473bba9
token: ${{ secrets.GITHUB_TOKEN }}
github-binarycache: true
- name: "Build"
working-directory: ${{github.workspace}}/build
run: |
cmake -G "Visual Studio 17 2022" ..
cmake --build . --config Release
- name: "Create Installer"
working-directory: ${{github.workspace}}/inno
run: |
powershell -command "Invoke-WebRequest https://aka.ms/vs/17/release/vc_redist.x64.exe -OutFile vc_redist.x64.exe"
powershell -command "Invoke-WebRequest https://github.com/yt-dlp/yt-dlp/releases/download/2024.08.06/yt-dlp.exe -OutFile yt-dlp.exe"
powershell -command "Invoke-WebRequest https://github.com/aria2/aria2/releases/download/release-1.37.0/aria2-1.37.0-win-64bit-build1.zip -OutFile aria2.zip"
powershell -command "Invoke-WebRequest https://github.com/GyanD/codexffmpeg/releases/download/7.0.2/ffmpeg-7.0.2-full_build.zip -OutFile ffmpeg.zip"
powershell -command "Expand-Archive -Force 'aria2.zip'"
powershell -command "Expand-Archive -Force 'ffmpeg.zip'"
move aria2\aria2-1.37.0-win-64bit-build1\aria2c.exe aria2c.exe
move ffmpeg\ffmpeg-7.0.2-full_build\bin\ffmpeg.exe ffmpeg.exe
move ffmpeg\ffmpeg-7.0.2-full_build\bin\ffprobe.exe ffprobe.exe
move ffmpeg\ffmpeg-7.0.2-full_build\bin\ffplay.exe ffplay.exe
iscc setup.iss
- name: Upload
uses: actions/upload-artifact@v4
with:
path: ${{github.workspace}}/inno/NickvisionParabolicSetup.exe
name: Windows-x64-Release
48 changes: 0 additions & 48 deletions .github/workflows/winui.yml

This file was deleted.

Loading
Loading