1
0
mirror of https://github.com/qTox/qTox.git synced 2024-03-22 14:00:36 +08:00

Merge branches 'pr990', 'pr1008', 'pr1009' and 'pr1011'

This commit is contained in:
Dubslow 2015-01-15 01:48:11 -06:00
No known key found for this signature in database
GPG Key ID: 3DB8E05315C220AA
7 changed files with 82 additions and 37 deletions

View File

@ -355,7 +355,7 @@ void Core::bootstrapDht()
}
static int j = qrand() % listSize;
qDebug() << "Core: Bootstraping to the DHT ...";
qDebug() << "Core: Bootstrapping to the DHT ...";
int i=0;
while (i < 2) // i think the more we bootstrap, the more we jitter because the more we overwrite nodes
@ -363,10 +363,10 @@ void Core::bootstrapDht()
const Settings::DhtServer& dhtServer = dhtServerList[j % listSize];
if (tox_bootstrap_from_address(tox, dhtServer.address.toLatin1().data(),
dhtServer.port, CUserId(dhtServer.userId).data()) == 1)
qDebug() << QString("Core: Bootstraping from ")+dhtServer.name+QString(", addr ")+dhtServer.address.toLatin1().data()
qDebug() << QString("Core: Bootstrapping from ")+dhtServer.name+QString(", addr ")+dhtServer.address.toLatin1().data()
+QString(", port ")+QString().setNum(dhtServer.port);
else
qDebug() << "Core: Error bootstraping from "+dhtServer.name;
qDebug() << "Core: Error bootstrapping from "+dhtServer.name;
j++;
i++;

View File

@ -112,7 +112,7 @@ void CameraWorker::_probeResolutions()
//qDebug() << "PROBING:" << res << " got " << w << h;
if (!resolutions.contains(QSize(w,h)))
if (w>0 && h>0 && !resolutions.contains(QSize(w,h)))
resolutions.append(QSize(w,h));
}

View File

@ -57,7 +57,10 @@ GenericChatForm::GenericChatForm(QWidget *parent) :
QVBoxLayout *mainLayout = new QVBoxLayout(),
*footButtonsSmall = new QVBoxLayout(),
*volMicLayout = new QVBoxLayout();
*micButtonsLayout = new QVBoxLayout();
QGridLayout *buttonsLayout = new QGridLayout();
headTextLayout = new QVBoxLayout();
chatWidget = new ChatAreaWidget();
@ -125,26 +128,32 @@ GenericChatForm::GenericChatForm(QWidget *parent) :
headTextLayout->addStretch();
headTextLayout->addWidget(nameLabel);
headTextLayout->addStretch();
volMicLayout->addWidget(micButton, Qt::AlignTop);
volMicLayout->addSpacing(2);
volMicLayout->addWidget(volButton, Qt::AlignBottom);
micButtonsLayout->addWidget(micButton, Qt::AlignTop | Qt::AlignRight);
micButtonsLayout->addWidget(volButton, Qt::AlignTop | Qt::AlignRight);
buttonsLayout->addLayout(micButtonsLayout, 0, 0, Qt::AlignTop | Qt::AlignRight);
buttonsLayout->addWidget(callButton, 0, 1, 2, 1, Qt::AlignTop);
buttonsLayout->addWidget(videoButton, 0, 2, 2, 1, Qt::AlignTop);
buttonsLayout->setSpacing(1);
headLayout->addWidget(avatar, Qt::AlignTop | Qt::AlignLeft);
headLayout->addSpacing(5);
headLayout->addLayout(headTextLayout, Qt::AlignTop | Qt::AlignAbsolute);
headLayout->addLayout(buttonsLayout, Qt::AlignTop | Qt::AlignRight);
headWidget->setLayout(headLayout);
headLayout->addWidget(avatar);
headLayout->addSpacing(5);
headLayout->addLayout(headTextLayout);
headLayout->addLayout(volMicLayout);
headLayout->addWidget(callButton);
headLayout->addSpacing(3);
headLayout->addWidget(videoButton);
headLayout->setSpacing(0);
//Fix for incorrect layouts on OS X as per
//https://bugreports.qt-project.org/browse/QTBUG-14591
sendButton->setAttribute(Qt::WA_LayoutUsesWidgetRect);
fileButton->setAttribute(Qt::WA_LayoutUsesWidgetRect);
emoteButton->setAttribute(Qt::WA_LayoutUsesWidgetRect);
micButton->setAttribute(Qt::WA_LayoutUsesWidgetRect);
volButton->setAttribute(Qt::WA_LayoutUsesWidgetRect);
callButton->setAttribute(Qt::WA_LayoutUsesWidgetRect);
videoButton->setAttribute(Qt::WA_LayoutUsesWidgetRect);
menu.addAction(tr("Save chat log"), this, SLOT(onSaveLogClicked()));
menu.addAction(tr("Clear displayed messages"), this, SLOT(clearChatArea(bool)));

