diff --git a/CMakeLists.txt b/CMakeLists.txt index 038885d53..f625dcd4c 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -242,7 +242,7 @@ set(APP_SOURCES src/gui/shortcutbutton.cpp src/gui/dynamicshortcutswidget.cpp src/gui/webbrowser.cpp - src/gui/basewebview.cpp + src/gui/webview.cpp src/gui/baselineedit.cpp src/gui/locationlineedit.cpp src/gui/tabwidget.cpp @@ -302,7 +302,7 @@ set(APP_HEADERS src/gui/shortcutbutton.h src/gui/dynamicshortcutswidget.h src/gui/webbrowser.h - src/gui/basewebview.h + src/gui/webview.h src/gui/baselineedit.h src/gui/locationlineedit.h src/gui/tabwidget.h diff --git a/localization/rssguard_cs.ts b/localization/rssguard_cs.ts index 99517df28..c4e8485fb 100644 --- a/localization/rssguard_cs.ts +++ b/localization/rssguard_cs.ts @@ -1,89 +1,6 @@ - - BaseWebView - - Reload web page - Obnovit stránku - - - Reload current web page - Znovu načíst aktuální stránku - - - Copy link url - Kopírovat adresu odkazu - - - Copy link url to clipboard - Kopírovat adresu odkazu to schránky - - - Copy image - Kopírovat obrázek - - - Copy image to clipboard - Kopírovat obrázek do schránky - - - Copy image url - Kopírovat adresu obrázku - - - Copy image url to clipboard - Kopírovat adresu obrázku do schránky - - - Web browser - Webový prohlížeč - - - Image - Obrázek - - - Open link in new tab - Otevřít odkaz v novém panelu - - - Open this hyperlink in new tab - Otevřít tento odkaz v novém panelu - - - Follow link - Přejít - - - Open the hyperlink in this tab - Otevřít tento odkaz v tomto panelu - - - Open image in new tab - Otevřít obrázek v novém panelu - - - Open this image in this tab - Otevřít tento obrázek v novém panelu - - - Hyperlink - Hypertextový odkaz - - - 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></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> - - CornerButton @@ -112,6 +29,10 @@ Counts of unread/all meesages. Počty nepřečtených/všech zpráviček. + + root + kořen + FormAbout @@ -264,27 +185,27 @@ Update selected feeds/categories. - + Aktualizovat vybrané kategorie/kanály. Edit selected feed/category. - + Editovat vybrané kategorii/kanál. Delete selected feeds/categories. - + Smazat vybrané kategorie/kanály. Mark selected messages as read. - + Označit vybrané zprávy jako přečtené. Mark selected messages as unread. - + Označit vybrané zprávy jako nepřečtené. Switch importance of selected messages. - + Přepnout důležitost vybraných zpráv. &Web browser @@ -292,31 +213,31 @@ Mark selected messages &read - + Označit vyb&rané zprávy jako přečtené Mark selected messages &unread - + Označit vybrané zprávy jako &nepřečtené Switch &importance of selected messages - + Přepnout &důležitost vybraných zpráv Mark &all messages read - + Ozn&ačit všechny zprávy jako přečtené Mark a&ll messages unread - + Označit &všechny zprávy jako nepřečtené &Delete selected messages - + &Smazat vybrané zprávy Dele&te all messages - + Smaza&t všechny zprávy Import stuff. @@ -344,19 +265,19 @@ Add new web browser tab. - + Přidat nový panel webového prohlížeče. Close current web browser tab. - + Zavřít aktuální panel webového prohlížeče.. Update &all feeds - + Aktualizov&at vše Update &selected feeds - + Aktualizovat vybrané kanál&y &Edit selected feed(s)/category(ies) @@ -364,7 +285,7 @@ &Delete selected feed(s)/category(ies) - + Smazat vybrané kanály/kategor&ie Mark selected feed(s)/category(ies) as read @@ -380,11 +301,11 @@ Add new &feed - + Přidat k&anál Add new feed. - + Přidat nový kanál. Open selected messages in internal browser @@ -426,6 +347,10 @@ Delete all messages from selected feeds. This does NOT take message filters into account. + + Application is already running. + + FormSettings @@ -489,10 +414,6 @@ Web browser Webový prohlížeč - - &Change... - &Změnit... - Use custom color for web browser progress bar Použít barevný průběhový pás při načítání stránky @@ -743,49 +664,47 @@ Opera 12 or older - - - - Current color - + Opera 12 nebo starší Executable file of web browser - + Spouštěcí soubor prohlžeče webu Parameters to executable - + Parametry spouštěče some keyboard shortcuts are not unique - + některé klávesové zkratky nejsou unikátní external browser is not set - + externí prohlížeč není nastaven List of errors: %1. - + Seznam chyb: +%1. List of changes: %1. - + Seznam změn: +%1. language changed - + jazyk změněn icon theme changed - + téma ikon změněno skin changed - + skin změněn @@ -953,36 +872,37 @@ ATOM 1.0 - + RDF 1.0 - + RSS 0.90/0.91/0.92 - + RSS 2.0/2.0.1 - + %1 Category type: standard Creation date: %2%3 - %1 + %1 Typ kategorie: standardní -Datum vytvoření: %2%3 {1 -?} +Datum vytvoření: %2%3 This category does not contain any nested items. - + + +Tato kategorie neobsahuje žádné podřízené položky. %1 @@ -991,7 +911,12 @@ Feed type: %2 URL: %3 Encoding: %4 Language: %5 - + %1 + +Typ kanálu: %2 +URL: %3 +Kódování: %4 +Jazyk: %5 @@ -1090,4 +1015,87 @@ Language: %5 Napsal + + WebView + + Reload web page + Obnovit stránku + + + Reload current web page + Znovu načíst aktuální stránku + + + Copy link url + Kopírovat adresu odkazu + + + Copy link url to clipboard + Kopírovat adresu odkazu to schránky + + + Copy image + Kopírovat obrázek + + + Copy image to clipboard + Kopírovat obrázek do schránky + + + Copy image url + Kopírovat adresu obrázku + + + Copy image url to clipboard + Kopírovat adresu obrázku do schránky + + + Open link in new tab + Otevřít odkaz v novém panelu + + + Open this hyperlink in new tab + Otevřít tento odkaz v novém panelu + + + Follow link + Přejít + + + Open the hyperlink in this tab + Otevřít tento odkaz v tomto panelu + + + Open image in new tab + Otevřít obrázek v novém panelu + + + Open this image in this tab + Otevřít tento 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č + + + Image + Obrázek + + + Hyperlink + Hypertextový odkaz + + diff --git a/localization/rssguard_en.ts b/localization/rssguard_en.ts index 62e1384ba..19bb59fd9 100644 --- a/localization/rssguard_en.ts +++ b/localization/rssguard_en.ts @@ -1,89 +1,6 @@ - - BaseWebView - - Reload web page - - - - Reload current web page - - - - Copy link url - - - - Copy link url to clipboard - - - - Copy image - - - - Copy image to clipboard - - - - Copy image url - - - - Copy image url to clipboard - - - - Web browser - - - - Image - - - - Open link in new tab - - - - Open this hyperlink in new tab - - - - Follow link - - - - Open the hyperlink in this tab - - - - Open image in new tab - - - - Open this image in this tab - - - - Hyperlink - - - - 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> - - - CornerButton @@ -112,6 +29,10 @@ Counts of unread/all meesages. + + root + + FormAbout @@ -426,6 +347,10 @@ Delete all messages from selected feeds. This does NOT take message filters into account. + + Application is already running. + + FormSettings @@ -489,10 +414,6 @@ Web browser - - &Change... - - Use custom color for web browser progress bar @@ -739,10 +660,6 @@ Opera 12 or older - - Current color - - Executable file of web browser @@ -1079,4 +996,87 @@ Language: %5 + + WebView + + Reload web page + + + + Reload current web page + + + + 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 + + + + Open this hyperlink in new tab + + + + Follow link + + + + Open the hyperlink in this tab + + + + Open image in new tab + + + + Open this image in this 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 + + + + Image + + + + Hyperlink + + + diff --git a/localization/rssguard_nl.ts b/localization/rssguard_nl.ts index 5ea8c4860..9a582bb20 100644 --- a/localization/rssguard_nl.ts +++ b/localization/rssguard_nl.ts @@ -1,89 +1,6 @@ - - BaseWebView - - Reload web page - Herlaad webpagina - - - Reload current web page - Herlaad huidige webpagina - - - Copy link url - URL kopiëren - - - Copy link url to clipboard - URL kopiëren naar klembord - - - Copy image - Kopiëer afbeelding - - - Copy image to clipboard - Kopiëer afbeelding naar klembord - - - Copy image url - URL afbeelding kopiëren - - - Copy image url to clipboard - URL afbeelding naar klembord kopiëren - - - Web browser - Webbrowser - - - Image - Afbeelding - - - Open link in new tab - Open link in nieuw tabblad - - - Open this hyperlink in new tab - Open deze koppeling in nieuw tabblad - - - Follow link - Volg koppeling - - - Open the hyperlink in this tab - Open koppeling in dit tabblad - - - Open image in new tab - Open afbeelding in nieuw tabblad - - - Open this image in this tab - Open deze afbeelding in dit tabblad - - - Hyperlink - Koppeling - - - 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> - - CornerButton @@ -112,6 +29,10 @@ Counts of unread/all meesages. Aantal van alle ongelezen berichten. + + root + + FormAbout @@ -426,6 +347,10 @@ Delete all messages from selected feeds. This does NOT take message filters into account. Verwijder alle berichten van geselekteerde feeds. Dit zal GEEN bericht filters meenemen in account. + + Application is already running. + + FormSettings @@ -489,10 +414,6 @@ Web browser Webbrowser - - &Change... - &Verander... - Use custom color for web browser progress bar Gebruik eigen kleur voor webbrowser voortgangsbalk @@ -745,10 +666,6 @@ Opera 12 or older Opera 12 of ouder - - Current color - Huidige kleur - Executable file of web browser Uitvoerbaar bestand van webbrowser @@ -1095,4 +1012,87 @@ Taal: %5 Geschreven door + + WebView + + Reload web page + Herlaad webpagina + + + Reload current web page + Herlaad huidige webpagina + + + Copy link url + URL kopiëren + + + Copy link url to clipboard + URL kopiëren naar klembord + + + Copy image + Kopiëer afbeelding + + + Copy image to clipboard + Kopiëer afbeelding naar klembord + + + Copy image url + URL afbeelding kopiëren + + + Copy image url to clipboard + URL afbeelding naar klembord kopiëren + + + Open link in new tab + Open link in nieuw tabblad + + + Open this hyperlink in new tab + Open deze koppeling in nieuw tabblad + + + Follow link + Volg koppeling + + + Open the hyperlink in this tab + Open koppeling in dit tabblad + + + Open image in new tab + Open afbeelding in nieuw tabblad + + + Open this image in this tab + Open deze afbeelding in dit 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 + + + Image + Afbeelding + + + Hyperlink + Koppeling + + diff --git a/src/core/defs.h.in b/src/core/defs.h.in index dd1726036..f9566788d 100755 --- a/src/core/defs.h.in +++ b/src/core/defs.h.in @@ -22,12 +22,13 @@ #define APP_VERSION "@APP_VERSION@" #define APP_USERAGENT QString("@APP_NAME@/@APP_VERSION@ (@APP_URL@) on @CMAKE_SYSTEM@; Webkit/") + qWebKitVersion() -#define TEXT_TITLE_LIMIT 30 -#define MAX_ZOOM_FACTOR 10.0 -#define ICON_SIZE_SETTINGS 16 -#define DATABASE_DRIVER "QSQLITE" +#define TEXT_TITLE_LIMIT 30 +#define MAX_ZOOM_FACTOR 10.0 +#define ICON_SIZE_SETTINGS 16 +#define DATABASE_DRIVER "QSQLITE" #define NO_PARENT_CATEGORY -1 #define TRAY_ICON_BUBBLE_TIMEOUT 15000 +#define KEY_MESSAGES_VIEW "messages_view_column_" #define APP_DB_INIT_FILE "db_init.sql" #define APP_DB_INIT_SPLIT "-- !\n" diff --git a/src/core/parsingfactory.h b/src/core/parsingfactory.h index 06fec1560..391e6c9f7 100644 --- a/src/core/parsingfactory.h +++ b/src/core/parsingfactory.h @@ -8,10 +8,10 @@ class ParsingFactory { private: - ParsingFactory(); + explicit ParsingFactory(); public: - // Parses inpute textual data into Message objects. + // Parses input textual data into Message objects. // NOTE: Input is correctly encoded in Unicode. static QList parseAsRSS20(const QString &data); }; diff --git a/src/gui/feedmessageviewer.cpp b/src/gui/feedmessageviewer.cpp index c754181d8..2b59e5190 100644 --- a/src/gui/feedmessageviewer.cpp +++ b/src/gui/feedmessageviewer.cpp @@ -28,7 +28,7 @@ FeedMessageViewer::FeedMessageViewer(QWidget *parent) m_messagesBrowser(new WebBrowser(this)) { initialize(); initializeViews(); - createConnections(); + createConnections(); } FeedMessageViewer::~FeedMessageViewer() { @@ -36,17 +36,43 @@ FeedMessageViewer::~FeedMessageViewer() { } void FeedMessageViewer::saveSize() { - Settings::getInstance()->setValue(APP_CFG_GUI, - "splitter_feeds", - m_feedSplitter->saveState()); - Settings::getInstance()->setValue(APP_CFG_GUI, - "splitter_messages", - m_messageSplitter->saveState()); + Settings *settings = Settings::getInstance(); + + // Store offsets of splitters. + settings->setValue(APP_CFG_GUI, + "splitter_feeds", + m_feedSplitter->saveState()); + settings->setValue(APP_CFG_GUI, + "splitter_messages", + m_messageSplitter->saveState()); + + // States of splitters are stored, let's store + // widths of columns. + settings->setValue(APP_CFG_GUI, + KEY_MESSAGES_VIEW + QString::number(MSG_DB_AUTHOR_INDEX), + m_messagesView->columnWidth(MSG_DB_AUTHOR_INDEX)); + settings->setValue(APP_CFG_GUI, + KEY_MESSAGES_VIEW + QString::number(MSG_DB_DUPDATED_INDEX), + m_messagesView->columnWidth(MSG_DB_DUPDATED_INDEX)); } void FeedMessageViewer::loadSize() { - m_feedSplitter->restoreState(Settings::getInstance()->value(APP_CFG_GUI, "splitter_feeds").toByteArray()); - m_messageSplitter->restoreState(Settings::getInstance()->value(APP_CFG_GUI, "splitter_messages").toByteArray()); + Settings *settings = Settings::getInstance(); + int default_msg_section_size = m_messagesView->header()->defaultSectionSize(); + + // Restore offsets of splitters. + m_feedSplitter->restoreState(settings->value(APP_CFG_GUI, "splitter_feeds").toByteArray()); + m_messageSplitter->restoreState(settings->value(APP_CFG_GUI, "splitter_messages").toByteArray()); + + // Splitters are restored, now, restore widths of columns. + m_messagesView->setColumnWidth(MSG_DB_AUTHOR_INDEX, + settings->value(APP_CFG_GUI, + KEY_MESSAGES_VIEW + QString::number(MSG_DB_AUTHOR_INDEX), + default_msg_section_size).toInt()); + m_messagesView->setColumnWidth(MSG_DB_DUPDATED_INDEX, + settings->value(APP_CFG_GUI, + KEY_MESSAGES_VIEW + QString::number(MSG_DB_DUPDATED_INDEX), + default_msg_section_size).toInt()); } void FeedMessageViewer::createConnections() { diff --git a/src/gui/feedsview.cpp b/src/gui/feedsview.cpp index bb60b42fc..02dd73c1f 100644 --- a/src/gui/feedsview.cpp +++ b/src/gui/feedsview.cpp @@ -35,15 +35,14 @@ QList FeedsView::selectedFeeds() const { } void FeedsView::updateCountsOfSelectedFeeds() { - QModelIndexList selected_rows = selectionModel()->selectedRows(); - QModelIndexList mapped_rows = m_proxyModel->mapListToSource(selected_rows); - QList feeds = m_sourceModel->feedsForIndexes(mapped_rows); + QList feeds = selectedFeeds(); foreach (FeedsModelFeed *feed, feeds) { feed->updateCounts(); } - m_sourceModel->reloadChangedLayout(mapped_rows); + // Make sure that selected view reloads changed indexes. + m_sourceModel->reloadChangedLayout(m_proxyModel->mapListToSource(selectionModel()->selectedRows())); } void FeedsView::setupAppearance() { diff --git a/src/gui/formmain.cpp b/src/gui/formmain.cpp index eb1391513..9a6408c35 100755 --- a/src/gui/formmain.cpp +++ b/src/gui/formmain.cpp @@ -233,12 +233,15 @@ void FormMain::setupIcons() { void FormMain::loadSize() { QRect screen = qApp->desktop()->screenGeometry(); + // Reload main window size & position. resize(Settings::getInstance()->value(APP_CFG_GUI, "window_size", size()).toSize()); move(Settings::getInstance()->value(APP_CFG_GUI, "window_position", screen.center() - rect().center()).toPoint()); + + // Adjust dimensions of "feeds & messages" widget. m_ui->m_tabWidget->feedMessageViewer()->loadSize(); } diff --git a/src/gui/locationlineedit.cpp b/src/gui/locationlineedit.cpp index 53c341b72..f79434e10 100644 --- a/src/gui/locationlineedit.cpp +++ b/src/gui/locationlineedit.cpp @@ -60,7 +60,7 @@ void LocationLineEdit::paintEvent(QPaintEvent *event) { QPalette current_palette = palette(); QColor loadingColor = settings->value(APP_CFG_BROWSER, "browser_progress_color", - QColor(0, 100, 0, 100)).value(); + QColor(59, 94, 248, 70)).value(); QLinearGradient gradient(0, 0, width(), 0); qreal percentage_border = m_progress / 100.0; diff --git a/src/gui/messagesview.cpp b/src/gui/messagesview.cpp index fee539f85..737f9f1da 100644 --- a/src/gui/messagesview.cpp +++ b/src/gui/messagesview.cpp @@ -88,6 +88,7 @@ void MessagesView::setupAppearance() { hideColumn(MSG_DB_DELETED_INDEX); hideColumn(MSG_DB_FEED_INDEX); hideColumn(MSG_DB_URL_INDEX); + hideColumn(MSG_DB_DCREATED_INDEX); hideColumn(MSG_DB_CONTENTS_INDEX); } diff --git a/src/gui/webbrowser.cpp b/src/gui/webbrowser.cpp index 0eaa640f4..fc09d390e 100644 --- a/src/gui/webbrowser.cpp +++ b/src/gui/webbrowser.cpp @@ -5,7 +5,7 @@ #include "core/webbrowsernetworkaccessmanager.h" #include "core/basewebpage.h" #include "gui/skinfactory.h" -#include "gui/basewebview.h" +#include "gui/webview.h" #include "gui/formmain.h" #include "gui/locationlineedit.h" #include "gui/iconthemefactory.h" @@ -31,7 +31,7 @@ WebBrowser::WebBrowser(QWidget *parent) : TabContent(parent), m_layout(new QVBoxLayout(this)), m_toolBar(new QToolBar(tr("Navigation panel"), this)), - m_webView(new BaseWebView(this)), + m_webView(new WebView(this)), m_txtLocation(new LocationLineEdit(this)), m_actionBack(m_webView->pageAction(QWebPage::Back)), m_actionForward(m_webView->pageAction(QWebPage::Forward)), diff --git a/src/gui/webbrowser.h b/src/gui/webbrowser.h index 476057c42..4702c4197 100644 --- a/src/gui/webbrowser.h +++ b/src/gui/webbrowser.h @@ -14,7 +14,7 @@ class QToolButton; class QWidgetAction; class QVBoxLayout; class LocationLineEdit; -class BaseWebView; +class WebView; class WebBrowserNetworkAccessManager; class QMenu; class TabWidget; @@ -98,7 +98,7 @@ class WebBrowser : public TabContent { private: QVBoxLayout *m_layout; QToolBar *m_toolBar; - BaseWebView *m_webView; + WebView *m_webView; LocationLineEdit *m_txtLocation; QWidget *m_zoomButtons; QToolButton *m_btnResetZoom; diff --git a/src/gui/basewebview.cpp b/src/gui/webview.cpp similarity index 92% rename from src/gui/basewebview.cpp rename to src/gui/webview.cpp index ca952e220..483444ada 100644 --- a/src/gui/basewebview.cpp +++ b/src/gui/webview.cpp @@ -1,4 +1,4 @@ -#include "gui/basewebview.h" +#include "gui/webview.h" #include "core/defs.h" #include "core/settings.h" @@ -16,7 +16,7 @@ #include -BaseWebView::BaseWebView(QWidget *parent) +WebView::WebView(QWidget *parent) : QWebView(parent), m_page(new BaseWebPage(this)) { setPage(m_page); setContextMenuPolicy(Qt::CustomContextMenu); @@ -24,26 +24,26 @@ BaseWebView::BaseWebView(QWidget *parent) createConnections(); } -BaseWebView::~BaseWebView() { +WebView::~WebView() { qDebug("Destroying BaseWebView."); } -void BaseWebView::onLoadFinished(bool ok) { +void WebView::onLoadFinished(bool ok) { // If page was not loaded, then display custom error page. if (!ok) { displayErrorPage(); } } -void BaseWebView::openLinkInNewTab() { +void WebView::openLinkInNewTab() { emit linkMiddleClicked(m_contextLinkUrl); } -void BaseWebView::openImageInNewTab() { +void WebView::openImageInNewTab() { emit linkMiddleClicked(m_contextImageUrl); } -void BaseWebView::createConnections() { +void WebView::createConnections() { connect(this, SIGNAL(loadFinished(bool)), this, SLOT(onLoadFinished(bool))); connect(this, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(popupContextMenu(QPoint))); @@ -52,7 +52,7 @@ void BaseWebView::createConnections() { connect(m_actionOpenImageNewTab, SIGNAL(triggered()), this, SLOT(openImageInNewTab())); } -void BaseWebView::setupIcons() { +void WebView::setupIcons() { m_actionReload->setIcon(IconThemeFactory::getInstance()->fromTheme("view-refresh")); m_actionCopyLink->setIcon(IconThemeFactory::getInstance()->fromTheme("edit-copy")); m_actionCopyImage->setIcon(IconThemeFactory::getInstance()->fromTheme("insert-image")); @@ -66,7 +66,7 @@ void BaseWebView::setupIcons() { m_actionOpenImageNewTab->setIcon(IconThemeFactory::getInstance()->fromTheme("insert-image")); } -void BaseWebView::initializeActions() { +void WebView::initializeActions() { // Create needed actions. m_actionReload = pageAction(QWebPage::Reload); m_actionReload->setParent(this); @@ -106,7 +106,7 @@ void BaseWebView::initializeActions() { m_actionOpenImageNewTab->setToolTip(tr("Open this image in this tab")); } -void BaseWebView::displayErrorPage() { +void WebView::displayErrorPage() { setHtml(SkinFactory::getInstance()->getCurrentMarkup().arg(tr("Page not found"), tr("Check your internet connection or website address"), QString(), @@ -120,7 +120,7 @@ void BaseWebView::displayErrorPage() { QDateTime::currentDateTime().toString(Qt::DefaultLocaleLongDate))); } -void BaseWebView::popupContextMenu(const QPoint &pos) { +void WebView::popupContextMenu(const QPoint &pos) { QMenu context_menu(tr("Web browser"), this); QMenu image_submenu(tr("Image"), &context_menu); QMenu link_submenu(tr("Hyperlink"), this); @@ -163,7 +163,7 @@ void BaseWebView::popupContextMenu(const QPoint &pos) { context_menu.exec(mapToGlobal(pos)); } -void BaseWebView::mousePressEvent(QMouseEvent *event) { +void WebView::mousePressEvent(QMouseEvent *event) { if (event->button() & Qt::LeftButton && event->modifiers() & Qt::ControlModifier) { QWebHitTestResult hit_result = page()->mainFrame()->hitTestContent(event->pos()); @@ -190,7 +190,7 @@ void BaseWebView::mousePressEvent(QMouseEvent *event) { QWebView::mousePressEvent(event); } -void BaseWebView::mouseReleaseEvent(QMouseEvent *event) { +void WebView::mouseReleaseEvent(QMouseEvent *event) { if (event->button() & Qt::MiddleButton) { bool are_gestures_enabled = Settings::getInstance()->value(APP_CFG_BROWSER, "gestures_enabled", @@ -223,7 +223,7 @@ void BaseWebView::mouseReleaseEvent(QMouseEvent *event) { QWebView::mouseReleaseEvent(event); } -void BaseWebView::wheelEvent(QWheelEvent *event) { +void WebView::wheelEvent(QWheelEvent *event) { if (event->modifiers() & Qt::ControlModifier) { if (event->delta() > 0) { increaseWebPageZoom(); @@ -240,7 +240,7 @@ void BaseWebView::wheelEvent(QWheelEvent *event) { QWebView::wheelEvent(event); } -void BaseWebView::paintEvent(QPaintEvent *event) { +void WebView::paintEvent(QPaintEvent *event) { QWebView::paintEvent(event); // Draw additional frame. @@ -261,7 +261,7 @@ void BaseWebView::paintEvent(QPaintEvent *event) { */ } -bool BaseWebView::increaseWebPageZoom() { +bool WebView::increaseWebPageZoom() { qreal new_factor = zoomFactor() + 0.1; if (new_factor >= 0.0 && new_factor <= MAX_ZOOM_FACTOR) { @@ -273,7 +273,7 @@ bool BaseWebView::increaseWebPageZoom() { } } -bool BaseWebView::decreaseWebPageZoom() { +bool WebView::decreaseWebPageZoom() { qreal new_factor = zoomFactor() - 0.1; if (new_factor >= 0.0 && new_factor <= MAX_ZOOM_FACTOR) { @@ -285,7 +285,7 @@ bool BaseWebView::decreaseWebPageZoom() { } } -bool BaseWebView::resetWebPageZoom() { +bool WebView::resetWebPageZoom() { qreal new_factor = 1.0; if (new_factor != zoomFactor()) { diff --git a/src/gui/basewebview.h b/src/gui/webview.h similarity index 93% rename from src/gui/basewebview.h rename to src/gui/webview.h index ae7a98994..17ccb8c9f 100644 --- a/src/gui/basewebview.h +++ b/src/gui/webview.h @@ -8,13 +8,13 @@ class QAction; class QPaintEvent; class BaseWebPage; -class BaseWebView : public QWebView { +class WebView : public QWebView { Q_OBJECT public: // Constructors and destructors. - explicit BaseWebView(QWidget *parent = 0); - virtual ~BaseWebView(); + explicit WebView(QWidget *parent = 0); + virtual ~WebView(); void setupIcons(); @@ -30,6 +30,7 @@ class BaseWebView : public QWebView { void zoomFactorChanged(); public slots: + // Page zoom modifiers. bool increaseWebPageZoom(); bool decreaseWebPageZoom(); bool resetWebPageZoom();