Пример #1
0
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)));
}
Пример #2
0
/*
 * 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;
        }
    }
}