lang sync + multiple fixes around #1039

This commit is contained in:
Martin Rotter 2023-08-08 10:30:45 +02:00
parent 2a73af8347
commit 3c1f069c48
12 changed files with 671 additions and 544 deletions

View file

@ -4,16 +4,16 @@ Language: Cpp
AccessModifierOffset: 0 AccessModifierOffset: 0
AlignAfterOpenBracket: Align AlignAfterOpenBracket: Align
AlignArrayOfStructures: None AlignArrayOfStructures: None
AlignConsecutiveMacros: None AlignConsecutiveMacros: Consecutive
AlignConsecutiveAssignments: None AlignConsecutiveAssignments: None
AlignConsecutiveBitFields: None AlignConsecutiveBitFields: None
AlignConsecutiveDeclarations: None AlignConsecutiveDeclarations: None
AlignEscapedNewlines: Right AlignEscapedNewlines: Left
AlignOperands: Align AlignOperands: Align
AlignTrailingComments: true AlignTrailingComments: true
AllowAllArgumentsOnNextLine: true AllowAllArgumentsOnNextLine: false
AllowAllParametersOfDeclarationOnNextLine: true AllowAllParametersOfDeclarationOnNextLine: false
AllowShortEnumsOnASingleLine: true AllowShortEnumsOnASingleLine: false
AllowShortBlocksOnASingleLine: Never AllowShortBlocksOnASingleLine: Never
AllowShortCaseLabelsOnASingleLine: false AllowShortCaseLabelsOnASingleLine: false
AllowShortFunctionsOnASingleLine: Empty AllowShortFunctionsOnASingleLine: Empty
@ -23,7 +23,7 @@ AllowShortLoopsOnASingleLine: false
AlwaysBreakAfterDefinitionReturnType: None AlwaysBreakAfterDefinitionReturnType: None
AlwaysBreakAfterReturnType: None AlwaysBreakAfterReturnType: None
AlwaysBreakBeforeMultilineStrings: false AlwaysBreakBeforeMultilineStrings: false
AlwaysBreakTemplateDeclarations: MultiLine AlwaysBreakTemplateDeclarations: Yes
AttributeMacros: AttributeMacros:
- __capability - __capability
BinPackArguments: false BinPackArguments: false

File diff suppressed because it is too large Load diff

View file

@ -1155,7 +1155,7 @@ or this functionality is not implemented yet.</source>
<message> <message>
<location filename="../src/librssguard/gui/dialogs/formabout.cpp" line="126"/> <location filename="../src/librssguard/gui/dialogs/formabout.cpp" line="126"/>
<source>&lt;body&gt;%5 is a (very) tiny feed reader.&lt;br&gt;&lt;br&gt;This software is distributed under the terms of GNU General Public License, version 3.&lt;br&gt;&lt;br&gt;Contacts:&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;mailto://%1&quot;&gt;%1&lt;/a&gt; ~e-mail&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;%2&quot;&gt;%2&lt;/a&gt; ~website&lt;/li&gt;&lt;/ul&gt;You can obtain source code for %5 from its website.&lt;br&gt;&lt;br&gt;&lt;br&gt;Copyright (C) 2011-%3 %4&lt;/body&gt;</source> <source>&lt;body&gt;%5 is a (very) tiny feed reader.&lt;br&gt;&lt;br&gt;This software is distributed under the terms of GNU General Public License, version 3.&lt;br&gt;&lt;br&gt;Contacts:&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;mailto://%1&quot;&gt;%1&lt;/a&gt; ~e-mail&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;%2&quot;&gt;%2&lt;/a&gt; ~website&lt;/li&gt;&lt;/ul&gt;You can obtain source code for %5 from its website.&lt;br&gt;&lt;br&gt;&lt;br&gt;Copyright (C) 2011-%3 %4&lt;/body&gt;</source>
<translation type="unfinished"/> <translation>&lt;body&gt;%5 is a (very) tiny feed reader.&lt;br&gt;&lt;br&gt;This software is distributed under the terms of GNU General Public License, version 3.&lt;br&gt;&lt;br&gt;Contacts:&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;mailto://%1&quot;&gt;%1&lt;/a&gt; ~e-mail&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;%2&quot;&gt;%2&lt;/a&gt; ~website&lt;/li&gt;&lt;/ul&gt;You can obtain source code for %5 from its website.&lt;br&gt;&lt;br&gt;&lt;br&gt;Copyright © 2011-%3 %4&lt;/body&gt;</translation>
</message> </message>
<message> <message>
<location filename="../src/librssguard/gui/dialogs/formabout.cpp" line="110"/> <location filename="../src/librssguard/gui/dialogs/formabout.cpp" line="110"/>
@ -1601,7 +1601,7 @@ or this functionality is not implemented yet.</source>
<message> <message>
<location filename="../src/librssguard/gui/dialogs/formdatabasecleanup.cpp" line="30"/> <location filename="../src/librssguard/gui/dialogs/formdatabasecleanup.cpp" line="30"/>
<source>I am ready.</source> <source>I am ready.</source>
<translation type="unfinished"/> <translation>Ready to cleanup the database.</translation>
</message> </message>
<message> <message>
<location filename="../src/librssguard/gui/dialogs/formdatabasecleanup.cpp" line="76"/> <location filename="../src/librssguard/gui/dialogs/formdatabasecleanup.cpp" line="76"/>
@ -1943,12 +1943,12 @@ or this functionality is not implemented yet.</source>
<message> <message>
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="250"/> <location filename="../src/librssguard/gui/dialogs/formmain.ui" line="250"/>
<source>&amp;About application</source> <source>&amp;About application</source>
<translation type="unfinished"/> <translation>&amp;About RSS Guard</translation>
</message> </message>
<message> <message>
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="253"/> <location filename="../src/librssguard/gui/dialogs/formmain.ui" line="253"/>
<source>Displays extra info about this application.</source> <source>Displays extra info about this application.</source>
<translation type="unfinished"/> <translation>Displays additional information about the application.</translation>
</message> </message>
<message> <message>
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="267"/> <location filename="../src/librssguard/gui/dialogs/formmain.ui" line="267"/>
@ -1968,7 +1968,7 @@ or this functionality is not implemented yet.</source>
<message> <message>
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="281"/> <location filename="../src/librssguard/gui/dialogs/formmain.ui" line="281"/>
<source>Fetch all feeds</source> <source>Fetch all feeds</source>
<translation type="unfinished"/> <translation>Fetch articles for all feeds</translation>
</message> </message>
<message> <message>
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="289"/> <location filename="../src/librssguard/gui/dialogs/formmain.ui" line="289"/>
@ -2113,7 +2113,7 @@ or this functionality is not implemented yet.</source>
<message> <message>
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="454"/> <location filename="../src/librssguard/gui/dialogs/formmain.ui" line="454"/>
<source>Hides main window if it is visible and shows it if it is hidden.</source> <source>Hides main window if it is visible and shows it if it is hidden.</source>
<translation type="unfinished"/> <translation>Hides main window if it&apos;s on top and shows it if it&apos;s minimised.</translation>
</message> </message>
<message> <message>
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="468"/> <location filename="../src/librssguard/gui/dialogs/formmain.ui" line="468"/>
@ -4254,7 +4254,7 @@ Login tokens expiration: %2</source>
<message> <message>
<location filename="../src/librssguard/core/messagesforfiltersmodel.cpp" line="13"/> <location filename="../src/librssguard/core/messagesforfiltersmodel.cpp" line="13"/>
<source>Author</source> <source>Author</source>
<translation>Translator(s)</translation> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/librssguard/core/messagesforfiltersmodel.cpp" line="13"/> <location filename="../src/librssguard/core/messagesforfiltersmodel.cpp" line="13"/>
@ -4307,7 +4307,7 @@ Login tokens expiration: %2</source>
<message> <message>
<location filename="../src/librssguard/core/messagesmodel.cpp" line="288"/> <location filename="../src/librssguard/core/messagesmodel.cpp" line="288"/>
<source>Author</source> <source>Author</source>
<translation>Translator(s)</translation> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/librssguard/core/messagesmodel.cpp" line="290"/> <location filename="../src/librssguard/core/messagesmodel.cpp" line="290"/>
@ -4822,12 +4822,12 @@ Login tokens expiration: %2</source>
<message> <message>
<location filename="../src/librssguard/gui/reusable/networkproxydetails.cpp" line="20"/> <location filename="../src/librssguard/gui/reusable/networkproxydetails.cpp" line="20"/>
<source>Socks5</source> <source>Socks5</source>
<translation type="unfinished"/> <translation>SOCKS5</translation>
</message> </message>
<message> <message>
<location filename="../src/librssguard/gui/reusable/networkproxydetails.cpp" line="21"/> <location filename="../src/librssguard/gui/reusable/networkproxydetails.cpp" line="21"/>
<source>Http</source> <source>Http</source>
<translation type="unfinished"/> <translation>HTTP</translation>
</message> </message>
<message> <message>
<location filename="../src/librssguard/gui/reusable/networkproxydetails.ui" line="14"/> <location filename="../src/librssguard/gui/reusable/networkproxydetails.ui" line="14"/>
@ -4842,7 +4842,7 @@ Login tokens expiration: %2</source>
<message> <message>
<location filename="../src/librssguard/gui/reusable/networkproxydetails.ui" line="41"/> <location filename="../src/librssguard/gui/reusable/networkproxydetails.ui" line="41"/>
<source>Hostname or IP of your proxy server</source> <source>Hostname or IP of your proxy server</source>
<translation type="unfinished"/> <translation>Enter the hostname or IP of your proxy server here</translation>
</message> </message>
<message> <message>
<location filename="../src/librssguard/gui/reusable/networkproxydetails.ui" line="48"/> <location filename="../src/librssguard/gui/reusable/networkproxydetails.ui" line="48"/>
@ -4857,7 +4857,7 @@ Login tokens expiration: %2</source>
<message> <message>
<location filename="../src/librssguard/gui/reusable/networkproxydetails.ui" line="92"/> <location filename="../src/librssguard/gui/reusable/networkproxydetails.ui" line="92"/>
<source>Your username for proxy server authentication</source> <source>Your username for proxy server authentication</source>
<translation type="unfinished"/> <translation>Enter your username for proxy server authentification here</translation>
</message> </message>
<message> <message>
<location filename="../src/librssguard/gui/reusable/networkproxydetails.ui" line="99"/> <location filename="../src/librssguard/gui/reusable/networkproxydetails.ui" line="99"/>
@ -4867,7 +4867,7 @@ Login tokens expiration: %2</source>
<message> <message>
<location filename="../src/librssguard/gui/reusable/networkproxydetails.ui" line="118"/> <location filename="../src/librssguard/gui/reusable/networkproxydetails.ui" line="118"/>
<source>Your password for proxy server authentication</source> <source>Your password for proxy server authentication</source>
<translation type="unfinished"/> <translation>Enter your password for proxy server authentification here</translation>
</message> </message>
<message> <message>
<location filename="../src/librssguard/gui/reusable/networkproxydetails.cpp" line="12"/> <location filename="../src/librssguard/gui/reusable/networkproxydetails.cpp" line="12"/>
@ -6240,7 +6240,7 @@ Authors of this application are NOT responsible for lost data.</source>
<message> <message>
<location filename="../src/librssguard/gui/settings/settingsfeedsmessages.cpp" line="34"/> <location filename="../src/librssguard/gui/settings/settingsfeedsmessages.cpp" line="34"/>
<source>Note that enabling this might have drastic consequences on performance of article list with big number of articles.</source> <source>Note that enabling this might have drastic consequences on performance of article list with big number of articles.</source>
<translation type="unfinished"/> <translation>Note that enabling this feature might have drastic negative consequences on the performance of article lists with a large amount of articles.</translation>
</message> </message>
<message> <message>
<location filename="../src/librssguard/gui/settings/settingsfeedsmessages.cpp" line="54"/> <location filename="../src/librssguard/gui/settings/settingsfeedsmessages.cpp" line="54"/>
@ -6305,7 +6305,7 @@ Authors of this application are NOT responsible for lost data.</source>
<message> <message>
<location filename="../src/librssguard/gui/settings/settingsfeedsmessages.ui" line="164"/> <location filename="../src/librssguard/gui/settings/settingsfeedsmessages.ui" line="164"/>
<source>Feeds list</source> <source>Feeds list</source>
<translation type="unfinished"/> <translation>Feed list</translation>
</message> </message>
<message> <message>
<location filename="../src/librssguard/gui/settings/settingsfeedsmessages.ui" line="170"/> <location filename="../src/librssguard/gui/settings/settingsfeedsmessages.ui" line="170"/>
@ -6316,7 +6316,7 @@ Authors of this application are NOT responsible for lost data.</source>
<message> <message>
<location filename="../src/librssguard/gui/settings/settingsfeedsmessages.ui" line="207"/> <location filename="../src/librssguard/gui/settings/settingsfeedsmessages.ui" line="207"/>
<source>Feed list font</source> <source>Feed list font</source>
<translation>Feed list-specific font</translation> <translation>Feed list font</translation>
</message> </message>
<message> <message>
<location filename="../src/librssguard/gui/settings/settingsfeedsmessages.ui" line="219"/> <location filename="../src/librssguard/gui/settings/settingsfeedsmessages.ui" line="219"/>
@ -6380,7 +6380,7 @@ Authors of this application are NOT responsible for lost data.</source>
<message> <message>
<location filename="../src/librssguard/gui/settings/settingsfeedsmessages.ui" line="332"/> <location filename="../src/librssguard/gui/settings/settingsfeedsmessages.ui" line="332"/>
<source>Bring application window to front once article is opened in external web browser</source> <source>Bring application window to front once article is opened in external web browser</source>
<translation type="unfinished"/> <translation>Bring application window to the forefront once an article is opened in the external web browser</translation>
</message> </message>
<message> <message>
<location filename="../src/librssguard/gui/settings/settingsfeedsmessages.ui" line="394"/> <location filename="../src/librssguard/gui/settings/settingsfeedsmessages.ui" line="394"/>
@ -6400,7 +6400,7 @@ Authors of this application are NOT responsible for lost data.</source>
<message> <message>
<location filename="../src/librssguard/gui/settings/settingsfeedsmessages.ui" line="354"/> <location filename="../src/librssguard/gui/settings/settingsfeedsmessages.ui" line="354"/>
<source>Limit height of pictures</source> <source>Limit height of pictures</source>
<translation type="unfinished"/> <translation>Limit image height</translation>
</message> </message>
<message> <message>
<location filename="../src/librssguard/gui/settings/settingsfeedsmessages.ui" line="438"/> <location filename="../src/librssguard/gui/settings/settingsfeedsmessages.ui" line="438"/>
@ -6410,7 +6410,7 @@ Authors of this application are NOT responsible for lost data.</source>
<message> <message>
<location filename="../src/librssguard/gui/settings/settingsfeedsmessages.ui" line="446"/> <location filename="../src/librssguard/gui/settings/settingsfeedsmessages.ui" line="446"/>
<source>Articles list</source> <source>Articles list</source>
<translation type="unfinished"/> <translation>Article list</translation>
</message> </message>
<message> <message>
<location filename="../src/librssguard/gui/settings/settingsfeedsmessages.ui" line="452"/> <location filename="../src/librssguard/gui/settings/settingsfeedsmessages.ui" line="452"/>
@ -6486,7 +6486,7 @@ Authors of this application are NOT responsible for lost data.</source>
<message> <message>
<location filename="../src/librssguard/gui/settings/settingsgui.cpp" line="34"/> <location filename="../src/librssguard/gui/settings/settingsgui.cpp" line="34"/>
<source>Author</source> <source>Author</source>
<translation>Translator(s)</translation> <translation type="unfinished"/>
</message> </message>
<message> <message>
<location filename="../src/librssguard/gui/settings/settingsgui.cpp" line="34"/> <location filename="../src/librssguard/gui/settings/settingsgui.cpp" line="34"/>
@ -6626,7 +6626,7 @@ Description: %3</source>
<message> <message>
<location filename="../src/librssguard/gui/settings/settingsgui.ui" line="186"/> <location filename="../src/librssguard/gui/settings/settingsgui.ui" line="186"/>
<source>Start application hidden</source> <source>Start application hidden</source>
<translation type="unfinished"/> <translation>Start application minimised</translation>
</message> </message>
<message> <message>
<location filename="../src/librssguard/gui/settings/settingsgui.ui" line="210"/> <location filename="../src/librssguard/gui/settings/settingsgui.ui" line="210"/>
@ -7324,7 +7324,7 @@ Also, you can post-process generated feed data with yet another script if you wi
<message> <message>
<location filename="../src/librssguard/services/standard/standardserviceroot.cpp" line="44"/> <location filename="../src/librssguard/services/standard/standardserviceroot.cpp" line="44"/>
<source>This is obligatory service account for standard RSS/RDF/ATOM feeds.</source> <source>This is obligatory service account for standard RSS/RDF/ATOM feeds.</source>
<translation type="unfinished"/> <translation>This is an obligatory service account for standard RSS/RDF/ATOM feeds.</translation>
</message> </message>
<message> <message>
<location filename="../src/librssguard/services/standard/standardserviceroot.cpp" line="60"/> <location filename="../src/librssguard/services/standard/standardserviceroot.cpp" line="60"/>

View file

@ -516,7 +516,7 @@ Cliquez-ici pour ouvrir le répertoire parent.</translation>
<message> <message>
<location filename="../src/librssguard/network-web/downloaditem.ui" line="86"/> <location filename="../src/librssguard/network-web/downloaditem.ui" line="86"/>
<source>&amp;Try again</source> <source>&amp;Try again</source>
<translation>&amp;Essayez encore</translation> <translation>&amp;Réessayer</translation>
</message> </message>
<message> <message>
<location filename="../src/librssguard/network-web/downloaditem.ui" line="93"/> <location filename="../src/librssguard/network-web/downloaditem.ui" line="93"/>
@ -526,12 +526,12 @@ Cliquez-ici pour ouvrir le répertoire parent.</translation>
<message> <message>
<location filename="../src/librssguard/network-web/downloaditem.ui" line="100"/> <location filename="../src/librssguard/network-web/downloaditem.ui" line="100"/>
<source>&amp;Open file</source> <source>&amp;Open file</source>
<translation>&amp;Ouvrez le fichier</translation> <translation>&amp;Ouvrir le fichier</translation>
</message> </message>
<message> <message>
<location filename="../src/librssguard/network-web/downloaditem.ui" line="107"/> <location filename="../src/librssguard/network-web/downloaditem.ui" line="107"/>
<source>Open &amp;directory</source> <source>Open &amp;directory</source>
<translation>Ouvrir %repertoire</translation> <translation>Ouvrir le &amp;pertoire</translation>
</message> </message>
</context> </context>
<context> <context>
@ -574,7 +574,7 @@ Cliquez-ici pour ouvrir le répertoire parent.</translation>
<message> <message>
<location filename="../src/librssguard/network-web/downloadmanager.ui" line="38"/> <location filename="../src/librssguard/network-web/downloadmanager.ui" line="38"/>
<source>Clean up</source> <source>Clean up</source>
<translation>Nettoyage</translation> <translation>&amp;Vider la liste de téléchargements</translation>
</message> </message>
</context> </context>
<context> <context>
@ -664,7 +664,7 @@ Cliquez-ici pour ouvrir le répertoire parent.</translation>
<message> <message>
<location filename="../src/librssguard/services/abstract/feed.cpp" line="280"/> <location filename="../src/librssguard/services/abstract/feed.cpp" line="280"/>
<source>uses global settings, but global auto-fetching of articles is disabled</source> <source>uses global settings, but global auto-fetching of articles is disabled</source>
<translation>utilise les paramètres globaux, mais l&apos;obtention automatique globale d&apos;articles est désactivée.</translation> <translation>Ce flux utilise les paramètres globaux, mais l&apos;obtention automatique globale d&apos;articles est désactivée.</translation>
</message> </message>
<message> <message>
<location filename="../src/librssguard/services/abstract/feed.cpp" line="304"/> <location filename="../src/librssguard/services/abstract/feed.cpp" line="304"/>
@ -1609,7 +1609,7 @@ ou cette fonctionnalité n&apos;est pas encore implémentée.</translation>
<message> <message>
<location filename="../src/librssguard/gui/dialogs/formdatabasecleanup.cpp" line="30"/> <location filename="../src/librssguard/gui/dialogs/formdatabasecleanup.cpp" line="30"/>
<source>I am ready.</source> <source>I am ready.</source>
<translation>Je suis prêt.</translation> <translation>Prêt à nettoyer la base de données.</translation>
</message> </message>
<message> <message>
<location filename="../src/librssguard/gui/dialogs/formdatabasecleanup.cpp" line="76"/> <location filename="../src/librssguard/gui/dialogs/formdatabasecleanup.cpp" line="76"/>
@ -1951,12 +1951,12 @@ ou cette fonctionnalité n&apos;est pas encore implémentée.</translation>
<message> <message>
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="250"/> <location filename="../src/librssguard/gui/dialogs/formmain.ui" line="250"/>
<source>&amp;About application</source> <source>&amp;About application</source>
<translation>&amp;À propos de l&apos;application</translation> <translation>&amp;À propos d&apos;RSS Guard</translation>
</message> </message>
<message> <message>
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="253"/> <location filename="../src/librssguard/gui/dialogs/formmain.ui" line="253"/>
<source>Displays extra info about this application.</source> <source>Displays extra info about this application.</source>
<translation>Afficher des informations supplémentaires à propos de cette application.</translation> <translation>Afficher des informations supplémentaires à propos de l&apos;application.</translation>
</message> </message>
<message> <message>
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="267"/> <location filename="../src/librssguard/gui/dialogs/formmain.ui" line="267"/>
@ -1976,7 +1976,7 @@ ou cette fonctionnalité n&apos;est pas encore implémentée.</translation>
<message> <message>
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="281"/> <location filename="../src/librssguard/gui/dialogs/formmain.ui" line="281"/>
<source>Fetch all feeds</source> <source>Fetch all feeds</source>
<translation>Obtenir tous les flux</translation> <translation>Obtenir des articles de tous les flux.</translation>
</message> </message>
<message> <message>
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="289"/> <location filename="../src/librssguard/gui/dialogs/formmain.ui" line="289"/>
@ -1986,7 +1986,7 @@ ou cette fonctionnalité n&apos;est pas encore implémentée.</translation>
<message> <message>
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="292"/> <location filename="../src/librssguard/gui/dialogs/formmain.ui" line="292"/>
<source>Fetch selected feeds</source> <source>Fetch selected feeds</source>
<translation>Obtenir des &amp;articles des flux séléctionnés</translation> <translation>Obtenir des articles des flux séléctionnés.</translation>
</message> </message>
<message> <message>
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="300"/> <location filename="../src/librssguard/gui/dialogs/formmain.ui" line="300"/>
@ -2061,7 +2061,7 @@ ou cette fonctionnalité n&apos;est pas encore implémentée.</translation>
<message> <message>
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="382"/> <location filename="../src/librssguard/gui/dialogs/formmain.ui" line="382"/>
<source>Deletes all messages from selected items.</source> <source>Deletes all messages from selected items.</source>
<translation>Supprime tous les messages des éléments sélectionnés.</translation> <translation>Supprimer tous les messages des éléments sélectionnés.</translation>
</message> </message>
<message> <message>
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="390"/> <location filename="../src/librssguard/gui/dialogs/formmain.ui" line="390"/>
@ -2121,7 +2121,7 @@ ou cette fonctionnalité n&apos;est pas encore implémentée.</translation>
<message> <message>
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="454"/> <location filename="../src/librssguard/gui/dialogs/formmain.ui" line="454"/>
<source>Hides main window if it is visible and shows it if it is hidden.</source> <source>Hides main window if it is visible and shows it if it is hidden.</source>
<translation>Cacher la fenêtre principale si elle est visible et la montrer si elle est cachée.</translation> <translation>Minimiser la fenêtre principale si elle est au premier plan et la montrer si elle est minimisée.</translation>
</message> </message>
<message> <message>
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="468"/> <location filename="../src/librssguard/gui/dialogs/formmain.ui" line="468"/>
@ -2141,7 +2141,7 @@ ou cette fonctionnalité n&apos;est pas encore implémentée.</translation>
<message> <message>
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="482"/> <location filename="../src/librssguard/gui/dialogs/formmain.ui" line="482"/>
<source>Deletes all messages from all items.</source> <source>Deletes all messages from all items.</source>
<translation>Supprime tous les messages de tous les éléments.</translation> <translation>Supprimer tous les messages de tous les éléments.</translation>
</message> </message>
<message> <message>
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="490"/> <location filename="../src/librssguard/gui/dialogs/formmain.ui" line="490"/>
@ -2151,7 +2151,7 @@ ou cette fonctionnalité n&apos;est pas encore implémentée.</translation>
<message> <message>
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="498"/> <location filename="../src/librssguard/gui/dialogs/formmain.ui" line="498"/>
<source>&amp;Previous item</source> <source>&amp;Previous item</source>
<translation>&amp;Élément précédent</translation> <translation>Élément &amp;précédent</translation>
</message> </message>
<message> <message>
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="506"/> <location filename="../src/librssguard/gui/dialogs/formmain.ui" line="506"/>
@ -2201,7 +2201,7 @@ ou cette fonctionnalité n&apos;est pas encore implémentée.</translation>
<message> <message>
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="578"/> <location filename="../src/librssguard/gui/dialogs/formmain.ui" line="578"/>
<source>&amp;List headers</source> <source>&amp;List headers</source>
<translation>Les ttypes de liste</translation> <translation>Les types de liste</translation>
</message> </message>
<message> <message>
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="586"/> <location filename="../src/librssguard/gui/dialogs/formmain.ui" line="586"/>
@ -2216,7 +2216,7 @@ ou cette fonctionnalité n&apos;est pas encore implémentée.</translation>
<message> <message>
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="602"/> <location filename="../src/librssguard/gui/dialogs/formmain.ui" line="602"/>
<source>&amp;Restart</source> <source>&amp;Restart</source>
<translation>&amp;Redémarrer RSS Guard</translation> <translation>&amp;Redémarrer RSS Guard.</translation>
</message> </message>
<message> <message>
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="610"/> <location filename="../src/librssguard/gui/dialogs/formmain.ui" line="610"/>
@ -2312,7 +2312,7 @@ ou cette fonctionnalité n&apos;est pas encore implémentée.</translation>
<message> <message>
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="760"/> <location filename="../src/librssguard/gui/dialogs/formmain.ui" line="760"/>
<source>Stop ongoing fetching</source> <source>Stop ongoing fetching</source>
<translation>Arrêter l&apos;obtention en cours</translation> <translation>Arrêter l&apos;obtention en cours.</translation>
</message> </message>
<message> <message>
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="768"/> <location filename="../src/librssguard/gui/dialogs/formmain.ui" line="768"/>
@ -2362,7 +2362,7 @@ ou cette fonctionnalité n&apos;est pas encore implémentée.</translation>
<message> <message>
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="822"/> <location filename="../src/librssguard/gui/dialogs/formmain.ui" line="822"/>
<source>Fetch feeds with &amp;custom auto-download policy</source> <source>Fetch feeds with &amp;custom auto-download policy</source>
<translation>Obtenir les flux avec &amp;une politique de téléchargement automatique personnalisée</translation> <translation>Obtenir les flux avec une politique de téléchargement automatique &amp;personnalisée</translation>
</message> </message>
<message> <message>
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="830"/> <location filename="../src/librssguard/gui/dialogs/formmain.ui" line="830"/>
@ -2427,7 +2427,7 @@ ou cette fonctionnalité n&apos;est pas encore implémentée.</translation>
<message> <message>
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="902"/> <location filename="../src/librssguard/gui/dialogs/formmain.ui" line="902"/>
<source>Display application &amp;log</source> <source>Display application &amp;log</source>
<translation>Afficher le log de l&apos;appli</translation> <translation>Afficher le &amp;log de l&apos;appli</translation>
</message> </message>
<message> <message>
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="907"/> <location filename="../src/librssguard/gui/dialogs/formmain.ui" line="907"/>
@ -2452,7 +2452,7 @@ ou cette fonctionnalité n&apos;est pas encore implémentée.</translation>
<message> <message>
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="927"/> <location filename="../src/librssguard/gui/dialogs/formmain.ui" line="927"/>
<source>Rearrange &amp;subcategories alphabetically</source> <source>Rearrange &amp;subcategories alphabetically</source>
<translation>Réarranger les sous-catégories alphabétiquement</translation> <translation>Réarranger les &amp;sous-catégories alphabétiquement</translation>
</message> </message>
<message> <message>
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="932"/> <location filename="../src/librssguard/gui/dialogs/formmain.ui" line="932"/>
@ -2462,7 +2462,7 @@ ou cette fonctionnalité n&apos;est pas encore implémentée.</translation>
<message> <message>
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="937"/> <location filename="../src/librssguard/gui/dialogs/formmain.ui" line="937"/>
<source>Cleanup web cac&amp;he</source> <source>Cleanup web cac&amp;he</source>
<translation>Nettoyer le cac&amp;he web</translation> <translation>Nettoyer le &amp;cache web</translation>
</message> </message>
<message> <message>
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="750"/> <location filename="../src/librssguard/gui/dialogs/formmain.ui" line="750"/>
@ -4847,12 +4847,12 @@ Expiration de jetons d&apos;authentification: %2</translation>
<message> <message>
<location filename="../src/librssguard/gui/reusable/networkproxydetails.cpp" line="20"/> <location filename="../src/librssguard/gui/reusable/networkproxydetails.cpp" line="20"/>
<source>Socks5</source> <source>Socks5</source>
<translation>Socks5</translation> <translation>SOCKS5</translation>
</message> </message>
<message> <message>
<location filename="../src/librssguard/gui/reusable/networkproxydetails.cpp" line="21"/> <location filename="../src/librssguard/gui/reusable/networkproxydetails.cpp" line="21"/>
<source>Http</source> <source>Http</source>
<translation>Http</translation> <translation>HTTP</translation>
</message> </message>
<message> <message>
<location filename="../src/librssguard/gui/reusable/networkproxydetails.ui" line="14"/> <location filename="../src/librssguard/gui/reusable/networkproxydetails.ui" line="14"/>
@ -4867,7 +4867,7 @@ Expiration de jetons d&apos;authentification: %2</translation>
<message> <message>
<location filename="../src/librssguard/gui/reusable/networkproxydetails.ui" line="41"/> <location filename="../src/librssguard/gui/reusable/networkproxydetails.ui" line="41"/>
<source>Hostname or IP of your proxy server</source> <source>Hostname or IP of your proxy server</source>
<translation>Nom de l&apos;hôte ou IP de votre serveur proxy</translation> <translation>Entrez le nom de l&apos;hôte ou IP de votre serveur proxy ici</translation>
</message> </message>
<message> <message>
<location filename="../src/librssguard/gui/reusable/networkproxydetails.ui" line="48"/> <location filename="../src/librssguard/gui/reusable/networkproxydetails.ui" line="48"/>
@ -4882,7 +4882,7 @@ Expiration de jetons d&apos;authentification: %2</translation>
<message> <message>
<location filename="../src/librssguard/gui/reusable/networkproxydetails.ui" line="92"/> <location filename="../src/librssguard/gui/reusable/networkproxydetails.ui" line="92"/>
<source>Your username for proxy server authentication</source> <source>Your username for proxy server authentication</source>
<translation>Votre nom d&apos;utilisateur pour l&apos;authentification du serveur proxy</translation> <translation>Entrez votre nom d&apos;utilisateur pour l&apos;authentification du serveur proxy ici</translation>
</message> </message>
<message> <message>
<location filename="../src/librssguard/gui/reusable/networkproxydetails.ui" line="99"/> <location filename="../src/librssguard/gui/reusable/networkproxydetails.ui" line="99"/>
@ -4892,12 +4892,12 @@ Expiration de jetons d&apos;authentification: %2</translation>
<message> <message>
<location filename="../src/librssguard/gui/reusable/networkproxydetails.ui" line="118"/> <location filename="../src/librssguard/gui/reusable/networkproxydetails.ui" line="118"/>
<source>Your password for proxy server authentication</source> <source>Your password for proxy server authentication</source>
<translation>Votre mot de passe pour l&apos;authentification du serveur proxy</translation> <translation>Entrez votre mot de passe pour l&apos;authentification du serveur proxy ici</translation>
</message> </message>
<message> <message>
<location filename="../src/librssguard/gui/reusable/networkproxydetails.cpp" line="12"/> <location filename="../src/librssguard/gui/reusable/networkproxydetails.cpp" line="12"/>
<source>Note that these settings are applied only on newly established connections.</source> <source>Note that these settings are applied only on newly established connections.</source>
<translation>Noter que ces paramètres sont appliqués seulement sur les nouvelles connexions établies.</translation> <translation>Noter que ces paramètres sont appliqués seulement sur les nouvelles connections établies.</translation>
</message> </message>
<message> <message>
<location filename="../src/librssguard/gui/reusable/networkproxydetails.ui" line="146"/> <location filename="../src/librssguard/gui/reusable/networkproxydetails.ui" line="146"/>
@ -6078,7 +6078,7 @@ File filter for external e-mail selection dialog.</extracomment>
<message> <message>
<location filename="../src/librssguard/gui/settings/settingsbrowsermail.h" line="46"/> <location filename="../src/librssguard/gui/settings/settingsbrowsermail.h" line="46"/>
<source>Network &amp; web &amp; tools</source> <source>Network &amp; web &amp; tools</source>
<translation>Réseau, web &amp; outils</translation> <translation>&amp;Réseau, web &amp; outils</translation>
</message> </message>
</context> </context>
<context> <context>
@ -6676,7 +6676,7 @@ Déscription: %3</translation>
<message> <message>
<location filename="../src/librssguard/gui/settings/settingsgui.ui" line="186"/> <location filename="../src/librssguard/gui/settings/settingsgui.ui" line="186"/>
<source>Start application hidden</source> <source>Start application hidden</source>
<translation>Démarrer l&apos;application en caché</translation> <translation>Démarrer l&apos;application minimisée</translation>
</message> </message>
<message> <message>
<location filename="../src/librssguard/gui/settings/settingsgui.ui" line="210"/> <location filename="../src/librssguard/gui/settings/settingsgui.ui" line="210"/>

View file

@ -24,13 +24,13 @@ if ($use_qt5 -eq "ON") {
$qt_version = "5.15.2" $qt_version = "5.15.2"
} }
else { else {
$qt_version = "6.4.3" $qt_version = "6.5.2"
} }
$maria_version = "10.6.12" $maria_version = "10.6.14"
$maria_link = "https://archive.mariadb.org/mariadb-$maria_version/winx64-packages/mariadb-$maria_version-winx64.zip" $maria_link = "https://archive.mariadb.org/mariadb-$maria_version/winx64-packages/mariadb-$maria_version-winx64.zip"
$maria_output = "maria.zip" $maria_output = "maria.zip"
$cmake_version = "3.26.4" $cmake_version = "3.27.1"
$cmake_link = "https://github.com/Kitware/CMake/releases/download/v$cmake_version/cmake-$cmake_version-windows-x86_64.zip" $cmake_link = "https://github.com/Kitware/CMake/releases/download/v$cmake_version/cmake-$cmake_version-windows-x86_64.zip"
$cmake_output = "cmake.zip" $cmake_output = "cmake.zip"

View file

@ -55,8 +55,8 @@ void MessagesModelSqlLayer::addSortState(int column, Qt::SortOrder order, bool i
if (m_sortColumns.size() >= MAX_MULTICOLUMN_SORT_STATES) { if (m_sortColumns.size() >= MAX_MULTICOLUMN_SORT_STATES) {
// We support only limited number of sort states // We support only limited number of sort states
// due to DB performance. // due to DB performance.
m_sortColumns.removeAt(0); m_sortColumns.removeLast();
m_sortOrders.removeAt(0); m_sortOrders.removeLast();
} }
if (is_ctrl_pressed && !ignore_multicolumn_sorting) { if (is_ctrl_pressed && !ignore_multicolumn_sorting) {
@ -78,6 +78,15 @@ void MessagesModelSqlLayer::setFilter(const QString& filter) {
m_filter = filter; m_filter = filter;
} }
SortColumnsAndOrders MessagesModelSqlLayer::sortColumnAndOrders() const {
SortColumnsAndOrders res;
res.m_columns = m_sortColumns;
res.m_orders = m_sortOrders;
return res;
}
QString MessagesModelSqlLayer::formatFields() const { QString MessagesModelSqlLayer::formatFields() const {
return m_fieldNames.values().join(QSL(", ")); return m_fieldNames.values().join(QSL(", "));
} }

View file

@ -7,6 +7,12 @@
#include <QList> #include <QList>
#include <QMap> #include <QMap>
#include <QPair>
struct SortColumnsAndOrders {
QList<int> m_columns;
QList<Qt::SortOrder> m_orders;
};
class MessagesModelSqlLayer { class MessagesModelSqlLayer {
public: public:
@ -18,6 +24,8 @@ class MessagesModelSqlLayer {
// Sets SQL WHERE clause, without "WHERE" keyword. // Sets SQL WHERE clause, without "WHERE" keyword.
void setFilter(const QString& filter); void setFilter(const QString& filter);
SortColumnsAndOrders sortColumnAndOrders() const;
protected: protected:
QString orderByClause() const; QString orderByClause() const;
QString selectStatement() const; QString selectStatement() const;

View file

@ -58,6 +58,7 @@
#define IS_IN_ARRAY(offset, array) ((offset >= 0) && (offset < array.count())) #define IS_IN_ARRAY(offset, array) ((offset >= 0) && (offset < array.count()))
#define DEFAULT_SQL_MESSAGES_FILTER "0 > 1" #define DEFAULT_SQL_MESSAGES_FILTER "0 > 1"
#define MAX_MULTICOLUMN_SORT_STATES 3 #define MAX_MULTICOLUMN_SORT_STATES 3
#define RELEASES_LIST "https://api.github.com/repos/martinrotter/rssguard/releases" #define RELEASES_LIST "https://api.github.com/repos/martinrotter/rssguard/releases"
#define MSG_FILTERING_HELP APP_URL_DOCUMENTATION "#fltr" #define MSG_FILTERING_HELP APP_URL_DOCUMENTATION "#fltr"
#define URL_REGEXP \ #define URL_REGEXP \

View file

@ -105,6 +105,10 @@ void FeedMessageViewer::loadSize() {
if (!settings_msg_header.isEmpty()) { if (!settings_msg_header.isEmpty()) {
m_messagesView->restoreHeaderState(QByteArray::fromBase64(settings_msg_header.toLocal8Bit())); m_messagesView->restoreHeaderState(QByteArray::fromBase64(settings_msg_header.toLocal8Bit()));
} }
else {
// Set default sort column.
m_messagesView->header()->setSortIndicator(MSG_DB_DCREATED_INDEX, Qt::SortOrder::DescendingOrder);
}
} }
void FeedMessageViewer::loadMessageViewerFonts() { void FeedMessageViewer::loadMessageViewerFonts() {

View file

@ -23,6 +23,7 @@
#include <QClipboard> #include <QClipboard>
#include <QFileIconProvider> #include <QFileIconProvider>
#include <QJsonObject>
#include <QKeyEvent> #include <QKeyEvent>
#include <QMenu> #include <QMenu>
#include <QProcess> #include <QProcess>
@ -58,6 +59,32 @@ void MessagesView::reloadFontSettings() {
} }
QByteArray MessagesView::saveHeaderState() const { QByteArray MessagesView::saveHeaderState() const {
QJsonObject obj;
obj[QSL("header_count")] = header()->count();
// Store column attributes.
for (int i = 0; i < header()->count(); i++) {
obj[QSL("header_%1_idx").arg(i)] = header()->visualIndex(i);
obj[QSL("header_%1_size").arg(i)] = header()->sectionSize(i);
obj[QSL("header_%1_hidden").arg(i)] = header()->isSectionHidden(i);
}
// Store sort attributes.
SortColumnsAndOrders orders = m_sourceModel->sortColumnAndOrders();
obj[QSL("sort_count")] = orders.m_columns.size();
for (int i = 0; i < orders.m_columns.size(); i++) {
obj[QSL("sort_%1_order").arg(i)] = orders.m_orders.at(i);
obj[QSL("sort_%1_column").arg(i)] = orders.m_columns.at(i);
}
return QJsonDocument(obj).toJson(QJsonDocument::JsonFormat::Compact);
/*
*
*
QByteArray arr; QByteArray arr;
QDataStream outt(&arr, QIODevice::OpenModeFlag::WriteOnly); QDataStream outt(&arr, QIODevice::OpenModeFlag::WriteOnly);
@ -74,9 +101,55 @@ QByteArray MessagesView::saveHeaderState() const {
} }
return arr; return arr;
*/
} }
void MessagesView::restoreHeaderState(const QByteArray& dta) { void MessagesView::restoreHeaderState(const QByteArray& dta) {
QJsonObject obj = QJsonDocument::fromJson(dta).object();
int saved_header_count = obj[QSL("header_count")].toInt();
if (saved_header_count < header()->count()) {
qWarningNN << LOGSEC_GUI << "Detected invalid state for list view.";
return;
}
// Restore column attributes.
for (int i = 0; i < saved_header_count && i < header()->count(); i++) {
int vi = obj[QSL("header_%1_idx").arg(i)].toInt();
int ss = obj[QSL("header_%1_size").arg(i)].toInt();
bool ish = obj[QSL("header_%1_hidden").arg(i)].toBool();
if (vi < header()->count()) {
header()->swapSections(header()->visualIndex(i), vi);
}
header()->resizeSection(i, ss);
header()->setSectionHidden(i, ish);
}
// Restore sort attributes.
int saved_sort_count = obj[QSL("sort_count")].toInt();
for (int i = saved_sort_count - 1; i > 0; i--) {
auto col = obj[QSL("sort_%1_column").arg(i)].toInt();
auto ordr = Qt::SortOrder(obj[QSL("sort_%1_order").arg(i)].toInt());
if (col < header()->count()) {
m_sourceModel->addSortState(col, ordr, false);
}
}
// Use newest sort as active.
if (saved_sort_count > 0) {
auto newest_col = obj[QSL("sort_0_column")].toInt();
auto newest_ordr = Qt::SortOrder(obj[QSL("sort_0_order")].toInt());
if (newest_col < header()->count()) {
header()->setSortIndicator(newest_col, newest_ordr);
}
}
/*
QByteArray arr = dta; QByteArray arr = dta;
QDataStream inn(&arr, QIODevice::OpenModeFlag::ReadOnly); QDataStream inn(&arr, QIODevice::OpenModeFlag::ReadOnly);
@ -116,6 +189,7 @@ void MessagesView::restoreHeaderState(const QByteArray& dta) {
if (saved_sort_column < header()->count()) { if (saved_sort_column < header()->count()) {
header()->setSortIndicator(saved_sort_column, Qt::SortOrder(saved_sort_order)); header()->setSortIndicator(saved_sort_column, Qt::SortOrder(saved_sort_order));
} }
*/
} }
void MessagesView::copyUrlOfSelectedArticles() const { void MessagesView::copyUrlOfSelectedArticles() const {

View file

@ -66,6 +66,7 @@ class MessagesView : public BaseTreeView {
Qt::CaseSensitivity sensitivity, Qt::CaseSensitivity sensitivity,
int custom_criteria, int custom_criteria,
const QString& phrase); const QString& phrase);
void highlightMessages(MessagesModel::MessageHighlighter highlighter); void highlightMessages(MessagesModel::MessageHighlighter highlighter);
void changeFilter(MessagesProxyModel::MessageListFilter filter); void changeFilter(MessagesProxyModel::MessageListFilter filter);