View File

@ -67,6 +67,10 @@ void AVForm::present()
Camera::getInstance()->probeProp(Camera::HUE);
Camera::getInstance()->probeResolutions();
bodyUI->videoModescomboBox->blockSignals(true);
bodyUI->videoModescomboBox->addItem(tr("Initializing Camera..."));
bodyUI->videoModescomboBox->blockSignals(false);
}
void AVForm::on_ContrastSlider_sliderMoved(int position)
@ -89,7 +93,7 @@ void AVForm::on_HueSlider_sliderMoved(int position)
Camera::getInstance()->setProp(Camera::HUE, position / 100.0);
}
void AVForm::on_videoModescomboBox_activated(int index)
void AVForm::on_videoModescomboBox_currentIndexChanged(int index)
{
Camera::getInstance()->setResolution(bodyUI->videoModescomboBox->itemData(index).toSize());
}
@ -118,8 +122,12 @@ void AVForm::onPropProbingFinished(Camera::Prop prop, double val)
void AVForm::onResProbingFinished(QList<QSize> res)
{
bodyUI->videoModescomboBox->clear();
bodyUI->videoModescomboBox->blockSignals(true);
for (QSize r : res)
bodyUI->videoModescomboBox->addItem(QString("%1x%2").arg(QString::number(r.width()),QString::number(r.height())), r);
//reset index, otherwise cameras with only one resolution won't get initialized
bodyUI->videoModescomboBox->setCurrentIndex(-1);
bodyUI->videoModescomboBox->blockSignals(false);
bodyUI->videoModescomboBox->setCurrentIndex(bodyUI->videoModescomboBox->count()-1);
}
@ -129,36 +137,47 @@ void AVForm::hideEvent(QHideEvent *)
bodyUI->CamVideoSurface->setSource(nullptr);
}
void AVForm::showEvent(QShowEvent *)
{
bodyUI->CamVideoSurface->setSource(Camera::getInstance());
}
void AVForm::getAudioInDevices()
{
QString settingsInDev = Settings::getInstance().getInDev();
bool inDevFound = false;
int inDevIndex = 0;
bodyUI->inDevCombobox->clear();
const ALchar *pDeviceList = alcGetString(NULL, ALC_CAPTURE_DEVICE_SPECIFIER);
if (pDeviceList)
{
//prevent currentIndexChanged to be fired while adding items
bodyUI->inDevCombobox->blockSignals(true);
while (*pDeviceList)
{
int len = strlen(pDeviceList);
QString inDev = QString::fromLocal8Bit(pDeviceList,len);
#ifdef Q_OS_WIN32
QString inDev = QString::fromUtf8(pDeviceList,len);
#else
QString inDev = QString::fromLocal8Bit(pDeviceList,len);
#endif
bodyUI->inDevCombobox->addItem(inDev);
if (settingsInDev == inDev)
{
bodyUI->inDevCombobox->setCurrentIndex(bodyUI->inDevCombobox->count()-1);
inDevFound = true;
inDevIndex = bodyUI->inDevCombobox->count()-1;
}
pDeviceList += len+1;
}
//addItem changes currentIndex -> reset
bodyUI->inDevCombobox->setCurrentIndex(-1);
bodyUI->inDevCombobox->blockSignals(false);
}
if (!inDevFound)
Settings::getInstance().setInDev(bodyUI->inDevCombobox->itemText(0));
bodyUI->inDevCombobox->setCurrentIndex(inDevIndex);
}
void AVForm::getAudioOutDevices()
{
QString settingsOutDev = Settings::getInstance().getOutDev();
bool outDevFound = false;
int outDevIndex = 0;
bodyUI->outDevCombobox->clear();
const ALchar *pDeviceList;
if (alcIsExtensionPresent(NULL, "ALC_ENUMERATE_ALL_EXT") != AL_FALSE)
@ -167,22 +186,28 @@ void AVForm::getAudioOutDevices()
pDeviceList = alcGetString(NULL, ALC_DEVICE_SPECIFIER);
if (pDeviceList)
{
//prevent currentIndexChanged to be fired while adding items
bodyUI->outDevCombobox->blockSignals(true);
while (*pDeviceList)
{
int len = strlen(pDeviceList);
QString outDev = QString::fromLocal8Bit(pDeviceList,len);
#ifdef Q_OS_WIN32
QString outDev = QString::fromUtf8(pDeviceList,len);
#else
QString outDev = QString::fromLocal8Bit(pDeviceList,len);
#endif
bodyUI->outDevCombobox->addItem(outDev);
if (settingsOutDev == outDev)
{
bodyUI->outDevCombobox->setCurrentIndex(bodyUI->outDevCombobox->count()-1);
outDevFound = true;
outDevIndex = bodyUI->outDevCombobox->count()-1;
}
pDeviceList += len+1;
}
//addItem changes currentIndex -> reset
bodyUI->outDevCombobox->setCurrentIndex(-1);
bodyUI->outDevCombobox->blockSignals(false);
}
if (!outDevFound)
Settings::getInstance().setOutDev(bodyUI->outDevCombobox->itemText(0));
bodyUI->outDevCombobox->setCurrentIndex(outDevIndex);
}
void AVForm::onInDevChanged(const QString &deviceDescriptor)

