summaryrefslogtreecommitdiff
path: root/src/history
diff options
context:
space:
mode:
authorJon Ander Peñalba <jonan88@gmail.com>2010-08-30 01:40:33 +0200
committerJon Ander Peñalba <jonan88@gmail.com>2010-08-30 16:58:36 +0200
commit0d53995507a369d5b4cfddbe365fc8a438fcf3cf (patch)
tree0c3455349fe95bf1472cf72048127c2dc5888f60 /src/history
parentUse the same FilterProxyModel for the bookmarks and history panels (diff)
downloadrekonq-0d53995507a369d5b4cfddbe365fc8a438fcf3cf.tar.xz
New general panel class created and used by the bookmarks and history panel
Diffstat (limited to 'src/history')
-rw-r--r--src/history/historypanel.cpp94
-rw-r--r--src/history/historypanel.h27
2 files changed, 31 insertions, 90 deletions
diff --git a/src/history/historypanel.cpp b/src/history/historypanel.cpp
index 4c1dc732..79efb2b1 100644
--- a/src/history/historypanel.cpp
+++ b/src/history/historypanel.cpp
@@ -33,105 +33,44 @@
// Local Includes
#include "panels/urlfilterproxymodel.h"
+
#include "application.h"
#include "paneltreeview.h"
#include "historymodels.h"
-// Qt Includes
-#include <QtGui/QLabel>
-#include <QtGui/QHBoxLayout>
-#include <QtGui/QHeaderView>
-#include <QtGui/QTreeView>
-
-
// KDE Includes
-#include <KLineEdit>
#include <KLocalizedString>
#include <KMenu>
#include <KAction>
#include <KMessageBox>
+// Qt Includes
+#include <QtGui/QHeaderView>
+
HistoryPanel::HistoryPanel(const QString &title, QWidget *parent, Qt::WindowFlags flags)
- : QDockWidget(title, parent, flags)
- , m_treeView(new PanelTreeView(this))
- , _loaded(false)
+ : UrlPanel(title, parent, flags)
{
setObjectName("historyPanel");
- setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea);
-
- connect(this, SIGNAL(visibilityChanged(bool)), this, SLOT(showing(bool)));
-
- setShown(ReKonfig::showHistoryPanel());
+ setVisible(ReKonfig::showHistoryPanel());
}
HistoryPanel::~HistoryPanel()
{
- // Save side panel's state
ReKonfig::setShowHistoryPanel(!isHidden());
}
-
-void HistoryPanel::showing(bool b)
-{
- if(b && !_loaded)
- setup();
-}
-
-
void HistoryPanel::setup()
{
- kDebug() << "Loading history panel setup...";
-
- QWidget *ui = new QWidget(this);
-
- m_treeView->setUniformRowHeights(true);
- m_treeView->setSelectionBehavior(QAbstractItemView::SelectRows);
- m_treeView->setTextElideMode(Qt::ElideMiddle);
- m_treeView->setAlternatingRowColors(true);
- m_treeView->header()->hide();
-
- // add search bar
- QHBoxLayout *hBoxLayout = new QHBoxLayout;
- hBoxLayout->setContentsMargins(5, 0, 0, 0);
- QLabel *searchLabel = new QLabel(i18n("Search:"));
- hBoxLayout->addWidget(searchLabel);
- KLineEdit *search = new KLineEdit;
- search->setClearButtonShown(true);
- hBoxLayout->addWidget(search);
- QWidget *searchBar = new QWidget;
- searchBar->setLayout(hBoxLayout);
-
- // setup layout
- QVBoxLayout *vBoxLayout = new QVBoxLayout;
- vBoxLayout->setContentsMargins(0, 0, 0, 0);
- vBoxLayout->addWidget(searchBar);
- vBoxLayout->addWidget(m_treeView);
-
- // add it to the UI
- ui->setLayout(vBoxLayout);
- setWidget(ui);
-
- //-
- HistoryManager *historyManager = Application::historyManager();
- QAbstractItemModel *model = historyManager->historyTreeModel();
-
- UrlFilterProxyModel *proxy = new UrlFilterProxyModel(this);
- proxy->setSourceModel(model);
- m_treeView->setModel(proxy);
- m_treeView->setExpanded(proxy->index(0, 0), true);
- m_treeView->header()->hideSection(1);
- QFontMetrics fm(font());
- int header = fm.width( QL1C('m') ) * 40;
- m_treeView->header()->resizeSection(0, header);
+ UrlPanel::setup();
+ kDebug() << "History panel...";
- connect(search, SIGNAL(textChanged(QString)), proxy, SLOT(setFilterFixedString(QString)));
- connect(m_treeView, SIGNAL(contextMenuItemRequested(const QPoint &)), this, SLOT(contextMenuItem(const QPoint &)));
- connect(m_treeView, SIGNAL(contextMenuGroupRequested(const QPoint &)), this, SLOT(contextMenuGroup(const QPoint &)));
+ m_treeView->header()->hideSection(1);
- _loaded = true;
+ const UrlFilterProxyModel *proxy = static_cast<const UrlFilterProxyModel*>(m_treeView->model());
+ m_treeView->expand(proxy->index(0, 0));
}
@@ -173,6 +112,11 @@ void HistoryPanel::contextMenuGroup(const QPoint &pos)
}
+void HistoryPanel::contextMenuEmpty(const QPoint& /*pos*/)
+{
+}
+
+
void HistoryPanel::openAll()
{
QModelIndex index = m_treeView->currentIndex();
@@ -199,3 +143,9 @@ void HistoryPanel::openAll()
emit openUrl(allChild.at(i).url(), Rekonq::NewTab);
}
+
+QAbstractItemModel* HistoryPanel::getModel()
+{
+ return Application::historyManager()->historyTreeModel();
+}
+
diff --git a/src/history/historypanel.h b/src/history/historypanel.h
index 5a511e47..12ffe953 100644
--- a/src/history/historypanel.h
+++ b/src/history/historypanel.h
@@ -32,14 +32,11 @@
// Rekonq Includes
#include "rekonq_defines.h"
-// Qt Includes
-#include <QDockWidget>
+// Local Includes
+#include "panels/urlpanel.h"
-// Forward Declarations
-class PanelTreeView;
-
-class REKONQ_TESTS_EXPORT HistoryPanel : public QDockWidget
+class REKONQ_TESTS_EXPORT HistoryPanel : public UrlPanel
{
Q_OBJECT
@@ -47,23 +44,17 @@ public:
explicit HistoryPanel(const QString &title, QWidget *parent = 0, Qt::WindowFlags flags = 0);
virtual ~HistoryPanel();
-public slots:
- void showing(bool);
-
-signals:
- void openUrl(const KUrl &, const Rekonq::OpenType &);
- void itemHovered(const QString &);
-
private slots:
- void contextMenuItem(const QPoint &pos);
- void contextMenuGroup(const QPoint &pos);
+ virtual void contextMenuItem(const QPoint &pos);
+ virtual void contextMenuGroup(const QPoint &pos);
+ virtual void contextMenuEmpty(const QPoint &pos);
+
void openAll();
private:
- void setup();
+ virtual void setup();
- PanelTreeView *m_treeView;
- bool _loaded;
+ virtual QAbstractItemModel* getModel();
};
#endif // HISTORYPANEL_H