mirror of
https://github.com/qTox/qTox.git
synced 2024-03-22 14:00:36 +08:00
parent
44ddb8789c
commit
8876dad457
|
@ -204,6 +204,10 @@ void Settings::load()
|
|||
filterAudio = s.value("filterAudio", false).toBool();
|
||||
s.endGroup();
|
||||
|
||||
s.beginGroup("Video");
|
||||
camVideoRes = s.value("camVideoRes",QSize()).toSize();
|
||||
s.endGroup();
|
||||
|
||||
// Read the embedded DHT bootsrap nodes list if needed
|
||||
if (dhtServerList.isEmpty())
|
||||
{
|
||||
|
@ -350,6 +354,10 @@ void Settings::save(QString path, bool writeFriends)
|
|||
s.setValue("filterAudio", filterAudio);
|
||||
s.endGroup();
|
||||
|
||||
s.beginGroup("Video");
|
||||
s.setValue("camVideoRes",camVideoRes);
|
||||
s.endGroup();
|
||||
|
||||
if (!writeFriends || currentProfile.isEmpty()) // Core::switchConfiguration
|
||||
return;
|
||||
|
||||
|
@ -940,6 +948,16 @@ void Settings::setFilterAudio(bool newValue)
|
|||
filterAudio = newValue;
|
||||
}
|
||||
|
||||
QSize Settings::getCamVideoRes() const
|
||||
{
|
||||
return camVideoRes;
|
||||
}
|
||||
|
||||
void Settings::setCamVideoRes(QSize newValue)
|
||||
{
|
||||
camVideoRes = newValue;
|
||||
}
|
||||
|
||||
QString Settings::getFriendAdress(const QString &publicKey) const
|
||||
{
|
||||
QString key = ToxID::fromString(publicKey).publicKey;
|
||||
|
|
|
@ -139,6 +139,9 @@ public:
|
|||
bool getFilterAudio() const;
|
||||
void setFilterAudio(bool newValue);
|
||||
|
||||
QSize getCamVideoRes() const;
|
||||
void setCamVideoRes(QSize newValue);
|
||||
|
||||
// Assume all widgets have unique names
|
||||
// Don't use it to save every single thing you want to save, use it
|
||||
// for some general purpose widgets, such as MainWindows or Splitters,
|
||||
|
@ -317,6 +320,9 @@ private:
|
|||
QString outDev;
|
||||
bool filterAudio;
|
||||
|
||||
// Video
|
||||
QSize camVideoRes;
|
||||
|
||||
struct friendProp
|
||||
{
|
||||
QString alias;
|
||||
|
|
|
@ -95,7 +95,9 @@ void AVForm::on_HueSlider_sliderMoved(int position)
|
|||
|
||||
void AVForm::on_videoModescomboBox_currentIndexChanged(int index)
|
||||
{
|
||||
Camera::getInstance()->setResolution(bodyUI->videoModescomboBox->itemData(index).toSize());
|
||||
QSize res = bodyUI->videoModescomboBox->itemData(index).toSize();
|
||||
Settings::getInstance().setCamVideoRes(res);
|
||||
Camera::getInstance()->setResolution(res);
|
||||
}
|
||||
|
||||
void AVForm::onPropProbingFinished(Camera::Prop prop, double val)
|
||||
|
@ -121,14 +123,24 @@ void AVForm::onPropProbingFinished(Camera::Prop prop, double val)
|
|||
|
||||
void AVForm::onResProbingFinished(QList<QSize> res)
|
||||
{
|
||||
QSize savedRes = Settings::getInstance().getCamVideoRes();
|
||||
int savedResIndex = -1;
|
||||
bodyUI->videoModescomboBox->clear();
|
||||
bodyUI->videoModescomboBox->blockSignals(true);
|
||||
for (QSize r : res)
|
||||
for (int i=0; i<res.size(); ++i)
|
||||
{
|
||||
QSize& r = res[i];
|
||||
bodyUI->videoModescomboBox->addItem(QString("%1x%2").arg(QString::number(r.width()),QString::number(r.height())), r);
|
||||
if (r == savedRes)
|
||||
savedResIndex = i;
|
||||
}
|
||||
//reset index, otherwise cameras with only one resolution won't get initialized
|
||||
bodyUI->videoModescomboBox->setCurrentIndex(-1);
|
||||
bodyUI->videoModescomboBox->blockSignals(false);
|
||||
|
||||
if (savedResIndex != -1)
|
||||
bodyUI->videoModescomboBox->setCurrentIndex(savedResIndex);
|
||||
else
|
||||
bodyUI->videoModescomboBox->setCurrentIndex(bodyUI->videoModescomboBox->count()-1);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user