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.
11 #include "transfersview.h"
16 #include <QHeaderView>
18 TransfersView::TransfersView(QWidget
* parent
)
21 setRootIsDecorated(false);
23 setAllColumnsShowFocus(true);
24 header()->setDefaultAlignment(Qt::AlignCenter
);
25 header()->setMinimumSectionSize(80);
27 setSelectionMode(QAbstractItemView::ExtendedSelection
);
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
) {
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";
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"