| 548 | |
| 549 | |
| 550 | void NNotebookView::contextMenuEvent(QContextMenuEvent *event) { |
| 551 | QList<QTreeWidgetItem*> items = selectedItems(); |
| 552 | QAction *stackAction = stackMenu->menuAction(); |
| 553 | context.removeAction(stackAction); |
| 554 | |
| 555 | if (items.size() == 0) { |
| 556 | propertiesAction->setEnabled(false); |
| 557 | deleteAction->setEnabled(false); |
| 558 | renameAction->setEnabled(false); |
| 559 | removeFromStackAction->setVisible(false); |
| 560 | } else { |
| 561 | propertiesAction->setEnabled(true); |
| 562 | deleteAction->setEnabled(true); |
| 563 | renameAction->setEnabled(true); |
| 564 | removeFromStackAction->setVisible(false); |
| 565 | NotebookTable table(global.db); |
| 566 | |
| 567 | for (int i=0; i<items.size(); i++) { |
| 568 | if (items[i]->data(NAME_POSITION, Qt::UserRole).toString() == "STACK") { |
| 569 | deleteAction->setEnabled(false); |
| 570 | removeFromStackAction->setVisible(false); |
| 571 | } else { |
| 572 | qint32 lid = items[i]->data(NAME_POSITION, Qt::UserRole).toInt(); |
| 573 | if (table.isStacked(lid)) { |
| 574 | removeFromStackAction->setVisible(true); |
| 575 | } else { |
| 576 | removeFromStackAction->setVisible(false); |
| 577 | context.insertAction(renameAction, stackAction); |
| 578 | } |
| 579 | } |
| 580 | } |
| 581 | } |
| 582 | context.exec(event->globalPos()); |
| 583 | } |
| 584 | |
| 585 | |
| 586 |
nothing calls this directly
no test coverage detected