From 182a330e250008177d05a5ef4ed0bd87226ee954 Mon Sep 17 00:00:00 2001 From: Andrea Diamantini Date: Wed, 22 Apr 2009 01:18:22 +0200 Subject: Side Panel --- src/mainwindow.cpp | 42 +++++++++++++++++++++++++++++++++++++----- 1 file changed, 37 insertions(+), 5 deletions(-) (limited to 'src/mainwindow.cpp') diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 7b9139cc..82b15ebf 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -37,6 +37,8 @@ #include "mainview.h" #include "bookmarks.h" #include "download.h" +#include "findbar.h" +#include "sidepanel.h" // KDE Includes #include @@ -66,6 +68,7 @@ MainWindow::MainWindow() , m_view(new MainView(this)) , m_findBar(new FindBar(this)) , m_searchBar(new SearchBar(this)) + , m_sidePanel(0) { // accept dnd setAcceptDrops(true); @@ -73,19 +76,23 @@ MainWindow::MainWindow() // updating rekonq configuration slotUpdateConfiguration(); - // creating a centralWidget containing m_view and the hidden findbar + // creating a centralWidget containing panel, m_view and the hidden findbar QWidget *centralWidget = new QWidget; + centralWidget->setContentsMargins(0, 0, 0, 0); + + // setting layout QVBoxLayout *layout = new QVBoxLayout; layout->setContentsMargins(0, 0, 0, 0); layout->addWidget(m_view); - - // Adding Find Bar - connect(m_findBar, SIGNAL(searchString(const QString &)), this, SLOT(slotFind(const QString &))); layout->addWidget(m_findBar); - centralWidget->setLayout(layout); + + // central widget setCentralWidget(centralWidget); + // Adding Find Bar + connect(m_findBar, SIGNAL(searchString(const QString &)), this, SLOT(slotFind(const QString &))); + // setting size policies setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); @@ -127,6 +134,7 @@ MainWindow::MainWindow() KActionMenu *bmMenu = Application::bookmarkProvider()->bookmarkActionMenu(); actionCollection()->addAction(QLatin1String("bookmarks"), bmMenu); + setupSidePanel(); // a call to KXmlGuiWindow::setupGUI() populates the GUI // with actions, using KXMLGUI. // It also applies the saved mainwindow settings, if any, and ask the @@ -143,6 +151,8 @@ MainWindow::MainWindow() // setting up toolbars to NOT have context menu enabled setContextMenuPolicy(Qt::DefaultContextMenu); + + } @@ -304,6 +314,28 @@ void MainWindow::setupActions() } +void MainWindow::setupSidePanel() +{ + // Setup history side panel + m_sidePanel = new SidePanel(i18n("History"), this); + connect(m_sidePanel, SIGNAL(openUrl(const KUrl&)), this, SLOT(loadUrl(const KUrl&))); + connect(m_sidePanel, SIGNAL(destroyed()), Application::instance(), SLOT(slotSaveConfiguration())); + + addDockWidget(Qt::LeftDockWidgetArea, m_sidePanel); + + // setup side panel actions + KAction* a = new KAction(this); + a->setText(i18n("History")); + a->setCheckable(true); + a->setChecked(ReKonfig::showSideBar()); + a->setShortcut(KShortcut(Qt::CTRL + Qt::Key_H)); + actionCollection()->addAction(QLatin1String("show_history_panel"), a); + + // connect to toogle action + connect(a, SIGNAL(triggered(bool)), m_sidePanel->toggleViewAction(), SLOT(trigger())); +} + + void MainWindow::setupHistoryMenu() { HistoryMenu *historyMenu = new HistoryMenu(this); -- cgit v1.2.1