Added Arabic translations for StartupHints pages (1–12) and the Arabic error page.#1504
Added Arabic translations for StartupHints pages (1–12) and the Arabic error page.#1504Lamis-Abla wants to merge 173 commits into
Conversation
This check fails to work with multiple screens having different geometries. It really shouldn't be necessary anyway.
On Debian 11 when executing `qmake OpenBoard.org`, one gets the following error message: ``` qmake OpenBoard.pro sh: 1: Syntax error: "&" unexpected sh: 1: Syntax error: "&" unexpected sh: 1: Syntax error: "&" unexpected ``` The cause is the use of bash-specific `|&` pipe operator in `podcast.pri` line 70 to determine the `FFMPEG_VERSION`.
The old ordering is deprecated and a new overload with different ordering of arguments is provided.
FFmpeg 7.1 introduces avcodec_get_supported_config to query available sample formats. It basically copies over sample_fmts, but doing so directly is deprecated.
Using the default capture `=` captures more than it has to and leads to ambiguity whether the object is capture by value or by reference. This produces a warning in C++20. Exactly enumerate the captured variables to resolve the warning.
- currently the relative dependencies to the media asset files are not known by the graphics items - instead the scene has functions to derive that information depending on the item type - create abstract class UBMediaAssetItem to move the information about the media asset to the item - add UBGraphicsPDFItem to the list of media items to enable handling of the underlaying PDF file as media asset - store name of underlying image file in UBGraphicsPixmapItem - get relative dependencies by just querying the items - also provide a setter to inform the items about the asset path - convert legacy function getRelativeDependencies to return a list of QString - adjust invokers of this function, which previously used a variety of functions to convert the QUrl back to a QString. - remove UBGraphicsItem::clearSource() - items must never delete their media asset files, as they do not know whether they are referenced by some other item - removal of media asset files is handled later with the TOC Signed-off-by: letsfindaway <me@letsfindaway.de>
- add UBSvgSubsetAdaptor::replicateScene() to combine copying and changing the UUID - extend UBDocument::copyPage() to handle all scene copying - use copyPage() in UBBoardController::addScene() - use copyPage in UBDocumentTreeView::dropEvent() - replace UBPersistenceManager::duplicateDocumentScene() by copyDocumentScene() - change task split between UBDocument and UBPersistenceManager when deleting scenes - add UBDocument::pageRelativeDependencies() as preparation for later TOC handling Signed-off-by: letsfindaway <me@letsfindaway.de>
- remove UBGraphicsItemData::ItemUuid - do not store UUID in item data, only in UBItem - remove all setUuid overwrites from item classes - add map to UBCoreGraphicsScene and manage it there - provide lookup function for map instead of linear search - adapt some usages to get UUID in UBSvgSubsetAdaptor and UBGraphicsScene Signed-off-by: letsfindaway <me@letsfindaway.de>
- create SHA-1 based UUIDs for media asset file names - such UUIDs are unique based on the file content - separate item UUID from asset UUID - don't treat as failure if target file exists: due to the hash based UUID it is very likely the correct file Signed-off-by: letsfindaway <me@letsfindaway.de>
- class is no longer used or referenced anywhere Signed-off-by: letsfindaway <me@letsfindaway.de>
- drop CFF import support - drop CFF export support (was already disabled) Signed-off-by: letsfindaway <me@letsfindaway.de>
- add UBToc holding a table-of-content - add UBTocSerializer for loading and saving the TOC as JSON - create a default TOC for a UBDocument if no TOC exists - add functions to create the page and thumbnail file names from an integer id - add functions to get the file name by index based on TOC content - add scanner to create or update a TOC for documents created or processed by previous versions of OpenBoard - update document version to 4.9.0 - use TOC to translate page index to page id everywhere Signed-off-by: letsfindaway <me@letsfindaway.de>
- use UBDocument::pageCount() instead of UBDocumentProxy::pageCount() - use UBDocument in signals sent to UBBoardController to ease this transition - use UBDocument when importing UBZ - use QMap for UBSceneCache so that all entries for one document are grouped - add a variable containint the active UBDocument to UBDocumentContainer - remove pageCount from UBDocumentProxy no longer used, replaced by UBDocument::pageCount - also remove UBPersistenceManager::sceneCount, obsoleted by UBDocument::scan Signed-off-by: letsfindaway <me@letsfindaway.de>
- keep separate asset UUID for SVG items - rename mediaAssetUuid to createMediaAssetUuid - make setMediaAsset pure virtual and implement it in all derived classes - add UBMediaAssetItem::uuidFromPath to derive UUID from path - add UBMediaAssetItem::mediaAssetUuid to get asset UUID - allow to switch renderer for UBGraphicsPDFItem when PDF file is renamed Signed-off-by: letsfindaway <me@letsfindaway.de>
- UBPersistenceManager: add function to copy assets - UBPersistenceManager: add function to cleanup unreferenced assets - UBPersistenceManager: remove unused fileDirectory - UBSceneCache: remove unused functions moving scenes - UBDocument::scan - display progress messages - rename media assets when they do not have a UuidV5 - delete unreferenced media assets when scan is complete - UBDocument: also delete unref. media assets when deleting UBDocument - UBMediaAssetItem: add function to create UuidV5 from file or dir Signed-off-by: letsfindaway <me@letsfindaway.de>
- when exporting a document, renumber the page files in ascending order so that the document is backward compatible - works for UBZ and UBX - fix some copyright headers Signed-off-by: letsfindaway <me@letsfindaway.de>
- QtConcurrent::mapped provides the functions implemented in UBBackgroundLoader nearly out of the box - use multiple threads, thus improving performance - add constructor to limit amount of data for each file Signed-off-by: letsfindaway <me@letsfindaway.de>
- separate scanning into two phases (UUID and asset) - perform UUID scanning when document is selected - perform asset scanning in background when document is opened - limit number of parallel loaded scenes for asset scanning - retrieve results from background loader by signal/slot to allow throttling - retrieve scene UUID and version from scene header - use separate threads for future watcher and blocking buffer - do not cache scenes loaded for asset scanning - save TOC only if modified Signed-off-by: letsfindaway <me@letsfindaway.de>
- Qt6 introduced a new class QKeyCombination - in Qt5, a simple int was used - use the proper functions for each Qt version in UBShortcutManager
- avoid check for existence of thumbnail files in main thread - create missing thumbnails later when loading fails
Signed-off-by: letsfindaway <me@letsfindaway.de>
- express that this is a table of contents for a document
Feat: Table-of-content
- add mime type - remove URLs
- always highlight complete row when dropping a page on the tree - show copy cursor when dropping a page - show move cursor when moving a document - start page drag action with move and copy actions enabled - add function to determine base model
- use indexes from mime data - remove dead code dropMimeData
Qt 6.8 introduces a new system to manage permissions for websites Building with Qt 6.7 and earlier is unaffected due to extensive preprocessor directives.
The old version of setContent returns bool and takes in pointers to allow access to the error information. This was replaced in Qt 6.5 with a ParseResult struct which allows boolean checking and direct access to the information without additional pointers. The old version had separate overloads to specify whether to use namespace processing or not. This, among other options, can now be specified via ParseOptions which were introduced in Qt 6.5 too.
QDateTime::setTimeSpec is deprecated in Qt 6.9 per documentation, but already emits a warning in Qt 6.8. Anyway, use setTimeZone.
fixed some translations
Update OpenBoard_it.ts
- return boolean success indicator for page operations - add parameter to suppress confirmation dialog when deleting pages - create TOC assets entry when creating a page - create thumbnail when creating a page - add common function to UBDocumentToc to check index bounds Signed-off-by: letsfindaway <me@letsfindaway.de>
- do not attempt to save current page when it was deleted - set mDeletingSceneIndex while switching to other scene - remove `UBBoardController::deleteScene()` as it is no longer used - remove `UBBoardController::setActiveSceneIndex` as it is not used and would break internal consistency of the board controller Signed-off-by: letsfindaway <me@letsfindaway.de>
…eme-support feat: dark Theme support
- thumbnails are not created after adding objects using add to document in document mode or import from board mode - remove asset entries from TOC and force scanning new pages - same as during import
- when using add to document in document mode to add an image or a set of images, the resulting images may be scaled wrongly and just appear as small dot - UBGraphicsScene::scaleToFitDocumentSize may use an uninitialized mNominalSize - Use nominalSize() instead to guarantee an initialized value Signed-off-by: letsfindaway <me@letsfindaway.de>
- extract common code from importFile and addFilesToDocument to new function importPages - remove a 14 years old workaround for an unspecified MacOS problem, which was only present in one of the code paths Signed-off-by: letsfindaway <me@letsfindaway.de>
- modernized the light and dark themes across the application - restyled toolbars, button groups, tabs, dialogs and floating palettes - refreshed the Preferences dialog, startup hints and message popups - aligned board and desktop palette appearance and removed visual inconsistencies - moved widget-specific styling toward QSS and object-name based selectors - reduced ad hoc C++ styling code where QSS was sufficient - finalized dark mode polish for selections, scrollbars, spin boxes and inline editors - updated document and board thumbnail views to react correctly to theme changes - unified close button handling for floating palettes with a shared asset-based icon - cleaned up obsolete styling helpers and unused palette-related code - introduced a debug widget inspector to help debugging style issues
…cument Fix add to document
…ument-checks Fix: some bugs in UBDocument
In Document Thumbnails view : - restored 1.7.3 selection behavior - fixed drag and drop OpenBoard-org#1402 issue - when no page is selected, selecting one now works even if Shift is pressed
- when duplicating a scene in board mode while the left palette is hidden and then showing the palette, the thumbnail arrangement was broken - unconditionally rearrange thumbnails when showing palette Signed-off-by: letsfindaway <me@letsfindaway.de>
…xstartref and the root object, making any pdf export to fail because it could not find the /Root object. Simply increased the size of the portion that is read to find it
- poppler 26.02 removes an obsolete parameter from the constructor of SplashOutputDev - conditionally remove this parameter depending on poppler version Signed-off-by: letsfindaway <me@letsfindaway.de>
- default WebEngine profile is private browsing since Qt 6 - use a named profile to enable cookie storage as with Qt 5 - name it Default, so that it actually uses the same location Signed-off-by: letsfindaway <me@letsfindaway.de>
What’s new: Improved content layout and refreshed styling Integrated dark and light themes Enhanced navigation bar and hint presentation Scrollbar now matches the active theme Hint 1 is now interactive All available StartupHints languages have been patched Most content remains unchanged. This update primarily focuses on styling, display improvements, smoother navigation, and better UI harmonization for version 1.8.
…-update Update StartupHints for alignment with versions 1.7.7 and upcoming 1.8
Adds the Marelle font family v1.004, released by the French Direction du Numérique pour l'Éducation (DNE). Marelle is an OFL-licensed font designed specifically for teaching cursive handwriting in primary school, developed by professional type designers supervised by teachers following current French best practices. The family includes 8 variants: - Marelle / Marelle2: cursive with cursive or baton uppercase - MarelleBaton / MarelleBaton2: baton-style with cursive or baton uppercase - MarelleLIGNES variants: all of the above with Seyes ruling lines This adds a properly licensed alternative to the existing EcritureA and EcritureB fonts, which carry license restrictions that prevent redistribution by distributions such as Debian and Fedora. Closes #2 Reference: OpenBoard-org#1469 Signed-off-by: Sofian Elmotiem <sofianelmotiem@gmail.com>
- Add an optional left offset for the for the left dock palette - Position the sidebar tab next to the vertical stylus palette - Update the offset when the stylus palette changes orientation or visibility - Keep the existing behavior unchanged for horizontal stylus palette Closes #5 References OpenBoard-org#1483 Signed-off-by: claas998
|
Hi @Lamis-Abla, Thank you for your contribution and for taking the time to work on the Arabic translations! However, there is a small issue with the base branch of your PR. You've based your work on The good news is that most of the text content remains the same, so you won't have to redo your translation from scratch. There are, however, some differences in the code structure and layout that you'll need to account for. Feel free to reach out if you have any questions. Best regards, |
|
Hi @Lamis-Abla, Thanks for the follow-up commit! Unfortunately the PR is still based on The dev branch is here: https://github.com/OpenBoard-org/OpenBoard/tree/dev — this is the branch your work needs to target. Best regardss, Thomas Wünsche |
Hi everyone,
I completed the Arabic translation for the StartupHints pages and pushed it to the doku-translations-for-startuphints branch. Could you please review it and let me know if any changes are needed?
@abdna94
@SofianElmotiem
@claas998
Changes
dir="rtl")Testing