From a17116f465eb0a465274accc83b8266f5b84d90f Mon Sep 17 00:00:00 2001 From: wmayer Date: Thu, 1 May 2014 16:12:03 +0200 Subject: [PATCH] + Add action to modify current item in constraint view --- src/Mod/Sketcher/Gui/TaskSketcherConstrains.cpp | 13 +++++++++++-- src/Mod/Sketcher/Gui/TaskSketcherConstrains.h | 1 + 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/Mod/Sketcher/Gui/TaskSketcherConstrains.cpp b/src/Mod/Sketcher/Gui/TaskSketcherConstrains.cpp index 3353885e3..8d8a56138 100644 --- a/src/Mod/Sketcher/Gui/TaskSketcherConstrains.cpp +++ b/src/Mod/Sketcher/Gui/TaskSketcherConstrains.cpp @@ -104,22 +104,31 @@ ConstraintView::~ConstraintView() void ConstraintView::contextMenuEvent (QContextMenuEvent* event) { QMenu menu; + QListWidgetItem* item = currentItem(); + QList items = selectedItems(); + + QAction* change = menu.addAction(tr("Change value"), this, SLOT(modifyCurrentItem())); + QVariant v = item ? item->data(Qt::UserRole) : QVariant(); + change->setEnabled(v.isValid()); QAction* rename = menu.addAction(tr("Rename"), this, SLOT(renameCurrentItem()) #ifndef Q_WS_MAC // on Mac F2 doesn't seem to trigger an edit signal ,QKeySequence(Qt::Key_F2) #endif ); - QListWidgetItem* item = currentItem(); rename->setEnabled(item != 0); - QList items = selectedItems(); QAction* remove = menu.addAction(tr("Delete"), this, SLOT(deleteSelectedItems()), QKeySequence(QKeySequence::Delete)); remove->setEnabled(!items.isEmpty()); menu.exec(event->globalPos()); } +void ConstraintView::modifyCurrentItem() +{ + /*emit*/itemActivated(currentItem()); +} + void ConstraintView::renameCurrentItem() { QListWidgetItem* item = currentItem(); diff --git a/src/Mod/Sketcher/Gui/TaskSketcherConstrains.h b/src/Mod/Sketcher/Gui/TaskSketcherConstrains.h index 0d6494364..870caf4b1 100644 --- a/src/Mod/Sketcher/Gui/TaskSketcherConstrains.h +++ b/src/Mod/Sketcher/Gui/TaskSketcherConstrains.h @@ -49,6 +49,7 @@ protected: void contextMenuEvent (QContextMenuEvent* event); protected Q_SLOTS: + void modifyCurrentItem(); void renameCurrentItem(); void deleteSelectedItems(); };