diff --git a/resources/text/CHANGELOG b/resources/text/CHANGELOG
index 76f79217d..5810a92f3 100644
--- a/resources/text/CHANGELOG
+++ b/resources/text/CHANGELOG
@@ -7,6 +7,9 @@ Fixed:
Added:
+
+- Added "Web browser" menu to corner main menu button.
+
Changed:
diff --git a/src/gui/tabwidget.cpp b/src/gui/tabwidget.cpp
index b81c43175..57de3c2ac 100644
--- a/src/gui/tabwidget.cpp
+++ b/src/gui/tabwidget.cpp
@@ -75,6 +75,7 @@ void TabWidget::openMainMenu() {
m_menuMain->addMenu(FormMain::instance()->m_ui->m_menuView);
m_menuMain->addMenu(FormMain::instance()->m_ui->m_menuFeeds);
m_menuMain->addMenu(FormMain::instance()->m_ui->m_menuMessages);
+ m_menuMain->addMenu(FormMain::instance()->m_ui->m_menuWebBrowser);
m_menuMain->addMenu(FormMain::instance()->m_ui->m_menuTools);
m_menuMain->addMenu(FormMain::instance()->m_ui->m_menuHelp);
}
diff --git a/src/gui/webbrowser.cpp b/src/gui/webbrowser.cpp
index 44b9ca97d..1e0f520f6 100644
--- a/src/gui/webbrowser.cpp
+++ b/src/gui/webbrowser.cpp
@@ -27,12 +27,14 @@
#include "gui/tabwidget.h"
#include
+#include
#include
#include
#include
#include
#include
#include
+#include
#include
@@ -123,29 +125,55 @@ void WebBrowser::initializeLayout() {
m_toolBar->addAction(m_actionStop);
m_toolBar->addWidget(m_txtLocation);
+ // Initialize dynamic progress bar which will be displayed
+ // at the bottom of web browser.
+ m_lblProgress = new QLabel(this);
+ m_loadingProgress = new QProgressBar(this);
+ m_loadingProgress->setFixedHeight(15);
+ m_loadingProgress->setMinimum(0);
+ m_loadingProgress->setMaximum(100);
+ m_loadingProgress->setVisible(true);
+
+ m_loadingLayout = new QHBoxLayout();
+ m_loadingLayout->setMargin(0);
+ m_loadingLayout->addWidget(m_lblProgress, 0, Qt::AlignLeft|Qt::AlignVCenter);
+ m_loadingProgress->setLayout(m_loadingLayout);
+
// Setup layout.
m_layout->addWidget(m_toolBar);
m_layout->addWidget(m_webView);
+ m_layout->addWidget(m_loadingProgress);
m_layout->setMargin(0);
m_layout->setSpacing(0);
}
+void WebBrowser::onLoadingStarted() {
+
+}
+
+void WebBrowser::onLoadingProgress(int progress) {
+ m_txtLocation->setProgress(progress);
+}
+
+void WebBrowser::onLoadingFinished(bool success) {
+ m_txtLocation->clearProgress();
+}
+
void WebBrowser::createConnections() {
// When user confirms new url, then redirect to it.
- connect(m_txtLocation,SIGNAL(submitted(QString)),
- this, SLOT(navigateToUrl(QString)));
+ connect(m_txtLocation,SIGNAL(submitted(QString)), this, SLOT(navigateToUrl(QString)));
// If new page loads, then update current url.
connect(m_webView, SIGNAL(urlChanged(QUrl)), this, SLOT(updateUrl(QUrl)));
// Connect this WebBrowser to global TabWidget.
TabWidget *tab_widget = FormMain::instance()->tabWidget();
connect(m_webView, SIGNAL(newTabRequested()), tab_widget, SLOT(addEmptyBrowser()));
- connect(m_webView, SIGNAL(linkMiddleClicked(QUrl)),
- tab_widget, SLOT(addLinkedBrowser(QUrl)));
+ connect(m_webView, SIGNAL(linkMiddleClicked(QUrl)), tab_widget, SLOT(addLinkedBrowser(QUrl)));
// Change location textbox status according to webpage status.
- connect(m_webView, SIGNAL(loadProgress(int)), m_txtLocation, SLOT(setProgress(int)));
- connect(m_webView, SIGNAL(loadFinished(bool)), m_txtLocation, SLOT(clearProgress()));
+ connect(m_webView, SIGNAL(loadStarted()), this, SLOT(onLoadingStarted()));
+ connect(m_webView, SIGNAL(loadProgress(int)), this, SLOT(onLoadingProgress(int)));
+ connect(m_webView, SIGNAL(loadFinished(bool)), this, SLOT(onLoadingFinished(bool)));
// Forward title/icon changes.
connect(m_webView, SIGNAL(titleChanged(QString)), this, SLOT(onTitleChanged(QString)));
diff --git a/src/gui/webbrowser.h b/src/gui/webbrowser.h
index 38e005b7b..28a8d3399 100644
--- a/src/gui/webbrowser.h
+++ b/src/gui/webbrowser.h
@@ -31,7 +31,10 @@
class QToolButton;
class QVBoxLayout;
+class QHBoxLayout;
+class QProgressBar;
class QMenu;
+class QLabel;
class WebBrowserNetworkAccessManager;
class TabWidget;
@@ -111,6 +114,10 @@ class WebBrowser : public TabContent {
void initializeLayout();
protected slots:
+ void onLoadingStarted();
+ void onLoadingProgress(int progress);
+ void onLoadingFinished(bool success);
+
// Updates zoom-related gui.
void updateZoomGui();
@@ -138,6 +145,9 @@ class WebBrowser : public TabContent {
LocationLineEdit *m_txtLocation;
QWidget *m_zoomButtons;
QToolButton *m_btnResetZoom;
+ QHBoxLayout *m_loadingLayout;
+ QProgressBar *m_loadingProgress;
+ QLabel *m_lblProgress;
QWidgetAction *m_actionZoom;
QAction *m_actionBack;