Fixed #41: remember pane sizes when showing/hiding
This commit is contained in:
parent
6716eb771e
commit
186fed04e3
@ -2489,10 +2489,35 @@ void MainWindow::on_actionShow_Frequency_Clock_triggered(bool checked){
|
|||||||
|
|
||||||
void MainWindow::on_actionShow_Band_Activity_triggered(bool checked){
|
void MainWindow::on_actionShow_Band_Activity_triggered(bool checked){
|
||||||
auto hsizes = ui->textHorizontalSplitter->sizes();
|
auto hsizes = ui->textHorizontalSplitter->sizes();
|
||||||
hsizes[0] = checked ? ui->textHorizontalSplitter->width()/4 : 0;
|
|
||||||
|
if(m_bandActivityWidth == 0){
|
||||||
|
m_bandActivityWidth = ui->textHorizontalSplitter->width()/4;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(m_callActivityWidth == 0){
|
||||||
|
m_callActivityWidth = ui->textHorizontalSplitter->width()/4;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(m_textActivityWidth == 0){
|
||||||
|
m_textActivityWidth = ui->textHorizontalSplitter->width()/2;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(checked){
|
||||||
|
hsizes[0] = m_bandActivityWidth;
|
||||||
|
hsizes[1] = m_textActivityWidth;
|
||||||
|
if(hsizes[2]) hsizes[2] = m_callActivityWidth;
|
||||||
|
|
||||||
|
} else {
|
||||||
|
if(hsizes[0]) m_bandActivityWidth = hsizes[0];
|
||||||
|
if(hsizes[1]) m_textActivityWidth = hsizes[1];
|
||||||
|
if(hsizes[2]) m_callActivityWidth = hsizes[2];
|
||||||
|
hsizes[0] = 0;
|
||||||
|
}
|
||||||
|
|
||||||
ui->textHorizontalSplitter->setSizes(hsizes);
|
ui->textHorizontalSplitter->setSizes(hsizes);
|
||||||
ui->tableWidgetRXAll->setVisible(checked);
|
ui->tableWidgetRXAll->setVisible(checked);
|
||||||
m_bandActivityWasVisible = checked;
|
m_bandActivityWasVisible = checked;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::on_actionShow_Band_Heartbeats_and_ACKs_triggered(bool checked){
|
void MainWindow::on_actionShow_Band_Heartbeats_and_ACKs_triggered(bool checked){
|
||||||
@ -2502,18 +2527,53 @@ void MainWindow::on_actionShow_Band_Heartbeats_and_ACKs_triggered(bool checked){
|
|||||||
|
|
||||||
void MainWindow::on_actionShow_Call_Activity_triggered(bool checked){
|
void MainWindow::on_actionShow_Call_Activity_triggered(bool checked){
|
||||||
auto hsizes = ui->textHorizontalSplitter->sizes();
|
auto hsizes = ui->textHorizontalSplitter->sizes();
|
||||||
hsizes[2] = checked ? ui->textHorizontalSplitter->width()/4 : 0;
|
|
||||||
|
if(m_bandActivityWidth == 0){
|
||||||
|
m_bandActivityWidth = ui->textHorizontalSplitter->width()/4;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(m_callActivityWidth == 0){
|
||||||
|
m_callActivityWidth = ui->textHorizontalSplitter->width()/4;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(m_textActivityWidth == 0){
|
||||||
|
m_textActivityWidth = ui->textHorizontalSplitter->width()/2;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(checked){
|
||||||
|
if(hsizes[0]) hsizes[0] = m_bandActivityWidth;
|
||||||
|
hsizes[1] = m_textActivityWidth;
|
||||||
|
hsizes[2] = m_callActivityWidth;
|
||||||
|
|
||||||
|
//hsizes[0] = m_callActivityWidth;
|
||||||
|
//hsizes[1] -= m_callActivityWidth;
|
||||||
|
} else {
|
||||||
|
if(hsizes[0]) m_bandActivityWidth = hsizes[0];
|
||||||
|
if(hsizes[1]) m_textActivityWidth = hsizes[1];
|
||||||
|
if(hsizes[2]) m_callActivityWidth = hsizes[2];
|
||||||
|
hsizes[2] = 0;
|
||||||
|
}
|
||||||
|
|
||||||
ui->textHorizontalSplitter->setSizes(hsizes);
|
ui->textHorizontalSplitter->setSizes(hsizes);
|
||||||
ui->tableWidgetCalls->setVisible(checked);
|
ui->tableWidgetCalls->setVisible(checked);
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::on_actionShow_Waterfall_triggered(bool checked){
|
void MainWindow::on_actionShow_Waterfall_triggered(bool checked){
|
||||||
auto vsizes = ui->mainSplitter->sizes();
|
auto vsizes = ui->mainSplitter->sizes();
|
||||||
vsizes[0] = qMin(vsizes[0], ui->logHorizontalWidget->minimumHeight());
|
|
||||||
int oldHeight = vsizes[vsizes.length()-1];
|
if(m_waterfallHeight == 0){
|
||||||
int newHeight = checked ? ui->mainSplitter->height()/4 : 0;
|
m_waterfallHeight = ui->mainSplitter->height()/4;
|
||||||
vsizes[1] += oldHeight - newHeight;
|
}
|
||||||
vsizes[vsizes.length()-1] = newHeight;
|
|
||||||
|
if(checked){
|
||||||
|
vsizes[vsizes.length() - 1] = m_waterfallHeight;
|
||||||
|
|
||||||
|
} else {
|
||||||
|
m_waterfallHeight = vsizes[vsizes.length() - 1];
|
||||||
|
vsizes[1] += m_waterfallHeight;
|
||||||
|
vsizes[vsizes.length() - 1] = 0;
|
||||||
|
}
|
||||||
|
|
||||||
ui->mainSplitter->setSizes(vsizes);
|
ui->mainSplitter->setSizes(vsizes);
|
||||||
ui->bandHorizontalWidget->setVisible(checked);
|
ui->bandHorizontalWidget->setVisible(checked);
|
||||||
}
|
}
|
||||||
|
@ -752,6 +752,10 @@ private:
|
|||||||
QList<ActivityDetail> msgs;
|
QList<ActivityDetail> msgs;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
int m_bandActivityWidth;
|
||||||
|
int m_callActivityWidth;
|
||||||
|
int m_textActivityWidth;
|
||||||
|
int m_waterfallHeight;
|
||||||
bool m_bandActivityWasVisible;
|
bool m_bandActivityWasVisible;
|
||||||
bool m_rxDirty;
|
bool m_rxDirty;
|
||||||
bool m_rxDisplayDirty;
|
bool m_rxDisplayDirty;
|
||||||
|
Loading…
Reference in New Issue
Block a user