Added some widgets.
This commit is contained in:
parent
db554557bf
commit
e95956cca6
@ -192,6 +192,8 @@ set(APP_SOURCES
|
|||||||
src/gui/tabcontent.cpp
|
src/gui/tabcontent.cpp
|
||||||
src/gui/cornerbutton.cpp
|
src/gui/cornerbutton.cpp
|
||||||
src/gui/feedmessageviewer.cpp
|
src/gui/feedmessageviewer.cpp
|
||||||
|
src/gui/feedsview.cpp
|
||||||
|
src/gui/messagesview.cpp
|
||||||
|
|
||||||
# CORE sources.
|
# CORE sources.
|
||||||
src/core/debugging.cpp
|
src/core/debugging.cpp
|
||||||
@ -239,6 +241,8 @@ set(APP_HEADERS
|
|||||||
src/gui/tabcontent.h
|
src/gui/tabcontent.h
|
||||||
src/gui/cornerbutton.h
|
src/gui/cornerbutton.h
|
||||||
src/gui/feedmessageviewer.h
|
src/gui/feedmessageviewer.h
|
||||||
|
src/gui/feedsview.h
|
||||||
|
src/gui/messagesview.h
|
||||||
|
|
||||||
# CORE headers.
|
# CORE headers.
|
||||||
src/core/settings.h
|
src/core/settings.h
|
||||||
|
@ -1,9 +1,53 @@
|
|||||||
|
#include <QVBoxLayout>
|
||||||
|
#include <QHBoxLayout>
|
||||||
|
#include <QSplitter>
|
||||||
|
#include <QApplication>
|
||||||
|
|
||||||
#include "gui/feedmessageviewer.h"
|
#include "gui/feedmessageviewer.h"
|
||||||
#include "gui/webbrowser.h"
|
#include "gui/webbrowser.h"
|
||||||
|
#include "gui/messagesview.h"
|
||||||
|
#include "gui/feedsview.h"
|
||||||
|
|
||||||
|
|
||||||
FeedMessageViewer::FeedMessageViewer(QWidget *parent) : TabContent(parent)
|
FeedMessageViewer::FeedMessageViewer(QWidget *parent)
|
||||||
|
: TabContent(parent),
|
||||||
|
m_messagesView(new MessagesView(this)),
|
||||||
|
m_feedsView(new FeedsView(this)),
|
||||||
|
m_messagesBrowser(new WebBrowser(this))
|
||||||
{
|
{
|
||||||
|
initializeViews();
|
||||||
|
}
|
||||||
|
|
||||||
|
void FeedMessageViewer::initializeViews() {
|
||||||
|
// Instantiate needed components.
|
||||||
|
QHBoxLayout *vertical_layout = new QHBoxLayout(this);
|
||||||
|
QSplitter *vertical_splitter = new QSplitter(Qt::Horizontal, this);
|
||||||
|
QSplitter *message_splitter = new QSplitter(Qt::Vertical, this);
|
||||||
|
|
||||||
|
// Set layout properties.
|
||||||
|
vertical_layout->setMargin(0);
|
||||||
|
vertical_layout->setSpacing(0);
|
||||||
|
|
||||||
|
// Set views.
|
||||||
|
m_feedsView->setFrameStyle(QFrame::NoFrame);
|
||||||
|
m_messagesView->setFrameStyle(QFrame::NoFrame);
|
||||||
|
|
||||||
|
// setup splitters.
|
||||||
|
message_splitter->setHandleWidth(1);
|
||||||
|
message_splitter->setChildrenCollapsible(false);
|
||||||
|
message_splitter->setStretchFactor(0, 1);
|
||||||
|
message_splitter->addWidget(m_messagesView);
|
||||||
|
message_splitter->addWidget(m_messagesBrowser);
|
||||||
|
|
||||||
|
vertical_splitter->setHandleWidth(1);
|
||||||
|
vertical_splitter->setChildrenCollapsible(false);
|
||||||
|
vertical_splitter->setStretchFactor(0, 1);
|
||||||
|
vertical_splitter->addWidget(m_feedsView);
|
||||||
|
vertical_splitter->addWidget(message_splitter);
|
||||||
|
vertical_layout->addWidget(vertical_splitter);
|
||||||
|
|
||||||
|
// Set layout as active.
|
||||||
|
setLayout(vertical_layout);
|
||||||
}
|
}
|
||||||
|
|
||||||
FeedMessageViewer::~FeedMessageViewer() {
|
FeedMessageViewer::~FeedMessageViewer() {
|
||||||
@ -11,5 +55,5 @@ FeedMessageViewer::~FeedMessageViewer() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
WebBrowser *FeedMessageViewer::webBrowser() {
|
WebBrowser *FeedMessageViewer::webBrowser() {
|
||||||
return NULL;
|
return m_messagesBrowser;
|
||||||
}
|
}
|
||||||
|
@ -5,6 +5,8 @@
|
|||||||
|
|
||||||
|
|
||||||
class WebBrowser;
|
class WebBrowser;
|
||||||
|
class FeedsView;
|
||||||
|
class MessagesView;
|
||||||
|
|
||||||
class FeedMessageViewer : public TabContent {
|
class FeedMessageViewer : public TabContent {
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
@ -13,12 +15,15 @@ class FeedMessageViewer : public TabContent {
|
|||||||
explicit FeedMessageViewer(QWidget *parent = 0);
|
explicit FeedMessageViewer(QWidget *parent = 0);
|
||||||
virtual ~FeedMessageViewer();
|
virtual ~FeedMessageViewer();
|
||||||
|
|
||||||
WebBrowser *webBrowser();
|
WebBrowser *webBrowser();
|
||||||
|
|
||||||
signals:
|
protected:
|
||||||
|
void initializeViews();
|
||||||
public slots:
|
|
||||||
|
|
||||||
|
private:
|
||||||
|
MessagesView *m_messagesView;
|
||||||
|
FeedsView *m_feedsView;
|
||||||
|
WebBrowser *m_messagesBrowser;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // FEEDMESSAGEVIEWER_H
|
#endif // FEEDMESSAGEVIEWER_H
|
||||||
|
9
src/gui/feedsview.cpp
Normal file
9
src/gui/feedsview.cpp
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
#include "gui/feedsview.h"
|
||||||
|
|
||||||
|
|
||||||
|
FeedsView::FeedsView(QWidget *parent) : QTreeView(parent) {
|
||||||
|
}
|
||||||
|
|
||||||
|
FeedsView::~FeedsView() {
|
||||||
|
qDebug("Destroying FeedsView instance.");
|
||||||
|
}
|
20
src/gui/feedsview.h
Normal file
20
src/gui/feedsview.h
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
#ifndef FEEDSVIEW_H
|
||||||
|
#define FEEDSVIEW_H
|
||||||
|
|
||||||
|
#include <QTreeView>
|
||||||
|
|
||||||
|
|
||||||
|
class FeedsView : public QTreeView {
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
public:
|
||||||
|
explicit FeedsView(QWidget *parent = 0);
|
||||||
|
virtual ~FeedsView();
|
||||||
|
|
||||||
|
signals:
|
||||||
|
|
||||||
|
public slots:
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // FEEDSVIEW_H
|
9
src/gui/messagesview.cpp
Normal file
9
src/gui/messagesview.cpp
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
#include "gui/messagesview.h"
|
||||||
|
|
||||||
|
|
||||||
|
MessagesView::MessagesView(QWidget *parent) : QTreeView(parent) {
|
||||||
|
}
|
||||||
|
|
||||||
|
MessagesView::~MessagesView() {
|
||||||
|
qDebug("Destroying MessagesView instance.");
|
||||||
|
}
|
20
src/gui/messagesview.h
Normal file
20
src/gui/messagesview.h
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
#ifndef MESSAGESVIEW_H
|
||||||
|
#define MESSAGESVIEW_H
|
||||||
|
|
||||||
|
#include <QTreeView>
|
||||||
|
|
||||||
|
|
||||||
|
class MessagesView : public QTreeView {
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
public:
|
||||||
|
explicit MessagesView(QWidget *parent = 0);
|
||||||
|
virtual ~MessagesView();
|
||||||
|
|
||||||
|
signals:
|
||||||
|
|
||||||
|
public slots:
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // MESSAGESVIEW_H
|
@ -12,7 +12,6 @@
|
|||||||
QPointer<SkinFactory> SkinFactory::s_instance;
|
QPointer<SkinFactory> SkinFactory::s_instance;
|
||||||
|
|
||||||
SkinFactory::SkinFactory(QObject *parent) : QObject(parent) {
|
SkinFactory::SkinFactory(QObject *parent) : QObject(parent) {
|
||||||
m_currentSkin = generateDefaultSkin();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
SkinFactory::~SkinFactory() {
|
SkinFactory::~SkinFactory() {
|
||||||
@ -31,6 +30,8 @@ void SkinFactory::loadCurrentSkin() {
|
|||||||
QString skin_name_from_settings = getSelectedSkinName();
|
QString skin_name_from_settings = getSelectedSkinName();
|
||||||
|
|
||||||
if (skin_name_from_settings == APP_THEME_SYSTEM) {
|
if (skin_name_from_settings == APP_THEME_SYSTEM) {
|
||||||
|
m_currentSkin = generateDefaultSkin();
|
||||||
|
|
||||||
// User selected default skin for loading.
|
// User selected default skin for loading.
|
||||||
// NOTE: No need to do anything here.
|
// NOTE: No need to do anything here.
|
||||||
qDebug("'Default system skin' loaded.");
|
qDebug("'Default system skin' loaded.");
|
||||||
|
@ -42,7 +42,7 @@ TabBar *TabWidget::tabBar() {
|
|||||||
return static_cast<TabBar*>(QTabWidget::tabBar());
|
return static_cast<TabBar*>(QTabWidget::tabBar());
|
||||||
}
|
}
|
||||||
|
|
||||||
void TabWidget::initializeTabs() {
|
void TabWidget::initializeTabs() {
|
||||||
// Create widget for "Feeds" page and add it.
|
// Create widget for "Feeds" page and add it.
|
||||||
FeedMessageViewer *browser = new FeedMessageViewer(this);
|
FeedMessageViewer *browser = new FeedMessageViewer(this);
|
||||||
int index_of_browser = addTab(static_cast<TabContent*>(browser),
|
int index_of_browser = addTab(static_cast<TabContent*>(browser),
|
||||||
|
@ -90,8 +90,11 @@ void WebBrowser::initializeZoomWidget() {
|
|||||||
|
|
||||||
// Set texts.
|
// Set texts.
|
||||||
button_decrease->setText("-");
|
button_decrease->setText("-");
|
||||||
|
button_decrease->setToolTip(tr("Decrease zoom."));
|
||||||
m_btnResetZoom->setText("100%");
|
m_btnResetZoom->setText("100%");
|
||||||
|
m_btnResetZoom->setToolTip(tr("Reset zoom to default."));
|
||||||
button_increase->setText("+");
|
button_increase->setText("+");
|
||||||
|
button_increase->setToolTip(tr("Increase zoom."));
|
||||||
|
|
||||||
// Setup layout.
|
// Setup layout.
|
||||||
layout->addWidget(zoom_label);
|
layout->addWidget(zoom_label);
|
||||||
@ -131,8 +134,6 @@ void WebBrowser::createConnections() {
|
|||||||
// Forward title/icon changes.
|
// Forward title/icon changes.
|
||||||
connect(m_webView, SIGNAL(titleChanged(QString)), this, SLOT(onTitleChanged(QString)));
|
connect(m_webView, SIGNAL(titleChanged(QString)), this, SLOT(onTitleChanged(QString)));
|
||||||
connect(m_webView, SIGNAL(iconChanged()), this, SLOT(onIconChanged()));
|
connect(m_webView, SIGNAL(iconChanged()), this, SLOT(onIconChanged()));
|
||||||
|
|
||||||
// Misc connections.
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void WebBrowser::onIconChanged() {
|
void WebBrowser::onIconChanged() {
|
||||||
@ -162,16 +163,16 @@ void WebBrowser::navigateToUrl(const QUrl &url) {
|
|||||||
|
|
||||||
void WebBrowser::increaseZoom() {
|
void WebBrowser::increaseZoom() {
|
||||||
m_webView->increaseWebPageZoom();
|
m_webView->increaseWebPageZoom();
|
||||||
m_btnResetZoom->setText(
|
m_btnResetZoom->setText(QString("%1%").arg(QString::number(m_webView->zoomFactor() * 100,
|
||||||
QString("%1%").arg(QString::number(m_webView->zoomFactor() * 100, 'f', 0))
|
'f',
|
||||||
);
|
0)));
|
||||||
}
|
}
|
||||||
|
|
||||||
void WebBrowser::decreaseZoom() {
|
void WebBrowser::decreaseZoom() {
|
||||||
m_webView->decreaseWebPageZoom();
|
m_webView->decreaseWebPageZoom();
|
||||||
m_btnResetZoom->setText(
|
m_btnResetZoom->setText(QString("%1%").arg(QString::number(m_webView->zoomFactor() * 100,
|
||||||
QString("%1%").arg(QString::number(m_webView->zoomFactor() * 100, 'f', 0))
|
'f',
|
||||||
);
|
0)));
|
||||||
}
|
}
|
||||||
|
|
||||||
void WebBrowser::resetZoom() {
|
void WebBrowser::resetZoom() {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user