• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdenetwork API Reference
  • KDE Home
  • Contact Us
 

kget

  • sources
  • kde-4.12
  • kdenetwork
  • kget
  • ui
  • history
transferhistorycategorizedview.cpp
Go to the documentation of this file.
1 /* This file is part of the KDE project
2 
3  Copyright (C) 2008 Javier Goday <jgoday@gmail.com>
4 
5  This program is free software; you can redistribute it and/or
6  modify it under the terms of the GNU General Public
7  License as published by the Free Software Foundation; either
8  version 2 of the License, or (at your option) any later version.
9 */
10 #include "transferhistorycategorizedview.h"
11 #include "ui/history/transferhistoryitemdelegate.h"
12 
13 #include <kcategorizedsortfilterproxymodel.h>
14 #include <kcategorizedview.h>
15 #include <kcategorydrawer.h>
16 #include <KDialog>
17 #include <KDebug>
18 
19 #include <QGridLayout>
20 #include <QLineEdit>
21 #include <QModelIndex>
22 #include <QStandardItemModel>
23 #include <QStandardItem>
24 #include <QVariant>
25 
26 TransferHistoryCategorizedView::TransferHistoryCategorizedView(QWidget *parent)
27  : QWidget(parent)
28 {
29  // the widget layout
30  QGridLayout *layout = new QGridLayout();
31 
32  // initialize the model
33  m_model = new QStandardItemModel();
34 
35  // the kcategoryizedview list
36  TransferHistoryItemDelegate *item_delegate = new TransferHistoryItemDelegate(this);
37  m_drawer = new KCategoryDrawer();
38  m_view = new KCategorizedView(this);
39  m_view->setCategoryDrawer(m_drawer);
40  m_view->setSelectionMode(QAbstractItemView::SingleSelection);
41  m_view->setSpacing(KDialog::spacingHint());
42  m_view->setViewMode(QListView::IconMode);
43  m_view->setMouseTracking(true);
44  m_view->setItemDelegate(item_delegate);
45  m_view->setEditTriggers(QAbstractItemView::NoEditTriggers);
46  layout->addWidget(m_view, 0, 0);
47 
48  // the proxy sort filter model and the categorized delegate
49  m_delegate = new DateCategorizedDelegate();
50  m_proxyModel = new KCategorizedSortFilterProxyModel();
51  m_proxyModel->setCategorizedModel(true);
52  m_proxyModel->sort(0);
53  m_proxyModel->setSourceModel(m_model);
54  m_view->setModel(m_proxyModel);
55 
56  connect(item_delegate, SIGNAL(deletedTransfer(QString,QModelIndex)),
57  SIGNAL(deletedTransfer(QString,QModelIndex)));
58  connect(m_view, SIGNAL(doubleClicked(QModelIndex)), SIGNAL(doubleClicked(QModelIndex)));
59  setLayout(layout);
60 }
61 
62 TransferHistoryCategorizedView::~TransferHistoryCategorizedView()
63 {
64 }
65 
66 void TransferHistoryCategorizedView::addData(const QDate &date, const QString &url, const QString &dest, int size)
67 {
68  QStandardItem *item = new QStandardItem(url);
69  item->setData(QVariant(size), TransferHistoryCategorizedDelegate::RoleSize);
70  item->setData(QVariant(url), TransferHistoryCategorizedDelegate::RoleUrl);
71  item->setData(QVariant(dest), TransferHistoryCategorizedDelegate::RoleDest);
72  item->setData(QVariant(date), TransferHistoryCategorizedDelegate::RoleDate);
73 
74  m_delegate->categorizeItem(item);
75  m_model->appendRow(item);
76 }
77 
78 QVariant TransferHistoryCategorizedView::data(const QModelIndex &index,
79  TransferHistoryCategorizedDelegate::AlternativeRoles role) const
80 {
81  return m_model->itemFromIndex(m_proxyModel->mapToSource(index))->data(role);
82 }
83 
84 void TransferHistoryCategorizedView::clear()
85 {
86  m_model->clear();
87 }
88 
89 void TransferHistoryCategorizedView::setFilterRegExp(const QString &text)
90 {
91  m_proxyModel->setFilterRegExp(text);
92 }
93 
94 void TransferHistoryCategorizedView::setCategorizedDelegate(TransferHistoryCategorizedDelegate *delegate)
95 {
96  delete m_delegate;
97  m_delegate = delegate;
98 
99  update();
100 }
101 
102 void TransferHistoryCategorizedView::removeRow(int row, const QModelIndex &parent)
103 {
104  m_model->removeRow(row, parent);
105 }
106 
107 void TransferHistoryCategorizedView::update()
108 {
109  for(int i=0; i<m_model->rowCount(); i++) {
110  QStandardItem *item = m_model->item(i, 0);
111 
112  m_delegate->categorizeItem(item);
113  }
114 
115  m_proxyModel = new KCategorizedSortFilterProxyModel(this);
116  m_proxyModel->setCategorizedModel(true);
117  m_proxyModel->sort(0);
118  m_proxyModel->setSourceModel(m_model);
119  QAbstractItemModel *oldProxy = m_view->model();
120  m_view->setModel(m_proxyModel);
121  oldProxy->deleteLater();
122 }
123 
124 #include "transferhistorycategorizedview.moc"
TransferHistoryCategorizedView::clear
void clear()
Definition: transferhistorycategorizedview.cpp:84
TransferHistoryCategorizedDelegate::RoleDate
Definition: transferhistorycategorizeddelegate.h:24
QWidget
QStandardItemModel
TransferHistoryCategorizedView::~TransferHistoryCategorizedView
~TransferHistoryCategorizedView()
Definition: transferhistorycategorizedview.cpp:62
TransferHistoryCategorizedDelegate
Definition: transferhistorycategorizeddelegate.h:18
TransferHistoryCategorizedView::setFilterRegExp
void setFilterRegExp(const QString &text)
Definition: transferhistorycategorizedview.cpp:89
TransferHistoryCategorizedDelegate::RoleDest
Definition: transferhistorycategorizeddelegate.h:26
TransferHistoryItemDelegate
Definition: transferhistoryitemdelegate.h:23
transferhistorycategorizedview.h
TransferHistoryCategorizedView::data
QVariant data(const QModelIndex &index, TransferHistoryCategorizedDelegate::AlternativeRoles role) const
Definition: transferhistorycategorizedview.cpp:78
TransferHistoryCategorizedDelegate::RoleSize
Definition: transferhistorycategorizeddelegate.h:23
TransferHistoryCategorizedView::doubleClicked
void doubleClicked(const QModelIndex &)
TransferHistoryCategorizedDelegate::RoleUrl
Definition: transferhistorycategorizeddelegate.h:25
TransferHistoryCategorizedView::TransferHistoryCategorizedView
TransferHistoryCategorizedView(QWidget *parent=0)
Definition: transferhistorycategorizedview.cpp:26
QAbstractItemModel
DateCategorizedDelegate
Categorizes the transfers in date ranges.
Definition: transferhistorycategorizeddelegate.h:39
TransferHistoryCategorizedView::deletedTransfer
void deletedTransfer(const QString &url, const QModelIndex &index)
TransferHistoryCategorizedDelegate::categorizeItem
virtual void categorizeItem(QStandardItem *item)
Definition: transferhistorycategorizeddelegate.h:32
TransferHistoryCategorizedView::removeRow
void removeRow(int row, const QModelIndex &parent=QModelIndex())
Definition: transferhistorycategorizedview.cpp:102
TransferHistoryCategorizedView::addData
void addData(const QDate &date, const QString &url, const QString &dest, int size)
Definition: transferhistorycategorizedview.cpp:66
QStandardItem
TransferHistoryCategorizedView::setCategorizedDelegate
void setCategorizedDelegate(TransferHistoryCategorizedDelegate *m_delegate)
Definition: transferhistorycategorizedview.cpp:94
transferhistoryitemdelegate.h
TransferHistoryCategorizedDelegate::AlternativeRoles
AlternativeRoles
Definition: transferhistorycategorizeddelegate.h:22
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:53:17 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

kget

Skip menu "kget"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members

kdenetwork API Reference

Skip menu "kdenetwork API Reference"
  • kget
  • kopete
  •   kopete
  •   libkopete
  • krdc
  • krfb

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal