Some memory fixes for import/export.

This commit is contained in:
Martin Rotter 2014-09-01 18:17:17 +02:00
parent 1d45832c7b
commit 1057341132
10 changed files with 816 additions and 235 deletions

View file

@ -67,6 +67,17 @@
<translation>Panel kanálů</translation> <translation>Panel kanálů</translation>
</message> </message>
</context> </context>
<context>
<name>FeedsImportExportModel</name>
<message>
<source> (category)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source> (feed)</source>
<translation type="unfinished"></translation>
</message>
</context>
<context> <context>
<name>FeedsModel</name> <name>FeedsModel</name>
<message> <message>
@ -138,19 +149,6 @@ Tato kategorie neobsahuje žádné podřízené položky.</translation>
<numerusform>používá specifické nastavení (%n minut do další aktualizace)</numerusform> <numerusform>používá specifické nastavení (%n minut do další aktualizace)</numerusform>
</translation> </translation>
</message> </message>
<message>
<source>%1 (%2)
%3
Encoding: %4
Auto-update status: %5</source>
<extracomment>Tooltip for feed.</extracomment>
<translation>%1 (%2)
%3
Kódování: %4
Status auto-aktualizace: %5</translation>
</message>
<message numerus="yes"> <message numerus="yes">
<source>%n unread message(s).</source> <source>%n unread message(s).</source>
<extracomment>Tooltip for &quot;unread&quot; column of feed list.</extracomment> <extracomment>Tooltip for &quot;unread&quot; column of feed list.</extracomment>
@ -160,6 +158,16 @@ Status auto-aktualizace: %5</translation>
<numerusform>%n nepřečtených zpráv.</numerusform> <numerusform>%n nepřečtených zpráv.</numerusform>
</translation> </translation>
</message> </message>
<message>
<source>%1 (%2)
%3
Network status: %6
Encoding: %4
Auto-update status: %5</source>
<extracomment>Tooltip for feed.</extracomment>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>FeedsToolBar</name> <name>FeedsToolBar</name>
@ -407,13 +415,6 @@ Status auto-aktualizace: %5</translation>
<translation>Popis je v pořádku.</translation> <translation>Popis je v pořádku.</translation>
</message> </message>
</context> </context>
<context>
<name>FormExport</name>
<message>
<source>Dialog</source>
<translation type="unfinished"></translation>
</message>
</context>
<context> <context>
<name>FormFeedDetails</name> <name>FormFeedDetails</name>
<message> <message>
@ -585,10 +586,6 @@ Status auto-aktualizace: %5</translation>
<source>Cannot edit feed</source> <source>Cannot edit feed</source>
<translation>Nelze upravit kanál</translation> <translation>Nelze upravit kanál</translation>
</message> </message>
<message>
<source>Feed was not edited due to error.</source>
<translation>Kanál neupraven kvůli chybě.</translation>
</message>
<message> <message>
<source>All metadata fetched successfully.</source> <source>All metadata fetched successfully.</source>
<translation>Metadata stažena úspěšně.</translation> <translation>Metadata stažena úspěšně.</translation>
@ -681,6 +678,105 @@ Status auto-aktualizace: %5</translation>
<source>The description is ok.</source> <source>The description is ok.</source>
<translation>Popis je v pořádku.</translation> <translation>Popis je v pořádku.</translation>
</message> </message>
<message>
<source>Feed was not edit due to error.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FormImportExport</name>
<message>
<source>Dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>&amp;Select file</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Operation results</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>No file is selected.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>No operation executed yet.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Export feeds</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Destination file</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Source feeds &amp;&amp; categories</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Source file</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Target feeds &amp;&amp; categories</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Import feeds</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>OPML 2.0 files (*.opml)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Select file for feeds export</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>File is selected.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Select file for feeds import</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Cannot open source file.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Feeds were loaded.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Error, file is not well-formed. Select another file.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Error occurred. File is not well-formed. Select another file.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Feeds were exported successfully.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Cannot write into destination file.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Critical error occurred.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Feeds imported successfully.</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>FormMain</name> <name>FormMain</name>
@ -1067,10 +1163,6 @@ Language column of language list.</extracomment>
<source>Start application hidden</source> <source>Start application hidden</source>
<translation>Spouštět aplikaci skrytou</translation> <translation>Spouštět aplikaci skrytou</translation>
</message> </message>
<message>
<source>Use custom color for web browser progress bar</source>
<translation>Použít barevný průběhový pás při načítání stránky</translation>
</message>
<message> <message>
<source>Type</source> <source>Type</source>
<extracomment>Proxy server type.</extracomment> <extracomment>Proxy server type.</extracomment>
@ -1126,10 +1218,6 @@ Language column of language list.</extracomment>
<source>Email</source> <source>Email</source>
<translation></translation> <translation></translation>
</message> </message>
<message>
<source>Select color for web browser progress bar</source>
<translation>Zvolit barvu pro průběhový pás při načítání stránky</translation>
</message>
<message> <message>
<source>Socks5</source> <source>Socks5</source>
<translation></translation> <translation></translation>
@ -1929,11 +2017,6 @@ Přejít na web aplikace a stáhnout jej ručně.</translation>
<extracomment>Network status.</extracomment> <extracomment>Network status.</extracomment>
<translation>proxy server nenalezen</translation> <translation>proxy server nenalezen</translation>
</message> </message>
<message>
<source>success</source>
<extracomment>Network status.</extracomment>
<translation>úspěch</translation>
</message>
<message> <message>
<source>uknown content</source> <source>uknown content</source>
<extracomment>Network status.</extracomment> <extracomment>Network status.</extracomment>
@ -1949,6 +2032,11 @@ Přejít na web aplikace a stáhnout jej ručně.</translation>
<extracomment>Network status.</extracomment> <extracomment>Network status.</extracomment>
<translation>neznámá chyba</translation> <translation>neznámá chyba</translation>
</message> </message>
<message>
<source>no errors</source>
<extracomment>Network status.</extracomment>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>QObject</name> <name>QObject</name>

