Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: ahrm/sioyek
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v0.3.1
Choose a base ref
...
head repository: ahrm/sioyek
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: main
Choose a head ref
Loading
Showing with 44,549 additions and 4,517 deletions.
  1. +339 −0 .github/workflows/build_and_release.yml
  2. +262 −0 .github/workflows/preview_release.yml
  3. +33 −1 .gitignore
  4. +7 −0 .gitmodules
  5. +674 −0 LICENSE
  6. +134 −7 README.md
  7. +56 −0 build_and_release.sh
  8. +32 −0 build_linux.sh
  9. +48 −0 build_mac.sh
  10. +36 −0 build_windows.bat
  11. +4 −0 delete_build.sh
  12. +1 −0 mupdf
  13. +0 −39 pdf_viewer.sln
  14. +3 −1 pdf_viewer/.gitignore
  15. +0 −613 pdf_viewer/Makefile
  16. +0 −182 pdf_viewer/Makefile.Debug
  17. +0 −181 pdf_viewer/Makefile.Release
  18. +10 −0 pdf_viewer/OpenWithApplication.cpp
  19. +22 −0 pdf_viewer/OpenWithApplication.h
  20. +0 −4 pdf_viewer/Resource.qrc
  21. +127 −0 pdf_viewer/RunGuard.cpp
  22. +82 −0 pdf_viewer/RunGuard.h
  23. BIN pdf_viewer/SDL2.dll
  24. +99 −2 pdf_viewer/book.cpp
  25. +36 −10 pdf_viewer/book.h
  26. +71 −0 pdf_viewer/checksum.cpp
  27. +22 −0 pdf_viewer/checksum.h
  28. +519 −48 pdf_viewer/config.cpp
  29. +13 −3 pdf_viewer/config.h
  30. +16 −0 pdf_viewer/coordinates.cpp
  31. +139 −0 pdf_viewer/coordinates.h
  32. +921 −69 pdf_viewer/database.cpp
  33. +53 −21 pdf_viewer/database.h
  34. +1,738 −389 pdf_viewer/document.cpp
  35. +154 −35 pdf_viewer/document.h
  36. +729 −167 pdf_viewer/document_view.cpp
  37. +100 −25 pdf_viewer/document_view.h
  38. +4 −2 pdf_viewer/fts_fuzzy_match.h
  39. BIN pdf_viewer/glew32.dll
  40. +0 −30 pdf_viewer/imgui.ini
  41. +2,730 −143 pdf_viewer/input.cpp
  42. +67 −16 pdf_viewer/input.h
  43. +350 −119 pdf_viewer/keys.config
  44. +399 −0 pdf_viewer/keys_old.config
  45. +0 −2 pdf_viewer/keys_user.config
  46. +0 −1 pdf_viewer/last_document_path.txt
  47. +0 −1 pdf_viewer/main.cbt
  48. +736 −89 pdf_viewer/main.cpp
  49. +3,826 −941 pdf_viewer/main_widget.cpp
  50. +254 −41 pdf_viewer/main_widget.h
  51. BIN pdf_viewer/monaco.ttf
  52. +88 −0 pdf_viewer/new_file_checker.cpp
  53. +23 −0 pdf_viewer/new_file_checker.h
  54. +119 −0 pdf_viewer/path.cpp
  55. +31 −0 pdf_viewer/path.h
  56. +102 −31 pdf_viewer/pdf_renderer.cpp
  57. +15 −4 pdf_viewer/pdf_renderer.h
  58. +1,560 −111 pdf_viewer/pdf_view_opengl_widget.cpp
  59. +175 −16 pdf_viewer/pdf_view_opengl_widget.h
  60. +0 −47 pdf_viewer/pdf_viewer.pri
  61. +0 −16 pdf_viewer/pdf_viewer.pro
  62. +0 −79 pdf_viewer/pdf_viewer.rc
  63. +0 −254 pdf_viewer/pdf_viewer.vcxproj
  64. +0 −134 pdf_viewer/pdf_viewer.vcxproj.filters
  65. +0 −60 pdf_viewer/pdf_viewer1.rc
  66. +0 −60 pdf_viewer/pdf_viewer2.rc
  67. +252 −17 pdf_viewer/prefs.config
  68. +0 −1 pdf_viewer/prefs_user.config
  69. +9,899 −0 pdf_viewer/rapidfuzz_amalgamated.hpp
  70. +0 −18 pdf_viewer/resource.h
  71. +0 −14 pdf_viewer/resource1.h
  72. +0 −14 pdf_viewer/resource2.h
  73. +14 −0 pdf_viewer/shaders/custom_colors.fragment
  74. +37 −0 pdf_viewer/shaders/dark_mode.fragment
  75. +11 −0 pdf_viewer/shaders/separator.fragment
  76. +2 −2 pdf_viewer/shaders/simple.fragment
  77. +9 −0 pdf_viewer/shaders/stencil.fragment
  78. +10 −0 pdf_viewer/shaders/stencil.vertex
  79. +0 −1 pdf_viewer/shaders/vertical_bar.fragment
  80. +12 −0 pdf_viewer/shaders/vertical_bar_dark.fragment
  81. +8,978 −0 pdf_viewer/synctex/synctex_parser.c
  82. +429 −0 pdf_viewer/synctex/synctex_parser.h
  83. +554 −0 pdf_viewer/synctex/synctex_parser_advanced.h
  84. +45 −0 pdf_viewer/synctex/synctex_parser_local.h
  85. +574 −0 pdf_viewer/synctex/synctex_parser_utils.c
  86. +168 −0 pdf_viewer/synctex/synctex_parser_utils.h
  87. +59 −0 pdf_viewer/synctex/synctex_version.h
  88. +120 −27 pdf_viewer/ui.cpp
  89. +643 −164 pdf_viewer/ui.h
  90. +1,765 −239 pdf_viewer/utils.cpp
  91. +156 −26 pdf_viewer/utils.h
  92. +133 −0 pdf_viewer_build_config.pro
  93. +41 −0 resources/Info.plist
  94. +3 −0 resources/debian/changelog
  95. +1 −0 resources/debian/compat
  96. +12 −0 resources/debian/control
  97. 0 resources/debian/copyright
  98. +4 −0 resources/debian/rules
  99. +4 −0 resources/debian/sioyek.dirs
  100. +13 −0 resources/debian/sioyek.install
  101. +1 −0 resources/debian/source/format
  102. BIN resources/sioyek-icon-linux.png
  103. +1,322 −0 resources/sioyek.1
  104. +12 −0 resources/sioyek.desktop
  105. +118 −0 scripts/dual_panelify.py
  106. +43 −0 scripts/embed_annotations_in_file.py
  107. +57 −0 scripts/embedded_annotations.py
  108. +187 −0 scripts/paper_downloader.py
  109. +163 −0 scripts/sioyek-generator.py
  110. +929 −0 scripts/sioyek.py
  111. +166 −0 scripts/summary_highlight_server.py
  112. +1 −0 scripts/tts/aligner.bat
  113. +1 −0 scripts/tts/aligner.ps1
  114. +9 −0 scripts/tts/generator.ps1
  115. +6 −0 scripts/tts/generator2.ps1
  116. +374 −0 scripts/tts/manager_server.py
  117. +4 −0 scripts/tts/server_follow.py
  118. +5 −0 scripts/tts/server_read.py
  119. +4 −0 scripts/tts/server_stop.py
  120. +4 −0 scripts/tts/server_unfollow.py
  121. BIN tutorial.pdf
  122. +16 −0 tutorial/bibs.bib
  123. +5 −0 tutorial/compile.sh
  124. BIN tutorial/mandlebrot_small.jpg
  125. +214 −0 tutorial/tut.tex
  126. BIN windows_runtime/libcrypto-1_1-x64.dll
  127. BIN windows_runtime/libssl-1_1-x64.dll
  128. BIN windows_runtime/vcruntime140_1.dll
  129. +1 −0 zlib
