feature62fix.patch

slayeriq, 01/09/2011 08:39 pm

Download (2.4 KB)

 
b/client/gui_qt/DialogImportNZB.cpp
7 7
#include "ui_DialogImportNZB.h"
8 8
#include "DialogSetCollectionName.h"
9 9

                
10
enum {
11
    FIELD_DOWNLOAD,
12
    FIELD_SUBJECT,
13
    FIELD_POSTER,
14
    FIELD_GROUPS,
15
    FIELD_STAMP,
16
    FIELD_FILE_SIZE_STR,
17
    FIELD_FILE_SIZE,
18
    FIELD_GROUPS_LIST,
19
    FIELD_SEGMENTS_LIST,
20
    NUM_FIELDS
21
};
22

                
10 23
class ItemDelegate : public QStyledItemDelegate
11 24
{
12 25
public:
... ...
42 55
            return false;
43 56
        // make sure that we have a check state
44 57
        QVariant value = index.data(Qt::CheckStateRole);
45
        if (!value.isValid())
46
            return false;
58

                
47 59
        // make sure that we have the right event type
48 60
        if (event->type() == QEvent::MouseButtonRelease) {
49 61
            const int textMargin = QApplication::style()->pixelMetric(QStyle::PM_FocusFrameHMargin) + 1;
... ...
57 69
        } else if (event->type() == QEvent::KeyPress) {
58 70
            if (static_cast(event)->key() != Qt::Key_Space&& static_cast(event)->key() != Qt::Key_Select)
59 71
                return false;
72

                
73
            QTreeWidget *tree = static_cast(model->parent());
74

                
75
            for (int i = 0; i < tree->topLevelItemCount(); i++) {
76
                QTreeWidgetItem *item = tree->topLevelItem(i);
77

                
78
                if(item->isSelected()) {
79
                    Qt::CheckState checkState = (item->checkState(FIELD_DOWNLOAD) == Qt::Checked ? Qt::Unchecked : Qt::Checked);
80
                    item->setCheckState(FIELD_DOWNLOAD, checkState);
81
                }
82
            }
83

                
84
            return false;
60 85
        } else {
61 86
            return false;
62 87
        }
88

                
89
        if (!value.isValid()) {
90
            return false;
91
        }
92

                
63 93
        Qt::CheckState state = (static_cast(value.toInt()) == Qt::Checked
64 94
                                ? Qt::Unchecked : Qt::Checked);
65 95
        return model->setData(index, state, Qt::CheckStateRole);
66 96
    }
67 97
};
68 98

                
69
enum {
70
    FIELD_DOWNLOAD,
71
    FIELD_SUBJECT,
72
    FIELD_POSTER,
73
    FIELD_GROUPS,
74
    FIELD_STAMP,
75
    FIELD_FILE_SIZE_STR,
76
    FIELD_FILE_SIZE,
77
    FIELD_GROUPS_LIST,
78
    FIELD_SEGMENTS_LIST,
79
    NUM_FIELDS
80
};
81

                
82 99
Q_DECLARE_METATYPE(QList);
83 100
Q_DECLARE_METATYPE(QList);
84 101