diff -Nru ghostwriter-1.8.0/CHANGELOG.md ghostwriter-1.8.1/CHANGELOG.md --- ghostwriter-1.8.0/CHANGELOG.md 2019-04-28 21:45:52.000000000 +0000 +++ ghostwriter-1.8.1/CHANGELOG.md 2020-02-23 00:49:46.000000000 +0000 @@ -1,3 +1,19 @@ +1.8.1 +===== + +Fixes +----- + +* Issue #443: MathJax 3.0 is now built into the HTML preview. Note that this feature works best with Pandoc and requires an Internet connection. Other Markdown processors are not currently supported. +* Issue #447: Cursor is no longer shown when editor is not in focus. +* Issue #461: Fixed Cheat Sheet to have correct image example. +* Issue #471: HUD window styling is fixed for Qt 5.13. +* Issue #472: Fixed typing paused timers for session statistics and for hiding HUD windows. +* Discount is not listed as an available Markdown processor if MultiMarkdown is installed. +* New application translations are available for the following languages: + - Arabic + - Dutch + 1.8.0 ===== diff -Nru ghostwriter-1.8.0/CREDITS.md ghostwriter-1.8.1/CREDITS.md --- ghostwriter-1.8.0/CREDITS.md 2019-04-28 21:45:52.000000000 +0000 +++ ghostwriter-1.8.1/CREDITS.md 2020-02-23 00:49:46.000000000 +0000 @@ -16,6 +16,8 @@ * French - pygoliae * Spanish - cemetary, Icaro Perseo (icaroperseo) * Chinese - gledos +* Dutch - Heimen Stoffels (Vistaus) +* Arabic - Abdurrahman Aborazmeh (aborazmeh) Libraries ========= diff -Nru ghostwriter-1.8.0/debian/changelog ghostwriter-1.8.1/debian/changelog --- ghostwriter-1.8.0/debian/changelog 2020-03-23 06:15:02.000000000 +0000 +++ ghostwriter-1.8.1/debian/changelog 2020-02-23 11:34:50.000000000 +0000 @@ -1,8 +1,9 @@ -ghostwriter (1.8.0-2build1) focal; urgency=medium +ghostwriter (1.8.1-1) unstable; urgency=medium - * No-change rebuild for libgcc-s1 package name change. + * New upstream release + * debian/control: set Standards-Version: to 4.5.0 - -- Matthias Klose Mon, 23 Mar 2020 07:15:02 +0100 + -- Sebastien CHAVAUX Sun, 23 Feb 2020 12:34:50 +0100 ghostwriter (1.8.0-2) unstable; urgency=medium diff -Nru ghostwriter-1.8.0/debian/control ghostwriter-1.8.1/debian/control --- ghostwriter-1.8.0/debian/control 2019-04-29 06:22:44.000000000 +0000 +++ ghostwriter-1.8.1/debian/control 2020-02-23 11:34:50.000000000 +0000 @@ -11,7 +11,7 @@ libhunspell-dev, pkg-config, qttools5-dev-tools -Standards-Version: 4.3.0 +Standards-Version: 4.5.0 Homepage: https://wereturtle.github.io/ghostwriter/ Vcs-Git: https://salsa.debian.org/seb95-guest/ghostwriter.git Vcs-Browser: https://salsa.debian.org/seb95-guest/ghostwriter diff -Nru ghostwriter-1.8.0/ghostwriter.pro ghostwriter-1.8.1/ghostwriter.pro --- ghostwriter-1.8.0/ghostwriter.pro 2019-04-28 21:45:52.000000000 +0000 +++ ghostwriter-1.8.1/ghostwriter.pro 2020-02-23 00:49:46.000000000 +0000 @@ -36,7 +36,7 @@ # Set program version isEmpty(VERSION) { - VERSION = v1.8.0 + VERSION = v1.8.1 } DEFINES += APPVERSION='\\"$${VERSION}\\"' diff -Nru ghostwriter-1.8.0/.github/ISSUE_TEMPLATE/bug-report-or-troubleshooting-request.md ghostwriter-1.8.1/.github/ISSUE_TEMPLATE/bug-report-or-troubleshooting-request.md --- ghostwriter-1.8.0/.github/ISSUE_TEMPLATE/bug-report-or-troubleshooting-request.md 1970-01-01 00:00:00.000000000 +0000 +++ ghostwriter-1.8.1/.github/ISSUE_TEMPLATE/bug-report-or-troubleshooting-request.md 2020-02-23 00:49:46.000000000 +0000 @@ -0,0 +1,38 @@ +--- +name: Bug Report or Troubleshooting Request +about: Create a bug report or troubleshooting request +title: '' +labels: '' +assignees: wereturtle + +--- + +**IMPORTANT NOTICE**: Please do NOT use the issue tracker for new feature requests. Only bug reports or troubleshooting requests are being accepted at this time. For details, please see the [contributing guidelines](https://github.com/wereturtle/ghostwriter/blob/master/CONTRIBUTING.md). + +**Platform (please complete the following information):** + - OS and version [e.g. Ubuntu 18.04, Windows 10, MacOS Sierra]: + - If Linux, Desktop Environment [e.g., Gnome, Plasma, Cinnamon, etc.]: + +**ghostwriter installation (please complete the following information):** + - ghostwriter version [see Help->About in menu bar]: + - If Windows, installation type [e.g., portable or full install]: + - If Linux, installation type [e.g., Flatpak, PPA, private build]: + +**Describe the bug** +A clear and concise description of what the bug is. + +**To Reproduce** +Steps to reproduce the behavior: +1. Go to '...' +2. Click on '....' +3. Scroll down to '....' +4. See error + +**Expected behavior** +A clear and concise description of what you expected to happen. + +**Screenshots** +If applicable, add screenshots to help explain your problem. + +**Additional context** +Add any other context about the problem here. diff -Nru ghostwriter-1.8.0/README.md ghostwriter-1.8.1/README.md --- ghostwriter-1.8.0/README.md 2019-04-28 21:45:52.000000000 +0000 +++ ghostwriter-1.8.1/README.md 2020-02-23 00:49:46.000000000 +0000 @@ -16,70 +16,68 @@ Windows ------- -On Windows, you can either download the setup.exe and go through the setup wizard (recommended), or you can run the portable version (advanced users). To install via the setup wizard, download `ghostwriter-setup.exe` to a location of your choice, double click on its icon to run, and follow the installation steps. Note that you must have administrator rights to install. +On Windows, you can either download the setup.exe and go through the setup wizard (recommended), or you can run the portable version (advanced users). To install via the setup wizard, download `ghostwriter-x64_installer.exe` from [the Windows repository here](https://github.com/michelolvera/vs-ghostwriter) to the location of your choice, double click on its icon to run, and follow the installation steps. Note that you must have administrator rights to install. The portable version is a zip file which you can unzip to any location on your computer. Within the zip file is a simple folder containing the `ghostwriter.exe` file. Double click on this file to run the program. The `dictionaries` subfolder contains your Hunspell dictionaries. The `data` subfolder contains the location of your personal dictionaries, themes, and application settings. The portable version is an excellent alternative for when you do not have administrative rights to install the application. You can take it anywhere on a thumb drive and run it--at school, a friend's house, etc. Linux ----- -If you are running Ubuntu or one of its derivatives (Linux Mint, Xubuntu, etc.), simply add the [wereturtle Launchpad PPA](http://launchpad.net/~wereturtle/+archive/ubuntu/ppa) to your system. Open a terminal, and enter the following: +If you are running Ubuntu or one of its derivatives (Linux Mint, Xubuntu, etc.), open a terminal, and enter the following commands: $ sudo add-apt-repository ppa:wereturtle/ppa - $ sudo apt-get update - -You can now install the ghostwriter package. Please consult the Launchpad guide, [*Installing software from a PPA*](https://help.launchpad.net/Packaging/PPA/InstallingSoftware), for further details. + $ sudo apt update + $ sudo apt install ghostwriter -Also, be on the lookout for *ghostwriter* making its debut in the Debian and Ubuntu repositories in the future. In the meantime, if you are a repository maintainer of any Linux distribution, I would appreciate your help in getting *ghostwriter* packaged. +There is also now a staging PPA for release candidate builds for advanced users who wish to test drive the latest features/fixes. To install the latest release candidate, enter the following commands from a terminal: -Fedora and openSUSE users can visit https://software.opensuse.org/package/ghostwriter – The Fedora releases are Community Packages. + $ sudo add-apt-repository ppa:wereturtle/staging + $ sudo apt-get update + $ sudo apt install ghostwriter -Finally, you may follow the build instructions below to install on Linux with the latest source code. +Fedora users can install ghostwriter from (Copr)[https://copr.fedorainfracloud.org/] by opening a terminal and entering the following commands: -**Note to Unity Users:** If you are running Ubuntu with the Unity desktop environment, you should be aware of a bug with how Qt 5 application menus are displayed in the global menu. Please see [this bug in Launchpad](https://bugs.launchpad.net/appmenu-qt5/+bug/1380702). At the moment, the shortcuts (such as Ctrl+C, Ctrl+V, etc.) in *ghostwriter's* menus are not available within Unity. This is true of other Qt 5 applications. A common workaround is to remove the appmenu-qt5 package. To do so, open a terminal window, and type the following: + $ sudo dnf copr enable wereturtle/stable + $ sudo dnf install ghostwriter - sudo apt-get remove appmenu-qt5 +There is likewise a staging repository for (Copr)[https://copr.fedorainfracloud.org/], where the latest release candidate can be installed with the following commands: -This will fix the issue for all your Qt 5 applications, including *ghostwriter*. However, it also places the menus for the application into the application's window, rather than into the global menu. + $ sudo dnf copr enable wereturtle/staging + $ sudo dnf install ghostwriter + +openSUSE users can visit https://software.opensuse.org/package/ghostwriter to install the latest stable version. Note that the openSUSE version is maintained by volunteers. -**GNU/Linux Help:** For further help with troubleshooting issues for Qt5 applications, including *ghostwriter*, please see the [GNU/Linux Troubleshooting for Q5 Applications](https://github.com/wereturtle/ghostwriter/wiki/GNU---Linux-Troubleshooting-for-Qt5-Applications) topic in the community wiki. +Finally, you may follow the build instructions below to install on Linux with the latest source code. -MacOS - Testers needed. ------------------------ +MacOS +----- You can download an application bundle for MacOS and copy it under /Applications (for all the users) or $HOME/Applications (for the current user). That application should work on osx 10.10+, but was tested only on macOS 10.13. Please remember that this build is experimental and you'll find some bugs. Please report those on the issue tracker. FreeBSD ------- -A package exist for FreeBSD, so just type: +To install ghostwriter on FreeBSD, open a terminal, and enter the following command: - sudo pkg install ghostwriter + $ sudo pkg install ghostwriter Build ===== -If you wish to build from the source code, you will need Qt 5, available from if you are on Windows, or in your Linux distribution's repository. If you are on MacOS you will need Qt5.5 from brew. +If you wish to build from the source code, you will need Qt 5, available from if you are on Windows, or in your Linux distribution's repository. If you are on MacOS you will need the latest Qt 5 from brew. This documentation assumes you already have the source code unzipped in a folder. Windows ------- -Open a DOS terminal window, and enter the following commands: +Building on Windows requires Visual Studio. Open a terminal window, and enter the following commands: > cd > qmake - -The next command depends on whether you have chosen to use Qt with MinGW or with Microsoft's compiler. If you are using MinGW, enter the following: - - > mingw32-make - -If you are using Microsoft's tools, enter the following: - > nmake release -Unless you have built *ghostwriter* as a standalone executable statically linked to your own build of Qt's source code, you will need to copy the necessary Qt (and MinGW) .dll files to the same location as `ghostwriter.exe` so that the executable can find the required libraries. +Unless you have built *ghostwriter* as a standalone executable statically linked to your own build of Qt's source code, you will need to copy the necessary Qt and Windows .dll files to the same location as `ghostwriter.exe` so that the executable can find the required libraries. Linux ----- @@ -90,7 +88,7 @@ $ sudo apt install g++ qt5-default qtbase5-dev libqt5svg5-dev qtmultimedia5-dev qtwebengine5-dev libhunspell-dev pkg-config libqt5concurrent5 qttools5-dev-tools -For fedora: +For Fedora: $ sudo dnf install qt-devel qt5-qtbase-devel qt5-qtsvg-devel qt5-qtmultimedia-devel qt5-qtwebengine-devel hunspell-devel @@ -127,16 +125,22 @@ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" ``` -3. Install Qt5.5 from brew. +3. Install Qt 5 from brew. ``` shell -$ brew install qt@5.5 +$ brew install qt5 ``` *Note:* if you installed XCode command line tools qt will fail building the application with an error like `Project ERROR: Could not resolve SDK Path for 'macosx' Error while parsing file . Giving up.`. Please follow the [instructions to build Qt applications without installing XCode](doc/BUILD_MAC.md) +4. run `brew link` + +``` shell +brew link qt5 --force +``` +*Note:* This command allows you to use `qmake` from the CLI. You'll need it for the final step. -4. Clone this repository and build ghostwriter: +5. Clone this repository and build ghostwriter: ``` shell git clone https://github.com/wereturtle/ghostwriter @@ -221,10 +225,15 @@ Roadmap ======== -- *ghostwriter* added into the various Linux distribution repositories (Debian, Fedora, etc.). **Help wanted!** -- A fully-tested MacOS port. **Help wanted!** -- Translation of *ghostwriter* into other languages via *Qt Linguist*. **Help wanted!** -- A new Windows build maintainer **Help wanted!** +- Port from qmake to cmake in preparation for Qt 6. +- Add session and document goals. +- Updating only the changed HTML in live preview to improve rendering speed. +- Add quick preview popup of equations and images. +- Add quick preview popup of current paragraph/section. +- Go to corresponding line in editor on `Ctrl+left click` over text in live preview. +- Replace HUDs with popup menus or sidebar. +- Provide a fully-tested MacOS port with installer. **Help wanted!** +- Translate *ghostwriter* into other languages via *Qt Linguist*. **Help wanted!** Licensing ========= diff -Nru ghostwriter-1.8.0/resources/gw.js ghostwriter-1.8.1/resources/gw.js --- ghostwriter-1.8.0/resources/gw.js 2019-04-28 21:45:52.000000000 +0000 +++ ghostwriter-1.8.1/resources/gw.js 2020-02-23 00:49:46.000000000 +0000 @@ -75,5 +75,11 @@ var updateText = function(text) { placeholder.innerHTML = text; insertAnchorsForHeadings(); + + // Call MathJax to update document, if the library is available. + if (typeof window.MathJax.typeset !== 'undefined') { + window.MathJax.typeset(); + } + scrollToModifyPoint(); } diff -Nru ghostwriter-1.8.0/resources/linux/ghostwriter.1 ghostwriter-1.8.1/resources/linux/ghostwriter.1 --- ghostwriter-1.8.0/resources/linux/ghostwriter.1 2019-04-28 21:45:52.000000000 +0000 +++ ghostwriter-1.8.1/resources/linux/ghostwriter.1 2020-02-23 00:49:46.000000000 +0000 @@ -1,5 +1,5 @@ .\" Manpage for ghostwriter. -.TH man 1 "27 April 2019" "1.8.0" "ghostwriter man page" +.TH man 1 "22 February 2020" "1.8.1" "ghostwriter man page" .SH NAME ghostwriter \- distraction\-free text editor for Markdown .SH SYNOPSIS diff -Nru ghostwriter-1.8.0/resources/linux/ghostwriter.appdata.xml ghostwriter-1.8.1/resources/linux/ghostwriter.appdata.xml --- ghostwriter-1.8.0/resources/linux/ghostwriter.appdata.xml 2019-04-28 21:45:52.000000000 +0000 +++ ghostwriter-1.8.1/resources/linux/ghostwriter.appdata.xml 2020-02-23 00:49:46.000000000 +0000 @@ -27,6 +27,6 @@ ghostwriter - + diff -Nru ghostwriter-1.8.0/resources/quickreferenceguide_ar.html ghostwriter-1.8.1/resources/quickreferenceguide_ar.html --- ghostwriter-1.8.0/resources/quickreferenceguide_ar.html 1970-01-01 00:00:00.000000000 +0000 +++ ghostwriter-1.8.1/resources/quickreferenceguide_ar.html 2020-02-23 00:49:46.000000000 +0000 @@ -0,0 +1,382 @@ +

مقدمة

+ +

أهلاً بك في ghostwriter! يعطي هذا المرجع السريع أمثلةً عن الكتابة بماركداون، صيغة رمزية تكتب نصاً عادياً أنشأها John Gruber. للمساعدة ومزيدٍ من المعلومات، فضلاً زُر موقع John Gruber http://www.daringfireball.net. يمكن الوصول إلى الموقع الرسمي لـ ghostwriter عبر الرابط http://www.github.com/wereturtle/ghostwriter.

+ +

يتضمن ghostwriter معالج Sundown داخلياً. لكنه يمكن تلقائياً أن يكتشف معالجات Pandoc، MultiMarkdown، Discount، cmark، cmark-gfm. ثبّت ما تريد استعماله من أيًّ من الثلاث الماضيات، أو جميعَها، وتأكّد أن يكون مسار البرامج مُضافاً للمتغير البيئيّ PATH. سيقوم ghostwriter بالكشف التلقائي عن تثبيتهم عند بدء تشغيله، وسيقوم بتشغيل معاينة HTML وخيارات التصدير بناءً على ذلك.

+ +

العناوين

+ +
# عنوان مستوى 1
+## عنوان مستوى 2 ##
+###### عنوان مستوى 6
+
+عنوان مستوى 1
+===============
+نصٌ ما
+
+عنوان مستوى 2
+---------------
+نصٌ ما إضافي
+
+ +

الفقرات

+ +
هذه فقرة.
+هذا سطرٌ يتبع الفقرة ذاتها، يفصل بينهما سطرٌ يدوي.
+
+هذه فقرةٌ جديدة.
+
+ +

التنسيق الموضعي

+ +

يمكنك تنسيق المائل أو حتى الغامق بطريقتين. الأولى بإحاطة النص بالنجمة (*)، والثانية باستعمال الشرطات التحتية (_).

+ +
هذا *مائل* باستعمال النجمتين.
+هذا _مائل_ باستعمال الشرطتين.
+
+هذا **الغامق** باستعمال النجوم.
+هذا __الغامق__ باستعمال الشرطات.
+
+ +

يمكنك أيضاً عمل غامقٍ مائل بمزجها ومطابقتها، كما يلي:

+ +
هذا ***غامق مائل*** باستعمال النجوم.
+هذا **_غامق مائل_** باستعمال المزيج.
+هذا *__غامق مائل__* آخر.
+الخ.
+
+ +

الروابط

+ +

يمكنك الربط إلى عدة مواقع:

+ +
اضغط [هنا](http://url.com "عنوان") لزيارة موقع.
+
+ +

يمكنك كذلك استعمال الإشارات المرجعية:

+ +
[هذه][المعرف] إشارة مرجعية ستعرف أدناه.
+
+[المعرف]: http://url.com "عنوان"
+
+ +

الصور

+ +

يمكنك تضمين الصور كالتالي:

+ +
![النص البديل](./image.jpg "عنوان")
+
+ +

يمكنك أيضاً استعمال صيغة الإشارة المرجعية ذاتها:

+ +
![النص البديل][المعرف] إشارة مرجعية ستعرف أدناه.
+
+[المعرف]: ./image.jpg "عنوان"
+
+ +

القوائم

+ +

يمكنك استعمال القوائم المرتبة:

+ +
1. العنصر الأول.
+2. العنصر الثاني.
+3. العنصر الثالث.
+
+ +

أو يمكنك استعمال القوائم النقطية:

+ +
* العنصر الأول.
++ العنصر الثاني.
+- العنصر الثالث.
+
+ +

يمكنك مزج القوائم وتداخلها:

+ +
1. العنصر الأول.
+    * العنصر الداخلي الأول.
+    * العنصر الداخلي الثاني.
+2. العنصر الثاني.
+    - العنصر الداخلي الأول.
+    - العنصر الداخلي الثاني.
+3. العنصر الثالث.
+    1. العنصر الداخلي الأول.
+
+ +

البرامج الحاسبية

+ +

يمكنك إنشاء كتلة برنامج باستعمال تشذيب بأربع مسافات أو أكثر أو محرف جدولة:

+ +
هذه فقرة عادية، متبوعةٌ ببرنامج.
+
+    for (int i = 0; i < 10; i++) {
+        System.out.println("i = " + i);
+    }
+
+ستُعرض الكتلة السابقة على نسَقها الذي كُتبت فيه.
+
+ +

يمكنك استعمال صيغة الفواصل العُليا المائلة لماركداون Github في بعض محولات ماركداون مثل Pandoc أو Github، لتعيين كتلة البرنامج، بدلاً من تشذيب الكتلة، كالتالي:

+ +
```
+for (int i = 0; i < 10; i++) {
+    System.out.println("i = " + i);
+}
+```
+
+ +

ستُعرض الكتلة السابقة كذلك على نسَقها الذي كُتبت فيه.

+ +

الرموز البرمجية

+ +

يمكنك استعمال الفواصل العُليا المائلة في أثناء الفقرات لتعيين رمز برمجي، مثلاً هذا وسم `<html>`. ويمكنك ذكر الفاصلة العُليا ذاتها في الرمز البرمجي باستعمال أكثر من فاصلة، كما في هذا المثال: `` `فاصلة حرفية` ``.

+ +

الاقتباسات

+ +

يمكنك استعمال أسلوب أقواس زوايا البريد الإلكتروني لتعيين الاقتباسات، كالتالي:

+ +
> هذا اقتباس.
+>
+>> هذا اقتباس مضمن داخل اقتباس.
+
+ +

الأسطر

+ +

استعمل ثلاثاً أو أكثر من الشرطات (-)، أو الشرطات التحتية(_)، أو النجوم(*) لإنشاء سطر أفقي، كالتالي:

+ +
---
+
+***
+___
+
+ +

يمكنك أيضاً ترك فراغات بين كل محرف:

+ +
- - -
+
+ +

إضافات ماركداون

+ +

تضيف بعض معالجات ماركداون صيغ للجداول، والحواشي، وغيرها، لإضافة وظائف لمعايير ماركداون الأصلية التي وضعها John Gruber. في الأسف مثال عن استعمال حاشية لـ Pandoc، MultiMarkdown، وغيرها من المعالجات التي تدعم الإضافة:

+ +
هذا النص الأصلي الذي يحتوي الحاشية.[^id]
+
+[^id]:  هنا نص الحاشية.
+
+ +

أدناه نموذج عن جدول Pandoc:

+ +
العمود الأول     العمود الثاني
+----------     ----------
+نص السطر 1     نص السطر 2
+نص السطر 1     نص السطر 2
+
+جدول:  نموذج جدول Pandoc.
+
+ +

أدناه نموذج عن جدول Sundown أو MultiMarkdown:

+ + + + + + + + + + + + + + + +
العمود الأولالعمود الثاني
نص السطر 1نص السطر 2
نص السطر 1نص السطر 2
+ +

هناك المزيد من صيغ الجداول التي يمكن أن تدعمها معالجات ماركداون هذه. وهناك الكثير من الإضافات الأخرى. لمزيد من المعلومات عن هذه المعالجات، زُر المواقع التالية:

+ + + +

يمكن الاطلاع على المعايير الأصلية لماركداون John Gruber على الرابط http://daringfireball.net/projects/markdown/.

+ +

اختصارات Ghostwriter

+ +

يدعم ghostwriter عدة مفاتيح اختصارات لتحرير ماركداون:

+ +

Ctrl+B +: تطبيق تنسيق الغامق (الثخين).

+ +

Ctrl+I +: تطبيق تنسيق المائل (التوكيد).

+ +

Ctrl+K +: تطبيق تنسيق في وسطه خط.

+ +

Ctrl+/ +: مفتاح التحكم Ctrl مع مفتاح / يُضيف تعليق HTML عند موضع المُشيرة، أو سيحول النص المحدد إلى تعليق HTML.

+ +

Tab +: عند ضغط مفتاح الجدولة بوجود نص محدد سيُباعد الأسطر عن أوائلها.

+ +

Shift+Tab +: عند ضغط مفتاح الجدولة مع مفتاح Shift معاً بوجود نص محدد سُقارب الأسطر إلى أوائلها.

+ +

Shift+Enter +: إدراج فاصل أسطر ماركداون.

+ +

Ctrl+Enter +: إدراج فاصل أسطر كالعادة، غير أن مباعدة الأسطر لن تُأخذ بالحُسبان. بعبارة أخرى، لو أنك تكتب في نص مُشذب ثم ضغطت Ctrl+Enter، لن يُشذب السطر الجديد. لاحظ أنك يمكنك مزج المفتاحين Ctrl و Shift لإنتاج سطر ماركداون غير مُشذّب.

+ +

Ctrl+. +: ضغط مفتاح Ctrl مع رمز . سيحول السطر أو الأسطر المحددة إلى كتلة اقتباس.

+ +

Ctrl+, +: ضغط مفتاح Ctrl مع رمز , سيحذف جميع صيغ الاقتباس من السطر أو الأسطر المحددة من النص.

+ +

Ctrl+8 +: ضغط المفتاح Ctrl مع رمز 8 سيحول السطر أو الأسطر المحددة إلى قائمة نقطية باستعمال العلامة *. مثلاً، إن كان النص المحدد لديك الأسطرُ التالية:

+ +
    عنصر القائمة الأول.
+    عنصر القائمة الثاني.
+
+فضغط `Ctrl+8`  سيحول الأسطر المحددة إلى قائمة نقطية كالتالي:
+
+    * عنصر القائمة الأول.
+    * عنصر القائمة الثاني.
+
+ +

Ctrl+Shift+- +: ضغط متاحي Ctrl و Shift معاً مع رمز - سيحول السطر أو الأسطر المحددة إلى قائمة نقطية باستعمال العلامة -. مثلاً، إن كان النص المحدد لديك الأسطرُ التالية:

+ +
    عنصر القائمة الأول.
+    عنصر القائمة الثاني.
+
+فضغط `Ctrl+Shift+-` سيحول الأسطر المحددة إلى قائمة نقطية كالتالي:
+
+    - عنصر القائمة الأول.
+    - عنصر القائمة الثاني.
+
+ +

Ctrl+Shift+= +: ضغط متاحي Ctrl و Shift معاً مع رمز = سيحول السطر أو الأسطر المحددة إلى قائمة نقطية باستعمال العلامة +. مثلاً، إن كان النص المحدد لديك الأسطرُ التالية:

+ +
    عنصر القائمة الأول.
+    عنصر القائمة الثاني.
+
+فضغط `Ctrl+Shift+=` سيحول الأسطر المحددة إلى قائمة نقطية كالتالي:
+
+    + عنصر القائمة الأول.
+    + عنصر القائمة الثاني.
+
+ +

Ctrl+1 +: ضغط المفتاح Ctrl مع رمز 1 (الرقم 1) سيحول السطر أو الأسطر المحددة إلى قائمة مرتبة باستعمال العلامة .. مثلاً، إن كان النص المحدد لديك الأسطرُ التالية:

+ +
    عنصر القائمة الأول.
+    عنصر القائمة الثاني.
+
+فضغط `Ctrl+1` سيحول الأسطر المحددة إلى قائمة مرتبة كالتالي:
+
+    1. عنصر القائمة الأول.
+    2. عنصر القائمة الثاني.
+
+ +

Ctrl+0 +: ضغط المفتاح Ctrl مع رمز 0 سيحول السطر أو الأسطر المحددة إلى قائمة مرتبة باستعمال العلامة ). مثلاً، إن كان النص المحدد لديك الأسطرُ التالية:

+ +
    عنصر القائمة الأول.