View file

@ -67,6 +67,17 @@
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
</context> </context>
<context>
<name>FeedsImportExportModel</name>
<message>
<source> (category)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source> (feed)</source>
<translation type="unfinished"></translation>
</message>
</context>
<context> <context>
<name>FeedsModel</name> <name>FeedsModel</name>
<message> <message>
@ -133,15 +144,6 @@ This category does not contain any nested items.</source>
<numerusform></numerusform> <numerusform></numerusform>
</translation> </translation>
</message> </message>
<message>
<source>%1 (%2)
%3
Encoding: %4
Auto-update status: %5</source>
<extracomment>Tooltip for feed.</extracomment>
<translation type="unfinished"></translation>
</message>
<message numerus="yes"> <message numerus="yes">
<source>%n unread message(s).</source> <source>%n unread message(s).</source>
<extracomment>Tooltip for &quot;unread&quot; column of feed list.</extracomment> <extracomment>Tooltip for &quot;unread&quot; column of feed list.</extracomment>
@ -150,6 +152,16 @@ Auto-update status: %5</source>
<numerusform></numerusform> <numerusform></numerusform>
</translation> </translation>
</message> </message>
<message>
<source>%1 (%2)
%3
Network status: %6
Encoding: %4
Auto-update status: %5</source>
<extracomment>Tooltip for feed.</extracomment>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>FeedsToolBar</name> <name>FeedsToolBar</name>
@ -397,13 +409,6 @@ Auto-update status: %5</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
</context> </context>
<context>
<name>FormExport</name>
<message>
<source>Dialog</source>
<translation type="unfinished"></translation>
</message>
</context>
<context> <context>
<name>FormFeedDetails</name> <name>FormFeedDetails</name>
<message> <message>
@ -575,10 +580,6 @@ Auto-update status: %5</source>
<source>Cannot edit feed</source> <source>Cannot edit feed</source>
<translation type="unfinished">Feed kann nicht editiert werden</translation> <translation type="unfinished">Feed kann nicht editiert werden</translation>
</message> </message>
<message>
<source>Feed was not edited due to error.</source>
<translation type="unfinished">Feed wurde nicht editiert aufgrund eines Fehler.</translation>
</message>
<message> <message>
<source>All metadata fetched successfully.</source> <source>All metadata fetched successfully.</source>
<translation type="unfinished">Alle Metadaten wurden erfolgreich abgerufen.</translation> <translation type="unfinished">Alle Metadaten wurden erfolgreich abgerufen.</translation>
@ -671,6 +672,105 @@ Auto-update status: %5</source>
<source>The description is ok.</source> <source>The description is ok.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Feed was not edit due to error.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FormImportExport</name>
<message>
<source>Dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>&amp;Select file</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Operation results</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>No file is selected.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>No operation executed yet.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Export feeds</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Destination file</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Source feeds &amp;&amp; categories</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Source file</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Target feeds &amp;&amp; categories</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Import feeds</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>OPML 2.0 files (*.opml)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Select file for feeds export</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>File is selected.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Select file for feeds import</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Cannot open source file.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Feeds were loaded.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Error, file is not well-formed. Select another file.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Error occurred. File is not well-formed. Select another file.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Feeds were exported successfully.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Cannot write into destination file.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Critical error occurred.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Feeds imported successfully.</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>FormMain</name> <name>FormMain</name>
@ -1057,10 +1157,6 @@ Language column of language list.</extracomment>
<source>Start application hidden</source> <source>Start application hidden</source>
<translation>Starte die Applikation versteckt</translation> <translation>Starte die Applikation versteckt</translation>
</message> </message>
<message>
<source>Use custom color for web browser progress bar</source>
<translation>Verwende eine eigene Farbe für den Fortschrittsbalken des Web Browsers</translation>
</message>
<message> <message>
<source>Type</source> <source>Type</source>
<extracomment>Proxy server type.</extracomment> <extracomment>Proxy server type.</extracomment>
@ -1116,10 +1212,6 @@ Language column of language list.</extracomment>
<source>Email</source> <source>Email</source>
<translation>Email</translation> <translation>Email</translation>
</message> </message>
<message>
<source>Select color for web browser progress bar</source>
<translation>Selektiere eine Farbe für den Fortschrittsbalken des Web Browsers</translation>
</message>
<message> <message>
<source>Socks5</source> <source>Socks5</source>
<translation>Socks5</translation> <translation>Socks5</translation>
@ -1903,11 +1995,6 @@ Go to application website to obtain it manually.</source>
<extracomment>Network status.</extracomment> <extracomment>Network status.</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>success</source>
<extracomment>Network status.</extracomment>
<translation>Erfolg</translation>
</message>
<message> <message>
<source>uknown content</source> <source>uknown content</source>
<extracomment>Network status.</extracomment> <extracomment>Network status.</extracomment>
@ -1923,6 +2010,11 @@ Go to application website to obtain it manually.</source>
<extracomment>Network status.</extracomment> <extracomment>Network status.</extracomment>
<translation>unbekannter Fehler</translation> <translation>unbekannter Fehler</translation>
</message> </message>
<message>
<source>no errors</source>
<extracomment>Network status.</extracomment>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>QObject</name> <name>QObject</name>

