Relicense all GPLv2 only code to GPLv2+.
[kdenetwork.git] / kget / ui / transfersview.cpp
blobaff362e0fb123194e2a75c62727b43a829423175
1 /* This file is part of the KDE project
3 Copyright (C) 2006 Dario Massarin <nekkar@libero.it>
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 */
11 #include "transfersview.h"
13 #include <kdebug.h>
15 #include <QDropEvent>
16 #include <QHeaderView>
18 TransfersView::TransfersView(QWidget * parent)
19 : QTreeView(parent)
21 setRootIsDecorated(false);
22 setAnimated(true);
23 setAllColumnsShowFocus(true);
24 header()->setDefaultAlignment(Qt::AlignCenter);
25 header()->setMinimumSectionSize(80);
27 setSelectionMode(QAbstractItemView::ExtendedSelection);
28 setDragEnabled(true);
29 setAcceptDrops(true);
30 setDropIndicatorShown(true);
31 setEditTriggers(QAbstractItemView::NoEditTriggers);
34 TransfersView::~TransfersView()
39 void TransfersView::setModel(QAbstractItemModel * model)
41 QTreeView::setModel(model);
43 int nGroups = model->rowCount(QModelIndex());
45 for(int i = 0; i < nGroups; i++)
47 kDebug(5001) << "openEditor for row " << i;
48 openPersistentEditor(model->index(i, 1, QModelIndex()));
51 setColumnWidth(0, 250);
54 QModelIndex TransfersView::indexFromTransferHandler(TransferHandler *handler)
56 for(int groupRow = 0; groupRow < model()->rowCount(); groupRow ++) {
57 QModelIndex groupIndex = model()->index(groupRow, 0, QModelIndex());
58 for(int transferRow = 0; transferRow < model()->rowCount(groupIndex); transferRow ++) {
59 QModelIndex index = model()->index(transferRow, 0, groupIndex);
61 TransferHandler *indexHandler = static_cast <TransferHandler *> (index.internalPointer());
62 if(indexHandler == handler) {
63 return index;
67 return QModelIndex();
70 void TransfersView::dropEvent(QDropEvent * event)
72 QModelIndex dropIndex = indexAt(event->pos());
74 QTreeView::dropEvent(event);
76 setExpanded(dropIndex, true);
79 void TransfersView::rowsInserted(const QModelIndex & parent, int start, int end)
81 kDebug(5001) << "TransfersView::rowsInserted";
83 if(!parent.isValid())
85 kDebug(5001) << "parent is not valid " << start << " " << end;
87 for(int i = start; i <= end; i++)
89 kDebug(5001) << "openEditor for row " << i;
90 openPersistentEditor(model()->index(i, 1, parent));
94 QTreeView::rowsInserted(parent, start, end);
96 setExpanded(parent, true);
99 #include "transfersview.moc"