+    عنصر القائمة الثاني.
+
+فضغط `Ctrl+0` سيحول الأسطر المحددة إلى قائمة مرتبة كالتالي:
+
+    1) عنصر القائمة الأول.
+    2) عنصر القائمة الثاني.
+
+ +

Ctrl+T +: ضغط Ctrl+T سيحول السطر أو الأسطر المحددة إلى قائمة مهمات صيغة ماركداون Github. مثلاً، إن كان النص المحدد لديك الأسطرُ التالية:

+ +
    شيءٌ هام للقيام به.
+    شيءٌ هام آخر للقيام به.
+
+فضغط `Ctrl+T` سيحول الأسطر المحددة إلى قائمة مهمات كالتالي:
+
+    - [ ] شيءٌ هام للقيام به.
+    - [ ] شيءٌ هام آخر للقيام به.
+
+ +

Ctrl+D +: عندما يكون السطر الحالي من قائمة مهمات صيغة ماركداون Github، ضغط Ctrl+D سيبدّل حالة اكتمال المهمة بوضع x في صندوق الاختيار، أو حذف الـ x في حال عدم اكتمالها. مثلاً:

+ +
    - [ ] هذه مهمة غير مكتملة.
+    - [x] `Ctrl+D` سيجعل هذه المهمة مكتملة!
+
+ +

", ', (, [, {, *, _, `, < +: عند استعمال أحد هذه الرموز بوجود نص محدد في سطر وحيد، سيقوم البرنامج بإحاطة النص المحدد بالرمز ومطابقه. مثلاً، لو حددت الكلمة dog ثم ضغطت الرمز (، فستُحاط الكلمة dog بقوسين لتصير (dog). يُظهر الجدول أدناه كل محرفٍ ومطابقه:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
الافتتاحالإغلاق
""
''
()
[]
{}
**
__
``
<>
+ +

لتشغيل المطابقة التلقائية أثناء الكتابة، اختر “مطابقة الأقواس تلقائياً” من لسان “المحرر” في نافذة التفضيلات. يمكنك كذلك تخصيص المحارف المتطابقة بنقر “تخصيص المحارف المتطابقة…” من نافذة التفضيلات.

+ +

سحب وإفلات ملفات الصور: +: بدلاً من اختيار “إدراج صورة…” من قائمة تحرير، يمكنك سحب وإفلات أي ملف صورة من نظام الملفات في نافذة المحرر. سيدرج التطبيق صورة مضمنة مسارها نسبيّ بالنسبة إلى مسار المستند الحالي، أو بمسارٍ مُطلق إلى كان المستند بدون عنوان. مثلاً:

+ +
    ![](../../relative/path/to/your/file.png)