View file

@ -67,6 +67,17 @@
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
</context> </context>
<context>
<name>FeedsImportExportModel</name>
<message>
<source> (category)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source> (feed)</source>
<translation type="unfinished"></translation>
</message>
</context>
<context> <context>
<name>FeedsModel</name> <name>FeedsModel</name>
<message> <message>
@ -133,15 +144,6 @@ This category does not contain any nested items.</source>
<numerusform></numerusform> <numerusform></numerusform>
</translation> </translation>
</message> </message>
<message>
<source>%1 (%2)
%3
Encoding: %4
Auto-update status: %5</source>
<extracomment>Tooltip for feed.</extracomment>
<translation type="unfinished"></translation>
</message>
<message numerus="yes"> <message numerus="yes">
<source>%n unread message(s).</source> <source>%n unread message(s).</source>
<extracomment>Tooltip for &quot;unread&quot; column of feed list.</extracomment> <extracomment>Tooltip for &quot;unread&quot; column of feed list.</extracomment>
@ -150,6 +152,16 @@ Auto-update status: %5</source>
<numerusform></numerusform> <numerusform></numerusform>
</translation> </translation>
</message> </message>
<message>
<source>%1 (%2)
%3
Network status: %6
Encoding: %4
Auto-update status: %5</source>
<extracomment>Tooltip for feed.</extracomment>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>FeedsToolBar</name> <name>FeedsToolBar</name>
@ -397,13 +409,6 @@ Auto-update status: %5</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
</context> </context>
<context>
<name>FormExport</name>
<message>
<source>Dialog</source>
<translation type="unfinished"></translation>
</message>
</context>
<context> <context>
<name>FormFeedDetails</name> <name>FormFeedDetails</name>
<message> <message>
@ -575,10 +580,6 @@ Auto-update status: %5</source>
<source>Cannot edit feed</source> <source>Cannot edit feed</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Feed was not edited due to error.</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>All metadata fetched successfully.</source> <source>All metadata fetched successfully.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@ -671,6 +672,105 @@ Auto-update status: %5</source>
<source>The description is ok.</source> <source>The description is ok.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Feed was not edit due to error.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FormImportExport</name>
<message>
<source>Dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>&amp;Select file</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Operation results</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>No file is selected.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>No operation executed yet.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Export feeds</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Destination file</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Source feeds &amp;&amp; categories</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Source file</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Target feeds &amp;&amp; categories</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Import feeds</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>OPML 2.0 files (*.opml)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Select file for feeds export</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>File is selected.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Select file for feeds import</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Cannot open source file.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Feeds were loaded.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Error, file is not well-formed. Select another file.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Error occurred. File is not well-formed. Select another file.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Feeds were exported successfully.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Cannot write into destination file.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Critical error occurred.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Feeds imported successfully.</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>FormMain</name> <name>FormMain</name>
@ -1057,10 +1157,6 @@ Language column of language list.</extracomment>
<source>Start application hidden</source> <source>Start application hidden</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Use custom color for web browser progress bar</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Type</source> <source>Type</source>
<extracomment>Proxy server type.</extracomment> <extracomment>Proxy server type.</extracomment>
@ -1116,10 +1212,6 @@ Language column of language list.</extracomment>
<source>Email</source> <source>Email</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Select color for web browser progress bar</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Socks5</source> <source>Socks5</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@ -1898,11 +1990,6 @@ Go to application website to obtain it manually.</source>
<extracomment>Network status.</extracomment> <extracomment>Network status.</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>success</source>
<extracomment>Network status.</extracomment>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>uknown content</source> <source>uknown content</source>
<extracomment>Network status.</extracomment> <extracomment>Network status.</extracomment>
@ -1918,6 +2005,11 @@ Go to application website to obtain it manually.</source>
<extracomment>Network status.</extracomment> <extracomment>Network status.</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>no errors</source>
<extracomment>Network status.</extracomment>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>QObject</name> <name>QObject</name>

View file

