From 73dd31e285a814b9dbf7cf27e5d95cb6e33bfa2c Mon Sep 17 00:00:00 2001 From: Martin Rotter Date: Mon, 8 Jul 2013 20:58:24 +0200 Subject: [PATCH] Added initial stuff for web browsing. --- CMakeLists.txt | 4 + src/core/basenetworkaccessmanager.cpp | 9 + src/core/basenetworkaccessmanager.h | 2 +- src/gui/basewebview.cpp | 5 + src/gui/basewebview.h | 18 ++ src/gui/dynamicshortcutswidget.cpp | 31 +++- src/gui/dynamicshortcutswidget.h | 4 +- src/gui/formmain.ui | 252 ++++++-------------------- src/gui/webbrowser.cpp | 5 + src/gui/webbrowser.h | 18 ++ 10 files changed, 150 insertions(+), 198 deletions(-) create mode 100644 src/gui/basewebview.cpp create mode 100644 src/gui/basewebview.h create mode 100644 src/gui/webbrowser.cpp create mode 100644 src/gui/webbrowser.h diff --git a/CMakeLists.txt b/CMakeLists.txt index ddc955420..4fe278d5b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -167,6 +167,8 @@ set(APP_SOURCES src/gui/shortcutcatcher.cpp src/gui/shortcutbutton.cpp src/gui/dynamicshortcutswidget.cpp + src/gui/webbrowser.cpp + src/gui/basewebview.cpp # CORE sources. src/core/debugging.cpp @@ -199,6 +201,8 @@ set(APP_HEADERS src/gui/shortcutcatcher.h src/gui/shortcutbutton.h src/gui/dynamicshortcutswidget.h + src/gui/webbrowser.h + src/gui/basewebview.h # CORE headers. src/core/basenetworkaccessmanager.h diff --git a/src/core/basenetworkaccessmanager.cpp b/src/core/basenetworkaccessmanager.cpp index e68f5e1d1..532715cb6 100644 --- a/src/core/basenetworkaccessmanager.cpp +++ b/src/core/basenetworkaccessmanager.cpp @@ -1,6 +1,15 @@ +#include + +#include "core/settings.h" +#include "core/defs.h" #include "core/basenetworkaccessmanager.h" BaseNetworkAccessManager::BaseNetworkAccessManager(QObject *parent) : QNetworkAccessManager(parent) { } + +void BaseNetworkAccessManager::loadSettings() { + QNetworkProxy new_proxy; + // TODO: Continue here. +} diff --git a/src/core/basenetworkaccessmanager.h b/src/core/basenetworkaccessmanager.h index 8780f6a1a..17e06ea6f 100644 --- a/src/core/basenetworkaccessmanager.h +++ b/src/core/basenetworkaccessmanager.h @@ -12,7 +12,7 @@ class BaseNetworkAccessManager : public QNetworkAccessManager { signals: public slots: - + void loadSettings(); }; #endif // BASENETWORKACCESSMANAGER_H diff --git a/src/gui/basewebview.cpp b/src/gui/basewebview.cpp new file mode 100644 index 000000000..69761b457 --- /dev/null +++ b/src/gui/basewebview.cpp @@ -0,0 +1,5 @@ +#include "gui/basewebview.h" + + +BaseWebView::BaseWebView(QWidget *parent) : QWebView(parent) { +} diff --git a/src/gui/basewebview.h b/src/gui/basewebview.h new file mode 100644 index 000000000..fbb79bae9 --- /dev/null +++ b/src/gui/basewebview.h @@ -0,0 +1,18 @@ +#ifndef BASEWEBVIEW_H +#define BASEWEBVIEW_H + +#include + + +class BaseWebView : public QWebView { + Q_OBJECT + public: + explicit BaseWebView(QWidget *parent = 0); + + signals: + + public slots: + +}; + +#endif // BASEWEBVIEW_H diff --git a/src/gui/dynamicshortcutswidget.cpp b/src/gui/dynamicshortcutswidget.cpp index 764d6a525..4ea5153bf 100644 --- a/src/gui/dynamicshortcutswidget.cpp +++ b/src/gui/dynamicshortcutswidget.cpp @@ -1,5 +1,7 @@ -#include +#include #include +#include +#include #include "gui/dynamicshortcutswidget.h" #include "gui/shortcutcatcher.h" @@ -7,7 +9,7 @@ DynamicShortcutsWidget::DynamicShortcutsWidget(QWidget *parent) : QWidget(parent) { // Create layout for this control and set is as active. - m_layout = new QFormLayout(this); + m_layout = new QGridLayout(this); m_layout->setMargin(0); setLayout(m_layout); @@ -26,6 +28,10 @@ void DynamicShortcutsWidget::updateShortcuts() { void DynamicShortcutsWidget::populate(const QList actions) { m_actionBindings.clear(); + // TODO: Make labels smaller correctly and review this method. + int row_id = 0; + bool second_column = false; + foreach (QAction *action, actions) { // Create shortcut catcher for this action and set default shortcut. ShortcutCatcher *catcher = new ShortcutCatcher(this); @@ -40,6 +46,25 @@ void DynamicShortcutsWidget::populate(const QList actions) { m_actionBindings << new_binding; // Add new catcher to our control. - m_layout->addRow(action->text(), catcher); + QLabel *label = new QLabel(this); + label->setText(action->text().remove('&')); + label->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Preferred); + + if (second_column) { + m_layout->addWidget(label, row_id, 2); + m_layout->addWidget(catcher, row_id, 3); + second_column = false; + + // Continue to the next row. + row_id++; + } + else { + m_layout->addWidget(label, row_id, 0); + m_layout->addWidget(catcher, row_id, 1); + second_column = true; + } } + + // Make sure that "spacer" is added. + m_layout->setRowStretch(row_id, 1); } diff --git a/src/gui/dynamicshortcutswidget.h b/src/gui/dynamicshortcutswidget.h index d3b28d1f0..dc7fe821c 100644 --- a/src/gui/dynamicshortcutswidget.h +++ b/src/gui/dynamicshortcutswidget.h @@ -4,7 +4,7 @@ #include -class QFormLayout; +class QGridLayout; class ShortcutCatcher; typedef QPair ActionBinding; @@ -29,7 +29,7 @@ class DynamicShortcutsWidget : public QWidget { void populate(const QList actions); private: - QFormLayout *m_layout; + QGridLayout *m_layout; QList m_actionBindings; }; diff --git a/src/gui/formmain.ui b/src/gui/formmain.ui index 13d9cf3a2..2626c306f 100644 --- a/src/gui/formmain.ui +++ b/src/gui/formmain.ui @@ -14,198 +14,66 @@ MainWindow - - - - 40 - 20 - 61 - 51 - - - - ... - - - - - - - - - 32 - 32 - - - - - - - 140 - 120 - 61 - 51 - - - - ... - - - - - - - - - 20 - 20 - - - - - - - 170 - 30 - 61 - 51 - - - - ... - - - - - - - - - 20 - 20 - - - - - - - 40 - 200 - 171 - 141 - - - - ... - - - - - - - - - 48 - 48 - - - - - - - 400 - 10 - 61 - 51 - - - - ... - - - - - - - - - 64 - 64 - - - - - - - 250 - 190 - 231 - 161 - - - - ... - - - - - - - - - 96 - 96 - - - - - - - 520 - 160 - 161 - 151 - - - - ... - - - - - - - - - 128 - 128 - - - - - - - 540 - 60 - 61 - 51 - - - - ... - - - - - - - - - 32 - 32 - - - + + + + + 0 + + + + Tab 1 + + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + + + + Tab 2 + + + + + 140 + 110 + 61 + 51 + + + + ... + + + + + + + + + 32 + 32 + + + + + + + diff --git a/src/gui/webbrowser.cpp b/src/gui/webbrowser.cpp new file mode 100644 index 000000000..5ca34c6fa --- /dev/null +++ b/src/gui/webbrowser.cpp @@ -0,0 +1,5 @@ +#include "gui/webbrowser.h" + + +WebBrowser::WebBrowser(QWidget *parent) : QWidget(parent) { +} diff --git a/src/gui/webbrowser.h b/src/gui/webbrowser.h new file mode 100644 index 000000000..6d6fd0863 --- /dev/null +++ b/src/gui/webbrowser.h @@ -0,0 +1,18 @@ +#ifndef FORMBROWSER_H +#define FORMBROWSER_H + +#include + + +class WebBrowser : public QWidget { + Q_OBJECT + public: + explicit WebBrowser(QWidget *parent = 0); + + signals: + + public slots: + +}; + +#endif // FORMBROWSER_H