From 7fb7e4aad33f05391fa2e554716084f1ff343559 Mon Sep 17 00:00:00 2001 From: Martin Rotter Date: Sat, 10 Jan 2015 19:19:56 +0100 Subject: [PATCH] Downloader is getting shape. --- localization/rssguard-cs_CZ.ts | 186 ++++++- localization/rssguard-de_DE.ts | 184 ++++++- localization/rssguard-en_GB.ts | 184 ++++++- localization/rssguard-en_US.ts | 810 +++++++++++++++++----------- localization/rssguard-fr_FR.ts | 184 ++++++- localization/rssguard-it_IT.ts | 184 ++++++- localization/rssguard-nl_NL.ts | 184 ++++++- localization/rssguard-sv_SE.ts | 184 ++++++- src/network-web/downloaditem.ui | 106 ++-- src/network-web/downloadmanager.cpp | 102 ++-- src/network-web/downloadmanager.h | 47 +- src/network-web/webpage.cpp | 7 + src/network-web/webview.cpp | 4 +- 13 files changed, 1758 insertions(+), 608 deletions(-) diff --git a/localization/rssguard-cs_CZ.ts b/localization/rssguard-cs_CZ.ts index 74643e2bd..73a295981 100644 --- a/localization/rssguard-cs_CZ.ts +++ b/localization/rssguard-cs_CZ.ts @@ -29,6 +29,124 @@ Neznámá chyba. + + DownloadDialog + + Downloading %1 + + + + Downloads + + + + + DownloadItem + + Ico + + + + Filename + + + + Stop + Zastavit + + + Save File + + + + Download canceled: %1 + + + + Download directory (%1) couldn't be created. + + + + Error opening output file: %1 + + + + Error saving: %1 + + + + Network Error: %1 + + + + %1 of %2 (%3/sec) - %4 + + + + ? + + + + %1 of %2 - Download Complete + + + + Try again + + + + Open file + + + + + DownloadManager + + Form + + + + Clean up + + + + There are %1 downloads in progress +Do you want to quit anyway? + + + + %n minutes remaining + + + + + + + + %n seconds remaining + + + + + + + + bytes + + + + kB + + + + MB + + + + GB + + + FeedMessageViewer @@ -1339,6 +1457,10 @@ and/or settings were backed or not. Also make sure that target foder is writable Switch message list layout orientation Přepnout orientaci rozložení seznamu zpráv + + &Downloads + + FormRestoreDatabaseSettings @@ -1710,10 +1832,6 @@ Autoři této aplikace nenesou žádnou odpovědnost za ztrátu Vašich dat.External web browser Externí webový prohlížeč - - Remove all read messages from all standard feeds on application exit - Smazat všechny přečtené zprávy ze všech kanálů při vypnutí aplikace - WARNING: Note that switching to another data storage type will NOT copy existing your data from currently active data storage to newly selected one. VAROVÁNÍ: Mějte na paměti, že přepnutí z jednoho databázového backendu na jiný neprovede zkopírování dat mezi těmito backendy. @@ -1971,6 +2089,18 @@ Musíte restartovat manuálně. File filter for external browser selection dialog. Spustitelné soubory (*) + + Remove all read messages from all feeds on application exit + + + + When new message arrives from feed and duplicate exists, then its content is updated and new message is dropped. + + + + Remove duplicate messages + + FormUpdate @@ -2457,6 +2587,10 @@ Nepřečtené zprávy: %2 Open new web browser tab. Otevřít nový tab webového prohlížeče. + + Downloads + + ToolBarEditor @@ -2594,18 +2728,6 @@ Nepřečtené zprávy: %2 Open image in new tab Otevřít obrázek v novém panelu - - Page not found - Stránka nenalezena - - - Check your internet connection or website address - Zkontrolujte Vaše internetové připojení a adresu webové stránky - - - This failure can be caused by:<br><ul><li>non-functional internet connection,</li><li>incorrect website address,</li><li>bad proxy server settings,</li><li>target destination outage,</li><li>many other things.</li></ul> - Tuto chybu může způsobit:<br><ul><li>nefunkční internetové připojení,</li><li>nesprávně zadaná webová adresa,</li><li>špatně nastavená proxy,</li><li>výpadek cílového webu,</li><li>mnoho dalších věcí.</li></ul> - Web browser Webový prohlížeč @@ -2618,10 +2740,6 @@ Nepřečtené zprávy: %2 Hyperlink Hypertextový odkaz - - Error page - Chyba - Reload current web page. Opět načíst aktuální webovou stránku. @@ -2674,5 +2792,33 @@ Nepřečtené zprávy: %2 Print current web page. Vytisknout aktuální webovou stránku. + + HTML web pages (*.html) + + + + Select destination file for web page + + + + Cannot save web page + + + + Web page cannot be saved because destination file is not writtable. + + + + Save target as... + + + + Download content from the hyperlink. + + + + Save page as... + + diff --git a/localization/rssguard-de_DE.ts b/localization/rssguard-de_DE.ts index 2e94e8593..021c30af3 100644 --- a/localization/rssguard-de_DE.ts +++ b/localization/rssguard-de_DE.ts @@ -29,6 +29,122 @@ Unbekannter Fehler. + + DownloadDialog + + Downloading %1 + + + + Downloads + + + + + DownloadItem + + Ico + + + + Filename + + + + Stop + Stopp + + + Save File + + + + Download canceled: %1 + + + + Download directory (%1) couldn't be created. + + + + Error opening output file: %1 + + + + Error saving: %1 + + + + Network Error: %1 + + + + %1 of %2 (%3/sec) - %4 + + + + ? + + + + %1 of %2 - Download Complete + + + + Try again + + + + Open file + + + + + DownloadManager + + Form + + + + Clean up + + + + There are %1 downloads in progress +Do you want to quit anyway? + + + + %n minutes remaining + + + + + + + %n seconds remaining + + + + + + + bytes + + + + kB + + + + MB + + + + GB + + + FeedMessageViewer @@ -1329,6 +1445,10 @@ and/or settings were backed or not. Also make sure that target foder is writable Switch message list layout orientation + + &Downloads + + FormRestoreDatabaseSettings @@ -1690,10 +1810,6 @@ Authors of this application are NOT responsible for lost data. External web browser Externer Webbrowser - - Remove all read messages from all standard feeds on application exit - Lösche alle gelesenen Nachrichten aus allen Standard-Feeds beim Beenden der Applikation - WARNING: Note that switching to another data storage type will NOT copy existing your data from currently active data storage to newly selected one. Warnung: Beachten Sie, dass das Umschalten auf einen anderen Datenspeicherung ihre bestehenden Daten NICHT auf den neuen selektierten kopieren wird. @@ -1943,6 +2059,18 @@ You have to restart manually. File filter for external browser selection dialog. + + Remove all read messages from all feeds on application exit + + + + When new message arrives from feed and duplicate exists, then its content is updated and new message is dropped. + + + + Remove duplicate messages + + FormUpdate @@ -2430,6 +2558,10 @@ Unread news: %2 Open new web browser tab. + + Downloads + + ToolBarEditor @@ -2567,18 +2699,6 @@ Unread news: %2 Open image in new tab Bild in neuem Reiter öffnen - - Page not found - Seite nicht gefunden - - - Check your internet connection or website address - - - - This failure can be caused by:<br><ul><li>non-functional internet connection,</li><li>incorrect website address,</li><li>bad proxy server settings,</li><li>target destination outage,</li><li>many other things.</li></ul> - - Web browser Web Browser @@ -2591,10 +2711,6 @@ Unread news: %2 Hyperlink Hyperlink - - Error page - Fehlerseite - Reload current web page. Lade aktuelle Webseite neu. @@ -2647,5 +2763,33 @@ Unread news: %2 Print current web page. + + HTML web pages (*.html) + + + + Select destination file for web page + + + + Cannot save web page + + + + Web page cannot be saved because destination file is not writtable. + + + + Save target as... + + + + Download content from the hyperlink. + + + + Save page as... + + diff --git a/localization/rssguard-en_GB.ts b/localization/rssguard-en_GB.ts index c4d0cdbdb..d2d28d448 100644 --- a/localization/rssguard-en_GB.ts +++ b/localization/rssguard-en_GB.ts @@ -29,6 +29,122 @@ + + DownloadDialog + + Downloading %1 + + + + Downloads + + + + + DownloadItem + + Ico + + + + Filename + + + + Stop + + + + Save File + + + + Download canceled: %1 + + + + Download directory (%1) couldn't be created. + + + + Error opening output file: %1 + + + + Error saving: %1 + + + + Network Error: %1 + + + + %1 of %2 (%3/sec) - %4 + + + + ? + + + + %1 of %2 - Download Complete + + + + Try again + + + + Open file + + + + + DownloadManager + + Form + + + + Clean up + + + + There are %1 downloads in progress +Do you want to quit anyway? + + + + %n minutes remaining + + + + + + + %n seconds remaining + + + + + + + bytes + + + + kB + + + + MB + + + + GB + + + FeedMessageViewer @@ -1329,6 +1445,10 @@ and/or settings were backed or not. Also make sure that target foder is writable Switch message list layout orientation + + &Downloads + + FormRestoreDatabaseSettings @@ -1688,10 +1808,6 @@ Authors of this application are NOT responsible for lost data. External web browser - - Remove all read messages from all standard feeds on application exit - - WARNING: Note that switching to another data storage type will NOT copy existing your data from currently active data storage to newly selected one. @@ -1941,6 +2057,18 @@ You have to restart manually. File filter for external browser selection dialog. + + Remove all read messages from all feeds on application exit + + + + When new message arrives from feed and duplicate exists, then its content is updated and new message is dropped. + + + + Remove duplicate messages + + FormUpdate @@ -2425,6 +2553,10 @@ Unread news: %2 Open new web browser tab. + + Downloads + + ToolBarEditor @@ -2562,18 +2694,6 @@ Unread news: %2 Open image in new tab - - Page not found - - - - Check your internet connection or website address - - - - This failure can be caused by:<br><ul><li>non-functional internet connection,</li><li>incorrect website address,</li><li>bad proxy server settings,</li><li>target destination outage,</li><li>many other things.</li></ul> - - Web browser @@ -2586,10 +2706,6 @@ Unread news: %2 Hyperlink - - Error page - - Reload current web page. @@ -2642,5 +2758,33 @@ Unread news: %2 Print current web page. + + HTML web pages (*.html) + + + + Select destination file for web page + + + + Cannot save web page + + + + Web page cannot be saved because destination file is not writtable. + + + + Save target as... + + + + Download content from the hyperlink. + + + + Save page as... + + diff --git a/localization/rssguard-en_US.ts b/localization/rssguard-en_US.ts index f63027e2f..f15717040 100644 --- a/localization/rssguard-en_US.ts +++ b/localization/rssguard-en_US.ts @@ -34,6 +34,147 @@ + + DownloadDialog + + + Downloading %1 + + + + + Downloads + + + + + DownloadItem + + + Ico + + + + + Filename + + + + + Try again + + + + + Open file + + + + + Stop + + + + + Save File + + + + + Download canceled: %1 + + + + + Download directory (%1) couldn't be created. + + + + + Error opening output file: %1 + + + + + Error saving: %1 + + + + + Network Error: %1 + + + + + %1 of %2 (%3/sec) - %4 + + + + + ? + + + + + %1 of %2 - Download Complete + + + + + DownloadManager + + + Form + + + + + Clean up + + + + + There are %1 downloads in progress +Do you want to quit anyway? + + + + + %n minutes remaining + + + + + + + + %n seconds remaining + + + + + + + + bytes + + + + + kB + + + + + MB + + + + + GB + + + FeedMessageViewer @@ -147,19 +288,19 @@ FeedsModelCategory - + %1 (category)%2%3 Tooltip for standard feed. - + This category does not contain any nested items. - + %n unread message(s). Tooltip for "unread" column of feed list. @@ -171,19 +312,19 @@ This category does not contain any nested items. FeedsModelFeed - + does not use auto-update Describes feed auto-update status. - + uses global settings Describes feed auto-update status. - + uses specific settings (%n minute(s) to next auto-update) Describes feed auto-update status. @@ -192,7 +333,7 @@ This category does not contain any nested items. - + %1 (%2)%3 Network status: %6 @@ -202,7 +343,7 @@ Auto-update status: %5 - + %n unread message(s). Tooltip for "unread" column of feed list. @@ -1118,7 +1259,7 @@ and/or settings were backed or not. Also make sure that target foder is writable - + OPML 2.0 files (*.opml) @@ -1128,50 +1269,50 @@ and/or settings were backed or not. Also make sure that target foder is writable - - + + File is selected. - + Select file for feeds import - + Cannot open source file. - + Feeds were loaded. - + Error, file is not well-formed. Select another file. - + Error occurred. File is not well-formed. Select another file. - - + + Feeds were exported successfully. - - + + Cannot write into destination file. - + Critical error occurred. @@ -1204,455 +1345,460 @@ and/or settings were backed or not. Also make sure that target foder is writable - + &Web browser - + &Current tab - + Settings - + Fee&ds && categories - + Add &new feed/category - + &Messages - + &Recycle bin - + &Quit - + Quit the application. - + &Settings - + Display settings of the application. - + &About application - + Displays extra info about this application. - + &Fullscreen - + Switch fullscreen mode. - + &Add tab - + Add new web browser tab. - + &Close all tabs except current one - + Close all tabs except current one. - + &Close current tab - + Close current web browser tab. - + Update &all feeds - + Update &selected feeds - + &Edit selected feed/category - + &Delete selected feed/category - + Mark &selected messages as &read - + Mark &selected messages as &unread - + Switch &importance of selected messages - + &Mark selected feeds as read - + Mark all messages (without message filters) from selected feeds as read. - + &Mark selected feeds as unread - + Mark all messages (without message filters) from selected feeds as unread. - + &Delete selected messages - + &Clean selected feeds - + Deletes all messages from selected feeds. - + New &feed - + Add new feed. - + Open selected source articles in &external browser - + Open selected messages in &internal browser - + Open selected source articles in &internal browser - + New &category - + Add new category. - + No actions available - + No actions are available right now. - + &Mark all feeds as &read - + Marks all messages in all feeds read. This does not take message filters into account. - + View selected feeds in &newspaper mode - + Displays all messages from selected feeds/categories in a new "newspaper mode" tab. Note that messages are not set as read automatically. - + Switch visibility of main &window - + Hides main window if it is visible and shows it if it is hidden. - + &Defragment database - + Defragment database file so that its size decreases. - + &Feed list - + Hides or shows the list of feeds/categories. - + &Clean all feeds - + Deletes all messages from all feeds. - + Select &next feed/category - + Select &previous feed/category - + Select &next message - + Select &previous message - + Check for &updates - + Check if new update for the application is available for download. - + &Main menu - + Hides or displays the main menu. - + Enable &JavaScript - + Enable external &plugins - + Auto-load &images - + Report a &bug (GitHub)... - + &Toolbars - + Switch visibility of main toolbars. - + &Feed/message list headers - + &Import feeds - + Imports feeds you want from selected file. - + &Export feeds - + Exports feeds you want to selected file. - + Report a bug (BitBucket)... - + &Donate via PayPal - + Display &wiki - + &Empty recycle bin - + &Restore all messages - + Restore &selected messages - + &Restart - + &Restore database/settings - + &Backup database/settings - + Switch message list layout orientation - - + + &Downloads + + + + + Cannot check for updates - - + + You cannot check for updates because feed update is ongoing. - + Cannot open external browser - + Cannot open external browser. Navigate to application website manually. @@ -1783,27 +1929,27 @@ Language column of language list. - + Remove junk Trolltech registry key (HKCU\\Software\\Trolltech) when application quits (Use at your own risk!) - + WARNING: Note that switching to another data storage type will NOT copy existing your data from currently active data storage to newly selected one. - + Database driver - + Use in-memory database as the working database - + Usage of in-memory working database has several advantages and pitfalls. Make sure that you are familiar with these before you turn this feature on. Advantages: <ul> <li>higher speed for feed/message manipulations (especially with thousands of messages displayed),</li> @@ -1818,185 +1964,185 @@ Authors of this application are NOT responsible for lost data. - + Hostname - - + + Port - - + + Username - - + + Password - + Test setup - + Note that speed of used MySQL server and latency of used connection medium HEAVILY influences the final performance of this application. Using slow database connections leads to bad performance when browsing feeds or messages. - + Icons && skins - + Icons - + Icon theme - + Skins - + Active skin: - + Selected skin: - + Tray area && notifications - + Tray icon - + Disable - + Hide main window when it is minimized - + Start application hidden - + Enable - + Tabs - + Open new tabs with left mouse button double-click on tab bar - + Hide tab bar if just one tab is visible - + Close tabs with - + Right mouse button double-click - + Middle mouse button single-click - + Toolbars - + Toolbar for feeds list - + Toolbar for messages list - + Toolbar button style - + Select toolbar to edit - + Internal web browser - + Queue new tabs (with hyperlinks) after the active tab - + Enable JavaScript - + Enable external plugins based on NPAPI - + Auto-load images - + Enable mouse gestures - + Mouse gestures work with middle mouse button. Possible gestures are: <ul> <li>previous web page (drag mouse left),</li> @@ -2007,163 +2153,173 @@ Authors of this application are NOT responsible for lost data. - + External web browser - + <html><head/><body><p>If unchecked, then default system-wide web browser is used.</p></body></html> - + Custom external web browser - + Web browser executable - + Executable file of web browser - + ... - + Executable parameters - + Parameters to executable - + Use sample arguments for - + Select browser - + Note that "%1" (without quotation marks) is placeholder for URL of selected message. - + Proxy - + Type Proxy server type. - + Host - + Hostname or IP of your proxy server - + Your username for proxy server authentication - + Your password for proxy server authentication - + Display password - + Note that these settings are applied only on newly established connections. - + Feeds && categories - + Update all feed on application startup - + Auto-update all feeds every - + minutes - + Feed connection timeout - + Connection timeout is time interval which is reserved for downloading new messages for the feed. If this time interval elapses, then download process is aborted. - + ms - + Message count format in feed list - + Enter format for count of messages displayed next to each feed/category in feed list. Use "%all" and "%unread" strings which are placeholders for the actual count of all (or unread) messages. - + Messages - - Remove all read messages from all standard feeds on application exit + + Remove all read messages from all feeds on application exit - + + When new message arrives from feed and duplicate exists, then its content is updated and new message is dropped. + + + + + Remove duplicate messages + + + + Keep message selection in the middle of the message list viewport - + Use custom date/time format (overrides format loaded from active localization) @@ -2215,207 +2371,207 @@ Authors of this application are NOT responsible for lost data. - + some keyboard shortcuts are not unique - + custom external browser is not set correctly - + Cannot save settings - + Some critical settings are not set. You must fix these settings in order confirm new settings. - + List of errors: %1. - + Critical settings were changed - + Some critical settings were changed and will be applied after the application gets restarted. You have to restart manually. - + Do you want to restart now? - + List of changes: %1. - + Opera 12 or older - + No proxy - + System proxy - + Socks5 - + Http - + language changed - + No connection test triggered so far. - + You did not executed any connection test yet. - + SQLite (embedded database) - + MySQL/MariaDB (dedicated database) - + Hostname of your MySQL server - + Username to login with - + Password for your username - + in-memory database switched - + data storage backend changed - + Hostname is empty. - + Hostname looks ok. - + Username is empty. - + Username looks ok. - + Password is empty. - + Password looks ok. - + (not supported on this platform) - + Disable (Tray icon is not available.) - + no icon theme Label for disabling icon theme. - + Icon only - + Text only - + Text beside icon - + Text under icon - + Follow OS style - + icon theme changed - + skin changed @@ -2970,12 +3126,12 @@ Unread news: %2 TabBar - + Close this tab. - + Close tab @@ -2998,18 +3154,23 @@ Unread news: %2 - + + Downloads + + + + Feeds - + Browse your feeds and messages - - + + Web browser Web browser default tab title. @@ -3153,137 +3314,152 @@ Unread news: %2 WebView - - Reload web page + + HTML web pages (*.html) - - Reload current web page. + + Select destination file for web page - - Print + + Cannot save web page - - Print current web page. - - - - - Copy selection - - - - - Copies current selection into the clipboard. - - - - - Copy link url - - - - - Copy link url to clipboard. - - - - - Copy image - - - - - Copy image to clipboard. - - - - - Copy image url - - - - - Copy image url to clipboard. - - - - - Open link in new tab + + Web page cannot be saved because destination file is not writtable. - Open this hyperlink in new tab. + Reload web page + + + + + Reload current web page. + + + + + Print - Follow link - - - - - Open the hyperlink in this tab. - - - - - Open link in external browser + Print current web page. - Open the hyperlink in external browser. + Copy selection - - Open image in new tab - - - - - Open this image in this tab. + + Copies current selection into the clipboard. - Error page + Save target as... - Page not found + Download content from the hyperlink. - - Check your internet connection or website address + + Copy link url - - This failure can be caused by:<br><ul><li>non-functional internet connection,</li><li>incorrect website address,</li><li>bad proxy server settings,</li><li>target destination outage,</li><li>many other things.</li></ul> + + Copy link url to clipboard. - + + Copy image + + + + + Copy image to clipboard. + + + + + Save page as... + + + + + Copy image url + + + + + Copy image url to clipboard. + + + + + Open link in new tab + + + + + Open this hyperlink in new tab. + + + + + Follow link + + + + + Open the hyperlink in this tab. + + + + + Open link in external browser + + + + + Open the hyperlink in external browser. + + + + + Open image in new tab + + + + + Open this image in this tab. + + + + Web browser - + Image - + Hyperlink diff --git a/localization/rssguard-fr_FR.ts b/localization/rssguard-fr_FR.ts index 2189bb75e..60bddb2d1 100644 --- a/localization/rssguard-fr_FR.ts +++ b/localization/rssguard-fr_FR.ts @@ -29,6 +29,122 @@ Erreur inconnue. + + DownloadDialog + + Downloading %1 + + + + Downloads + + + + + DownloadItem + + Ico + + + + Filename + + + + Stop + Stop + + + Save File + + + + Download canceled: %1 + + + + Download directory (%1) couldn't be created. + + + + Error opening output file: %1 + + + + Error saving: %1 + + + + Network Error: %1 + + + + %1 of %2 (%3/sec) - %4 + + + + ? + + + + %1 of %2 - Download Complete + + + + Try again + + + + Open file + + + + + DownloadManager + + Form + + + + Clean up + + + + There are %1 downloads in progress +Do you want to quit anyway? + + + + %n minutes remaining + + + + + + + %n seconds remaining + + + + + + + bytes + + + + kB + + + + MB + + + + GB + + + FeedMessageViewer @@ -1330,6 +1446,10 @@ and/or settings were backed or not. Also make sure that target foder is writable Switch message list layout orientation + + &Downloads + + FormRestoreDatabaseSettings @@ -1701,10 +1821,6 @@ Les auteurs de cette application NE sont PAS responsable de la perte de données External web browser Navigateur web externe - - Remove all read messages from all standard feeds on application exit - Enlever tout les messages lus des flux standards à l'arrêt de l'application - WARNING: Note that switching to another data storage type will NOT copy existing your data from currently active data storage to newly selected one. ATTENTION : Notez que le changement vers un autre type de stockage pour les données NE COPIERA PAS les données existantes de la base de données active vers la nouvelle sélectionnée. @@ -1960,6 +2076,18 @@ You have to restart manually. File filter for external browser selection dialog. + + Remove all read messages from all feeds on application exit + + + + When new message arrives from feed and duplicate exists, then its content is updated and new message is dropped. + + + + Remove duplicate messages + + FormUpdate @@ -2448,6 +2576,10 @@ Unread news: %2 Open new web browser tab. Ouvrir un nouvel onglet de navigation web. + + Downloads + + ToolBarEditor @@ -2585,18 +2717,6 @@ Unread news: %2 Open image in new tab Ouvrir l'image dans un nouvel onglet - - Page not found - Page non trouvée - - - Check your internet connection or website address - Vérifier votre connexion internet ou l'adresse du site web - - - This failure can be caused by:<br><ul><li>non-functional internet connection,</li><li>incorrect website address,</li><li>bad proxy server settings,</li><li>target destination outage,</li><li>many other things.</li></ul> - Cette échec a été causé par :<br><ul><li>le non-fonctionnement de la connexion internet,</li><li>une adresse internet incorrecte,</li><li>de mauvais paramètres pour le serveur proxy,</li><li>une panne du côté de la destination,</li><li>beaucoup d'autres choses.</li></ul> - Web browser Navigateur web @@ -2609,10 +2729,6 @@ Unread news: %2 Hyperlink Hyperlien - - Error page - Page d'erreur - Reload current web page. Recharger la page courante @@ -2665,5 +2781,33 @@ Unread news: %2 Print current web page. + + HTML web pages (*.html) + + + + Select destination file for web page + + + + Cannot save web page + + + + Web page cannot be saved because destination file is not writtable. + + + + Save target as... + + + + Download content from the hyperlink. + + + + Save page as... + + diff --git a/localization/rssguard-it_IT.ts b/localization/rssguard-it_IT.ts index 80d6875a4..c82f2ce13 100644 --- a/localization/rssguard-it_IT.ts +++ b/localization/rssguard-it_IT.ts @@ -29,6 +29,122 @@ Errore sconosciuto. + + DownloadDialog + + Downloading %1 + + + + Downloads + + + + + DownloadItem + + Ico + + + + Filename + + + + Stop + Ferma + + + Save File + + + + Download canceled: %1 + + + + Download directory (%1) couldn't be created. + + + + Error opening output file: %1 + + + + Error saving: %1 + + + + Network Error: %1 + + + + %1 of %2 (%3/sec) - %4 + + + + ? + + + + %1 of %2 - Download Complete + + + + Try again + + + + Open file + + + + + DownloadManager + + Form + + + + Clean up + + + + There are %1 downloads in progress +Do you want to quit anyway? + + + + %n minutes remaining + + + + + + + %n seconds remaining + + + + + + + bytes + + + + kB + + + + MB + + + + GB + + + FeedMessageViewer @@ -1329,6 +1445,10 @@ and/or settings were backed or not. Also make sure that target foder is writable Switch message list layout orientation + + &Downloads + + FormRestoreDatabaseSettings @@ -1690,10 +1810,6 @@ Authors of this application are NOT responsible for lost data. External web browser Web browser esterno - - Remove all read messages from all standard feeds on application exit - Rimuovi tutti i messaggi letti dai feed standard all'uscita dall'applicazione. - WARNING: Note that switching to another data storage type will NOT copy existing your data from currently active data storage to newly selected one. @@ -1943,6 +2059,18 @@ You have to restart manually. File filter for external browser selection dialog. + + Remove all read messages from all feeds on application exit + + + + When new message arrives from feed and duplicate exists, then its content is updated and new message is dropped. + + + + Remove duplicate messages + + FormUpdate @@ -2430,6 +2558,10 @@ Unread news: %2 Open new web browser tab. + + Downloads + + ToolBarEditor @@ -2567,18 +2699,6 @@ Unread news: %2 Open image in new tab Apri immagine in un nuovo tab - - Page not found - Pagina non trovata - - - Check your internet connection or website address - Controlla la tua connessione internet o l'indirizzo del sito web - - - This failure can be caused by:<br><ul><li>non-functional internet connection,</li><li>incorrect website address,</li><li>bad proxy server settings,</li><li>target destination outage,</li><li>many other things.</li></ul> - - Web browser Web browser @@ -2591,10 +2711,6 @@ Unread news: %2 Hyperlink Hyperlink - - Error page - Errore pagina - Reload current web page. Ricarica pagina web corrente. @@ -2647,5 +2763,33 @@ Unread news: %2 Print current web page. + + HTML web pages (*.html) + + + + Select destination file for web page + + + + Cannot save web page + + + + Web page cannot be saved because destination file is not writtable. + + + + Save target as... + + + + Download content from the hyperlink. + + + + Save page as... + + diff --git a/localization/rssguard-nl_NL.ts b/localization/rssguard-nl_NL.ts index 6ff372992..3bddf8dae 100644 --- a/localization/rssguard-nl_NL.ts +++ b/localization/rssguard-nl_NL.ts @@ -29,6 +29,122 @@ Onbekende fout. + + DownloadDialog + + Downloading %1 + + + + Downloads + + + + + DownloadItem + + Ico + + + + Filename + + + + Stop + Stop + + + Save File + + + + Download canceled: %1 + + + + Download directory (%1) couldn't be created. + + + + Error opening output file: %1 + + + + Error saving: %1 + + + + Network Error: %1 + + + + %1 of %2 (%3/sec) - %4 + + + + ? + + + + %1 of %2 - Download Complete + + + + Try again + + + + Open file + + + + + DownloadManager + + Form + + + + Clean up + + + + There are %1 downloads in progress +Do you want to quit anyway? + + + + %n minutes remaining + + + + + + + %n seconds remaining + + + + + + + bytes + + + + kB + + + + MB + + + + GB + + + FeedMessageViewer @@ -1338,6 +1454,10 @@ Exporteer feeds die je wilt van het geselecteerde bestand. Switch message list layout orientation + + &Downloads + + FormRestoreDatabaseSettings @@ -1710,10 +1830,6 @@ Auteurs van Rssguard zijn NIET verantwoordelijk voor verlies van gegevens.External web browser Externe webbrowser - - Remove all read messages from all standard feeds on application exit - Verwijder de gelezen berichten van alle standaard feeds als rssguard sluit - WARNING: Note that switching to another data storage type will NOT copy existing your data from currently active data storage to newly selected one. WAARSCHUWING: Let op dat de overstap naar een ander type gegevens opslag NIET bestaande gegevens van dat moment kopiëren naar nieuw geselecteerde gegevens opslag. @@ -1971,6 +2087,18 @@ Je moet handmatig herstarten. File filter for external browser selection dialog. + + Remove all read messages from all feeds on application exit + + + + When new message arrives from feed and duplicate exists, then its content is updated and new message is dropped. + + + + Remove duplicate messages + + FormUpdate @@ -2461,6 +2589,10 @@ Ongelezen nieuws: %2 Open new web browser tab. Open een nieuw webbrowser tabblad. + + Downloads + + ToolBarEditor @@ -2598,18 +2730,6 @@ Ongelezen nieuws: %2 Open image in new tab Open afbeelding in nieuw tabblad - - Page not found - Pagina niet gevonden - - - Check your internet connection or website address - Controleer je internet verbinding of website adres - - - This failure can be caused by:<br><ul><li>non-functional internet connection,</li><li>incorrect website address,</li><li>bad proxy server settings,</li><li>target destination outage,</li><li>many other things.</li></ul> - Deze fout kan veroorzaakt worden door:<br><ul><li>niet werkende internet verbinding,</li><li>onjuiste website adres,</li><li>slechte proxy server instelling,</li><li>uitval van doellocatie,</li><li>of vele andere zaken.</li></ul> - Web browser Webbrowser @@ -2622,10 +2742,6 @@ Ongelezen nieuws: %2 Hyperlink Koppeling - - Error page - Foutpagina - Reload current web page. Vernieuw huidige webpagina. @@ -2678,5 +2794,33 @@ Ongelezen nieuws: %2 Print current web page. + + HTML web pages (*.html) + + + + Select destination file for web page + + + + Cannot save web page + + + + Web page cannot be saved because destination file is not writtable. + + + + Save target as... + + + + Download content from the hyperlink. + + + + Save page as... + + diff --git a/localization/rssguard-sv_SE.ts b/localization/rssguard-sv_SE.ts index c13d0be20..2e4482061 100644 --- a/localization/rssguard-sv_SE.ts +++ b/localization/rssguard-sv_SE.ts @@ -29,6 +29,122 @@ Okänt fel. + + DownloadDialog + + Downloading %1 + + + + Downloads + + + + + DownloadItem + + Ico + + + + Filename + + + + Stop + Stopp + + + Save File + + + + Download canceled: %1 + + + + Download directory (%1) couldn't be created. + + + + Error opening output file: %1 + + + + Error saving: %1 + + + + Network Error: %1 + + + + %1 of %2 (%3/sec) - %4 + + + + ? + + + + %1 of %2 - Download Complete + + + + Try again + + + + Open file + + + + + DownloadManager + + Form + + + + Clean up + + + + There are %1 downloads in progress +Do you want to quit anyway? + + + + %n minutes remaining + + + + + + + %n seconds remaining + + + + + + + bytes + + + + kB + + + + MB + + + + GB + + + FeedMessageViewer @@ -1336,6 +1452,10 @@ och/eller inställningar sparades. Tillse också att målmappen inte är skrivsk Switch message list layout orientation + + &Downloads + + FormRestoreDatabaseSettings @@ -1708,10 +1828,6 @@ Utvecklaren av detta program, är INTE ansvarig för förlorad data.External web browser Extern webbläsare - - Remove all read messages from all standard feeds on application exit - Ta bort alla lästa meddelanden från samtliga flöden vid programavslut - WARNING: Note that switching to another data storage type will NOT copy existing your data from currently active data storage to newly selected one. VARNING! Notera att byte till en annan datalagringstyp INTE kopierar befintliga data från den aktiva datalagringen till den nyvalda. @@ -1969,6 +2085,18 @@ Du måste starta om manuellt. File filter for external browser selection dialog. + + Remove all read messages from all feeds on application exit + + + + When new message arrives from feed and duplicate exists, then its content is updated and new message is dropped. + + + + Remove duplicate messages + + FormUpdate @@ -2457,6 +2585,10 @@ Olästa nyheter: %2 Open new web browser tab. Öppna ny webbläsarflik. + + Downloads + + ToolBarEditor @@ -2594,18 +2726,6 @@ Olästa nyheter: %2 Open image in new tab Öppna bild i ny flik - - Page not found - Sidan kan inte hittas - - - Check your internet connection or website address - Kontrollera din Internetanslutning och/eller webbadressen - - - This failure can be caused by:<br><ul><li>non-functional internet connection,</li><li>incorrect website address,</li><li>bad proxy server settings,</li><li>target destination outage,</li><li>many other things.</li></ul> - Detta fel kan ha orsakats av:<br><ul><li>Icke fungerande Internetanslutning,</li><li>felaktig webbadress,</li><li>felaktiga proxyserverinställningar,</li><li>strömavbrott på måldestinationen</li>och/eller<li>många andra saker.</li></ul> - Web browser Webbläsare @@ -2618,10 +2738,6 @@ Olästa nyheter: %2 Hyperlink Hyperlänk - - Error page - Felsida - Reload current web page. Uppdatera aktuell webbsida. @@ -2674,5 +2790,33 @@ Olästa nyheter: %2 Print current web page. + + HTML web pages (*.html) + + + + Select destination file for web page + + + + Cannot save web page + + + + Web page cannot be saved because destination file is not writtable. + + + + Save target as... + + + + Download content from the hyperlink. + + + + Save page as... + + diff --git a/src/network-web/downloaditem.ui b/src/network-web/downloaditem.ui index dd3b9a820..0b5e4c901 100644 --- a/src/network-web/downloaditem.ui +++ b/src/network-web/downloaditem.ui @@ -6,8 +6,8 @@ 0 0 - 423 - 110 + 404 + 45 @@ -25,7 +25,26 @@ - + + + + 0 + 0 + + + + 0 + + + 0 + + + false + + + + + @@ -39,13 +58,6 @@ - - - - 0 - - - @@ -62,58 +74,28 @@ - - - - - Qt::Vertical - - - - 17 - 1 - - - - - - - - false - - - Try Again - - - - - - - Stop - - - - - - - Open - - - - - - - Qt::Vertical - - - - 17 - 5 - - - - - + + + false + + + Try again + + + + + + + Stop + + + + + + + Open file + + diff --git a/src/network-web/downloadmanager.cpp b/src/network-web/downloadmanager.cpp index 713587be4..9f7631544 100644 --- a/src/network-web/downloadmanager.cpp +++ b/src/network-web/downloadmanager.cpp @@ -19,61 +19,51 @@ #include "miscellaneous/autosaver.h" #include "miscellaneous/application.h" - +#include "gui/formmain.h" +#include "gui/tabwidget.h" #include "network-web/silentnetworkaccessmanager.h" #include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include -#include -#include - -/*! - DownloadItem is a widget that is displayed in the download manager list. - It moves the data from the QNetworkReply into the QFile as well - as update the information/progressbar and report errors. - */ -DownloadItem::DownloadItem(QNetworkReply *reply, bool requestFileName, QWidget *parent) - : QWidget(parent) - , m_reply(reply) - , m_requestFileName(requestFileName) - , m_bytesReceived(0) - , m_startedSaving(false) - , m_finishedDownloading(false) - , m_gettingFileName(false) - , m_canceledFileSelect(false) -{ +DownloadItem::DownloadItem(QNetworkReply *reply, bool request_file_name, QWidget *parent) : QWidget(parent), m_reply(reply), + m_bytesReceived(0), m_requestFileName(request_file_name), m_startedSaving(false), m_finishedDownloading(false), + m_gettingFileName(false), m_canceledFileSelect(false) { setupUi(this); - QPalette p = downloadInfoLabel->palette(); - p.setColor(QPalette::Text, Qt::darkGray); - downloadInfoLabel->setPalette(p); - progressBar->setMaximum(0); + tryAgainButton->hide(); + connect(stopButton, SIGNAL(clicked()), this, SLOT(stop())); - connect(openButton, SIGNAL(clicked()), this, SLOT(open())); + connect(openButton, SIGNAL(clicked()), this, SLOT(openFile())); connect(tryAgainButton, SIGNAL(clicked()), this, SLOT(tryAgain())); - if (!requestFileName) { + if (!request_file_name) { QSettings settings; settings.beginGroup(QLatin1String("downloadmanager")); m_requestFileName = settings.value(QLatin1String("alwaysPromptForFileName"), false).toBool(); } + /*if (reply != NULL) { + reply->deleteLater(); + }*/ + init(); } -void DownloadItem::init() -{ +void DownloadItem::init() { if (!m_reply) return; @@ -174,10 +164,6 @@ QString DownloadItem::saveFileName(const QString &directory) const if (baseName.isEmpty()) { baseName = QLatin1String("unnamed_download"); - -#ifdef DOWNLOADMANAGER_DEBUG - qDebug() << "DownloadItem::" << __FUNCTION__ << "downloading unknown file:" << m_url; -#endif } if (!endName.isEmpty()) @@ -206,15 +192,14 @@ void DownloadItem::stop() emit downloadFinished(); } -void DownloadItem::open() -{ +void DownloadItem::openFile() { QFileInfo info(m_output); QUrl url = QUrl::fromLocalFile(info.absoluteFilePath()); + QDesktopServices::openUrl(url); } -void DownloadItem::tryAgain() -{ +void DownloadItem::tryAgain() { if (!tryAgainButton->isEnabled()) return; @@ -264,10 +249,6 @@ void DownloadItem::downloadReadyRead() void DownloadItem::error(QNetworkReply::NetworkError) { -#ifdef DOWNLOADMANAGER_DEBUG - qDebug() << "DownloadItem::" << __FUNCTION__ << m_reply->errorString() << m_url; -#endif - downloadInfoLabel->setText(tr("Network Error: %1").arg(m_reply->errorString())); tryAgainButton->setEnabled(true); tryAgainButton->setVisible(true); @@ -284,10 +265,6 @@ void DownloadItem::metaDataChanged() init(); return; } - -#ifdef DOWNLOADMANAGER_DEBUG - qDebug() << "DownloadItem::" << __FUNCTION__ << "not handled."; -#endif } void DownloadItem::downloadProgress(qint64 bytesReceived, qint64 bytesTotal) @@ -486,30 +463,27 @@ void DownloadManager::download(const QUrl &url, bool requestFileName) { void DownloadManager::handleUnsupportedContent(QNetworkReply *reply, bool requestFileName) { - if (!reply || reply->url().isEmpty()) + if (reply == NULL || reply->url().isEmpty()) { return; + } QVariant header = reply->header(QNetworkRequest::ContentLengthHeader); bool ok; int size = header.toInt(&ok); - if (ok && size == 0) - return; -#ifdef DOWNLOADMANAGER_DEBUG - qDebug() << "DownloadManager::" << __FUNCTION__ << reply->url() << "requestFileName" << requestFileName; -#endif + if (ok && size == 0) { + return; + } DownloadItem *item = new DownloadItem(reply, requestFileName, this); addItem(item); - if (item->m_canceledFileSelect) + if (item->m_canceledFileSelect) { return; - /* - if (!isVisible()) - show(); + } - activateWindow(); - raise();*/ + // TODO: zobrazit ted. + qApp->mainForm()->tabWidget()->showDownloadManager(); } void DownloadManager::addItem(DownloadItem *item) diff --git a/src/network-web/downloadmanager.h b/src/network-web/downloadmanager.h index a39cd42e6..1d562439b 100644 --- a/src/network-web/downloadmanager.h +++ b/src/network-web/downloadmanager.h @@ -23,23 +23,25 @@ #include "gui/tabcontent.h" -#include +#include +#include +#include -#include -#include + +class AutoSaver; +class DownloadModel; +class QFileIconProvider; +class QMimeData; class DownloadItem : public QWidget, public Ui_DownloadItem { Q_OBJECT friend class DownloadManager; - - signals: - void statusChanged(); - void progress(qint64 bytesReceived = 0, qint64 bytesTotal = 0); - void downloadFinished(); + friend class DownloadModel; public: - DownloadItem(QNetworkReply *reply = 0, bool requestFileName = false, QWidget *parent = 0); + explicit DownloadItem(QNetworkReply *reply = 0, bool request_file_name = false, QWidget *parent = 0); + bool downloading() const; bool downloadedSuccessfully() const; @@ -48,15 +50,10 @@ class DownloadItem : public QWidget, public Ui_DownloadItem { double remainingTime() const; double currentSpeed() const; - QUrl m_url; - - QFile m_output; - QNetworkReply *m_reply; - private slots: void stop(); void tryAgain(); - void open(); + void openFile(); void downloadReadyRead(); void error(QNetworkReply::NetworkError code); @@ -64,6 +61,11 @@ class DownloadItem : public QWidget, public Ui_DownloadItem { void metaDataChanged(); void finished(); + signals: + void statusChanged(); + void progress(qint64 bytesReceived = 0, qint64 bytesTotal = 0); + void downloadFinished(); + private: void getFileName(); void init(); @@ -71,23 +73,19 @@ class DownloadItem : public QWidget, public Ui_DownloadItem { QString saveFileName(const QString &directory) const; - bool m_requestFileName; + QUrl m_url; + QFile m_output; + QNetworkReply *m_reply; qint64 m_bytesReceived; QTime m_downloadTime; + QTime m_lastProgressTime; + bool m_requestFileName; bool m_startedSaving; bool m_finishedDownloading; bool m_gettingFileName; bool m_canceledFileSelect; - QTime m_lastProgressTime; }; -class AutoSaver; -class DownloadModel; -QT_BEGIN_NAMESPACE -class QFileIconProvider; -class QMimeData; -QT_END_NAMESPACE - class DownloadManager : public TabContent, public Ui_DownloadManager { Q_OBJECT Q_PROPERTY(RemovePolicy removePolicy READ removePolicy WRITE setRemovePolicy) @@ -153,6 +151,7 @@ class DownloadModel : public QAbstractListModel { public: DownloadModel(DownloadManager *downloadManager, QObject *parent = 0); + QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const; int rowCount(const QModelIndex &parent = QModelIndex()) const; bool removeRows(int row, int count, const QModelIndex &parent = QModelIndex()); diff --git a/src/network-web/webpage.cpp b/src/network-web/webpage.cpp index 2f3727a91..91181938c 100644 --- a/src/network-web/webpage.cpp +++ b/src/network-web/webpage.cpp @@ -58,6 +58,7 @@ void WebPage::handleUnsupportedContent(QNetworkReply *reply) { } default: + //reply->deleteLater(); return; } } @@ -69,6 +70,12 @@ QString WebPage::toHtml() const { bool WebPage::acceptNavigationRequest(QWebFrame *frame, const QNetworkRequest &request, QWebPage::NavigationType type) { + QString scheme = request.url().scheme(); + + if (scheme == "mailto" || scheme == "ftp") { + return false; + } + if (type == QWebPage::NavigationTypeLinkClicked && frame == mainFrame()) { // Make sure that appropriate signal is emitted even if diff --git a/src/network-web/webview.cpp b/src/network-web/webview.cpp index 515a3ccc7..d4a00c165 100755 --- a/src/network-web/webview.cpp +++ b/src/network-web/webview.cpp @@ -161,7 +161,7 @@ void WebView::initializeActions() { m_actionSaveHyperlinkAs = pageAction(QWebPage::DownloadLinkToDisk); m_actionSaveHyperlinkAs->setParent(this); - m_actionSaveHyperlinkAs->setText(tr("Save as...")); + m_actionSaveHyperlinkAs->setText(tr("Save target as...")); m_actionSaveHyperlinkAs->setToolTip(tr("Download content from the hyperlink.")); m_actionCopyLink = pageAction(QWebPage::CopyLinkToClipboard); @@ -203,6 +203,7 @@ void WebView::initializeActions() { } void WebView::displayErrorPage() { + /* setHtml(qApp->skins()->currentMarkupLayout().arg( tr("Error page"), qApp->skins()->currentMarkup().arg(tr("Page not found"), @@ -216,6 +217,7 @@ void WebView::displayErrorPage() { "
  • many other things.
  • " ""), QDateTime::currentDateTime().toString(Qt::DefaultLocaleShortDate)))); + */ } void WebView::popupContextMenu(const QPoint &pos) {