339 changes: 339 additions & 0 deletions .github/workflows/build_and_release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,339 @@

name: Build Release

on:
push:
tags:
- "v*"
pull_request:
branches:
- "*"

jobs:
upload-release:
if: ${{ github.event_name != 'pull_request' }}
runs-on: ubuntu-18.04
needs: [build-mac, build-mac-arm, build-linux, build-windows, build-linux-portable, build-windows-portable]

steps:
- uses: actions/checkout@v1
- name: create release
id: create_release
uses: actions/create-release@master
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.ref }}
release_name: Release ${{ github.ref }}
draft: false
prerelease: false
- name: download artifacts
uses: actions/download-artifact@v1
with:
name: uploads
- name: upload mac
id: upload-mac
uses: actions/upload-release-asset@v1.0.1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./uploads/sioyek-release-mac.zip
asset_name: sioyek-release-mac.zip
asset_content_type: application/zip

- name: upload mac arm
id: upload-mac-arm
uses: actions/upload-release-asset@v1.0.1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./uploads/sioyek-release-mac-arm.zip
asset_name: sioyek-release-mac-arm.zip
asset_content_type: application/zip

- name: upload linux
id: upload-linux
uses: actions/upload-release-asset@v1.0.1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./uploads/sioyek-release-linux.zip
asset_name: sioyek-release-linux.zip
asset_content_type: application/zip
- name: upload windows
id: upload-windows
uses: actions/upload-release-asset@v1.0.1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./uploads/sioyek-release-windows.zip
asset_name: sioyek-release-windows.zip
asset_content_type: application/zip
- name: upload linux-portable
id: upload-linux-portable
uses: actions/upload-release-asset@v1.0.1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./uploads/sioyek-release-linux-portable.zip
asset_name: sioyek-release-linux-portable.zip
asset_content_type: application/zip
- name: upload windows-portable
id: upload-windows-portable
uses: actions/upload-release-asset@v1.0.1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./uploads/sioyek-release-windows-portable.zip
asset_name: sioyek-release-windows-portable.zip
asset_content_type: application/zip


