| 209 | } |
| 210 | |
| 211 | void LiveCapture::on_captures_mouseClicked(QMouseEvent *e) |
| 212 | { |
| 213 | if(e->buttons() & Qt::RightButton && !ui->captures->selectedItems().empty()) |
| 214 | { |
| 215 | QMenu contextMenu(this); |
| 216 | |
| 217 | QMenu contextOpenMenu(tr("&Open in..."), this); |
| 218 | QAction thisAction(tr("This instance"), this); |
| 219 | QAction newAction(tr("New instance"), this); |
| 220 | |
| 221 | contextOpenMenu.addAction(&thisAction); |
| 222 | contextOpenMenu.addAction(&newAction); |
| 223 | |
| 224 | QAction contextRenameAction(tr("&Rename capture"), this); |
| 225 | QAction contextSaveAction(tr("&Save"), this); |
| 226 | QAction contextDeleteAction(tr("&Delete"), this); |
| 227 | |
| 228 | contextMenu.addAction(contextOpenMenu.menuAction()); |
| 229 | contextMenu.addAction(&contextRenameAction); |
| 230 | contextMenu.addAction(&contextSaveAction); |
| 231 | contextMenu.addAction(&contextDeleteAction); |
| 232 | |
| 233 | if(ui->captures->selectedItems().size() == 1) |
| 234 | { |
| 235 | newAction.setEnabled(GetCapture(ui->captures->selectedItems()[0])->local); |
| 236 | } |
| 237 | else |
| 238 | { |
| 239 | contextOpenMenu.setEnabled(false); |
| 240 | contextRenameAction.setEnabled(false); |
| 241 | contextSaveAction.setText(tr("&Save All")); |
| 242 | contextDeleteAction.setText(tr("&Delete All")); |
| 243 | } |
| 244 | |
| 245 | QObject::connect(&thisAction, &QAction::triggered, this, &LiveCapture::openCapture_triggered); |
| 246 | QObject::connect(&newAction, &QAction::triggered, this, &LiveCapture::openNewWindow_triggered); |
| 247 | QObject::connect(&contextRenameAction, &QAction::triggered, |
| 248 | [this]() { ui->captures->editItem(ui->captures->selectedItems()[0]); }); |
| 249 | QObject::connect(&contextSaveAction, &QAction::triggered, this, |
| 250 | &LiveCapture::saveCapture_triggered); |
| 251 | QObject::connect(&contextDeleteAction, &QAction::triggered, this, |
| 252 | &LiveCapture::deleteCapture_triggered); |
| 253 | |
| 254 | m_ContextMenu = &contextMenu; |
| 255 | RDDialog::show(&contextMenu, QCursor::pos()); |
| 256 | m_ContextMenu = NULL; |
| 257 | } |
| 258 | } |
| 259 | |
| 260 | void LiveCapture::on_captures_itemActivated(QListWidgetItem *item) |
| 261 | { |