save splitters state. Moved restore and save geometry to ui and

showplayer constructors/destructors
This commit is contained in:
snt 2024-07-26 20:16:21 +02:00
parent 11bd76a458
commit f6eb15f13c
7 changed files with 62 additions and 111 deletions

View file

@ -33,89 +33,15 @@
<normaloff>:/buttons/resources/icon.png</normaloff>:/buttons/resources/icon.png</iconset> <normaloff>:/buttons/resources/icon.png</normaloff>:/buttons/resources/icon.png</iconset>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout"> <layout class="QVBoxLayout" name="verticalLayout">
<property name="spacing">
<number>0</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item> <item>
<widget class="QSplitter" name="splitter"> <widget class="QSplitter" name="splitter_2">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>734</width>
<height>16777215</height>
</size>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="orientation"> <property name="orientation">
<enum>Qt::Vertical</enum> <enum>Qt::Vertical</enum>
</property> </property>
<property name="opaqueResize"> <widget class="QSplitter" name="splitter">
<bool>false</bool>
</property>
<property name="handleWidth">
<number>8</number>
</property>
<widget class="QSplitter" name="cueHeaderInfo">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
</property> </property>
<widget class="QProgressBar" name="cueProgressBar">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>2</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="toolTip">
<string>Cue Progress</string>
</property>
<property name="statusTip">
<string>Cue Progress</string>
</property>
<property name="value">
<number>24</number>
</property>
</widget>
<widget class="QLCDNumber" name="cueNumber"> <widget class="QLCDNumber" name="cueNumber">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Minimum"> <sizepolicy hsizetype="Preferred" vsizetype="Minimum">
@ -132,7 +58,6 @@
<property name="font"> <property name="font">
<font> <font>
<pointsize>14</pointsize> <pointsize>14</pointsize>
<weight>75</weight>
<bold>true</bold> <bold>true</bold>
</font> </font>
</property> </property>
@ -177,7 +102,6 @@
<property name="font"> <property name="font">
<font> <font>
<pointsize>13</pointsize> <pointsize>13</pointsize>
<weight>75</weight>
<bold>true</bold> <bold>true</bold>
</font> </font>
</property> </property>
@ -209,6 +133,29 @@
<number>3</number> <number>3</number>
</property> </property>
</widget> </widget>
<widget class="QProgressBar" name="cueProgressBar">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>2</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="toolTip">
<string>Cue Progress</string>
</property>
<property name="statusTip">
<string>Cue Progress</string>
</property>
<property name="value">
<number>24</number>
</property>
</widget>
</widget> </widget>
<widget class="QSplitter" name="mediaInfo"> <widget class="QSplitter" name="mediaInfo">
<property name="sizePolicy"> <property name="sizePolicy">
@ -316,7 +263,6 @@
</property> </property>
<property name="font"> <property name="font">
<font> <font>
<weight>75</weight>
<bold>true</bold> <bold>true</bold>
<underline>false</underline> <underline>false</underline>
</font> </font>
@ -369,7 +315,6 @@
<property name="font"> <property name="font">
<font> <font>
<pointsize>13</pointsize> <pointsize>13</pointsize>
<weight>75</weight>
<bold>true</bold> <bold>true</bold>
</font> </font>
</property> </property>
@ -414,7 +359,7 @@
</property> </property>
<property name="maximumSize"> <property name="maximumSize">
<size> <size>
<width>340</width> <width>16777215</width>
<height>16777215</height> <height>16777215</height>
</size> </size>
</property> </property>
@ -814,7 +759,7 @@
<item row="0" column="2"> <item row="0" column="2">
<widget class="QLabel" name="fadeOutLabel"> <widget class="QLabel" name="fadeOutLabel">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Preferred"> <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch> <horstretch>0</horstretch>
<verstretch>0</verstretch> <verstretch>0</verstretch>
</sizepolicy> </sizepolicy>

View file

@ -45,10 +45,27 @@ libreMediaServerAudioUi::libreMediaServerAudioUi(QWidget *parent)
"selection-background-color: green" "selection-background-color: green"
); );
m_showPlayer = new ShowPlayer(); m_showPlayer = new ShowPlayer();
Settings::getInstance()->beginGroup("mainwindow");
auto geometry = Settings::getInstance()->value("geometry", QByteArray()).toByteArray();
if (!geometry.isEmpty())
restoreGeometry(geometry);
geometry = Settings::getInstance()->value("showPlayerGeometry", QByteArray()).toByteArray();
if (!geometry.isEmpty())
m_showPlayer->restoreGeometry(geometry);
Settings::getInstance()->endGroup();
} }
libreMediaServerAudioUi::~libreMediaServerAudioUi() libreMediaServerAudioUi::~libreMediaServerAudioUi()
{ {
Settings::getInstance()->beginGroup("mainwindow");
Settings::getInstance()->setValue("size", size());
Settings::getInstance()->setValue("fullScreen", isFullScreen());
Settings::getInstance()->setValue("geometry", saveGeometry());
Settings::getInstance()->setValue("showPlayer", m_showPlayer->isVisible());
Settings::getInstance()->setValue("showPlayerSize", m_showPlayer->size());
Settings::getInstance()->setValue("showPlayerGeometry", m_showPlayer->saveGeometry());
Settings::getInstance()->endGroup();
delete m_showPlayer;
} }
void libreMediaServerAudioUi::olasetup() void libreMediaServerAudioUi::olasetup()
@ -60,6 +77,5 @@ void libreMediaServerAudioUi::olasetup()
void libreMediaServerAudioUi::launchShowPlayerWindow() void libreMediaServerAudioUi::launchShowPlayerWindow()
{ {
//m_showPlayer->showMaximized();
m_showPlayer->show(); m_showPlayer->show();
} }

View file

@ -66,17 +66,6 @@ libreMediaServerAudio::~libreMediaServerAudio()
if (m_settings->getDmxActive()) if (m_settings->getDmxActive())
m_ola->stop(); m_ola->stop();
m_mae.stopEngine(); m_mae.stopEngine();
Settings::getInstance()->beginGroup("mainwindow");
Settings::getInstance()->setValue("size", m_lmsUi->size());
Settings::getInstance()->setValue("fullScreen", m_lmsUi->isFullScreen());
Settings::getInstance()->setValue("geometry", m_lmsUi->saveGeometry());
Settings::getInstance()->setValue("showPlayer", m_lmsUi->m_showPlayer->isVisible());
Settings::getInstance()->setValue("showPlayerSize", m_lmsUi->m_showPlayer->size());
Settings::getInstance()->setValue("showPlayerGeometry", m_lmsUi->m_showPlayer->saveGeometry());
Settings::getInstance()->endGroup();
//m_settings->settingsSaver();
if (m_settings->getShowPlayerActive())
m_lmsUi->m_showPlayer->saveCueTrackList("lastshow.xml");
delete m_lmsUi; delete m_lmsUi;
delete m_settings; delete m_settings;
sleep(1); sleep(1);
@ -316,7 +305,6 @@ void libreMediaServerAudio::setUi(libreMediaServerAudioUi *lmsUi)
m_ola->start(QThread::TimeCriticalPriority ); m_ola->start(QThread::TimeCriticalPriority );
} else { } else {
m_lmsUi->m_dmxWidget->hide(); m_lmsUi->m_dmxWidget->hide();
//m_lmsUi->topWidget->hide();
} }
for (uint i = 0; i < m_settings->getAudioDeviceQty(); i++) { for (uint i = 0; i < m_settings->getAudioDeviceQty(); i++) {
char *name = m_mae.getDeviceName(i); char *name = m_mae.getDeviceName(i);
@ -326,14 +314,6 @@ void libreMediaServerAudio::setUi(libreMediaServerAudioUi *lmsUi)
m_lmsUi->m_showPlayer->loadCueTrackList("lastshow.xml"); m_lmsUi->m_showPlayer->loadCueTrackList("lastshow.xml");
m_lmsUi->m_showPlayer->show(); m_lmsUi->m_showPlayer->show();
} }
m_settings->beginGroup("mainwindow");
auto geometry = m_settings->value("geometry", QByteArray()).toByteArray();
if (!geometry.isEmpty())
lmsUi->restoreGeometry(geometry);
geometry = m_settings->value("showPlayerGeometry", QByteArray()).toByteArray();
if (!geometry.isEmpty())
lmsUi->m_showPlayer->restoreGeometry(geometry);
m_settings->endGroup();
m_refreshUi = new QTimer(this); m_refreshUi = new QTimer(this);
connect(m_refreshUi, SIGNAL(timeout()), this, SLOT(refreshUi())); connect(m_refreshUi, SIGNAL(timeout()), this, SLOT(refreshUi()));
m_refreshUi->start(UI_REFRESH_TIME); m_refreshUi->start(UI_REFRESH_TIME);

View file

@ -285,7 +285,7 @@ ma_result MiniAudioEngine::startDevices()
engineConfig.noAutoStart = MA_TRUE; engineConfig.noAutoStart = MA_TRUE;
for (uint internalId = 0; internalId < m_mae.audioDevicesQty; internalId++) { for (uint internalId = 0; internalId < m_mae.audioDevicesQty; internalId++) {
deviceConfig.capture.pDeviceID = &m_mae.pPlaybackDeviceInfos[m_mae.audioDevicesId[internalId]].id; //deviceConfig.capture.pDeviceID = &m_mae.pPlaybackDeviceInfos[m_mae.audioDevicesId[internalId]].id;
deviceConfig.playback.pDeviceID = &m_mae.pPlaybackDeviceInfos[m_mae.audioDevicesId[internalId]].id; deviceConfig.playback.pDeviceID = &m_mae.pPlaybackDeviceInfos[m_mae.audioDevicesId[internalId]].id;
deviceConfig.pUserData = &m_mae.engines[internalId]; deviceConfig.pUserData = &m_mae.engines[internalId];
result = ma_device_init(&m_mae.context, &deviceConfig, &m_mae.devices[internalId]); result = ma_device_init(&m_mae.context, &deviceConfig, &m_mae.devices[internalId]);

View file

@ -19,10 +19,10 @@ Settings::Settings(QObject *parent) :
m_audioDeviceQty = 0; m_audioDeviceQty = 0;
for (uint i = 0; i < MAX_AUDIODEVICES; i++) for (uint i = 0; i < MAX_AUDIODEVICES; i++)
m_audioDeviceId[i] = -1; m_audioDeviceId[i] = -1;
if (QFile::exists(fileName())) if (QFile::exists(DEFAULT_FILE))
settingsLoader();
else if (QFile::exists(DEFAULT_FILE))
readFromFile(DEFAULT_FILE); readFromFile(DEFAULT_FILE);
else if (QFile::exists(fileName()))
settingsLoader();
else { else {
qDebug() << "Can not read initial settings, making some standard"; qDebug() << "Can not read initial settings, making some standard";
setValue("lmsAudio/ui", 1); setValue("lmsAudio/ui", 1);

View file

@ -26,11 +26,21 @@ ShowPlayer::ShowPlayer(QWidget *parent) :
prevCue[i] = nullptr; prevCue[i] = nullptr;
} }
ui->nextCue->setNextCue(); ui->nextCue->setNextCue();
Settings::getInstance()->beginGroup("showPlayerSplittersState");
ui->splitter_main->restoreState(Settings::getInstance()->value("mainSplitter").toByteArray());
ui->splitter_controls->restoreState(Settings::getInstance()->value("controlsSplitter").toByteArray());
ui->splitter_cues->restoreState(Settings::getInstance()->value("cueSplitter").toByteArray());
Settings::getInstance()->endGroup();
} }
ShowPlayer::~ShowPlayer() ShowPlayer::~ShowPlayer()
{ {
saveCueTrackList("lastshow.xml"); saveCueTrackList("lastshow.xml");
Settings::getInstance()->beginGroup("showPlayerSplittersState");
Settings::getInstance()->setValue("mainSplitter", ui->splitter_main->saveState());
Settings::getInstance()->setValue("controlsSplitter", ui->splitter_controls->saveState());
Settings::getInstance()->setValue("cueSplitter", ui->splitter_cues->saveState());
Settings::getInstance()->endGroup();
delete ui; delete ui;
} }

View file

@ -34,7 +34,7 @@
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout"> <layout class="QVBoxLayout" name="verticalLayout">
<item> <item>
<widget class="QSplitter" name="splitter_3"> <widget class="QSplitter" name="splitter_main">
<property name="orientation"> <property name="orientation">
<enum>Qt::Vertical</enum> <enum>Qt::Vertical</enum>
</property> </property>
@ -238,7 +238,7 @@
</item> </item>
</layout> </layout>
</widget> </widget>
<widget class="QSplitter" name="splitter_2"> <widget class="QSplitter" name="splitter_controls">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
</property> </property>
@ -325,7 +325,7 @@
</property> </property>
</widget> </widget>
</widget> </widget>
<widget class="QSplitter" name="splitter"> <widget class="QSplitter" name="splitter_cues">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
</property> </property>