Changeset View
Changeset View
Standalone View
Standalone View
krusader/ActionMan/useractionlistview.cpp
Show First 20 Lines • Show All 47 Lines • ▼ Show 20 Line(s) | 41 | { | |||
---|---|---|---|---|---|
48 | sortItems(COL_TITLE, Qt::AscendingOrder); | 48 | sortItems(COL_TITLE, Qt::AscendingOrder); | ||
49 | 49 | | |||
50 | connect(this, SIGNAL(currentItemChanged(QTreeWidgetItem*,QTreeWidgetItem*)), SLOT(slotCurrentItemChanged(QTreeWidgetItem*))); | 50 | connect(this, SIGNAL(currentItemChanged(QTreeWidgetItem*,QTreeWidgetItem*)), SLOT(slotCurrentItemChanged(QTreeWidgetItem*))); | ||
51 | 51 | | |||
52 | update(); | 52 | update(); | ||
53 | } | 53 | } | ||
54 | 54 | | |||
55 | UserActionListView::~UserActionListView() | 55 | UserActionListView::~UserActionListView() | ||
56 | { | 56 | = default; | ||
57 | } | | |||
58 | 57 | | |||
59 | QSize UserActionListView::sizeHint() const | 58 | QSize UserActionListView::sizeHint() const | ||
60 | { | 59 | { | ||
61 | return QSize(200, 400); | 60 | return QSize(200, 400); | ||
62 | } | 61 | } | ||
63 | 62 | | |||
64 | void UserActionListView::update() | 63 | void UserActionListView::update() | ||
65 | { | 64 | { | ||
Show All 19 Lines | 76 | if (item) { | |||
85 | if (selected) | 84 | if (selected) | ||
86 | item->setSelected(true); | 85 | item->setSelected(true); | ||
87 | } | 86 | } | ||
88 | } | 87 | } | ||
89 | 88 | | |||
90 | UserActionListViewItem* UserActionListView::insertAction(KrAction* action) | 89 | UserActionListViewItem* UserActionListView::insertAction(KrAction* action) | ||
91 | { | 90 | { | ||
92 | if (! action) | 91 | if (! action) | ||
93 | return 0; | 92 | return nullptr; | ||
94 | 93 | | |||
95 | UserActionListViewItem* item; | 94 | UserActionListViewItem* item; | ||
96 | 95 | | |||
97 | if (action->category().isEmpty()) | 96 | if (action->category().isEmpty()) | ||
98 | item = new UserActionListViewItem(this, action); | 97 | item = new UserActionListViewItem(this, action); | ||
99 | else { | 98 | else { | ||
100 | QTreeWidgetItem* categoryItem = findCategoryItem(action->category()); | 99 | QTreeWidgetItem* categoryItem = findCategoryItem(action->category()); | ||
101 | if (! categoryItem) { | 100 | if (! categoryItem) { | ||
Show All 11 Lines | |||||
113 | QTreeWidgetItem* UserActionListView::findCategoryItem(const QString& category) | 112 | QTreeWidgetItem* UserActionListView::findCategoryItem(const QString& category) | ||
114 | { | 113 | { | ||
115 | QTreeWidgetItemIterator it(this); | 114 | QTreeWidgetItemIterator it(this); | ||
116 | while (*it) { | 115 | while (*it) { | ||
117 | if ((*it)->text(COL_TITLE) == category && !((*it)->flags() & Qt::ItemIsSelectable)) | 116 | if ((*it)->text(COL_TITLE) == category && !((*it)->flags() & Qt::ItemIsSelectable)) | ||
118 | return *it; | 117 | return *it; | ||
119 | it++; | 118 | it++; | ||
120 | } | 119 | } | ||
121 | return 0; | 120 | return nullptr; | ||
122 | } | 121 | } | ||
123 | 122 | | |||
124 | UserActionListViewItem* UserActionListView::findActionItem(const KrAction* action) | 123 | UserActionListViewItem* UserActionListView::findActionItem(const KrAction* action) | ||
125 | { | 124 | { | ||
126 | QTreeWidgetItemIterator it(this); | 125 | QTreeWidgetItemIterator it(this); | ||
127 | while (*it) { | 126 | while (*it) { | ||
128 | if (UserActionListViewItem* item = dynamic_cast<UserActionListViewItem*>(*it)) { | 127 | if (auto* item = dynamic_cast<UserActionListViewItem*>(*it)) { | ||
129 | if (item->action() == action) | 128 | if (item->action() == action) | ||
130 | return item; | 129 | return item; | ||
131 | } | 130 | } | ||
132 | it++; | 131 | it++; | ||
133 | } | 132 | } | ||
134 | return 0; | 133 | return nullptr; | ||
135 | } | 134 | } | ||
136 | 135 | | |||
137 | KrAction * UserActionListView::currentAction() const | 136 | KrAction * UserActionListView::currentAction() const | ||
138 | { | 137 | { | ||
139 | if (UserActionListViewItem* item = dynamic_cast<UserActionListViewItem*>(currentItem())) | 138 | if (auto* item = dynamic_cast<UserActionListViewItem*>(currentItem())) | ||
140 | return item->action(); | 139 | return item->action(); | ||
141 | else | 140 | else | ||
142 | return 0; | 141 | return nullptr; | ||
143 | } | 142 | } | ||
144 | 143 | | |||
145 | void UserActionListView::setCurrentAction(const KrAction* action) | 144 | void UserActionListView::setCurrentAction(const KrAction* action) | ||
146 | { | 145 | { | ||
147 | UserActionListViewItem* item = findActionItem(action); | 146 | UserActionListViewItem* item = findActionItem(action); | ||
148 | if (item) { | 147 | if (item) { | ||
149 | setCurrentItem(item); | 148 | setCurrentItem(item); | ||
150 | } | 149 | } | ||
151 | } | 150 | } | ||
152 | 151 | | |||
153 | void UserActionListView::setFirstActionCurrent() | 152 | void UserActionListView::setFirstActionCurrent() | ||
154 | { | 153 | { | ||
155 | QTreeWidgetItemIterator it(this); | 154 | QTreeWidgetItemIterator it(this); | ||
156 | while (*it) { | 155 | while (*it) { | ||
157 | if (UserActionListViewItem* item = dynamic_cast<UserActionListViewItem*>(*it)) { | 156 | if (auto* item = dynamic_cast<UserActionListViewItem*>(*it)) { | ||
158 | setCurrentItem(item); | 157 | setCurrentItem(item); | ||
159 | break; | 158 | break; | ||
160 | } | 159 | } | ||
161 | it++; | 160 | it++; | ||
162 | } | 161 | } | ||
163 | } | 162 | } | ||
164 | 163 | | |||
165 | void UserActionListView::slotCurrentItemChanged(QTreeWidgetItem* item) | 164 | void UserActionListView::slotCurrentItemChanged(QTreeWidgetItem* item) | ||
166 | { | 165 | { | ||
167 | if (! item) | 166 | if (! item) | ||
168 | return; | 167 | return; | ||
169 | scrollTo(indexOf(item)); | 168 | scrollTo(indexOf(item)); | ||
170 | } | 169 | } | ||
171 | 170 | | |||
172 | QDomDocument UserActionListView::dumpSelectedActions(QDomDocument* mergeDoc) const | 171 | QDomDocument UserActionListView::dumpSelectedActions(QDomDocument* mergeDoc) const | ||
173 | { | 172 | { | ||
174 | QList<QTreeWidgetItem*> list = selectedItems(); | 173 | QList<QTreeWidgetItem*> list = selectedItems(); | ||
175 | QDomDocument doc; | 174 | QDomDocument doc; | ||
176 | if (mergeDoc) | 175 | if (mergeDoc) | ||
177 | doc = *mergeDoc; | 176 | doc = *mergeDoc; | ||
178 | else | 177 | else | ||
179 | doc = UserAction::createEmptyDoc(); | 178 | doc = UserAction::createEmptyDoc(); | ||
180 | QDomElement root = doc.documentElement(); | 179 | QDomElement root = doc.documentElement(); | ||
181 | 180 | | |||
182 | for (int i = 0; i < list.size(); ++i) { | 181 | for (auto item : list) { | ||
183 | QTreeWidgetItem* item = list.at(i); | 182 | if (auto* actionItem = dynamic_cast<UserActionListViewItem*>(item)) | ||
184 | if (UserActionListViewItem* actionItem = dynamic_cast<UserActionListViewItem*>(item)) | | |||
185 | root.appendChild(actionItem->action()->xmlDump(doc)); | 183 | root.appendChild(actionItem->action()->xmlDump(doc)); | ||
186 | } | 184 | } | ||
187 | 185 | | |||
188 | return doc; | 186 | return doc; | ||
189 | } | 187 | } | ||
190 | 188 | | |||
191 | void UserActionListView::removeSelectedActions() | 189 | void UserActionListView::removeSelectedActions() | ||
192 | { | 190 | { | ||
193 | QList<QTreeWidgetItem*> list = selectedItems(); | 191 | QList<QTreeWidgetItem*> list = selectedItems(); | ||
194 | 192 | | |||
195 | for (int i = 0; i < list.size(); ++i) { | 193 | for (auto item : list) { | ||
196 | QTreeWidgetItem* item = list.at(i); | 194 | if (auto* actionItem = dynamic_cast<UserActionListViewItem*>(item)) { | ||
197 | if (UserActionListViewItem* actionItem = dynamic_cast<UserActionListViewItem*>(item)) { | | |||
198 | delete actionItem->action(); // remove the action itself | 195 | delete actionItem->action(); // remove the action itself | ||
199 | delete actionItem; // remove the action from the list | 196 | delete actionItem; // remove the action from the list | ||
200 | } // if | 197 | } // if | ||
201 | } | 198 | } | ||
202 | } | 199 | } | ||
203 | 200 | | |||
204 | // UserActionListViewItem | 201 | // UserActionListViewItem | ||
205 | 202 | | |||
206 | UserActionListViewItem::UserActionListViewItem(QTreeWidget* view, KrAction* action) | 203 | UserActionListViewItem::UserActionListViewItem(QTreeWidget* view, KrAction* action) | ||
207 | : QTreeWidgetItem(view) | 204 | : QTreeWidgetItem(view) | ||
208 | { | 205 | { | ||
209 | setAction(action); | 206 | setAction(action); | ||
210 | } | 207 | } | ||
211 | 208 | | |||
212 | UserActionListViewItem::UserActionListViewItem(QTreeWidgetItem* item, KrAction * action) | 209 | UserActionListViewItem::UserActionListViewItem(QTreeWidgetItem* item, KrAction * action) | ||
213 | : QTreeWidgetItem(item) | 210 | : QTreeWidgetItem(item) | ||
214 | { | 211 | { | ||
215 | setAction(action); | 212 | setAction(action); | ||
216 | } | 213 | } | ||
217 | 214 | | |||
218 | UserActionListViewItem::~UserActionListViewItem() | 215 | UserActionListViewItem::~UserActionListViewItem() | ||
219 | { | 216 | = default; | ||
220 | } | | |||
221 | 217 | | |||
222 | void UserActionListViewItem::setAction(KrAction * action) | 218 | void UserActionListViewItem::setAction(KrAction * action) | ||
223 | { | 219 | { | ||
224 | if (! action) | 220 | if (! action) | ||
225 | return; | 221 | return; | ||
226 | 222 | | |||
227 | _action = action; | 223 | _action = action; | ||
228 | update(); | 224 | update(); | ||
Show All 27 Lines |