build-linux:

runs-on: ubuntu-18.04

steps:
- name: Cache apt-get packages
uses: actions/cache@v2
env:
cache-name: cache-deb-packages
with:
path: /var/cache/apt/archives
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ github.sha }}
restore-keys: |
${{ runner.os }}-build-${{ env.cache-name }}-
${{ runner.os }}-build-
${{ runner.os }}-
- name: Set up GCC
uses: egor-tensin/setup-gcc@v1
with:
version: 9
platform: x64

- uses: actions/checkout@v2
with:
submodules: 'recursive'

- name: Install libharfbuzz
run: sudo apt install libharfbuzz-dev

- name: Install Qt
uses: jurplel/install-qt-action@v2
with:
version: '5.15.2'

- name: Build
working-directory: ${{env.GITHUB_WORKSPACE}}

run: MAKE_PARALLEL=$(nproc) ./build_and_release.sh
env:
CC: gcc-9
CXX: g++-9
- name: upload linux artifact
uses: actions/upload-artifact@v1
with:
name: uploads
path: sioyek-release-linux.zip
- name: Workaround apt-get cache permission (https://github.com/actions/cache/issues/324)
run: |
export USER_NAME=$(whoami)
sudo chown -R $USER_NAME /var/cache/apt/archives
build-linux-portable:
runs-on: ubuntu-18.04

steps:
- name: Cache apt-get packages
uses: actions/cache@v2
env:
cache-name: cache-deb-packages
with:
path: /var/cache/apt/archives
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ github.sha }}-portable
restore-keys: |
${{ runner.os }}-build-${{ env.cache-name }}-
${{ runner.os }}-build-
${{ runner.os }}-
- name: Set up GCC
uses: egor-tensin/setup-gcc@v1
with:
version: 9
platform: x64

- uses: actions/checkout@v2
with:
submodules: 'recursive'

