Skip to content

Commit

Permalink
Merge pull request #61 from 0xzer0x/release/v1.2.5
Browse files Browse the repository at this point in the history
v1.2.5
  • Loading branch information
0xzer0x authored May 3, 2024
2 parents 132840d + 9ab6e18 commit 1b542d4
Show file tree
Hide file tree
Showing 22 changed files with 2,476 additions and 2,384 deletions.
59 changes: 57 additions & 2 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,9 @@ jobs:
arch: gcc_64
tools: tools_ninja
modules: >-
qtconnectivity qtimageformats qtmultimedia qtnetworkauth
qtimageformats
qtmultimedia
qtnetworkauth
qtwaylandcompositor
- name: Install tools
Expand Down Expand Up @@ -101,10 +103,63 @@ jobs:
md5sum "Quran_Companion-${{env.APP_VER}}-x86_64.AppImage" > "Quran_Companion-${{env.APP_VER}}-x86_64.AppImage.md5"
- name: Create Release
- name: Upload Release
uses: ncipollo/release-action@v1.13.0
with:
allowUpdates: true
name: "v${{env.APP_VER}}"
tag: "v${{env.APP_VER}}"
bodyFile: CHANGELOG.md
artifacts: "Quran_Companion-${{env.APP_VER}}-x86_64.AppImage*"

macos:
runs-on: macos-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
with:
submodules: true

- name: Set APP_VER env variable
run: echo "APP_VER=$(cat ${{github.workspace}}/VERSION)" >> "$GITHUB_ENV"

- name: Install Qt
uses: jurplel/install-qt-action@v3
with:
aqtversion: "==3.1.*"
version: "6.6.*"
host: "mac"
cache: true
target: "desktop"
arch: "clang_64"
modules: >-
qtimageformats
qtmultimedia
qtnetworkauth
- name: Configure
run: >-
cmake -B ${{github.workspace}}/build
-DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}
- name: Build
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}