@ -67,6 +67,17 @@
<translation>Barre d&apos;outils pour les flux</translation> <translation>Barre d&apos;outils pour les flux</translation>
</message> </message>
</context> </context>
<context>
<name>FeedsImportExportModel</name>
<message>
<source> (category)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source> (feed)</source>
<translation type="unfinished"></translation>
</message>
</context>
<context> <context>
<name>FeedsModel</name> <name>FeedsModel</name>
<message> <message>
@ -135,19 +146,6 @@ Cette catégorie ne peut pas contenir d&apos;articles imbriqués.</translation>
<numerusform>Utiliser des paramètres spécifiques (%n minute(s) avant la prochaine mise à jour automatique)</numerusform> <numerusform>Utiliser des paramètres spécifiques (%n minute(s) avant la prochaine mise à jour automatique)</numerusform>
</translation> </translation>
</message> </message>
<message>
<source>%1 (%2)
%3
Encoding: %4
Auto-update status: %5</source>
<extracomment>Tooltip for feed.</extracomment>
<translation type="unfinished">%1 (%2)
%3
Encodage : %4
Statut de la mise à jour automatique : %5</translation>
</message>
<message numerus="yes"> <message numerus="yes">
<source>%n unread message(s).</source> <source>%n unread message(s).</source>
<extracomment>Tooltip for &quot;unread&quot; column of feed list.</extracomment> <extracomment>Tooltip for &quot;unread&quot; column of feed list.</extracomment>
@ -156,6 +154,16 @@ Statut de la mise à jour automatique : %5</translation>
<numerusform>%n message(s) non lu(s).</numerusform> <numerusform>%n message(s) non lu(s).</numerusform>
</translation> </translation>
</message> </message>
<message>
<source>%1 (%2)
%3
Network status: %6
Encoding: %4
Auto-update status: %5</source>
<extracomment>Tooltip for feed.</extracomment>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>FeedsToolBar</name> <name>FeedsToolBar</name>
@ -403,13 +411,6 @@ Statut de la mise à jour automatique : %5</translation>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
</context> </context>
<context>
<name>FormExport</name>
<message>
<source>Dialog</source>
<translation type="unfinished"></translation>
</message>
</context>
<context> <context>
<name>FormFeedDetails</name> <name>FormFeedDetails</name>
<message> <message>
@ -581,10 +582,6 @@ Statut de la mise à jour automatique : %5</translation>
<source>Cannot edit feed</source> <source>Cannot edit feed</source>
<translation type="unfinished">Impossible d&apos;éditer le flux</translation> <translation type="unfinished">Impossible d&apos;éditer le flux</translation>
</message> </message>
<message>
<source>Feed was not edited due to error.</source>
<translation type="unfinished">Le flux n&apos;a pas é édité à une erreur.</translation>
</message>
<message> <message>
<source>All metadata fetched successfully.</source> <source>All metadata fetched successfully.</source>
<translation type="unfinished">Tout les méta-datas ont é extraites avec succès.</translation> <translation type="unfinished">Tout les méta-datas ont é extraites avec succès.</translation>
@ -677,6 +674,105 @@ Statut de la mise à jour automatique : %5</translation>
<source>The description is ok.</source> <source>The description is ok.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Feed was not edit due to error.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FormImportExport</name>
<message>
<source>Dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>&amp;Select file</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Operation results</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>No file is selected.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>No operation executed yet.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Export feeds</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Destination file</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Source feeds &amp;&amp; categories</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Source file</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Target feeds &amp;&amp; categories</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Import feeds</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>OPML 2.0 files (*.opml)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Select file for feeds export</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>File is selected.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Select file for feeds import</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Cannot open source file.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Feeds were loaded.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Error, file is not well-formed. Select another file.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Error occurred. File is not well-formed. Select another file.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Feeds were exported successfully.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Cannot write into destination file.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Critical error occurred.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Feeds imported successfully.</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>FormMain</name> <name>FormMain</name>
@ -1063,10 +1159,6 @@ Language column of language list.</extracomment>
<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 en caché</translation>
</message> </message>
<message>
<source>Use custom color for web browser progress bar</source>
<translation>Utiliser une couleur personnalisée pour la barre de progression du navigateur web</translation>
</message>
<message> <message>
<source>Type</source> <source>Type</source>
<extracomment>Proxy server type.</extracomment> <extracomment>Proxy server type.</extracomment>
@ -1122,10 +1214,6 @@ Language column of language list.</extracomment>
<source>Email</source> <source>Email</source>
<translation>Email</translation> <translation>Email</translation>
</message> </message>
<message>
<source>Select color for web browser progress bar</source>
<translation>Sélectionner une couleur pour la barre de progression du navigateur web</translation>
</message>
<message> <message>
<source>Socks5</source> <source>Socks5</source>
<translation>Socks5</translation> <translation>Socks5</translation>
@ -1926,11 +2014,6 @@ Aller sur le site de l&apos;application pour les obtenir manuellement.</translat
<extracomment>Network status.</extracomment> <extracomment>Network status.</extracomment>
<translation>serveur proxy non trouvé</translation> <translation>serveur proxy non trouvé</translation>
</message> </message>
<message>
<source>success</source>
<extracomment>Network status.</extracomment>
<translation>succès</translation>
</message>
<message> <message>
<source>uknown content</source> <source>uknown content</source>
<extracomment>Network status.</extracomment> <extracomment>Network status.</extracomment>
@ -1946,6 +2029,11 @@ Aller sur le site de l&apos;application pour les obtenir manuellement.</translat
<extracomment>Network status.</extracomment> <extracomment>Network status.</extracomment>
<translation>erreur inconnue</translation> <translation>erreur inconnue</translation>
</message> </message>
<message>
<source>no errors</source>
<extracomment>Network status.</extracomment>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>QObject</name> <name>QObject</name>