- name: Install libharfbuzz
run: sudo apt install libharfbuzz-dev

- name: Install Qt
uses: jurplel/install-qt-action@v2
with:
version: '5.15.2'

- name: Build
working-directory: ${{env.GITHUB_WORKSPACE}}

run: MAKE_PARALLEL=$(nproc) ./build_and_release.sh portable
env:
CC: gcc-9
CXX: g++-9
- name: upload linux artifact
uses: actions/upload-artifact@v1
with:
name: uploads
path: sioyek-release-linux-portable.zip
- name: Workaround apt-get cache permission (https://github.com/actions/cache/issues/324)
run: |
export USER_NAME=$(whoami)
sudo chown -R $USER_NAME /var/cache/apt/archives
build-windows:

runs-on: windows-latest

steps:
- uses: actions/checkout@v2
with:
submodules: 'recursive'

- name: Install Qt
uses: jurplel/install-qt-action@v2

- name: Add MSBuild to PATH
uses: microsoft/setup-msbuild@v1.0.2
- name: Add msvc-dev-cmd
uses: ilammy/msvc-dev-cmd@v1


- name: Build Sioyek
working-directory: ${{env.GITHUB_WORKSPACE}}
run: .\build_windows.bat non_portable

- name: upload windows artifact
uses: actions/upload-artifact@v1
with:
name: uploads
path: sioyek-release-windows.zip

build-windows-portable:

runs-on: windows-latest

steps:
- uses: actions/checkout@v2
with:
submodules: 'recursive'

- name: Install Qt
uses: jurplel/install-qt-action@v2

- name: Add MSBuild to PATH
uses: microsoft/setup-msbuild@v1.0.2
- name: Add msvc-dev-cmd
uses: ilammy/msvc-dev-cmd@v1


- name: Build Sioyek
working-directory: ${{env.GITHUB_WORKSPACE}}
run: .\build_windows.bat portable

- name: upload windows artifact
uses: actions/upload-artifact@v1
with:
name: uploads
path: sioyek-release-windows-portable.zip

build-mac:

runs-on: macos-11

steps:

- uses: actions/checkout@v2
with:
submodules: 'recursive'

- name: Cache Homebrew packages
uses: actions/cache@v2
env:
cache-name: homebrew
with:
path: ~/Library/Caches/Homebrew
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ github.sha }}
restore-keys: |
${{ runner.os }}-build-${{ env.cache-name }}-
${{ runner.os }}-build-
${{ runner.os }}-
- name: Install dependencies
run: brew install freeglut mesa harfbuzz

- name: Install Qt
uses: jurplel/install-qt-action@v2
with:
version: '5.15.2'

- name: Build
working-directory: ${{env.GITHUB_WORKSPACE}}
run: |
chmod +x build_mac.sh
MAKE_PARALLEL=$(sysctl -n hw.logicalcpu) ./build_mac.sh
- name: upload mac artifact
uses: actions/upload-artifact@v1
with:
name: uploads
path: sioyek-release-mac.zip

build-mac-arm:

runs-on: macos-11

steps:

- uses: actions/checkout@v2
with:
submodules: 'recursive'

- name: Cache Homebrew packages
uses: actions/cache@v2
env:
cache-name: homebrew
with:
path: ~/Library/Caches/Homebrew
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ github.sha }}
restore-keys: |
${{ runner.os }}-build-${{ env.cache-name }}-
${{ runner.os }}-build-
${{ runner.os }}-
- name: Install dependencies
run: brew install freeglut mesa harfbuzz

- name: Install Qt
uses: jurplel/install-qt-action@v2
with:
version: '6.2.*'

- name: Build
working-directory: ${{env.GITHUB_WORKSPACE}}
run: |
chmod +x build_mac_arm.sh
MAKE_PARALLEL=$(sysctl -n hw.logicalcpu) ./build_mac_arm.sh
- name: upload mac artifact
uses: actions/upload-artifact@v1
with:
name: uploads
path: sioyek-release-mac-arm.zip
Loading