mirror of
https://github.com/sqlitebrowser/sqlitebrowser.git
synced 2026-01-27 22:40:34 -06:00
New predefined settings for Window Layout
A new predefined simplified layout has been added with the only the basic functions: schema, browsing and SQL execution. Ideal for courses. Also added options for moving all the docked windows to the bottom, left side or top (for the right, the default can be restored with Reset Window Layout as before). See issue #2307
This commit is contained in:
@@ -317,12 +317,38 @@ void MainWindow::init()
|
||||
}
|
||||
|
||||
ui->viewMenu->addSeparator();
|
||||
QAction* resetLayoutAction = ui->viewMenu->addAction(tr("Reset Window Layout"));
|
||||
|
||||
QMenu* layoutMenu = new QMenu(tr("Window Layout"), this);
|
||||
ui->viewMenu->addMenu(layoutMenu);
|
||||
|
||||
QAction* resetLayoutAction = layoutMenu->addAction(tr("Reset Window Layout"));
|
||||
resetLayoutAction->setShortcut(QKeySequence(tr("Alt+0")));
|
||||
connect(resetLayoutAction, &QAction::triggered, [=]() {
|
||||
restoreState(defaultWindowState);
|
||||
restoreOpenTabs(defaultOpenTabs);
|
||||
});
|
||||
QAction* simplifyLayoutAction = layoutMenu->addAction(tr("Simplify Window Layout"));
|
||||
simplifyLayoutAction->setShortcut(QKeySequence(tr("Shift+Alt+0")));
|
||||
connect(simplifyLayoutAction, &QAction::triggered, [=]() {
|
||||
toggleTabVisible(ui->pragmas, false);
|
||||
ui->dockLog->hide();
|
||||
ui->dockPlot->hide();
|
||||
ui->dockSchema->hide();
|
||||
ui->dockEdit->hide();
|
||||
ui->dockRemote->hide();
|
||||
});
|
||||
QAction* atBottomLayoutAction = layoutMenu->addAction(tr("Dock Windows at Bottom"));
|
||||
connect(atBottomLayoutAction, &QAction::triggered, [=]() {
|
||||
moveDocksTo(Qt::BottomDockWidgetArea);
|
||||
});
|
||||
QAction* atLeftLayoutAction = layoutMenu->addAction(tr("Dock Windows at Left Side"));
|
||||
connect(atLeftLayoutAction, &QAction::triggered, [=]() {
|
||||
moveDocksTo(Qt::LeftDockWidgetArea);
|
||||
});
|
||||
QAction* atTopLayoutAction = layoutMenu->addAction(tr("Dock Windows at Top"));
|
||||
connect(atTopLayoutAction, &QAction::triggered, [=]() {
|
||||
moveDocksTo(Qt::TopDockWidgetArea);
|
||||
});
|
||||
|
||||
// Set Alt+[1-4] shortcuts for opening the corresponding tab in that position.
|
||||
// Note that it is safe to call setCurrentIndex with a tab that is currently closed,
|
||||
@@ -1995,7 +2021,7 @@ void MainWindow::openSqlFile()
|
||||
|
||||
QFileInfo fileinfo(file);
|
||||
ui->tabSqlAreas->setTabText(index, fileinfo.fileName());
|
||||
ui->tabSqlAreas->setTabIcon(index, QIcon(":/icons/document_open"));
|
||||
ui->tabSqlAreas->setTabIcon(index, QIcon(":/icons/document_open"));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3399,3 +3425,12 @@ void MainWindow::focusSqlEditor()
|
||||
if(sqlArea)
|
||||
sqlArea->getEditor()->setFocus();
|
||||
}
|
||||
|
||||
void MainWindow::moveDocksTo(Qt::DockWidgetArea area)
|
||||
{
|
||||
addDockWidget(area, ui->dockEdit);
|
||||
addDockWidget(area, ui->dockLog);
|
||||
tabifyDockWidget(ui->dockLog, ui->dockPlot);
|
||||
tabifyDockWidget(ui->dockLog, ui->dockSchema);
|
||||
tabifyDockWidget(ui->dockLog, ui->dockRemote);
|
||||
}
|
||||
|
||||
@@ -115,6 +115,7 @@ private:
|
||||
bool closeProject();
|
||||
bool askSaveSqlTab(int index, bool& ignoreUnattachedBuffers);
|
||||
void focusSqlEditor();
|
||||
void moveDocksTo(Qt::DockWidgetArea area);
|
||||
|
||||
protected:
|
||||
void closeEvent(QCloseEvent *) override;
|
||||
|
||||
Reference in New Issue
Block a user