lang sync + multiple fixes around #1039
This commit is contained in:
parent
2a73af8347
commit
3c1f069c48
12 changed files with 671 additions and 544 deletions
|
@ -4,16 +4,16 @@ Language: Cpp
|
|||
AccessModifierOffset: 0
|
||||
AlignAfterOpenBracket: Align
|
||||
AlignArrayOfStructures: None
|
||||
AlignConsecutiveMacros: None
|
||||
AlignConsecutiveMacros: Consecutive
|
||||
AlignConsecutiveAssignments: None
|
||||
AlignConsecutiveBitFields: None
|
||||
AlignConsecutiveDeclarations: None
|
||||
AlignEscapedNewlines: Right
|
||||
AlignEscapedNewlines: Left
|
||||
AlignOperands: Align
|
||||
AlignTrailingComments: true
|
||||
AllowAllArgumentsOnNextLine: true
|
||||
AllowAllParametersOfDeclarationOnNextLine: true
|
||||
AllowShortEnumsOnASingleLine: true
|
||||
AllowAllArgumentsOnNextLine: false
|
||||
AllowAllParametersOfDeclarationOnNextLine: false
|
||||
AllowShortEnumsOnASingleLine: false
|
||||
AllowShortBlocksOnASingleLine: Never
|
||||
AllowShortCaseLabelsOnASingleLine: false
|
||||
AllowShortFunctionsOnASingleLine: Empty
|
||||
|
@ -23,7 +23,7 @@ AllowShortLoopsOnASingleLine: false
|
|||
AlwaysBreakAfterDefinitionReturnType: None
|
||||
AlwaysBreakAfterReturnType: None
|
||||
AlwaysBreakBeforeMultilineStrings: false
|
||||
AlwaysBreakTemplateDeclarations: MultiLine
|
||||
AlwaysBreakTemplateDeclarations: Yes
|
||||
AttributeMacros:
|
||||
- __capability
|
||||
BinPackArguments: false
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1155,7 +1155,7 @@ or this functionality is not implemented yet.</source>
|
|||
<message>
|
||||
<location filename="../src/librssguard/gui/dialogs/formabout.cpp" line="126"/>
|
||||
<source><body>%5 is a (very) tiny feed reader.<br><br>This software is distributed under the terms of GNU General Public License, version 3.<br><br>Contacts:<ul><li><a href="mailto://%1">%1</a> ~e-mail</li><li><a href="%2">%2</a> ~website</li></ul>You can obtain source code for %5 from its website.<br><br><br>Copyright (C) 2011-%3 %4</body></source>
|
||||
<translation type="unfinished"/>
|
||||
<translation><body>%5 is a (very) tiny feed reader.<br><br>This software is distributed under the terms of GNU General Public License, version 3.<br><br>Contacts:<ul><li><a href="mailto://%1">%1</a> ~e-mail</li><li><a href="%2">%2</a> ~website</li></ul>You can obtain source code for %5 from its website.<br><br><br>Copyright © 2011-%3 %4</body></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/librssguard/gui/dialogs/formabout.cpp" line="110"/>
|
||||
|
@ -1601,7 +1601,7 @@ or this functionality is not implemented yet.</source>
|
|||
<message>
|
||||
<location filename="../src/librssguard/gui/dialogs/formdatabasecleanup.cpp" line="30"/>
|
||||
<source>I am ready.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Ready to cleanup the database.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/librssguard/gui/dialogs/formdatabasecleanup.cpp" line="76"/>
|
||||
|
@ -1943,12 +1943,12 @@ or this functionality is not implemented yet.</source>
|
|||
<message>
|
||||
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="250"/>
|
||||
<source>&About application</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>&About RSS Guard</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="253"/>
|
||||
<source>Displays extra info about this application.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Displays additional information about the application.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="267"/>
|
||||
|
@ -1968,7 +1968,7 @@ or this functionality is not implemented yet.</source>
|
|||
<message>
|
||||
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="281"/>
|
||||
<source>Fetch all feeds</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Fetch articles for all feeds</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="289"/>
|
||||
|
@ -2113,7 +2113,7 @@ or this functionality is not implemented yet.</source>
|
|||
<message>
|
||||
<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>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Hides main window if it's on top and shows it if it's minimised.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="468"/>
|
||||
|
@ -4254,7 +4254,7 @@ Login tokens expiration: %2</source>
|
|||
<message>
|
||||
<location filename="../src/librssguard/core/messagesforfiltersmodel.cpp" line="13"/>
|
||||
<source>Author</source>
|
||||
<translation>Translator(s)</translation>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/librssguard/core/messagesforfiltersmodel.cpp" line="13"/>
|
||||
|
@ -4307,7 +4307,7 @@ Login tokens expiration: %2</source>
|
|||
<message>
|
||||
<location filename="../src/librssguard/core/messagesmodel.cpp" line="288"/>
|
||||
<source>Author</source>
|
||||
<translation>Translator(s)</translation>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/librssguard/core/messagesmodel.cpp" line="290"/>
|
||||
|
@ -4822,12 +4822,12 @@ Login tokens expiration: %2</source>
|
|||
<message>
|
||||
<location filename="../src/librssguard/gui/reusable/networkproxydetails.cpp" line="20"/>
|
||||
<source>Socks5</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>SOCKS5</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/librssguard/gui/reusable/networkproxydetails.cpp" line="21"/>
|
||||
<source>Http</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>HTTP</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/librssguard/gui/reusable/networkproxydetails.ui" line="14"/>
|
||||
|
@ -4842,7 +4842,7 @@ Login tokens expiration: %2</source>
|
|||
<message>
|
||||
<location filename="../src/librssguard/gui/reusable/networkproxydetails.ui" line="41"/>
|
||||
<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>
|
||||
<location filename="../src/librssguard/gui/reusable/networkproxydetails.ui" line="48"/>
|
||||
|
@ -4857,7 +4857,7 @@ Login tokens expiration: %2</source>
|
|||
<message>
|
||||
<location filename="../src/librssguard/gui/reusable/networkproxydetails.ui" line="92"/>
|
||||
<source>Your username for proxy server authentication</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Enter your username for proxy server authentification here</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/librssguard/gui/reusable/networkproxydetails.ui" line="99"/>
|
||||
|
@ -4867,7 +4867,7 @@ Login tokens expiration: %2</source>
|
|||
<message>
|
||||
<location filename="../src/librssguard/gui/reusable/networkproxydetails.ui" line="118"/>
|
||||
<source>Your password for proxy server authentication</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Enter your password for proxy server authentification here</translation>
|
||||
</message>
|
||||
<message>
|
||||
<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>
|
||||
<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>
|
||||
<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>
|
||||
<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>
|
||||
<location filename="../src/librssguard/gui/settings/settingsfeedsmessages.ui" line="164"/>
|
||||
<source>Feeds list</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Feed list</translation>
|
||||
</message>
|
||||
<message>
|
||||
<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>
|
||||
<location filename="../src/librssguard/gui/settings/settingsfeedsmessages.ui" line="207"/>
|
||||
<source>Feed list font</source>
|
||||
<translation>Feed list-specific font</translation>
|
||||
<translation>Feed list font</translation>
|
||||
</message>
|
||||
<message>
|
||||
<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>
|
||||
<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>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Bring application window to the forefront once an article is opened in the external web browser</translation>
|
||||
</message>
|
||||
<message>
|
||||
<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>
|
||||
<location filename="../src/librssguard/gui/settings/settingsfeedsmessages.ui" line="354"/>
|
||||
<source>Limit height of pictures</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Limit image height</translation>
|
||||
</message>
|
||||
<message>
|
||||
<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>
|
||||
<location filename="../src/librssguard/gui/settings/settingsfeedsmessages.ui" line="446"/>
|
||||
<source>Articles list</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Article list</translation>
|
||||
</message>
|
||||
<message>
|
||||
<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>
|
||||
<location filename="../src/librssguard/gui/settings/settingsgui.cpp" line="34"/>
|
||||
<source>Author</source>
|
||||
<translation>Translator(s)</translation>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/librssguard/gui/settings/settingsgui.cpp" line="34"/>
|
||||
|
@ -6626,7 +6626,7 @@ Description: %3</source>
|
|||
<message>
|
||||
<location filename="../src/librssguard/gui/settings/settingsgui.ui" line="186"/>
|
||||
<source>Start application hidden</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Start application minimised</translation>
|
||||
</message>
|
||||
<message>
|
||||
<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>
|
||||
<location filename="../src/librssguard/services/standard/standardserviceroot.cpp" line="44"/>
|
||||
<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>
|
||||
<location filename="../src/librssguard/services/standard/standardserviceroot.cpp" line="60"/>
|
||||
|
|
|
@ -516,7 +516,7 @@ Cliquez-ici pour ouvrir le répertoire parent.</translation>
|
|||
<message>
|
||||
<location filename="../src/librssguard/network-web/downloaditem.ui" line="86"/>
|
||||
<source>&Try again</source>
|
||||
<translation>&Essayez encore</translation>
|
||||
<translation>&Réessayer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/librssguard/network-web/downloaditem.ui" line="93"/>
|
||||
|
@ -526,12 +526,12 @@ Cliquez-ici pour ouvrir le répertoire parent.</translation>
|
|||
<message>
|
||||
<location filename="../src/librssguard/network-web/downloaditem.ui" line="100"/>
|
||||
<source>&Open file</source>
|
||||
<translation>&Ouvrez le fichier</translation>
|
||||
<translation>&Ouvrir le fichier</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/librssguard/network-web/downloaditem.ui" line="107"/>
|
||||
<source>Open &directory</source>
|
||||
<translation>Ouvrir %repertoire</translation>
|
||||
<translation>Ouvrir le &répertoire</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
@ -574,7 +574,7 @@ Cliquez-ici pour ouvrir le répertoire parent.</translation>
|
|||
<message>
|
||||
<location filename="../src/librssguard/network-web/downloadmanager.ui" line="38"/>
|
||||
<source>Clean up</source>
|
||||
<translation>Nettoyage</translation>
|
||||
<translation>&Vider la liste de téléchargements</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
@ -664,7 +664,7 @@ Cliquez-ici pour ouvrir le répertoire parent.</translation>
|
|||
<message>
|
||||
<location filename="../src/librssguard/services/abstract/feed.cpp" line="280"/>
|
||||
<source>uses global settings, but global auto-fetching of articles is disabled</source>
|
||||
<translation>utilise les paramètres globaux, mais l'obtention automatique globale d'articles est désactivée.</translation>
|
||||
<translation>Ce flux utilise les paramètres globaux, mais l'obtention automatique globale d'articles est désactivée.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/librssguard/services/abstract/feed.cpp" line="304"/>
|
||||
|
@ -1609,7 +1609,7 @@ ou cette fonctionnalité n'est pas encore implémentée.</translation>
|
|||
<message>
|
||||
<location filename="../src/librssguard/gui/dialogs/formdatabasecleanup.cpp" line="30"/>
|
||||
<source>I am ready.</source>
|
||||
<translation>Je suis prêt.</translation>
|
||||
<translation>Prêt à nettoyer la base de données.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/librssguard/gui/dialogs/formdatabasecleanup.cpp" line="76"/>
|
||||
|
@ -1951,12 +1951,12 @@ ou cette fonctionnalité n'est pas encore implémentée.</translation>
|
|||
<message>
|
||||
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="250"/>
|
||||
<source>&About application</source>
|
||||
<translation>&À propos de l'application</translation>
|
||||
<translation>&À propos d'RSS Guard</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="253"/>
|
||||
<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'application.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="267"/>
|
||||
|
@ -1976,7 +1976,7 @@ ou cette fonctionnalité n'est pas encore implémentée.</translation>
|
|||
<message>
|
||||
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="281"/>
|
||||
<source>Fetch all feeds</source>
|
||||
<translation>Obtenir tous les flux</translation>
|
||||
<translation>Obtenir des articles de tous les flux.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="289"/>
|
||||
|
@ -1986,7 +1986,7 @@ ou cette fonctionnalité n'est pas encore implémentée.</translation>
|
|||
<message>
|
||||
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="292"/>
|
||||
<source>Fetch selected feeds</source>
|
||||
<translation>Obtenir des &articles des flux séléctionnés</translation>
|
||||
<translation>Obtenir des articles des flux séléctionnés.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="300"/>
|
||||
|
@ -2061,7 +2061,7 @@ ou cette fonctionnalité n'est pas encore implémentée.</translation>
|
|||
<message>
|
||||
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="382"/>
|
||||
<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>
|
||||
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="390"/>
|
||||
|
@ -2121,7 +2121,7 @@ ou cette fonctionnalité n'est pas encore implémentée.</translation>
|
|||
<message>
|
||||
<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>
|
||||
<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>
|
||||
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="468"/>
|
||||
|
@ -2141,7 +2141,7 @@ ou cette fonctionnalité n'est pas encore implémentée.</translation>
|
|||
<message>
|
||||
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="482"/>
|
||||
<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>
|
||||
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="490"/>
|
||||
|
@ -2151,7 +2151,7 @@ ou cette fonctionnalité n'est pas encore implémentée.</translation>
|
|||
<message>
|
||||
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="498"/>
|
||||
<source>&Previous item</source>
|
||||
<translation>&Élément précédent</translation>
|
||||
<translation>Élément &précédent</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="506"/>
|
||||
|
@ -2201,7 +2201,7 @@ ou cette fonctionnalité n'est pas encore implémentée.</translation>
|
|||
<message>
|
||||
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="578"/>
|
||||
<source>&List headers</source>
|
||||
<translation>Les ttypes de liste</translation>
|
||||
<translation>Les types de liste</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="586"/>
|
||||
|
@ -2216,7 +2216,7 @@ ou cette fonctionnalité n'est pas encore implémentée.</translation>
|
|||
<message>
|
||||
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="602"/>
|
||||
<source>&Restart</source>
|
||||
<translation>&Redémarrer RSS Guard</translation>
|
||||
<translation>&Redémarrer RSS Guard.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="610"/>
|
||||
|
@ -2312,7 +2312,7 @@ ou cette fonctionnalité n'est pas encore implémentée.</translation>
|
|||
<message>
|
||||
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="760"/>
|
||||
<source>Stop ongoing fetching</source>
|
||||
<translation>Arrêter l'obtention en cours</translation>
|
||||
<translation>Arrêter l'obtention en cours.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="768"/>
|
||||
|
@ -2362,7 +2362,7 @@ ou cette fonctionnalité n'est pas encore implémentée.</translation>
|
|||
<message>
|
||||
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="822"/>
|
||||
<source>Fetch feeds with &custom auto-download policy</source>
|
||||
<translation>Obtenir les flux avec &une politique de téléchargement automatique personnalisée</translation>
|
||||
<translation>Obtenir les flux avec une politique de téléchargement automatique &personnalisée</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="830"/>
|
||||
|
@ -2427,7 +2427,7 @@ ou cette fonctionnalité n'est pas encore implémentée.</translation>
|
|||
<message>
|
||||
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="902"/>
|
||||
<source>Display application &log</source>
|
||||
<translation>Afficher le log de l'appli</translation>
|
||||
<translation>Afficher le &log de l'appli</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="907"/>
|
||||
|
@ -2452,7 +2452,7 @@ ou cette fonctionnalité n'est pas encore implémentée.</translation>
|
|||
<message>
|
||||
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="927"/>
|
||||
<source>Rearrange &subcategories alphabetically</source>
|
||||
<translation>Réarranger les sous-catégories alphabétiquement</translation>
|
||||
<translation>Réarranger les &sous-catégories alphabétiquement</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="932"/>
|
||||
|
@ -2462,7 +2462,7 @@ ou cette fonctionnalité n'est pas encore implémentée.</translation>
|
|||
<message>
|
||||
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="937"/>
|
||||
<source>Cleanup web cac&he</source>
|
||||
<translation>Nettoyer le cac&he web</translation>
|
||||
<translation>Nettoyer le &cache web</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="750"/>
|
||||
|
@ -4847,12 +4847,12 @@ Expiration de jetons d'authentification: %2</translation>
|
|||
<message>
|
||||
<location filename="../src/librssguard/gui/reusable/networkproxydetails.cpp" line="20"/>
|
||||
<source>Socks5</source>
|
||||
<translation>Socks5</translation>
|
||||
<translation>SOCKS5</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/librssguard/gui/reusable/networkproxydetails.cpp" line="21"/>
|
||||
<source>Http</source>
|
||||
<translation>Http</translation>
|
||||
<translation>HTTP</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/librssguard/gui/reusable/networkproxydetails.ui" line="14"/>
|
||||
|
@ -4867,7 +4867,7 @@ Expiration de jetons d'authentification: %2</translation>
|
|||
<message>
|
||||
<location filename="../src/librssguard/gui/reusable/networkproxydetails.ui" line="41"/>
|
||||
<source>Hostname or IP of your proxy server</source>
|
||||
<translation>Nom de l'hôte ou IP de votre serveur proxy</translation>
|
||||
<translation>Entrez le nom de l'hôte ou IP de votre serveur proxy ici</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/librssguard/gui/reusable/networkproxydetails.ui" line="48"/>
|
||||
|
@ -4882,7 +4882,7 @@ Expiration de jetons d'authentification: %2</translation>
|
|||
<message>
|
||||
<location filename="../src/librssguard/gui/reusable/networkproxydetails.ui" line="92"/>
|
||||
<source>Your username for proxy server authentication</source>
|
||||
<translation>Votre nom d'utilisateur pour l'authentification du serveur proxy</translation>
|
||||
<translation>Entrez votre nom d'utilisateur pour l'authentification du serveur proxy ici</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/librssguard/gui/reusable/networkproxydetails.ui" line="99"/>
|
||||
|
@ -4892,12 +4892,12 @@ Expiration de jetons d'authentification: %2</translation>
|
|||
<message>
|
||||
<location filename="../src/librssguard/gui/reusable/networkproxydetails.ui" line="118"/>
|
||||
<source>Your password for proxy server authentication</source>
|
||||
<translation>Votre mot de passe pour l'authentification du serveur proxy</translation>
|
||||
<translation>Entrez votre mot de passe pour l'authentification du serveur proxy ici</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/librssguard/gui/reusable/networkproxydetails.cpp" line="12"/>
|
||||
<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>
|
||||
<location filename="../src/librssguard/gui/reusable/networkproxydetails.ui" line="146"/>
|
||||
|
@ -6078,7 +6078,7 @@ File filter for external e-mail selection dialog.</extracomment>
|
|||
<message>
|
||||
<location filename="../src/librssguard/gui/settings/settingsbrowsermail.h" line="46"/>
|
||||
<source>Network & web & tools</source>
|
||||
<translation>Réseau, web & outils</translation>
|
||||
<translation>&Réseau, web & outils</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
@ -6676,7 +6676,7 @@ Déscription: %3</translation>
|
|||
<message>
|
||||
<location filename="../src/librssguard/gui/settings/settingsgui.ui" line="186"/>
|
||||
<source>Start application hidden</source>
|
||||
<translation>Démarrer l'application en caché</translation>
|
||||
<translation>Démarrer l'application minimisée</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/librssguard/gui/settings/settingsgui.ui" line="210"/>
|
||||
|
|
Binary file not shown.
|
@ -24,13 +24,13 @@ if ($use_qt5 -eq "ON") {
|
|||
$qt_version = "5.15.2"
|
||||
}
|
||||
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_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_output = "cmake.zip"
|
||||
|
||||
|
|
|
@ -55,8 +55,8 @@ void MessagesModelSqlLayer::addSortState(int column, Qt::SortOrder order, bool i
|
|||
if (m_sortColumns.size() >= MAX_MULTICOLUMN_SORT_STATES) {
|
||||
// We support only limited number of sort states
|
||||
// due to DB performance.
|
||||
m_sortColumns.removeAt(0);
|
||||
m_sortOrders.removeAt(0);
|
||||
m_sortColumns.removeLast();
|
||||
m_sortOrders.removeLast();
|
||||
}
|
||||
|
||||
if (is_ctrl_pressed && !ignore_multicolumn_sorting) {
|
||||
|
@ -78,6 +78,15 @@ void MessagesModelSqlLayer::setFilter(const QString& 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 {
|
||||
return m_fieldNames.values().join(QSL(", "));
|
||||
}
|
||||
|
|
|
@ -7,6 +7,12 @@
|
|||
|
||||
#include <QList>
|
||||
#include <QMap>
|
||||
#include <QPair>
|
||||
|
||||
struct SortColumnsAndOrders {
|
||||
QList<int> m_columns;
|
||||
QList<Qt::SortOrder> m_orders;
|
||||
};
|
||||
|
||||
class MessagesModelSqlLayer {
|
||||
public:
|
||||
|
@ -18,6 +24,8 @@ class MessagesModelSqlLayer {
|
|||
// Sets SQL WHERE clause, without "WHERE" keyword.
|
||||
void setFilter(const QString& filter);
|
||||
|
||||
SortColumnsAndOrders sortColumnAndOrders() const;
|
||||
|
||||
protected:
|
||||
QString orderByClause() const;
|
||||
QString selectStatement() const;
|
||||
|
|
|
@ -6,175 +6,176 @@
|
|||
#include <QDebug>
|
||||
#include <QtGlobal>
|
||||
|
||||
#define SERVICE_CODE_STD_RSS "std-rss"
|
||||
#define SERVICE_CODE_TT_RSS "tt-rss"
|
||||
#define SERVICE_CODE_OWNCLOUD "owncloud"
|
||||
#define SERVICE_CODE_GREADER "greader"
|
||||
#define SERVICE_CODE_FEEDLY "feedly"
|
||||
#define SERVICE_CODE_STD_RSS "std-rss"
|
||||
#define SERVICE_CODE_TT_RSS "tt-rss"
|
||||
#define SERVICE_CODE_OWNCLOUD "owncloud"
|
||||
#define SERVICE_CODE_GREADER "greader"
|
||||
#define SERVICE_CODE_FEEDLY "feedly"
|
||||
#define SERVICE_CODE_INOREADER "inoreader"
|
||||
#define SERVICE_CODE_GMAIL "gmail"
|
||||
#define SERVICE_CODE_REDDIT "reddit"
|
||||
#define SERVICE_CODE_NEWSBLUR "newsblur"
|
||||
#define SERVICE_CODE_GMAIL "gmail"
|
||||
#define SERVICE_CODE_REDDIT "reddit"
|
||||
#define SERVICE_CODE_NEWSBLUR "newsblur"
|
||||
|
||||
#define ADBLOCK_SERVER_FILE "adblock-server.js"
|
||||
#define ADBLOCK_SERVER_PORT 48484
|
||||
#define ADBLOCK_HOWTO APP_URL_DOCUMENTATION "#adbl"
|
||||
#define ADBLOCK_ICON_ACTIVE "adblock"
|
||||
#define ADBLOCK_SERVER_FILE "adblock-server.js"
|
||||
#define ADBLOCK_SERVER_PORT 48484
|
||||
#define ADBLOCK_HOWTO APP_URL_DOCUMENTATION "#adbl"
|
||||
#define ADBLOCK_ICON_ACTIVE "adblock"
|
||||
#define ADBLOCK_ICON_DISABLED "adblock-disabled"
|
||||
|
||||
#define OAUTH_DECRYPTION_KEY 11451167756100761335ul
|
||||
#define OAUTH_REDIRECT_URI "http://localhost"
|
||||
#define OAUTH_REDIRECT_URI "http://localhost"
|
||||
|
||||
#define ENCLOSURES_OUTER_SEPARATOR '#'
|
||||
#define ECNLOSURES_INNER_SEPARATOR '&'
|
||||
|
||||
#define URI_SCHEME_FEED_SHORT "feed:"
|
||||
#define URI_SCHEME_FEED "feed://"
|
||||
#define URI_SCHEME_FEED "feed://"
|
||||
|
||||
#define URI_SCHEME_HTTP_SHORT "http:"
|
||||
#define URI_SCHEME_HTTP "http://"
|
||||
#define URI_SCHEME_HTTP "http://"
|
||||
|
||||
#define URI_SCHEME_HTTPS_SHORT "https:"
|
||||
#define URI_SCHEME_HTTPS "https://"
|
||||
#define URI_SCHEME_HTTPS "https://"
|
||||
|
||||
#define DEFAULT_LOCALE "en_US"
|
||||
|
||||
#define NO_PARENT_CATEGORY -1
|
||||
#define ID_RECYCLE_BIN -2
|
||||
#define ID_IMPORTANT -3
|
||||
#define ID_LABELS -4
|
||||
#define ID_UNREAD -5
|
||||
#define ID_PROBES -6
|
||||
#define ID_RECYCLE_BIN -2
|
||||
#define ID_IMPORTANT -3
|
||||
#define ID_LABELS -4
|
||||
#define ID_UNREAD -5
|
||||
#define ID_PROBES -6
|
||||
|
||||
#define MSG_SCORE_MAX 100.0
|
||||
#define MSG_SCORE_MIN 0.0
|
||||
|
||||
#define LOWER_TITLE_ROLE 64
|
||||
#define LOWER_TITLE_ROLE 64
|
||||
#define HIGHLIGHTED_FOREGROUND_TITLE_ROLE 65
|
||||
#define TEXT_DIRECTION_ROLE 66
|
||||
#define TEXT_DIRECTION_ROLE 66
|
||||
|
||||
#define SOUNDS_BUILTIN_DIRECTORY ":/sounds"
|
||||
#define ARGUMENTS_LIST_SEPARATOR "\n"
|
||||
#define IS_IN_ARRAY(offset, array) ((offset >= 0) && (offset < array.count()))
|
||||
#define SOUNDS_BUILTIN_DIRECTORY ":/sounds"
|
||||
#define ARGUMENTS_LIST_SEPARATOR "\n"
|
||||
#define IS_IN_ARRAY(offset, array) ((offset >= 0) && (offset < array.count()))
|
||||
#define DEFAULT_SQL_MESSAGES_FILTER "0 > 1"
|
||||
#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 URL_REGEXP \
|
||||
"^(http|https|feed|ftp):\\/\\/[\\w\\-_]+(\\.[\\w\\-_]+)+([\\w\\-\\.,@?^=%&:/~\\+#]*[\\w\\-\\@?^=%&/" \
|
||||
"~\\+#])?$"
|
||||
#define SCRIPT_SOURCE_TYPE_REGEXP "^.+#.*$"
|
||||
#define TEXT_TITLE_LIMIT 30
|
||||
#define TEXT_TOOLTIP_LIMIT 50
|
||||
#define RESELECT_MESSAGE_THRESSHOLD 500
|
||||
#define ICON_SIZE_SETTINGS 16
|
||||
#define TRAY_ICON_BUBBLE_TIMEOUT 20000
|
||||
#define CLOSE_LOCK_TIMEOUT 500
|
||||
#define DOWNLOAD_TIMEOUT 30000
|
||||
#define MESSAGES_VIEW_DEFAULT_COL 100
|
||||
#define MESSAGES_VIEW_MINIMUM_COL 16
|
||||
#define FEEDS_VIEW_COLUMN_COUNT 2
|
||||
#define DEFAULT_DAYS_TO_DELETE_MSG 14
|
||||
#define ELLIPSIS_LENGTH 3
|
||||
#define DEFAULT_AUTO_UPDATE_INTERVAL 900 // In seconds.
|
||||
#define AUTO_UPDATE_INTERVAL 10 // In seconds.
|
||||
#define STARTUP_UPDATE_DELAY 15.0 // In seconds.
|
||||
#define TIMEZONE_OFFSET_LIMIT 6
|
||||
#define CHANGE_EVENT_DELAY 250
|
||||
#define FLAG_ICON_SUBFOLDER "flags"
|
||||
#define SEARCH_BOX_ACTION_NAME "search"
|
||||
#define HIGHLIGHTER_ACTION_NAME "highlighter"
|
||||
#define FILTER_ACTION_NAME "filter"
|
||||
#define SPACER_ACTION_NAME "spacer"
|
||||
#define SEPARATOR_ACTION_NAME "separator"
|
||||
#define FILTER_WIDTH 125
|
||||
#define FILTER_RIGHT_MARGIN 5
|
||||
#define FEEDS_VIEW_INDENTATION 10
|
||||
#define MIME_TYPE_ITEM_POINTER "rssguard/itempointer"
|
||||
#define DOWNLOADER_ICON_SIZE 48
|
||||
#define ENCRYPTION_FILE_NAME "key.private"
|
||||
#define RELOAD_MODEL_BORDER_NUM 10
|
||||
#define COOKIE_URL_IDENTIFIER ":COOKIE:"
|
||||
#define DEFAULT_NOTIFICATION_VOLUME 50
|
||||
#define MAX_THREADPOOL_THREADS 32
|
||||
#define WEB_BROWSER_SCROLL_STEP 50.0
|
||||
#define SCRIPT_SOURCE_TYPE_REGEXP "^.+#.*$"
|
||||
#define TEXT_TITLE_LIMIT 30
|
||||
#define TEXT_TOOLTIP_LIMIT 50
|
||||
#define RESELECT_MESSAGE_THRESSHOLD 500
|
||||
#define ICON_SIZE_SETTINGS 16
|
||||
#define TRAY_ICON_BUBBLE_TIMEOUT 20000
|
||||
#define CLOSE_LOCK_TIMEOUT 500
|
||||
#define DOWNLOAD_TIMEOUT 30000
|
||||
#define MESSAGES_VIEW_DEFAULT_COL 100
|
||||
#define MESSAGES_VIEW_MINIMUM_COL 16
|
||||
#define FEEDS_VIEW_COLUMN_COUNT 2
|
||||
#define DEFAULT_DAYS_TO_DELETE_MSG 14
|
||||
#define ELLIPSIS_LENGTH 3
|
||||
#define DEFAULT_AUTO_UPDATE_INTERVAL 900 // In seconds.
|
||||
#define AUTO_UPDATE_INTERVAL 10 // In seconds.
|
||||
#define STARTUP_UPDATE_DELAY 15.0 // In seconds.
|
||||
#define TIMEZONE_OFFSET_LIMIT 6
|
||||
#define CHANGE_EVENT_DELAY 250
|
||||
#define FLAG_ICON_SUBFOLDER "flags"
|
||||
#define SEARCH_BOX_ACTION_NAME "search"
|
||||
#define HIGHLIGHTER_ACTION_NAME "highlighter"
|
||||
#define FILTER_ACTION_NAME "filter"
|
||||
#define SPACER_ACTION_NAME "spacer"
|
||||
#define SEPARATOR_ACTION_NAME "separator"
|
||||
#define FILTER_WIDTH 125
|
||||
#define FILTER_RIGHT_MARGIN 5
|
||||
#define FEEDS_VIEW_INDENTATION 10
|
||||
#define MIME_TYPE_ITEM_POINTER "rssguard/itempointer"
|
||||
#define DOWNLOADER_ICON_SIZE 48
|
||||
#define ENCRYPTION_FILE_NAME "key.private"
|
||||
#define RELOAD_MODEL_BORDER_NUM 10
|
||||
#define COOKIE_URL_IDENTIFIER ":COOKIE:"
|
||||
#define DEFAULT_NOTIFICATION_VOLUME 50
|
||||
#define MAX_THREADPOOL_THREADS 32
|
||||
#define WEB_BROWSER_SCROLL_STEP 50.0
|
||||
|
||||
#define GOOGLE_SEARCH_URL "https://www.google.com/search?q=%1&ie=utf-8&oe=utf-8"
|
||||
#define GOOGLE_SEARCH_URL "https://www.google.com/search?q=%1&ie=utf-8&oe=utf-8"
|
||||
#define GOOGLE_SUGGEST_URL "http://suggestqueries.google.com/complete/search?output=toolbar&hl=en&q=%1"
|
||||
|
||||
#define EXTERNAL_TOOL_SEPARATOR "|||"
|
||||
|
||||
#define USER_DATA_PLACEHOLDER "%data%"
|
||||
#define USER_DATA_PLACEHOLDER "%data%"
|
||||
#define SKIN_STYLE_PLACEHOLDER "%style%"
|
||||
|
||||
#define CLI_VER_SHORT "v"
|
||||
#define CLI_VER_LONG "version"
|
||||
#define CLI_VER_LONG "version"
|
||||
|
||||
#define CLI_HELP_SHORT "h"
|
||||
#define CLI_HELP_LONG "help"
|
||||
#define CLI_HELP_LONG "help"
|
||||
|
||||
#define CLI_LOG_SHORT "l"
|
||||
#define CLI_LOG_LONG "log"
|
||||
#define CLI_LOG_LONG "log"
|
||||
|
||||
#define CLI_DAT_SHORT "d"
|
||||
#define CLI_DAT_LONG "data"
|
||||
#define CLI_DAT_LONG "data"
|
||||
|
||||
#define CLI_SIN_SHORT "s"
|
||||
#define CLI_SIN_LONG "no-single-instance"
|
||||
#define CLI_SIN_LONG "no-single-instance"
|
||||
|
||||
#define CLI_USERAGENT_SHORT "u"
|
||||
#define CLI_USERAGENT_LONG "user-agent"
|
||||
#define CLI_USERAGENT_LONG "user-agent"
|
||||
|
||||
#define CLI_ADBLOCKPORT_SHORT "p"
|
||||
#define CLI_ADBLOCKPORT_LONG "adblock-port"
|
||||
#define CLI_ADBLOCKPORT_LONG "adblock-port"
|
||||
|
||||
#define CLI_NSTDOUTERR_SHORT "n"
|
||||
#define CLI_NSTDOUTERR_LONG "no-standard-output"
|
||||
#define CLI_NSTDOUTERR_LONG "no-standard-output"
|
||||
|
||||
#define CLI_STYLE_SHORT "t"
|
||||
#define CLI_STYLE_LONG "style"
|
||||
#define CLI_STYLE_LONG "style"
|
||||
|
||||
#define CLI_NDEBUG_SHORT "g"
|
||||
#define CLI_NDEBUG_LONG "no-debug-output"
|
||||
#define CLI_NDEBUG_LONG "no-debug-output"
|
||||
|
||||
#define CLI_FORCE_NOWEBENGINE_SHORT "w"
|
||||
#define CLI_FORCE_NOWEBENGINE_LONG "no-web-engine"
|
||||
#define CLI_FORCE_NOWEBENGINE_LONG "no-web-engine"
|
||||
|
||||
#define CLI_QUIT_INSTANCE "q"
|
||||
#define CLI_IS_RUNNING "a"
|
||||
#define CLI_IS_RUNNING "a"
|
||||
|
||||
#define CLI_THREADS "threads"
|
||||
|
||||
#define HTTP_HEADERS_ACCEPT "Accept"
|
||||
#define HTTP_HEADERS_CONTENT_TYPE "Content-Type"
|
||||
#define HTTP_HEADERS_ACCEPT "Accept"
|
||||
#define HTTP_HEADERS_CONTENT_TYPE "Content-Type"
|
||||
#define HTTP_HEADERS_CONTENT_LENGTH "Content-Length"
|
||||
#define HTTP_HEADERS_AUTHORIZATION "Authorization"
|
||||
#define HTTP_HEADERS_USER_AGENT "User-Agent"
|
||||
#define HTTP_HEADERS_COOKIE "Cookie"
|
||||
#define HTTP_HEADERS_AUTHORIZATION "Authorization"
|
||||
#define HTTP_HEADERS_USER_AGENT "User-Agent"
|
||||
#define HTTP_HEADERS_COOKIE "Cookie"
|
||||
|
||||
#define LOGSEC_NETWORK "network: "
|
||||
#define LOGSEC_ADBLOCK "adblock: "
|
||||
#define LOGSEC_FEEDMODEL "feed-model: "
|
||||
#define LOGSEC_NETWORK "network: "
|
||||
#define LOGSEC_ADBLOCK "adblock: "
|
||||
#define LOGSEC_FEEDMODEL "feed-model: "
|
||||
#define LOGSEC_FEEDDOWNLOADER "feed-downloader: "
|
||||
#define LOGSEC_MESSAGEMODEL "message-model: "
|
||||
#define LOGSEC_JS "javascript: "
|
||||
#define LOGSEC_GUI "gui: "
|
||||
#define LOGSEC_CORE "core: "
|
||||
#define LOGSEC_NODEJS "nodejs: "
|
||||
#define LOGSEC_DB "database: "
|
||||
#define LOGSEC_NEXTCLOUD "nextcloud: "
|
||||
#define LOGSEC_GREADER "greader: "
|
||||
#define LOGSEC_FEEDLY "feedly: "
|
||||
#define LOGSEC_TTRSS "tt-rss: "
|
||||
#define LOGSEC_GMAIL "gmail: "
|
||||
#define LOGSEC_OAUTH "oauth: "
|
||||
#define LOGSEC_REDDIT "reddit: "
|
||||
#define LOGSEC_NEWSBLUR "newsblur: "
|
||||
#define LOGSEC_MESSAGEMODEL "message-model: "
|
||||
#define LOGSEC_JS "javascript: "
|
||||
#define LOGSEC_GUI "gui: "
|
||||
#define LOGSEC_CORE "core: "
|
||||
#define LOGSEC_NODEJS "nodejs: "
|
||||
#define LOGSEC_DB "database: "
|
||||
#define LOGSEC_NEXTCLOUD "nextcloud: "
|
||||
#define LOGSEC_GREADER "greader: "
|
||||
#define LOGSEC_FEEDLY "feedly: "
|
||||
#define LOGSEC_TTRSS "tt-rss: "
|
||||
#define LOGSEC_GMAIL "gmail: "
|
||||
#define LOGSEC_OAUTH "oauth: "
|
||||
#define LOGSEC_REDDIT "reddit: "
|
||||
#define LOGSEC_NEWSBLUR "newsblur: "
|
||||
|
||||
#define MAX_ZOOM_FACTOR 5.0f
|
||||
#define MIN_ZOOM_FACTOR 0.25f
|
||||
#define MAX_ZOOM_FACTOR 5.0f
|
||||
#define MIN_ZOOM_FACTOR 0.25f
|
||||
#define DEFAULT_ZOOM_FACTOR 1.0f
|
||||
#define ZOOM_FACTOR_STEP 0.05f
|
||||
#define ZOOM_FACTOR_STEP 0.05f
|
||||
|
||||
#if defined(USE_WEBENGINE)
|
||||
#define HTTP_COMPLETE_USERAGENT \
|
||||
|
@ -187,49 +188,49 @@
|
|||
QByteArrayLiteral(APP_USERAGENT))
|
||||
#endif
|
||||
|
||||
#define INTERNAL_URL_MESSAGE "http://rssguard.message"
|
||||
#define INTERNAL_URL_BLANK "http://rssguard.blank"
|
||||
#define INTERNAL_URL_INFO "http://rssguard.info"
|
||||
#define INTERNAL_URL_ADBLOCKED "http://rssguard.adblocked"
|
||||
#define INTERNAL_URL_MESSAGE "http://rssguard.message"
|
||||
#define INTERNAL_URL_BLANK "http://rssguard.blank"
|
||||
#define INTERNAL_URL_INFO "http://rssguard.info"
|
||||
#define INTERNAL_URL_ADBLOCKED "http://rssguard.adblocked"
|
||||
#define INTERNAL_URL_MESSAGE_HOST "rssguard.message"
|
||||
|
||||
#define FEED_REGEX_MATCHER "<link[^>]+type=\"application\\/(?:atom\\+xml|rss\\+xml|feed\\+json|json)\"[^>]*>"
|
||||
#define FEED_REGEX_MATCHER "<link[^>]+type=\"application\\/(?:atom\\+xml|rss\\+xml|feed\\+json|json)\"[^>]*>"
|
||||
#define FEED_HREF_REGEX_MATCHER "href=\"([^\"]+)\""
|
||||
|
||||
#define PLACEHOLDER_UNREAD_COUNTS "%unread"
|
||||
#define PLACEHOLDER_ALL_COUNTS "%all"
|
||||
#define PLACEHOLDER_ALL_COUNTS "%all"
|
||||
|
||||
#define BACKUP_NAME_SETTINGS "config"
|
||||
#define BACKUP_NAME_SETTINGS "config"
|
||||
#define BACKUP_SUFFIX_SETTINGS ".ini.backup"
|
||||
#define BACKUP_NAME_DATABASE "database"
|
||||
#define BACKUP_NAME_DATABASE "database"
|
||||
#define BACKUP_SUFFIX_DATABASE ".db.backup"
|
||||
|
||||
#define APP_DB_MYSQL_DRIVER "QMYSQL"
|
||||
#define APP_DB_MYSQL_INIT "db_init_mysql.sql"
|
||||
#define APP_DB_MYSQL_TEST "MySQLTest"
|
||||
#define APP_DB_MYSQL_PORT 3306
|
||||
#define APP_DB_MYSQL_INIT "db_init_mysql.sql"
|
||||
#define APP_DB_MYSQL_TEST "MySQLTest"
|
||||
#define APP_DB_MYSQL_PORT 3306
|
||||
|
||||
#define APP_DB_SQLITE_DRIVER "QSQLITE"
|
||||
#define APP_DB_SQLITE_INIT "db_init_sqlite.sql"
|
||||
#define APP_DB_SQLITE_PATH "database"
|
||||
#define APP_DB_SQLITE_FILE "database.db"
|
||||
#define APP_DB_SQLITE_INIT "db_init_sqlite.sql"
|
||||
#define APP_DB_SQLITE_PATH "database"
|
||||
#define APP_DB_SQLITE_FILE "database.db"
|
||||
|
||||
// Keep this in sync with schema versions declared in SQL initialization code.
|
||||
#define APP_DB_SCHEMA_VERSION "7"
|
||||
#define APP_DB_UPDATE_FILE_PATTERN "db_update_%1_%2_%3.sql"
|
||||
#define APP_DB_COMMENT_SPLIT "-- !\n"
|
||||
#define APP_DB_INCLUDE_PLACEHOLDER "!!"
|
||||
#define APP_DB_NAME_PLACEHOLDER "##"
|
||||
#define APP_DB_SCHEMA_VERSION "7"
|
||||
#define APP_DB_UPDATE_FILE_PATTERN "db_update_%1_%2_%3.sql"
|
||||
#define APP_DB_COMMENT_SPLIT "-- !\n"
|
||||
#define APP_DB_INCLUDE_PLACEHOLDER "!!"
|
||||
#define APP_DB_NAME_PLACEHOLDER "##"
|
||||
#define APP_DB_AUTO_INC_PRIM_KEY_PLACEHOLDER "$$"
|
||||
#define APP_DB_BLOB_PLACEHOLDER "^^"
|
||||
#define APP_DB_BLOB_PLACEHOLDER "^^"
|
||||
|
||||
#define APP_CFG_PATH "config"
|
||||
#define APP_CFG_FILE "config.ini"
|
||||
|
||||
#define APP_SKIN_USER_FOLDER "skins"
|
||||
#define APP_SKIN_DEFAULT "nudus-light"
|
||||
#define APP_SKIN_USER_FOLDER "skins"
|
||||
#define APP_SKIN_DEFAULT "nudus-light"
|
||||
#define APP_SKIN_METADATA_FILE "metadata.xml"
|
||||
#define APP_STYLE_DEFAULT "Fusion"
|
||||
#define APP_STYLE_DEFAULT "Fusion"
|
||||
|
||||
#if defined(Q_OS_UNIX) && !defined(Q_OS_MACOS) && !defined(FORCE_BUNDLE_ICONS)
|
||||
#define APP_THEME_DEFAULT ""
|
||||
|
@ -248,76 +249,76 @@
|
|||
#endif
|
||||
|
||||
#define APP_LOCAL_ICON_THEME_FOLDER "icons"
|
||||
#define APP_NO_THEME ""
|
||||
#define APP_NO_THEME ""
|
||||
|
||||
// Indexes of columns as they are DEFINED IN THE TABLE for MESSAGES.
|
||||
#define MSG_DB_ID_INDEX 0
|
||||
#define MSG_DB_READ_INDEX 1
|
||||
#define MSG_DB_IMPORTANT_INDEX 2
|
||||
#define MSG_DB_DELETED_INDEX 3
|
||||
#define MSG_DB_PDELETED_INDEX 4
|
||||
#define MSG_DB_ID_INDEX 0
|
||||
#define MSG_DB_READ_INDEX 1
|
||||
#define MSG_DB_IMPORTANT_INDEX 2
|
||||
#define MSG_DB_DELETED_INDEX 3
|
||||
#define MSG_DB_PDELETED_INDEX 4
|
||||
#define MSG_DB_FEED_CUSTOM_ID_INDEX 5
|
||||
#define MSG_DB_TITLE_INDEX 6
|
||||
#define MSG_DB_URL_INDEX 7
|
||||
#define MSG_DB_AUTHOR_INDEX 8
|
||||
#define MSG_DB_DCREATED_INDEX 9
|
||||
#define MSG_DB_CONTENTS_INDEX 10
|
||||
#define MSG_DB_ENCLOSURES_INDEX 11
|
||||
#define MSG_DB_SCORE_INDEX 12
|
||||
#define MSG_DB_ACCOUNT_ID_INDEX 13
|
||||
#define MSG_DB_CUSTOM_ID_INDEX 14
|
||||
#define MSG_DB_CUSTOM_HASH_INDEX 15
|
||||
#define MSG_DB_FEED_TITLE_INDEX 16
|
||||
#define MSG_DB_FEED_IS_RTL_INDEX 17
|
||||
#define MSG_DB_HAS_ENCLOSURES 18
|
||||
#define MSG_DB_LABELS 19
|
||||
#define MSG_DB_LABELS_IDS 20
|
||||
#define MSG_DB_TITLE_INDEX 6
|
||||
#define MSG_DB_URL_INDEX 7
|
||||
#define MSG_DB_AUTHOR_INDEX 8
|
||||
#define MSG_DB_DCREATED_INDEX 9
|
||||
#define MSG_DB_CONTENTS_INDEX 10
|
||||
#define MSG_DB_ENCLOSURES_INDEX 11
|
||||
#define MSG_DB_SCORE_INDEX 12
|
||||
#define MSG_DB_ACCOUNT_ID_INDEX 13
|
||||
#define MSG_DB_CUSTOM_ID_INDEX 14
|
||||
#define MSG_DB_CUSTOM_HASH_INDEX 15
|
||||
#define MSG_DB_FEED_TITLE_INDEX 16
|
||||
#define MSG_DB_FEED_IS_RTL_INDEX 17
|
||||
#define MSG_DB_HAS_ENCLOSURES 18
|
||||
#define MSG_DB_LABELS 19
|
||||
#define MSG_DB_LABELS_IDS 20
|
||||
|
||||
// Indexes of columns as they are DEFINED IN THE TABLE for CATEGORIES.
|
||||
#define CAT_DB_ID_INDEX 0
|
||||
#define CAT_DB_ORDER_INDEX 1
|
||||
#define CAT_DB_PARENT_ID_INDEX 2
|
||||
#define CAT_DB_TITLE_INDEX 3
|
||||
#define CAT_DB_ID_INDEX 0
|
||||
#define CAT_DB_ORDER_INDEX 1
|
||||
#define CAT_DB_PARENT_ID_INDEX 2
|
||||
#define CAT_DB_TITLE_INDEX 3
|
||||
#define CAT_DB_DESCRIPTION_INDEX 4
|
||||
#define CAT_DB_DCREATED_INDEX 5
|
||||
#define CAT_DB_ICON_INDEX 6
|
||||
#define CAT_DB_ACCOUNT_ID_INDEX 7
|
||||
#define CAT_DB_CUSTOM_ID_INDEX 8
|
||||
#define CAT_DB_DCREATED_INDEX 5
|
||||
#define CAT_DB_ICON_INDEX 6
|
||||
#define CAT_DB_ACCOUNT_ID_INDEX 7
|
||||
#define CAT_DB_CUSTOM_ID_INDEX 8
|
||||
|
||||
// Indexes of columns as they are DEFINED IN THE TABLE for FEEDS.
|
||||
#define FDS_DB_ID_INDEX 0
|
||||
#define FDS_DB_ORDER_INDEX 1
|
||||
#define FDS_DB_TITLE_INDEX 2
|
||||
#define FDS_DB_DESCRIPTION_INDEX 3
|
||||
#define FDS_DB_DCREATED_INDEX 4
|
||||
#define FDS_DB_ICON_INDEX 5
|
||||
#define FDS_DB_CATEGORY_INDEX 6
|
||||
#define FDS_DB_SOURCE_INDEX 7
|
||||
#define FDS_DB_UPDATE_TYPE_INDEX 8
|
||||
#define FDS_DB_UPDATE_INTERVAL_INDEX 9
|
||||
#define FDS_DB_IS_OFF_INDEX 10
|
||||
#define FDS_DB_IS_QUIET_INDEX 11
|
||||
#define FDS_DB_IS_RTL_INDEX 12
|
||||
#define FDS_DB_ID_INDEX 0
|
||||
#define FDS_DB_ORDER_INDEX 1
|
||||
#define FDS_DB_TITLE_INDEX 2
|
||||
#define FDS_DB_DESCRIPTION_INDEX 3
|
||||
#define FDS_DB_DCREATED_INDEX 4
|
||||
#define FDS_DB_ICON_INDEX 5
|
||||
#define FDS_DB_CATEGORY_INDEX 6
|
||||
#define FDS_DB_SOURCE_INDEX 7
|
||||
#define FDS_DB_UPDATE_TYPE_INDEX 8
|
||||
#define FDS_DB_UPDATE_INTERVAL_INDEX 9
|
||||
#define FDS_DB_IS_OFF_INDEX 10
|
||||
#define FDS_DB_IS_QUIET_INDEX 11
|
||||
#define FDS_DB_IS_RTL_INDEX 12
|
||||
#define FDS_DB_ADD_ANY_DATETIME_ARTICLES_INDEX 13
|
||||
#define FDS_DB_DATETIME_TO_AVOID_INDEX 14
|
||||
#define FDS_DB_OPEN_ARTICLES_INDEX 15
|
||||
#define FDS_DB_ACCOUNT_ID_INDEX 16
|
||||
#define FDS_DB_CUSTOM_ID_INDEX 17
|
||||
#define FDS_DB_CUSTOM_DATA_INDEX 18
|
||||
#define FDS_DB_DATETIME_TO_AVOID_INDEX 14
|
||||
#define FDS_DB_OPEN_ARTICLES_INDEX 15
|
||||
#define FDS_DB_ACCOUNT_ID_INDEX 16
|
||||
#define FDS_DB_CUSTOM_ID_INDEX 17
|
||||
#define FDS_DB_CUSTOM_DATA_INDEX 18
|
||||
|
||||
// Indexes of columns for feed models.
|
||||
#define FDS_MODEL_TITLE_INDEX 0
|
||||
#define FDS_MODEL_TITLE_INDEX 0
|
||||
#define FDS_MODEL_COUNTS_INDEX 1
|
||||
|
||||
// Indexes of columns for message filter manager models.
|
||||
#define MFM_MODEL_ISREAD 0
|
||||
#define MFM_MODEL_ISREAD 0
|
||||
#define MFM_MODEL_ISIMPORTANT 1
|
||||
#define MFM_MODEL_ISDELETED 2
|
||||
#define MFM_MODEL_TITLE 3
|
||||
#define MFM_MODEL_URL 4
|
||||
#define MFM_MODEL_AUTHOR 5
|
||||
#define MFM_MODEL_CREATED 6
|
||||
#define MFM_MODEL_SCORE 7
|
||||
#define MFM_MODEL_ISDELETED 2
|
||||
#define MFM_MODEL_TITLE 3
|
||||
#define MFM_MODEL_URL 4
|
||||
#define MFM_MODEL_AUTHOR 5
|
||||
#define MFM_MODEL_CREATED 6
|
||||
#define MFM_MODEL_SCORE 7
|
||||
|
||||
#if defined(Q_OS_LINUX)
|
||||
#define OS_ID "Linux"
|
||||
|
@ -343,18 +344,18 @@
|
|||
|
||||
// Paths.
|
||||
#define APP_THEME_PATH QSL(":/graphics")
|
||||
#define APP_SQL_PATH QSL(":/sql")
|
||||
#define APP_INFO_PATH QSL(":/text")
|
||||
#define APP_SQL_PATH QSL(":/sql")
|
||||
#define APP_INFO_PATH QSL(":/text")
|
||||
|
||||
#define APP_ICON_PATH QSL(":/graphics/rssguard.png")
|
||||
#define APP_ICON_PATH QSL(":/graphics/rssguard.png")
|
||||
#define APP_ICON_PLAIN_PATH QSL(":/graphics/rssguard_plain.png")
|
||||
|
||||
#define APP_ICON_MONO_PATH QSL(":/graphics/rssguard_mono.png")
|
||||
#define APP_ICON_MONO_PATH QSL(":/graphics/rssguard_mono.png")
|
||||
#define APP_ICON_MONO_PLAIN_PATH QSL(":/graphics/rssguard_plain_mono.png")
|
||||
|
||||
#define APP_SKIN_PATH QSL(":/skins")
|
||||
#define APP_SKIN_PATH QSL(":/skins")
|
||||
#define APP_INITIAL_FEEDS_PATH QSL(":/initial_feeds")
|
||||
#define APP_LANG_PATH QSL(":/localization")
|
||||
#define APP_LANG_PATH QSL(":/localization")
|
||||
|
||||
#if defined(Q_OS_UNIX) && !defined(Q_OS_MACOS)
|
||||
#define APP_DESKTOP_ENTRY_FILE "rssguard.desktop.in"
|
||||
|
@ -366,10 +367,10 @@
|
|||
// Source code specific enhancements.
|
||||
//
|
||||
#if QT_VERSION >= 0x050E00 // Qt >= 5.14.0
|
||||
#define FROM_STD_LIST(x, y) (x(y.begin(), y.end()))
|
||||
#define FROM_STD_LIST(x, y) (x(y.begin(), y.end()))
|
||||
#define FROM_LIST_TO_SET(x, y) (x(y.begin(), y.end()))
|
||||
#else
|
||||
#define FROM_STD_LIST(x, y) (x::fromStdList(y))
|
||||
#define FROM_STD_LIST(x, y) (x::fromStdList(y))
|
||||
#define FROM_LIST_TO_SET(x, y) (x::fromList(y))
|
||||
#endif
|
||||
|
||||
|
@ -390,11 +391,11 @@
|
|||
#endif
|
||||
|
||||
#define NONQUOTE_W_SPACE_DOT(x) " " << (x) << "."
|
||||
#define NONQUOTE_W_SPACE(x) " " << (x) << " "
|
||||
#define QUOTE_W_SPACE_DOT(x) " '" << (x) << "'."
|
||||
#define QUOTE_W_SPACE_COMMA(x) " '" << (x) << "',"
|
||||
#define QUOTE_W_SPACE(x) " '" << (x) << "' "
|
||||
#define QUOTE_NO_SPACE(x) "'" << (x) << "'"
|
||||
#define NONQUOTE_W_SPACE(x) " " << (x) << " "
|
||||
#define QUOTE_W_SPACE_DOT(x) " '" << (x) << "'."
|
||||
#define QUOTE_W_SPACE_COMMA(x) " '" << (x) << "',"
|
||||
#define QUOTE_W_SPACE(x) " '" << (x) << "' "
|
||||
#define QUOTE_NO_SPACE(x) "'" << (x) << "'"
|
||||
|
||||
#ifndef QSL
|
||||
|
||||
|
|
|
@ -105,6 +105,10 @@ void FeedMessageViewer::loadSize() {
|
|||
if (!settings_msg_header.isEmpty()) {
|
||||
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() {
|
||||
|
|
|
@ -23,6 +23,7 @@
|
|||
|
||||
#include <QClipboard>
|
||||
#include <QFileIconProvider>
|
||||
#include <QJsonObject>
|
||||
#include <QKeyEvent>
|
||||
#include <QMenu>
|
||||
#include <QProcess>
|
||||
|
@ -58,7 +59,33 @@ void MessagesView::reloadFontSettings() {
|
|||
}
|
||||
|
||||
QByteArray MessagesView::saveHeaderState() const {
|
||||
QByteArray arr;
|
||||
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;
|
||||
QDataStream outt(&arr, QIODevice::OpenModeFlag::WriteOnly);
|
||||
|
||||
outt.setVersion(QDataStream::Version::Qt_4_7);
|
||||
|
@ -74,9 +101,55 @@ QByteArray MessagesView::saveHeaderState() const {
|
|||
}
|
||||
|
||||
return arr;
|
||||
*/
|
||||
}
|
||||
|
||||
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;
|
||||
QDataStream inn(&arr, QIODevice::OpenModeFlag::ReadOnly);
|
||||
|
||||
|
@ -116,6 +189,7 @@ void MessagesView::restoreHeaderState(const QByteArray& dta) {
|
|||
if (saved_sort_column < header()->count()) {
|
||||
header()->setSortIndicator(saved_sort_column, Qt::SortOrder(saved_sort_order));
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
void MessagesView::copyUrlOfSelectedArticles() const {
|
||||
|
|
|
@ -66,6 +66,7 @@ class MessagesView : public BaseTreeView {
|
|||
Qt::CaseSensitivity sensitivity,
|
||||
int custom_criteria,
|
||||
const QString& phrase);
|
||||
|
||||
void highlightMessages(MessagesModel::MessageHighlighter highlighter);
|
||||
void changeFilter(MessagesProxyModel::MessageListFilter filter);
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue