void MainWindow::executeScript() { QAction *action = static_cast<QAction *>(sender()); if (action->data().toString() != "Execute") { stopScript(); return; } QueryWidget *widget = _workArea->currentQueryWidget(); if (!widget) return; widget->execute(); }
/** * @brief Overrides QTabWidget::keyPressEvent() in order to intercept * tab close key shortcuts (Ctrl+F4 and Ctrl+W) */ void WorkAreaTabWidget::keyPressEvent(QKeyEvent *keyEvent) { if ((keyEvent->modifiers() & Qt::ControlModifier) && (keyEvent->key()==Qt::Key_F4 || keyEvent->key()==Qt::Key_W)) { int index = currentIndex(); closeTab(index); return; } QueryWidget *widget = currentQueryWidget(); if (KeyboardManager::isPreviousTabShortcut(keyEvent)) { previousTab(); return; } else if (KeyboardManager::isNextTabShortcut(keyEvent)) { nextTab(); return; } else if (KeyboardManager::isNewTabShortcut(keyEvent) && widget) { widget->openNewTab(); return; } else if (KeyboardManager::isDuplicateTabShortcut(keyEvent) && widget) { widget->duplicate(); return; } else if (KeyboardManager::isSetFocusOnQueryLineShortcut(keyEvent) && widget) { widget->setScriptFocus(); return; } else if (KeyboardManager::isExecuteScriptShortcut(keyEvent) && widget) { widget->execute(); return; } else if (KeyboardManager::isAutoCompleteShortcut(keyEvent) && widget) { widget->showAutocompletion(); return; } else if (KeyboardManager::isHideAutoCompleteShortcut(keyEvent) && widget) { widget->hideAutocompletion(); return; } QTabWidget::keyPressEvent(keyEvent); }
void WorkAreaWidget::executeScript() { QueryWidget *currentWidget = (QueryWidget *)_tabWidget->currentWidget(); if (currentWidget) currentWidget->execute(); }