mirror of
https://invent.kde.org/network/falkon.git
synced 2024-12-20 10:46:35 +01:00
Added history sidebar
This commit is contained in:
parent
1282e23b71
commit
5bf7d732a8
@ -110,7 +110,8 @@ SOURCES += main.cpp\
|
|||||||
adblock/adblockicon.cpp \
|
adblock/adblockicon.cpp \
|
||||||
tools/docktitlebarwidget.cpp \
|
tools/docktitlebarwidget.cpp \
|
||||||
sidebar/bookmarkssidebar.cpp \
|
sidebar/bookmarkssidebar.cpp \
|
||||||
bookmarks/bookmarkicon.cpp
|
bookmarks/bookmarkicon.cpp \
|
||||||
|
sidebar/historysidebar.cpp
|
||||||
|
|
||||||
HEADERS += 3rdparty/squeezelabel.h \
|
HEADERS += 3rdparty/squeezelabel.h \
|
||||||
3rdparty/qtwin.h \
|
3rdparty/qtwin.h \
|
||||||
@ -180,7 +181,8 @@ HEADERS += 3rdparty/squeezelabel.h \
|
|||||||
adblock/adblockicon.h \
|
adblock/adblockicon.h \
|
||||||
tools/docktitlebarwidget.h \
|
tools/docktitlebarwidget.h \
|
||||||
sidebar/bookmarkssidebar.h \
|
sidebar/bookmarkssidebar.h \
|
||||||
bookmarks/bookmarkicon.h
|
bookmarks/bookmarkicon.h \
|
||||||
|
sidebar/historysidebar.h
|
||||||
|
|
||||||
FORMS += \
|
FORMS += \
|
||||||
preferences/autofillmanager.ui \
|
preferences/autofillmanager.ui \
|
||||||
@ -206,7 +208,8 @@ FORMS += \
|
|||||||
other/closedialog.ui \
|
other/closedialog.ui \
|
||||||
adblock/adblockdialog.ui \
|
adblock/adblockdialog.ui \
|
||||||
tools/docktitlebarwidget.ui \
|
tools/docktitlebarwidget.ui \
|
||||||
sidebar/bookmarkssidebar.ui
|
sidebar/bookmarkssidebar.ui \
|
||||||
|
sidebar/historysidebar.ui
|
||||||
|
|
||||||
RESOURCES += \
|
RESOURCES += \
|
||||||
data/icons.qrc \
|
data/icons.qrc \
|
||||||
|
@ -246,15 +246,26 @@ void QupZilla::setupMenu()
|
|||||||
actionEncoding->setMenu(m_menuEncoding);
|
actionEncoding->setMenu(m_menuEncoding);
|
||||||
connect(m_menuEncoding, SIGNAL(aboutToShow()), this, SLOT(aboutToShowEncodingMenu()));
|
connect(m_menuEncoding, SIGNAL(aboutToShow()), this, SLOT(aboutToShowEncodingMenu()));
|
||||||
|
|
||||||
|
m_actionShowBookmarksSideBar = new QAction(tr("Bookmarks"), this);
|
||||||
|
m_actionShowBookmarksSideBar->setCheckable(true);
|
||||||
|
connect(m_actionShowBookmarksSideBar, SIGNAL(triggered()), this, SLOT(showBookmarksSideBar()));
|
||||||
|
m_actionShowHistorySideBar = new QAction(tr("History"), this);
|
||||||
|
m_actionShowHistorySideBar->setCheckable(true);
|
||||||
|
connect(m_actionShowHistorySideBar, SIGNAL(triggered()), this, SLOT(showHistorySideBar()));
|
||||||
|
m_actionShowRssSideBar = new QAction(tr("RSS Reader"), this);
|
||||||
|
m_actionShowRssSideBar->setCheckable(true);
|
||||||
|
connect(m_actionShowRssSideBar, SIGNAL(triggered()), this, SLOT(showRssSideBar()));
|
||||||
|
|
||||||
QMenu* toolbarsMenu = new QMenu(tr("Toolbars"));
|
QMenu* toolbarsMenu = new QMenu(tr("Toolbars"));
|
||||||
toolbarsMenu->addAction(m_actionShowMenubar);
|
toolbarsMenu->addAction(m_actionShowMenubar);
|
||||||
toolbarsMenu->addAction(m_actionShowToolbar);
|
toolbarsMenu->addAction(m_actionShowToolbar);
|
||||||
toolbarsMenu->addAction(m_actionShowBookmarksToolbar);
|
toolbarsMenu->addAction(m_actionShowBookmarksToolbar);
|
||||||
toolbarsMenu->addAction(m_actionShowStatusbar);
|
toolbarsMenu->addAction(m_actionShowStatusbar);
|
||||||
QMenu* sidebarsMenu = new QMenu(tr("Sidebars"));
|
QMenu* sidebarsMenu = new QMenu(tr("Sidebars"));
|
||||||
sidebarsMenu->addAction(tr("Bookmarks"), this, SLOT(showBookmarksSideBar()))->setCheckable(true);
|
sidebarsMenu->addAction(m_actionShowBookmarksSideBar);
|
||||||
sidebarsMenu->addAction(tr("History"), this, SLOT(showHistorySideBar()))->setCheckable(true);
|
sidebarsMenu->addAction(m_actionShowHistorySideBar);
|
||||||
sidebarsMenu->addAction(tr("RSS Reader"), this, SLOT(showRssSideBar()))->setCheckable(true);
|
sidebarsMenu->addAction(m_actionShowRssSideBar);
|
||||||
|
connect(sidebarsMenu, SIGNAL(aboutToShow()), this, SLOT(aboutToShowSidebarsMenu()));
|
||||||
|
|
||||||
m_menuView->addMenu(toolbarsMenu);
|
m_menuView->addMenu(toolbarsMenu);
|
||||||
m_menuView->addMenu(sidebarsMenu);
|
m_menuView->addMenu(sidebarsMenu);
|
||||||
|
@ -561,11 +561,40 @@ void QupZilla::showBookmarksSideBar()
|
|||||||
m_sideBar = new SideBar(this);
|
m_sideBar = new SideBar(this);
|
||||||
addDockWidget(Qt::LeftDockWidgetArea, m_sideBar);
|
addDockWidget(Qt::LeftDockWidgetArea, m_sideBar);
|
||||||
m_sideBar->showBookmarks();
|
m_sideBar->showBookmarks();
|
||||||
|
} else if (m_actionShowBookmarksSideBar->isChecked()){
|
||||||
|
m_sideBar->showBookmarks();
|
||||||
} else {
|
} else {
|
||||||
delete m_sideBar;
|
delete m_sideBar;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void QupZilla::showHistorySideBar()
|
||||||
|
{
|
||||||
|
if (!m_sideBar) {
|
||||||
|
m_sideBar = new SideBar(this);
|
||||||
|
addDockWidget(Qt::LeftDockWidgetArea, m_sideBar);
|
||||||
|
m_sideBar->showHistory();
|
||||||
|
} else if (m_actionShowHistorySideBar->isChecked()) {
|
||||||
|
m_sideBar->showHistory();
|
||||||
|
} else {
|
||||||
|
delete m_sideBar;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void QupZilla::aboutToShowSidebarsMenu()
|
||||||
|
{
|
||||||
|
if (!m_sideBar) {
|
||||||
|
m_actionShowBookmarksSideBar->setChecked(false);
|
||||||
|
m_actionShowHistorySideBar->setChecked(false);
|
||||||
|
m_actionShowRssSideBar->setChecked(false);
|
||||||
|
} else {
|
||||||
|
SideBar::SideWidget actWidget = m_sideBar->activeWidget();
|
||||||
|
m_actionShowBookmarksSideBar->setChecked(actWidget == SideBar::Bookmarks);
|
||||||
|
m_actionShowHistorySideBar->setChecked(actWidget == SideBar::History);
|
||||||
|
m_actionShowRssSideBar->setChecked(actWidget == SideBar::RSS);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void QupZilla::showNavigationToolbar()
|
void QupZilla::showNavigationToolbar()
|
||||||
{
|
{
|
||||||
if (!menuBar()->isVisible() && !m_actionShowToolbar->isChecked())
|
if (!menuBar()->isVisible() && !m_actionShowToolbar->isChecked())
|
||||||
@ -615,7 +644,7 @@ void QupZilla::showInspector()
|
|||||||
m_webInspectorDock->setTitleBarWidget(new DockTitleBarWidget(tr("Web Inspector"), m_webInspectorDock));
|
m_webInspectorDock->setTitleBarWidget(new DockTitleBarWidget(tr("Web Inspector"), m_webInspectorDock));
|
||||||
m_webInspectorDock->setObjectName("WebInspector");
|
m_webInspectorDock->setObjectName("WebInspector");
|
||||||
m_webInspectorDock->setWidget(m_webInspector);
|
m_webInspectorDock->setWidget(m_webInspector);
|
||||||
m_webInspectorDock->setFeatures(QDockWidget::DockWidgetClosable);
|
m_webInspectorDock->setFeatures(0);
|
||||||
m_webInspectorDock->setContextMenuPolicy(Qt::CustomContextMenu);
|
m_webInspectorDock->setContextMenuPolicy(Qt::CustomContextMenu);
|
||||||
} else if (m_webInspectorDock->isVisible()) { //Next tab
|
} else if (m_webInspectorDock->isVisible()) { //Next tab
|
||||||
m_webInspectorDock->show();
|
m_webInspectorDock->show();
|
||||||
|
@ -148,10 +148,12 @@ private slots:
|
|||||||
void aboutToShowHelpMenu();
|
void aboutToShowHelpMenu();
|
||||||
void aboutToShowViewMenu();
|
void aboutToShowViewMenu();
|
||||||
void aboutToShowEncodingMenu();
|
void aboutToShowEncodingMenu();
|
||||||
|
void aboutToShowSidebarsMenu();
|
||||||
|
|
||||||
void searchOnPage();
|
void searchOnPage();
|
||||||
void showCookieManager();
|
void showCookieManager();
|
||||||
void showHistoryManager();
|
void showHistoryManager();
|
||||||
|
void showHistorySideBar();
|
||||||
void showBookmarksManager();
|
void showBookmarksManager();
|
||||||
void showBookmarksSideBar();
|
void showBookmarksSideBar();
|
||||||
void showRSSManager();
|
void showRSSManager();
|
||||||
@ -210,6 +212,9 @@ private:
|
|||||||
QAction* m_actionShowStatusbar;
|
QAction* m_actionShowStatusbar;
|
||||||
QAction* m_actionShowMenubar;
|
QAction* m_actionShowMenubar;
|
||||||
QAction* m_actionShowFullScreen;
|
QAction* m_actionShowFullScreen;
|
||||||
|
QAction* m_actionShowBookmarksSideBar;
|
||||||
|
QAction* m_actionShowHistorySideBar;
|
||||||
|
QAction* m_actionShowRssSideBar;
|
||||||
QAction* m_actionPrivateBrowsing;
|
QAction* m_actionPrivateBrowsing;
|
||||||
QAction* m_actionStop;
|
QAction* m_actionStop;
|
||||||
QAction* m_actionReload;
|
QAction* m_actionReload;
|
||||||
|
157
src/sidebar/historysidebar.cpp
Normal file
157
src/sidebar/historysidebar.cpp
Normal file
@ -0,0 +1,157 @@
|
|||||||
|
#include "historysidebar.h"
|
||||||
|
#include "ui_historysidebar.h"
|
||||||
|
#include "qupzilla.h"
|
||||||
|
|
||||||
|
HistorySideBar::HistorySideBar(QupZilla* mainClass, QWidget* parent) :
|
||||||
|
QWidget(parent)
|
||||||
|
,ui(new Ui::HistorySideBar)
|
||||||
|
,p_QupZilla(mainClass)
|
||||||
|
{
|
||||||
|
ui->setupUi(this);
|
||||||
|
connect(ui->historyTree, SIGNAL(itemDoubleClicked(QTreeWidgetItem*,int)),this, SLOT(itemDoubleClicked(QTreeWidgetItem*)));
|
||||||
|
connect(ui->historyTree, SIGNAL(customContextMenuRequested(const QPoint &)), this, SLOT(contextMenuRequested(const QPoint &)));
|
||||||
|
connect(ui->historyTree, SIGNAL(itemControlClicked(QTreeWidgetItem*)), this, SLOT(itemControlClicked(QTreeWidgetItem*)));
|
||||||
|
connect(ui->search, SIGNAL(textEdited(QString)), this, SLOT(search()));
|
||||||
|
|
||||||
|
new QShortcut(QKeySequence("Del"), this, SLOT(deleteItem()), 0, Qt::WidgetWithChildrenShortcut);
|
||||||
|
|
||||||
|
QTimer::singleShot(0, this, SLOT(refreshTable()));
|
||||||
|
}
|
||||||
|
|
||||||
|
void HistorySideBar::itemDoubleClicked(QTreeWidgetItem* item)
|
||||||
|
{
|
||||||
|
if (!item || item->text(1).isEmpty())
|
||||||
|
return;
|
||||||
|
p_QupZilla->loadAddress(QUrl(item->text(1)));
|
||||||
|
}
|
||||||
|
|
||||||
|
void HistorySideBar::itemControlClicked(QTreeWidgetItem* item)
|
||||||
|
{
|
||||||
|
if (!item || item->text(1).isEmpty())
|
||||||
|
return;
|
||||||
|
p_QupZilla->tabWidget()->addView(QUrl(item->text(1)));
|
||||||
|
}
|
||||||
|
|
||||||
|
void HistorySideBar::loadInNewTab()
|
||||||
|
{
|
||||||
|
if (QAction* action = qobject_cast<QAction*>(sender()))
|
||||||
|
p_QupZilla->tabWidget()->addView(action->data().toUrl(), tr("New Tab"), TabWidget::NewNotSelectedTab);
|
||||||
|
}
|
||||||
|
|
||||||
|
void HistorySideBar::contextMenuRequested(const QPoint &position)
|
||||||
|
{
|
||||||
|
if (!ui->historyTree->itemAt(position))
|
||||||
|
return;
|
||||||
|
QString link = ui->historyTree->itemAt(position)->text(1);
|
||||||
|
if (link.isEmpty())
|
||||||
|
return;
|
||||||
|
|
||||||
|
QMenu menu;
|
||||||
|
menu.addAction(tr("Open link in actual tab"), p_QupZilla, SLOT(loadActionUrl()))->setData(link);
|
||||||
|
menu.addAction(tr("Open link in new tab"), this, SLOT(loadInNewTab()))->setData(link);
|
||||||
|
menu.addSeparator();
|
||||||
|
|
||||||
|
menu.addSeparator();
|
||||||
|
menu.addAction(tr("Remove Entry"), this, SLOT(deleteItem()));
|
||||||
|
|
||||||
|
//Prevent choosing first option with double rightclick
|
||||||
|
QPoint pos = QCursor::pos();
|
||||||
|
QPoint p(pos.x(), pos.y()+1);
|
||||||
|
menu.exec(p);
|
||||||
|
}
|
||||||
|
|
||||||
|
void HistorySideBar::deleteItem()
|
||||||
|
{
|
||||||
|
QTreeWidgetItem* item = ui->historyTree->currentItem();
|
||||||
|
if (!item)
|
||||||
|
return;
|
||||||
|
if (item->text(1).isEmpty())
|
||||||
|
return;
|
||||||
|
|
||||||
|
QString id = item->whatsThis(1);
|
||||||
|
QSqlQuery query;
|
||||||
|
query.exec("DELETE FROM history WHERE id="+id);
|
||||||
|
delete item;
|
||||||
|
}
|
||||||
|
|
||||||
|
void HistorySideBar::search()
|
||||||
|
{
|
||||||
|
QString searchText = ui->search->text();
|
||||||
|
refreshTable();
|
||||||
|
|
||||||
|
if (searchText.isEmpty())
|
||||||
|
return;
|
||||||
|
|
||||||
|
ui->historyTree->setUpdatesEnabled(false);
|
||||||
|
|
||||||
|
QList<QTreeWidgetItem*> items = ui->historyTree->findItems("*"+searchText+"*", Qt::MatchRecursive | Qt::MatchWildcard);
|
||||||
|
|
||||||
|
QList<QTreeWidgetItem*> foundItems;
|
||||||
|
foreach(QTreeWidgetItem* fitem, items) {
|
||||||
|
if (fitem->text(1).isEmpty())
|
||||||
|
continue;
|
||||||
|
QTreeWidgetItem* item = new QTreeWidgetItem();
|
||||||
|
item->setText(0, fitem->text(0));
|
||||||
|
item->setText(1, fitem->text(1));
|
||||||
|
item->setWhatsThis(1, fitem->whatsThis(1));
|
||||||
|
item->setIcon(0, LocationBar::icon(QUrl(fitem->text(1))));
|
||||||
|
foundItems.append(item);
|
||||||
|
}
|
||||||
|
ui->historyTree->clear();
|
||||||
|
ui->historyTree->addTopLevelItems(foundItems);
|
||||||
|
ui->historyTree->setUpdatesEnabled(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
void HistorySideBar::refreshTable()
|
||||||
|
{
|
||||||
|
ui->historyTree->setUpdatesEnabled(false);
|
||||||
|
ui->historyTree->clear();
|
||||||
|
|
||||||
|
QLocale locale(p_QupZilla->activeLanguage().remove(".qm"));
|
||||||
|
|
||||||
|
QSqlQuery query;
|
||||||
|
query.exec("SELECT title, url, id, date FROM history ORDER BY date DESC");
|
||||||
|
|
||||||
|
while(query.next()) {
|
||||||
|
QString title = query.value(0).toString();
|
||||||
|
QUrl url = query.value(1).toUrl();
|
||||||
|
int id = query.value(2).toInt();
|
||||||
|
qint64 unixDate = query.value(3).toLongLong();
|
||||||
|
QDateTime date = QDateTime();
|
||||||
|
date = date.fromMSecsSinceEpoch(unixDate);
|
||||||
|
|
||||||
|
QString localDate; //date.toString("dddd d. MMMM yyyy");
|
||||||
|
//QString day = locale.dayName(date.toString("d").toInt());
|
||||||
|
|
||||||
|
QString month = locale.monthName(date.toString("M").toInt());
|
||||||
|
localDate = date.toString(" d. ") + month + date.toString(" yyyy");
|
||||||
|
|
||||||
|
QTreeWidgetItem* item;
|
||||||
|
QList<QTreeWidgetItem*> findParent = ui->historyTree->findItems(localDate, 0);
|
||||||
|
if (findParent.count() == 1) {
|
||||||
|
item = new QTreeWidgetItem(findParent.at(0));
|
||||||
|
}else{
|
||||||
|
QTreeWidgetItem* newParent = new QTreeWidgetItem(ui->historyTree);
|
||||||
|
newParent->setText(0, localDate);
|
||||||
|
newParent->setIcon(0, QIcon(":/icons/menu/history_entry.png"));
|
||||||
|
ui->historyTree->addTopLevelItem(newParent);
|
||||||
|
item = new QTreeWidgetItem(newParent);
|
||||||
|
}
|
||||||
|
|
||||||
|
item->setText(0, title);
|
||||||
|
item->setText(1, url.toEncoded());
|
||||||
|
item->setToolTip(0, title);
|
||||||
|
item->setToolTip(1, url.toEncoded());
|
||||||
|
|
||||||
|
item->setWhatsThis(1, QString::number(id));
|
||||||
|
item->setIcon(0, LocationBar::icon(url));
|
||||||
|
ui->historyTree->addTopLevelItem(item);
|
||||||
|
}
|
||||||
|
|
||||||
|
ui->historyTree->setUpdatesEnabled(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
HistorySideBar::~HistorySideBar()
|
||||||
|
{
|
||||||
|
delete ui;
|
||||||
|
}
|
38
src/sidebar/historysidebar.h
Normal file
38
src/sidebar/historysidebar.h
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
#ifndef HISTORYSIDEBAR_H
|
||||||
|
#define HISTORYSIDEBAR_H
|
||||||
|
|
||||||
|
#include <QWidget>
|
||||||
|
#include <QTreeWidgetItem>
|
||||||
|
#include <QPointer>
|
||||||
|
#include <QShortcut>
|
||||||
|
|
||||||
|
namespace Ui {
|
||||||
|
class HistorySideBar;
|
||||||
|
}
|
||||||
|
|
||||||
|
class QupZilla;
|
||||||
|
class HistorySideBar : public QWidget
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
public:
|
||||||
|
explicit HistorySideBar(QupZilla* mainClass, QWidget* parent = 0);
|
||||||
|
~HistorySideBar();
|
||||||
|
|
||||||
|
public slots:
|
||||||
|
void refreshTable();
|
||||||
|
|
||||||
|
private slots:
|
||||||
|
void search();
|
||||||
|
void itemDoubleClicked(QTreeWidgetItem* item);
|
||||||
|
void deleteItem();
|
||||||
|
void contextMenuRequested(const QPoint &position);
|
||||||
|
void loadInNewTab();
|
||||||
|
void itemControlClicked(QTreeWidgetItem* item);
|
||||||
|
|
||||||
|
private:
|
||||||
|
Ui::HistorySideBar* ui;
|
||||||
|
QPointer<QupZilla> p_QupZilla;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // HISTORYSIDEBAR_H
|
71
src/sidebar/historysidebar.ui
Normal file
71
src/sidebar/historysidebar.ui
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0">
|
||||||
|
<class>HistorySideBar</class>
|
||||||
|
<widget class="QWidget" name="HistorySideBar">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>219</width>
|
||||||
|
<height>457</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="windowTitle">
|
||||||
|
<string>Form</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
|
<property name="spacing">
|
||||||
|
<number>1</number>
|
||||||
|
</property>
|
||||||
|
<property name="leftMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="topMargin">
|
||||||
|
<number>2</number>
|
||||||
|
</property>
|
||||||
|
<property name="rightMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="bottomMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<widget class="QLineEdit" name="search">
|
||||||
|
<property name="placeholderText">
|
||||||
|
<string>Search...</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="TreeWidget" name="historyTree">
|
||||||
|
<property name="contextMenuPolicy">
|
||||||
|
<enum>Qt::CustomContextMenu</enum>
|
||||||
|
</property>
|
||||||
|
<property name="alternatingRowColors">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<property name="headerHidden">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<attribute name="headerDefaultSectionSize">
|
||||||
|
<number>330</number>
|
||||||
|
</attribute>
|
||||||
|
<column>
|
||||||
|
<property name="text">
|
||||||
|
<string>Title</string>
|
||||||
|
</property>
|
||||||
|
</column>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<customwidgets>
|
||||||
|
<customwidget>
|
||||||
|
<class>TreeWidget</class>
|
||||||
|
<extends>QTreeWidget</extends>
|
||||||
|
<header>treewidget.h</header>
|
||||||
|
</customwidget>
|
||||||
|
</customwidgets>
|
||||||
|
<resources/>
|
||||||
|
<connections/>
|
||||||
|
</ui>
|
@ -18,15 +18,19 @@
|
|||||||
#include "sidebar.h"
|
#include "sidebar.h"
|
||||||
#include "docktitlebarwidget.h"
|
#include "docktitlebarwidget.h"
|
||||||
#include "bookmarkssidebar.h"
|
#include "bookmarkssidebar.h"
|
||||||
|
#include "historysidebar.h"
|
||||||
#include "qupzilla.h"
|
#include "qupzilla.h"
|
||||||
|
|
||||||
SideBar::SideBar(QWidget* parent) :
|
SideBar::SideBar(QWidget* parent) :
|
||||||
QDockWidget(parent)
|
QDockWidget(parent)
|
||||||
|
,m_activeWidget(None)
|
||||||
{
|
{
|
||||||
setObjectName("SideBar");
|
setObjectName("SideBar");
|
||||||
|
setWindowTitle(tr("SideBar"));
|
||||||
setAttribute(Qt::WA_DeleteOnClose);
|
setAttribute(Qt::WA_DeleteOnClose);
|
||||||
m_titleBar = new DockTitleBarWidget("", this);
|
m_titleBar = new DockTitleBarWidget("", this);
|
||||||
setTitleBarWidget(m_titleBar);
|
setTitleBarWidget(m_titleBar);
|
||||||
|
setFeatures(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
void SideBar::showBookmarks()
|
void SideBar::showBookmarks()
|
||||||
@ -34,11 +38,15 @@ void SideBar::showBookmarks()
|
|||||||
m_titleBar->setTitle(tr("Bookmarks"));
|
m_titleBar->setTitle(tr("Bookmarks"));
|
||||||
BookmarksSideBar* bar = new BookmarksSideBar((QupZilla*)parentWidget(), this);
|
BookmarksSideBar* bar = new BookmarksSideBar((QupZilla*)parentWidget(), this);
|
||||||
setWidget(bar);
|
setWidget(bar);
|
||||||
|
m_activeWidget = Bookmarks;
|
||||||
}
|
}
|
||||||
|
|
||||||
void SideBar::showHistory()
|
void SideBar::showHistory()
|
||||||
{
|
{
|
||||||
|
m_titleBar->setTitle(tr("History"));
|
||||||
|
HistorySideBar* bar = new HistorySideBar((QupZilla*)parentWidget(), this);
|
||||||
|
setWidget(bar);
|
||||||
|
m_activeWidget = History;
|
||||||
}
|
}
|
||||||
|
|
||||||
void SideBar::showRSS()
|
void SideBar::showRSS()
|
||||||
|
@ -25,10 +25,12 @@ class SideBar : public QDockWidget
|
|||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
|
enum SideWidget { None = 0, Bookmarks, History, RSS };
|
||||||
explicit SideBar(QWidget* parent = 0);
|
explicit SideBar(QWidget* parent = 0);
|
||||||
void showBookmarks();
|
void showBookmarks();
|
||||||
void showHistory();
|
void showHistory();
|
||||||
void showRSS();
|
void showRSS();
|
||||||
|
SideWidget activeWidget() { return m_activeWidget; }
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
|
|
||||||
@ -36,6 +38,7 @@ public slots:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
DockTitleBarWidget* m_titleBar;
|
DockTitleBarWidget* m_titleBar;
|
||||||
|
SideWidget m_activeWidget;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // SIDEBAR_H
|
#endif // SIDEBAR_H
|
||||||
|
Loading…
Reference in New Issue
Block a user