+
+أو إذا كان الملف بدون عنوان:
+
+    ![](file:///full/path/to/your/file.png)
+
+ +
+ +

Copyright © 2014-2017 wereturtle

+ \ No newline at end of file diff -Nru ghostwriter-1.8.0/resources/quickreferenceguide_ar.md ghostwriter-1.8.1/resources/quickreferenceguide_ar.md --- ghostwriter-1.8.0/resources/quickreferenceguide_ar.md 1970-01-01 00:00:00.000000000 +0000 +++ ghostwriter-1.8.1/resources/quickreferenceguide_ar.md 2020-02-23 00:49:46.000000000 +0000 @@ -0,0 +1,310 @@ +# مقدمة + +أهلاً بك في *ghostwriter*! يعطي هذا المرجع السريع أمثلةً عن الكتابة بماركداون، صيغة رمزية تكتب نصاً عادياً أنشأها John Gruber. للمساعدة ومزيدٍ من المعلومات، فضلاً زُر موقع John Gruber . يمكن الوصول إلى الموقع الرسمي لـ *ghostwriter* عبر الرابط . + +يتضمن *ghostwriter* معالج Sundown داخلياً. لكنه يمكن تلقائياً أن يكتشف معالجات Pandoc، MultiMarkdown، Discount، cmark، cmark-gfm. ثبّت ما تريد استعماله من أيًّ من الثلاث الماضيات، أو جميعَها، وتأكّد أن يكون مسار البرامج مُضافاً للمتغير البيئيّ `PATH`. سيقوم *ghostwriter* بالكشف التلقائي عن تثبيتهم عند بدء تشغيله، وسيقوم بتشغيل معاينة HTML وخيارات التصدير بناءً على ذلك. + +# العناوين + + # عنوان مستوى 1 + ## عنوان مستوى 2 ## + ###### عنوان مستوى 6 + + عنوان مستوى 1 + =============== + نصٌ ما + + عنوان مستوى 2 + --------------- + نصٌ ما إضافي + +# الفقرات + + هذه فقرة. + هذا سطرٌ يتبع الفقرة ذاتها، يفصل بينهما سطرٌ يدوي. + + هذه فقرةٌ جديدة. + +# التنسيق الموضعي + +يمكنك تنسيق *المائل* أو حتى **الغامق** بطريقتين. الأولى بإحاطة النص بالنجمة (\*)، والثانية باستعمال الشرطات التحتية (\_). + + هذا *مائل* باستعمال النجمتين. + هذا _مائل_ باستعمال الشرطتين. + + هذا **الغامق** باستعمال النجوم. + هذا __الغامق__ باستعمال الشرطات. + +يمكنك أيضاً عمل ***غامقٍ مائل*** بمزجها ومطابقتها، كما يلي: + + هذا ***غامق مائل*** باستعمال النجوم. + هذا **_غامق مائل_** باستعمال المزيج. + هذا *__غامق مائل__* آخر. + الخ. + +# الروابط + +يمكنك الربط إلى عدة مواقع: + + اضغط [هنا](http://url.com "عنوان") لزيارة موقع. + +يمكنك كذلك استعمال الإشارات المرجعية: + + [هذه][المعرف] إشارة مرجعية ستعرف أدناه. + + [المعرف]: http://url.com "عنوان" + +# الصور + +يمكنك تضمين الصور كالتالي: + + ![النص البديل](./image.jpg "عنوان") + +يمكنك أيضاً استعمال صيغة الإشارة المرجعية ذاتها: + + ![النص البديل][المعرف] إشارة مرجعية ستعرف أدناه. + + [المعرف]: ./image.jpg "عنوان" + +# القوائم + +يمكنك استعمال القوائم المرتبة: + + 1. العنصر الأول. + 2. العنصر الثاني. + 3. العنصر الثالث. + +أو يمكنك استعمال القوائم النقطية: + + * العنصر الأول. + + العنصر الثاني. + - العنصر الثالث. + +يمكنك مزج القوائم وتداخلها: + + 1. العنصر الأول. + * العنصر الداخلي الأول. + * العنصر الداخلي الثاني. + 2. العنصر الثاني. + - العنصر الداخلي الأول. + - العنصر الداخلي الثاني. + 3. العنصر الثالث. + 1. العنصر الداخلي الأول. + +# البرامج الحاسبية + +يمكنك إنشاء كتلة برنامج باستعمال تشذيب بأربع مسافات أو أكثر أو محرف جدولة: + + هذه فقرة عادية، متبوعةٌ ببرنامج. + + for (int i = 0; i < 10; i++) { + System.out.println("i = " + i); + } + + ستُعرض الكتلة السابقة على نسَقها الذي كُتبت فيه. + +يمكنك استعمال صيغة الفواصل العُليا المائلة لماركداون Github في بعض محولات ماركداون مثل Pandoc أو Github، لتعيين كتلة البرنامج، بدلاً من تشذيب الكتلة، كالتالي: + + ``` + for (int i = 0; i < 10; i++) { + System.out.println("i = " + i); + } + ``` + +ستُعرض الكتلة السابقة كذلك على نسَقها الذي كُتبت فيه. + +# الرموز البرمجية + +يمكنك استعمال الفواصل العُليا المائلة في أثناء الفقرات لتعيين رمز برمجي، مثلاً هذا وسم `` `` ``. ويمكنك ذكر الفاصلة العُليا ذاتها في الرمز البرمجي باستعمال أكثر من فاصلة، كما في هذا المثال: ``` `` `فاصلة حرفية` `` ```. + +# الاقتباسات + +يمكنك استعمال أسلوب أقواس زوايا البريد الإلكتروني لتعيين الاقتباسات، كالتالي: + + > هذا اقتباس. + > + >> هذا اقتباس مضمن داخل اقتباس. + +# الأسطر + +استعمل ثلاثاً أو أكثر من الشرطات (\-)، أو الشرطات التحتية(\_)، أو النجوم(\*) لإنشاء سطر أفقي، كالتالي: + + --- + + *** + ___ + +يمكنك أيضاً ترك فراغات بين كل محرف: + + - - - + +# إضافات ماركداون + +تضيف بعض معالجات ماركداون صيغ للجداول، والحواشي، وغيرها، لإضافة وظائف لمعايير ماركداون الأصلية التي وضعها John Gruber. في الأسف مثال عن استعمال حاشية لـ Pandoc، MultiMarkdown، وغيرها من المعالجات التي تدعم الإضافة: + + هذا النص الأصلي الذي يحتوي الحاشية.[^id] + + [^id]: هنا نص الحاشية. + +أدناه نموذج عن جدول Pandoc: + + العمود الأول العمود الثاني + ---------- ---------- + نص السطر 1 نص السطر 2 + نص السطر 1 نص السطر 2 + + جدول: نموذج جدول Pandoc. + +أدناه نموذج عن جدول Sundown أو MultiMarkdown: + + العمود الأول | العمود الثاني + ---------- | ---------- + نص السطر 1 | نص السطر 2 + نص السطر 1 | نص السطر 2 + +هناك المزيد من صيغ الجداول التي يمكن أن تدعمها معالجات ماركداون هذه. وهناك الكثير من الإضافات الأخرى. لمزيد من المعلومات عن هذه المعالجات، زُر المواقع التالية: + ++ Sundown: ++ Pandoc: ++ MultiMarkdown: ++ Discount: ++ cmark: ++ cmark-gfm: + +يمكن الاطلاع على المعايير الأصلية لماركداون John Gruber على الرابط . + +# اختصارات Ghostwriter # + +يدعم *ghostwriter* عدة مفاتيح اختصارات لتحرير ماركداون: + +`Ctrl+B` +: تطبيق تنسيق الغامق (الثخين). + +`Ctrl+I` +: تطبيق تنسيق المائل (التوكيد). + +`Ctrl+K` +: تطبيق تنسيق في وسطه خط. + +`Ctrl+/` +: مفتاح التحكم `Ctrl` مع مفتاح `/` يُضيف تعليق HTML عند موضع المُشيرة، أو سيحول النص المحدد إلى تعليق HTML. + +`Tab` +: عند ضغط مفتاح الجدولة بوجود نص محدد سيُباعد الأسطر عن أوائلها. + +`Shift+Tab` +: عند ضغط مفتاح الجدولة مع مفتاح `Shift` معاً بوجود نص محدد سُقارب الأسطر إلى أوائلها. + +`Shift+Enter` +: إدراج فاصل أسطر ماركداون. + +`Ctrl+Enter` +: إدراج فاصل أسطر كالعادة، غير أن مباعدة الأسطر لن تُأخذ بالحُسبان. بعبارة أخرى، لو أنك تكتب في نص مُشذب ثم ضغطت `Ctrl+Enter`، لن يُشذب السطر الجديد. لاحظ أنك يمكنك مزج المفتاحين `Ctrl` و `Shift` لإنتاج سطر ماركداون غير مُشذّب. + +`Ctrl+.` +: ضغط مفتاح `Ctrl` مع رمز `.` سيحول السطر أو الأسطر المحددة إلى كتلة اقتباس. + +`Ctrl+,` +: ضغط مفتاح `Ctrl` مع رمز `,` سيحذف جميع صيغ الاقتباس من السطر أو الأسطر المحددة من النص. + +`Ctrl+8` +: ضغط المفتاح `Ctrl` مع رمز `8` سيحول السطر أو الأسطر المحددة إلى قائمة نقطية باستعمال العلامة `*`. مثلاً، إن كان النص المحدد لديك الأسطرُ التالية: + + عنصر القائمة الأول. + عنصر القائمة الثاني. + + فضغط `Ctrl+8` سيحول الأسطر المحددة إلى قائمة نقطية كالتالي: + + * عنصر القائمة الأول. + * عنصر القائمة الثاني. + +`Ctrl+Shift+-` +: ضغط متاحي `Ctrl` و `Shift` معاً مع رمز `-` سيحول السطر أو الأسطر المحددة إلى قائمة نقطية باستعمال العلامة `-`. مثلاً، إن كان النص المحدد لديك الأسطرُ التالية: + + عنصر القائمة الأول. + عنصر القائمة الثاني. + + فضغط `Ctrl+Shift+-` سيحول الأسطر المحددة إلى قائمة نقطية كالتالي: + + - عنصر القائمة الأول. + - عنصر القائمة الثاني. + +`Ctrl+Shift+=` +: ضغط متاحي `Ctrl` و `Shift` معاً مع رمز `=` سيحول السطر أو الأسطر المحددة إلى قائمة نقطية باستعمال العلامة `+`. مثلاً، إن كان النص المحدد لديك الأسطرُ التالية: + + عنصر القائمة الأول. + عنصر القائمة الثاني. + + فضغط `Ctrl+Shift+=` سيحول الأسطر المحددة إلى قائمة نقطية كالتالي: + + + عنصر القائمة الأول. + + عنصر القائمة الثاني. + +`Ctrl+1` +: ضغط المفتاح `Ctrl` مع رمز `1` (الرقم 1) سيحول السطر أو الأسطر المحددة إلى قائمة مرتبة باستعمال العلامة `.`. مثلاً، إن كان النص المحدد لديك الأسطرُ التالية: + + عنصر القائمة الأول. + عنصر القائمة الثاني. + + فضغط `Ctrl+1` سيحول الأسطر المحددة إلى قائمة مرتبة كالتالي: + + 1. عنصر القائمة الأول. + 2. عنصر القائمة الثاني. + +`Ctrl+0` +: ضغط المفتاح `Ctrl` مع رمز `0` سيحول السطر أو الأسطر المحددة إلى قائمة مرتبة باستعمال العلامة `)`. مثلاً، إن كان النص المحدد لديك الأسطرُ التالية: + + عنصر القائمة الأول. + عنصر القائمة الثاني. + + فضغط `Ctrl+0` سيحول الأسطر المحددة إلى قائمة مرتبة كالتالي: + + 1) عنصر القائمة الأول. + 2) عنصر القائمة الثاني. + +`Ctrl+T` +: ضغط `Ctrl+T` سيحول السطر أو الأسطر المحددة إلى قائمة مهمات صيغة ماركداون Github. مثلاً، إن كان النص المحدد لديك الأسطرُ التالية: + + شيءٌ هام للقيام به. + شيءٌ هام آخر للقيام به. + + فضغط `Ctrl+T` سيحول الأسطر المحددة إلى قائمة مهمات كالتالي: + + - [ ] شيءٌ هام للقيام به. + - [ ] شيءٌ هام آخر للقيام به. + +`Ctrl+D` +: عندما يكون السطر الحالي من قائمة مهمات صيغة ماركداون Github، ضغط `Ctrl+D` سيبدّل حالة اكتمال المهمة بوضع `x` في صندوق الاختيار، أو حذف الـ `x` في حال عدم اكتمالها. مثلاً: + + - [ ] هذه مهمة غير مكتملة. + - [x] `Ctrl+D` سيجعل هذه المهمة مكتملة! + +`"`, `'`, `(`, `[`, `{`, `*`, `_`, `` ` ``, `<` +: عند استعمال أحد هذه الرموز بوجود نص محدد في سطر وحيد، سيقوم البرنامج بإحاطة النص المحدد بالرمز ومطابقه. مثلاً، لو حددت الكلمة `dog` ثم ضغطت الرمز `(`، فستُحاط الكلمة `dog` بقوسين لتصير `(dog)`. يُظهر الجدول أدناه كل محرفٍ ومطابقه: + + الافتتاح | الإغلاق + --------|-------- + `"` | `"` + `'` | `'` + `(` | `)` + `[` | `]` + `{` | `}` + `*` | `*` + `_` | `_` + `` ` `` | `` ` `` + `<` | `>` + +لتشغيل المطابقة التلقائية أثناء الكتابة، اختر "مطابقة الأقواس تلقائياً" من لسان "المحرر" في نافذة التفضيلات. يمكنك كذلك تخصيص المحارف المتطابقة بنقر "تخصيص المحارف المتطابقة..." من نافذة التفضيلات. + +سحب وإفلات ملفات الصور: +: بدلاً من اختيار "إدراج صورة..." من قائمة تحرير، يمكنك سحب وإفلات أي ملف صورة من نظام الملفات في نافذة المحرر. سيدرج التطبيق صورة مضمنة مسارها نسبيّ بالنسبة إلى مسار المستند الحالي، أو بمسارٍ مُطلق إلى كان المستند بدون عنوان. مثلاً: + + ![](../../relative/path/to/your/file.png) + + أو إذا كان الملف بدون عنوان: + + ![](file:///full/path/to/your/file.png) + +- - - - + +Copyright (c) 2014-2017 [wereturtle](http://www.github.com/wereturtle) \ No newline at end of file diff -Nru ghostwriter-1.8.0/src/AbstractStatisticsWidget.cpp ghostwriter-1.8.1/src/AbstractStatisticsWidget.cpp --- ghostwriter-1.8.0/src/AbstractStatisticsWidget.cpp 2019-04-28 21:45:52.000000000 +0000 +++ ghostwriter-1.8.1/src/AbstractStatisticsWidget.cpp 2020-02-23 00:49:46.000000000 +0000 @@ -1,6 +1,6 @@ /*********************************************************************** * - * Copyright (C) 2016 wereturtle + * Copyright (C) 2016-2019 wereturtle * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -51,11 +51,11 @@ label->setText(QString("%L1%").arg(percentage)); } -void AbstractStatisticsWidget::setTimeValueForLabel(QLabel* label, int minutes) +void AbstractStatisticsWidget::setTimeValueForLabel(QLabel* label, unsigned long minutes) { QString timeText; - int hours = minutes / 60; + unsigned long hours = minutes / 60; if (minutes < 1) { diff -Nru ghostwriter-1.8.0/src/AbstractStatisticsWidget.h ghostwriter-1.8.1/src/AbstractStatisticsWidget.h --- ghostwriter-1.8.0/src/AbstractStatisticsWidget.h 2019-04-28 21:45:52.000000000 +0000 +++ ghostwriter-1.8.1/src/AbstractStatisticsWidget.h 2020-02-23 00:49:46.000000000 +0000 @@ -1,6 +1,6 @@ /*********************************************************************** * - * Copyright (C) 2016 wereturtle + * Copyright (C) 2016-2019 wereturtle * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -66,7 +66,7 @@ * Set the text of the given value label to represent a time in * hours and minutes. */ - void setTimeValueForLabel(QLabel* label, int minutes); + void setTimeValueForLabel(QLabel* label, unsigned long minutes); /** * Set the text of the given value label to a number of pages. diff -Nru ghostwriter-1.8.0/src/ExporterFactory.cpp ghostwriter-1.8.1/src/ExporterFactory.cpp --- ghostwriter-1.8.0/src/ExporterFactory.cpp 2019-04-28 21:45:52.000000000 +0000 +++ ghostwriter-1.8.1/src/ExporterFactory.cpp 2020-02-23 00:49:46.000000000 +0000 @@ -1,6 +1,6 @@ /*********************************************************************** * - * Copyright (C) 2014-2018 wereturtle + * Copyright (C) 2014-2019 wereturtle * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -88,10 +88,20 @@ CommandLineExporter* exporter = NULL; bool pandocIsAvailable = isCommandAvailable("pandoc --version"); bool mmdIsAvailable = isCommandAvailable("multimarkdown --version"); - bool discountIsAvailable = isCommandAvailable("markdown -V"); + bool discountIsAvailable = false; bool cmarkIsAvailable = isCommandAvailable("cmark --version"); bool cmarkGfmIsAvailable = isCommandAvailable("cmark-gfm --version"); + // MultiMarkdown installs a "markdown" script to launch the "multimarkdown" + // command. Discount's executable also happens to be named "markdown". + // To avoid confusion, check if MultiMarkdown is actually installed, and + // only if it isn't installed should Discount be checked for availability. + // + if (!mmdIsAvailable) + { + discountIsAvailable = isCommandAvailable("markdown -V"); + } + SundownExporter* sundownExporter = new SundownExporter(); fileExporters.append(sundownExporter); htmlExporters.append(sundownExporter); @@ -328,13 +338,26 @@ } QString versionStr = QString::fromUtf8(process.readAllStandardOutput().data()); - QRegularExpression versionRegex("\\d+(\\.\\d+)*"); + QRegularExpression versionRegex1("v(\\d+(\\.\\d+)*)"); + QRegularExpression versionRegex2("(\\d+(\\.\\d+)*)"); QRegularExpressionMatch match; - int pos = versionStr.indexOf(versionRegex, 0, &match); + + // Prefer searching for "v1.6.3" version format over "1.6.3" format + int pos = versionStr.indexOf(versionRegex1, 0, &match); if ((pos >= 0) && match.hasMatch()) { - versionStr = match.captured(); + versionStr = match.captured(1); + } + // Else try the "1.6.3" format without the "v" in front + else + { + pos = versionStr.indexOf(versionRegex2, 0, &match); + + if ((pos >= 0) && match.hasMatch()) + { + versionStr = match.captured(1); + } } QStringList numbers = versionStr.split('.', QString::SkipEmptyParts); diff -Nru ghostwriter-1.8.0/src/HtmlPreview.cpp ghostwriter-1.8.1/src/HtmlPreview.cpp --- ghostwriter-1.8.0/src/HtmlPreview.cpp 2019-04-28 21:45:52.000000000 +0000 +++ ghostwriter-1.8.1/src/HtmlPreview.cpp 2020-02-23 00:49:46.000000000 +0000 @@ -1,6 +1,6 @@ /*********************************************************************** * - * Copyright (C) 2014-2019 wereturtle + * Copyright (C) 2014-2020 wereturtle * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -57,6 +57,9 @@ this->page()->action(QWebEnginePage::OpenLinkInNewWindow)->setVisible(false); this->page()->action(QWebEnginePage::ViewSource)->setVisible(false); this->page()->action(QWebEnginePage::SavePage)->setVisible(false); + QWebEngineProfile::defaultProfile()->setHttpCacheType(QWebEngineProfile::NoCache); + QWebEngineProfile::defaultProfile()->clearHttpCache(); + QWebEngineProfile::defaultProfile()->clearAllVisitedLinks(); connect(this, SIGNAL(loadFinished(bool)), this, SLOT(onLoadFinished(bool))); headingTagExp.setPattern("^[Hh][1-6]$"); @@ -75,12 +78,19 @@ channel->registerObject(QStringLiteral("stylesheeturl"), &styleSheetUrl); channel->registerObject(QStringLiteral("livepreviewcontent"), &livePreviewHtml); this->page()->setWebChannel(channel); - this->wrapperHtml = "" "" "" "" + " " + " " " " " " "" diff -Nru ghostwriter-1.8.0/src/HudWindow.cpp ghostwriter-1.8.1/src/HudWindow.cpp --- ghostwriter-1.8.0/src/HudWindow.cpp 2019-04-28 21:45:52.000000000 +0000 +++ ghostwriter-1.8.1/src/HudWindow.cpp 2020-02-23 00:49:46.000000000 +0000 @@ -1,6 +1,6 @@ /*********************************************************************** * - * Copyright (C) 2014-2017 wereturtle + * Copyright (C) 2014-2019 wereturtle * Copyright(c) 2009 by Gabriel M. Beddingfield * * This program is free software: you can redistribute it and/or modify @@ -214,7 +214,7 @@ << foregroundColor.blue() << "); background: transparent } #windowTitle { font-weight: bold } "; - this->setStyleSheet(styleSheet); + windowTitleLabel->setStyleSheet(styleSheet); closeButtonColorEffect->setColor(foregroundColor); sizeGripColorEffect->setColor(foregroundColor); } diff -Nru ghostwriter-1.8.0/src/MainWindow.cpp ghostwriter-1.8.1/src/MainWindow.cpp --- ghostwriter-1.8.0/src/MainWindow.cpp 2019-04-28 21:45:52.000000000 +0000 +++ ghostwriter-1.8.1/src/MainWindow.cpp 2020-02-23 00:49:46.000000000 +0000 @@ -1,6 +1,6 @@ /*********************************************************************** * - * Copyright (C) 2014-2019 wereturtle + * Copyright (C) 2014-2020 wereturtle * Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Graeme Gott * * This program is free software: you can redistribute it and/or modify @@ -151,7 +151,7 @@ cheatSheetWidget->addItem(tr("[Link](http://url.com \"Title\")")); cheatSheetWidget->addItem(tr("[Reference Link][ID]")); cheatSheetWidget->addItem(tr("[ID]: http://url.com \"Reference Definition\"")); - cheatSheetWidget->addItem(tr("![Image][./image.jpg \"Title\"]")); + cheatSheetWidget->addItem(tr("![Image](./image.jpg \"Title\")")); cheatSheetWidget->addItem(tr("--- *** ___ Horizontal Rule")); cheatSheetHud = @@ -243,7 +243,7 @@ connect(sessionStats, SIGNAL(wordCountChanged(int)), sessionStatsWidget, SLOT(setWordCount(int))); connect(sessionStats, SIGNAL(pageCountChanged(int)), sessionStatsWidget, SLOT(setPageCount(int))); connect(sessionStats, SIGNAL(wordsPerMinuteChanged(int)), sessionStatsWidget, SLOT(setWordsPerMinute(int))); - connect(sessionStats, SIGNAL(writingTimeChanged(int)), sessionStatsWidget, SLOT(setWritingTime(int))); + connect(sessionStats, SIGNAL(writingTimeChanged(unsigned long)), sessionStatsWidget, SLOT(setWritingTime(unsigned long))); connect(sessionStats, SIGNAL(idleTimePercentageChanged(int)), sessionStatsWidget, SLOT(setIdleTime(int))); connect(editor, SIGNAL(typingPaused()), sessionStats, SLOT(onTypingPaused())); connect(editor, SIGNAL(typingResumed()), sessionStats, SLOT(onTypingResumed())); @@ -445,7 +445,7 @@ this ); - connect(editor, SIGNAL(typingPaused()), htmlPreview, SLOT(updatePreview())); + connect(editor, SIGNAL(typingPausedScaled()), htmlPreview, SLOT(updatePreview())); connect(outlineWidget, SIGNAL(headingNumberNavigated(int)), htmlPreview, SLOT(navigateToHeading(int))); connect(appSettings, SIGNAL(currentHtmlExporterChanged(Exporter*)), htmlPreview, SLOT(setHtmlExporter(Exporter*))); connect(appSettings, SIGNAL(currentCssFileChanged(QString)), htmlPreview, SLOT(setStyleSheet(QString))); @@ -1224,7 +1224,7 @@ QString aboutText = QString("

") + qAppName() + QString(" ") + qApp->applicationVersion() + QString("

") - + tr("

Copyright © 2014-2019 wereturtle" + + tr("

Copyright © 2014-2020 wereturtle" "

You may use and redistribute this software under the terms of the " "" "GNU General Public License Version 3.

" @@ -2351,7 +2351,9 @@ stream << "QLabel { border: 0; padding: 0; margin: 0; background-color: transparent; " << "font-size: " << hudFontSize - << "pt } " + << "pt; color: " + << hudFgString + << " } " << "QScrollBar::horizontal { border: 0; background: transparent; height: 8px; margin: 0 } " << "QScrollBar::handle:horizontal { border: 0; background: " << hudFgString @@ -2374,13 +2376,24 @@ foreach (HudWindow* hud, huds) { + // Clear style sheet cache for each HUD. + hud->setStyleSheet(""); + + // Set HUD colors. hud->setForegroundColor(theme.getHudForegroundColor()); hud->setBackgroundColor(alphaHudBackgroundColor); } + // Clear style sheet cache by setting to empty string before + // setting the new style sheet. + // + outlineWidget->setStyleSheet(""); outlineWidget->setStyleSheet(styleSheet); + cheatSheetWidget->setStyleSheet(""); cheatSheetWidget->setStyleSheet(styleSheet); + documentStatsWidget->setStyleSheet(""); documentStatsWidget->setStyleSheet(styleSheet); + sessionStatsWidget->setStyleSheet(""); sessionStatsWidget->setStyleSheet(styleSheet); adjustEditorWidth(this->width()); diff -Nru ghostwriter-1.8.0/src/MarkdownEditor.cpp ghostwriter-1.8.1/src/MarkdownEditor.cpp --- ghostwriter-1.8.0/src/MarkdownEditor.cpp 2019-04-28 21:45:52.000000000 +0000 +++ ghostwriter-1.8.1/src/MarkdownEditor.cpp 2020-02-23 00:49:46.000000000 +0000 @@ -1,6 +1,6 @@ /*********************************************************************** * - * Copyright (C) 2014-2018 wereturtle + * Copyright (C) 2014-2019 wereturtle * Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Graeme Gott * Copyright (C) Dmitry Shachnev 2012 * @@ -146,6 +146,19 @@ ); typingTimer->start(1000); + typingPausedScaledSignalSent = true; + scaledTypingHasPaused = true; + + scaledTypingTimer = new QTimer(this); + connect + ( + scaledTypingTimer, + SIGNAL(timeout()), + this, + SLOT(checkIfTypingPausedScaled()) + ); + scaledTypingTimer->start(1000); + setColorScheme ( QColor(Qt::black), @@ -327,12 +340,13 @@ QPlainTextEdit::paintEvent(event); // Draw the text cursor/caret. - if (textCursorVisible) + if (textCursorVisible && this->hasFocus()) { // Get the cursor rect so that we have the ideal height for it, // and then set it to be 2 pixels wide. (The width will be zero, // because we set it to be that in the constructor so that // QPlainTextEdit will not draw another cursor underneath this one.) + // QRect r = cursorRect(); r.setWidth(2); @@ -1479,10 +1493,12 @@ // onContentsChanged(int, int, int) signal, which is only emitted when the // document text actually changes. // - if (typingHasPaused) + if (typingHasPaused || scaledTypingHasPaused) { typingHasPaused = false; + scaledTypingHasPaused = false; typingPausedSignalSent = false; + typingPausedScaledSignalSent = false; emit typingResumed(); } } @@ -1620,6 +1636,20 @@ emit typingPaused(); } + typingTimer->stop(); + typingTimer->start(1000); + + typingHasPaused = true; +} + +void MarkdownEditor::checkIfTypingPausedScaled() +{ + if (scaledTypingHasPaused && !typingPausedScaledSignalSent) + { + typingPausedScaledSignalSent = true; + emit typingPausedScaled(); + } + // Scale timer interval based on document size. int interval = (document()->characterCount() / 30000) * 20; @@ -1632,10 +1662,10 @@ interval = 20; } - typingTimer->stop(); - typingTimer->start(interval); + scaledTypingTimer->stop(); + scaledTypingTimer->start(interval); - typingHasPaused = true; + scaledTypingHasPaused = true; } void MarkdownEditor::spellCheckFinished(int result) diff -Nru ghostwriter-1.8.0/src/MarkdownEditor.h ghostwriter-1.8.1/src/MarkdownEditor.h --- ghostwriter-1.8.0/src/MarkdownEditor.h 2019-04-28 21:45:52.000000000 +0000 +++ ghostwriter-1.8.1/src/MarkdownEditor.h 2020-02-23 00:49:46.000000000 +0000 @@ -184,10 +184,18 @@ /** * Emitted when the user has stopped typing text. + * Time emitted is 1000ms since last document update. */ void typingPaused(); /** + * Emitted when the user has stopped typing text. + * Time emited is scaled per document size up to 1000ms + * since last document update. + */ + void typingPausedScaled(); + + /** * Emitted when the cursor position in the editor has changed. * The new position is passed as a parameter. */ @@ -391,6 +399,7 @@ void onSelectionChanged(); void focusText(); void checkIfTypingPaused(); + void checkIfTypingPausedScaled(); void spellCheckFinished(int result); void onCursorPositionChanged(); void toggleCursorBlink(); @@ -449,15 +458,20 @@ bool textCursorVisible; QTimer* cursorBlinkTimer; - // Timer used to determine when typing has paused. + // Timers used to determine when typing has paused. QTimer* typingTimer; + QTimer* scaledTypingTimer; + bool typingHasPaused; + bool scaledTypingHasPaused; - // Use this flag to keep from sending the typingPaused() signal - // multiple times after it's already been sent the first time after - // a pause in the user's typing. + // Use these flags to keep from sending the typingPaused() and + // typingPausedScaled() signals multiple times after they have + // already been sent the first time after a pause in the user's + // typing. // bool typingPausedSignalSent; + bool typingPausedScaledSignalSent; void handleCarriageReturn(); bool handleBackspaceKey(); diff -Nru ghostwriter-1.8.0/src/MarkdownHighlighter.cpp ghostwriter-1.8.1/src/MarkdownHighlighter.cpp --- ghostwriter-1.8.0/src/MarkdownHighlighter.cpp 2019-04-28 21:45:52.000000000 +0000 +++ ghostwriter-1.8.1/src/MarkdownHighlighter.cpp 2020-02-23 00:49:46.000000000 +0000 @@ -64,7 +64,7 @@ setDocument(editor->document()); connect(editor, SIGNAL(typingResumed()), this, SLOT(onTypingResumed())); - connect(editor, SIGNAL(typingPaused()), this, SLOT(onTypingPaused())); + connect(editor, SIGNAL(typingPausedScaled()), this, SLOT(onTypingPaused())); connect(editor, SIGNAL(cursorPositionChanged()), this, SLOT(onCursorPositionChanged())); connect(this, SIGNAL(headingFound(int,QString,QTextBlock)), editor, SIGNAL(headingFound(int,QString,QTextBlock))); connect(this, SIGNAL(headingRemoved(int)), editor, SIGNAL(headingRemoved(int))); diff -Nru ghostwriter-1.8.0/src/SessionStatistics.cpp ghostwriter-1.8.1/src/SessionStatistics.cpp --- ghostwriter-1.8.0/src/SessionStatistics.cpp 2019-04-28 21:45:52.000000000 +0000 +++ ghostwriter-1.8.1/src/SessionStatistics.cpp 2020-02-23 00:49:46.000000000 +0000 @@ -1,6 +1,6 @@ /*********************************************************************** * - * Copyright (C) 2016-2018 wereturtle + * Copyright (C) 2016-2019 wereturtle * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -44,7 +44,6 @@ lastWordCount = initialWordCount; totalSeconds = 0; idleSeconds = 0; - secondsSinceTypingPaused = 0; idle = true; sessionTimer->stop(); sessionTimer->start(); @@ -75,15 +74,6 @@ emit wordCountChanged(sessionWordCount); emit pageCountChanged(sessionWordCount / 250); - - // For the first minute of the session, calculate WPM. - // Afterward, only update WPM when the session timer - // expires to keep the count from looking jittery. - // - if (totalSeconds < 60) - { - emit wordsPerMinuteChanged(calculateWPM()); - } } void SessionStatistics::onTypingPaused() @@ -94,30 +84,34 @@ void SessionStatistics::onTypingResumed() { idle = false; - secondsSinceTypingPaused = 0; } void SessionStatistics::onSessionTimerExpired() { + unsigned long elapsedTime = (unsigned long) (sessionTimer->interval() / 1000); + + totalSeconds += elapsedTime; + if (idle) { - // typingPaused signal from editor can be milliseconds apart from the - // last keystroke. Ensure that idleSeconds gets incremented only if - // about 1 second has passed since the typingPaused signal was emitted. - // - if (secondsSinceTypingPaused >= 1) - { - idleSeconds++; - } - - secondsSinceTypingPaused++; + idleSeconds += elapsedTime; } - totalSeconds++; + int wpm = calculateWPM(); - emit wordsPerMinuteChanged(calculateWPM()); + emit wordsPerMinuteChanged(wpm); emit writingTimeChanged(totalSeconds / 60); emit idleTimePercentageChanged((int) (((float)idleSeconds / (float)totalSeconds) * 100.0f)); + + int timerTime = 1000; + + if (wpm > 0) + { + timerTime = 5000; + } + + sessionTimer->stop(); + sessionTimer->start(timerTime); } int SessionStatistics::calculateWPM() const diff -Nru ghostwriter-1.8.0/src/SessionStatistics.h ghostwriter-1.8.1/src/SessionStatistics.h --- ghostwriter-1.8.0/src/SessionStatistics.h 2019-04-28 21:45:52.000000000 +0000 +++ ghostwriter-1.8.1/src/SessionStatistics.h 2020-02-23 00:49:46.000000000 +0000 @@ -1,6 +1,6 @@ /*********************************************************************** * - * Copyright (C) 2016-2018 wereturtle + * Copyright (C) 2016-2019 wereturtle * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -35,7 +35,7 @@ /** * Constructor. */ - SessionStatistics(QObject* parent = NULL); + SessionStatistics(QObject* parent = nullptr); /** * Destructor. @@ -61,7 +61,7 @@ /** * Emitted when writing time in this session changes. */ - void writingTimeChanged(int value); + void writingTimeChanged(unsigned long value); /** * Emitted when the percentage of time spent idle @@ -90,7 +90,6 @@ bool idle; unsigned long totalSeconds; unsigned long idleSeconds; - unsigned long secondsSinceTypingPaused; int calculateWPM() const; }; diff -Nru ghostwriter-1.8.0/src/SessionStatisticsWidget.cpp ghostwriter-1.8.1/src/SessionStatisticsWidget.cpp --- ghostwriter-1.8.0/src/SessionStatisticsWidget.cpp 2019-04-28 21:45:52.000000000 +0000 +++ ghostwriter-1.8.1/src/SessionStatisticsWidget.cpp 2020-02-23 00:49:46.000000000 +0000 @@ -1,6 +1,6 @@ /*********************************************************************** * - * Copyright (C) 2016 wereturtle + * Copyright (C) 2016-2019 wereturtle * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -49,7 +49,7 @@ setIntegerValueForLabel(wpmLabel, value); } -void SessionStatisticsWidget::setWritingTime(int minutes) +void SessionStatisticsWidget::setWritingTime(unsigned long minutes) { setTimeValueForLabel(writingTimeLabel, minutes); } diff -Nru ghostwriter-1.8.0/src/SessionStatisticsWidget.h ghostwriter-1.8.1/src/SessionStatisticsWidget.h --- ghostwriter-1.8.0/src/SessionStatisticsWidget.h 2019-04-28 21:45:52.000000000 +0000 +++ ghostwriter-1.8.1/src/SessionStatisticsWidget.h 2020-02-23 00:49:46.000000000 +0000 @@ -1,6 +1,6 @@ /*********************************************************************** * - * Copyright (C) 2016 wereturtle + * Copyright (C) 2016-2019 wereturtle * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -61,7 +61,7 @@ /** * Sets the time spent writing. */ - void setWritingTime(int minutes); + void setWritingTime(unsigned long minutes); /** * Sets the percentage of time spent idle (i.e., NOT writing). diff -Nru ghostwriter-1.8.0/translations/ghostwriter_ar.ts ghostwriter-1.8.1/translations/ghostwriter_ar.ts --- ghostwriter-1.8.0/translations/ghostwriter_ar.ts 1970-01-01 00:00:00.000000000 +0000 +++ ghostwriter-1.8.1/translations/ghostwriter_ar.ts 2020-02-23 00:49:46.000000000 +0000 @@ -0,0 +1,1727 @@ + + + + + AbstractStatisticsWidget + + + &lt; 1m + &lt; 1د + + + + &lt; 1 + &lt; 1 + + + + 250 words per page + 250 كلمة بالصفحة + + + + %1h %2m + %1س %2د + + + + %1m + %1د + + + + DocumentManager + + + Open File + فتح ملف + + + + Could not open %1 + لا يمكن فتح %1 + + + + Permission denied. + لا يوجد صلاحيات. + + + + The document has been modified. + تم تعديل المستند. + + + + Discard changes? + تجاهل التعديلات؟ + + + + Rename File + تسمية الملف + + + + Failed to rename %1 + تعذّرت تسمية الملف %1 + + + + Save File + حفظ الملف + + + + Error saving %1 + خطأ في حفظ %1 + + + + The document has been modified by another program. + تم تعديل الملف بواسطة برنامج آخر. + + + + Would you like to reload the document? + هل تريد إعادة فتح المستند؟ + + + + + Could not read %1 + لا يمكن قراءة %1 + + + + opening %1 + يفتح %1 + + + + File has been modified. + تم تعديل الملف. + + + + %1 has been modified. + تم تعديل %1. + + + + Would you like to save your changes? + هل تريد حفظ تعديلاتك؟ + + + + %1 is read only. + %1 مفتوح للقراءة فقط. + + + + Overwrite protected file? + الكتابة فوق ملف محمي؟ + + + + Overwrite failed. + تعذرت إعادة الكتابة. + + + + Please save file to another location. + فضلاً، احفظ الملف في مكانٍ مختلف. + + + + DocumentStatisticsWidget + + + Very Easy + سهل جداً + + + + Easy + سهل + + + + Standard + قياسي + + + + Difficult + صعب + + + + Very Difficult + صعب جداً + + + + Words: + الكلمات: + + + + Characters: + المحارف: + + + + Sentences: + الجمل: + + + + Paragraphs: + الفقرات: + + + + Pages: + الصفحات: + + + + Complex Words: + الكلمات المعقدة: + + + + Reading Time: + وقت القراءة: + + + + Reading Ease: + سهولة القراءة: + + + + LIX Reading Ease + سهولة القراءة بمعيار LIX + + + + Grade Level: + المرحلة الدراسية: + + + + Coleman-Liau Readability Index (CLI) + سهولة القراءة بمعيار Coleman–Liau (CLI) + + + + Kindergarten + رياض أطفال + + + + Rocket Science + فيزياء الصواريخ + + + + College + جامعة + + + + ExportDialog + + + Export + تصدير + + + + Smart Typography + التنسيق الذكي + + + + Export Options + خيارات التصدير + + + + Markdown Converter: + محوّل ماركداون: + + + + exporting to %1 + يصدر إلى %1 + + + + Export failed. + فشل التصدير. + + + + FindDialog + + + Search for: + بحث عن: + + + + Replace with: + استبدال بـ: + + + + Ignore case + تجاهل حالة الأحرف + + + + Whole words only + كلمات بكاملها فقط + + + + Regular expressions + التعبيرات النمطية + + + + Search up + بحث للأعلى + + + + Search down + بحث للأسفل + + + + &Find + &بحث + + + + &Replace + ا&ستبدال + + + + Replace &All + استبدال ال&كل + + + + Find + بحث + + + + Replace + استبدال + + + + Question + سؤال + + + + Replace %n instance(s)? + + استبدال %n نسخة؟ + استبدال نسخة وحيدة؟ + استبدال نسختين؟ + استبدال %n نسخات؟ + استبدال %n نسخة؟ + استبدال %n نسخة؟ + + + + + + Sorry + عذراً + + + + + Phrase not found. + العبارة غير موجودة. + + + + ImageButton + + + Open Image + فتح صورة + + + + Images(%1) + صور(%1) + + + + LocaleDialog + + + Set Application Language + تعيين لغة التطبيق + + + + The translations folder is missing. + مجلد الترجمات مفقود. + + + + Please reinstall this application for more language options. + فضلاً، أعد تثبيت البرنامج للمزيد من خيارات اللغة. + + + + MainWindow + + + Outline + التخطيط + + + + # Heading 1 + # عنوان 1 + + + + ## Heading 2 + ## عنوان 2 + + + + ### Heading 3 + ### عنوان 3 + + + + #### Heading 4 + #### عنوان 4 + + + + ##### Heading 5 + ##### عنوان 5 + + + + ###### Heading 6 + ###### عنوان 6 + + + + *Emphasis* _Emphasis_ + *توكيد* _توكيد_ + + + + **Strong** __Strong__ + **غامق** __غامق__ + + + + 1. Numbered List + 1. قائمة مرتبة + + + + * Bullet List + * قائمة نقطية + + + + + Bullet List + + قائمة نقطية + + + + - Bullet List + - قائمة نقطية + + + + > Block Quote + > اقتباس + + + + `Code Span` + `رمز برمجي` + + + + ``` Code Block + ``` برنامج حاسبي + + + + [Link](http://url.com "Title") + [رابط](http://url.com "عنوان") + + + + [Reference Link][ID] + [إشارة مرجعية][المعرف] + + + + [ID]: http://url.com "Reference Definition" + [المعرف]: http://url.com "تعريف مرجعي" + + + + ![Image](./image.jpg "Title") + ![صورة](./image.jpg "عنوان") + + + + --- *** ___ Horizontal Rule + --- *** ___ خط أفقي + + + + Cheat Sheet + نموذج تذكير + + + + Document Statistics + إحصائيات المستند + + + + Session Statistics + إحصائيات الجلسة + + + + Could not create file %1. Check permissions. + لا يمكن إنشاء الملف %1. تحقق من الصلاحيات. + + + + Insert Image + إدراج صورة + + + + Images + الصور + + + + All Files + جميع الملفات + + + + Failed to open Quick Reference Guide. + فشل في فتح المرجع السريع. + + + + Quick Reference Guide + المرجع السريع + + + + <p>Copyright &copy; 2014-2019 wereturtle</b><p>You may use and redistribute this software under the terms of the <a href="http://www.gnu.org/licenses/gpl.html">GNU General Public License Version 3</a>.</p><p>Visit the official website at <a href="http://github.com/wereturtle/ghostwriter">http://github.com/wereturtle/ghostwriter</a>.</p><p>Special thanks and credit for reused code goes to</p><p><a href="mailto:graeme@gottcode.org">Graeme Gott</a>, author of <a href="http://gottcode.org/focuswriter/">FocusWriter</a><br/>Dmitry Shachnev, author of <a href="http://sourceforge.net/p/retext/home/ReText/">Retext</a><br/><a href="mailto:gabriel@teuton.org">Gabriel M. Beddingfield</a>, author of <a href="http://www.teuton.org/~gabriel/stretchplayer/">StretchPlayer</a><br/><p>I am also deeply indebted to <a href="mailto:w.vollprecht@gmail.com">Wolf Vollprecht</a>, the author of <a href="http://uberwriter.wolfvollprecht.de/">UberWriter</a>, for the inspiration he provided in creating such a beautiful Markdown editing tool.</p> + <p>Copyright &copy; 2014-2019 wereturtle</b><p>يمكنك استعمال وتوزيع هذا البرنامج بشروط <a href="https://www.gnu.org/licenses/gpl-3.0.ar.html">رخصة جنو العمومية الإصدار 3</a>.</p><p>زر الموقع الرسمي على الرابط <a href="http://github.com/wereturtle/ghostwriter">http://github.com/wereturtle/ghostwriter</a>.</p><p>شكر خاص وذكر لإعادة استعمال برامجهم لـ </p><p><a href="mailto:graeme@gottcode.org">Graeme Gott</a>، منشأ برنامج <a href="http://gottcode.org/focuswriter/">FocusWriter</a><br/>Dmitry Shachnev، منشأ <a href="http://sourceforge.net/p/retext/home/ReText/">Retext</a><br/><a href="mailto:gabriel@teuton.org">Gabriel M. Beddingfield</a>، منشأ <a href="http://www.teuton.org/~gabriel/stretchplayer/">StretchPlayer</a><br/><p>وأدين بالكثير لـ <a href="mailto:w.vollprecht@gmail.com">Wolf Vollprecht</a>، منشأ <a href="http://uberwriter.wolfvollprecht.de/">UberWriter</a>، للإلهام الذي أثره بواسطة الأداة الرائعة لتحرير ماركداون التي برمجها.</p> + + + + About %1 + حول %1 + + + + %Ln word(s) + + + + + + + + + + + + Please restart the application for changes to take effect. + فضلاًـ أعد تشغيل التطبيق لتأخذ التغييرات فعاليتها. + + + + &File + &ملف + + + + &New + &جديد + + + + &Open + &فتح + + + + Open &Recent... + فتح ال&سابق... + + + + Reopen Closed File + إعادة فتح الملف المغلق + + + + Clear Menu + مسح القائمة + + + + &Save + &حفظ + + + + Save &As... + حفظ &باسم... + + + + R&ename... + &تسمية... + + + + Re&load from Disk... + است&عادة من القرص... + + + + &Export + ت&صدير + + + + &Quit + &خروج + + + + &Edit + &تحرير + + + + &Undo + &تراجع + + + + &Redo + إ&عادة + + + + Cu&t + &قص + + + + &Copy + &نسخ + + + + &Paste + &لصق + + + + Copy &HTML + ن&سخ HTML + + + + &Insert Image... + إ&دراج صورة... + + + + &Find + &بحث + + + + Rep&lace + است&بدال + + + + &Spell check + تن&قيح إملائي + + + + For&mat + تن&سيق + + + + &Bold + &غامق + + + + &Italic + &مائل + + + + Stri&kethrough + &وسطه خط + + + + &HTML Comment + ت&عليقات HTML + + + + I&ndent + م&باعدة + + + + &Unindent + م&قاربة + + + + Block &Quote + ا&قتباس + + + + &Strip Block Quote + إل&غاء الاقتباس + + + + &* Bullet List + &* قائمة نقطية + + + + &- Bullet List + &- قائمة نقطية + + + + &+ Bullet List + &+ قائمة نقطية + + + + 1&. Numbered List + 1&. قائمة مرتبة + + + + 1&) Numbered List + 1&) قائمة مرتبة + + + + &Task List + قائمة م&هات + + + + Toggle Task(s) &Complete + مبا&دلة تشغيل إنجاز المهمة + + + + &View + &عرض + + + + &Full Screen + &ملئ الشاشة + + + + &Preview in HTML + م&عاينة HTML + + + + &Outline HUD + شاشة خلاصة ال&تخطيط + + + + &Cheat Sheet HUD + شاشة خلاصة &نموذج التذكير + + + + &Document Statistics HUD + شاشة خلاصة إحصائيات ال&مستند + + + + &Session Statistics HUD + شاشة خلاصة إحصائيات ال&جلسة + + + + + Hide Open &HUD Windows + إ&خفاء شاشات الخلاصة المفتوحة + + + + Increase Font Size + تكبير حجم الخط + + + + Decrease Font Size + تصغير حجم الخط + + + + &Settings + إ&عدادات + + + + Themes... + الثمات... + + + + Font... + الخط... + + + + Application Language... + لغة التطبيق... + + + + Style Sheets... + أوراق النمط... + + + + Preview Options... + إعدادات المعاينة... + + + + Preferences... + التفضيلات... + + + + &Help + &مساعدة + + + + &About + &حول + + + + About &Qt + + + + + Quick &Reference Guide + ال&مرجع السريع + + + + Wiki + الويكي + + + + Preview Options + إعدادات المعاينة + + + + Export + التصدير + + + + Copy HTML + نسخ HTML + + + + + Hide Open HUD Windows + إخفاء شاشات الخلاصة المفتوحة + + + + Toggle Live HTML Preview + مبادلة تشغيل معاينة HTML المباشرة + + + + Toggle Hemingway mode + مبادة تشغيل نمط هامينغوي + + + + Toggle distraction free mode + مبادلة تشغيل نمط عدم الإزعاج + + + + Toggle full screen mode + مبادلة تشغيل نمط ملئ الشاشة + + + + Show Open &HUD Windows + إظهار فتح نوافد &شاشة الخلاصة + + + + Show Open HUD Windows + إظهار فتح نوافد شاشة الخلاصة + + + + MarkdownEditor + + + Add word to dictionary + إضافة كلمة للمعجم + + + + Check spelling... + ينقح إملائياً... + + + + No spelling suggestions found + لا يوجد اقتراحات إملائية + + + + PreferencesDialog + + + Preferences + التفضيلات + + + + General + العام + + + + Editor + المحرر + + + + Spell Check + المنقح الإملائي + + + + HUD + شاشة الخلاصة + + + + Matched Characters + المحارف المطابقة + + + + Display + العرض + + + + Show current time in full screen mode + عرض الوقت الحالي في نمط ملئ الشاشة + + + + Hide menu bar in full screen mode + إخفاء شريط القوائم في نمط ملئ الشاشة + + + + Rounded + دائري + + + + Square + مربع + + + + Interface style + تصميم الشاشة + + + + File Saving + حفظ الملف + + + + Auto save + حفظ آلي + + + + Backup file on save + إنشاء نسخة احتياطية عند الحفظ + + + + History + البيانات + + + + Remember file history + تذكر بيانات الملف + + + + Tabulation + الجدولة + + + + Insert spaces for tabs + إدراج مسافات عوضاً عن الجدولة + + + + Tabulation width + عرض الجدولة + + + + Styling + التصميم + + + + Sentence + الجملة + + + + Current Line + السطر الحالي + + + + Three Lines + ثلاثة أسطر + + + + Paragraph + الفقرة + + + + Typewriter + الآلة الكاتبة + + + + Focus mode + نمط التركيز + + + + Narrow + ضيق + + + + Medium + وسط + + + + Wide + عريض + + + + Full + كامل + + + + Editor width + عرض المحرر + + + + Plain + عادي + + + + + Italic + مائل + + + + Fancy + مزخرف + + + + Blockquote style + تصميم الاقتباس المنفرد + + + + Underline + تحته خط + + + + Emphasis style + تصميم التوكيد + + + + Use large headings + استعمال عناوين كبيرة + + + + Highlight line breaks + تعليم فواصل الأسطر + + + + Typing + الكتابة + + + + Cycle bullet point markers + مغايرة رمز القوائم المتداخلة + + + + Automatically match characters + مطابقة الأقواس تلقائياً + + + + Customize matched characters... + تخصيص محارف المتطابقة... + + + + Live spellcheck enabled + التنقيح الإملائي المباشر فعال + + + + Language + اللغة + + + + Dictionary + المعجم + + + + Right + اليمين + + + + Left + اليسار + + + + Window button layout + عرض زر الشاشة + + + + Alternate row colors + مبادلة لون الأسطر + + + + Enable desktop compositing effects + تفعيل تأثيرات سطح المكتب + + + + Auto-hide HUD windows when typing + إخفاء شاشة الخلاصة تلقائياً عند الكتابة + + + + Auto-hide HUD windows when previewing HTML + إخفاء شاشة الخلاصة تلقائياً عند عرض HTML + + + + Opacity + الشفافية + + + + PreviewOptionsDialog + + + Preview Options + خيارات المعاينة + + + + Markdown Flavor + نمط ماركداون + + + + Style Sheet + ورقة النمط + + + + Github (Default) + Github (الافتراضي) + + + + Github Dark + Github الغامق + + + + QObject + + + Export failed: + فشل التصدير: + + + + %1 format is not supported by this processor. + لا يدعم هذا المعالج التنسيق %1. + + + + Failed to execute command: + فشل تنفيذ الأمر: + + + + Markdown + ماركداون + + + + Text + النص + + + + All + الكل + + + + Null or empty file path provided for writing. + مسار ملف الكتابة فارغ أو ملغى. + + + + Export to HTML is not supported with this processor. + لا يدعم هذا المعالج التصدير إلى HTML. + + + + %1 format is unsupported by the Sundown processor. + لا يدعم معالج Sundown التنسيق %1. + + + + The specified theme does not exist in the file system: + الثمة المعينة غير موجودة في نظام الملفات: + + + + The specified theme is not available. Try restarting the application. If problem persists, please file a bug report. + الثمة المعينة غير متاحة. حاول إعادة تشغيل التطبيق. أو قم بإرسال نموذج خطأ إذا استمرت المشكلة. + + + + Could not delete %1 from theme. Please try setting the theme file permissions to be writeable. + لا يمكن حذف %1 من الثمة. فضلاً، حاول تغيير صلاحيات الملف إلى قابل للكتابة. + + + + '%1' already exists. Please choose another name. + '%1' موجود سابقاً. فضلاً، اختر اسماً مختلفاً. + + + + '%1' theme already exists. Please choose another name. + الثمة '%1' موجودة سابقاً. فضلاً، اختر اسماً مختلفاً. + + + + Failed to rename theme. Please check file permissions. + فشل في تسمية الثمة. فضلاً، تحقق من صلاحيات الملف. + + + + Theme is read-only. Please try renaming the theme, or setting the theme file to be writable. + الثمة للقراءة فقط. فضلاً، حاول تسمية الثمة، أو تغيير صلاحيات ملف الثمة إلى قابل للكتابة. + + + + Failed to remove old theme image. Please check file permissions. + فشل حذف صورة الثمة القديمة. فضلاً، تحقق من صلاحيات الملف. + + + + The old theme image file could not be removed from the theme directory. Please check file permissions. + لا يمكن حذف صورة الثمة من مجلد الثمات. فضلاً، تحقق من صلاحيات الملف. + + + + Theme image file could not be copied to the theme directory. Please check file permissions. + لا يمكن نسخ صورة الثمة إلى مجلد الثمات. فضلاً، تحقق من صلاحيات الملف. + + + + Theme could not be saved to disk. Please check file permissions or try renaming the theme. + لا يمكن حفظ الثمة إلى القرص. فضلاً، تحقق من صلاحيات الملف أو حاول تسمية الثمة. + + + + Untitled 1 + بدون عنوان 1 + + + + Untitled %1 + بدون عنوان %1 + + + + + + Invalid or missing value for %1 provided. + القيمة المعطاة لـ %1 ناقصة أو غير صحيحة. + + + + Value for %1 is out of range. Valid values are between %2 and %3, inclusive. + قيمة %1 خارج النطاق. القيم المتاحة بين %2 و %3. + + + + SessionStatisticsWidget + + + Words Written: + الكلمات المكتوبة: + + + + Pages Written: + الصفحات المكتوبة: + + + + Average WPM: + متوسط الكلمات بالدقيقة: + + + + Total Time: + الوقت الإجمالي: + + + + Idle Time: + الوقت الضائع: + + + + SimpleFontDialog + + + Family + الاسم + + + + Size + الحجم + + + + AaBbCcXxYyZz + AaBbCcXxYyZz اب‌ج‌د‌ه‌وز + + + + Preview + معاينة + + + + SpellChecker + + + Check Spelling + التنقيح الإملائي + + + + &Add + إ&ضافة + + + + &Ignore + &تجاهل + + + + I&gnore All + ت&جاهل الكل + + + + &Change + ت&غيير + + + + C&hange All + تغ&يير الكل + + + + Not in dictionary: + ليس في المعجم: + + + + Change to: + تغيير إلى: + + + + Checking spelling... + التنقيح الإملائي... + + + + Cancel + إلغاء + + + + Please wait + فضلاً انتظر + + + + Continue checking at beginning of file? + استئناف التنقيح من بداءة الملف؟ + + + + Spell check complete. + انتهى التنقيح الإملائي. + + + + StyleSheetManagerDialog + + + Custom Style Sheets + أوراق نمط مخصصة + + + + Add new style sheet + إضافة ورقة نمط خاصة + + + + Remove selected style sheet(s) from list. (No files will be deleted from the hard disk.) + + + + + Select CSS File + اختيار ملف CSS + + + + CSS + CSS + + + + All + الكل + + + + Don't worry! No files will be deleted from the hard disk. But are you sure you wish to remove the selected style sheet(s) from the list? + لا تقلق! لن يُحذف أي ملف من القرص. ولكن هل أنت متأكد أنك تريد حذف أوراق النمط المحددة من القائمة؟ + + + + TextDocument + + + + + untitled + بدون عنوان + + + + ThemeEditorDialog + + + Edit Theme + تحرر الثمة + + + + + Stretch + تمديد + + + + + Center + الوسط + + + + None + بدون + + + + Tile + تكرير + + + + Scale + تحجيم + + + + Zoom + تكبير + + + + Theme Name + اسم الثمة + + + + Text Color + لون النص + + + + Markup Color + لون الترميز + + + + Link Color + لون الروابط + + + + Emphasis Color + لون التوكيد + + + + Block Text Color + لون نص الاقتباس + + + + Spelling Error Color + لون أخطاء الإملائية + + + + Text Area Background Color + لون خلفية مساحة الكتابة + + + + Text Editor + محرر النصوص + + + + Background Image + صورة الخلفية + + + + Background Color + لون الخلفية + + + + Editor Aspect + مظهر المحرر + + + + Editor Opacity + شفافية المحرر + + + + Background + الخلفية + + + + HUD Foreground Color + لون شاشة الخلاصة + + + + HUD Background Color + لون خلفية شاشة الخلاصة + + + + HUD + شاشة الخلاصة + + + + Unable to save theme. + غير قادر على حفظ ملف الثمة. + + + + Failed to rename theme. + فشل في تسمية الثمة. + + + + ThemeSelectionDialog + + + Themes + الثمات + + + + Edit... + تحرير... + + + + Unable to load theme. + تعذر فتح الثمة. + + + + Cannot delete theme. + لا يمكن حذف الثمة. + + + + Sorry, this is a built-in theme that cannot be deleted. + عذراً، هذه الثمة أصليّة ولا يمكن حذفها. + + + + Are you sure you want to permanently delete the '%1' theme? + هل ترغب حقاً في حذف الثمة %1 نهائياً؟ + + + + Failed to delete theme. + تعذر حذف الثمة. + + + + Cannot edit theme. + لا يمكن تحرير الثمة. + + + + Sorry, this is a built-in theme that cannot be edited. + عذراً، هذه الثمة أصليّة ولا يمكن حذفها. + + + diff -Nru ghostwriter-1.8.0/translations/ghostwriter_nl.ts ghostwriter-1.8.1/translations/ghostwriter_nl.ts --- ghostwriter-1.8.0/translations/ghostwriter_nl.ts 1970-01-01 00:00:00.000000000 +0000 +++ ghostwriter-1.8.1/translations/ghostwriter_nl.ts 2020-02-23 00:49:46.000000000 +0000 @@ -0,0 +1,1719 @@ + + + + + AbstractStatisticsWidget + + + &lt; 1m + &lt; 1m + + + + &lt; 1 + &lt; 1 + + + + 250 words per page + 250 woorden per pagina + + + + %1h %2m + %1u %2m + + + + %1m + %1m + + + + DocumentManager + + + Open File + Bestand openen + + + + Could not open %1 + Kan '%1' niet openen + + + + Permission denied. + Toegang geweigerd. + + + + The document has been modified. + Dit document is aangepast. + + + + Discard changes? + Aanpassingen verwerpen? + + + + Rename File + Bestandsnaam wijzigen + + + + Failed to rename %1 + Kan de naam van '%1' niet wijzigen + + + + Save File + Bestand opslaan + + + + Error saving %1 + Kan '%1' niet opslaan + + + + The document has been modified by another program. + Het document is aangepast door een ander programma. + + + + Would you like to reload the document? + Wil je het document opnieuw laden? + + + + + Could not read %1 + Kan '%1' niet uitlezen + + + + opening %1 + bezig met openen van '%1' + + + + File has been modified. + Het bestand is aangepast. + + + + %1 has been modified. + '%1' is aangepast. + + + + Would you like to save your changes? + Wil je de aanpassingen opslaan? + + + + %1 is read only. + '%1' is alleen-lezen. + + + + Overwrite protected file? + Beschermd bestand overschrijven? + + + + Overwrite failed. + Overschrijven mislukt. + + + + Please save file to another location. + Sla het bestand elders op. + + + + DocumentStatisticsWidget + + + Very Easy + Erg makkelijk + + + + Easy + Makkelijk + + + + Standard + Standaard + + + + Difficult + Moeilijk + + + + Very Difficult + Erg moeilijk + + + + Words: + Aantal woorden: + + + + Characters: + Aantal tekens: + + + + Sentences: + Aantal zinnen: + + + + Paragraphs: + Aantal paragrafen: + + + + Pages: + Aantal pagina's: + + + + Complex Words: + Aantal moeilijke woorden: + + + + Reading Time: + Leestijd: + + + + Reading Ease: + Moeilijkheidsgraad: + + + + LIX Reading Ease + LIX-moeilijkheidsgraad + + + + Grade Level: + Klasniveau: + + + + Coleman-Liau Readability Index (CLI) + Coleman-Liau-leesbaarheidsindex (CLI) + + + + Kindergarten + Kleuterschool + + + + Rocket Science + Hogere wiskunde + + + + College + Hogeschool + + + + ExportDialog + + + Export + Exporteren + + + + Smart Typography + Slimme typografie + + + + Export Options + Exportopties + + + + Markdown Converter: + Markdown omzetten: + + + + exporting to %1 + bezig met exporteren naar '%1' + + + + Export failed. + Exporteren mislukt. + + + + FindDialog + + + Search for: + Zoeken naar: + + + + Replace with: + Vervangen door: + + + + Ignore case + Niet hoofdlettergevoelig + + + + Whole words only + Alleen hele woorden + + + + Regular expressions + Reguliere expressies + + + + Search up + Vorige zoeken + + + + Search down + Volgende zoeken + + + + &Find + &Zoeken + + + + &Replace + Ve&rvangen + + + + Replace &All + &Alles vervangen + + + + Find + Zoeken + + + + Replace + Vervangen + + + + Question + Vraag + + + + Replace %n instance(s)? + + Wil je %n resultaat vervangen? + Wil je %n resultaten vervangen? + + + + + + Sorry + Sorry + + + + + Phrase not found. + Geen zoekresultaat. + + + + ImageButton + + + Open Image + Afbeelding openen + + + + Images(%1) + Afbeeldingen (%1) + + + + LocaleDialog + + + Set Application Language + Programmataal instellen + + + + The translations folder is missing. + De map met vertalingen ontbreekt. + + + + Please reinstall this application for more language options. + Herinstalleer het programma om meer taalopties te tonen. + + + + MainWindow + + + Outline + Omkadering + + + + # Heading 1 + # Kop 1 + + + + ## Heading 2 + ## Kop 2 + + + + ### Heading 3 + ### Kop 3 + + + + #### Heading 4 + #### Kop 4 + + + + ##### Heading 5 + ##### Kop 5 + + + + ###### Heading 6 + ###### Kop 6 + + + + *Emphasis* _Emphasis_ + *Benadrukken* _Benadrukken_ + + + + **Strong** __Strong__ + **Vetgedrukt** _Vetgedrukt_ + + + + 1. Numbered List + 1. Genummerde lijst + + + + * Bullet List + * Opsomming + + + + + Bullet List + + Opsomming + + + + - Bullet List + - Opsomming + + + + > Block Quote + > Blokcitaat + + + + `Code Span` + `Codevak` + + + + ``` Code Block + ``` Codeblok + + + + [Reference Link][ID] + [Verwijzing][ID] + + + + ![Image][./image.jpg "Title"] + ![Afbeelding][./afbeelding.jpg "Titel"] + + + + --- *** ___ Horizontal Rule + --- *** ___ Horizontale regel + + + + Cheat Sheet + Spiekbriefje + + + + Could not create file %1. Check permissions. + Kan '%1' niet aanmaken. Controleer de toegangsrechten. + + + + Insert Image + Afbeelding invoegen + + + + Images + Afbeeldingen + + + + All Files + Alle bestanden + + + + Failed to open Quick Reference Guide. + Kan de verwijzingsgids niet openen. + + + + Quick Reference Guide + Verwijzingsgids + + + + About %1 + Over %1 + + + + Please restart the application for changes to take effect. + Herstart het programma om de wijzigingen toe te passen. + + + + &File + &Bestand + + + + &New + &Nieuw + + + + &Open + &Openen + + + + Reopen Closed File + Gesloten bestand heropenen + + + + Clear Menu + Menu leegmaken + + + + &Save + Op&slaan + + + + Save &As... + Opslaan &als... + + + + Open &Recent... + &Recent bestand openen... + + + + [Link](http://url.com "Title") + [Link](http://url.com "Titel") + + + + [ID]: http://url.com "Reference Definition" + [ID]: http://url.com "Verwijzing" + + + + Document Statistics + Documentstatistieken + + + + Session Statistics + Sessiestatistieken + + + + <p>Copyright &copy; 2014-2018 wereturtle</b><p>You may use and redistribute this software under the terms of the <a href="http://www.gnu.org/licenses/gpl.html">GNU General Public License Version 3</a>.</p><p>Visit the official website at <a href="http://github.com/wereturtle/ghostwriter">http://github.com/wereturtle/ghostwriter</a>.</p><p>Special thanks and credit for reused code goes to</p><p><a href="mailto:graeme@gottcode.org">Graeme Gott</a>, author of <a href="http://gottcode.org/focuswriter/">FocusWriter</a><br/>Dmitry Shachnev, author of <a href="http://sourceforge.net/p/retext/home/ReText/">Retext</a><br/><a href="mailto:gabriel@teuton.org">Gabriel M. Beddingfield</a>, author of <a href="http://www.teuton.org/~gabriel/stretchplayer/">StretchPlayer</a><br/><p>I am also deeply indebted to <a href="mailto:w.vollprecht@gmail.com">Wolf Vollprecht</a>, the author of <a href="http://uberwriter.wolfvollprecht.de/">UberWriter</a>, for the inspiration he provided in creating such a beautiful Markdown editing tool.</p> + <p>Auteursrecht &copy; 2014-2018 wereturtle</b><p>Je mag deze software gebruiken en verspreiden onder de voorwaarden van de <a href="http://www.gnu.org/licenses/gpl.html">GNU General Public License, Versie 3</a>.</p><p>Bezoek de officiële website: <a href="http://github.com/wereturtle/ghostwriter">http://github.com/wereturtle/ghostwriter</a>.</p><p>Met dank aan de volgende personen voor de gebruikte code:</p><p><a href="mailto:graeme@gottcode.org">Graeme Gott</a>, maker van <a href="http://gottcode.org/focuswriter/">FocusWriter</a><br/>Dmitry Shachnev, maker van <a href="http://sourceforge.net/p/retext/home/ReText/">Retext</a><br/><a href="mailto:gabriel@teuton.org">Gabriel M. Beddingfield</a>, maker van <a href="http://www.teuton.org/~gabriel/stretchplayer/">StretchPlayer</a><br/><p>Ik sta ook zeker in het krijt bij <a href="mailto:w.vollprecht@gmail.com">Wolf Vollprecht</a>, maker van <a href="http://uberwriter.wolfvollprecht.de/">UberWriter</a>, voor de inspiratie die ik opdeed uit zijn prachtige Markdown-hulpprogramma.</p> + + + + %Ln word(s) + + %Ln woord + %Ln woorden + + + + + R&ename... + Naam wijzig&en... + + + + Re&load from Disk... + Her&laden... + + + + &Export + &Exporteren + + + + &Quit + &Afsluiten + + + + &Edit + Aanpass&en + + + + &Undo + &Ongedaan maken + + + + &Redo + Opnieuw uitvoe&ren + + + + Cu&t + &Knippen + + + + &Copy + &Kopiëren + + + + &Paste + &Plakken + + + + Copy &HTML + &HTML kopiëren + + + + &Insert Image... + Afbeelding &invoegen... + + + + &Find + &Zoeken + + + + Rep&lace + Ve&rvangen + + + + &Spell check + &Spelling controleren + + + + For&mat + Op&maak + + + + &Bold + &Vetgedrukt + + + + &Italic + Curs&ief + + + + &HTML Comment + &HTML-opmerking + + + + I&ndent + I&nspringen + + + + &Unindent + Inspringing &verwijderen + + + + Block &Quote + Blok&citaat + + + + &Strip Block Quote + Blokcitaat &verwijderen + + + + &* Bullet List + &* Opsomming + + + + &- Bullet List + &- Opsomming + + + + &+ Bullet List + &+ Opsomming + + + + 1&. Numbered List + 1&. Genummerde lijst + + + + 1&) Numbered List + 1&) Genummerde lijst + + + + &Task List + &Takenlijst + + + + Toggle Task(s) &Complete + Taak/Taken (de)markeren als af&gerond + + + + &View + &Beeld + + + + &Full Screen + &Beeldvullend + + + + &Preview in HTML + HTML-&voorvertoning + + + + &Outline HUD + &Omkaderingsscherm + + + + &Cheat Sheet HUD + Spiekbriefje-s&cherm + + + + &Document Statistics HUD + &Documentstatistiekenscherm + + + + &Session Statistics HUD + &Sessiestatistiekenscherm + + + + + Hide Open &HUD Windows + Geopende &hulpschermen verbergen + + + + Increase Font Size + Lettertype vergroten + + + + Decrease Font Size + Lettertype verkleinen + + + + &Settings + In&stellingen + + + + Themes... + Thema's... + + + + Font... + Lettertype... + + + + Style Sheets... + Stijlbladen... + + + + Preview Options... + Voorvertoningsopties... + + + + Preferences... + Voorkeuren... + + + + Preview Options + Voorvertoningsopties + + + + Export + Exporteren + + + + Copy HTML + HTML kopiëren + + + + + Hide Open HUD Windows + Geopende hulpschermen verbergen + + + + Toggle Live HTML Preview + Live HTML-voorvertoning tonen/verbergen + + + + Show Open &HUD Windows + Geopende &hulpschermen tonen + + + + Show Open HUD Windows + Geopende hulpschermen tonen + + + + Application Language... + Programmataal... + + + + Stri&kethrough + Door&halen + + + + &Help + &Hulp + + + + &About + &Over + + + + About &Qt + Over &Qt + + + + Quick &Reference Guide + Ve&rwijzingsgids + + + + Wiki + Wiki + + + + Toggle Hemingway mode + Hemingway-modus in-/uitschakelen + + + + Toggle distraction free mode + Afleidingsvrije modus in-/uitschakelen + + + + Toggle full screen mode + Beeldvullende modus in-/uitschakelen + + + + MarkdownEditor + + + Add word to dictionary + Toevoegen aan woordenboek + + + + Check spelling... + Spelling controleren... + + + + No spelling suggestions found + Geen spellingsuggesties + + + + PreferencesDialog + + + Preferences + Voorkeuren + + + + General + Algemeen + + + + Editor + Bewerker + + + + Spell Check + Spellingcontrole + + + + HUD + Hulpschermen + + + + Matched Characters + Overeenkomende tekens + + + + Display + Weergave + + + + Show current time in full screen mode + Huidige tijd tonen in beeldvullende modus + + + + Hide menu bar in full screen mode + Menubalk verbergen in beeldvullende modus + + + + Rounded + Afgerond + + + + Square + Vierkant + + + + Interface style + Uiterlijk + + + + File Saving + Bestanden opslaan + + + + Auto save + Automatisch opslaan + + + + Backup file on save + Bestand back-uppen bij opslaan + + + + History + Geschiedenis + + + + Remember file history + Bestandsgeschiedenis bijhouden + + + + Tabulation + Tabs + + + + Insert spaces for tabs + Tabs vervangen door spaties + + + + Tabulation width + Tabbreedte + + + + Styling + Stijl + + + + Sentence + Zin + + + + Current Line + Huidige regel + + + + Three Lines + Drie regels + + + + Paragraph + Paragraaf + + + + Typewriter + Typmachine + + + + Focus mode + Focusmodus + + + + Narrow + Smal + + + + Medium + Normaal + + + + Wide + Breed + + + + Full + Volledig + + + + Editor width + Breedte van bewerkscherm + + + + Plain + Geen opmaak + + + + + Italic + Cursief + + + + Fancy + Mooi + + + + Blockquote style + Stijl van blokcitaat + + + + Underline + Onderstrepen + + + + Emphasis style + Benadrukkingsstijl + + + + Use large headings + Grote koppen gebruiken + + + + Highlight line breaks + Regeleindes markeren + + + + Typing + Typen + + + + Cycle bullet point markers + Schakelen tussen opsommingstekens + + + + Automatically match characters + Automatisch overeenkomen + + + + Customize matched characters... + Overeenkomsten aanpassen... + + + + Live spellcheck enabled + Live-spellingscontrole ingeschakeld + + + + Language + Taal + + + + Dictionary + Woordenboek + + + + Right + Rechts + + + + Left + Links + + + + Window button layout + Indeling van vensterknoppen + + + + Alternate row colors + Alternatieve rijkleuren + + + + Enable desktop compositing effects + Bureaubladeffecten gebruiken + + + + Auto-hide HUD windows when typing + Hulpschermen automatisch verbergen tijdens typen + + + + Auto-hide HUD windows when previewing HTML + Hulpschermen automatisch verbergen tijdens HTML-voorvertoning + + + + Opacity + Doorzichtigheid + + + + PreviewOptionsDialog + + + Preview Options + Voorvertoningsopties + + + + Markdown Flavor + Markdownstijl + + + + Style Sheet + Stijlblad + + + + Github (Default) + GitHub (standaard) + + + + Github Dark + GitHub donker + + + + QObject + + + Export failed: + Het exporteren is mislukt: + + + + %1 format is not supported by this processor. + %1 wordt niet ondersteund door deze verwerker. + + + + Failed to execute command: + De opdracht kan niet worden uitgevoerd: + + + + Markdown + Markdown + + + + Text + Tekst + + + + All + Alles + + + + Null or empty file path provided for writing. + Onjuist of leeg pad opgegeven. + + + + Export to HTML is not supported with this processor. + Exporteren naar HTML wordt niet ondersteund door deze verwerker. + + + + %1 format is unsupported by the Sundown processor. + %1 wordt niet ondersteund door deze Sundown-verwerker. + + + + The specified theme does not exist in the file system: + Het opgegeven thema is niet aanwezig op je computer: + + + + The specified theme is not available. Try restarting the application. If problem persists, please file a bug report. + Het opgegeven thema is niet beschikbaar. Herstart het programma. Als het probleem zich blijft voordoen, meld dit dan als bug. + + + + Could not delete %1 from theme. Please try setting the theme file permissions to be writeable. + %1 kan niet worden verwijderd uit het thema. Pas de thema-bestandsrechten aan (beschrijfbaar). + + + + '%1' already exists. Please choose another name. + '%1' bestaat al. Kies een andere naam. + + + + '%1' theme already exists. Please choose another name. + Het thema '%1' bestaat al. Kies een andere naam. + + + + Failed to rename theme. Please check file permissions. + De themanaam kan niet worden gewijzigd. Controleer de bestandsrechten. + + + + Theme is read-only. Please try renaming the theme, or setting the theme file to be writable. + Het thema is alleen-lezen. Wijzig de naam of pas de thema-bestandsrechten aan (beschrijfbaar). + + + + Failed to remove old theme image. Please check file permissions. + Het oude thema kan niet worden verwijderd. Controleer de bestandsrechten. + + + + The old theme image file could not be removed from the theme directory. Please check file permissions. + Het oude thema kan niet worden verwijderd uit de themamap. Controleer de bestandsrechten. + + + + Theme image file could not be copied to the theme directory. Please check file permissions. + Het oude thema kan niet worden gekopieerd naar de themamap. Controleer de bestandsrechten. + + + + Theme could not be saved to disk. Please check file permissions or try renaming the theme. + Het thema kan niet worden opgeslagen. Controleer de bestandsrechten of wijzig de naam. + + + + Untitled 1 + Naamloos 1 + + + + Untitled %1 + Naamloos %1 + + + + + + Invalid or missing value for %1 provided. + Ongeldige of ontbrekende waarde opgegeven voor %1. + + + + Value for %1 is out of range. Valid values are between %2 and %3, inclusive. + De waarde van %1 is ongeldig. Alleen waarden tussen %2 en %3 zijn toegestaan. + + + + SessionStatisticsWidget + + + Words Written: + Aantal geschreven woorden: + + + + Pages Written: + Aantal geschreven pagina's: + + + + Average WPM: + Gemiddeld aantal wpm: + + + + Total Time: + Totaal: + + + + Idle Time: + Afwezig: + + + + SimpleFontDialog + + + Family + Familie + + + + Size + Grootte + + + + AaBbCcXxYyZz + AaBbCcXxYyZz + + + + Preview + Voorvertoning + + + + SpellChecker + + + Check Spelling + Spelling controleren + + + + &Add + &Toevoegen + + + + &Ignore + &Negeren + + + + I&gnore All + Alles ne&geren + + + + &Change + &Corrigeren + + + + C&hange All + Alles &corrigeren + + + + Not in dictionary: + Niet in woordenboek: + + + + Change to: + Corrigeren in: + + + + Checking spelling... + Bezig met controleren... + + + + Cancel + Afbreken + + + + Please wait + Even geduld + + + + Continue checking at beginning of file? + Wil je vanaf het begin controleren? + + + + Spell check complete. + Spellingcontrole afgerond. + + + + StyleSheetManagerDialog + + + Custom Style Sheets + Aangepaste stijlbladen + + + + Add new style sheet + Stijlblad toevoegen + + + + Remove selected style sheet(s) from list. (No files will be deleted from the hard disk.) + Geselecteerd(e) stijlblad(en) verwijderen van de lijst. (er wordt niks verwijderd van je schijf) + + + + Select CSS File + CSS-bestand selecteren + + + + CSS + CSS + + + + All + Alle + + + + Don't worry! No files will be deleted from the hard disk. But are you sure you wish to remove the selected style sheet(s) from the list? + Geen zorgen: er wordt niks verwijderd van je schijf. Weet je zeker dat je wilt doorgaan met het verwijderen van het/de stijlblad(en) van de lijst? + + + + TextDocument + + + + + untitled + naamloos + + + + ThemeEditorDialog + + + Edit Theme + Thema bewerken + + + + + Stretch + Uitvullen + + + + + Center + Centreren + + + + None + Niks + + + + Tile + Tegels + + + + Scale + Schalen + + + + Zoom + Zoomen + + + + Theme Name + Themanaam + + + + Text Color + Tekstkleur + + + + Markup Color + Opmaakkleur + + + + Link Color + Linkkleur + + + + Emphasis Color + Benadrukkingskleur + + + + Block Text Color + Kleur van tekstblokken + + + + Spelling Error Color + Kleur van spelfouten + + + + Text Area Background Color + Achtergrondkleur van tekstgebied + + + + Text Editor + Tekstbewerker + + + + Background Image + Achtergrondafbeelding + + + + Background Color + Achtergrondkleur + + + + Editor Aspect + Afmetingen van bewerker + + + + Editor Opacity + Doorzichtigheid van bewerker + + + + Background + Achtergrond + + + + HUD Foreground Color + Achtergrondkleur van hulpschermen + + + + HUD Background Color + Voorgrondkleur van hulpschermen + + + + HUD + Hulpschermen + + + + Unable to save theme. + Het thema kan niet worden opgeslagen. + + + + Failed to rename theme. + De themanaam kan niet worden gewijzigd. + + + + ThemeSelectionDialog + + + Themes + Thema's + + + + Edit... + Bewerken... + + + + Unable to load theme. + Het thema kan niet worden geladen. + + + + Cannot delete theme. + Het thema kan niet worden verwijderd. + + + + Sorry, this is a built-in theme that cannot be deleted. + Ingebouwde thema's kunnen niet worden verwijderd. + + + + Are you sure you want to permanently delete the '%1' theme? + Weet je zeker dat je het thema '%1' wilt verwijderen? + + + + Failed to delete theme. + Het thema kan niet worden verwijderd. + + + + Cannot edit theme. + Het thema kan niet worden bewerkt. + + + + Sorry, this is a built-in theme that cannot be edited. + Ingebouwde thema's kunnen niet worden bewerkt. + + +