[office/skrooge] /: Improve compliance with messages HIG
Stephane MANKOWSKI
null at kde.org
Sun Feb 11 14:59:22 GMT 2024
Git commit 8880fae287f45fe95af303dd9639de986fa6b2d5 by Stephane MANKOWSKI.
Committed on 11/02/2024 at 14:59.
Pushed by smankowski into branch 'master'.
Improve compliance with messages HIG
(fix ellipsis character)
BUG:481226
M +1 -1 .devcontainer/reinstall-cmake.sh
A +16 -0 .vscode/launch.json
A +5 -0 .vscode/settings.json
M +16 -15 CHANGELOG
M +1 -1 Mainpage.dox
M +3 -3 README.md
M +38 -38 doc/index.docbook
M +2 -2 doc/kde_docbook
M +2 -2 plugins/generic/skg_advice/skgadviceplugin.cpp
M +1 -1 plugins/generic/skg_advice/skgtipofdayboardwidget.ui
M +4 -4 plugins/generic/skg_bookmark/skgbookmarkplugin.cpp
M +1 -1 plugins/generic/skg_bookmark/skgbookmarkplugindockwidget.cpp
M +3 -3 plugins/generic/skg_dashboard/skgdashboardplugin.cpp
M +2 -2 plugins/generic/skg_dashboard/skgdashboardwidget.cpp
M +6 -6 plugins/generic/skg_file/skgfileplugin.cpp
M +3 -3 plugins/generic/skg_monthly/skgmonthlyplugin.cpp
M +1 -1 plugins/generic/skg_print/skgprintplugin.cpp
M +9 -9 plugins/generic/skg_properties/skgpropertiesplugin.cpp
M +1 -1 plugins/generic/skg_properties/skgpropertiesplugindockwidget_base.ui
M +2 -2 plugins/generic/skg_undoredo/skgundoredoplugin.cpp
M +1 -1 plugins/import/skrooge_import_backend/backends/org.kde.skrooge-import-backend-weboob.desktop
M +1 -1 plugins/import/skrooge_import_backend/backends/org.kde.skrooge-import-backend-weboob_coming.desktop
M +1 -1 plugins/import/skrooge_import_backend/backends/org.kde.skrooge-import-backend-woob-ofx.desktop
M +1 -1 plugins/import/skrooge_import_backend/backends/org.kde.skrooge-import-backend-woob.desktop
M +1 -1 plugins/import/skrooge_import_backend/backends/org.kde.skrooge-import-backend-woob_coming.desktop
M +2 -2 plugins/import/skrooge_import_csv/skgimportplugincsv.cpp
M +5 -5 plugins/skrooge/skrooge_bank/skgbankplugin.cpp
M +2 -2 plugins/skrooge/skrooge_bank/skgbankpluginwidget.cpp
M +1 -1 plugins/skrooge/skrooge_bank/skgbankpluginwidget_base.ui
M +2 -2 plugins/skrooge/skrooge_calculator/skgcalculatorplugin.cpp
M +5 -5 plugins/skrooge/skrooge_categories/fr/associations.qif
M +1 -1 plugins/skrooge/skrooge_categories/fr/plan_comptable.qif
M +4 -4 plugins/skrooge/skrooge_categories/skgcategoriesplugin.cpp
M +15 -15 plugins/skrooge/skrooge_importexport/skgimportexportplugin.cpp
M +3 -3 plugins/skrooge/skrooge_importexport/skgimportexportpluginwidget_pref.ui
M +1 -1 plugins/skrooge/skrooge_operation/skgoperationboardwidgetqml.cpp
M +25 -25 plugins/skrooge/skrooge_operation/skgoperationplugin.cpp
M +1 -1 plugins/skrooge/skrooge_operation/skgoperationpluginwidget.cpp
M +2 -2 plugins/skrooge/skrooge_operation/skgoperationpluginwidget_base.ui
M +2 -2 plugins/skrooge/skrooge_payee/skgpayeeplugin.cpp
M +1 -1 plugins/skrooge/skrooge_report/skgreportboardwidget.cpp
M +6 -6 plugins/skrooge/skrooge_report/skgreportplugin.cpp
M +2 -2 plugins/skrooge/skrooge_report/skgreportpluginwidget.cpp
M +1 -1 plugins/skrooge/skrooge_scheduled/skgscheduledplugin.cpp
M +2 -2 plugins/skrooge/skrooge_search/skgsearchplugin.cpp
M +1 -1 plugins/skrooge/skrooge_tracker/skgtrackerplugin.cpp
M +1 -1 plugins/skrooge/skrooge_unit/skgunitboardwidget.cpp
M +7 -7 plugins/skrooge/skrooge_unit/skgunitplugin.cpp
M +2 -2 plugins/skrooge/skrooge_unit/skgunitpluginwidget.cpp
M +1 -1 scripts/astyle.sh.in
M +2 -2 skgbankgui/skgpredicatcreator.cpp
M +5 -5 skgbankmodeler/skgdocumentbank.cpp
M +55 -55 skgbankmodeler/skgruleobject.cpp
M +4 -4 skgbankmodeler/skgunitobject.h
M +1 -1 skgbasegui/skggraphicsview.cpp
M +4 -4 skgbasegui/skgmainpanel.cpp
M +5 -5 skgbasegui/skgmainpanel.h
M +1 -1 skgbasegui/skgobjectmodelbase.h
M +6 -6 skgbasegui/skgperiodedit.cpp
M +3 -3 skgbasegui/skgperiodedit.h
M +1 -1 skgbasegui/skgtablewithgraph.cpp
M +1 -1 skgbasegui/skgtablewithgraph.h
M +1 -1 skgbasegui/skgtreeview.cpp
M +2 -2 skgbasegui/skgwebview.cpp
M +1 -1 skgbasegui/skgwebview.h
M +1 -1 skgbasemodeler/skgdefine.h
M +1 -1 skgbasemodeler/skgdocument.cpp
M +1 -1 skgbasemodeler/skgdocument.h
M +2 -2 skgbasemodeler/skgerror.h
M +1 -1 skgbasemodeler/skgreport.cpp
M +4 -4 skgbasemodeler/skgservices.cpp
M +3 -3 skgbasemodeler/skgtransactionmng.h
M +2 -2 skrooge/main.cpp
M +1 -1 skroogeconvert/main.cpp
https://invent.kde.org/office/skrooge/-/commit/8880fae287f45fe95af303dd9639de986fa6b2d5
diff --git a/.devcontainer/reinstall-cmake.sh b/.devcontainer/reinstall-cmake.sh
index 408b81d22..4016a90e3 100644
--- a/.devcontainer/reinstall-cmake.sh
+++ b/.devcontainer/reinstall-cmake.sh
@@ -26,7 +26,7 @@ cleanup() {
trap cleanup EXIT
-echo "Installing CMake..."
+echo "Installing CMake…"
apt-get -y purge --auto-remove cmake
mkdir -p /opt/cmake
diff --git a/.vscode/launch.json b/.vscode/launch.json
new file mode 100644
index 000000000..19ec3a4d9
--- /dev/null
+++ b/.vscode/launch.json
@@ -0,0 +1,16 @@
+{
+ // Utilisez IntelliSense pour en savoir plus sur les attributs possibles.
+ // Pointez pour afficher la description des attributs existants.
+ // Pour plus d'informations, visitez : https://go.microsoft.com/fwlink/?linkid=830387
+ "version": "0.2.0",
+ "configurations": [
+ {
+ "type": "lldb",
+ "request": "launch",
+ "name": "Debug",
+ "program": "/usr/bin/skrooge",
+ "args": [],
+ "cwd": "${workspaceFolder}"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/.vscode/settings.json b/.vscode/settings.json
new file mode 100644
index 000000000..ab54f216c
--- /dev/null
+++ b/.vscode/settings.json
@@ -0,0 +1,5 @@
+{
+ "files.associations": {
+ "*.moc": "cpp"
+ }
+}
\ No newline at end of file
diff --git a/CHANGELOG b/CHANGELOG
index 822fb69d6..e8af8fb9e 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -5,6 +5,7 @@ skrooge (2.32.0)
*Correction bug 477688: Problem with precision when doing internal transfer of bitcoin
*Correction bug 480113: Skrooge: bookmarking a page adds a & to the bookmark name
*Correction bug 481144: import tracker impossible, neither from homebank (TAG / ETIQUETTE)
+ *Correction bug 481226: Improve compliance with messages HIG
-- Stephane MANKOWSKI <stephane at mankowski.fr> xxx
@@ -233,8 +234,8 @@ skrooge (2.18.0)
*Feature: Possibility to choose the max date of schedules in dashboard
*Feature: New action to skip scheduled operations
*Feature: Possibility to skip scheduled operations from dashboard
- *Feature: Addition of options (Incomes, Expenditures, Transfers, ...) in contextual menu of graphs in "Account" page
- *Feature: Addition of options (Days, Weeks, Months, ...) in contextual menu of graphs in "Account" page
+ *Feature: Addition of options (Incomes, Expenditures, Transfers, …) in contextual menu of graphs in "Account" page
+ *Feature: Addition of options (Days, Weeks, Months, …) in contextual menu of graphs in "Account" page
-- Stephane MANKOWSKI <stephane at mankowski.fr> Mon, 11 Feb 2019 21:32:09 +0100
@@ -287,7 +288,7 @@ skrooge (2.14.0)
*Correction bug 395328: Bad perfo in SKGAccountObject::getPossibleReconciliations when too many operations
*Correction: Sort on second column does not work with grouping
*Correction: Change bootstrap url in templates
- *Correction: Better grouping for "Week", "Month", "Semester", ...
+ *Correction: Better grouping for "Week", "Month", "Semester", …
*Correction: Report with forecast based on budget use the account using the most the category
*Correction: Respan of group header must work when auto resize is disabled too
*Correction: Import backend of account with "." in name
@@ -637,7 +638,7 @@ skrooge (2.1.0)
*Correction: Add credits page in "About"
*Correction: Double click on skrooge document opens skrooge but the document is not loaded
*Correction: Code rework for contextual menus
- *New feature: "Open..." action in contextual menu of reports
+ *New feature: "Open…" action in contextual menu of reports
*New feature: New function to import simple rules (payee=xxx => category=yyy) from csv file
*New feature: More period options in dashboard widgets
*New feature: "5 main categories of expenditure" in dashboard and report is now clickable
@@ -869,7 +870,7 @@ skrooge (1.8.0)
*New feature: Download date on unit table
*New feature: New account type: Pension
*New feature: New set of categories for french people
- *New feature: Addition of "Configure notifications..." in configuration menu
+ *New feature: Addition of "Configure notifications…" in configuration menu
*New feature: Download and add bills as property by using boobill (weboob)
*New feature: Rename of property
*New feature: Export HTML and ODT from tables
@@ -1009,7 +1010,7 @@ skrooge (1.4.0)
*Correction: Better colors in "Expenditures vs Icomes" dashboard widget
*Correction: Support qif file having Type:Class with description
*Correction: Remove "All" in operation menu when only one account is created
- *Correction: Move "Export ..." menu in "File" menu
+ *Correction: Move "Export …" menu in "File" menu
*Correction: Bad display of account having a "&" in operation page
*Correction: Move "Processing" actions in the main menu named "Tools"
*Correction: Hide title when reset filter in operation page
@@ -1116,7 +1117,7 @@ skrooge (1.2.0)
*Correction: A new document is no more considered as modified
*Correction: Advice "xxx is an old tracker" modified to use the LASTDATE instead of the FIRSTDATE
*Correction: Better display in "Income & Expenditure" dashboard widget + addition of "Saving"
- *Correction: In "Account" page, "Other ..." in icon list is now working
+ *Correction: In "Account" page, "Other …" in icon list is now working
*Correction: Correction for advice "Possible schedule 'xxx'"
*Correction: Hide internal properties in graph
*Correction: Bug on inline edition on comment & mode
@@ -1335,7 +1336,7 @@ skrooge (0.8.1)
*Correction: GNUCash import creates sometimes "wrong" splits with values close to 0
*Correction: Better initial state for the window (docks, maximized)
*Correction: Bookmark of report
- *Correction: Many small correction in "interest" computation (tooltips, items in combo box, computation, ...)
+ *Correction: Many small correction in "interest" computation (tooltips, items in combo box, computation, …)
*Correction: Bad unit in "unit" page for units having a unit reference
*Correction: Better tooltips in report (usefull for huge report where lines title is not visible)
*Correction: Better management of codex for exports
@@ -1489,7 +1490,7 @@ skrooge (0.7.1)
*Correction bug 235689: Cannot localize quotation marks
*Correction bug 234596: Customisable date format in operations panel
*Correction bug 236753: Search but not process on attribute
- *Correction: Rename "Import CSV unit..." in "Import currency values..."
+ *Correction: Rename "Import CSV unit…" in "Import currency values…"
*Correction: Better management of constraints in data model
*Correction: Conflict on categories when importing twice a gnc document
*Correction: Conflict on categories when importing twice a xhb document
@@ -1523,7 +1524,7 @@ skrooge (0.7.0)
*Correction bug 228904: Gnucash import should not take into account recurrent operation containing loan formulas
*Correction bug 230175: Sometimes report plugin resizes Skrooge over the screen size
*Correction bug 232937: Search & Process : if a category has no operation yet, it doesn't appear in the possible categories for "update"
- *Correction wis 228901: Manage Liability accounts (loan, etc...)
+ *Correction wis 228901: Manage Liability accounts (loan, etc…)
*Correction wis 197409: There's no way to define initial balance of non-OFX account
*Correction wis 224933: A legend in the graphics
*Correction wis 224042: Possibility to store several CSV import schemes ==> Implemented by regular expression in automatic mapping.
@@ -1734,7 +1735,7 @@ skrooge (0.5.1)
*Correction message in history when an object is deleted
*Download button always visible on unit plugin
*Infinite symbol when number of occurrences is not checked
- *Addition of "Custom..." on graph dates
+ *Addition of "Custom…" on graph dates
*New spash screen
*New function to overwrite bookmarks after a modification
*Filter capability on "search & process" table
@@ -1767,7 +1768,7 @@ skrooge (0.5.0)
*Rename "Bookmark" for operation by "Highlight"
*Rename "Trait" by "Process"
*Set minimum size for amounts fields
- *Only one "Import..." command for all supported format.
+ *Only one "Import…" command for all supported format.
*Support of QFX import
*New settings for import CSV
*Dashboard is now clickable
@@ -2004,7 +2005,7 @@ skrooge (0.1.7)
*Addition contextual menu on tabs
*Addition of short date in tooltip on fancy date
*Addition of smooth scrolling in table views
- *Addition of indexes (CAC 40, NASDAQ, ...) in data model
+ *Addition of indexes (CAC 40, NASDAQ, …) in data model
-- Stephane MANKOWSKI <stephane at mankowski.fr> Tue, 15 Dec 2009 20:00:00 +0100
@@ -2014,7 +2015,7 @@ skrooge (0.1.6)
01/01/2008;50
03/03/2008;60
*Correction bug 2340201 :crash on QIF export
- *Correction bug in import if 2 operations with same attributes (date, amount, ...)
+ *Correction bug in import if 2 operations with same attributes (date, amount, …)
*Correction concerning performance issue in all tables
*Correction bug 2299354 :Ability to change and memorize column width
*Columns can be switched in "auto resize" mode
@@ -2071,7 +2072,7 @@ skrooge (0.1.3)
*Correction abend on delete
*Modeler is now able to store messages on transaction.
*Display messages by notification
- *Addition of recurrent operations (creation, update, delete, automatic insertion, warn, ...)
+ *Addition of recurrent operations (creation, update, delete, automatic insertion, warn, …)
*Correction in duplication of recurrent operations: Now, status, bookmark, importation id are not duplicated
*Correction on optimisation of undo/redo transaction: optimisation removed :-)
*Multi selection is supported by recurrent operations creation icon
diff --git a/Mainpage.dox b/Mainpage.dox
index 32636131f..a164e1ff3 100644
--- a/Mainpage.dox
+++ b/Mainpage.dox
@@ -1,6 +1,6 @@
/** @mainpage Skrooge API Reference
*
- * Skrooge is the personal finance management tool, with the aim of being highly intuitive, while providing powerful functions such as reporting (including graphics), persistent Undo/Redo, encryption, and much more...
+ * Skrooge is the personal finance management tool, with the aim of being highly intuitive, while providing powerful functions such as reporting (including graphics), persistent Undo/Redo, encryption, and much more…
*
* \section intro_sec Introduction
*
diff --git a/README.md b/README.md
index 76d62fb80..f2c39f844 100644
--- a/README.md
+++ b/README.md
@@ -20,14 +20,14 @@ And better, Skrooge is able to import directly transactions from all your banks
### Reporting
Build the graph you want to well undestand how your spend your money.
-Have a look to the periodic reports (monthly, annually, ...) to undestand the progress.
+Have a look to the periodic reports (monthly, annually, …) to undestand the progress.
Have a quick look on the dashboard.
Skrooge is also able to give you advice based on your behavior.
### Like in a web browser
Several tabs to help you organize your work.
-Bookmark your preferred reports, graphs, filters, pages, ...
+Bookmark your preferred reports, graphs, filters, pages, …
### Budget
@@ -47,7 +47,7 @@ Mass update of transactions.
Automatically process transactions based on search conditions.
Instant filtering on transactions and reports.
Download of quotes.
-Add all properties you want on all objets (transactions, accounts, categories, ...) and including files (pdf, pictures, ...).
+Add all properties you want on all objets (transactions, accounts, categories, …) and including files (pdf, pictures, …).
### Track refund of your expenses
diff --git a/doc/index.docbook b/doc/index.docbook
index 3b39e5f89..1ac424746 100644
--- a/doc/index.docbook
+++ b/doc/index.docbook
@@ -404,7 +404,7 @@
<listitem>
<para>
- A copied file regardless of format (.odt, .png, .pdf, ...).
+ A copied file regardless of format (.odt, .png, .pdf, …).
This means that the file is copied into the &skrooge; document.
This file can be opened from &skrooge; by clicking the appropriate button.
Take care, as all modifications of the original file are not replicated in the version saved in &skrooge; document.
@@ -413,7 +413,7 @@
<listitem>
<para>
- A link to an existing file whatever the format (odt, png, pdf, ...).
+ A link to an existing file whatever the format (odt, png, pdf, …).
It means that the file is not copied into the &skrooge; document but just linked.
This file can be opened from &skrooge; by clicking on the appropriate button.
</para>
@@ -580,7 +580,7 @@
<listitem><para>In an transactions view, it will filter the transactions containing the text entered, whatever the column (date, payee, category, comment, etc.)</para></listitem>
<listitem><para>In an accounts view, it will filter the accounts containing the text entered, whatever the column (bank, account name, number, etc.)</para></listitem>
<listitem><para>In a report view, it will redraw the graph based on this filter</para></listitem>
- <listitem><para>In a... well, you get the idea, right?</para></listitem>
+ <listitem><para>In a… well, you get the idea, right?</para></listitem>
</itemizedlist>
</para>
<tip>
@@ -791,7 +791,7 @@
<sect2 id="export_graph">
<title>Export Graph</title>
- <para>&skrooge; allows you to export a <link linkend="reports">graph</link>, either in &PDF;, SVG or just any image format supported by &Qt; (PNG, JPG, &GIF;, TIFF...). You can do so by right-clicking on the graph, and choosing the <guimenu>Export</guimenu> option.</para>
+ <para>&skrooge; allows you to export a <link linkend="reports">graph</link>, either in &PDF;, SVG or just any image format supported by &Qt; (PNG, JPG, &GIF;, TIFF…). You can do so by right-clicking on the graph, and choosing the <guimenu>Export</guimenu> option.</para>
<screenshot>
<mediaobject>
@@ -826,8 +826,8 @@
</screenshot>
<itemizedlist>
- <listitem><para><guimenuitem>Change password...</guimenuitem>: To change the password. Leave the field empty to remove the password</para></listitem>
- <listitem><para><guimenuitem>Print...</guimenuitem>: To print the open pages</para></listitem>
+ <listitem><para><guimenuitem>Change password…</guimenuitem>: To change the password. Leave the field empty to remove the password</para></listitem>
+ <listitem><para><guimenuitem>Print…</guimenuitem>: To print the open pages</para></listitem>
<listitem><para><guimenuitem>Print preview</guimenuitem>: To display the preview before printing</para></listitem>
<listitem><para><guimenuitem>Import</guimenuitem>: To import data.
<screenshot>
@@ -840,10 +840,10 @@
<listitem><para><guimenuitem>Import categories</guimenuitem>: To import a set of predefined categories. This option depends of your country</para></listitem>
<listitem><para><guimenuitem>Import</guimenuitem>: To <link linkend="import">import</link> transaction from files</para></listitem>
<listitem><para><guimenuitem>Import with backend</guimenuitem>: To <link linkend="import">import</link> transactions with all declared backends</para></listitem>
- <listitem><para><guimenuitem>Import currency values...</guimenuitem>: To import currency values from files. Of course, the csv file must have the three columns (unit, date and amount).</para></listitem>
- <listitem><para><guimenuitem>Import rules...</guimenuitem>: To import <link linkend="search_and_process">Search and process</link> rules to associate a category to a payee. Of course, the csv file must have the two columns (payee and category).</para></listitem>
+ <listitem><para><guimenuitem>Import currency values…</guimenuitem>: To import currency values from files. Of course, the csv file must have the three columns (unit, date and amount).</para></listitem>
+ <listitem><para><guimenuitem>Import rules…</guimenuitem>: To import <link linkend="search_and_process">Search and process</link> rules to associate a category to a payee. Of course, the csv file must have the two columns (payee and category).</para></listitem>
</itemizedlist> </para></listitem>
- <listitem><para><guimenuitem>Export...</guimenuitem>: To <link linkend="export_file">export</link> transactions into a file</para></listitem>
+ <listitem><para><guimenuitem>Export…</guimenuitem>: To <link linkend="export_file">export</link> transactions into a file</para></listitem>
</itemizedlist>
</sect2>
@@ -864,10 +864,10 @@
<listitem><para><guimenuitem>Add property</guimenuitem>: Add a property regularly used on the selected objects</para></listitem>
<listitem><para><guimenuitem>Select all</guimenuitem>: Select all lines of the <link linkend="tables">table</link> of the current page</para></listitem>
<listitem><para><guimenuitem>Fast edit</guimenuitem>: Facilitates the creation of new <link linkend="transactions">transactions</link> by filling fields automatically based on previous transactions created</para></listitem>
- <listitem><para><guimenuitem>Find...</guimenuitem>: Open the <link linkend="search_and_process">Search and process</link> page with a predefined filter corresponding to the selected objects</para></listitem>
+ <listitem><para><guimenuitem>Find…</guimenuitem>: Open the <link linkend="search_and_process">Search and process</link> page with a predefined filter corresponding to the selected objects</para></listitem>
<listitem><para><guimenuitem>Switch highlight</guimenuitem>: Switch the highlight state of objects</para></listitem>
<listitem><para><guimenuitem>Switch close</guimenuitem>: Switch the close state of objects</para></listitem>
- <listitem><para><guimenuitem>Reconcile...</guimenuitem>: Open the <link linkend="transactions">Transactions</link> page in <link linkend="reconciliation">reconciliation</link> mode</para></listitem>
+ <listitem><para><guimenuitem>Reconcile…</guimenuitem>: Open the <link linkend="transactions">Transactions</link> page in <link linkend="reconciliation">reconciliation</link> mode</para></listitem>
<listitem><para><guimenuitem>Mark</guimenuitem>: Mark the selected transactions</para></listitem>
<listitem><para><guimenuitem>Group transactions</guimenuitem>: Group the selected transactions. It serves as a link between transactions. It is used in the case of transfers between accounts or in the case of buying/selling shares. You can use it for any other purpose. Be aware that reports and graphs allow you to ignore or to take into account the grouped transactions</para></listitem>
<listitem><para><guimenuitem>Ungroup transactions</guimenuitem>: Ungroup the selected transactions</para></listitem>
@@ -918,12 +918,12 @@
<listitem><para><guimenuitem>Home</guimenuitem>: Close all pages and reopen all bookmarks autostarted like when the document is opened</para></listitem>
<listitem><para><guimenuitem>Previous</guimenuitem>: Change the content of the current page with the content of the previous one (like in a web browser)</para></listitem>
<listitem><para><guimenuitem>Next</guimenuitem>: Change the content of the current page with the content of the next one. (like in a web browser)</para></listitem>
- <listitem><para><guimenuitem>Open highlights...</guimenuitem>: Open highlighted transactions</para></listitem>
- <listitem><para><guimenuitem>Open last modified...</guimenuitem>: Open transactions modified by the last action done</para></listitem>
- <listitem><para><guimenuitem>Open potential duplicates...</guimenuitem>: Open a page with transactions that have the same amounts and same dates</para></listitem>
- <listitem><para><guimenuitem>Open sub transactions...</guimenuitem>: Open sub transactions of the selected transaction. Similar to a double click</para></listitem>
- <listitem><para><guimenuitem>Open report...</guimenuitem>: Open a report based on the selection. This is really useful. For example: if you select two accounts and launch this action then the <link linkend="reports">report</link> page will be opened but only for transactions of those accounts</para></listitem>
- <listitem><para><guimenuitem>Open imported transactions not yet validated...</guimenuitem>: nothing to add</para></listitem>
+ <listitem><para><guimenuitem>Open highlights…</guimenuitem>: Open highlighted transactions</para></listitem>
+ <listitem><para><guimenuitem>Open last modified…</guimenuitem>: Open transactions modified by the last action done</para></listitem>
+ <listitem><para><guimenuitem>Open potential duplicates…</guimenuitem>: Open a page with transactions that have the same amounts and same dates</para></listitem>
+ <listitem><para><guimenuitem>Open sub transactions…</guimenuitem>: Open sub transactions of the selected transaction. Similar to a double click</para></listitem>
+ <listitem><para><guimenuitem>Open report…</guimenuitem>: Open a report based on the selection. This is really useful. For example: if you select two accounts and launch this action then the <link linkend="reports">report</link> page will be opened but only for transactions of those accounts</para></listitem>
+ <listitem><para><guimenuitem>Open imported transactions not yet validated…</guimenuitem>: nothing to add</para></listitem>
</itemizedlist>
<screenshot>
@@ -932,14 +932,14 @@
</mediaobject>
</screenshot>
<itemizedlist>
- <listitem><para><guimenuitem>Open transactions without category...</guimenuitem>: Open all transactions not having a category</para></listitem>
- <listitem><para><guimenuitem>Open transfers without category...</guimenuitem>: Open all transfers not having a category</para></listitem>
- <listitem><para><guimenuitem>Open transactions without payee...</guimenuitem>: Open all transactions not having a payee</para></listitem>
- <listitem><para><guimenuitem>Open transfers without payee...</guimenuitem>: Open all transfers not having a payee</para></listitem>
- <listitem><para><guimenuitem>Open transactions without mode...</guimenuitem>: Open all transactions not having a mode</para></listitem>
- <listitem><para><guimenuitem>Open transactions with dates not aligned...</guimenuitem>: Open all single transactions not having the date aligned with its sub transaction</para></listitem>
- <listitem><para><guimenuitem>Open transactions with comments not aligned...</guimenuitem>: Open all single transactions not having the comment aligned with its sub transaction</para></listitem>
- <listitem><para><guimenuitem>Open transactions in groups with only one transaction...</guimenuitem>: Open all single transactions alone in a group</para></listitem>
+ <listitem><para><guimenuitem>Open transactions without category…</guimenuitem>: Open all transactions not having a category</para></listitem>
+ <listitem><para><guimenuitem>Open transfers without category…</guimenuitem>: Open all transfers not having a category</para></listitem>
+ <listitem><para><guimenuitem>Open transactions without payee…</guimenuitem>: Open all transactions not having a payee</para></listitem>
+ <listitem><para><guimenuitem>Open transfers without payee…</guimenuitem>: Open all transfers not having a payee</para></listitem>
+ <listitem><para><guimenuitem>Open transactions without mode…</guimenuitem>: Open all transactions not having a mode</para></listitem>
+ <listitem><para><guimenuitem>Open transactions with dates not aligned…</guimenuitem>: Open all single transactions not having the date aligned with its sub transaction</para></listitem>
+ <listitem><para><guimenuitem>Open transactions with comments not aligned…</guimenuitem>: Open all single transactions not having the comment aligned with its sub transaction</para></listitem>
+ <listitem><para><guimenuitem>Open transactions in groups with only one transaction…</guimenuitem>: Open all single transactions alone in a group</para></listitem>
<listitem><para><guimenuitem>Open very old transactions</guimenuitem>: As per the title</para></listitem>
</itemizedlist>
</sect2>
@@ -978,10 +978,10 @@
<listitem><para><guimenuitem>Show Menubar</guimenuitem>: To show or hide the menu</para></listitem>
<listitem><para><guimenuitem>Toolbars Shown</guimenuitem>: To show or hide the toolbars</para></listitem>
<listitem><para><guimenuitem>Show Statusbar</guimenuitem>: To show or hide the status bar</para></listitem>
- <listitem><para><guimenuitem>Configure Keyboard Shortcuts...</guimenuitem>: To change the shortcuts of each command</para></listitem>
- <listitem><para><guimenuitem>Configure Toolbars...</guimenuitem>: To modify the toolbars layouts</para></listitem>
- <listitem><para><guimenuitem>Configure Notifications...</guimenuitem>: To modify the notifications </para></listitem>
- <listitem><para><guimenuitem>Configure &skrooge;...</guimenuitem>: To access to the main <link linkend="settings">settings</link> of &skrooge;</para></listitem>
+ <listitem><para><guimenuitem>Configure Keyboard Shortcuts…</guimenuitem>: To change the shortcuts of each command</para></listitem>
+ <listitem><para><guimenuitem>Configure Toolbars…</guimenuitem>: To modify the toolbars layouts</para></listitem>
+ <listitem><para><guimenuitem>Configure Notifications…</guimenuitem>: To modify the notifications </para></listitem>
+ <listitem><para><guimenuitem>Configure &skrooge;…</guimenuitem>: To access to the main <link linkend="settings">settings</link> of &skrooge;</para></listitem>
</itemizedlist>
</sect2>
</sect1>
@@ -1373,7 +1373,7 @@
<varlistentry>
<term>Mode</term>
<listitem>
- <para>What was the payment mode used for this transaction. Something in the line of Credit Card, Cheque, Deposit... You name it!</para>
+ <para>What was the payment mode used for this transaction. Something in the line of Credit Card, Cheque, Deposit… You name it!</para>
<para>Associated with the transaction mode, it is an optional number. It is mostly used to enter the check number, or a transfer number.</para>
</listitem>
</varlistentry>
@@ -1547,7 +1547,7 @@ file is opened. It is also recommended to create a different account (⪚ "ETF"
<sect2 id="reconciliation">
<title>Reconciliation</title>
<para>Reconciliation is the process by which you ensure that all transactions in an account match the bank's view of that account. It will involve you, your account's position, and a pen. Reconciliation can happen only for an account at one mark in time.</para>
- <para>First, enter all the transactions for the account up to that mark in time; if you can, download transactions from the bank and <link linkend="import">import</link> them into &skrooge; to minimize data entry. Then, in the Transactions view, select the account you wish to reconcile from the drop-down box; or in the Accounts view, double-click the account name or bring up the contextual menu and choose <menuchoice><guimenu>Open transactions...</guimenu></menuchoice>. Switch into reconciliation mode using the <guibutton>Switch Information button <inlinemediaobject><imageobject><imagedata fileref="switch_information.png" format="PNG"/></imageobject></inlinemediaobject></guibutton> below the transactions table.</para>
+ <para>First, enter all the transactions for the account up to that mark in time; if you can, download transactions from the bank and <link linkend="import">import</link> them into &skrooge; to minimize data entry. Then, in the Transactions view, select the account you wish to reconcile from the drop-down box; or in the Accounts view, double-click the account name or bring up the contextual menu and choose <menuchoice><guimenu>Open transactions…</guimenu></menuchoice>. Switch into reconciliation mode using the <guibutton>Switch Information button <inlinemediaobject><imageobject><imagedata fileref="switch_information.png" format="PNG"/></imageobject></inlinemediaobject></guibutton> below the transactions table.</para>
<screenshot>
<mediaobject>
@@ -1959,7 +1959,7 @@ file is opened. It is also recommended to create a different account (⪚ "ETF"
<title>Going Deeper</title>
<para>By double clicking on an item of a graph, you will open the transactions included in this item.</para>
<para>You can open a new report based on an item of a graph too.</para>
- <para>So you know you can make a deep analysis of your finances thanks to reports. But how deep is deep? Well, that's even deeper than you imagined... If you are interested, read the <link linkend="holidays_expenses_analysis">hands on exercise</link> analysing this author's expenses during its holidays :)</para>
+ <para>So you know you can make a deep analysis of your finances thanks to reports. But how deep is deep? Well, that's even deeper than you imagined… If you are interested, read the <link linkend="holidays_expenses_analysis">hands on exercise</link> analysing this author's expenses during its holidays :)</para>
</sect2>
@@ -2056,7 +2056,7 @@ file is opened. It is also recommended to create a different account (⪚ "ETF"
</varlistentry>
<varlistentry>
<term>Index</term>
- <listitem><para>A stock exchange index, such as the Dow Jones, NASDAQ, CAC40, SBF120...</para></listitem>
+ <listitem><para>A stock exchange index, such as the Dow Jones, NASDAQ, CAC40, SBF120…</para></listitem>
</varlistentry>
<varlistentry>
<term>Other</term>
@@ -2711,7 +2711,7 @@ file is opened. It is also recommended to create a different account (⪚ "ETF"
</chapter>
<chapter id="howto">
- <title>How to...</title>
+ <title>How to…</title>
<qandaset id="faqlist">
<qandaentry>
<question id="howto_language">
@@ -2767,7 +2767,7 @@ file is opened. It is also recommended to create a different account (⪚ "ETF"
comment=REGEXPCAP:^N° de commande (.*)$|SET:Commande %1
amount=REGEXP:^Montant global:$|LINEOFFSET:2
</programlisting>
- <para>Each attribute (payee, date, number, mode, comment and amount) use the same syntax: COMMAND:value|COMMAND:value|...</para>
+ <para>Each attribute (payee, date, number, mode, comment and amount) use the same syntax: COMMAND:value|COMMAND:value|…</para>
<para>The command can be:</para>
<itemizedlist>
<listitem><para><command>REGEXPCAP</command>: This is a regular expression capturing a value</para></listitem>
@@ -2900,12 +2900,12 @@ file is opened. It is also recommended to create a different account (⪚ "ETF"
</imageobject>
</mediaobject>
</screenshot>
- <para>Let's move to more interesting stuff...</para>
+ <para>Let's move to more interesting stuff…</para>
</sect1>
<sect1 id="analysis_expenses_distribution">
<title>Expenses Distribution</title>
- <para>So this is all very good, but where did all that money go ? To find this out, let us build a report on the tracker. Right click on our tracker line and choose <guimenuitem>Open report...</guimenuitem>.</para>
+ <para>So this is all very good, but where did all that money go ? To find this out, let us build a report on the tracker. Right click on our tracker line and choose <guimenuitem>Open report…</guimenuitem>.</para>
<screenshot>
<mediaobject>
<imageobject>
@@ -2960,7 +2960,7 @@ file is opened. It is also recommended to create a different account (⪚ "ETF"
</imageobject>
</mediaobject>
</screenshot>
- <para>Hmm, not really interesting... But there are more subcategories. Let's expand it again:</para>
+ <para>Hmm, not really interesting… But there are more subcategories. Let's expand it again:</para>
<screenshot>
<mediaobject>
<imageobject>
diff --git a/doc/kde_docbook b/doc/kde_docbook
index c63e11d3b..1be3c0e31 100755
--- a/doc/kde_docbook
+++ b/doc/kde_docbook
@@ -4,7 +4,7 @@
export XML_CATALOG_FILES="/usr/share/kf5/kdoctools/customization/catalog.xml"
# Check if docbook is well formed
-echo "Running checkXML... ";
+echo "Running checkXML… ";
checkXML5 $1;
if [ $? -gt 0 ]; then
echo " -> checkXML failed !";
@@ -13,7 +13,7 @@ fi
echo " -> OK !";
# Convert to html
-echo "Running xsltproc... ";
+echo "Running xsltproc… ";
xsltproc -o $2 /usr/share/kf5/kdoctools/customization/kde-nochunk.xsl $1;
if [ $? -gt 0 ]; then
echo " -> xsltproc failed !";
diff --git a/plugins/generic/skg_advice/skgadviceplugin.cpp b/plugins/generic/skg_advice/skgadviceplugin.cpp
index 259428a2b..ae2d0b4fc 100644
--- a/plugins/generic/skg_advice/skgadviceplugin.cpp
+++ b/plugins/generic/skg_advice/skgadviceplugin.cpp
@@ -96,8 +96,8 @@ int SKGAdvicePlugin::getOrder() const
QStringList SKGAdvicePlugin::tips() const
{
QStringList output;
- output.push_back(i18nc("Description of a tip", "<p>... Skrooge can give you advice on how to manage your accounts. See the <a href=\"skg://dashboard_plugin\">dashboard</a>.</p>"));
- output.push_back(i18nc("Description of a tip", "<p>... Skrooge can automatically apply recommended corrections. See the <a href=\"skg://dashboard_plugin\">dashboard</a>.</p>"));
+ output.push_back(i18nc("Description of a tip", "<p>… Skrooge can give you advice on how to manage your accounts. See the <a href=\"skg://dashboard_plugin\">dashboard</a>.</p>"));
+ output.push_back(i18nc("Description of a tip", "<p>… Skrooge can automatically apply recommended corrections. See the <a href=\"skg://dashboard_plugin\">dashboard</a>.</p>"));
return output;
}
diff --git a/plugins/generic/skg_advice/skgtipofdayboardwidget.ui b/plugins/generic/skg_advice/skgtipofdayboardwidget.ui
index dac109501..89de865e6 100644
--- a/plugins/generic/skg_advice/skgtipofdayboardwidget.ui
+++ b/plugins/generic/skg_advice/skgtipofdayboardwidget.ui
@@ -47,7 +47,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
</font>
</property>
<property name="text">
- <string>Did you know ...?</string>
+ <string>Did you know …?</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
diff --git a/plugins/generic/skg_bookmark/skgbookmarkplugin.cpp b/plugins/generic/skg_bookmark/skgbookmarkplugin.cpp
index 5ad38e716..83b8a19be 100644
--- a/plugins/generic/skg_bookmark/skgbookmarkplugin.cpp
+++ b/plugins/generic/skg_bookmark/skgbookmarkplugin.cpp
@@ -166,10 +166,10 @@ QString SKGBookmarkPlugin::icon() const
QStringList SKGBookmarkPlugin::tips() const
{
QStringList output;
- output.push_back(i18nc("Description of a tips", "<p>... some bookmarks can be opened automatically when the application is launched.</p>"));
- output.push_back(i18nc("Description of a tips", "<p>... bookmarks can be reorganized by drag & drop.</p>"));
- output.push_back(i18nc("Description of a tips", "<p>... a double click on a folder of bookmarks will open all the bookmarks it contains.</p>"));
- output.push_back(i18nc("Description of a tips", "<p>... you can <a href=\"skg://import_standard_bookmarks\">import standard bookmarks</a>.</p>"));
+ output.push_back(i18nc("Description of a tips", "<p>… some bookmarks can be opened automatically when the application is launched.</p>"));
+ output.push_back(i18nc("Description of a tips", "<p>… bookmarks can be reorganized by drag & drop.</p>"));
+ output.push_back(i18nc("Description of a tips", "<p>… a double click on a folder of bookmarks will open all the bookmarks it contains.</p>"));
+ output.push_back(i18nc("Description of a tips", "<p>… you can <a href=\"skg://import_standard_bookmarks\">import standard bookmarks</a>.</p>"));
return output;
}
diff --git a/plugins/generic/skg_bookmark/skgbookmarkplugindockwidget.cpp b/plugins/generic/skg_bookmark/skgbookmarkplugindockwidget.cpp
index 519f79dfd..66d8143cc 100644
--- a/plugins/generic/skg_bookmark/skgbookmarkplugindockwidget.cpp
+++ b/plugins/generic/skg_bookmark/skgbookmarkplugindockwidget.cpp
@@ -138,7 +138,7 @@ void SKGBookmarkPluginDockWidget::initMenu()
m_actRename->setShortcut(Qt::Key_F2);
connect(m_actRename, &QAction::triggered, this, &SKGBookmarkPluginDockWidget::onRenameBookmark);
- m_actChangeIcon = m_mainMenu->addAction(SKGServices::fromTheme(QStringLiteral("edit-image-face-add")), i18nc("Verb, change the icon of an item", "Change icon..."));
+ m_actChangeIcon = m_mainMenu->addAction(SKGServices::fromTheme(QStringLiteral("edit-image-face-add")), i18nc("Verb, change the icon of an item", "Change icon…"));
connect(m_actChangeIcon, &QAction::triggered, this, &SKGBookmarkPluginDockWidget::onChangeIconBookmark);
m_mainMenu->addSeparator();
diff --git a/plugins/generic/skg_dashboard/skgdashboardplugin.cpp b/plugins/generic/skg_dashboard/skgdashboardplugin.cpp
index 6840932a3..ea5d853ae 100644
--- a/plugins/generic/skg_dashboard/skgdashboardplugin.cpp
+++ b/plugins/generic/skg_dashboard/skgdashboardplugin.cpp
@@ -98,9 +98,9 @@ int SKGDashboardPlugin::getOrder() const
QStringList SKGDashboardPlugin::tips() const
{
QStringList output;
- output.push_back(i18nc("Description of a tips", "<p>... the <a href=\"skg://dashboard_plugin\">dashboard</a> is there to give you a summary of your situation.</p>"));
- output.push_back(i18nc("Description of a tips", "<p>... the <a href=\"skg://dashboard_plugin\">dashboard</a> can be reorganized by drag and drop.</p>"));
- output.push_back(i18nc("Description of a tips", "<p>... some widgets of the <a href=\"skg://dashboard_plugin\">dashboard</a> have parameters.</p>"));
+ output.push_back(i18nc("Description of a tips", "<p>… the <a href=\"skg://dashboard_plugin\">dashboard</a> is there to give you a summary of your situation.</p>"));
+ output.push_back(i18nc("Description of a tips", "<p>… the <a href=\"skg://dashboard_plugin\">dashboard</a> can be reorganized by drag and drop.</p>"));
+ output.push_back(i18nc("Description of a tips", "<p>… some widgets of the <a href=\"skg://dashboard_plugin\">dashboard</a> have parameters.</p>"));
return output;
}
diff --git a/plugins/generic/skg_dashboard/skgdashboardwidget.cpp b/plugins/generic/skg_dashboard/skgdashboardwidget.cpp
index 19f31a600..cdc6df489 100644
--- a/plugins/generic/skg_dashboard/skgdashboardwidget.cpp
+++ b/plugins/generic/skg_dashboard/skgdashboardwidget.cpp
@@ -116,7 +116,7 @@ SKGDashboardWidget::SKGDashboardWidget(QWidget* iParent, SKGDocument* iDocument,
// Build menu
if (m_addMenu != nullptr) {
// Add layouts sub menu
- auto layoutMenu = m_addMenu->addMenu(SKGServices::fromTheme(QStringLiteral("labplot-editbreaklayout")), i18nc("Verb", "Choose layout ..."));
+ auto layoutMenu = m_addMenu->addMenu(SKGServices::fromTheme(QStringLiteral("labplot-editbreaklayout")), i18nc("Verb", "Choose layout …"));
auto alignmentGroup = new QActionGroup(this);
{
m_layoutF = layoutMenu->addAction(i18nc("Verb", "Flow"));
@@ -190,7 +190,7 @@ SKGDashboardWidget::SKGDashboardWidget(QWidget* iParent, SKGDocument* iDocument,
for (int j = 0; j < nbdbw; ++j) {
added++;
if (added % 10 == 0) {
- currentMenu = currentMenu->addMenu(SKGServices::fromTheme(QStringLiteral("list-add")), i18nc("Verb", "More ..."));
+ currentMenu = currentMenu->addMenu(SKGServices::fromTheme(QStringLiteral("list-add")), i18nc("Verb", "More …"));
}
// Create menu
diff --git a/plugins/generic/skg_file/skgfileplugin.cpp b/plugins/generic/skg_file/skgfileplugin.cpp
index b7ca96630..74fbf36b2 100644
--- a/plugins/generic/skg_file/skgfileplugin.cpp
+++ b/plugins/generic/skg_file/skgfileplugin.cpp
@@ -81,7 +81,7 @@ bool SKGFilePlugin::setupActions(SKGDocument* iDocument)
registerGlobalAction(QStringLiteral("file_save"), m_saveAction);
registerGlobalAction(QStringLiteral("file_save_as"), KStandardAction::saveAs(this, SLOT(onSaveAs()), actionCollection()));
- auto actChangePassword = new QAction(SKGServices::fromTheme(QStringLiteral("document-encrypt")), i18nc("Action allowing the user to change his document password", "Change password..."), this);
+ auto actChangePassword = new QAction(SKGServices::fromTheme(QStringLiteral("document-encrypt")), i18nc("Action allowing the user to change his document password", "Change password…"), this);
connect(actChangePassword, &QAction::triggered, this, &SKGFilePlugin::onChangePassword);
actionCollection()->setDefaultShortcut(actChangePassword, Qt::CTRL + Qt::Key_K);
registerGlobalAction(QStringLiteral("file_change_password"), actChangePassword);
@@ -120,7 +120,7 @@ QStringList SKGFilePlugin::processArguments(const QStringList& iArgument)
if (SKGMainPanel::getMainPanel() != nullptr) {
QSplashScreen* splashScreen = SKGMainPanel::getMainPanel()->splashScreen();
if (splashScreen != nullptr) {
- splashScreen->showMessage(i18nc("Splash screen message", "Opening file %1...", filename), Qt::AlignLeft, QColor(221, 130, 8)); // krazy:exclude=qmethods
+ splashScreen->showMessage(i18nc("Splash screen message", "Opening file %1…", filename), Qt::AlignLeft, QColor(221, 130, 8)); // krazy:exclude=qmethods
}
}
Q_EMIT loadFile(QUrl::fromLocalFile(filename));
@@ -141,7 +141,7 @@ QStringList SKGFilePlugin::processArguments(const QStringList& iArgument)
if (SKGMainPanel::getMainPanel() != nullptr) {
QSplashScreen* splashScreen = SKGMainPanel::getMainPanel()->splashScreen();
if (splashScreen != nullptr) {
- splashScreen->showMessage(i18nc("Splash screen message", "Opening file %1...", lastOpenedFile), Qt::AlignLeft, QColor(221, 130, 8)); // krazy:exclude=qmethods
+ splashScreen->showMessage(i18nc("Splash screen message", "Opening file %1…", lastOpenedFile), Qt::AlignLeft, QColor(221, 130, 8)); // krazy:exclude=qmethods
}
}
Q_EMIT loadFile(QUrl::fromLocalFile(lastOpenedFile));
@@ -239,14 +239,14 @@ QString SKGFilePlugin::icon() const
QString SKGFilePlugin::toolTip() const
{
- return i18nc("File Management, as in Save File, Save As...", "File management");
+ return i18nc("File Management, as in Save File, Save As…", "File management");
}
QStringList SKGFilePlugin::tips() const
{
QStringList output;
- output.push_back(i18nc("Description of a tip", "<p>... the last opened file can be <a href=\"skg://tab_configure?page=File plugin\">open automatically</a> when the application is launched.</p>"));
- output.push_back(i18nc("Description of a tip", "<p>... you can secure your document with a <a href=\"skg://file_change_password\">password</a>.</p>"));
+ output.push_back(i18nc("Description of a tip", "<p>… the last opened file can be <a href=\"skg://tab_configure?page=File plugin\">open automatically</a> when the application is launched.</p>"));
+ output.push_back(i18nc("Description of a tip", "<p>… you can secure your document with a <a href=\"skg://file_change_password\">password</a>.</p>"));
return output;
}
diff --git a/plugins/generic/skg_monthly/skgmonthlyplugin.cpp b/plugins/generic/skg_monthly/skgmonthlyplugin.cpp
index 091a19be4..4065e19fa 100644
--- a/plugins/generic/skg_monthly/skgmonthlyplugin.cpp
+++ b/plugins/generic/skg_monthly/skgmonthlyplugin.cpp
@@ -176,9 +176,9 @@ int SKGMonthlyPlugin::getOrder() const
QStringList SKGMonthlyPlugin::tips() const
{
QStringList output;
- output.push_back(i18nc("Description of a tips", "<p>... you can generate a <a href=\"skg://monthly_plugin\">monthly report</a>.</p>"));
- output.push_back(i18nc("Description of a tips", "<p>... you can download more monthly report <a href=\"skg://monthly_plugin\">templates</a>.</p>"));
- output.push_back(i18nc("Description of a tips", "<p>... you can create and share your own <a href=\"skg://monthly_plugin\">monthly report</a> template.</p>"));
+ output.push_back(i18nc("Description of a tips", "<p>… you can generate a <a href=\"skg://monthly_plugin\">monthly report</a>.</p>"));
+ output.push_back(i18nc("Description of a tips", "<p>… you can download more monthly report <a href=\"skg://monthly_plugin\">templates</a>.</p>"));
+ output.push_back(i18nc("Description of a tips", "<p>… you can create and share your own <a href=\"skg://monthly_plugin\">monthly report</a> template.</p>"));
return output;
}
diff --git a/plugins/generic/skg_print/skgprintplugin.cpp b/plugins/generic/skg_print/skgprintplugin.cpp
index e9eadc2c2..52766c836 100644
--- a/plugins/generic/skg_print/skgprintplugin.cpp
+++ b/plugins/generic/skg_print/skgprintplugin.cpp
@@ -86,7 +86,7 @@ int SKGPrintPlugin::getOrder() const
QStringList SKGPrintPlugin::tips() const
{
QStringList output;
- output.push_back(i18nc("Description of a tips", "<p>... you can <a href=\"skg://file_print\">print</a> all opened pages.</p>"));
+ output.push_back(i18nc("Description of a tips", "<p>… you can <a href=\"skg://file_print\">print</a> all opened pages.</p>"));
return output;
}
diff --git a/plugins/generic/skg_properties/skgpropertiesplugin.cpp b/plugins/generic/skg_properties/skgpropertiesplugin.cpp
index e16dcb6a2..67f12e469 100644
--- a/plugins/generic/skg_properties/skgpropertiesplugin.cpp
+++ b/plugins/generic/skg_properties/skgpropertiesplugin.cpp
@@ -223,7 +223,7 @@ void SKGPropertiesPlugin::onShowAddPropertyMenu()
QIcon iconp = SKGServices::fromTheme(icon());
if (nb > 1) {
for (int i = 1; i < nb; ++i) {
- // Should the string below be translated ??? It contains no word...
+ // Should the string below be translated ??? It contains no word…
QAction* act = m_addPropertyMenu->addAction(iconp, i18nc("Add a property (attribute=value)", "Add %1=%2", listTmp.at(i).at(0), listTmp.at(i).at(1)));
if (act != nullptr) {
act->setData(listTmp.at(i));
@@ -244,7 +244,7 @@ void SKGPropertiesPlugin::onShowAddPropertyMenu()
}
// Add download on going
- QAction* act = m_addPropertyMenu->addAction(i18nc("Message", "Download list of available bills on going..."));
+ QAction* act = m_addPropertyMenu->addAction(i18nc("Message", "Download list of available bills on going…"));
if (act != nullptr) {
act->setEnabled(false);
}
@@ -280,14 +280,14 @@ void SKGPropertiesPlugin::onShowAddPropertyMenu()
menu = m_addPropertyMenu;
backendDone.insert(backend);
} else {
- // This item must be added in "More..." menu
+ // This item must be added in "More…" menu
if (menuMore == nullptr) {
- menuMore = new QMenu(i18nc("Noun", "More..."), m_addPropertyMenu);
+ menuMore = new QMenu(i18nc("Noun", "More…"), m_addPropertyMenu);
}
menu = menuMore;
}
- // Should the string below be translated ??? It contains no word...
+ // Should the string below be translated ??? It contains no word…
QAction* act = menu->addAction(icond, i18nc("Add a property (attribute=value)", "Download and add %1 (%2)", fields[3] % '.' % fields[2], fields[0]));
if (act != nullptr) {
act->setToolTip(fields[0]);
@@ -298,7 +298,7 @@ void SKGPropertiesPlugin::onShowAddPropertyMenu()
}
}
- // Add "More..." menu
+ // Add "More…" menu
if (menuMore != nullptr) {
m_addPropertyMenu->addMenu(menuMore);
}
@@ -339,9 +339,9 @@ int SKGPropertiesPlugin::getOrder() const
QStringList SKGPropertiesPlugin::tips() const
{
QStringList output;
- output.push_back(i18nc("Description of a tip", "<p>... you can manage properties on all objects.</p>"));
- output.push_back(i18nc("Description of a tip", "<p>... you can add files or Internet links as property.</p>"));
- output.push_back(i18nc("Description of a tip", "<p>... you can automatically download and add bills as properties by using %1.</p>", "weboob"));
+ output.push_back(i18nc("Description of a tip", "<p>… you can manage properties on all objects.</p>"));
+ output.push_back(i18nc("Description of a tip", "<p>… you can add files or Internet links as property.</p>"));
+ output.push_back(i18nc("Description of a tip", "<p>… you can automatically download and add bills as properties by using %1.</p>", "weboob"));
return output;
}
diff --git a/plugins/generic/skg_properties/skgpropertiesplugindockwidget_base.ui b/plugins/generic/skg_properties/skgpropertiesplugindockwidget_base.ui
index feb364b4d..659e2c79a 100644
--- a/plugins/generic/skg_properties/skgpropertiesplugindockwidget_base.ui
+++ b/plugins/generic/skg_properties/skgpropertiesplugindockwidget_base.ui
@@ -169,7 +169,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
<string>Open file</string>
</property>
<property name="text">
- <string>Open...</string>
+ <string>Open…</string>
</property>
</widget>
</item>
diff --git a/plugins/generic/skg_undoredo/skgundoredoplugin.cpp b/plugins/generic/skg_undoredo/skgundoredoplugin.cpp
index 83de0778c..c46f42492 100644
--- a/plugins/generic/skg_undoredo/skgundoredoplugin.cpp
+++ b/plugins/generic/skg_undoredo/skgundoredoplugin.cpp
@@ -220,8 +220,8 @@ QString SKGUndoRedoPlugin::toolTip() const
QStringList SKGUndoRedoPlugin::tips() const
{
QStringList output;
- output.push_back(i18nc("Description of a tips", "<p>... you can undo and redo your modifications.</p>"));
- output.push_back(i18nc("Description of a tips", "<p>... you can modify the maximum size of the undo/redo stack in the <a href=\"skg://tab_configure?page=Undo redo plugin\">settings</a>.</p>"));
+ output.push_back(i18nc("Description of a tips", "<p>… you can undo and redo your modifications.</p>"));
+ output.push_back(i18nc("Description of a tips", "<p>… you can modify the maximum size of the undo/redo stack in the <a href=\"skg://tab_configure?page=Undo redo plugin\">settings</a>.</p>"));
return output;
}
diff --git a/plugins/import/skrooge_import_backend/backends/org.kde.skrooge-import-backend-weboob.desktop b/plugins/import/skrooge_import_backend/backends/org.kde.skrooge-import-backend-weboob.desktop
index 45f592f5f..61d912e63 100644
--- a/plugins/import/skrooge_import_backend/backends/org.kde.skrooge-import-backend-weboob.desktop
+++ b/plugins/import/skrooge_import_backend/backends/org.kde.skrooge-import-backend-weboob.desktop
@@ -113,5 +113,5 @@ X-SKROOGE-getoperations=a="%parameter2" && b="%4" && m=$( [[ ${a} > ${b} ]] && e
#The csv columns. See CSV import settings for more detail.
X-SKROOGE-csvcolumns=date2|date1|mode|comment|payee|amount
-#The operating systems supported (linux, windows, osx, ...) or blank for all (see QSysInfo::kernelType)
+#The operating systems supported (linux, windows, osx, …) or blank for all (see QSysInfo::kernelType)
X-SKROOGE-ossupported=linux,freebsd,darwin
diff --git a/plugins/import/skrooge_import_backend/backends/org.kde.skrooge-import-backend-weboob_coming.desktop b/plugins/import/skrooge_import_backend/backends/org.kde.skrooge-import-backend-weboob_coming.desktop
index ddf50b628..efca4ce8d 100644
--- a/plugins/import/skrooge_import_backend/backends/org.kde.skrooge-import-backend-weboob_coming.desktop
+++ b/plugins/import/skrooge_import_backend/backends/org.kde.skrooge-import-backend-weboob_coming.desktop
@@ -119,5 +119,5 @@ X-SKROOGE-getoperations=PYTHONIOENCODING=utf_8 boobank -q -f csv coming "%1" -s
#The csv columns. See CSV import settings for more detail.
X-SKROOGE-csvcolumns=date2|date1|mode|comment|payee|amount
-#The operating systems supported (linux, windows, osx, ...) or blank for all (see QSysInfo::kernelType)
+#The operating systems supported (linux, windows, osx, …) or blank for all (see QSysInfo::kernelType)
X-SKROOGE-ossupported=linux,freebsd,darwin
diff --git a/plugins/import/skrooge_import_backend/backends/org.kde.skrooge-import-backend-woob-ofx.desktop b/plugins/import/skrooge_import_backend/backends/org.kde.skrooge-import-backend-woob-ofx.desktop
index 025568923..f7ba442b2 100644
--- a/plugins/import/skrooge_import_backend/backends/org.kde.skrooge-import-backend-woob-ofx.desktop
+++ b/plugins/import/skrooge_import_backend/backends/org.kde.skrooge-import-backend-woob-ofx.desktop
@@ -99,5 +99,5 @@ X-SKROOGE-getoperations=a="%parameter2" && b="%4" && m=$( [[ ${a} > ${b} ]] && e
#The operating file extension (default: csv)
X-SKROOGE-extension=ofx
-#The operating systems supported (linux, windows, osx, ...) or blank for all (see QSysInfo::kernelType)
+#The operating systems supported (linux, windows, osx, …) or blank for all (see QSysInfo::kernelType)
X-SKROOGE-ossupported=linux,freebsd,darwin
diff --git a/plugins/import/skrooge_import_backend/backends/org.kde.skrooge-import-backend-woob.desktop b/plugins/import/skrooge_import_backend/backends/org.kde.skrooge-import-backend-woob.desktop
index c700f10c1..b6ce06d26 100644
--- a/plugins/import/skrooge_import_backend/backends/org.kde.skrooge-import-backend-woob.desktop
+++ b/plugins/import/skrooge_import_backend/backends/org.kde.skrooge-import-backend-woob.desktop
@@ -111,5 +111,5 @@ X-SKROOGE-getoperations=a="%parameter2" && b="%4" && m=$( [[ ${a} > ${b} ]] && e
#The csv columns. See CSV import settings for more detail.
X-SKROOGE-csvcolumns=date2|date1|mode|comment|payee|amount
-#The operating systems supported (linux, windows, osx, ...) or blank for all (see QSysInfo::kernelType)
+#The operating systems supported (linux, windows, osx, …) or blank for all (see QSysInfo::kernelType)
X-SKROOGE-ossupported=linux,freebsd,darwin
diff --git a/plugins/import/skrooge_import_backend/backends/org.kde.skrooge-import-backend-woob_coming.desktop b/plugins/import/skrooge_import_backend/backends/org.kde.skrooge-import-backend-woob_coming.desktop
index 8bc73e6ec..f44da264a 100644
--- a/plugins/import/skrooge_import_backend/backends/org.kde.skrooge-import-backend-woob_coming.desktop
+++ b/plugins/import/skrooge_import_backend/backends/org.kde.skrooge-import-backend-woob_coming.desktop
@@ -112,5 +112,5 @@ X-SKROOGE-getoperations=PYTHONIOENCODING=utf_8 woob bank -q -f csv coming "%1" -
#The csv columns. See CSV import settings for more detail.
X-SKROOGE-csvcolumns=date2|date1|mode|comment|payee|amount
-#The operating systems supported (linux, windows, osx, ...) or blank for all (see QSysInfo::kernelType)
+#The operating systems supported (linux, windows, osx, …) or blank for all (see QSysInfo::kernelType)
X-SKROOGE-ossupported=linux,freebsd,darwin
diff --git a/plugins/import/skrooge_import_csv/skgimportplugincsv.cpp b/plugins/import/skrooge_import_csv/skgimportplugincsv.cpp
index 77fe40e32..4bf0abc87 100644
--- a/plugins/import/skrooge_import_csv/skgimportplugincsv.cpp
+++ b/plugins/import/skrooge_import_csv/skgimportplugincsv.cpp
@@ -184,11 +184,11 @@ SKGError SKGImportPluginCsv::setCSVMapping(const QStringList* iCSVMapping)
// Check if mandatory attributes have been found
if (m_importParameters.value(QStringLiteral("mode_csv_rule")) == QStringLiteral("Y")) {
if (!m_csvMapping.contains(QStringLiteral("payee")) || !m_csvMapping.contains(QStringLiteral("category"))) {
- err = SKGError(ERR_FAIL, i18nc("Error message", "Columns payee and category not found. Set import parameters in settings (Configure Skrooge... / Import/Export / CSV / Edit regular expressions...)."));
+ err = SKGError(ERR_FAIL, i18nc("Error message", "Columns payee and category not found. Set import parameters in settings (Configure Skrooge… / Import/Export / CSV / Edit regular expressions…)."));
}
} else {
if (!m_csvMapping.contains(QStringLiteral("date")) || !m_csvMapping.contains(QStringLiteral("amount"))) {
- err = SKGError(ERR_FAIL, i18nc("Error message", "Columns date and amount not found. Set import parameters in settings (Configure Skrooge... / Import/Export / CSV / Edit regular expressions...)."));
+ err = SKGError(ERR_FAIL, i18nc("Error message", "Columns date and amount not found. Set import parameters in settings (Configure Skrooge… / Import/Export / CSV / Edit regular expressions…)."));
}
}
}
diff --git a/plugins/skrooge/skrooge_bank/skgbankplugin.cpp b/plugins/skrooge/skrooge_bank/skgbankplugin.cpp
index 76142e5a7..6c880d070 100644
--- a/plugins/skrooge/skrooge_bank/skgbankplugin.cpp
+++ b/plugins/skrooge/skrooge_bank/skgbankplugin.cpp
@@ -60,7 +60,7 @@ bool SKGBankPlugin::setupActions(SKGDocument* iDocument)
setXMLFile(QStringLiteral("skrooge_bank.rc"));
// Menu
- auto actReconciliate = new QAction(SKGServices::fromTheme(QStringLiteral("window-duplicate")), i18nc("Verb: Reconciliation is process through which you ensure compliance with your bank's statement", "Reconcile..."), this);
+ auto actReconciliate = new QAction(SKGServices::fromTheme(QStringLiteral("window-duplicate")), i18nc("Verb: Reconciliation is process through which you ensure compliance with your bank's statement", "Reconcile…"), this);
connect(actReconciliate, &QAction::triggered, this, &SKGBankPlugin::onReconciliate);
actionCollection()->setDefaultShortcut(actReconciliate, Qt::ALT + Qt::Key_R);
registerGlobalAction(QStringLiteral("edit_reconcile"), actReconciliate, QStringList() << QStringLiteral("account"), 1, -1, 320);
@@ -122,7 +122,7 @@ SKGBoardWidget* SKGBankPlugin::getDashboardWidget(int iIndex)
QStringList overlayopen;
overlayopen.push_back(QStringLiteral("quickopen"));
- auto open = new QAction(SKGServices::fromTheme(QStringLiteral("view-statistics"), overlayopen), i18nc("Verb", "Open report..."), w);
+ auto open = new QAction(SKGServices::fromTheme(QStringLiteral("view-statistics"), overlayopen), i18nc("Verb", "Open report…"), w);
connect(open, &QAction::triggered, SKGMainPanel::getMainPanel(), [ = ]() {
SKGMainPanel::getMainPanel()->SKGMainPanel::openPage();
});
@@ -186,9 +186,9 @@ QString SKGBankPlugin::toolTip() const
QStringList SKGBankPlugin::tips() const
{
QStringList output;
- output.push_back(i18nc("Description of a tip", "<p>... you can associate a logo with your <a href=\"skg://skrooge_bank_plugin\">banks</a>.</p>"));
- output.push_back(i18nc("Description of a tip", "<p>... <a href=\"skg://skrooge_bank_plugin\">accounts</a> can be merged by drag & drop.</p>"));
- output.push_back(i18nc("Description of a tip", "<p>... you can set a minimum and a maximum limit on your <a href=\"skg://skrooge_bank_plugin\">accounts</a>. This will trigger an alarm.</p>"));
+ output.push_back(i18nc("Description of a tip", "<p>… you can associate a logo with your <a href=\"skg://skrooge_bank_plugin\">banks</a>.</p>"));
+ output.push_back(i18nc("Description of a tip", "<p>… <a href=\"skg://skrooge_bank_plugin\">accounts</a> can be merged by drag & drop.</p>"));
+ output.push_back(i18nc("Description of a tip", "<p>… you can set a minimum and a maximum limit on your <a href=\"skg://skrooge_bank_plugin\">accounts</a>. This will trigger an alarm.</p>"));
return output;
}
diff --git a/plugins/skrooge/skrooge_bank/skgbankpluginwidget.cpp b/plugins/skrooge/skrooge_bank/skgbankpluginwidget.cpp
index 45c4e87a0..bc8360a20 100644
--- a/plugins/skrooge/skrooge_bank/skgbankpluginwidget.cpp
+++ b/plugins/skrooge/skrooge_bank/skgbankpluginwidget.cpp
@@ -186,7 +186,7 @@ SKGBankPluginWidget::SKGBankPluginWidget(QWidget* iParent, SKGDocumentBank* iDoc
}
}
}
- ui.kAccountCreatorIcon->addItem(SKGServices::fromTheme(QStringLiteral("document-open-folder")), i18nc("Other type of bank account", "Other..."));
+ ui.kAccountCreatorIcon->addItem(SKGServices::fromTheme(QStringLiteral("document-open-folder")), i18nc("Other type of bank account", "Other…"));
file.close();
}
@@ -821,7 +821,7 @@ void SKGBankPluginWidget::refreshInfoZone()
SKGTRACEINFUNC(10)
auto* doc = qobject_cast<SKGDocumentBank*>(getDocument());
if (doc != nullptr) {
- ui.kInfo->setText(i18nc("Message", "Computing..."));
+ ui.kInfo->setText(i18nc("Message", "Computing…"));
doc->concurrentExecuteSelectSqliteOrder(QStringLiteral("SELECT TOTAL(f_TODAYAMOUNT), TOTAL(f_CURRENTAMOUNT), TOTAL(f_CHECKED), TOTAL(f_COMING_SOON) from v_account_display"), [ = ](const SKGStringListList & iResult) {
if (iResult.count() == 2 && SKGMainPanel::getMainPanel()->pageIndex(this) != -1) {
SKGServices::SKGUnitInfo primary = doc->getPrimaryUnit();
diff --git a/plugins/skrooge/skrooge_bank/skgbankpluginwidget_base.ui b/plugins/skrooge/skrooge_bank/skgbankpluginwidget_base.ui
index 9a2cd18b1..bc15abd83 100644
--- a/plugins/skrooge/skrooge_bank/skgbankpluginwidget_base.ui
+++ b/plugins/skrooge/skrooge_bank/skgbankpluginwidget_base.ui
@@ -20,7 +20,7 @@
<item>
<widget class="QLabel" name="kInfo">
<property name="text">
- <string>Computing...</string>
+ <string>Computing…</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
diff --git a/plugins/skrooge/skrooge_calculator/skgcalculatorplugin.cpp b/plugins/skrooge/skrooge_calculator/skgcalculatorplugin.cpp
index fbc53b185..6ff685397 100644
--- a/plugins/skrooge/skrooge_calculator/skgcalculatorplugin.cpp
+++ b/plugins/skrooge/skrooge_calculator/skgcalculatorplugin.cpp
@@ -105,7 +105,7 @@ QString SKGCalculatorPlugin::icon() const
QString SKGCalculatorPlugin::toolTip() const
{
- return i18nc("Compute financial simulations for various situations (interests...)", "Simulations");
+ return i18nc("Compute financial simulations for various situations (interests…)", "Simulations");
}
int SKGCalculatorPlugin::getOrder() const
@@ -116,7 +116,7 @@ int SKGCalculatorPlugin::getOrder() const
QStringList SKGCalculatorPlugin::tips() const
{
QStringList output;
- output.push_back(i18nc("Description of a tips", "<p>... you can use the <a href=\"skg://skrooge_calculator_plugin\">calculator</a> for many things</p>"));
+ output.push_back(i18nc("Description of a tips", "<p>… you can use the <a href=\"skg://skrooge_calculator_plugin\">calculator</a> for many things</p>"));
return output;
}
diff --git a/plugins/skrooge/skrooge_categories/fr/associations.qif b/plugins/skrooge/skrooge_categories/fr/associations.qif
index 4df6f28f0..5e9a9785a 100644
--- a/plugins/skrooge/skrooge_categories/fr/associations.qif
+++ b/plugins/skrooge/skrooge_categories/fr/associations.qif
@@ -632,7 +632,7 @@ I
N42. Personnel et comptes rattachés:4210. Personnel. Rémunérations dues
I
^
-N42. Personnel et comptes rattachés:4220. Comités d'entreprise, d'établissement...
+N42. Personnel et comptes rattachés:4220. Comités d'entreprise, d'établissement…
I
^
N42. Personnel et comptes rattachés:4250. Personnel. Avances et acomptes
@@ -998,7 +998,7 @@ I
N60. Achats (sauf 603):6060. Achats non stockés de matières et fournitures
I
^
-N60. Achats (sauf 603):6061. Fournitures non stockables (eau, électricité...)
+N60. Achats (sauf 603):6061. Fournitures non stockables (eau, électricité…)
I
^
N60. Achats (sauf 603):6063. Fournitures d'entretien et de petit équipement
@@ -1052,10 +1052,10 @@ I
N61. Services extérieurs:6150. Entretien et réparations
I
^
-N61. Services extérieurs:6152. ...sur biens immobiliers
+N61. Services extérieurs:6152. …sur biens immobiliers
I
^
-N61. Services extérieurs:6155. ...sur biens mobiliers
+N61. Services extérieurs:6155. …sur biens mobiliers
I
^
N61. Services extérieurs:6156. Maintenance
@@ -1127,7 +1127,7 @@ I
N62. Autres services extérieurs:6237. Publications
I
^
-N62. Autres services extérieurs:6238. Divers (pourboires, dons courants...)
+N62. Autres services extérieurs:6238. Divers (pourboires, dons courants…)
I
^
N62. Autres services extérieurs:6240. Transports de biens et transports collectifs de personnels
diff --git a/plugins/skrooge/skrooge_categories/fr/plan_comptable.qif b/plugins/skrooge/skrooge_categories/fr/plan_comptable.qif
index 986655dbb..316b5df06 100644
--- a/plugins/skrooge/skrooge_categories/fr/plan_comptable.qif
+++ b/plugins/skrooge/skrooge_categories/fr/plan_comptable.qif
@@ -1039,7 +1039,7 @@ N7-COMPTES DE PRODUITS > 75-Autres produits de gestion courante > 752-Revenus de
I
^
-N7-COMPTES DE PRODUITS > 75-Autres produits de gestion courante > 753-Jetons de présence et rémunérations d'administrateurs, gérants,...
+N7-COMPTES DE PRODUITS > 75-Autres produits de gestion courante > 753-Jetons de présence et rémunérations d'administrateurs, gérants,…
I
^
diff --git a/plugins/skrooge/skrooge_categories/skgcategoriesplugin.cpp b/plugins/skrooge/skrooge_categories/skgcategoriesplugin.cpp
index 9a29a4f7a..bd31d0cea 100644
--- a/plugins/skrooge/skrooge_categories/skgcategoriesplugin.cpp
+++ b/plugins/skrooge/skrooge_categories/skgcategoriesplugin.cpp
@@ -94,7 +94,7 @@ bool SKGCategoriesPlugin::setupActions(SKGDocument* iDocument)
registerGlobalAction(QStringLiteral("clean_delete_unused_categories"), deleteUnusedCategoriesAction);
// ------------
- auto actTmp = new QAction(SKGServices::fromTheme(icon()), i18nc("Verb", "Open similar categories..."), this);
+ auto actTmp = new QAction(SKGServices::fromTheme(icon()), i18nc("Verb", "Open similar categories…"), this);
actTmp->setData(QString("skg://skrooge_categories_plugin/?title_icon=" % icon() % "&title=" % SKGServices::encodeForUrl(i18nc("Noun, a list of items", "Similar categories")) %
"&whereClause=" % SKGServices::encodeForUrl(QStringLiteral("id IN (SELECT category.id FROM category, ("
"SELECT * FROM category C WHERE EXISTS (SELECT 1 FROM category p2 WHERE p2.id<>C.id AND upper(p2.t_fullname)=upper(C.t_fullname) AND p2.t_fullname<>C.t_fullname)) "
@@ -111,7 +111,7 @@ bool SKGCategoriesPlugin::setupActions(SKGDocument* iDocument)
SELECT v_category_display.t_name, v_category_display.id, cat.level+1
FROM v_category_display JOIN cat ON v_category_display.rd_category_id=cat.id
ORDER BY 2
- ) SELECT substr('..........',1,level*3) || t_fullname FROM cat;
+ ) SELECT substr('……….',1,level*3) || t_fullname FROM cat;
*/
return true;
}
@@ -287,8 +287,8 @@ QString SKGCategoriesPlugin::toolTip() const
QStringList SKGCategoriesPlugin::tips() const
{
QStringList output;
- output.push_back(i18nc("Description of a tips", "<p>... <a href=\"skg://skrooge_categories_plugin\">categories</a> can be reorganized by drag & drop.</p>"));
- output.push_back(i18nc("Description of a tips", "<p>... if you delete a <a href=\"skg://skrooge_categories_plugin\">category</a>, all transactions affected by this category will be associated to its parent category.</p>"));
+ output.push_back(i18nc("Description of a tips", "<p>… <a href=\"skg://skrooge_categories_plugin\">categories</a> can be reorganized by drag & drop.</p>"));
+ output.push_back(i18nc("Description of a tips", "<p>… if you delete a <a href=\"skg://skrooge_categories_plugin\">category</a>, all transactions affected by this category will be associated to its parent category.</p>"));
return output;
}
diff --git a/plugins/skrooge/skrooge_importexport/skgimportexportplugin.cpp b/plugins/skrooge/skrooge_importexport/skgimportexportplugin.cpp
index 5a8e1f958..4d6fbad40 100644
--- a/plugins/skrooge/skrooge_importexport/skgimportexportplugin.cpp
+++ b/plugins/skrooge/skrooge_importexport/skgimportexportplugin.cpp
@@ -77,7 +77,7 @@ bool SKGImportExportPlugin::setupActions(SKGDocument* iDocument)
QStringList overlay;
overlay.push_back(QStringLiteral("skrooge"));
- auto actImport = new QAction(SKGServices::fromTheme(QStringLiteral("document-import"), overlay), i18nc("Verb, action to import items from another format", "Import..."), this);
+ auto actImport = new QAction(SKGServices::fromTheme(QStringLiteral("document-import"), overlay), i18nc("Verb, action to import items from another format", "Import…"), this);
actionCollection()->setDefaultShortcut(actImport, Qt::CTRL + Qt::META + Qt::Key_I);
connect(actImport, &QAction::triggered, this, [ = ]() {
this->importFiles();
@@ -98,7 +98,7 @@ bool SKGImportExportPlugin::setupActions(SKGDocument* iDocument)
// Import CSV Unit
QStringList overlaycsv;
overlaycsv.push_back(QStringLiteral("text-csv"));
- auto actImportCsvUnit = new QAction(SKGServices::fromTheme(QStringLiteral("document-import"), overlaycsv), i18nc("Verb, action to import", "Import currency values..."), this);
+ auto actImportCsvUnit = new QAction(SKGServices::fromTheme(QStringLiteral("document-import"), overlaycsv), i18nc("Verb, action to import", "Import currency values…"), this);
connect(actImportCsvUnit, &QAction::triggered, this, [ = ]() {
this->importFiles(QList<QUrl>(), 2);
});
@@ -106,7 +106,7 @@ bool SKGImportExportPlugin::setupActions(SKGDocument* iDocument)
registerGlobalAction(QStringLiteral("import_csv_unit"), actImportCsvUnit);
// Import CSV Rule
- auto actImportCsvRule = new QAction(SKGServices::fromTheme(QStringLiteral("document-import"), overlaycsv), i18nc("Verb, action to import", "Import rules..."), this);
+ auto actImportCsvRule = new QAction(SKGServices::fromTheme(QStringLiteral("document-import"), overlaycsv), i18nc("Verb, action to import", "Import rules…"), this);
connect(actImportCsvRule, &QAction::triggered, this, [ = ]() {
this->importFiles(QList<QUrl>(), 3);
});
@@ -118,7 +118,7 @@ bool SKGImportExportPlugin::setupActions(SKGDocument* iDocument)
registerGlobalAction(QStringLiteral("export"), exports);
// Export
- auto actExportFile = new QAction(SKGServices::fromTheme(QStringLiteral("document-export")), i18nc("Verb, action to export items to another format", "Export..."), this);
+ auto actExportFile = new QAction(SKGServices::fromTheme(QStringLiteral("document-export")), i18nc("Verb, action to export items to another format", "Export…"), this);
connect(actExportFile, &QAction::triggered, this, &SKGImportExportPlugin::exportFile);
exports->addAction(actExportFile);
actionCollection()->setDefaultShortcut(actExportFile, Qt::CTRL + Qt::META + Qt::Key_E);
@@ -164,7 +164,7 @@ bool SKGImportExportPlugin::setupActions(SKGDocument* iDocument)
QStringList overlayopen;
overlayopen.push_back(QStringLiteral("quickopen"));
- auto actOpenNotValidated = new QAction(SKGServices::fromTheme(QStringLiteral("document-import"), overlayopen), i18nc("Verb, action to open", "Open imported transactions not yet validated..."), this);
+ auto actOpenNotValidated = new QAction(SKGServices::fromTheme(QStringLiteral("document-import"), overlayopen), i18nc("Verb, action to open", "Open imported transactions not yet validated…"), this);
actOpenNotValidated->setData(QString("skg://skrooge_operation_plugin/?title=" % SKGServices::encodeForUrl(i18nc("Noun, a list of items", "Transactions imported and not yet validated")) %
"&title_icon=" % SKGServices::encodeForUrl(icon()) %
"&operationWhereClause=" % SKGServices::encodeForUrl(QStringLiteral("t_imported='P'"))));
@@ -344,16 +344,16 @@ QString SKGImportExportPlugin::toolTip() const
QStringList SKGImportExportPlugin::tips() const
{
QStringList output;
- output.push_back(i18nc("Description of a tips", "<p>... skrooge is able to detect <a href=\"skg://tab_configure?page=Skrooge import and export plugin\">automatically</a> transfers after an import.</p>"));
- output.push_back(i18nc("Description of a tips", "<p>... you can automatically import transaction with <a href=\"skg://tab_configure?page=Skrooge import and export plugin\">backend</a>.</p>"));
- output.push_back(i18nc("Description of a tips", "<p>... you can <a href=\"skg://import_operation\">import</a> many files in one shot.</p>"));
- output.push_back(i18nc("Description of a tips", "<p>... unit amounts can be imported through a CSV file.</p>"));
- output.push_back(i18nc("Description of a tips", "<p>... you can customize your CSV import with regular expressions defined in <a href=\"skg://tab_configure?page=Skrooge import and export plugin\">setting</a> panel.</p>"));
- output.push_back(i18nc("Description of a tips", "<p>... you can export the full content of your document into a XML file.</p>"));
- output.push_back(i18nc("Description of a tips", "<p>... you can export some accounts or transactions just be selecting them before to launch the <a href=\"skg://export\">export_operation</a>.</p>"));
- output.push_back(i18nc("Description of a tips", "<p>... you can apply <a href=\"skg://skrooge_search_plugin\">automatic rules</a> after an import to set the right categories.</p>"));
- output.push_back(i18nc("Description of a tips", "<p>... you can convert file by using the batch tool '%1'.</p>", "skroogeconvert"));
- output.push_back(i18nc("Description of a tips", "<p>... skrooge uses the name of the imported file to find the target account.</p>"));
+ output.push_back(i18nc("Description of a tips", "<p>… skrooge is able to detect <a href=\"skg://tab_configure?page=Skrooge import and export plugin\">automatically</a> transfers after an import.</p>"));
+ output.push_back(i18nc("Description of a tips", "<p>… you can automatically import transaction with <a href=\"skg://tab_configure?page=Skrooge import and export plugin\">backend</a>.</p>"));
+ output.push_back(i18nc("Description of a tips", "<p>… you can <a href=\"skg://import_operation\">import</a> many files in one shot.</p>"));
+ output.push_back(i18nc("Description of a tips", "<p>… unit amounts can be imported through a CSV file.</p>"));
+ output.push_back(i18nc("Description of a tips", "<p>… you can customize your CSV import with regular expressions defined in <a href=\"skg://tab_configure?page=Skrooge import and export plugin\">setting</a> panel.</p>"));
+ output.push_back(i18nc("Description of a tips", "<p>… you can export the full content of your document into a XML file.</p>"));
+ output.push_back(i18nc("Description of a tips", "<p>… you can export some accounts or transactions just be selecting them before to launch the <a href=\"skg://export\">export_operation</a>.</p>"));
+ output.push_back(i18nc("Description of a tips", "<p>… you can apply <a href=\"skg://skrooge_search_plugin\">automatic rules</a> after an import to set the right categories.</p>"));
+ output.push_back(i18nc("Description of a tips", "<p>… you can convert file by using the batch tool '%1'.</p>", "skroogeconvert"));
+ output.push_back(i18nc("Description of a tips", "<p>… skrooge uses the name of the imported file to find the target account.</p>"));
return output;
}
diff --git a/plugins/skrooge/skrooge_importexport/skgimportexportpluginwidget_pref.ui b/plugins/skrooge/skrooge_importexport/skgimportexportpluginwidget_pref.ui
index 644227a40..adb994d13 100644
--- a/plugins/skrooge/skrooge_importexport/skgimportexportpluginwidget_pref.ui
+++ b/plugins/skrooge/skrooge_importexport/skgimportexportpluginwidget_pref.ui
@@ -342,14 +342,14 @@ SPDX-License-Identifier: GPL-3.0-or-later
<widget class="QLabel" name="kTypeLabel">
<property name="toolTip">
<string>Transaction mode (how you made the operation).
-Examples: Credit Card, Check, Transfer...
+Examples: Credit Card, Check, Transfer…
</string>
</property>
<property name="statusTip">
<string>Transaction mode</string>
</property>
<property name="text">
- <string comment="Noun, the mode used for payment of the transaction (Credit Card, Cheque, Transfer...)">Mode:</string>
+ <string comment="Noun, the mode used for payment of the transaction (Credit Card, Cheque, Transfer…)">Mode:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
@@ -792,7 +792,7 @@ p, li { white-space: pre-wrap; }
<bool>true</bool>
</property>
<property name="text">
- <string>Edit regular expressions...</string>
+ <string>Edit regular expressions…</string>
</property>
<property name="checkable">
<bool>true</bool>
diff --git a/plugins/skrooge/skrooge_operation/skgoperationboardwidgetqml.cpp b/plugins/skrooge/skrooge_operation/skgoperationboardwidgetqml.cpp
index cc5c935a5..7fa1be10c 100644
--- a/plugins/skrooge/skrooge_operation/skgoperationboardwidgetqml.cpp
+++ b/plugins/skrooge/skrooge_operation/skgoperationboardwidgetqml.cpp
@@ -40,7 +40,7 @@ SKGOperationBoardWidgetQml::SKGOperationBoardWidgetQml(QWidget* iParent, SKGDocu
QStringList overlayopen;
overlayopen.push_back(QStringLiteral("quickopen"));
- m_menuOpen = new QAction(SKGServices::fromTheme(QStringLiteral("view-statistics"), overlayopen), i18nc("Verb", "Open report..."), this);
+ m_menuOpen = new QAction(SKGServices::fromTheme(QStringLiteral("view-statistics"), overlayopen), i18nc("Verb", "Open report…"), this);
connect(m_menuOpen, &QAction::triggered, SKGMainPanel::getMainPanel(), [ = ]() {
SKGMainPanel::getMainPanel()->SKGMainPanel::openPage();
});
diff --git a/plugins/skrooge/skrooge_operation/skgoperationplugin.cpp b/plugins/skrooge/skrooge_operation/skgoperationplugin.cpp
index 9b2682c46..d647e4763 100644
--- a/plugins/skrooge/skrooge_operation/skgoperationplugin.cpp
+++ b/plugins/skrooge/skrooge_operation/skgoperationplugin.cpp
@@ -112,26 +112,26 @@ bool SKGOperationPlugin::setupActions(SKGDocument* iDocument)
QStringList overlayrun;
overlayrun.push_back(QStringLiteral("system-run"));
- auto actOpen = new QAction(SKGServices::fromTheme(icon(), overlayopen), i18nc("Verb", "Open transactions..."), this);
+ auto actOpen = new QAction(SKGServices::fromTheme(icon(), overlayopen), i18nc("Verb", "Open transactions…"), this);
connect(actOpen, &QAction::triggered, this, &SKGOperationPlugin::onOpenOperations);
registerGlobalAction(QStringLiteral("open"), actOpen, QStringList() << QStringLiteral("account") << QStringLiteral("unit") << QStringLiteral("category") << QStringLiteral("refund") << QStringLiteral("payee") << QStringLiteral("budget") << QStringLiteral("recurrentoperation") << QStringLiteral("operation") << QStringLiteral("suboperation") << QStringLiteral("rule"),
1, -1, 110);
- auto actOpen2 = new KToolBarPopupAction(SKGServices::fromTheme(icon(), overlayopen), i18nc("Verb", "Open transactions with ..."), this);
+ auto actOpen2 = new KToolBarPopupAction(SKGServices::fromTheme(icon(), overlayopen), i18nc("Verb", "Open transactions with …"), this);
m_openOperationsWithMenu = actOpen2->menu();
connect(m_openOperationsWithMenu, &QMenu::aboutToShow, this, &SKGOperationPlugin::onShowOpenWithMenu);
actOpen2->setStickyMenu(false);
actOpen2->setDelayed(false);
registerGlobalAction(QStringLiteral("open_operations_with"), actOpen2, QStringList() << QStringLiteral("operation") << QStringLiteral("suboperation"), 1, 1, 111);
- auto actOpen3 = new KToolBarPopupAction(SKGServices::fromTheme(icon(), overlayopen), i18nc("Verb", "Open sub transactions with ..."), this);
+ auto actOpen3 = new KToolBarPopupAction(SKGServices::fromTheme(icon(), overlayopen), i18nc("Verb", "Open sub transactions with …"), this);
m_openSubOperationsWithMenu = actOpen3->menu();
connect(m_openSubOperationsWithMenu, &QMenu::aboutToShow, this, &SKGOperationPlugin::onShowOpenWithMenu);
actOpen3->setStickyMenu(false);
actOpen3->setDelayed(false);
registerGlobalAction(QStringLiteral("open_suboperations_with"), actOpen3, QStringList() << QStringLiteral("operation") << QStringLiteral("suboperation"), 1, 1, 112);
- auto actOpenHighLights = new QAction(SKGServices::fromTheme(QStringLiteral("bookmarks"), overlayopen), i18nc("Verb", "Open highlights..."), this);
+ auto actOpenHighLights = new QAction(SKGServices::fromTheme(QStringLiteral("bookmarks"), overlayopen), i18nc("Verb", "Open highlights…"), this);
actOpenHighLights->setData(QString("skg://skrooge_operation_plugin/?title_icon=bookmarks&title=" % SKGServices::encodeForUrl(i18nc("Noun, a list of items", "Highlighted transactions")) %
"&operationWhereClause=t_bookmarked='Y'"));
connect(actOpenHighLights, &QAction::triggered, SKGMainPanel::getMainPanel(), [ = ]() {
@@ -141,7 +141,7 @@ bool SKGOperationPlugin::setupActions(SKGDocument* iDocument)
registerGlobalAction(QStringLiteral("view_open_highlight"), actOpenHighLights);
// ------------
- auto actOpenLastModified = new QAction(SKGServices::fromTheme(QStringLiteral("view-refresh"), overlayopen), i18nc("Verb", "Open last modified..."), this);
+ auto actOpenLastModified = new QAction(SKGServices::fromTheme(QStringLiteral("view-refresh"), overlayopen), i18nc("Verb", "Open last modified…"), this);
actOpenLastModified->setData(QString("skg://skrooge_operation_plugin/?title_icon=view-refresh&title=" % SKGServices::encodeForUrl(i18nc("Noun, a list of items", "Transactions modified or created during last action")) %
"&operationWhereClause=" % SKGServices::encodeForUrl(QStringLiteral("id in (SELECT i_object_id FROM doctransactionitem di, doctransaction dt WHERE dt.t_mode='U' AND +di.rd_doctransaction_id=dt.id AND di.t_object_table='operation'AND NOT EXISTS(select 1 from doctransaction B where B.i_parent=dt.id))"))));
connect(actOpenLastModified, &QAction::triggered, SKGMainPanel::getMainPanel(), [ = ]() {
@@ -151,7 +151,7 @@ bool SKGOperationPlugin::setupActions(SKGDocument* iDocument)
registerGlobalAction(QStringLiteral("view_open_last_modified"), actOpenLastModified);
// ------------
- auto actOpenModifiedByTransaction = new QAction(SKGServices::fromTheme(QStringLiteral("view-refresh"), overlayopen), i18nc("Verb", "Open transactions modified by this transaction..."), this);
+ auto actOpenModifiedByTransaction = new QAction(SKGServices::fromTheme(QStringLiteral("view-refresh"), overlayopen), i18nc("Verb", "Open transactions modified by this transaction…"), this);
connect(actOpenModifiedByTransaction, &QAction::triggered, SKGMainPanel::getMainPanel(), [ = ]() {
SKGObjectBase::SKGListSKGObjectBase selection = SKGMainPanel::getMainPanel()->getSelectedObjects();
if (!selection.isEmpty()) {
@@ -164,7 +164,7 @@ bool SKGOperationPlugin::setupActions(SKGDocument* iDocument)
registerGlobalAction(QStringLiteral("view_open_modified_by_transaction"), actOpenModifiedByTransaction, QStringList() << QStringLiteral("doctransaction"), 1, 1, 100);
// ------------
- auto actOpenSuboperations = new QAction(SKGServices::fromTheme(QStringLiteral("split"), overlayopen), i18nc("Verb", "Open sub transactions..."), this);
+ auto actOpenSuboperations = new QAction(SKGServices::fromTheme(QStringLiteral("split"), overlayopen), i18nc("Verb", "Open sub transactions…"), this);
actOpenSuboperations->setData(QString("skg://skrooge_operation_plugin/SKGOPERATION_CONSOLIDATED_DEFAULT_PARAMETERS/?title_icon=split&operationTable=v_suboperation_consolidated&operationWhereClause=&title=" % SKGServices::encodeForUrl(i18nc("Noun, a list of items", "Sub transactions")) % "#" % SKGServices::encodeForUrl(i18nc("Noun, a list of items", "Sub transactions"))));
connect(actOpenSuboperations, &QAction::triggered, SKGMainPanel::getMainPanel(), [ = ]() {
SKGMainPanel::getMainPanel()->SKGMainPanel::openPage();
@@ -173,7 +173,7 @@ bool SKGOperationPlugin::setupActions(SKGDocument* iDocument)
registerGlobalAction(QStringLiteral("view_open_suboperations"), actOpenSuboperations);
// ------------
- auto actOpenDuplicate = new QAction(SKGServices::fromTheme(QStringLiteral("window-duplicate"), overlayopen), i18nc("Verb", "Open potential duplicates..."), this);
+ auto actOpenDuplicate = new QAction(SKGServices::fromTheme(QStringLiteral("window-duplicate"), overlayopen), i18nc("Verb", "Open potential duplicates…"), this);
actOpenDuplicate->setData(QString("skg://skrooge_operation_plugin/?title_icon=window-duplicate&title=" % SKGServices::encodeForUrl(i18nc("Noun, a list of items", "Transactions potentially duplicated")) %
"&operationWhereClause=" % SKGServices::encodeForUrl("id in (SELECT o1.id FROM v_operation o1 WHERE EXISTS (SELECT 1 FROM v_operation o2 WHERE o1.id<>o2.id AND o1.t_template='N' AND o2.t_template='N' AND o1.d_date=o2.d_date AND ABS(o1.f_CURRENTAMOUNT-o2.f_CURRENTAMOUNT)<" % SKGServices::doubleToString(EPSILON) % " AND o1.rd_account_id=o2.rd_account_id AND o1.rc_unit_id=o2.rc_unit_id AND (o1.t_status<>'Y' OR o2.t_status<>'Y')))")));
connect(actOpenDuplicate, &QAction::triggered, SKGMainPanel::getMainPanel(), [ = ]() {
@@ -183,7 +183,7 @@ bool SKGOperationPlugin::setupActions(SKGDocument* iDocument)
registerGlobalAction(QStringLiteral("view_open_duplicates"), actOpenDuplicate);
// ------------
- auto actTmp = new QAction(SKGServices::fromTheme(QStringLiteral("exchange-positions"), overlayopen), i18nc("Verb", "Open transfers without payee..."), this);
+ auto actTmp = new QAction(SKGServices::fromTheme(QStringLiteral("exchange-positions"), overlayopen), i18nc("Verb", "Open transfers without payee…"), this);
actTmp->setData(QString("skg://skrooge_operation_plugin/?title_icon=user-group-properties&title=" % SKGServices::encodeForUrl(i18nc("Noun, a list of items", "Transfers without payee")) %
"&operationWhereClause=" % SKGServices::encodeForUrl(QStringLiteral("t_TRANSFER='Y' AND r_payee_id=0"))));
connect(actTmp, &QAction::triggered, SKGMainPanel::getMainPanel(), [ = ]() {
@@ -192,7 +192,7 @@ bool SKGOperationPlugin::setupActions(SKGDocument* iDocument)
registerGlobalAction(QStringLiteral("view_open_transfers_without_payee"), actTmp);
// ------------
- actTmp = new QAction(SKGServices::fromTheme(QStringLiteral("user-group-properties"), overlayopen), i18nc("Verb", "Open transactions without payee..."), this);
+ actTmp = new QAction(SKGServices::fromTheme(QStringLiteral("user-group-properties"), overlayopen), i18nc("Verb", "Open transactions without payee…"), this);
actTmp->setData(QString("skg://skrooge_operation_plugin/?title_icon=user-group-properties&title=" % SKGServices::encodeForUrl(i18nc("Noun, a list of items", "Transactions without payee")) %
"&operationWhereClause=" % SKGServices::encodeForUrl(QStringLiteral("t_TRANSFER='N' AND r_payee_id=0"))));
connect(actTmp, &QAction::triggered, SKGMainPanel::getMainPanel(), [ = ]() {
@@ -201,7 +201,7 @@ bool SKGOperationPlugin::setupActions(SKGDocument* iDocument)
registerGlobalAction(QStringLiteral("view_open_operation_without_payee"), actTmp);
// ------------
- actTmp = new QAction(SKGServices::fromTheme(QStringLiteral("exchange-positions"), overlayopen), i18nc("Verb", "Open transfers without category..."), this);
+ actTmp = new QAction(SKGServices::fromTheme(QStringLiteral("exchange-positions"), overlayopen), i18nc("Verb", "Open transfers without category…"), this);
actTmp->setData(QString("skg://skrooge_operation_plugin/?title_icon=view-categories&title=" % SKGServices::encodeForUrl(i18nc("Noun, a list of items", "Transfers without category")) %
"&operationWhereClause=" % SKGServices::encodeForUrl(QStringLiteral("t_TRANSFER='Y' AND EXISTS (SELECT 1 FROM suboperation WHERE rd_operation_id=v_operation_display.id AND r_category_id=0)"))));
connect(actTmp, &QAction::triggered, SKGMainPanel::getMainPanel(), [ = ]() {
@@ -210,7 +210,7 @@ bool SKGOperationPlugin::setupActions(SKGDocument* iDocument)
registerGlobalAction(QStringLiteral("view_open_transfers_without_category"), actTmp);
// ------------
- actTmp = new QAction(SKGServices::fromTheme(QStringLiteral("view-categories"), overlayopen), i18nc("Verb", "Open transactions without category..."), this);
+ actTmp = new QAction(SKGServices::fromTheme(QStringLiteral("view-categories"), overlayopen), i18nc("Verb", "Open transactions without category…"), this);
actTmp->setData(QString("skg://skrooge_operation_plugin/?title_icon=view-categories&title=" % SKGServices::encodeForUrl(i18nc("Noun, a list of items", "Transactions without category")) %
"&operationWhereClause=" % SKGServices::encodeForUrl(QStringLiteral("t_TRANSFER='N' AND EXISTS (SELECT 1 FROM suboperation WHERE rd_operation_id=v_operation_display.id AND r_category_id=0)"))));
connect(actTmp, &QAction::triggered, SKGMainPanel::getMainPanel(), [ = ]() {
@@ -219,7 +219,7 @@ bool SKGOperationPlugin::setupActions(SKGDocument* iDocument)
registerGlobalAction(QStringLiteral("view_open_operation_without_category"), actTmp);
// ------------
- actTmp = new QAction(SKGServices::fromTheme(QStringLiteral("skrooge_credit_card"), overlayopen), i18nc("Verb", "Open transactions without mode..."), this);
+ actTmp = new QAction(SKGServices::fromTheme(QStringLiteral("skrooge_credit_card"), overlayopen), i18nc("Verb", "Open transactions without mode…"), this);
actTmp->setData(QString("skg://skrooge_operation_plugin/?title_icon=skrooge_credit_card&title=" % SKGServices::encodeForUrl(i18nc("Noun, a list of items", "Transactions without mode")) %
"&operationWhereClause=" % SKGServices::encodeForUrl(QStringLiteral("t_template='N' AND t_mode='' AND d_date<>'0000-00-00'"))));
connect(actTmp, &QAction::triggered, SKGMainPanel::getMainPanel(), [ = ]() {
@@ -228,7 +228,7 @@ bool SKGOperationPlugin::setupActions(SKGDocument* iDocument)
registerGlobalAction(QStringLiteral("view_open_operation_without_mode"), actTmp);
// ------------
- actTmp = new QAction(SKGServices::fromTheme(QStringLiteral("draw-freehand"), overlayopen), i18nc("Verb", "Open transactions with comments not aligned..."), this);
+ actTmp = new QAction(SKGServices::fromTheme(QStringLiteral("draw-freehand"), overlayopen), i18nc("Verb", "Open transactions with comments not aligned…"), this);
actTmp->setData(QString("skg://skrooge_operation_plugin/?title_icon=draw-freehand&title=" % SKGServices::encodeForUrl(i18nc("Noun, a list of items", "Transactions with comments not aligned")) %
"&operationWhereClause=" % SKGServices::encodeForUrl(QStringLiteral("id IN (SELECT op.id FROM operation op, suboperation so WHERE so.rd_operation_id=op.id AND so.t_comment<>op.t_comment AND (SELECT COUNT(1) FROM suboperation so2 WHERE so2.rd_operation_id=op.id)=1)"))));
connect(actTmp, &QAction::triggered, SKGMainPanel::getMainPanel(), [ = ]() {
@@ -237,7 +237,7 @@ bool SKGOperationPlugin::setupActions(SKGDocument* iDocument)
registerGlobalAction(QStringLiteral("view_open_operation_with_comment_not_aligned"), actTmp);
// ------------
- actTmp = new QAction(SKGServices::fromTheme(QStringLiteral("view-pim-calendar"), overlayopen), i18nc("Verb", "Open transactions with dates not aligned..."), this);
+ actTmp = new QAction(SKGServices::fromTheme(QStringLiteral("view-pim-calendar"), overlayopen), i18nc("Verb", "Open transactions with dates not aligned…"), this);
actTmp->setData(QString("skg://skrooge_operation_plugin/?title_icon=draw-freehand&title=" % SKGServices::encodeForUrl(i18nc("Noun, a list of items", "Transactions with dates not aligned")) %
"&operationWhereClause=" % SKGServices::encodeForUrl(QStringLiteral("id IN (SELECT op.id FROM operation op, suboperation so WHERE so.rd_operation_id=op.id AND (so.d_date<op.d_date OR (so.d_date<>op.d_date AND (SELECT COUNT(1) FROM suboperation so2 WHERE so2.rd_operation_id=op.id)=1)))"))));
connect(actTmp, &QAction::triggered, SKGMainPanel::getMainPanel(), [ = ]() {
@@ -246,7 +246,7 @@ bool SKGOperationPlugin::setupActions(SKGDocument* iDocument)
registerGlobalAction(QStringLiteral("view_open_operation_with_date_not_aligned"), actTmp);
// ------------
- actTmp = new QAction(SKGServices::fromTheme(QStringLiteral("exchange-positions"), overlayopen), i18nc("Verb", "Open transactions without payees category..."), this);
+ actTmp = new QAction(SKGServices::fromTheme(QStringLiteral("exchange-positions"), overlayopen), i18nc("Verb", "Open transactions without payees category…"), this);
actTmp->setData(QString("skg://skrooge_operation_plugin/?title_icon=view-categories&title=" % SKGServices::encodeForUrl(i18nc("Noun, a list of items", "Sub-transactions without payees category")) %
"&operationWhereClause=" % SKGServices::encodeForUrl(QStringLiteral("id IN (SELECT v_suboperation_consolidated.i_OPID FROM v_suboperation_consolidated INNER JOIN payee ON v_suboperation_consolidated.r_payee_id=payee.id WHERE payee.r_category_id!=0 AND v_suboperation_consolidated.r_category_id!=payee.r_category_id AND i_NBSUBOPERATIONS=1)"))));
connect(actTmp, &QAction::triggered, SKGMainPanel::getMainPanel(), [ = ]() {
@@ -274,7 +274,7 @@ bool SKGOperationPlugin::setupActions(SKGDocument* iDocument)
// ------------
- actTmp = new QAction(SKGServices::fromTheme(QStringLiteral("exchange-positions"), overlayopen), i18nc("Verb", "Open transactions in groups with only one transaction..."), this);
+ actTmp = new QAction(SKGServices::fromTheme(QStringLiteral("exchange-positions"), overlayopen), i18nc("Verb", "Open transactions in groups with only one transaction…"), this);
actTmp->setData(QString("skg://skrooge_operation_plugin/?title_icon=exchange-positions&title=" % SKGServices::encodeForUrl(i18nc("Noun, a list of items", "Transactions in groups with only one transaction")) %
"&operationWhereClause=" % SKGServices::encodeForUrl(QStringLiteral("v_operation_display.i_group_id<>0 AND (SELECT COUNT(1) FROM operation o WHERE o.i_group_id=v_operation_display.i_group_id)<2"))));
connect(actTmp, &QAction::triggered, SKGMainPanel::getMainPanel(), [ = ]() {
@@ -527,13 +527,13 @@ int SKGOperationPlugin::getOrder() const
QStringList SKGOperationPlugin::tips() const
{
QStringList output;
- output.push_back(i18nc("Description of a tips", "<p>... you can press +, -, CTRL + or CTRL - to quickly change dates.</p>"));
- output.push_back(i18nc("Description of a tips", "<p>... you can update many <a href=\"skg://skrooge_operation_plugin\">transactions</a> in one shot.</p>"));
- output.push_back(i18nc("Description of a tips", "<p>... you can double click on an <a href=\"skg://skrooge_operation_plugin\">operation</a> to show or edit sub transactions.</p>"));
- output.push_back(i18nc("Description of a tips", "<p>... you can duplicate an <a href=\"skg://skrooge_operation_plugin\">operation</a> including complex transactions (split, grouped, ...).</p>"));
- output.push_back(i18nc("Description of a tips", "<p>... you can create template of <a href=\"skg://skrooge_operation_plugin\">transactions</a>.</p>"));
- output.push_back(i18nc("Description of a tips", "<p>... you can group and ungroup <a href=\"skg://skrooge_operation_plugin\">transactions</a>.</p>"));
- output.push_back(i18nc("Description of a tips", "<p>... you have to indicate the sign of an <a href=\"skg://skrooge_operation_plugin\">operation</a> only if you want to force it, else it will be determined automatically with the <a href=\"skg://skrooge_category_plugin\">category</a>.</p>"));
+ output.push_back(i18nc("Description of a tips", "<p>… you can press +, -, CTRL + or CTRL - to quickly change dates.</p>"));
+ output.push_back(i18nc("Description of a tips", "<p>… you can update many <a href=\"skg://skrooge_operation_plugin\">transactions</a> in one shot.</p>"));
+ output.push_back(i18nc("Description of a tips", "<p>… you can double click on an <a href=\"skg://skrooge_operation_plugin\">operation</a> to show or edit sub transactions.</p>"));
+ output.push_back(i18nc("Description of a tips", "<p>… you can duplicate an <a href=\"skg://skrooge_operation_plugin\">operation</a> including complex transactions (split, grouped, …).</p>"));
+ output.push_back(i18nc("Description of a tips", "<p>… you can create template of <a href=\"skg://skrooge_operation_plugin\">transactions</a>.</p>"));
+ output.push_back(i18nc("Description of a tips", "<p>… you can group and ungroup <a href=\"skg://skrooge_operation_plugin\">transactions</a>.</p>"));
+ output.push_back(i18nc("Description of a tips", "<p>… you have to indicate the sign of an <a href=\"skg://skrooge_operation_plugin\">operation</a> only if you want to force it, else it will be determined automatically with the <a href=\"skg://skrooge_category_plugin\">category</a>.</p>"));
return output;
}
@@ -1061,7 +1061,7 @@ SKGAdviceList SKGOperationPlugin::advice(const QStringList& iIgnoredAdvice)
ad.setUUID("skgoperationplugin_duplicate|" % number % ';' % account);
ad.setPriority(7);
ad.setShortMessage(i18nc("Advice on making the best (short)", "Duplicate number %1 in account '%2'", number, account));
- ad.setLongMessage(i18nc("Advice on making the best (long)", "Your account '%1' contains more than one transaction with number %2.The transaction number should be unique (check number, transaction reference...)", account, number));
+ ad.setLongMessage(i18nc("Advice on making the best (long)", "Your account '%1' contains more than one transaction with number %2.The transaction number should be unique (check number, transaction reference…)", account, number));
autoCorrections.resize(0);
{
SKGAdvice::SKGAdviceAction a;
diff --git a/plugins/skrooge/skrooge_operation/skgoperationpluginwidget.cpp b/plugins/skrooge/skrooge_operation/skgoperationpluginwidget.cpp
index 0381acd35..932567a41 100644
--- a/plugins/skrooge/skrooge_operation/skgoperationpluginwidget.cpp
+++ b/plugins/skrooge/skrooge_operation/skgoperationpluginwidget.cpp
@@ -1706,7 +1706,7 @@ void SKGOperationPluginWidget::onRefreshInformationZone()
if (!current.isEmpty()) {
filter = "t_name='" % SKGServices::stringToSqlString(current) % '\'';
}
- ui.kInfo->setText(i18nc("Message", "Computing..."));
+ ui.kInfo->setText(i18nc("Message", "Computing…"));
doc->concurrentExecuteSelectSqliteOrder("SELECT TOTAL(f_CURRENTAMOUNT), TOTAL(f_CHECKED), TOTAL(f_COMING_SOON), TOTAL(f_COMING_SOON_FROM_LINKED_ACCOUNT) from v_account_display WHERE " % filter, [ = ](const SKGStringListList & iResult) {
if (iResult.count() == 2 && SKGMainPanel::getMainPanel()->pageIndex(this) != -1) {
SKGServices::SKGUnitInfo unit1 = doc->getPrimaryUnit();
diff --git a/plugins/skrooge/skrooge_operation/skgoperationpluginwidget_base.ui b/plugins/skrooge/skrooge_operation/skgoperationpluginwidget_base.ui
index e1c85c03b..792051abf 100644
--- a/plugins/skrooge/skrooge_operation/skgoperationpluginwidget_base.ui
+++ b/plugins/skrooge/skrooge_operation/skgoperationpluginwidget_base.ui
@@ -269,7 +269,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
<item>
<widget class="QLabel" name="kInfo">
<property name="text">
- <string comment="KDE::DoNotExtract">Computing...</string>
+ <string comment="KDE::DoNotExtract">Computing…</string>
</property>
<property name="scaledContents">
<bool>true</bool>
@@ -639,7 +639,7 @@ p, li { white-space: pre-wrap; }
</property>
<property name="toolTip">
<string>Transaction mode (how you made the operation).
-Examples: Credit Card, Check, Transfer...
+Examples: Credit Card, Check, Transfer…
</string>
</property>
<property name="statusTip">
diff --git a/plugins/skrooge/skrooge_payee/skgpayeeplugin.cpp b/plugins/skrooge/skrooge_payee/skgpayeeplugin.cpp
index 1bb92ff84..fdc5c3456 100644
--- a/plugins/skrooge/skrooge_payee/skgpayeeplugin.cpp
+++ b/plugins/skrooge/skrooge_payee/skgpayeeplugin.cpp
@@ -60,7 +60,7 @@ bool SKGPayeePlugin::setupActions(SKGDocument* iDocument)
registerGlobalAction(QStringLiteral("clean_delete_unused_payees"), deleteUnusedPayeesAction);
// ------------
- auto actTmp = new QAction(SKGServices::fromTheme(icon()), i18nc("Verb", "Open similar payees..."), this);
+ auto actTmp = new QAction(SKGServices::fromTheme(icon()), i18nc("Verb", "Open similar payees…"), this);
actTmp->setData(QString("skg://skrooge_payee_plugin/?title_icon=" % icon() % "&title=" % SKGServices::encodeForUrl(i18nc("Noun, a list of items", "Similar payees")) %
"&whereClause=" % SKGServices::encodeForUrl(QStringLiteral("EXISTS (SELECT 1 FROM payee p2 WHERE p2.id<>v_payee_display.id AND upper(p2.t_name)=upper(v_payee_display.t_name) AND p2.t_name<>v_payee_display.t_name)"))));
connect(actTmp, &QAction::triggered, SKGMainPanel::getMainPanel(), [ = ]() {
@@ -105,7 +105,7 @@ int SKGPayeePlugin::getOrder() const
QStringList SKGPayeePlugin::tips() const
{
QStringList output;
- output.push_back(i18nc("Description of a tips", "<p>... <a href=\"skg://skrooge_payee_plugin\">payees</a> can be merged by drag & drop.</p>"));
+ output.push_back(i18nc("Description of a tips", "<p>… <a href=\"skg://skrooge_payee_plugin\">payees</a> can be merged by drag & drop.</p>"));
return output;
}
diff --git a/plugins/skrooge/skrooge_report/skgreportboardwidget.cpp b/plugins/skrooge/skrooge_report/skgreportboardwidget.cpp
index 777039d86..ed2ff64eb 100644
--- a/plugins/skrooge/skrooge_report/skgreportboardwidget.cpp
+++ b/plugins/skrooge/skrooge_report/skgreportboardwidget.cpp
@@ -28,7 +28,7 @@ SKGReportBoardWidget::SKGReportBoardWidget(QWidget* iParent, SKGDocumentBank* iD
QStringList overlayopen;
overlayopen.push_back(QStringLiteral("quickopen"));
- auto open = new QAction(SKGServices::fromTheme(QStringLiteral("view-statistics"), overlayopen), i18nc("Verb", "Open report..."), this);
+ auto open = new QAction(SKGServices::fromTheme(QStringLiteral("view-statistics"), overlayopen), i18nc("Verb", "Open report…"), this);
connect(open, &QAction::triggered, this, &SKGReportBoardWidget::onOpen);
addAction(open);
diff --git a/plugins/skrooge/skrooge_report/skgreportplugin.cpp b/plugins/skrooge/skrooge_report/skgreportplugin.cpp
index a25d418b1..9fdc6dc88 100644
--- a/plugins/skrooge/skrooge_report/skgreportplugin.cpp
+++ b/plugins/skrooge/skrooge_report/skgreportplugin.cpp
@@ -66,7 +66,7 @@ bool SKGReportPlugin::setupActions(SKGDocument* iDocument)
// Menu
QStringList overlayopen;
overlayopen.push_back(QStringLiteral("quickopen"));
- auto actOpenReport = new QAction(SKGServices::fromTheme(QStringLiteral("view-statistics"), overlayopen), i18nc("Verb", "Open report..."), this);
+ auto actOpenReport = new QAction(SKGServices::fromTheme(QStringLiteral("view-statistics"), overlayopen), i18nc("Verb", "Open report…"), this);
connect(actOpenReport, &QAction::triggered, this, &SKGReportPlugin::onOpenReport);
actionCollection()->setDefaultShortcut(actOpenReport, Qt::META + Qt::Key_R);
registerGlobalAction(QStringLiteral("open_report"), actOpenReport,
@@ -75,7 +75,7 @@ bool SKGReportPlugin::setupActions(SKGDocument* iDocument)
// ---------------
{
- auto act = new QAction(SKGServices::fromTheme(QStringLiteral("security-low"), overlayopen), i18nc("Verb", "Open very old transactions..."), this);
+ auto act = new QAction(SKGServices::fromTheme(QStringLiteral("security-low"), overlayopen), i18nc("Verb", "Open very old transactions…"), this);
act->setData(QString("skg://skrooge_operation_plugin/?title_icon=security-low&title=" %
SKGServices::encodeForUrl(i18nc("Noun, a list of items", "Very old transactions")) %
"&operationWhereClause=" % SKGServices::encodeForUrl(QStringLiteral("d_date<=(SELECT date('now', 'localtime', '-50 year')) AND d_date<>'0000-00-00'"))));
@@ -87,7 +87,7 @@ bool SKGReportPlugin::setupActions(SKGDocument* iDocument)
// ---------------
{
- auto act = new QAction(SKGServices::fromTheme(QStringLiteral("security-low"), overlayopen), i18nc("Verb", "Open very far transactions in the future..."), this);
+ auto act = new QAction(SKGServices::fromTheme(QStringLiteral("security-low"), overlayopen), i18nc("Verb", "Open very far transactions in the future…"), this);
act->setData(QString("skg://skrooge_operation_plugin/?title_icon=security-low&title=" %
SKGServices::encodeForUrl(i18nc("Noun, a list of items", "Very far transactions in the future")) %
"&operationWhereClause=" % SKGServices::encodeForUrl(QStringLiteral("d_date>=(SELECT date('now', 'localtime', '+50 year'))"))));
@@ -194,9 +194,9 @@ int SKGReportPlugin::getOrder() const
QStringList SKGReportPlugin::tips() const
{
QStringList output;
- output.push_back(i18nc("Description of a tips", "<p>... you can double click on a value in <a href=\"skg://skrooge_report_plugin\">reports</a> to show corresponding transactions.</p>"));
- output.push_back(i18nc("Description of a tips", "<p>... you can open <a href=\"skg://skrooge_report_plugin\">reports</a> for selections made in other pages.</p>"));
- output.push_back(i18nc("Description of a tips", "<p>... you can export <a href=\"skg://skrooge_report_plugin\">reports</a> in many formats.</p>"));
+ output.push_back(i18nc("Description of a tips", "<p>… you can double click on a value in <a href=\"skg://skrooge_report_plugin\">reports</a> to show corresponding transactions.</p>"));
+ output.push_back(i18nc("Description of a tips", "<p>… you can open <a href=\"skg://skrooge_report_plugin\">reports</a> for selections made in other pages.</p>"));
+ output.push_back(i18nc("Description of a tips", "<p>… you can export <a href=\"skg://skrooge_report_plugin\">reports</a> in many formats.</p>"));
return output;
}
diff --git a/plugins/skrooge/skrooge_report/skgreportpluginwidget.cpp b/plugins/skrooge/skrooge_report/skgreportpluginwidget.cpp
index 8a33be4aa..5aa5402cc 100644
--- a/plugins/skrooge/skrooge_report/skgreportpluginwidget.cpp
+++ b/plugins/skrooge/skrooge_report/skgreportpluginwidget.cpp
@@ -91,13 +91,13 @@ SKGReportPluginWidget::SKGReportPluginWidget(QWidget* iParent, SKGDocumentBank*
QMenu* tableMenu = ui.kTableWithGraph->getTableContextualMenu();
if (tableMenu != nullptr) {
tableMenu->addSeparator();
- m_openAction = tableMenu->addAction(SKGServices::fromTheme(QStringLiteral("quickopen")), i18nc("Verb", "Open..."));
+ m_openAction = tableMenu->addAction(SKGServices::fromTheme(QStringLiteral("quickopen")), i18nc("Verb", "Open…"));
if (m_openAction != nullptr) {
m_openAction->setEnabled(false);
}
QStringList overlayopen;
overlayopen.push_back(QStringLiteral("quickopen"));
- m_openReportAction = tableMenu->addAction(SKGServices::fromTheme(QStringLiteral("view-statistics"), overlayopen), i18nc("Verb", "Open report..."));
+ m_openReportAction = tableMenu->addAction(SKGServices::fromTheme(QStringLiteral("view-statistics"), overlayopen), i18nc("Verb", "Open report…"));
if (m_openReportAction != nullptr) {
m_openReportAction->setEnabled(false);
}
diff --git a/plugins/skrooge/skrooge_scheduled/skgscheduledplugin.cpp b/plugins/skrooge/skrooge_scheduled/skgscheduledplugin.cpp
index 428bcefde..8cf5f2f7a 100644
--- a/plugins/skrooge/skrooge_scheduled/skgscheduledplugin.cpp
+++ b/plugins/skrooge/skrooge_scheduled/skgscheduledplugin.cpp
@@ -298,7 +298,7 @@ int SKGScheduledPlugin::getOrder() const
QStringList SKGScheduledPlugin::tips() const
{
QStringList output;
- output.push_back(i18nc("Description of a tips", "<p>... you can <a href=\"skg://skrooge_scheduled_plugin\">schedule</a> transactions or templates.</p>"));
+ output.push_back(i18nc("Description of a tips", "<p>… you can <a href=\"skg://skrooge_scheduled_plugin\">schedule</a> transactions or templates.</p>"));
return output;
}
diff --git a/plugins/skrooge/skrooge_search/skgsearchplugin.cpp b/plugins/skrooge/skrooge_search/skgsearchplugin.cpp
index 7950fdb14..ce7d9a145 100644
--- a/plugins/skrooge/skrooge_search/skgsearchplugin.cpp
+++ b/plugins/skrooge/skrooge_search/skgsearchplugin.cpp
@@ -341,8 +341,8 @@ int SKGSearchPlugin::getOrder() const
QStringList SKGSearchPlugin::tips() const
{
QStringList output;
- output.push_back(i18nc("Description of a tips", "<p>... skrooge can <a href=\"skg://skrooge_search_plugin\">search</a> and automatically process some transactions.</p>"));
- output.push_back(i18nc("Description of a tips", "<p>... you can create alarms based on <a href=\"skg://skrooge_search_plugin\">searches</a>.</p>"));
+ output.push_back(i18nc("Description of a tips", "<p>… skrooge can <a href=\"skg://skrooge_search_plugin\">search</a> and automatically process some transactions.</p>"));
+ output.push_back(i18nc("Description of a tips", "<p>… you can create alarms based on <a href=\"skg://skrooge_search_plugin\">searches</a>.</p>"));
return output;
}
diff --git a/plugins/skrooge/skrooge_tracker/skgtrackerplugin.cpp b/plugins/skrooge/skrooge_tracker/skgtrackerplugin.cpp
index b7e0fa297..52d8c58b3 100644
--- a/plugins/skrooge/skrooge_tracker/skgtrackerplugin.cpp
+++ b/plugins/skrooge/skrooge_tracker/skgtrackerplugin.cpp
@@ -88,7 +88,7 @@ int SKGTrackerPlugin::getOrder() const
QStringList SKGTrackerPlugin::tips() const
{
QStringList output;
- output.push_back(i18nc("Description of a tips", "<p>...you can follow your refunds by using a <a href=\"skg://skrooge_tracker_plugin\">tracker</a>.</p>"));
+ output.push_back(i18nc("Description of a tips", "<p>…you can follow your refunds by using a <a href=\"skg://skrooge_tracker_plugin\">tracker</a>.</p>"));
return output;
}
diff --git a/plugins/skrooge/skrooge_unit/skgunitboardwidget.cpp b/plugins/skrooge/skrooge_unit/skgunitboardwidget.cpp
index c855eea91..58159d8e6 100644
--- a/plugins/skrooge/skrooge_unit/skgunitboardwidget.cpp
+++ b/plugins/skrooge/skrooge_unit/skgunitboardwidget.cpp
@@ -49,7 +49,7 @@ SKGUnitBoardWidget::SKGUnitBoardWidget(QWidget* iParent, SKGDocument* iDocument)
});
addAction(m_menuCurrencies);
- m_menuIndexes = new QAction(i18nc("Financial indexes, used as an indicator of financial places' health. Examples : Dow Jones, CAC40, Nikkei...", "Indexes"), this);
+ m_menuIndexes = new QAction(i18nc("Financial indexes, used as an indicator of financial places' health. Examples : Dow Jones, CAC40, Nikkei…", "Indexes"), this);
m_menuIndexes->setCheckable(true);
m_menuIndexes->setChecked(true);
connect(m_menuIndexes, &QAction::triggered, this, [ = ]() {
diff --git a/plugins/skrooge/skrooge_unit/skgunitplugin.cpp b/plugins/skrooge/skrooge_unit/skgunitplugin.cpp
index 0ec7cd08d..88bf7ec99 100644
--- a/plugins/skrooge/skrooge_unit/skgunitplugin.cpp
+++ b/plugins/skrooge/skrooge_unit/skgunitplugin.cpp
@@ -61,7 +61,7 @@ bool SKGUnitPlugin::setupActions(SKGDocument* iDocument)
setXMLFile(QStringLiteral("skrooge_unit.rc"));
// Menu
- auto actSplitShare = new QAction(SKGServices::fromTheme(QStringLiteral("format-text-strikethrough")), i18nc("Verb", "Split share..."), this);
+ auto actSplitShare = new QAction(SKGServices::fromTheme(QStringLiteral("format-text-strikethrough")), i18nc("Verb", "Split share…"), this);
connect(actSplitShare, &QAction::triggered, this, &SKGUnitPlugin::onSplitShare);
actionCollection()->setDefaultShortcut(actSplitShare, Qt::ALT + Qt::Key_Slash);
registerGlobalAction(QStringLiteral("edit_split_stock"), actSplitShare, QStringList() << QStringLiteral("unit"), 1, 1, 310); // TODO(Stephane MANKOWSKI): must be a share
@@ -258,12 +258,12 @@ QString SKGUnitPlugin::toolTip() const
QStringList SKGUnitPlugin::tips() const
{
QStringList output;
- output.push_back(i18nc("Description of a tips", "<p>... you can download <a href=\"skg://skrooge_unit_plugin\">units</a>.</p>"));
- output.push_back(i18nc("Description of a tips", "<p>... <a href=\"skg://skrooge_unit_plugin\">units</a> can be downloaded <a href=\"skg://tab_configure?page=Skrooge Unit Plugin\">automatically</a> when a document is opened.</p>"));
- output.push_back(i18nc("Description of a tips", "<p>... you can split a <a href=\"skg://skrooge_unit_plugin\">share</a>.</p>"));
- output.push_back(i18nc("Description of a tips", "<p>... <a href=\"skg://skrooge_unit_plugin\">units</a> can be merged by drag & drop.</p>"));
- output.push_back(i18nc("Description of a tips", "<p>... you can download more <a href=\"skg://skrooge_unit_plugin\">sources</a> of quote.</p>"));
- output.push_back(i18nc("Description of a tips", "<p>... you can create and share your own source of quote.</p>"));
+ output.push_back(i18nc("Description of a tips", "<p>… you can download <a href=\"skg://skrooge_unit_plugin\">units</a>.</p>"));
+ output.push_back(i18nc("Description of a tips", "<p>… <a href=\"skg://skrooge_unit_plugin\">units</a> can be downloaded <a href=\"skg://tab_configure?page=Skrooge Unit Plugin\">automatically</a> when a document is opened.</p>"));
+ output.push_back(i18nc("Description of a tips", "<p>… you can split a <a href=\"skg://skrooge_unit_plugin\">share</a>.</p>"));
+ output.push_back(i18nc("Description of a tips", "<p>… <a href=\"skg://skrooge_unit_plugin\">units</a> can be merged by drag & drop.</p>"));
+ output.push_back(i18nc("Description of a tips", "<p>… you can download more <a href=\"skg://skrooge_unit_plugin\">sources</a> of quote.</p>"));
+ output.push_back(i18nc("Description of a tips", "<p>… you can create and share your own source of quote.</p>"));
return output;
}
diff --git a/plugins/skrooge/skrooge_unit/skgunitpluginwidget.cpp b/plugins/skrooge/skrooge_unit/skgunitpluginwidget.cpp
index eadcc082b..78527ee9d 100644
--- a/plugins/skrooge/skrooge_unit/skgunitpluginwidget.cpp
+++ b/plugins/skrooge/skrooge_unit/skgunitpluginwidget.cpp
@@ -79,7 +79,7 @@ SKGUnitPluginWidget::SKGUnitPluginWidget(QWidget* iParent, SKGDocumentBank* iDoc
QStringLiteral("highlighted"),
QLatin1String(""),
QStringLiteral("all"), Qt::META + Qt::Key_S);
- ui.kUnitTableViewEdition->getShowWidget()->addItem(QStringLiteral("index"), i18nc("Noun, a financial index like the Dow Jones, NASDAQ, CAC40...", "Index"), QLatin1String(""),
+ ui.kUnitTableViewEdition->getShowWidget()->addItem(QStringLiteral("index"), i18nc("Noun, a financial index like the Dow Jones, NASDAQ, CAC40…", "Index"), QLatin1String(""),
QStringLiteral("t_type='I'"),
QLatin1String(""),
QStringLiteral("highlighted"),
@@ -191,7 +191,7 @@ SKGUnitPluginWidget::SKGUnitPluginWidget(QWidget* iParent, SKGDocumentBank* iDoc
ui.kTypeCreatorUnit->addItem(i18nc("Noun", "Secondary currency"), static_cast<int>(SKGUnitObject::SECONDARY));
ui.kTypeCreatorUnit->addItem(i18nc("Noun, a country's currency", "Currency"), static_cast<int>(SKGUnitObject::CURRENCY));
ui.kTypeCreatorUnit->addItem(i18nc("Noun, a financial share, as in a stock market", "Share"), static_cast<int>(SKGUnitObject::SHARE));
- ui.kTypeCreatorUnit->addItem(i18nc("Noun, a financial index like the Dow Jones, NASDAQ, CAC40...", "Index"), static_cast<int>(SKGUnitObject::INDEX));
+ ui.kTypeCreatorUnit->addItem(i18nc("Noun, a financial index like the Dow Jones, NASDAQ, CAC40…", "Index"), static_cast<int>(SKGUnitObject::INDEX));
ui.kTypeCreatorUnit->addItem(i18nc("Noun, a physical object like a house or a car", "Object"), static_cast<int>(SKGUnitObject::OBJECT));
bool primaryUnit, secondaryUnit;
iDocument->existObjects(QStringLiteral("unit"), QStringLiteral("t_type='1'"), primaryUnit);
diff --git a/scripts/astyle.sh.in b/scripts/astyle.sh.in
index a311f57b1..a2e6a23ef 100755
--- a/scripts/astyle.sh.in
+++ b/scripts/astyle.sh.in
@@ -3,7 +3,7 @@
# Skrooge coding style is defined in http://techbase.kde.org/Policies/Kdelibs_Coding_Style
#
P="@CMAKE_SOURCE_DIR@"
-echo "Applying astyle rules..."
+echo "Applying astyle rules…"
astyle -n -v --indent=spaces=4 --style=linux --align-pointer=type \
--indent-labels --pad-oper --unpad-paren --pad-header \
--keep-one-line-statements --convert-tabs \
diff --git a/skgbankgui/skgpredicatcreator.cpp b/skgbankgui/skgpredicatcreator.cpp
index 63ea46d50..b1221685e 100644
--- a/skgbankgui/skgpredicatcreator.cpp
+++ b/skgbankgui/skgpredicatcreator.cpp
@@ -243,8 +243,8 @@ SKGPredicatCreator::SKGPredicatCreator(QWidget* iParent, SKGDocument* document,
for (int i = 0; i < nb; ++i) {
const QString& op = listOps.at(i);
QString nlsOp = SKGRuleObject::getDisplayForOperator(op,
- i18nc("Default value", "..."),
- i18nc("Default value", "..."),
+ i18nc("Default value", "…"),
+ i18nc("Default value", "…"),
i18nc("Noun, an item's attribute", "attribute"));
if (m_kOperator != nullptr) {
m_kOperator->addItem(nlsOp, op);
diff --git a/skgbankmodeler/skgdocumentbank.cpp b/skgbankmodeler/skgdocumentbank.cpp
index 2a0614453..1fad7233f 100644
--- a/skgbankmodeler/skgdocumentbank.cpp
+++ b/skgbankmodeler/skgdocumentbank.cpp
@@ -404,7 +404,7 @@ SKGError SKGDocumentBank::refreshViewsIndexesAndTriggers(bool iForce) const
"WHEN '2' THEN '" % SKGServices::stringToSqlString(i18nc("Noun", "Secondary currency")) % "' "
"WHEN 'C' THEN '" % SKGServices::stringToSqlString(i18nc("Noun, a country's currency", "Currency")) % "' "
"WHEN 'S' THEN '" % SKGServices::stringToSqlString(i18nc("Noun, a financial share, as in a stock market", "Share")) % "' "
- "WHEN 'I' THEN '" % SKGServices::stringToSqlString(i18nc("Noun, a financial index like the Dow Jones, NASDAQ, CAC40...", "Index")) % "' "
+ "WHEN 'I' THEN '" % SKGServices::stringToSqlString(i18nc("Noun, a financial index like the Dow Jones, NASDAQ, CAC40…", "Index")) % "' "
"ELSE '" % SKGServices::stringToSqlString(i18nc("Noun, a physical object like a house or a car", "Object")) % "' END) AS t_TYPENLS, "
"(SELECT MIN(s.d_date) FROM unitvalue s WHERE s.rd_unit_id=unit.id) AS d_MINDATE, "
"(SELECT MAX(s.d_date) FROM unitvalue s WHERE s.rd_unit_id=unit.id) AS d_MAXDATE "
@@ -1162,7 +1162,7 @@ QStringList SKGDocumentBank::getMigationSteps()
<< QStringLiteral("UPDATE node SET t_data=replace(t_data, 'period=\"\"10\"\"', 'period=\"\"3\"\" interval=\"\"3\"\" nb_intervals=\"\"3\"\"') WHERE t_data like '%Skrooge report plugin%'")
// Last 5 years
<< QStringLiteral("UPDATE node SET t_data=replace(t_data, 'period=\"\"11\"\"', 'period=\"\"3\"\" interval=\"\"3\"\" nb_intervals=\"\"5\"\"') WHERE t_data like '%Skrooge report plugin%'")
- // Custom...
+ // Custom…
<< QStringLiteral("UPDATE node SET t_data=replace(t_data, 'period=\"\"12\"\"', 'period=\"\"4\"\"') WHERE t_data like '%Skrooge report plugin%'")
// All without transfers
@@ -3055,7 +3055,7 @@ QString SKGDocumentBank::getDisplay(const QString& iString) const
return i18nc("Noun, a user comment on an item", "Sub comment");
}
if (output.endsWith(QLatin1String("t_mode"))) {
- return i18nc("Noun, the mode used for payment of the transaction (Credit Card, Cheque, Transfer...)", "Mode");
+ return i18nc("Noun, the mode used for payment of the transaction (Credit Card, Cheque, Transfer…)", "Mode");
}
if (output.contains(QStringLiteral("recurrentoperation")) && output.endsWith(QLatin1String("d_date"))) {
return i18nc("Noun", "Next occurrence");
@@ -3115,10 +3115,10 @@ QString SKGDocumentBank::getDisplay(const QString& iString) const
return i18nc("Adjective, a foreseen value", "To be Checked");
}
if (output.endsWith(QLatin1String("t_symbol"))) {
- return i18nc("Noun, ahe unit symbol, something in the line of $, €, £...", "Symbol");
+ return i18nc("Noun, ahe unit symbol, something in the line of $, €, £…", "Symbol");
}
if (output.endsWith(QLatin1String("t_country"))) {
- return i18nc("Noun, a country in the world (France, China...)", "Country");
+ return i18nc("Noun, a country in the world (France, China…)", "Country");
}
if (output.endsWith(QLatin1String("t_type")) ||
output.endsWith(QLatin1String("t_typenls"))) {
diff --git a/skgbankmodeler/skgruleobject.cpp b/skgbankmodeler/skgruleobject.cpp
index d12663dcc..c90e2fa57 100644
--- a/skgbankmodeler/skgruleobject.cpp
+++ b/skgbankmodeler/skgruleobject.cpp
@@ -331,115 +331,115 @@ QString SKGRuleObject::getDisplayForOperator(const QString& iOperator, const QSt
{
QString output = iOperator;
if (output == QStringLiteral("#ATT# LIKE '%#V1S#%'")) {
- output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, ...)", "contains '#V1S#'").replace(QStringLiteral("#V1S#"), iParam1);
+ output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, …)", "contains '#V1S#'").replace(QStringLiteral("#V1S#"), iParam1);
} else if (output == QStringLiteral("#ATT# NOT LIKE '%#V1S#%'")) {
- output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, ...)", "does not contain '#V1S#'").replace(QStringLiteral("#V1S#"), iParam1);
+ output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, …)", "does not contain '#V1S#'").replace(QStringLiteral("#V1S#"), iParam1);
} else if (output == QStringLiteral("#ATT# LIKE '#V1S#%'")) {
- output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, ...)", "starts with '#V1S#'").replace(QStringLiteral("#V1S#"), iParam1);
+ output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, …)", "starts with '#V1S#'").replace(QStringLiteral("#V1S#"), iParam1);
} else if (output == QStringLiteral("#ATT# NOT LIKE '#V1S#%'")) {
- output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, ...)", "does not start with '#V1S#'").replace(QStringLiteral("#V1S#"), iParam1);
+ output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, …)", "does not start with '#V1S#'").replace(QStringLiteral("#V1S#"), iParam1);
} else if (output == QStringLiteral("#ATT# LIKE '%#V1S#'")) {
- output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, ...)", "ends with '#V1S#'").replace(QStringLiteral("#V1S#"), iParam1);
+ output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, …)", "ends with '#V1S#'").replace(QStringLiteral("#V1S#"), iParam1);
} else if (output == QStringLiteral("#ATT# NOT LIKE '%#V1S#'")) {
- output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, ...)", "does not end with '#V1S#'").replace(QStringLiteral("#V1S#"), iParam1);
+ output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, …)", "does not end with '#V1S#'").replace(QStringLiteral("#V1S#"), iParam1);
} else if (output == QStringLiteral("#ATT#=''")) {
- output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, ...)", "is empty");
+ output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, …)", "is empty");
} else if (output == QStringLiteral("#ATT#!=''")) {
- output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, ...)", "is not empty");
+ output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, …)", "is not empty");
} else if (output == QStringLiteral("#ATT#=REGEXPCAPTURE('#V1S#', #ATT2#, #V2#)")) {
- output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, ...)", "=regexpcapture(#ATT2#, '#V1S#', #V2#)").replace(QStringLiteral("#V1S#"), iParam1).replace(QStringLiteral("#V2#"), iParam2).replace(QStringLiteral("#ATT2#"), iAtt2);
+ output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, …)", "=regexpcapture(#ATT2#, '#V1S#', #V2#)").replace(QStringLiteral("#V1S#"), iParam1).replace(QStringLiteral("#V2#"), iParam2).replace(QStringLiteral("#ATT2#"), iAtt2);
} else if (output == QStringLiteral("REGEXP('#V1S#', #ATT#)")) {
- output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, ...)", "regexp '#V1S#'").replace(QStringLiteral("#V1S#"), iParam1);
+ output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, …)", "regexp '#V1S#'").replace(QStringLiteral("#V1S#"), iParam1);
} else if (output == QStringLiteral("NOT(REGEXP('#V1S#', #ATT#))")) {
- output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, ...)", "not regexp '#V1S#'").replace(QStringLiteral("#V1S#"), iParam1);
+ output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, …)", "not regexp '#V1S#'").replace(QStringLiteral("#V1S#"), iParam1);
} else if (output == QStringLiteral("WILDCARD('#V1S#', #ATT#)")) {
- output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, ...)", "wildcard '#V1S#'").replace(QStringLiteral("#V1S#"), iParam1);
+ output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, …)", "wildcard '#V1S#'").replace(QStringLiteral("#V1S#"), iParam1);
} else if (output == QStringLiteral("NOT(WILDCARD('#V1S#', #ATT#))")) {
- output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, ...)", "not wildcard '#V1S#'").replace(QStringLiteral("#V1S#"), iParam1);
+ output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, …)", "not wildcard '#V1S#'").replace(QStringLiteral("#V1S#"), iParam1);
} else if (output == QStringLiteral("#ATT#=#V1#")) {
- output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, ...)", "=#V1#").replace(QStringLiteral("#V1#"), iParam1);
+ output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, …)", "=#V1#").replace(QStringLiteral("#V1#"), iParam1);
} else if (output == QStringLiteral("#ATT#!=#V1#")) {
- output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, ...)", "!=#V1#").replace(QStringLiteral("#V1#"), iParam1);
+ output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, …)", "!=#V1#").replace(QStringLiteral("#V1#"), iParam1);
} else if (output == QStringLiteral("#ATT#>#V1#")) {
- output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, ...)", ">#V1#").replace(QStringLiteral("#V1#"), iParam1);
+ output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, …)", ">#V1#").replace(QStringLiteral("#V1#"), iParam1);
} else if (output == QStringLiteral("#ATT#<#V1#")) {
- output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, ...)", "<#V1#").replace(QStringLiteral("#V1#"), iParam1);
+ output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, …)", "<#V1#").replace(QStringLiteral("#V1#"), iParam1);
} else if (output == QStringLiteral("#ATT#>=#V1#")) {
- output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, ...)", ">=#V1#").replace(QStringLiteral("#V1#"), iParam1);
+ output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, …)", ">=#V1#").replace(QStringLiteral("#V1#"), iParam1);
} else if (output == QStringLiteral("#ATT#<=#V1#")) {
- output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, ...)", "<=#V1#").replace(QStringLiteral("#V1#"), iParam1);
+ output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, …)", "<=#V1#").replace(QStringLiteral("#V1#"), iParam1);
} else if (output == QStringLiteral("#ATT#='#V1S#'")) {
- output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, ...)", "='#V1S#'").replace(QStringLiteral("#V1S#"), iParam1);
+ output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, …)", "='#V1S#'").replace(QStringLiteral("#V1S#"), iParam1);
} else if (output == QStringLiteral("#ATT#!='#V1S#'")) {
- output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, ...)", "!='#V1S#'").replace(QStringLiteral("#V1S#"), iParam1);
+ output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, …)", "!='#V1S#'").replace(QStringLiteral("#V1S#"), iParam1);
} else if (output == QStringLiteral("#ATT#>'#V1S#'")) {
- output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, ...)", ">'#V1S#'").replace(QStringLiteral("#V1S#"), iParam1);
+ output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, …)", ">'#V1S#'").replace(QStringLiteral("#V1S#"), iParam1);
} else if (output == QStringLiteral("#ATT#<'#V1S#'")) {
- output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, ...)", "<'#V1S#'").replace(QStringLiteral("#V1S#"), iParam1);
+ output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, …)", "<'#V1S#'").replace(QStringLiteral("#V1S#"), iParam1);
} else if (output == QStringLiteral("#ATT#>='#V1S#'")) {
- output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, ...)", ">='#V1S#'").replace(QStringLiteral("#V1S#"), iParam1);
+ output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, …)", ">='#V1S#'").replace(QStringLiteral("#V1S#"), iParam1);
} else if (output == QStringLiteral("#ATT#<='#V1S#'")) {
- output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, ...)", "<='#V1S#'").replace(QStringLiteral("#V1S#"), iParam1);
+ output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, …)", "<='#V1S#'").replace(QStringLiteral("#V1S#"), iParam1);
} else if (output == QStringLiteral("#ATT#>=#V1# AND #ATT#<=#V2#")) {
- output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, ...)", "is between #V1# and #V2#").replace(QStringLiteral("#V1#"), iParam1).replace(QStringLiteral("#V2#"), iParam2);
+ output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, …)", "is between #V1# and #V2#").replace(QStringLiteral("#V1#"), iParam1).replace(QStringLiteral("#V2#"), iParam2);
} else if (output == QStringLiteral("((#ATT#>='#V1S#' AND #ATT#<='#V2S#') OR (#ATT#>='#V2S#' AND #ATT#<='#V1S#'))")) {
- output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, ...)", "is between '#V1S#' and '#V2S#'").replace(QStringLiteral("#V1S#"), iParam1).replace(QStringLiteral("#V2S#"), iParam2);
+ output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, …)", "is between '#V1S#' and '#V2S#'").replace(QStringLiteral("#V1S#"), iParam1).replace(QStringLiteral("#V2S#"), iParam2);
} else if (output == QStringLiteral("#ATT#=lower(#ATT#)")) {
- output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, ...)", "is set to lower");
+ output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, …)", "is set to lower");
} else if (output == QStringLiteral("#ATT#=upper(#ATT#)")) {
- output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, ...)", "is set to upper");
+ output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, …)", "is set to upper");
} else if (output == QStringLiteral("#ATT#=capitalize(#ATT#)")) {
- output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, ...)", "is set to capitalize");
+ output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, …)", "is set to capitalize");
} else if (output == QStringLiteral("#ATT#!=lower(#ATT#)")) {
- output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, ...)", "is not lower");
+ output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, …)", "is not lower");
} else if (output == QStringLiteral("#ATT#!=upper(#ATT#)")) {
- output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, ...)", "is not upper");
+ output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, …)", "is not upper");
} else if (output == QStringLiteral("#ATT#!=capitalize(#ATT#)")) {
- output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, ...)", "is not capitalize");
+ output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, …)", "is not capitalize");
} else if (output == QStringLiteral("#ATT#= lower(#ATT#)")) {
- output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, ...)", "is lower");
+ output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, …)", "is lower");
} else if (output == QStringLiteral("#ATT#= upper(#ATT#)")) {
- output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, ...)", "is upper");
+ output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, …)", "is upper");
} else if (output == QStringLiteral("#ATT#= capitalize(#ATT#)")) {
- output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, ...)", "is capitalize");
+ output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, …)", "is capitalize");
} else if (output == QStringLiteral("#ATT#=replace(#ATT2#,'#V1S#','#V2S#')")) {
- output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, ...)", "=#ATT2# with '#V1S#' replaced by '#V2S#'").replace(QStringLiteral("#V1S#"), iParam1).replace(QStringLiteral("#V2S#"), iParam2).replace(QStringLiteral("#ATT2#"), iAtt2);
+ output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, …)", "=#ATT2# with '#V1S#' replaced by '#V2S#'").replace(QStringLiteral("#V1S#"), iParam1).replace(QStringLiteral("#V2S#"), iParam2).replace(QStringLiteral("#ATT2#"), iAtt2);
} else if (output == QStringLiteral("#ATT#=substr(#ATT2#,'#V1#','#V2#')")) {
- output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, ...)", "=substring of #ATT2# from #V1# to #V2#").replace(QStringLiteral("#V1#"), iParam1).replace(QStringLiteral("#V2#"), iParam2).replace(QStringLiteral("#ATT2#"), iAtt2);
+ output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, …)", "=substring of #ATT2# from #V1# to #V2#").replace(QStringLiteral("#V1#"), iParam1).replace(QStringLiteral("#V2#"), iParam2).replace(QStringLiteral("#ATT2#"), iAtt2);
} else if (output == QStringLiteral("#ATT#=#ATT2#")) {
- output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, ...)", "=#ATT2#").replace(QStringLiteral("#ATT2#"), iAtt2);
+ output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, …)", "=#ATT2#").replace(QStringLiteral("#ATT2#"), iAtt2);
} else if (output == QStringLiteral("#ATT#=WORD(#ATT2#,#V1S#)")) {
- output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, ...)", "=word(#ATT2#,#V1S#)").replace(QStringLiteral("#ATT2#"), iAtt2).replace(QStringLiteral("#V1S#"), iParam1);
+ output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, …)", "=word(#ATT2#,#V1S#)").replace(QStringLiteral("#ATT2#"), iAtt2).replace(QStringLiteral("#V1S#"), iParam1);
} else if (output == QStringLiteral("#ATT#=todate(#ATT2#,'#DF#')")) {
- output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, ...)", "=#ATT2# as date with format #DF#").replace(QStringLiteral("#ATT2#"), iAtt2).replace(QStringLiteral("#DF#"), iParam2);
+ output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, …)", "=#ATT2# as date with format #DF#").replace(QStringLiteral("#ATT2#"), iAtt2).replace(QStringLiteral("#DF#"), iParam2);
} else if (output == QStringLiteral("#ATT#=todate(WORD(#ATT2#,#V1S#),'#DF#')")) {
- output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, ...)", "=word(#ATT2#,#V1S#) as date with format #DF#").replace(QStringLiteral("#ATT2#"), iAtt2).replace(QStringLiteral("#V1S#"), iParam1).replace(QStringLiteral("#DF#"), iParam2);
+ output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, …)", "=word(#ATT2#,#V1S#) as date with format #DF#").replace(QStringLiteral("#ATT2#"), iAtt2).replace(QStringLiteral("#V1S#"), iParam1).replace(QStringLiteral("#DF#"), iParam2);
} else if (output == QStringLiteral("STRFTIME('%Y-%m',#ATT#)=STRFTIME('%Y-%m',date('now', 'localtime'))")) {
- output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, ...)", "is in current month");
+ output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, …)", "is in current month");
} else if (output == QStringLiteral("STRFTIME('%Y-%m',#ATT#)=STRFTIME('%Y-%m',date('now', 'localtime','start of month','-1 month'))")) {
- output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, ...)", "is in previous month");
+ output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, …)", "is in previous month");
} else if (output == QStringLiteral("STRFTIME('%Y',#ATT#)=STRFTIME('%Y',date('now', 'localtime'))")) {
- output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, ...)", "is in current year");
+ output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, …)", "is in current year");
} else if (output == QStringLiteral("STRFTIME('%Y',#ATT#)=STRFTIME('%Y',date('now', 'localtime','start of month','-1 year'))")) {
- output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, ...)", "is in previous year");
+ output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, …)", "is in previous year");
} else if (output == QStringLiteral("#ATT#>date('now', 'localtime','-30 day') AND #ATT#<=date('now', 'localtime')")) {
- output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, ...)", "is in last 30 days");
+ output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, …)", "is in last 30 days");
} else if (output == QStringLiteral("#ATT#>date('now', 'localtime','-3 month') AND #ATT#<=date('now', 'localtime')")) {
- output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, ...)", "is in last 3 months");
+ output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, …)", "is in last 3 months");
} else if (output == QStringLiteral("#ATT#>date('now', 'localtime','-6 month') AND #ATT#<=date('now', 'localtime')")) {
- output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, ...)", "is in last 6 months");
+ output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, …)", "is in last 6 months");
} else if (output == QStringLiteral("#ATT#>date('now', 'localtime','-12 month') AND #ATT#<=date('now', 'localtime')")) {
- output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, ...)", "is in last 12 months");
+ output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, …)", "is in last 12 months");
} else if (output == QStringLiteral("#ATT#>date('now', 'localtime','-2 year') AND #ATT#<=date('now', 'localtime')")) {
- output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, ...)", "is in last 2 years");
+ output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, …)", "is in last 2 years");
} else if (output == QStringLiteral("#ATT#>date('now', 'localtime','-3 year') AND #ATT#<=date('now', 'localtime')")) {
- output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, ...)", "is in last 3 years");
+ output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, …)", "is in last 3 years");
} else if (output == QStringLiteral("#ATT#>date('now', 'localtime','-5 year') AND #ATT#<=date('now', 'localtime')")) {
- output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, ...)", "is in last 5 years");
+ output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, …)", "is in last 5 years");
} else if (output == QStringLiteral("ABS(TOTAL(#ATT#))#OP##V1#,ABS(TOTAL(#ATT#)), #V1#, '#V2S#'")) {
- output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, ...)", "If total(#ATT#)#OP##V1# then send '#V2S#'").replace(QStringLiteral("#V1#"), iParam1).replace(QStringLiteral("#V2S#"), iParam2).replace(QStringLiteral("#OP#"), iAtt2);
+ output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, …)", "If total(#ATT#)#OP##V1# then send '#V2S#'").replace(QStringLiteral("#V1#"), iParam1).replace(QStringLiteral("#V2S#"), iParam2).replace(QStringLiteral("#OP#"), iAtt2);
} else if (output == QStringLiteral("APPLYTEMPLATE(#V1#)")) {
- output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, ...)", "Apply the template '#V2S#'").replace(QStringLiteral("#V2S#"), iParam2);
+ output = i18nc("Description of a condition. Do not translate key words (#V1S#, #V1#, …)", "Apply the template '#V2S#'").replace(QStringLiteral("#V2S#"), iParam2);
}
return output;
diff --git a/skgbankmodeler/skgunitobject.h b/skgbankmodeler/skgunitobject.h
index 617c23da8..ae9820f52 100644
--- a/skgbankmodeler/skgunitobject.h
+++ b/skgbankmodeler/skgunitobject.h
@@ -31,10 +31,10 @@ public:
*/
enum UnitType {PRIMARY, /**< to define the main currency (only one)*/
SECONDARY, /**< to define the secondary currency (only one)*/
- CURRENCY, /**< for currency: dollar, euro, yen, ... */
- SHARE, /**< for stock: Google, EDF, ... */
- INDEX, /**< for index: CAC 40, ... */
- OBJECT /**< for objects: cars, houses, ... */
+ CURRENCY, /**< for currency: dollar, euro, yen, … */
+ SHARE, /**< for stock: Google, EDF, … */
+ INDEX, /**< for index: CAC 40, … */
+ OBJECT /**< for objects: cars, houses, … */
};
/**
* This enumerate defines type of units
diff --git a/skgbasegui/skggraphicsview.cpp b/skgbasegui/skggraphicsview.cpp
index b1fa94d71..0d981b358 100644
--- a/skgbasegui/skggraphicsview.cpp
+++ b/skgbasegui/skggraphicsview.cpp
@@ -79,7 +79,7 @@ SKGGraphicsView::SKGGraphicsView(QWidget* iParent)
QAction* actPrint = m_mainMenu->addAction(ui.kPrint->icon(), ui.kPrint->toolTip());
connect(actPrint, &QAction::triggered, this, &SKGGraphicsView::onPrint);
- QAction* actExport = m_mainMenu->addAction(SKGServices::fromTheme(QStringLiteral("document-export")), i18nc("Noun, user action", "Export..."));
+ QAction* actExport = m_mainMenu->addAction(SKGServices::fromTheme(QStringLiteral("document-export")), i18nc("Noun, user action", "Export…"));
connect(actExport, &QAction::triggered, this, &SKGGraphicsView::onExport);
connect(graphicsView(), &QHeaderView::customContextMenuRequested, this, &SKGGraphicsView::showMenu);
diff --git a/skgbasegui/skgmainpanel.cpp b/skgbasegui/skgmainpanel.cpp
index 09ad666c4..1acdda94e 100644
--- a/skgbasegui/skgmainpanel.cpp
+++ b/skgbasegui/skgmainpanel.cpp
@@ -359,7 +359,7 @@ SKGMainPanel::SKGMainPanel(QSplashScreen* iSplashScreen, SKGDocument* iDocument)
int nb = plugins.count();
SKGTRACEL(1) << nb << " plugins found" << SKGENDL;
if (d->m_splashScreen != nullptr) {
- d->m_splashScreen->showMessage(i18nc("Splash screen message", "Loading plugins..."), Qt::AlignLeft, QColor(221, 130, 8)); // krazy:exclude=qmethods
+ d->m_splashScreen->showMessage(i18nc("Splash screen message", "Loading plugins…"), Qt::AlignLeft, QColor(221, 130, 8)); // krazy:exclude=qmethods
}
SKGError err;
QStringList listAuthors;
@@ -371,7 +371,7 @@ SKGMainPanel::SKGMainPanel(QSplashScreen* iSplashScreen, SKGDocument* iDocument)
const auto name = plugin.name();
const auto filename = plugin.fileName();
QString id = plugin.value(QStringLiteral("X-Krunner-ID"));
- QString msg = i18nc("Splash screen message", "Loading plugin %1/%2: %3...", i + 1, nb, name);
+ QString msg = i18nc("Splash screen message", "Loading plugin %1/%2: %3…", i + 1, nb, name);
SKGTRACEL(1) << msg << " from " << filename << SKGENDL;
if (d->m_splashScreen != nullptr) {
d->m_splashScreen->showMessage(msg, Qt::AlignLeft, QColor(221, 130, 8)); // krazy:exclude=qmethods
@@ -1056,7 +1056,7 @@ void SKGMainPanel::setupActions()
registerGlobalAction(QStringLiteral("tab_overwritebookmark"), d->m_overwriteBookmarkStateAction);
//
- d->m_configureAction = new QAction(SKGServices::fromTheme(QStringLiteral("configure")), i18nc("Noun, user action", "Configure..."), this);
+ d->m_configureAction = new QAction(SKGServices::fromTheme(QStringLiteral("configure")), i18nc("Noun, user action", "Configure…"), this);
connect(d->m_configureAction, &QAction::triggered, this, [ = ] {this->optionsPreferences();});
registerGlobalAction(QStringLiteral("tab_configure"), d->m_configureAction);
@@ -2464,7 +2464,7 @@ KMessageWidget* SKGMainPanel::getMessageWidget(const QString& iMessage, SKGDocum
act = new QAction(action->icon(), action->text(), SKGMainPanel::getMainPanel());
} else {
// This is a default action
- act = new QAction(SKGServices::fromTheme(QStringLiteral("open")), i18nc("Verb", "Open ..."), SKGMainPanel::getMainPanel());
+ act = new QAction(SKGServices::fromTheme(QStringLiteral("open")), i18nc("Verb", "Open …"), SKGMainPanel::getMainPanel());
}
act->setData(iAction);
diff --git a/skgbasegui/skgmainpanel.h b/skgbasegui/skgmainpanel.h
index 766f1b20e..f05d346f2 100644
--- a/skgbasegui/skgmainpanel.h
+++ b/skgbasegui/skgmainpanel.h
@@ -369,9 +369,9 @@ public Q_SLOTS:
/**
* Open a plugin in a page
- * @param iUrl the url like this "skg://plugin_name/?param1=value1¶m2=value2&..." to open a special page
+ * @param iUrl the url like this "skg://plugin_name/?param1=value1¶m2=value2&…" to open a special page
* or "skg://action" to trigger an action
- * or "https://..." to open a web page
+ * or "https://…" to open a web page
* @param iNewPage to open a new page or not
* @return true if the url has been opened
*/
@@ -379,9 +379,9 @@ public Q_SLOTS:
/**
* Open a plugin in a page
- * @param iUrl the url like this "skg://plugin_name/?param1=value1¶m2=value2&..." to open a special page
- * or "skg://action/?param1=value1¶m2=value2&..." to trigger an action, parameters can be found as property on the sender QAction
- * or "https://..." to open a web page
+ * @param iUrl the url like this "skg://plugin_name/?param1=value1¶m2=value2&…" to open a special page
+ * or "skg://action/?param1=value1¶m2=value2&…" to trigger an action, parameters can be found as property on the sender QAction
+ * or "https://…" to open a web page
* if empty then url will be get from sender()->data()
* @param iNewPage to open a new page or not
* @return true if the url has been opened
diff --git a/skgbasegui/skgobjectmodelbase.h b/skgbasegui/skgobjectmodelbase.h
index 491d5a86a..1c0963545 100644
--- a/skgbasegui/skgobjectmodelbase.h
+++ b/skgbasegui/skgobjectmodelbase.h
@@ -224,7 +224,7 @@ public:
/**
* Set the list of supported attributes. Do not forget to do a reset after that.
* @param iListAttribute the list of attributes. If the list is empty then the default list is set.
- * The format of this string is the following one: attribute name[|visibility Y or N[|size]];attribute name[|visibility Y or N[|size]];...
+ * The format of this string is the following one: attribute name[|visibility Y or N[|size]];attribute name[|visibility Y or N[|size]];…
*/
virtual void setSupportedAttributes(const QStringList& iListAttribute);
diff --git a/skgbasegui/skgperiodedit.cpp b/skgbasegui/skgperiodedit.cpp
index 4642a7b7c..95c7db14b 100644
--- a/skgbasegui/skgperiodedit.cpp
+++ b/skgbasegui/skgperiodedit.cpp
@@ -23,11 +23,11 @@ SKGPeriodEdit::SKGPeriodEdit(QWidget* iParent, bool iModeEnabled)
this->setFocusProxy(ui.kPeriod);
ui.kPeriod->addItem(i18nc("Period mode", "All Dates"), static_cast<int>(SKGPeriodEdit::ALL));
- ui.kPeriod->addItem(i18nc("Period mode", "Current..."), static_cast<int>(SKGPeriodEdit::CURRENT));
- ui.kPeriod->addItem(i18nc("Period mode", "Previous..."), static_cast<int>(SKGPeriodEdit::PREVIOUS));
- ui.kPeriod->addItem(i18nc("Period mode", "Last..."), static_cast<int>(SKGPeriodEdit::LAST));
- ui.kPeriod->addItem(i18nc("Period mode", "Custom..."), static_cast<int>(SKGPeriodEdit::CUSTOM));
- ui.kPeriod->addItem(i18nc("Period mode", "Timeline..."), static_cast<int>(SKGPeriodEdit::TIMELINE));
+ ui.kPeriod->addItem(i18nc("Period mode", "Current…"), static_cast<int>(SKGPeriodEdit::CURRENT));
+ ui.kPeriod->addItem(i18nc("Period mode", "Previous…"), static_cast<int>(SKGPeriodEdit::PREVIOUS));
+ ui.kPeriod->addItem(i18nc("Period mode", "Last…"), static_cast<int>(SKGPeriodEdit::LAST));
+ ui.kPeriod->addItem(i18nc("Period mode", "Custom…"), static_cast<int>(SKGPeriodEdit::CUSTOM));
+ ui.kPeriod->addItem(i18nc("Period mode", "Timeline…"), static_cast<int>(SKGPeriodEdit::TIMELINE));
ui.kInterval->addItem(i18nc("Period interval", "day(s)"), 0);
ui.kInterval->addItem(i18nc("Period interval", "week(s)"), 1);
@@ -117,7 +117,7 @@ void SKGPeriodEdit::setState(const QString& iState)
QString SKGPeriodEdit::text() const
{
- QString during = ui.kPeriod->text().remove(QStringLiteral("..."));
+ QString during = ui.kPeriod->text().remove(QStringLiteral("…"));
SKGPeriodEdit::PeriodMode m = mode();
if (m == CUSTOM || m == TIMELINE) {
diff --git a/skgbasegui/skgperiodedit.h b/skgbasegui/skgperiodedit.h
index 51f96563f..a9bf9923a 100644
--- a/skgbasegui/skgperiodedit.h
+++ b/skgbasegui/skgperiodedit.h
@@ -35,9 +35,9 @@ public:
* This enumerate defines the period mode
*/
enum PeriodMode {ALL, /**< All date*/
- CURRENT, /**< Current month, year, ...*/
- PREVIOUS, /**< Previous month, year, ...*/
- LAST, /**< Last month, year, ...*/
+ CURRENT, /**< Current month, year, …*/
+ PREVIOUS, /**< Previous month, year, …*/
+ LAST, /**< Last month, year, …*/
CUSTOM, /**< Custom dates*/
TIMELINE /**< Timeline.*/
};
diff --git a/skgbasegui/skgtablewithgraph.cpp b/skgbasegui/skgtablewithgraph.cpp
index a765fe841..c259bd037 100644
--- a/skgbasegui/skgtablewithgraph.cpp
+++ b/skgbasegui/skgtablewithgraph.cpp
@@ -148,7 +148,7 @@ SKGTableWithGraph::SKGTableWithGraph(QWidget* iParent)
m_mainMenu = new QMenu(ui.kTable);
- QAction* actExport = m_mainMenu->addAction(SKGServices::fromTheme(QStringLiteral("document-export")), i18nc("Noun, user action", "Export..."));
+ QAction* actExport = m_mainMenu->addAction(SKGServices::fromTheme(QStringLiteral("document-export")), i18nc("Noun, user action", "Export…"));
connect(actExport, &QAction::triggered, this, &SKGTableWithGraph::onExport);
// Add graph mode in menu
diff --git a/skgbasegui/skgtablewithgraph.h b/skgbasegui/skgtablewithgraph.h
index 5c0fb2277..7175933f7 100644
--- a/skgbasegui/skgtablewithgraph.h
+++ b/skgbasegui/skgtablewithgraph.h
@@ -179,7 +179,7 @@ public:
/**
* Get the number of columns
- * @param iWithComputed with compute columns (average, sum, forecast, ...) or not
+ * @param iWithComputed with compute columns (average, sum, forecast, …) or not
* @return the number of columns
*/
int getNbColumns(bool iWithComputed = false) const;
diff --git a/skgbasegui/skgtreeview.cpp b/skgbasegui/skgtreeview.cpp
index d48e7509a..624dcdd71 100644
--- a/skgbasegui/skgtreeview.cpp
+++ b/skgbasegui/skgtreeview.cpp
@@ -581,7 +581,7 @@ void SKGTreeView::setupHeaderMenu()
}
m_headerMenu->addSeparator();
- QAction* actExport = m_headerMenu->addAction(SKGServices::fromTheme(QStringLiteral("document-export")), i18nc("Noun, user action", "Export..."));
+ QAction* actExport = m_headerMenu->addAction(SKGServices::fromTheme(QStringLiteral("document-export")), i18nc("Noun, user action", "Export…"));
connect(actExport, &QAction::triggered, this, &SKGTreeView::onExport);
if (m_autoResize) {
diff --git a/skgbasegui/skgwebview.cpp b/skgbasegui/skgwebview.cpp
index 49c03f608..641640c18 100644
--- a/skgbasegui/skgwebview.cpp
+++ b/skgbasegui/skgwebview.cpp
@@ -187,12 +187,12 @@ void SKGWebView::contextMenuEvent(QContextMenuEvent* iEvent)
menu->addAction(pageAction(QWebPage::Copy));
#endif
- QAction* actPrint = menu->addAction(SKGServices::fromTheme(QStringLiteral("printer")), i18nc("Action", "Print..."));
+ QAction* actPrint = menu->addAction(SKGServices::fromTheme(QStringLiteral("printer")), i18nc("Action", "Print…"));
connect(actPrint, &QAction::triggered, this, &SKGWebView::onPrint);
menu->addAction(KStandardAction::printPreview(this, SLOT(onPrintPreview()), this));
- QAction* actExport = menu->addAction(SKGServices::fromTheme(QStringLiteral("document-export")), i18nc("Noun, user action", "Export..."));
+ QAction* actExport = menu->addAction(SKGServices::fromTheme(QStringLiteral("document-export")), i18nc("Noun, user action", "Export…"));
connect(actExport, &QAction::triggered, this, &SKGWebView::onExport);
menu->popup(this->mapToGlobal(iEvent->pos()));
diff --git a/skgbasegui/skgwebview.h b/skgbasegui/skgwebview.h
index 41457f4b8..b3e8e34e4 100644
--- a/skgbasegui/skgwebview.h
+++ b/skgbasegui/skgwebview.h
@@ -80,7 +80,7 @@ class SKGBASEGUI_EXPORT SKGWebView : public QWebEngineView
virtual void setState(const QString& iState);
/**
- * Export in the file (PDF, ODT, png, jpeg, ...)
+ * Export in the file (PDF, ODT, png, jpeg, …)
* @param iFileName the file name
*/
virtual void exportInFile(const QString& iFileName);
diff --git a/skgbasemodeler/skgdefine.h b/skgbasemodeler/skgdefine.h
index a7f3ef146..8007345ae 100644
--- a/skgbasemodeler/skgdefine.h
+++ b/skgbasemodeler/skgdefine.h
@@ -33,7 +33,7 @@
/**
* @var DUMPSQLITE
- * To display SQLLITE internals (tables, views, indexes, ...)
+ * To display SQLLITE internals (tables, views, indexes, …)
* @see dump
*/
#define DUMPSQLITE (2 << 0)
diff --git a/skgbasemodeler/skgdocument.cpp b/skgbasemodeler/skgdocument.cpp
index c500a4cae..6c7c46521 100644
--- a/skgbasemodeler/skgdocument.cpp
+++ b/skgbasemodeler/skgdocument.cpp
@@ -1176,7 +1176,7 @@ SKGError SKGDocument::undoRedoTransaction(UndoRedoMode iMode)
err = SKGError(ERR_INVALIDARG, QStringLiteral("No transaction found. Undo / Redo impossible."));
} else {
// Undo transaction
- SKGTRACEL(5) << "Undoing transaction [" << id << "]- [" << name << "]..." << SKGENDL;
+ SKGTRACEL(5) << "Undoing transaction [" << id << "]- [" << name << "]…" << SKGENDL;
SKGStringListList listSqlOrder;
err = executeSelectSqliteOrder(
"SELECT t_sqlorder FROM doctransactionitem WHERE rd_doctransaction_id=" %
diff --git a/skgbasemodeler/skgdocument.h b/skgbasemodeler/skgdocument.h
index 5557d80d8..af67b1c9d 100644
--- a/skgbasemodeler/skgdocument.h
+++ b/skgbasemodeler/skgdocument.h
@@ -118,7 +118,7 @@ public:
QString id; /**< Identifier of the schema */
QString name; /**< The nls name */
QString icon; /**< The icon */
- QString schema; /**< The schema. The format of this string is the following one: attribute name[|visibility Y or N[|size]];attribute name[|visibility Y or N[|size]];... */
+ QString schema; /**< The schema. The format of this string is the following one: attribute name[|visibility Y or N[|size]];attribute name[|visibility Y or N[|size]];… */
};
/**
diff --git a/skgbasemodeler/skgerror.h b/skgbasemodeler/skgerror.h
index 6778660ca..92677dfba 100644
--- a/skgbasemodeler/skgerror.h
+++ b/skgbasemodeler/skgerror.h
@@ -85,7 +85,7 @@ public:
* Constructor
* @param iRc the error code
* @param iMessage the error message
- * @param iAction the error action. This is normally a recovery action (example: skg://file_save, https://google.com, ...)
+ * @param iAction the error action. This is normally a recovery action (example: skg://file_save, https://google.com, …)
*/
SKGError(int iRc, QString iMessage, QString iAction = QString());
@@ -220,7 +220,7 @@ public Q_SLOTS:
* Add a new historical message to the current error.
* @param iRc the error code
* @param iMessage the error message
- * @param iAction the error action. This is normally a recovery action (example: skg://file_save, https://google.com, ...)
+ * @param iAction the error action. This is normally a recovery action (example: skg://file_save, https://google.com, …)
* @return itself to facilitate usage
*/
SKGError& addError(int iRc, const QString& iMessage, const QString& iAction = QString());
diff --git a/skgbasemodeler/skgreport.cpp b/skgbasemodeler/skgreport.cpp
index 6aa9f4b97..cd14a6a5c 100644
--- a/skgbasemodeler/skgreport.cpp
+++ b/skgbasemodeler/skgreport.cpp
@@ -184,7 +184,7 @@ void SKGReport::addItemsInMapping(QVariantHash& iMapping)
iMapping.insert(QStringLiteral("about_homepage"), about.homepage());
iMapping.insert(QStringLiteral("about_shortdescription"), about.shortDescription());
iMapping.insert(QStringLiteral("about_othertext"), about.otherText());
- iMapping.insert(QStringLiteral("about_did_you_know"), i18nc("Title for tips of the day", "Did you know ...?"));
+ iMapping.insert(QStringLiteral("about_did_you_know"), i18nc("Title for tips of the day", "Did you know …?"));
}
SKGError SKGReport::getReportFromTemplate(SKGReport* iReport, const QString& iFile, QString& oHtml)
diff --git a/skgbasemodeler/skgservices.cpp b/skgbasemodeler/skgservices.cpp
index bc087aa9f..81155dcfc 100644
--- a/skgbasemodeler/skgservices.cpp
+++ b/skgbasemodeler/skgservices.cpp
@@ -1274,11 +1274,11 @@ SKGError SKGServices::cryptFile(const QString& iFileSource, const QString& iFile
// BUG 249955 ^^^
// Suppress header
- SKGTRACEL(10) << "input=[" << input.left(50) << "...]" << SKGENDL;
+ SKGTRACEL(10) << "input=[" << input.left(50) << "…]" << SKGENDL;
if (!iHeaderFile.isEmpty() && input.startsWith(iHeaderFile.toLatin1())) {
input = input.right(input.length() - iHeaderFile.length() - 11);
}
- SKGTRACEL(10) << "input without header=[" << input.left(50) << "...]" << SKGENDL;
+ SKGTRACEL(10) << "input without header=[" << input.left(50) << "…]" << SKGENDL;
QCA::SecureArray u;
if (cipher != nullptr) {
@@ -1299,7 +1299,7 @@ SKGError SKGServices::cryptFile(const QString& iFileSource, const QString& iFile
IFOK(err) {
// Check if decryption is OK
- SKGTRACEL(10) << "output 1=[" << uba.left(50) << "...]" << SKGENDL;
+ SKGTRACEL(10) << "output 1=[" << uba.left(50) << "…]" << SKGENDL;
if (!iEncrypt) {
if (!uba.startsWith(QByteArray("SQLite format 3"))) {
if (!uba.startsWith(SQLCIPHERHEARDER)) {
@@ -1328,7 +1328,7 @@ SKGError SKGServices::cryptFile(const QString& iFileSource, const QString& iFile
cipher = nullptr;
}
}
- SKGTRACEL(10) << "output 2=[" << uba.left(50) << "...]" << SKGENDL;
+ SKGTRACEL(10) << "output 2=[" << uba.left(50) << "…]" << SKGENDL;
// output the results of that stage
IFOK(err) {
diff --git a/skgbasemodeler/skgtransactionmng.h b/skgbasemodeler/skgtransactionmng.h
index f0bea8aab..973f1a848 100644
--- a/skgbasemodeler/skgtransactionmng.h
+++ b/skgbasemodeler/skgtransactionmng.h
@@ -64,11 +64,11 @@
* // You code here
* // At the end the err variable must contain the result of your operation
* Your_SKGDocument.stepForward(1);
- * ...
+ * …
* Your_SKGDocument.stepForward(2);
- * ...
+ * …
* Your_SKGDocument.stepForward(3);
- * ...
+ * …
* }
*
* // A commit or rollback is done here because the scope is close
diff --git a/skrooge/main.cpp b/skrooge/main.cpp
index 6843c4ef6..f887112a8 100644
--- a/skrooge/main.cpp
+++ b/skrooge/main.cpp
@@ -127,7 +127,7 @@ int main(int argc, char** argv)
about.setOrganizationDomain("kde.org");
about.setDesktopFileName(QStringLiteral("org.kde.skrooge"));
- about.addCredit(QStringLiteral("vicnet, noidea, rbruce, JesusM, schunka, SylvaiNN, Wolf, Hizoka, neutron68, blep0, BigaAl, steffie, skierpage ..."), i18nc("Reason of the about/credit", "Users helping us to improve this application"));
+ about.addCredit(QStringLiteral("vicnet, noidea, rbruce, JesusM, schunka, SylvaiNN, Wolf, Hizoka, neutron68, blep0, BigaAl, steffie, skierpage …"), i18nc("Reason of the about/credit", "Users helping us to improve this application"));
KAboutData::setApplicationData(about);
@@ -185,7 +185,7 @@ int main(int argc, char** argv)
if (m_splash != nullptr) {
m_splash->setMask(pix.createMaskFromColor(Qt::blue));
m_splash->show();
- m_splash->showMessage(i18nc("Splash screen message", "Loading ..."), Qt::AlignLeft, QColor(221, 130, 8)); // krazy:exclude=qmethods
+ m_splash->showMessage(i18nc("Splash screen message", "Loading …"), Qt::AlignLeft, QColor(221, 130, 8)); // krazy:exclude=qmethods
}
} else {
SKGTRACE << "WARNING: Splash screen (" << splashPathRelativePath << ") not found !" << SKGENDL;
diff --git a/skroogeconvert/main.cpp b/skroogeconvert/main.cpp
index 458cad97d..562d1974f 100644
--- a/skroogeconvert/main.cpp
+++ b/skroogeconvert/main.cpp
@@ -49,7 +49,7 @@ int main(int argc, char** argv)
KAboutData about(QStringLiteral("skroogeconvert"),
i18nc("The name of the application", "Skrooge Convert"),
QStringLiteral(VER),
- i18nc("The description of the application", "A conversion tool for financial files (KMyMoney, GnuCash, Skrooge, ...)"),
+ i18nc("The description of the application", "A conversion tool for financial files (KMyMoney, GnuCash, Skrooge, …)"),
KAboutLicense::GPL_V3,
i18nc("Fullname", "(c) 2007-%1 Stephane MANKOWSKI & Guillaume DE BURE", QDate::currentDate().toString(QStringLiteral("yyyy"))),
QString(),
More information about the kde-doc-english
mailing list