| 229 | } |
| 230 | |
| 231 | QVariant Node::data(const QModelIndex& index, int role) const |
| 232 | { |
| 233 | switch (FileTree::Column(index.column())) { |
| 234 | case FileTree::Column::NameColorVisible: |
| 235 | switch (role) { |
| 236 | case Qt::DisplayRole: |
| 237 | return file->shortName(); |
| 238 | case Qt::ToolTipRole: |
| 239 | return file->shortName() + "\n" + file->name(); |
| 240 | case Qt::CheckStateRole: |
| 241 | return file->isVisible() ? Qt::Checked : Qt::Unchecked; |
| 242 | case Qt::DecorationRole: |
| 243 | return QIcon::fromTheme("crosshairs"); |
| 244 | } |
| 245 | break; |
| 246 | case FileTree::Column::Side: |
| 247 | switch (role) { |
| 248 | case Qt::DisplayRole: |
| 249 | case Qt::ToolTipRole: |
| 250 | return sideStrList[file->side()]; |
| 251 | case Qt::EditRole: |
| 252 | return static_cast<bool>(file->side()); |
| 253 | } |
| 254 | break; |
| 255 | case FileTree::Column::ItemsType: |
| 256 | switch (role) { |
| 257 | case Qt::DisplayRole: |
| 258 | return file->displayedTypes().at(int(file->itemsType())).shortActName(); |
| 259 | case Qt::ToolTipRole: |
| 260 | return file->displayedTypes().at(int(file->itemsType())).actToolTip; |
| 261 | case Qt::EditRole: |
| 262 | return file->displayedTypes().at(int(file->itemsType())).id; |
| 263 | } |
| 264 | break; |
| 265 | default: |
| 266 | break; |
| 267 | } |
| 268 | switch (role) { |
| 269 | case FileTree::Id: |
| 270 | return *m_id; |
| 271 | default: |
| 272 | return QVariant(); |
| 273 | } |
| 274 | return QVariant(); |
| 275 | } |
| 276 | |
| 277 | void Node::menu(QMenu& menu, FileTree::View* tv) const |
| 278 | { |