View File

@ -47,7 +47,7 @@ private slots:
void on_SaturationSlider_sliderMoved(int position);
void on_BrightnessSlider_sliderMoved(int position);
void on_HueSlider_sliderMoved(int position);
void on_videoModescomboBox_activated(int index);
void on_videoModescomboBox_currentIndexChanged(int index);
// audio
void onInDevChanged(const QString& deviceDescriptor);
@ -59,6 +59,7 @@ private slots:
void onResProbingFinished(QList<QSize> res);
virtual void hideEvent(QHideEvent*);
virtual void showEvent(QShowEvent*);
private:
Ui::AVSettings *bodyUI;

View File

@ -22,7 +22,7 @@
#include <QDebug>
VideoSurface::VideoSurface(QWidget* parent)
: QGLWidget(QGLFormat(QGL::SampleBuffers | QGL::SingleBuffer), parent)
: QGLWidget(QGLFormat(QGL::SingleBuffer), parent)
, source(nullptr)
, pbo{nullptr, nullptr}
, textureId(0)
@ -30,7 +30,7 @@ VideoSurface::VideoSurface(QWidget* parent)
, hasSubscribed(false)
, pboIndex(0)
{
setAutoBufferSwap(false);
}
VideoSurface::VideoSurface(VideoSource *source, QWidget* parent)
@ -65,8 +65,8 @@ void VideoSurface::setSource(VideoSource *src)
void VideoSurface::initializeGL()
{
QGLWidget::initializeGL();
qDebug() << "VideoSurface: Init";
// pbo
pbo[0] = new QOpenGLBuffer(QOpenGLBuffer::PixelUnpackBuffer);
pbo[0]->setUsagePattern(QOpenGLBuffer::StreamDraw);

10
translations/de.ts vendored
View File

@ -251,6 +251,11 @@ Soll der Proxy ignoriert und eine direkte Internetverbindung genutzt werden?</tr
<source>Call duration: </source>
<translation>Anrufdauer: </translation>
</message>
<message>
<location filename="../src/widget/form/chatform.cpp" line="905"/>
<source>is typing...</source>
<translation>tippt gerade...</translation>
</message>
</context>
<context>
<name>ChatTextEdit</name>
@ -607,6 +612,11 @@ Alias:</translation>
<source>Faux offline messaging</source>
<translation>Imitiert Offline Benachrichtigung</translation>
</message>
<message>
<location filename="../src/widget/form/settings/generalsettings.ui" line="196"/>
<source>Compact layout</source>
<translation>Kompakte Darstellung</translation>
</message>
<message>
<location filename="../src/widget/form/settings/generalsettings.ui" line="198"/>
<source>Provided in minutes</source>