Changeset View
Changeset View
Standalone View
Standalone View
krusader/GUI/krtreewidget.cpp
Show First 20 Lines • Show All 42 Lines • ▼ Show 20 Line(s) | 34 | { | |||
---|---|---|---|---|---|
43 | setStyle(krstyle); | 43 | setStyle(krstyle); | ||
44 | } | 44 | } | ||
45 | 45 | | |||
46 | bool KrTreeWidget::event(QEvent * event) | 46 | bool KrTreeWidget::event(QEvent * event) | ||
47 | { | 47 | { | ||
48 | switch (event->type()) { | 48 | switch (event->type()) { | ||
49 | // HACK: QT 4 Context menu key isn't handled properly | 49 | // HACK: QT 4 Context menu key isn't handled properly | ||
50 | case QEvent::ContextMenu: { | 50 | case QEvent::ContextMenu: { | ||
51 | auto* ce = (QContextMenuEvent*) event; | 51 | auto* ce = dynamic_cast<QContextMenuEvent*>( event); | ||
52 | 52 | | |||
53 | if (ce->reason() == QContextMenuEvent::Mouse) { | 53 | if (ce->reason() == QContextMenuEvent::Mouse) { | ||
54 | QPoint pos = viewport()->mapFromGlobal(ce->globalPos()); | 54 | QPoint pos = viewport()->mapFromGlobal(ce->globalPos()); | ||
55 | 55 | | |||
56 | QTreeWidgetItem * item = itemAt(pos); | 56 | QTreeWidgetItem * item = itemAt(pos); | ||
57 | int column = columnAt(pos.x()); | 57 | int column = columnAt(pos.x()); | ||
58 | 58 | | |||
59 | emit itemRightClicked(item, ce->globalPos(), column); | 59 | emit itemRightClicked(item, ce->globalPos(), column); | ||
60 | return true; | 60 | return true; | ||
61 | } else { | 61 | } else { | ||
62 | if (currentItem()) { | 62 | if (currentItem()) { | ||
63 | QRect r = visualItemRect(currentItem()); | 63 | QRect r = visualItemRect(currentItem()); | ||
64 | QPoint p = viewport()->mapToGlobal(QPoint(r.x() + 5, r.y() + 5)); | 64 | QPoint p = viewport()->mapToGlobal(QPoint(r.x() + 5, r.y() + 5)); | ||
65 | 65 | | |||
66 | emit itemRightClicked(currentItem(), p, currentColumn()); | 66 | emit itemRightClicked(currentItem(), p, currentColumn()); | ||
67 | return true; | 67 | return true; | ||
68 | } | 68 | } | ||
69 | } | 69 | } | ||
70 | } | 70 | } | ||
71 | break; | 71 | break; | ||
72 | case QEvent::KeyPress: { | 72 | case QEvent::KeyPress: { | ||
73 | // HACK: QT 4 Ctrl+A bug fix: Ctrl+A doesn't work if QTreeWidget contains parent / child items | 73 | // HACK: QT 4 Ctrl+A bug fix: Ctrl+A doesn't work if QTreeWidget contains parent / child items | ||
74 | // Insert doesn't change the selections for multi selection modes | 74 | // Insert doesn't change the selections for multi selection modes | ||
75 | auto* ke = (QKeyEvent*) event; | 75 | auto* ke = dynamic_cast<QKeyEvent*>( event); | ||
76 | switch (ke->key()) { | 76 | switch (ke->key()) { | ||
77 | case Qt::Key_Insert: { | 77 | case Qt::Key_Insert: { | ||
78 | if (ke->modifiers() != 0) | 78 | if (ke->modifiers() != 0) | ||
79 | break; | 79 | break; | ||
80 | 80 | | |||
81 | QAbstractItemView::SelectionMode mode = selectionMode(); | 81 | QAbstractItemView::SelectionMode mode = selectionMode(); | ||
82 | 82 | | |||
83 | if (mode != QAbstractItemView::ContiguousSelection && mode != QAbstractItemView::ExtendedSelection && | 83 | if (mode != QAbstractItemView::ContiguousSelection && mode != QAbstractItemView::ExtendedSelection && | ||
Show All 21 Lines | 95 | case Qt::Key_A: | |||
105 | } | 105 | } | ||
106 | break; | 106 | break; | ||
107 | default: | 107 | default: | ||
108 | break; | 108 | break; | ||
109 | } | 109 | } | ||
110 | } | 110 | } | ||
111 | break; | 111 | break; | ||
112 | case QEvent::Resize: { | 112 | case QEvent::Resize: { | ||
113 | auto * re = (QResizeEvent *)event; | 113 | auto * re = dynamic_cast<QResizeEvent *>(event); | ||
114 | if (!_inResize && re->oldSize() != re->size()) { | 114 | if (!_inResize && re->oldSize() != re->size()) { | ||
115 | if (_stretchingColumn != -1 && columnCount()) { | 115 | if (_stretchingColumn != -1 && columnCount()) { | ||
116 | QList< int > columnsSizes; | 116 | QList< int > columnsSizes; | ||
117 | int oldSize = 0; | 117 | int oldSize = 0; | ||
118 | 118 | | |||
119 | for (int i = 0; i != header()->count(); i++) { | 119 | for (int i = 0; i != header()->count(); i++) { | ||
120 | columnsSizes.append(header()->sectionSize(i)); | 120 | columnsSizes.append(header()->sectionSize(i)); | ||
121 | oldSize += header()->sectionSize(i); | 121 | oldSize += header()->sectionSize(i); | ||
▲ Show 20 Lines • Show All 82 Lines • Show Last 20 Lines |