- name: Build MacOS DMG
run: |
[[ -f "${QT_PLUGIN_PATH}/sqldrivers/libqsqlodbc.dylib" ]] && rm -rf ${QT_PLUGIN_PATH}/sqldrivers/libqsqlodbc.dylib
[[ -f "${QT_PLUGIN_PATH}/sqldrivers/libqsqlpsql.dylib" ]] && rm -rf ${QT_PLUGIN_PATH}/sqldrivers/libqsqlpsql.dylib
[[ -d "${QT_PLUGIN_PATH}/sqldrivers/libqsqlodbc.dylib.dSYM" ]] && rm -rf ${QT_PLUGIN_PATH}/sqldrivers/libqsqlodbc.dylib.dSYM
[[ -d "${QT_PLUGIN_PATH}/sqldrivers/libqsqlpsql.dylib.dSYM" ]] && rm -rf ${QT_PLUGIN_PATH}/sqldrivers/libqsqlpsql.dylib.dSYM
cd "${{github.workspace}}/build"
macdeployqt quran-companion.app -dmg
mv quran-companion.dmg Quran_Companion-${{env.APP_VER}}-x86_64.dmg
- name: Create Release
uses: ncipollo/release-action@v1.13.0
with:
allowUpdates: true
name: "v${{env.APP_VER}}"
tag: "v${{env.APP_VER}}"
bodyFile: CHANGELOG.md
artifacts: "Quran_Companion-${{env.APP_VER}}-x86_64.dmg"
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ docs/*
dist/windows/*
CMakeLists.txt.*
compile_commands.json
!qc_template.ts
!template.ts
!reciters.sh
!shortcuts.sh
!update_translations.sh
Expand Down
20 changes: 4 additions & 16 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,24 +1,12 @@
## Ramadan Kareem - رمضان كريم 🕌

<div dir='rtl'>

### التحديثات 💭

- تصليح بعض الأعطال (#49)
- إضافة ترجمة بكتال - إنجليزية (#46)
- تعطيل التشغيل التلقائي عند الذهاب لسورة (#50)
- إضافة خاصية _خواطر_ (#44)
- نافذة التفسير أصبحت تشمل كل أنواع المحتوى (تفاسير، ترجمة، خواطر) (#43 ,#47)
- نقل تغيير إعدادات التفسير لنافذة المحتوى
- إضافة خاصية استيراد/تصدير بيانات المستخدم
- إضافة قائمة التلاوات في نافذة التحميل (#57)
- إصدار نسخة أولية من البرنامج لأنظمة macos
</div>

### What's Changed 💭

- Bugfixes (#49)
- Added Pickthall - English translation (#46)
- Disabled Auto-play when navigating to a Surah (#50)
- Added _Thoughts_ feature (#44)
- Changed tafsir dialog to display all available content types (tafsir, translation, thoughts) (#43 ,#47)
- Move tafsir setting to content dialog
- Added user data import/export functionality
- Added recitations menu in downloads manager for a more clear UI (#57)
- Initial MacOS application release
42 changes: 30 additions & 12 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,10 @@ cmake_minimum_required(VERSION 3.22)

project(
quran-companion
VERSION 1.0
LANGUAGES CXX)
LANGUAGES CXX
VERSION 1.2.4
DESCRIPTION "Quran reader and player"
HOMEPAGE_URL "https://0xzer0x.github.io/projects/quran-companion/")

set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOMOC ON)
Expand Down Expand Up @@ -171,6 +173,7 @@ set(PROJECT_SOURCES
src/widgets/betaqaviewer.cpp
src/widgets/betaqaviewer.ui
resources.qrc
resources/logo.icns
qurancompanion.rc)

qt_add_executable(quran-companion MANUAL_FINALIZATION ${PROJECT_SOURCES})
Expand All @@ -184,31 +187,46 @@ if(WIN32)
elseif(APPLE)
set_target_properties(
quran-companion
PROPERTIES MACOSX_BUNDLE_GUI_IDENTIFIER com.zer0x.qurancompanion
MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION}
MACOSX_BUNDLE_SHORT_VERSION_STRING
${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}
MACOSX_BUNDLE TRUE)
PROPERTIES
MACOSX_BUNDLE_ICON_FILE "logo.icns"
MACOSX_BUNDLE_BUNDLE_NAME "Quran Companion"
MACOSX_BUNDLE_GUI_IDENTIFIER "io.github._0xzer0x.qurancompanion"
MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION}
MACOSX_BUNDLE_SHORT_VERSION_STRING
${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}
MACOSX_BUNDLE_LONG_VERSION_STRING
${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}
MACOSX_BUNDLE TRUE)
# And this part tells CMake where to find and install the file itself
set(QURAN_COMPANION_ICON "resources/logo.icns")
set_source_files_properties(${QURAN_COMPANION_ICON}
PROPERTIES MACOSX_PACKAGE_LOCATION "Resources")
endif()

install(
TARGETS quran-companion
BUNDLE DESTINATION .
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})

install(DIRECTORY assets TYPE BIN)
install(DIRECTORY bismillah TYPE BIN)

message(STATUS "Copying application assets to build tree")
file(INSTALL assets DESTINATION ${CMAKE_BINARY_DIR})
file(INSTALL bismillah DESTINATION ${CMAKE_BINARY_DIR})
if(APPLE)
file(INSTALL assets DESTINATION "quran-companion.app/Contents/MacOS")
file(INSTALL bismillah DESTINATION "quran-companion.app/Contents/MacOS")
else()
file(INSTALL assets DESTINATION ${CMAKE_BINARY_DIR})
file(INSTALL bismillah DESTINATION ${CMAKE_BINARY_DIR})
endif()

list(APPEND SUPPORTED_LANGUAGES ar tr)
foreach(lang IN LISTS SUPPORTED_LANGUAGES)
message(STATUS "Adding ${lang} translation file to QC_TS")
list(APPEND QC_TS "dist/translations/qc_${lang}.ts")
list(APPEND QC_TS "dist/translations/out/qc_${lang}.ts")

message(STATUS "Copying ${lang} qt translations to build tree")
configure_file("dist/translations/qtbase_${lang}.qm"
configure_file("dist/translations/qtbase/${lang}.qm"
"${CMAKE_BINARY_DIR}/${lang}.qm" COPYONLY)

message(STATUS "Adding ${lang} qtbase qm file to QTBASE_QM")
Expand All @@ -221,7 +239,7 @@ qt_add_resources(
quran-companion
"qttranslations"
PREFIX
"/base"
"/qtbase"
BASE
${CMAKE_BINARY_DIR}
FILES
Expand Down
24 changes: 12 additions & 12 deletions README-AR.md
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,11 @@

مثّبت البرنامج يمكنك تحميله من [هنا][win-installer]

#### ماك

1. قم بتحميل و فتح ملف [الdmg][macos-dmg-url].
2. قم بسحب البرنامج لمجلد التطبيقات.

#### لينكس

يمكنك تحميل البرنامج بأي صيغة من الصيغ المتوفرة (snap, flatpak, appimage, aur package)
Expand All @@ -133,7 +138,7 @@
<a href='https://flathub.org/apps/io.github._0xzer0x.qurancompanion'>
<img width='240' alt='Download Flatpak' src='https://dl.flathub.org/assets/badges/flathub-badge-en.svg'/>
</a>
<a href='https://github.com/0xzer0x/quran-companion/releases/download/v1.2.4/Quran_Companion-1.2.4-x86_64.AppImage'>
<a href='https://github.com/0xzer0x/quran-companion/releases/download/v1.2.5/Quran_Companion-1.2.5-x86_64.AppImage'>
<img width='260' alt='Download AppImage' src='https://docs.appimage.org/_images/download-appimage-banner.svg' style='border-radius: 10px'/>
</a>
<a href="https://snapcraft.io/quran-companion">
Expand All @@ -159,7 +164,7 @@

- GCC / MSVC
- CMake
- Qt >= 6.4
- Qt >= 6.5
- `qtbase`
- `qtimageformats`
- `qtsvg`
Expand Down Expand Up @@ -194,8 +199,8 @@ git clone --depth=1 -b main https://github.com/0xzer0x/quran-companion.git
```sh
mkdir build
cd build
cmake.exe -DCMAKE_PREFIX_PATH="C:\Qt\6.x.x\msvc_2019" -DCMAKE_BUILD_TYPE=Release -G "Ninja" ..
ninja
cmake.exe -DCMAKE_PREFIX_PATH="C:\Qt\6.x.x\msvc_2019" -DCMAKE_BUILD_TYPE=Release ..
cmake.exe --build . --config Release
```

<a name="linux-build"></a>
Expand Down Expand Up @@ -223,14 +228,8 @@ sudo pacman -Sy base-devel cmake qt6-base qt6-multimedia qt6-tools qt6-imageform
```sh
mkdir build
cd build
cmake ..
make
```

إذا كنت تستخدم Qt 6.4 ، فأنت بحاجة إلى تعيين المتغير البيئي **QT_MEDIA_BACKEND** إلى "ffmpeg" في كل مرة تقوم فيها بتشغيل الملف القابل للتنفيذ ، يمكنك وضع المقتطف التالي في ملف bash لتشغيل التطبيق

```sh
QT_MEDIA_BACKEND=ffmpeg ./quran-companion
cmake -DCMAKE_BUILD_TYPE=Release -G "Ninja" ..
cmake --build .
```

<p align="left">(<a href="#readme-top">عد إلى الأعلى</a>)</p>
Expand Down Expand Up @@ -330,3 +329,4 @@ QT_MEDIA_BACKEND=ffmpeg ./quran-companion
[win-installer]: https://github.com/0xzer0x/quran-companion/releases/download/v1.1.9/qc_online_installer_x64_win.exe
[translation-wiki]: https://github.com/0xzer0x/quran-companion/wiki/Contributing-Translations
[recitations-wiki]: https://github.com/0xzer0x/quran-companion/wiki/Contributing-Recitations
[macos-dmg-url]: https://github.com/0xzer0x/quran-companion/releases/download/v1.2.5/Quran_Companion-1.2.5-x86_64.dmg
40 changes: 20 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@
<li><a href="#build">Build</a>
<ul>
<li><a href="#windows-1">Windows</a></li>
<li><a href="#macos-1">MacOS</a></li>
<li><a href="#linux-1">Linux</a></li>
</ul>
</li>
Expand Down Expand Up @@ -122,6 +123,11 @@ Quran Companion is a cross-platform Quran reader/player with recitation download

Online installer can be downloaded from [here][win-installer].

#### MacOS

1. Download and open the [application dmg][macos-dmg-url].
2. Drag the application into your _Applications_.

#### Linux

The application can be downloaded in any of the available packages (snap, flatpak, appimage, aur package).
Expand All @@ -130,7 +136,7 @@ The application can be downloaded in any of the available packages (snap, flatpa
<a href='https://flathub.org/apps/io.github._0xzer0x.qurancompanion'>
<img width='240' alt='Download Flatpak' src='https://dl.flathub.org/assets/badges/flathub-badge-en.svg'/>
</a>
<a href='https://github.com/0xzer0x/quran-companion/releases/download/v1.2.4/Quran_Companion-1.2.4-x86_64.AppImage'>
<a href='https://github.com/0xzer0x/quran-companion/releases/download/v1.2.5/Quran_Companion-1.2.5-x86_64.AppImage'>
<img width='260' alt='Download AppImage' src='https://docs.appimage.org/_images/download-appimage-banner.svg' style='border-radius: 10px'/>
</a>
<a href="https://snapcraft.io/quran-companion">
Expand All @@ -156,7 +162,7 @@ Also you can open and build/debug the project in a C++ IDE. For example, in Qt C

- GCC / MSVC
- CMake
- Qt >= 6.4
- Qt >= 6.5
- `qtbase`
- `qtimageformats`
- `qtsvg`
Expand All @@ -168,22 +174,22 @@ Also you can open and build/debug the project in a C++ IDE. For example, in Qt C
1. Clone the repo, make sure to pass `--depth=1` to reduce the download size

```sh
git clone --depth=1 -b main https://github.com/0xzer0x/quran-companion.git
git clone --depth=1 -b main https://github.com/0xzer0x/quran-companion.git
```

#### Windows

2. Install Qt using the [online installer](https://www.qt.io/download-qt-installer), make sure to select Qt Multimedia & Qt image formats

3. Add the Qt bin directory to the system **PATH** variable, usually `C:\Qt\6.X.X\mingw_64\bin`
3. Add the Qt bin directory to the system **PATH** variable, usually `C:\Qt\6.x.x\msvc_2019\bin`

4. Build (replace 6.x.x with the Qt version you installed)

```cmd
mkdir build
cd build
cmake.exe -DCMAKE_PREFIX_PATH="C:\Qt\6.x.x\mingw_64" -DCMAKE_BUILD_TYPE=Release -G "Ninja" ..
ninja
```sh
mkdir build
cd build
cmake.exe -DCMAKE_PREFIX_PATH="C:\Qt\6.x.x\msvc_2019" -DCMAKE_BUILD_TYPE=Release ..
cmake.exe --build . --config Release
```

#### Linux
Expand All @@ -207,17 +213,10 @@ sudo pacman -Sy base-devel cmake qt6-base qt6-multimedia qt6-tools qt6-imageform
**Note:** if you installed Qt through the online installer, you need to pass `-DCMAKE_PREFIX_PATH=~/Qt/6.x.x/gcc_64` to CMake in order for the linker to find the Qt libs

```sh
mkdir build
cd build
cmake ..
make
```

4. If you're using Qt 6.4, you need to set the **QT_MEDIA_BACKEND** environmental variable to `ffmpeg` every time you run the executable, you could put the following snippet in a bash file to run the application

```sh
export QT_MEDIA_BACKEND=ffmpeg
./quran-companion
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
cmake --build .
```

<p align="right">(<a href="#readme-top">back to top</a>)</p>
Expand Down Expand Up @@ -313,3 +312,4 @@ Distributed under the [Waqf General Public License](https://ojuba.org/waqf-2.0:%
[win-installer]: https://github.com/0xzer0x/quran-companion/releases/download/v1.1.9/qc_online_installer_x64_win.exe
[translation-wiki]: https://github.com/0xzer0x/quran-companion/wiki/Contributing-Translations
[recitations-wiki]: https://github.com/0xzer0x/quran-companion/wiki/Contributing-Recitations
[macos-dmg-url]: https://github.com/0xzer0x/quran-companion/releases/download/v1.2.5/Quran_Companion-1.2.5-x86_64.dmg
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.2.4
1.2.5
4 changes: 2 additions & 2 deletions crowdin.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
commit_message: Update %language% translation
append_commit_message: false
files:
- source: /dist/translations/qc_template.ts
translation: /dist/translations/qc_%two_letters_code%.ts
- source: /dist/translations/template.ts
translation: /dist/translations/out/qc_%two_letters_code%.ts
export_languages:
- ar
- tr
Loading

0 comments on commit 1b542d4

Please sign in to comment.