UI: Undo/fix stats dock changes to main window
The stats dock was incorrectly added to the .ui file, causing the stats dock to show by default on startup, and just generally causing a bad default startup UI appearance. This fixes that by adding the stats dock programmatically/dynamically instead of modifying the .ui file.
This commit is contained in:
parent
3c22cf35c9
commit
e51adb0fdf
3 changed files with 36 additions and 27 deletions
|
|
@ -182,6 +182,15 @@ OBSBasic::OBSBasic(QWidget *parent)
|
|||
|
||||
startingDockLayout = saveState();
|
||||
|
||||
statsDock = new QDockWidget();
|
||||
statsDock->setObjectName(QStringLiteral("statsDock"));
|
||||
statsDock->setFeatures(QDockWidget::AllDockWidgetFeatures);
|
||||
statsDock->setWindowTitle(QTStr("Basic.Stats"));
|
||||
addDockWidget(Qt::BottomDockWidgetArea, statsDock);
|
||||
statsDock->setVisible(false);
|
||||
statsDock->setFloating(true);
|
||||
statsDock->resize(700, 200);
|
||||
|
||||
copyActionsDynamicProperties();
|
||||
|
||||
char styleSheetPath[512];
|
||||
|
|
@ -306,7 +315,7 @@ OBSBasic::OBSBasic(QWidget *parent)
|
|||
assignDockToggle(ui->mixerDock, ui->toggleMixer);
|
||||
assignDockToggle(ui->transitionsDock, ui->toggleTransitions);
|
||||
assignDockToggle(ui->controlsDock, ui->toggleControls);
|
||||
assignDockToggle(ui->statsDock, ui->toggleStats);
|
||||
assignDockToggle(statsDock, ui->toggleStats);
|
||||
|
||||
//hide all docking panes
|
||||
ui->toggleScenes->setChecked(false);
|
||||
|
|
@ -316,6 +325,8 @@ OBSBasic::OBSBasic(QWidget *parent)
|
|||
ui->toggleControls->setChecked(false);
|
||||
ui->toggleStats->setChecked(false);
|
||||
|
||||
QPoint curPos;
|
||||
|
||||
//restore parent window geometry
|
||||
const char *geometry = config_get_string(App()->GlobalConfig(),
|
||||
"BasicWindow", "geometry");
|
||||
|
|
@ -332,7 +343,19 @@ OBSBasic::OBSBasic(QWidget *parent)
|
|||
Qt::AlignCenter,
|
||||
size(), rect));
|
||||
}
|
||||
|
||||
curPos = pos();
|
||||
} else {
|
||||
QRect desktopRect = QGuiApplication::primaryScreen()->geometry();
|
||||
QSize adjSize = desktopRect.size() / 2 - size() / 2;
|
||||
curPos = QPoint(adjSize.width(), adjSize.height());
|
||||
}
|
||||
|
||||
QPoint curSize(width(), height());
|
||||
QPoint statsDockSize(statsDock->width(), statsDock->height());
|
||||
QPoint statsDockPos = curSize / 2 - statsDockSize / 2;
|
||||
QPoint newPos = curPos + statsDockPos;
|
||||
statsDock->move(newPos);
|
||||
}
|
||||
|
||||
static void SaveAudioDevice(const char *name, int channel, obs_data_t *parent,
|
||||
|
|
@ -1595,8 +1618,8 @@ void OBSBasic::OBSInit()
|
|||
#endif
|
||||
|
||||
/* setup stats dock */
|
||||
OBSBasicStats *statsDlg = new OBSBasicStats(ui->statsDock, false);
|
||||
ui->statsDock->setWidget(statsDlg);
|
||||
OBSBasicStats *statsDlg = new OBSBasicStats(statsDock, false);
|
||||
statsDock->setWidget(statsDlg);
|
||||
|
||||
const char *dockStateStr = config_get_string(App()->GlobalConfig(),
|
||||
"BasicWindow", "DockState");
|
||||
|
|
@ -6121,8 +6144,7 @@ void OBSBasic::on_resetUI_triggered()
|
|||
ui->sourcesDock,
|
||||
ui->mixerDock,
|
||||
ui->transitionsDock,
|
||||
ui->controlsDock,
|
||||
ui->statsDock
|
||||
ui->controlsDock
|
||||
};
|
||||
|
||||
QList<int> sizes {
|
||||
|
|
@ -6138,7 +6160,8 @@ void OBSBasic::on_resetUI_triggered()
|
|||
ui->mixerDock->setVisible(true);
|
||||
ui->transitionsDock->setVisible(true);
|
||||
ui->controlsDock->setVisible(true);
|
||||
ui->statsDock->setVisible(true);
|
||||
statsDock->setVisible(false);
|
||||
statsDock->setFloating(true);
|
||||
|
||||
resizeDocks(docks, {cy, cy, cy, cy, cy}, Qt::Vertical);
|
||||
resizeDocks(docks, sizes, Qt::Horizontal);
|
||||
|
|
@ -6156,7 +6179,7 @@ void OBSBasic::on_lockUI_toggled(bool lock)
|
|||
ui->mixerDock->setFeatures(features);
|
||||
ui->transitionsDock->setFeatures(features);
|
||||
ui->controlsDock->setFeatures(features);
|
||||
ui->statsDock->setFeatures(features);
|
||||
statsDock->setFeatures(features);
|
||||
}
|
||||
|
||||
void OBSBasic::on_toggleListboxToolbars_toggled(bool visible)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue