CInfoEditor::CInfoEditor(QWidget *parent) : QMainWindow(parent), ui(new Ui::CInfoEditor) { ui->setupUi(this); setGeometry(0, 0, 1000 ,650); connect(ui->widget, SIGNAL(showItemText(QString, QString)), SLOT(displayItemInfo(QString, QString))); }
/* * Implements the right-click context menu. * User can right-click to add a folder/bookmark if no item is selected, or edit/delete * the currently selected item. */ void BookmarkWidget::showContextMenu(const QPoint &pos) { QString text, s_edit, s_delete; QMenu menu; // DT: only show menu if there is an item being visualized. if(!mw()->VTKA()) return; QPoint globalPos = bTreeWidget->mapToGlobal(pos); QTreeWidgetItem* item = bTreeWidget->itemAt(pos); if(!item) { //QAction* addFolderAct = menu.addAction(tr("Add Folder...")); //addFolderAct->setData(QVariant(ADD_FOLDER)); QAction* addBookmarkAct = menu.addAction(tr("Add Bookmark...")); addBookmarkAct->setData(QVariant(ADD_BOOKMARK)); } else { text = item->text(TITLE_COLUMN); if(text.length() > STRING_MAX) { text.truncate(STRING_MAX); s_edit = "Edit \"" + text + "...\""; s_delete = "Delete \"" + text + "...\""; } else { s_edit = "Edit \"" + text + "\""; s_delete = "Delete \"" + text + "\""; } QAction* editItemAct = menu.addAction(s_edit); editItemAct->setData(QVariant(EDIT_ITEM)); QAction* deleteItemAct = menu.addAction(s_delete); deleteItemAct->setData(QVariant(DELETE_ITEM)); menu.addSeparator(); QAction* getInfoAct = menu.addAction(tr("Get Info...")); getInfoAct->setData(QVariant(GET_INFO)); } QAction* act = menu.exec(globalPos); if (act) { int a = act->data().toInt(); switch(a) { //case ADD_FOLDER: { createFolder(); break; } case ADD_BOOKMARK: { createBookmark(); break; } case EDIT_ITEM: { editItem(item); break; } case DELETE_ITEM: { deleteItem(item); break; } case GET_INFO: { displayItemInfo(item); break; } default: break; } } }