@@ -247,9 +247,30 @@ void MainWindow::init()
247247 popupSchemaDockMenu->addAction (ui->actionPopupSchemaDockDetachDatabase );
248248 popupSchemaDockMenu->addSeparator ();
249249 popupSchemaDockMenu->addAction (ui->actionDropSelectQueryCheck );
250+ popupSchemaDockMenu->addAction (ui->actionDropInsertCheck );
251+ popupSchemaDockMenu->addAction (ui->actionDropNamesCheck );
252+
253+ QActionGroup* dropGroup = new QActionGroup (popupSchemaDockMenu);
254+ dropGroup->addAction (ui->actionDropSelectQueryCheck );
255+ dropGroup->addAction (ui->actionDropInsertCheck );
256+ dropGroup->addAction (ui->actionDropNamesCheck );
257+
258+ popupSchemaDockMenu->addSeparator ();
250259 popupSchemaDockMenu->addAction (ui->actionDropQualifiedCheck );
251260 popupSchemaDockMenu->addAction (ui->actionEnquoteNamesCheck );
252261
262+ popupSchemaDockMenu->addSeparator ();
263+ QAction* copyAction = new QAction (QIcon (" :/icons/copy" ), tr (" Copy" ), popupSchemaDockMenu);
264+ copyAction->setShortcut (QKeySequence::Copy);
265+ popupSchemaDockMenu->addAction (copyAction);
266+ connect (copyAction, &QAction::triggered, this , [=]() {
267+ dbStructureModel->copy (ui->treeSchemaDock ->selectionModel ()->selectedIndexes ());
268+ });
269+ auto copyShortcut = new QShortcut (QKeySequence::Copy, ui->treeSchemaDock );
270+ connect (copyShortcut, &QShortcut::activated, this , [=]() {
271+ dbStructureModel->copy (ui->treeSchemaDock ->selectionModel ()->selectedIndexes ());
272+ });
273+
253274 popupOpenDbMenu = new QMenu (this );
254275 popupOpenDbMenu->addAction (ui->fileOpenAction );
255276 popupOpenDbMenu->addAction (ui->fileOpenReadOnlyAction );
@@ -419,14 +440,16 @@ void MainWindow::init()
419440 connect (ui->dockEdit , &QDockWidget::visibilityChanged, this , &MainWindow::toggleEditDock);
420441 connect (remoteDock, SIGNAL (openFile (QString)), this , SLOT (fileOpen (QString)));
421442 connect (ui->actionDropSelectQueryCheck , &QAction::toggled, dbStructureModel, &DbStructureModel::setDropSelectQuery);
443+ connect (ui->actionDropInsertCheck , &QAction::toggled, dbStructureModel, &DbStructureModel::setDropInsert);
444+ connect (ui->actionDropNamesCheck , &QAction::toggled, dbStructureModel,
445+ [this ]() {
446+ dbStructureModel->setDropSelectQuery (false );
447+ dbStructureModel->setDropInsert (false );
448+ });
422449 connect (ui->actionDropQualifiedCheck , &QAction::toggled, dbStructureModel, &DbStructureModel::setDropQualifiedNames);
423450 connect (ui->actionEnquoteNamesCheck , &QAction::toggled, dbStructureModel, &DbStructureModel::setDropEnquotedNames);
424451 connect (&db, &DBBrowserDB::databaseInUseChanged, this , &MainWindow::updateDatabaseBusyStatus);
425452
426- ui->actionDropSelectQueryCheck ->setChecked (Settings::getValue (" SchemaDock" , " dropSelectQuery" ).toBool ());
427- ui->actionDropQualifiedCheck ->setChecked (Settings::getValue (" SchemaDock" , " dropQualifiedNames" ).toBool ());
428- ui->actionEnquoteNamesCheck ->setChecked (Settings::getValue (" SchemaDock" , " dropEnquotedNames" ).toBool ());
429-
430453 connect (ui->actionSqlStop , &QAction::triggered, this , [this ]() {
431454 if (execute_sql_worker && execute_sql_worker->isRunning ())
432455 execute_sql_worker->stop ();
@@ -770,6 +793,7 @@ void MainWindow::closeEvent( QCloseEvent* event )
770793
771794 Settings::setValue (" SQLLogDock" , " Log" , ui->comboLogSubmittedBy ->currentText ());
772795 Settings::setValue (" SchemaDock" , " dropSelectQuery" , ui->actionDropSelectQueryCheck ->isChecked ());
796+ Settings::setValue (" SchemaDock" , " dropInsert" , ui->actionDropInsertCheck ->isChecked ());
773797 Settings::setValue (" SchemaDock" , " dropQualifiedNames" , ui->actionDropQualifiedCheck ->isChecked ());
774798 Settings::setValue (" SchemaDock" , " dropEnquotedNames" , ui->actionEnquoteNamesCheck ->isChecked ());
775799
@@ -2423,7 +2447,16 @@ void MainWindow::reloadSettings()
24232447
24242448 sqlb::setIdentifierQuoting (static_cast <sqlb::escapeQuoting>(Settings::getValue (" editor" , " identifier_quotes" ).toInt ()));
24252449
2426- ui->tabSqlAreas ->setTabsClosable (Settings::getValue (" editor" , " close_button_on_tabs" ).toBool ());
2450+ ui->tabSqlAreas ->setTabsClosable (
2451+ Settings::getValue (" editor" , " close_button_on_tabs" ).toBool ());
2452+
2453+ ui->actionDropSelectQueryCheck ->setChecked (Settings::getValue (" SchemaDock" , " dropSelectQuery" ).toBool ());
2454+ ui->actionDropInsertCheck ->setChecked (Settings::getValue (" SchemaDock" , " dropInsert" ).toBool ());
2455+ ui->actionDropNamesCheck ->setChecked (!ui->actionDropSelectQueryCheck ->isChecked () &&
2456+ !ui->actionDropInsertCheck ->isChecked ());
2457+
2458+ ui->actionDropQualifiedCheck ->setChecked (Settings::getValue (" SchemaDock" , " dropQualifiedNames" ).toBool ());
2459+ ui->actionEnquoteNamesCheck ->setChecked (Settings::getValue (" SchemaDock" , " dropEnquotedNames" ).toBool ());
24272460}
24282461
24292462void MainWindow::checkNewVersion (const bool automatic)
0 commit comments