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();