View file

@ -67,6 +67,17 @@
<translation>Toolbar per i feed</translation> <translation>Toolbar per i feed</translation>
</message> </message>
</context> </context>
<context>
<name>FeedsImportExportModel</name>
<message>
<source> (category)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source> (feed)</source>
<translation type="unfinished"></translation>
</message>
</context>
<context> <context>
<name>FeedsModel</name> <name>FeedsModel</name>
<message> <message>
@ -134,15 +145,6 @@ This category does not contain any nested items.</source>
<numerusform></numerusform> <numerusform></numerusform>
</translation> </translation>
</message> </message>
<message>
<source>%1 (%2)
%3
Encoding: %4
Auto-update status: %5</source>
<extracomment>Tooltip for feed.</extracomment>
<translation type="unfinished"></translation>
</message>
<message numerus="yes"> <message numerus="yes">
<source>%n unread message(s).</source> <source>%n unread message(s).</source>
<extracomment>Tooltip for &quot;unread&quot; column of feed list.</extracomment> <extracomment>Tooltip for &quot;unread&quot; column of feed list.</extracomment>
@ -151,6 +153,16 @@ Auto-update status: %5</source>
<numerusform>%n messaggio(i) non letti.</numerusform> <numerusform>%n messaggio(i) non letti.</numerusform>
</translation> </translation>
</message> </message>
<message>
<source>%1 (%2)
%3
Network status: %6
Encoding: %4
Auto-update status: %5</source>
<extracomment>Tooltip for feed.</extracomment>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>FeedsToolBar</name> <name>FeedsToolBar</name>
@ -398,13 +410,6 @@ Auto-update status: %5</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
</context> </context>
<context>
<name>FormExport</name>
<message>
<source>Dialog</source>
<translation type="unfinished">Dialogo</translation>
</message>
</context>
<context> <context>
<name>FormFeedDetails</name> <name>FormFeedDetails</name>
<message> <message>
@ -576,10 +581,6 @@ Auto-update status: %5</source>
<source>Cannot edit feed</source> <source>Cannot edit feed</source>
<translation>Impossibile modificare il feed</translation> <translation>Impossibile modificare il feed</translation>
</message> </message>
<message>
<source>Feed was not edited due to error.</source>
<translation>Feed non modificato a coausa di un errore.</translation>
</message>
<message> <message>
<source>All metadata fetched successfully.</source> <source>All metadata fetched successfully.</source>
<translation>Tutti i metadata recuperati con successo.</translation> <translation>Tutti i metadata recuperati con successo.</translation>
@ -672,6 +673,105 @@ Auto-update status: %5</source>
<source>The description is ok.</source> <source>The description is ok.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Feed was not edit due to error.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FormImportExport</name>
<message>
<source>Dialog</source>
<translation type="unfinished">Dialogo</translation>
</message>
<message>
<source>&amp;Select file</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Operation results</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>No file is selected.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>No operation executed yet.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Export feeds</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Destination file</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Source feeds &amp;&amp; categories</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Source file</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Target feeds &amp;&amp; categories</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Import feeds</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>OPML 2.0 files (*.opml)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Select file for feeds export</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>File is selected.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Select file for feeds import</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Cannot open source file.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Feeds were loaded.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Error, file is not well-formed. Select another file.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Error occurred. File is not well-formed. Select another file.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Feeds were exported successfully.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Cannot write into destination file.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Critical error occurred.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Feeds imported successfully.</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>FormMain</name> <name>FormMain</name>
@ -1058,10 +1158,6 @@ Language column of language list.</extracomment>
<source>Start application hidden</source> <source>Start application hidden</source>
<translation>Avvia applicazione nascosta</translation> <translation>Avvia applicazione nascosta</translation>
</message> </message>
<message>
<source>Use custom color for web browser progress bar</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Type</source> <source>Type</source>
<extracomment>Proxy server type.</extracomment> <extracomment>Proxy server type.</extracomment>
@ -1117,10 +1213,6 @@ Language column of language list.</extracomment>
<source>Email</source> <source>Email</source>
<translation>Email</translation> <translation>Email</translation>
</message> </message>
<message>
<source>Select color for web browser progress bar</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Socks5</source> <source>Socks5</source>
<translation>Socks5</translation> <translation>Socks5</translation>
@ -1904,11 +1996,6 @@ Go to application website to obtain it manually.</source>
<extracomment>Network status.</extracomment> <extracomment>Network status.</extracomment>
<translation>server proxy non trovato</translation> <translation>server proxy non trovato</translation>
</message> </message>
<message>
<source>success</source>
<extracomment>Network status.</extracomment>
<translation>successo</translation>
</message>
<message> <message>
<source>uknown content</source> <source>uknown content</source>
<extracomment>Network status.</extracomment> <extracomment>Network status.</extracomment>
@ -1924,6 +2011,11 @@ Go to application website to obtain it manually.</source>
<extracomment>Network status.</extracomment> <extracomment>Network status.</extracomment>
<translation>errore sconosciuto</translation> <translation>errore sconosciuto</translation>
</message> </message>
<message>
<source>no errors</source>
<extracomment>Network status.</extracomment>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>QObject</name> <name>QObject</name>

View file

@ -67,6 +67,17 @@
<translation>Werkbalk voor feeds</translation> <translation>Werkbalk voor feeds</translation>
</message> </message>
</context> </context>
<context>
<name>FeedsImportExportModel</name>
<message>
<source> (category)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source> (feed)</source>
<translation type="unfinished"></translation>
</message>
</context>
<context> <context>
<name>FeedsModel</name> <name>FeedsModel</name>
<message> <message>
@ -136,19 +147,6 @@ Deze categorie bevat geen nested items.</translation>
<numerusform>gebruik specifieke instellingen (%n minuten voor volgende automatische update)</numerusform> <numerusform>gebruik specifieke instellingen (%n minuten voor volgende automatische update)</numerusform>
</translation> </translation>
</message> </message>
<message>
<source>%1 (%2)
%3
Encoding: %4
Auto-update status: %5</source>
<extracomment>Tooltip for feed.</extracomment>
<translation>%1 (%2)
%3
Encoderen: %4
Status automatisch bijwerken: %5</translation>
</message>
<message numerus="yes"> <message numerus="yes">
<source>%n unread message(s).</source> <source>%n unread message(s).</source>
<extracomment>Tooltip for &quot;unread&quot; column of feed list.</extracomment> <extracomment>Tooltip for &quot;unread&quot; column of feed list.</extracomment>
@ -157,6 +155,16 @@ Status automatisch bijwerken: %5</translation>
<numerusform>%n ongelezen berichten.</numerusform> <numerusform>%n ongelezen berichten.</numerusform>
</translation> </translation>
</message> </message>
<message>
<source>%1 (%2)
%3
Network status: %6
Encoding: %4
Auto-update status: %5</source>
<extracomment>Tooltip for feed.</extracomment>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>FeedsToolBar</name> <name>FeedsToolBar</name>
@ -404,13 +412,6 @@ Status automatisch bijwerken: %5</translation>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
</context> </context>
<context>
<name>FormExport</name>
<message>
<source>Dialog</source>
<translation type="unfinished"></translation>
</message>
</context>
<context> <context>
<name>FormFeedDetails</name> <name>FormFeedDetails</name>
<message> <message>
@ -582,10 +583,6 @@ Status automatisch bijwerken: %5</translation>
<source>Cannot edit feed</source> <source>Cannot edit feed</source>
<translation>Kan feed niet bewerken</translation> <translation>Kan feed niet bewerken</translation>
</message> </message>
<message>
<source>Feed was not edited due to error.</source>
<translation>Door een fout is de feed niet bewerkt.</translation>
</message>
<message> <message>
<source>All metadata fetched successfully.</source> <source>All metadata fetched successfully.</source>
<translation>Alle metadata is succesvol opgehaald.</translation> <translation>Alle metadata is succesvol opgehaald.</translation>
@ -678,6 +675,105 @@ Status automatisch bijwerken: %5</translation>
<source>The description is ok.</source> <source>The description is ok.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Feed was not edit due to error.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FormImportExport</name>
<message>
<source>Dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>&amp;Select file</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Operation results</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>No file is selected.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>No operation executed yet.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Export feeds</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Destination file</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Source feeds &amp;&amp; categories</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Source file</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Target feeds &amp;&amp; categories</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Import feeds</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>OPML 2.0 files (*.opml)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Select file for feeds export</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>File is selected.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Select file for feeds import</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Cannot open source file.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Feeds were loaded.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Error, file is not well-formed. Select another file.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Error occurred. File is not well-formed. Select another file.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Feeds were exported successfully.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Cannot write into destination file.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Critical error occurred.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Feeds imported successfully.</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>FormMain</name> <name>FormMain</name>
@ -1064,10 +1160,6 @@ Language column of language list.</extracomment>
<source>Start application hidden</source> <source>Start application hidden</source>
<translation>Start programma verborgen</translation> <translation>Start programma verborgen</translation>
</message> </message>
<message>
<source>Use custom color for web browser progress bar</source>
<translation>Gebruik eigen kleur voor webbrowser voortgangsbalk</translation>
</message>
<message> <message>
<source>Type</source> <source>Type</source>
<extracomment>Proxy server type.</extracomment> <extracomment>Proxy server type.</extracomment>
@ -1123,10 +1215,6 @@ Language column of language list.</extracomment>
<source>Email</source> <source>Email</source>
<translation>Email</translation> <translation>Email</translation>
</message> </message>
<message>
<source>Select color for web browser progress bar</source>
<translation>Selecteer kleur voor webbrowser voortgangsbalk</translation>
</message>
<message> <message>
<source>Socks5</source> <source>Socks5</source>
<translation>Socks5</translation> <translation>Socks5</translation>
@ -1928,11 +2016,6 @@ Ga naar RRSguard website en download het handmatig.</translation>
<extracomment>Network status.</extracomment> <extracomment>Network status.</extracomment>
<translation>proxy server niet gevonden</translation> <translation>proxy server niet gevonden</translation>
</message> </message>
<message>
<source>success</source>
<extracomment>Network status.</extracomment>
<translation>succes</translation>
</message>
<message> <message>
<source>uknown content</source> <source>uknown content</source>
<extracomment>Network status.</extracomment> <extracomment>Network status.</extracomment>
@ -1948,6 +2031,11 @@ Ga naar RRSguard website en download het handmatig.</translation>
<extracomment>Network status.</extracomment> <extracomment>Network status.</extracomment>
<translation>onbekende fout</translation> <translation>onbekende fout</translation>
</message> </message>
<message>
<source>no errors</source>
<extracomment>Network status.</extracomment>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>QObject</name> <name>QObject</name>

View file

@ -520,14 +520,55 @@ QModelIndex FeedsModel::indexForItem(FeedsModelRootItem *item) const {
return QModelIndex(); return QModelIndex();
} }
bool FeedsModel::mergeRootItem(FeedsModelRootItem *root_item, QString &output_message) {
if (root_item == NULL) {
return false;
}
return false;
}
bool FeedsModel::doesItemContainSameItem(FeedsModelRootItem *parent, FeedsModelRootItem *item) {
if (parent == NULL || item == NULL) {
return false;
}
switch (item->kind()) {
case FeedsModelRootItem::Category: {
foreach (FeedsModelRootItem *child, parent->childItems()) {
if (child->kind() == FeedsModelRootItem::Category && child->title() == item->title()) {
return true;
}
}
return false;
}
case FeedsModelRootItem::Feed: {
foreach (FeedsModelRootItem *child, parent->childItems()) {
if (child->kind() == FeedsModelRootItem::Feed &&
static_cast<FeedsModelFeed*>(child)->url() == static_cast<FeedsModelFeed*>(item)->url()) {
return true;
}
}
return false;
}
default:
return false;
}
}
void FeedsModel::reloadChangedLayout(QModelIndexList list) { void FeedsModel::reloadChangedLayout(QModelIndexList list) {
while (!list.isEmpty()) { while (!list.isEmpty()) {
QModelIndex indx = list.takeFirst(); QModelIndex indx = list.takeFirst();
QModelIndex indx_parent = indx.parent(); QModelIndex indx_parent = indx.parent();
// Underlying data are changed. // Underlying data are changed.
emit dataChanged(index(indx.row(), 0, indx_parent), emit dataChanged(index(indx.row(), 0, indx_parent), index(indx.row(), FDS_MODEL_COUNTS_INDEX, indx_parent));
index(indx.row(), FDS_MODEL_COUNTS_INDEX, indx_parent));
} }
} }
@ -552,8 +593,7 @@ void FeedsModel::loadFromDatabase() {
qDeleteAll(m_rootItem->childItems()); qDeleteAll(m_rootItem->childItems());
m_rootItem->clearChildren(); m_rootItem->clearChildren();
QSqlDatabase database = qApp->database()->connection(objectName(), QSqlDatabase database = qApp->database()->connection(objectName(), DatabaseFactory::FromSettings);
DatabaseFactory::FromSettings);
CategoryAssignment categories; CategoryAssignment categories;
FeedAssignment feeds; FeedAssignment feeds;
@ -561,8 +601,7 @@ void FeedsModel::loadFromDatabase() {
QSqlQuery query_categories(database); QSqlQuery query_categories(database);
query_categories.setForwardOnly(true); query_categories.setForwardOnly(true);
if (!query_categories.exec("SELECT * FROM Categories;") || if (!query_categories.exec("SELECT * FROM Categories;") || query_categories.lastError().isValid()) {
query_categories.lastError().isValid()) {
qFatal("Query for obtaining categories failed. Error message: '%s'.", qFatal("Query for obtaining categories failed. Error message: '%s'.",
qPrintable(query_categories.lastError().text())); qPrintable(query_categories.lastError().text()));
} }
@ -579,8 +618,7 @@ void FeedsModel::loadFromDatabase() {
QSqlQuery query_feeds(database); QSqlQuery query_feeds(database);
query_feeds.setForwardOnly(true); query_feeds.setForwardOnly(true);
if (!query_feeds.exec("SELECT * FROM Feeds;") || if (!query_feeds.exec("SELECT * FROM Feeds;") || query_feeds.lastError().isValid()) {
query_feeds.lastError().isValid()) {
qFatal("Query for obtaining feeds failed."); qFatal("Query for obtaining feeds failed.");
} }
@ -642,18 +680,14 @@ QList<FeedsModelFeed*> FeedsModel::feedsForIndexes(const QModelIndexList &indexe
// example situation where feed and its parent category are both // example situation where feed and its parent category are both
// selected). So, remove duplicates from the list. // selected). So, remove duplicates from the list.
qSort(feeds.begin(), feeds.end(), FeedsModelRootItem::lessThan); qSort(feeds.begin(), feeds.end(), FeedsModelRootItem::lessThan);
feeds.erase(std::unique(feeds.begin(), feeds.erase(std::unique(feeds.begin(), feeds.end(), FeedsModelRootItem::isEqual), feeds.end());
feeds.end(), FeedsModelRootItem::isEqual),
feeds.end());
} }
return feeds; return feeds;
} }
bool FeedsModel::markFeedsRead(const QList<FeedsModelFeed*> &feeds, bool FeedsModel::markFeedsRead(const QList<FeedsModelFeed*> &feeds, int read) {
int read) { QSqlDatabase db_handle = qApp->database()->connection(objectName(), DatabaseFactory::FromSettings);
QSqlDatabase db_handle = qApp->database()->connection(objectName(),
DatabaseFactory::FromSettings);
if (!db_handle.transaction()) { if (!db_handle.transaction()) {
qWarning("Starting transaction for feeds read change."); qWarning("Starting transaction for feeds read change.");
@ -687,11 +721,8 @@ bool FeedsModel::markFeedsRead(const QList<FeedsModelFeed*> &feeds,
} }
} }
bool FeedsModel::markFeedsDeleted(const QList<FeedsModelFeed*> &feeds, bool FeedsModel::markFeedsDeleted(const QList<FeedsModelFeed*> &feeds, int deleted, bool read_only) {
int deleted, QSqlDatabase db_handle = qApp->database()->connection(objectName(), DatabaseFactory::FromSettings);
bool read_only) {
QSqlDatabase db_handle = qApp->database()->connection(objectName(),
DatabaseFactory::FromSettings);
if (!db_handle.transaction()) { if (!db_handle.transaction()) {
qWarning("Starting transaction for feeds clearing."); qWarning("Starting transaction for feeds clearing.");

View file

@ -136,6 +136,11 @@ class FeedsModel : public QAbstractItemModel {
return m_rootItem; return m_rootItem;
} }
// Takes structure residing under given root item and adds feeds/categories from
// it to active structure.
bool mergeRootItem(FeedsModelRootItem *root_item, QString &output_message);
bool doesItemContainSameItem(FeedsModelRootItem *parent, FeedsModelRootItem *item);
public slots: public slots:
// Feeds operations. // Feeds operations.
bool markFeedsRead(const QList<FeedsModelFeed*> &feeds, int read); bool markFeedsRead(const QList<FeedsModelFeed*> &feeds, int read);

View file

@ -92,13 +92,11 @@ bool FeedsModelRootItem::removeChild(int index) {
} }
} }
bool FeedsModelRootItem::isEqual(FeedsModelRootItem *lhs, bool FeedsModelRootItem::isEqual(FeedsModelRootItem *lhs, FeedsModelRootItem *rhs) {
FeedsModelRootItem *rhs) {
return (lhs->kind() == rhs->kind()) && (lhs->id() == rhs->id()); return (lhs->kind() == rhs->kind()) && (lhs->id() == rhs->id());
} }
bool FeedsModelRootItem::lessThan(FeedsModelRootItem *lhs, bool FeedsModelRootItem::lessThan(FeedsModelRootItem *lhs, FeedsModelRootItem *rhs) {
FeedsModelRootItem *rhs) {
if (lhs->kind() == rhs->kind()) { if (lhs->kind() == rhs->kind()) {
return lhs->id() < rhs->id(); return lhs->id() < rhs->id();
} }

View file

@ -169,7 +169,7 @@ void FormImportExport::parseImportFile(const QString &file_name) {
} }
if (parsing_result) { if (parsing_result) {
m_ui->m_lblResult->setStatus(WidgetWithStatus::Ok, tr("Feeds were imported."), tr("Feeds were imported.")); m_ui->m_lblResult->setStatus(WidgetWithStatus::Ok, tr("Feeds were loaded."), tr("Feeds were loaded."));
m_ui->m_treeFeeds->setEnabled(true); m_ui->m_treeFeeds->setEnabled(true);
m_ui->m_treeFeeds->setModel(m_model); m_ui->m_treeFeeds->setModel(m_model);
m_ui->m_treeFeeds->expandAll(); m_ui->m_treeFeeds->expandAll();
@ -234,5 +234,12 @@ void FormImportExport::exportFeeds() {
} }
void FormImportExport::importFeeds() { void FormImportExport::importFeeds() {
QString output_message;
if (qApp->mainForm()->tabWidget()->feedMessageViewer()->feedsView()->sourceModel()->mergeRootItem(m_model->rootItem(), output_message)) {
m_ui->m_lblResult->setStatus(WidgetWithStatus::Ok, output_message, output_message);
}
else {
m_ui->m_lblResult->setStatus(WidgetWithStatus::Error, output_message, output_message);
}
} }