diff --git a/src/accountlistmodel.cpp b/src/accountlistmodel.cpp index adee7bcff75d8f811fe6fd794e908c937d86a82d..9158e1c40b06664baaae7a92e6839052ae5c29dc 100644 --- a/src/accountlistmodel.cpp +++ b/src/accountlistmodel.cpp @@ -60,9 +60,9 @@ QVariant AccountListModel::data(const QModelIndex &index, int role) const switch (role) { case Role::Alias: case Qt::DisplayRole: - return QVariant(QString::fromStdString(Utils::bestNameForAccount(accountInfo))); + return QVariant(Utils::bestNameForAccount(accountInfo)); case Role::Username: - return QVariant(QString::fromStdString(Utils::secondBestNameForAccount(accountInfo))); + return QVariant(Utils::secondBestNameForAccount(accountInfo)); case Role::Type: return QVariant(Utils::toUnderlyingValue<lrc::api::profile::Type>(accountInfo.profileInfo.type)); case Role::Status: @@ -71,7 +71,7 @@ QVariant AccountListModel::data(const QModelIndex &index, int role) const case Qt::DecorationRole: return Utils::accountPhoto(accountInfo); case Role::ID: - return QVariant(QString::fromStdString(accountInfo.id)); + return QVariant(accountInfo.id); } return QVariant(); } diff --git a/src/accountmigrationdialog.cpp b/src/accountmigrationdialog.cpp index 0eab0aa4f53b513facfe8c2427b65ffbb813bbb4..347d38c4680ef5e98e4fefd2245d54ef94907d1d 100644 --- a/src/accountmigrationdialog.cpp +++ b/src/accountmigrationdialog.cpp @@ -22,7 +22,7 @@ #include <QTimer> #include <QtConcurrent/QtConcurrent> -AccountMigrationDialog::AccountMigrationDialog(QWidget *parent, const std::string& accountId) : +AccountMigrationDialog::AccountMigrationDialog(QWidget *parent, const QString& accountId) : QDialog(parent), ui(new Ui::AccountMigrationDialog), accountId_(accountId) @@ -32,10 +32,10 @@ AccountMigrationDialog::AccountMigrationDialog(QWidget *parent, const std::strin auto& avatarInfo = LRCInstance::accountModel().getAccountInfo(accountId_); - auto managerUsername = QString::fromStdString(avatarInfo.confProperties.managerUsername); - auto managerUri = QString::fromStdString(avatarInfo.confProperties.managerUri); - auto username = QString::fromStdString(avatarInfo.confProperties.username); - auto alias = QString::fromStdString(LRCInstance::accountModel().getAccountInfo(accountId_).profileInfo.alias); + auto managerUsername = avatarInfo.confProperties.managerUsername; + auto managerUri = avatarInfo.confProperties.managerUri; + auto username = avatarInfo.confProperties.username; + auto alias = LRCInstance::accountModel().getAccountInfo(accountId_).profileInfo.alias; // manager uri if (!managerUri.isEmpty()) { @@ -51,7 +51,7 @@ AccountMigrationDialog::AccountMigrationDialog(QWidget *parent, const std::strin if (!username.isEmpty()) { ui->usernameInputLabel->setText(username); } else { - if (avatarInfo.confProperties.managerUsername.empty()) { + if (avatarInfo.confProperties.managerUsername.isEmpty()) { ui->usernameLabel->hide(); ui->usernameInputLabel->hide(); ui->gridLayout->removeWidget(ui->usernameInputLabel); @@ -85,7 +85,7 @@ AccountMigrationDialog::AccountMigrationDialog(QWidget *parent, const std::strin } else { ui->migrationPushButton->setDisabled(false); } - password_ = text.toStdString(); + password_ = text; }); ui->migrationPushButton->setDisabled(true); @@ -104,7 +104,7 @@ AccountMigrationDialog::~AccountMigrationDialog() void AccountMigrationDialog::slotPasswordEditingFinished() { - password_ = ui->passwordInputLineEdit->text().toStdString(); + password_ = ui->passwordInputLineEdit->text(); } void @@ -121,7 +121,7 @@ AccountMigrationDialog::slotMigrationButtonClicked() migrationSpinnerMovie_->start(); connect(&LRCInstance::accountModel(), &lrc::api::NewAccountModel::migrationEnded, - [this](const std::string& accountId, bool ok) { + [this](const QString& accountId, bool ok) { if (accountId_ != accountId) { return; } diff --git a/src/accountmigrationdialog.h b/src/accountmigrationdialog.h index 04ffea4047f3f96217cfecb1823631c3867c57e6..922a7327fa923b5de69962b78db0d2fa34e6f8c8 100644 --- a/src/accountmigrationdialog.h +++ b/src/accountmigrationdialog.h @@ -34,14 +34,14 @@ class AccountMigrationDialog : public QDialog public: - explicit AccountMigrationDialog(QWidget *parent = 0, const std::string& accountId = {}); + explicit AccountMigrationDialog(QWidget *parent = 0, const QString& accountId = {}); ~AccountMigrationDialog(); private: Ui::AccountMigrationDialog *ui; - std::string accountId_; - std::string password_; + QString accountId_; + QString password_; QMovie* migrationSpinnerMovie_; private slots: diff --git a/src/advancedsettingswidget.cpp b/src/advancedsettingswidget.cpp index 69445c4a87297286fd4d94497852fb12491c88dc..300a7edafdadc15f18e1f4c030545d7766373328 100644 --- a/src/advancedsettingswidget.cpp +++ b/src/advancedsettingswidget.cpp @@ -113,26 +113,26 @@ AdvancedSettingsWidget::updateAdvancedSettings() ui->checkBoxCustomRingtone->setChecked(config.Ringtone.ringtoneEnabled); // Name Server - ui->lineEditNameServer->setText(QString::fromStdString(config.RingNS.uri)); + ui->lineEditNameServer->setText(config.RingNS.uri); //OpenDHT Config ui->checkBoxEnableProxy->setChecked(config.proxyEnabled); - ui->lineEditProxy->setText(QString::fromStdString(config.proxyServer)); - ui->lineEditBootstrap->setText(QString::fromStdString(config.hostname)); + ui->lineEditProxy->setText(config.proxyServer); + ui->lineEditBootstrap->setText(config.hostname); // Security - ui->btnCACert->setText(QFileInfo(QString::fromStdString(LRCInstance::getCurrAccConfig().TLS.certificateListFile)).fileName()); - ui->btnUserCert->setText(QFileInfo(QString::fromStdString(LRCInstance::getCurrAccConfig().TLS.certificateFile)).fileName()); - ui->btnPrivateKey->setText(QFileInfo(QString::fromStdString(LRCInstance::getCurrAccConfig().TLS.privateKeyFile)).fileName()); + ui->btnCACert->setText(QFileInfo(LRCInstance::getCurrAccConfig().TLS.certificateListFile).fileName()); + ui->btnUserCert->setText(QFileInfo(LRCInstance::getCurrAccConfig().TLS.certificateFile).fileName()); + ui->btnPrivateKey->setText(QFileInfo(LRCInstance::getCurrAccConfig().TLS.privateKeyFile).fileName()); // Connectivity ui->checkBoxUPnP->setChecked(config.upnpEnabled); ui->checkBoxTurnEnable->setChecked(config.TURN.enable); - ui->lineEditTurnAddress->setText(QString::fromStdString(config.TURN.server)); - ui->lineEditTurnUsername->setText(QString::fromStdString(config.TURN.username)); - ui->lineEditTurnPassword->setText(QString::fromStdString(config.TURN.password)); + ui->lineEditTurnAddress->setText(config.TURN.server); + ui->lineEditTurnUsername->setText(config.TURN.username); + ui->lineEditTurnPassword->setText(config.TURN.password); ui->checkBoxSTUNEnable->setChecked(config.STUN.enable); - ui->lineEditSTUNAddress->setText(QString::fromStdString(config.STUN.server)); + ui->lineEditSTUNAddress->setText(config.STUN.server); // codecs ui->videoCheckBox->setChecked(config.Video.videoEnabled); @@ -144,7 +144,7 @@ AdvancedSettingsWidget::updateAdvancedSettings() connect(ui->videoListWidget, &QListWidget::itemChanged, this, &AdvancedSettingsWidget::videoCodecsStateChange); ui->btnRingtone->setEnabled(LRCInstance::getCurrAccConfig().Ringtone.ringtoneEnabled); - ui->btnRingtone->setText(QFileInfo(QString::fromStdString(LRCInstance::getCurrAccConfig().Ringtone.ringtonePath)).fileName()); + ui->btnRingtone->setText(QFileInfo(LRCInstance::getCurrAccConfig().Ringtone.ringtonePath).fileName()); ui->lineEditProxy->setEnabled(LRCInstance::getCurrAccConfig().proxyEnabled); ui->lineEditSTUNAddress->setEnabled(LRCInstance::getCurrAccConfig().STUN.enable); } @@ -176,12 +176,12 @@ void AdvancedSettingsWidget::openFileCustomRingtone() { QString fileUrl; - auto oldPath = QString::fromStdString(LRCInstance::getCurrAccConfig().Ringtone.ringtonePath); + auto oldPath = LRCInstance::getCurrAccConfig().Ringtone.ringtonePath; auto openPath = oldPath.isEmpty() ? QDir::currentPath() + QString("/ringtones/") : QFileInfo(oldPath).absolutePath(); fileUrl = QFileDialog::getOpenFileName(this, QString("Select a new ringtone"), openPath, tr("Audio Files") + " (*.wav *.ogg *.opus *.mp3 *.aiff *.wma)"); if (!fileUrl.isEmpty()) { auto confProps = LRCInstance::accountModel().getAccountConfig(LRCInstance::getCurrAccId()); - confProps.Ringtone.ringtonePath = fileUrl.toStdString(); + confProps.Ringtone.ringtonePath = fileUrl; LRCInstance::accountModel().setAccountConfig(LRCInstance::getCurrAccId(), confProps); ui->btnRingtone->setText(QFileInfo(fileUrl).fileName()); } else if (oldPath.isEmpty()) { @@ -195,7 +195,7 @@ AdvancedSettingsWidget::setNameServer() { auto text = ui->lineEditNameServer->text(); auto confProps = LRCInstance::accountModel().getAccountConfig(LRCInstance::getCurrAccId()); - confProps.RingNS.uri = text.toStdString(); + confProps.RingNS.uri = text; LRCInstance::accountModel().setAccountConfig(LRCInstance::getCurrAccId(), confProps); } @@ -214,7 +214,7 @@ AdvancedSettingsWidget::setProxyAddress() { auto text = ui->lineEditProxy->text(); auto confProps = LRCInstance::accountModel().getAccountConfig(LRCInstance::getCurrAccId()); - confProps.proxyServer = text.toStdString(); + confProps.proxyServer = text; LRCInstance::accountModel().setAccountConfig(LRCInstance::getCurrAccId(), confProps); } void @@ -222,7 +222,7 @@ AdvancedSettingsWidget::setBootstrapAddress() { auto text = ui->lineEditBootstrap->text(); auto confProps = LRCInstance::accountModel().getAccountConfig(LRCInstance::getCurrAccId()); - confProps.hostname = text.toStdString(); + confProps.hostname = text; LRCInstance::accountModel().setAccountConfig(LRCInstance::getCurrAccId(), confProps); } @@ -258,7 +258,7 @@ AdvancedSettingsWidget::setTURNAddress() { auto text = ui->lineEditTurnAddress->text(); auto confProps = LRCInstance::accountModel().getAccountConfig(LRCInstance::getCurrAccId()); - confProps.TURN.server = text.toStdString(); + confProps.TURN.server = text; LRCInstance::accountModel().setAccountConfig(LRCInstance::getCurrAccId(), confProps); } void @@ -266,7 +266,7 @@ AdvancedSettingsWidget::setTURNUsername() { auto text = ui->lineEditTurnUsername->text(); auto confProps = LRCInstance::accountModel().getAccountConfig(LRCInstance::getCurrAccId()); - confProps.TURN.username = text.toStdString(); + confProps.TURN.username = text; LRCInstance::accountModel().setAccountConfig(LRCInstance::getCurrAccId(), confProps); } void @@ -274,7 +274,7 @@ AdvancedSettingsWidget::setTURNPassword() { auto text = ui->lineEditTurnPassword->text(); auto confProps = LRCInstance::accountModel().getAccountConfig(LRCInstance::getCurrAccId()); - confProps.TURN.password = text.toStdString(); + confProps.TURN.password = text; LRCInstance::accountModel().setAccountConfig(LRCInstance::getCurrAccId(), confProps); } void @@ -282,7 +282,7 @@ AdvancedSettingsWidget::setSTUNAddress() { auto text = ui->lineEditSTUNAddress->text(); auto confProps = LRCInstance::accountModel().getAccountConfig(LRCInstance::getCurrAccId()); - confProps.STUN.server = text.toStdString(); + confProps.STUN.server = text; LRCInstance::accountModel().setAccountConfig(LRCInstance::getCurrAccId(), confProps); } @@ -291,13 +291,13 @@ AdvancedSettingsWidget::openFileCACert() { QString fileUrl; fileUrl = QFileDialog::getOpenFileName(this, QString("Select a CA certificate"), QDir::homePath() - + QString("/.local/share/ring/") + QString::fromStdString(LRCInstance::getCurrentAccountInfo().id)); + + QString("/.local/share/ring/") + LRCInstance::getCurrentAccountInfo().id); if (!fileUrl.isEmpty()) { auto confProps = LRCInstance::accountModel().getAccountConfig(LRCInstance::getCurrAccId()); - confProps.TLS.certificateListFile = fileUrl.toStdString(); + confProps.TLS.certificateListFile = fileUrl; LRCInstance::accountModel().setAccountConfig(LRCInstance::getCurrAccId(), confProps); } - ui->btnCACert->setText(QFileInfo(QString::fromStdString(LRCInstance::getCurrAccConfig().TLS.certificateListFile)).fileName()); + ui->btnCACert->setText(QFileInfo(LRCInstance::getCurrAccConfig().TLS.certificateListFile).fileName()); } void @@ -305,13 +305,13 @@ AdvancedSettingsWidget::openFileUserCert() { QString fileUrl; fileUrl = QFileDialog::getOpenFileName(this, QString("Select a user certificate"), QDir::homePath() - + QString("/.local/share/ring/") + QString::fromStdString(LRCInstance::getCurrentAccountInfo().id)); + + QString("/.local/share/ring/") + LRCInstance::getCurrentAccountInfo().id); if (!fileUrl.isEmpty()) { auto confProps = LRCInstance::accountModel().getAccountConfig(LRCInstance::getCurrAccId()); - confProps.TLS.certificateFile = fileUrl.toStdString(); + confProps.TLS.certificateFile = fileUrl; LRCInstance::accountModel().setAccountConfig(LRCInstance::getCurrAccId(), confProps); } - ui->btnUserCert->setText(QFileInfo(QString::fromStdString(LRCInstance::getCurrAccConfig().TLS.certificateFile)).fileName()); + ui->btnUserCert->setText(QFileInfo(LRCInstance::getCurrAccConfig().TLS.certificateFile).fileName()); } void @@ -319,13 +319,13 @@ AdvancedSettingsWidget::openFilePrivateKey() { QString fileUrl; fileUrl = QFileDialog::getOpenFileName(this, QString("Select a private key"), QDir::homePath() - + QString("/.local/share/ring/") + QString::fromStdString(LRCInstance::getCurrentAccountInfo().id)); + + QString("/.local/share/ring/") + LRCInstance::getCurrentAccountInfo().id); if (!fileUrl.isEmpty()) { auto confProps = LRCInstance::accountModel().getAccountConfig(LRCInstance::getCurrAccId()); - confProps.TLS.privateKeyFile = fileUrl.toStdString(); + confProps.TLS.privateKeyFile = fileUrl; LRCInstance::accountModel().setAccountConfig(LRCInstance::getCurrAccId(), confProps); } - ui->btnPrivateKey->setText(QFileInfo(QString::fromStdString(LRCInstance::getCurrAccConfig().TLS.privateKeyFile)).fileName()); + ui->btnPrivateKey->setText(QFileInfo(LRCInstance::getCurrAccConfig().TLS.privateKeyFile).fileName()); } void @@ -339,7 +339,7 @@ AdvancedSettingsWidget::updateAudioCodecs() QListWidgetItem* audioItem = new QListWidgetItem(ui->audioListWidget); audioItem->setFlags(Qt::ItemIsUserCheckable | Qt::ItemIsEnabled | Qt::ItemIsSelectable); audioItem->setCheckState(it->enabled ? Qt::Checked : Qt::Unchecked); - audioItem->setData(Qt::DisplayRole, QString::fromStdString(it->name) + " " + QString::fromStdString(it->samplerate) + " Hz"); + audioItem->setData(Qt::DisplayRole, it->name + " " + it->samplerate + " Hz"); ui->audioListWidget->addItem(audioItem); } @@ -356,7 +356,7 @@ AdvancedSettingsWidget::updateVideoCodecs() QListWidgetItem* videoItem = new QListWidgetItem(ui->videoListWidget); videoItem->setFlags(Qt::ItemIsUserCheckable | Qt::ItemIsEnabled | Qt::ItemIsSelectable); videoItem->setCheckState(it->enabled ? Qt::Checked : Qt::Unchecked); - videoItem->setData(Qt::DisplayRole, QString::fromStdString(it->name)); + videoItem->setData(Qt::DisplayRole, it->name); ui->audioListWidget->addItem(videoItem); } } @@ -390,7 +390,7 @@ AdvancedSettingsWidget::decreaseAudioCodecPriority() auto audioCodecList = LRCInstance::getCurrentAccountInfo().codecModel->getAudioCodecs(); auto it = audioCodecList.begin(); - advance(it, selectedRow); + std::advance(it, selectedRow); LRCInstance::getCurrentAccountInfo().codecModel->decreasePriority(it->id, false); // swap current item down @@ -404,7 +404,7 @@ AdvancedSettingsWidget::increaseAudioCodecPriority() auto audioCodecList = LRCInstance::getCurrentAccountInfo().codecModel->getAudioCodecs(); auto it = audioCodecList.begin(); - advance(it, selectedRow); + std::advance(it, selectedRow); LRCInstance::getCurrentAccountInfo().codecModel->increasePriority(it->id, false); // swap current item up @@ -418,7 +418,7 @@ AdvancedSettingsWidget::decreaseVideoCodecPriority() auto videoCodecList = LRCInstance::getCurrentAccountInfo().codecModel->getVideoCodecs(); auto it = videoCodecList.begin(); - advance(it, selectedRow); + std::advance(it, selectedRow); LRCInstance::getCurrentAccountInfo().codecModel->decreasePriority(it->id, true); // swap current item down @@ -432,7 +432,7 @@ AdvancedSettingsWidget::increaseVideoCodecPriority() auto videoCodecList = LRCInstance::getCurrentAccountInfo().codecModel->getVideoCodecs(); auto it = videoCodecList.begin(); - advance(it, selectedRow); + std::advance(it, selectedRow); LRCInstance::getCurrentAccountInfo().codecModel->increasePriority(it->id, true); // swap current item up diff --git a/src/advancedsipsettingwidget.cpp b/src/advancedsipsettingwidget.cpp index b97ff0712bde9e5be7b62480c69e8d295571a4ee..6ac20e79160395384ad4cc9e68ffc624218240de 100644 --- a/src/advancedsipsettingwidget.cpp +++ b/src/advancedsipsettingwidget.cpp @@ -173,10 +173,10 @@ void AdvancedSIPSettingsWidget::updateAdvancedSIPSettings() ui->enableSDESToggle->setEnabled(config.SRTP.enable); ui->fallbackRTPToggle->setEnabled(config.SRTP.enable); - ui->btnSIPCACert->setText(QFileInfo(QString::fromStdString(config.TLS.certificateListFile)).fileName()); - ui->btnSIPUserCert->setText(QFileInfo(QString::fromStdString(config.TLS.certificateFile)).fileName()); - ui->btnSIPPrivateKey->setText(QFileInfo(QString::fromStdString(config.TLS.privateKeyFile)).fileName()); - ui->lineEditSIPCertPassword->setText(QString::fromStdString(config.TLS.password)); + ui->btnSIPCACert->setText(QFileInfo(config.TLS.certificateListFile).fileName()); + ui->btnSIPUserCert->setText(QFileInfo(config.TLS.certificateFile).fileName()); + ui->btnSIPPrivateKey->setText(QFileInfo(config.TLS.privateKeyFile).fileName()); + ui->lineEditSIPCertPassword->setText(config.TLS.password); ui->encryptMediaStreamsToggle->setChecked(config.SRTP.enable); ui->enableSDESToggle->setChecked(config.SRTP.keyExchange == lrc::api::account::KeyExchangeProtocol::SDES); @@ -190,7 +190,7 @@ void AdvancedSIPSettingsWidget::updateAdvancedSIPSettings() ui->tlsProtocolComboBox->setCurrentIndex(static_cast<int>(method)); connect(ui->tlsProtocolComboBox, QOverload<int>::of(&QComboBox::currentIndexChanged), this, &AdvancedSIPSettingsWidget::tlsProtocolComboBoxIndexChanged); - ui->outgoingTLSServerNameLineEdit->setText(QString::fromStdString(config.TLS.serverName)); + ui->outgoingTLSServerNameLineEdit->setText(config.TLS.serverName); ui->negotiationTimeoutSpinBox->setValue(config.TLS.negotiationTimeoutSec); connect(ui->negotiationTimeoutSpinBox, &QSpinBox::editingFinished, this, &AdvancedSIPSettingsWidget::negotiationTimeoutSpinBoxValueChanged); @@ -198,17 +198,17 @@ void AdvancedSIPSettingsWidget::updateAdvancedSIPSettings() // Connectivity ui->checkBoxUPnPSIP->setChecked(config.upnpEnabled); ui->checkBoxTurnEnableSIP->setChecked(config.TURN.enable); - ui->lineEditTurnAddressSIP->setText(QString::fromStdString(config.TURN.server)); - ui->lineEditTurnUsernameSIP->setText(QString::fromStdString(config.TURN.username)); - ui->lineEditTurnPsswdSIP->setText(QString::fromStdString(config.TURN.password)); - ui->lineEditTurnRealmSIP->setText(QString::fromStdString(config.TURN.realm)); + ui->lineEditTurnAddressSIP->setText(config.TURN.server); + ui->lineEditTurnUsernameSIP->setText(config.TURN.username); + ui->lineEditTurnPsswdSIP->setText(config.TURN.password); + ui->lineEditTurnRealmSIP->setText(config.TURN.realm); ui->lineEditTurnAddressSIP->setEnabled(config.TURN.enable); ui->lineEditTurnUsernameSIP->setEnabled(config.TURN.enable); ui->lineEditTurnPsswdSIP->setEnabled(config.TURN.enable); ui->lineEditTurnRealmSIP->setEnabled(config.TURN.enable); ui->checkBoxSTUNEnableSIP->setChecked(config.STUN.enable); - ui->lineEditSTUNAddressSIP->setText(QString::fromStdString(config.STUN.server)); + ui->lineEditSTUNAddressSIP->setText(config.STUN.server); ui->lineEditSTUNAddressSIP->setEnabled(config.STUN.enable); ui->registrationExpireTimeoutSpinBox->setValue(config.Registration.expire); @@ -218,7 +218,7 @@ void AdvancedSIPSettingsWidget::updateAdvancedSIPSettings() // published address ui->checkBoxCustomAddressPort->setChecked(config.publishedSameAsLocal); - ui->lineEditSIPCustomAddress->setText(QString::fromStdString(config.publishedAddress)); + ui->lineEditSIPCustomAddress->setText(config.publishedAddress); ui->customPortSIPSpinBox->setValue(config.publishedPort); connect(ui->customPortSIPSpinBox, &QSpinBox::editingFinished, this, &AdvancedSIPSettingsWidget::customPortSIPSpinBoxValueChanged); @@ -233,7 +233,7 @@ void AdvancedSIPSettingsWidget::updateAdvancedSIPSettings() connect(ui->videoListWidgetSIP, &QListWidget::itemChanged, this, &AdvancedSIPSettingsWidget::videoCodecsStateChange); ui->btnRingtoneSIP->setEnabled(config.Ringtone.ringtoneEnabled); - ui->btnRingtoneSIP->setText(QFileInfo(QString::fromStdString(config.Ringtone.ringtonePath)).fileName()); + ui->btnRingtoneSIP->setText(QFileInfo(config.Ringtone.ringtonePath).fileName()); ui->lineEditSTUNAddressSIP->setEnabled(config.STUN.enable); // SDP session negotiation ports @@ -248,7 +248,7 @@ void AdvancedSIPSettingsWidget::updateAdvancedSIPSettings() connect(ui->videoRTPMaxPortSpinBox, &QSpinBox::editingFinished, this, &AdvancedSIPSettingsWidget::videoRTPMaxPortSpinBoxEditFinished); // voicemail - ui->lineEditVoiceMailDialCode->setText(QString::fromStdString(config.mailbox)); + ui->lineEditVoiceMailDialCode->setText(config.mailbox); } // call settings @@ -268,13 +268,13 @@ void AdvancedSIPSettingsWidget::setEnableRingtone(bool state) void AdvancedSIPSettingsWidget::openFileCustomRingtone() { QString fileUrl; - auto oldPath = QString::fromStdString(LRCInstance::getCurrAccConfig().Ringtone.ringtonePath); + auto oldPath = LRCInstance::getCurrAccConfig().Ringtone.ringtonePath; auto openPath = oldPath.isEmpty() ? QDir::currentPath() + QString("/ringtones/") : QFileInfo(oldPath).absolutePath(); fileUrl = QFileDialog::getOpenFileName(this, tr("Select a new ringtone"), openPath, tr("Audio Files") + " (*.wav *.ogg *.opus *.mp3 *.aiff *.wma)"); if (!fileUrl.isEmpty()) { auto confProps = LRCInstance::accountModel().getAccountConfig(LRCInstance::getCurrAccId()); - confProps.Ringtone.ringtonePath = fileUrl.toStdString(); + confProps.Ringtone.ringtonePath = fileUrl; LRCInstance::accountModel().setAccountConfig(LRCInstance::getCurrAccId(), confProps); ui->btnRingtoneSIP->setText(QFileInfo(fileUrl).fileName()); @@ -308,21 +308,21 @@ void AdvancedSIPSettingsWidget::setUseSTUN(bool state) void AdvancedSIPSettingsWidget::setTURNAddress() { auto confProps = LRCInstance::accountModel().getAccountConfig(LRCInstance::getCurrAccId()); - confProps.TURN.server = ui->lineEditTurnAddressSIP->text().toStdString(); + confProps.TURN.server = ui->lineEditTurnAddressSIP->text(); LRCInstance::accountModel().setAccountConfig(LRCInstance::getCurrAccId(), confProps); } void AdvancedSIPSettingsWidget::setTURNUsername() { auto confProps = LRCInstance::accountModel().getAccountConfig(LRCInstance::getCurrAccId()); - confProps.TURN.username = ui->lineEditTurnUsernameSIP->text().toStdString(); + confProps.TURN.username = ui->lineEditTurnUsernameSIP->text(); LRCInstance::accountModel().setAccountConfig(LRCInstance::getCurrAccId(), confProps); } void AdvancedSIPSettingsWidget::setTURNPassword() { auto confProps = LRCInstance::accountModel().getAccountConfig(LRCInstance::getCurrAccId()); - confProps.TURN.password = ui->lineEditTurnPsswdSIP->text().toStdString(); + confProps.TURN.password = ui->lineEditTurnPsswdSIP->text(); LRCInstance::accountModel().setAccountConfig(LRCInstance::getCurrAccId(), confProps); } @@ -330,14 +330,14 @@ void AdvancedSIPSettingsWidget::setTURNRealm() { auto confProps = LRCInstance::accountModel().getAccountConfig(LRCInstance::getCurrAccId()); - confProps.TURN.realm = ui->lineEditTurnRealmSIP->text().toStdString(); + confProps.TURN.realm = ui->lineEditTurnRealmSIP->text(); LRCInstance::accountModel().setAccountConfig(LRCInstance::getCurrAccId(), confProps); } void AdvancedSIPSettingsWidget::setSTUNAddress() { auto confProps = LRCInstance::accountModel().getAccountConfig(LRCInstance::getCurrAccId()); - confProps.STUN.server = ui->lineEditSTUNAddressSIP->text().toStdString(); + confProps.STUN.server = ui->lineEditSTUNAddressSIP->text(); LRCInstance::accountModel().setAccountConfig(LRCInstance::getCurrAccId(), confProps); } @@ -352,7 +352,7 @@ void AdvancedSIPSettingsWidget::updateAudioCodecs() QListWidgetItem* audioItem = new QListWidgetItem(ui->audioListWidgetSIP); audioItem->setFlags(Qt::ItemIsUserCheckable | Qt::ItemIsEnabled | Qt::ItemIsSelectable); audioItem->setCheckState(it->enabled ? Qt::Checked : Qt::Unchecked); - audioItem->setData(Qt::DisplayRole, QString::fromStdString(it->name) + " " + QString::fromStdString(it->samplerate) + " Hz"); + audioItem->setData(Qt::DisplayRole, it->name + " " + it->samplerate + " Hz"); ui->audioListWidgetSIP->addItem(audioItem); } @@ -370,7 +370,7 @@ void AdvancedSIPSettingsWidget::updateVideoCodecs() QListWidgetItem* videoItem = new QListWidgetItem(ui->videoListWidgetSIP); videoItem->setFlags(Qt::ItemIsUserCheckable | Qt::ItemIsEnabled | Qt::ItemIsSelectable); videoItem->setCheckState(it->enabled ? Qt::Checked : Qt::Unchecked); - videoItem->setData(Qt::DisplayRole, QString::fromStdString(it->name) + "\n"); + videoItem->setData(Qt::DisplayRole, it->name + "\n"); ui->audioListWidgetSIP->addItem(videoItem); } } @@ -401,7 +401,7 @@ void AdvancedSIPSettingsWidget::decreaseAudioCodecPriority() auto audioCodecList = LRCInstance::getCurrentAccountInfo().codecModel->getAudioCodecs(); auto it = audioCodecList.begin(); - advance(it, selectedRow); + std::advance(it, selectedRow); LRCInstance::getCurrentAccountInfo().codecModel->decreasePriority(it->id, false); // swap current item down @@ -414,7 +414,7 @@ void AdvancedSIPSettingsWidget::increaseAudioCodecPriority() auto audioCodecList = LRCInstance::getCurrentAccountInfo().codecModel->getAudioCodecs(); auto it = audioCodecList.begin(); - advance(it, selectedRow); + std::advance(it, selectedRow); LRCInstance::getCurrentAccountInfo().codecModel->increasePriority(it->id, false); updateAudioCodecs(); @@ -428,7 +428,7 @@ void AdvancedSIPSettingsWidget::decreaseVideoCodecPriority() auto videoCodecList = LRCInstance::getCurrentAccountInfo().codecModel->getVideoCodecs(); auto it = videoCodecList.begin(); - advance(it, selectedRow); + std::advance(it, selectedRow); LRCInstance::getCurrentAccountInfo().codecModel->decreasePriority(it->id, true); // swap current item down @@ -441,7 +441,7 @@ void AdvancedSIPSettingsWidget::increaseVideoCodecPriority() auto videoCodecList = LRCInstance::getCurrentAccountInfo().codecModel->getVideoCodecs(); auto it = videoCodecList.begin(); - advance(it, selectedRow); + std::advance(it, selectedRow); LRCInstance::getCurrentAccountInfo().codecModel->increasePriority(it->id, true); // swap current item up @@ -515,7 +515,7 @@ void AdvancedSIPSettingsWidget::outgoingTLSServerNameLineEditTextChanged() { auto confProps = LRCInstance::accountModel().getAccountConfig(LRCInstance::getCurrAccId()); - confProps.TLS.serverName = ui->outgoingTLSServerNameLineEdit->text().toStdString(); + confProps.TLS.serverName = ui->outgoingTLSServerNameLineEdit->text(); LRCInstance::accountModel().setAccountConfig(LRCInstance::getCurrAccId(), confProps); } @@ -583,19 +583,19 @@ void AdvancedSIPSettingsWidget::lineEditSIPCertPasswordLineEditTextChanged() { auto confProps = LRCInstance::accountModel().getAccountConfig(LRCInstance::getCurrAccId()); - confProps.TLS.password = ui->lineEditSIPCertPassword->text().toStdString(); + confProps.TLS.password = ui->lineEditSIPCertPassword->text(); LRCInstance::accountModel().setAccountConfig(LRCInstance::getCurrAccId(), confProps); } -std::string -AdvancedSIPSettingsWidget::openButtonFilePath(const std::string& accConfigFilePath, +QString +AdvancedSIPSettingsWidget::openButtonFilePath(const QString& accConfigFilePath, const char* windowTitle, const char* fileTypeDesp, const QString& fileTypeFilter, QPushButton* button) { QString fileUrl; - auto oldPath = QString::fromStdString(accConfigFilePath); + auto oldPath = accConfigFilePath; auto openPath = oldPath.isEmpty() ? QDir::currentPath() : QFileInfo(oldPath).absolutePath(); fileUrl = QFileDialog::getOpenFileName(this, tr(windowTitle), openPath, tr(fileTypeDesp) + fileTypeFilter); if (!fileUrl.isEmpty()) { @@ -603,7 +603,7 @@ AdvancedSIPSettingsWidget::openButtonFilePath(const std::string& accConfigFilePa } else { button->setText(""); } - return fileUrl.toStdString(); + return fileUrl; } void @@ -634,7 +634,7 @@ void AdvancedSIPSettingsWidget::lineEditSIPCustomAddressLineEditTextChanged() { auto confProps = LRCInstance::accountModel().getAccountConfig(LRCInstance::getCurrAccId()); - confProps.publishedAddress = ui->lineEditSIPCustomAddress->text().toStdString(); + confProps.publishedAddress = ui->lineEditSIPCustomAddress->text(); LRCInstance::accountModel().setAccountConfig(LRCInstance::getCurrAccId(), confProps); } @@ -698,7 +698,7 @@ void AdvancedSIPSettingsWidget::lineEditVoiceMailDialCodeEditFinished() { auto confProps = LRCInstance::accountModel().getAccountConfig(LRCInstance::getCurrAccId()); - confProps.mailbox = ui->lineEditVoiceMailDialCode->text().toStdString(); + confProps.mailbox = ui->lineEditVoiceMailDialCode->text(); LRCInstance::accountModel().setAccountConfig(LRCInstance::getCurrAccId(), confProps); } diff --git a/src/advancedsipsettingwidget.h b/src/advancedsipsettingwidget.h index bdd721e8ff697cab1ecb58bc7c7d3be2a11dacea..c7f914962a513f3082d8d1fc20c93a7b9fd8ba29 100644 --- a/src/advancedsipsettingwidget.h +++ b/src/advancedsipsettingwidget.h @@ -37,7 +37,7 @@ public: ~AdvancedSIPSettingsWidget(); void updateAdvancedSIPSettings(); - std::string openButtonFilePath(const std::string& accConfigFilePath, + QString openButtonFilePath(const QString& accConfigFilePath, const char* windowTitle, const char* fileTypeDesp, const QString& fileTypeFilter, diff --git a/src/callaudioonlyavataroverlay.cpp b/src/callaudioonlyavataroverlay.cpp index daf3e772397eec3bb4bcdbfcbc97a16b3360498e..2beee6b7445ee2a2bd872797e50731303c882c5f 100644 --- a/src/callaudioonlyavataroverlay.cpp +++ b/src/callaudioonlyavataroverlay.cpp @@ -47,11 +47,11 @@ CallAudioOnlyAvatarOverlay::writeAvatarOverlay(const lrc::api::conversation::Inf ui->avatarLabel->setPixmap(QPixmap::fromImage(Utils::conversationPhoto(convInfo.uid, LRCInstance::getCurrentAccountInfo()))); if (contact.profileInfo.type == lrc::api::profile::Type::SIP) { - ui->nameLabel->setText(QString::fromStdString(contact.profileInfo.uri)); + ui->nameLabel->setText(contact.profileInfo.uri); } else { - std::string name = contact.profileInfo.alias; - std::string id = contact.registeredName; - ui->nameLabel->setText(QString::fromStdString(name + "\n" + id)); + QString name = contact.profileInfo.alias; + QString id = contact.registeredName; + ui->nameLabel->setText(name + "\n" + id); } } diff --git a/src/callwidget.cpp b/src/callwidget.cpp index 56a70036f0daea843771fb3a0e5f2b2be94fa0af..5ba95d2bb24c3878c4f2c3dd0294278361441c62 100644 --- a/src/callwidget.cpp +++ b/src/callwidget.cpp @@ -80,13 +80,12 @@ CallWidget::CallWidget(QWidget* parent) : // select last used account if stored in registry auto accountList = LRCInstance::accountModel().getAccountList(); if (!accountList.empty()) { - std::string accountIdToStartWith; + QString accountIdToStartWith; if (settings.contains(SettingsKey::selectedAccount)) { accountIdToStartWith = settings .value(SettingsKey::selectedAccount, true) - .value<QString>() - .toStdString(); - if (Utils::indexInVector(accountList, accountIdToStartWith) == -1) { + .value<QString>(); + if (!accountList.contains(accountIdToStartWith)) { accountIdToStartWith = accountList.at(0); } } @@ -95,7 +94,7 @@ CallWidget::CallWidget(QWidget* parent) : } setSelectedAccount(accountIdToStartWith); // get account index and set the currentAccountComboBox - auto index = Utils::indexInVector(accountList, accountIdToStartWith); + auto index = accountList.indexOf(accountIdToStartWith); if (index != -1) { ui->currentAccountComboBox->setCurrentIndex(index); } @@ -215,7 +214,7 @@ CallWidget::CallWidget(QWidget* parent) : this, &CallWidget::slotNewTrustRequest); connect(&LRCInstance::behaviorController(), &BehaviorController::newUnreadInteraction, - [this](const std::string& accountId, const std::string& conversation, + [this](const QString& accountId, const QString& conversation, uint64_t interactionId, const interaction::Info& interaction) { if (LRCInstance::getCurrAccId() != accountId) { onNewInteraction(accountId, conversation, interactionId, interaction); @@ -262,7 +261,7 @@ CallWidget::navigated(bool to) try { auto accountList = LRCInstance::accountModel().getAccountList(); if (accountList.size() == 1) { - auto index = Utils::indexInVector(accountList, LRCInstance::getCurrAccId()); + auto index = accountList.indexOf(LRCInstance::getCurrAccId()); if (index != -1) { slotAccountChanged(index); } @@ -270,7 +269,7 @@ CallWidget::navigated(bool to) } catch (...) {} ui->currentAccountComboBox->updateComboBoxDisplay(); auto& conversation = LRCInstance::getCurrentConversation(); - if (!conversation.uid.empty()) { + if (!conversation.uid.isEmpty()) { selectSmartlistItem(conversation.uid); ui->stackedWidget->setCurrentWidget(ui->mainActivityWidget); } else { @@ -311,23 +310,21 @@ CallWidget::getLeftPanelWidth() } void -CallWidget::onNewInteraction(const std::string& accountId, const std::string& convUid, - uint64_t interactionId, const interaction::Info& interaction) +CallWidget::onNewInteraction(const QString& accountId, const QString& convUid, + uint64_t interactionId, const interaction::Info& interaction) { Q_UNUSED(interactionId); try { auto& accountInfo = LRCInstance::getAccountInfo(accountId); auto& convModel = accountInfo.conversationModel; auto& conversation = LRCInstance::getConversationFromConvUid(convUid, accountId); - if (conversation.uid.empty()) { + if (conversation.uid.isEmpty()) { return; } - if (!interaction.authorUri.empty() && + if (!interaction.authorUri.isEmpty() && (!QApplication::focusWidget() || LRCInstance::getCurrAccId() != accountId)) { auto bestName = Utils::bestNameForConversation(conversation, *convModel); - Utils::showSystemNotification(this, - QString::fromStdString(bestName), - QString::fromStdString(interaction.body)); + Utils::showSystemNotification(this, bestName,interaction.body); } updateConversationsFilterWidget(); if (convUid != LRCInstance::getCurrentConvUid()) { @@ -351,11 +348,9 @@ CallWidget::setupSmartListContextMenu(const QPoint& pos) } auto convModel = LRCInstance::getCurrentConversationModel(); - auto convUid = index.data(static_cast<int>(SmartListModel::Role::UID)) - .value<QString>() - .toStdString(); + auto convUid = index.data(static_cast<int>(SmartListModel::Role::UID)).value<QString>(); auto& conversation = LRCInstance::getConversationFromConvUid(convUid); - if (conversation.uid.empty()) return; + if (conversation.uid.isEmpty()) return; auto contactUid = conversation.participants.at(0); auto contact = LRCInstance::getCurrentAccountInfo().contactModel.get()->getContact(contactUid); @@ -441,7 +436,7 @@ void CallWidget::on_acceptButton_clicked() { auto convInfo = LRCInstance::getCurrentConversation(); - if (!convInfo.uid.empty()) { + if (!convInfo.uid.isEmpty()) { LRCInstance::getCurrentCallModel()->accept(convInfo.callId); } } @@ -450,7 +445,7 @@ void CallWidget::on_refuseButton_clicked() { auto convInfo = LRCInstance::getCurrentConversation(); - if (!convInfo.uid.empty()) { + if (!convInfo.uid.isEmpty()) { LRCInstance::getCurrentCallModel()->refuse(convInfo.callId); showConversationView(); } @@ -460,7 +455,7 @@ void CallWidget::on_cancelButton_clicked() { auto convInfo = LRCInstance::getCurrentConversation(); - if (!convInfo.uid.empty()) { + if (!convInfo.uid.isEmpty()) { LRCInstance::getCurrentCallModel()->hangUp(convInfo.callId); showConversationView(); } @@ -469,7 +464,7 @@ CallWidget::on_cancelButton_clicked() void CallWidget::showConversationView() { - if (LRCInstance::getCurrentConvUid().empty()) { + if (LRCInstance::getCurrentConvUid().isEmpty()) { backToWelcomePage(); return; } @@ -482,19 +477,19 @@ CallWidget::showConversationView() } bool -CallWidget::selectSmartlistItem(const std::string& convUid) +CallWidget::selectSmartlistItem(const QString& convUid) { - if (convUid.empty() || !ui->smartList->selectionModel()) + if (convUid.isEmpty() || !ui->smartList->selectionModel()) return false; ui->smartList->selectionModel()->setCurrentIndex(QModelIndex(), QItemSelectionModel::Deselect); auto convModel = LRCInstance::getCurrentConversationModel(); auto& conversation = LRCInstance::getConversationFromConvUid(convUid); - if (conversation.uid.empty()) { + if (conversation.uid.isEmpty()) { return false; } - auto contactURI = QString::fromStdString(conversation.participants[0]); + auto contactURI = conversation.participants[0]; if (contactURI.isEmpty() || - convModel->owner.contactModel->getContact(contactURI.toStdString()).profileInfo.type == lrc::api::profile::Type::TEMPORARY) { + convModel->owner.contactModel->getContact(contactURI).profileInfo.type == lrc::api::profile::Type::TEMPORARY) { return false; } for (int row = 0; row < smartListModel_->rowCount(); row++) { @@ -522,7 +517,7 @@ CallWidget::on_smartList_doubleClicked(const QModelIndex& index) } QImage -CallWidget::imageForConv(const std::string& convUid) +CallWidget::imageForConv(const QString& convUid) { return Utils::conversationPhoto(convUid, LRCInstance::getCurrentAccountInfo()); } @@ -605,7 +600,7 @@ CallWidget::on_ringContactLineEdit_returnPressed() void CallWidget::slotAcceptInviteClicked(const QModelIndex & index) { - auto convUid = index.data(static_cast<int>(SmartListModel::Role::UID)).value<QString>().toStdString(); + auto convUid = index.data(static_cast<int>(SmartListModel::Role::UID)).value<QString>(); LRCInstance::getCurrentConversationModel()->makePermanent(convUid); ui->messageView->setInvitation(false); ui->sendContactRequestButton->hide(); @@ -614,8 +609,8 @@ CallWidget::slotAcceptInviteClicked(const QModelIndex & index) void CallWidget::slotBlockInviteClicked(const QModelIndex & index) { - auto convUid = index.data(static_cast<int>(SmartListModel::Role::UID)).value<QString>().toStdString(); - if (!convUid.empty() && convUid == LRCInstance::getCurrentConvUid()) { + auto convUid = index.data(static_cast<int>(SmartListModel::Role::UID)).value<QString>(); + if (!convUid.isEmpty() && convUid == LRCInstance::getCurrentConvUid()) { backToWelcomePage(); } LRCInstance::getCurrentConversationModel()->removeConversation(convUid, true); @@ -624,8 +619,8 @@ CallWidget::slotBlockInviteClicked(const QModelIndex & index) void CallWidget::slotIgnoreInviteClicked(const QModelIndex & index) { - auto convUid = index.data(static_cast<int>(SmartListModel::Role::UID)).value<QString>().toStdString(); - if (!convUid.empty() && convUid == LRCInstance::getCurrentConvUid()) { + auto convUid = index.data(static_cast<int>(SmartListModel::Role::UID)).value<QString>(); + if (!convUid.isEmpty() && convUid == LRCInstance::getCurrentConvUid()) { backToWelcomePage(); } LRCInstance::getCurrentConversationModel()->removeConversation(convUid, false); @@ -640,16 +635,13 @@ CallWidget::slotCustomContextMenuRequested(const QPoint& pos) void CallWidget::slotAccountChanged(int index) { - try { - auto accountList = LRCInstance::accountModel().getAccountList(); + auto accountList = LRCInstance::accountModel().getAccountList(); + if(accountList.size() > index) setSelectedAccount(accountList.at(index)); - } catch (...) { - qWarning() << "CallWidget::slotAccountChanged exception"; - } } void -CallWidget::slotShowCallView(const std::string& accountId, +CallWidget::slotShowCallView(const QString& accountId, const lrc::api::conversation::Info& convInfo) { Q_UNUSED(accountId); @@ -667,7 +659,7 @@ CallWidget::slotShowCallView(const std::string& accountId, } void -CallWidget::slotShowIncomingCallView(const std::string& accountId, +CallWidget::slotShowIncomingCallView(const QString& accountId, const conversation::Info& convInfo) { Q_UNUSED(accountId); @@ -681,13 +673,13 @@ CallWidget::slotShowIncomingCallView(const std::string& accountId, auto convModel = LRCInstance::getCurrentConversationModel(); ui->callerPhoto->setPixmap(QPixmap::fromImage(imageForConv(convInfo.uid))); - auto bestName = QString::fromStdString(Utils::bestNameForConversation(convInfo, *convModel)); - auto bestId = QString::fromStdString(Utils::bestIdForConversation(convInfo, *convModel)); + auto bestName = Utils::bestNameForConversation(convInfo, *convModel); + auto bestId = Utils::bestIdForConversation(convInfo, *convModel); auto finalBestId = (bestName != bestId) ? bestId : ""; auto call = callModel->getCall(convInfo.callId); auto isCallSelected = LRCInstance::getCurrentConvUid() == convInfo.uid; - ui->callingStatusLabel->setText(QString::fromStdString(lrc::api::call::to_string(call.status))); + ui->callingStatusLabel->setText(lrc::api::call::to_string(call.status)); auto itemInCurrentFilter = false; if (call.isOutgoing) { @@ -700,8 +692,7 @@ CallWidget::slotShowIncomingCallView(const std::string& accountId, } else { if (!QApplication::focusWidget()) { auto formattedName = Utils::bestNameForConversation(convInfo, *convModel); - Utils::showSystemNotification(this, - QString(tr("Call incoming from %1")).arg(QString::fromStdString(formattedName))); + Utils::showSystemNotification(this, QString(tr("Call incoming from %1")).arg(formattedName)); } auto selectedAccountId = LRCInstance::getCurrentAccountInfo().id; auto accountProperties = LRCInstance::accountModel().getAccountConfig(selectedAccountId); @@ -746,7 +737,7 @@ CallWidget::slotShowIncomingCallView(const std::string& accountId, } void -CallWidget::slotShowChatView(const std::string& accountId, +CallWidget::slotShowChatView(const QString& accountId, const lrc::api::conversation::Info& convInfo) { Q_UNUSED(accountId); @@ -757,7 +748,7 @@ CallWidget::slotShowChatView(const std::string& accountId, } void -CallWidget::slotNewTrustRequest(const std::string& accountId, const std::string& contactUri) +CallWidget::slotNewTrustRequest(const QString& accountId, const QString& contactUri) { try { auto& accountInfo = LRCInstance::getAccountInfo(accountId); @@ -766,16 +757,14 @@ CallWidget::slotNewTrustRequest(const std::string& accountId, const std::string& try { auto contactInfo = contactModel->getContact(contactUri); auto bestName = Utils::bestNameForContact(contactInfo); - Utils::showSystemNotification(this, - QString::fromStdString(bestName), - QObject::tr("Contact request")); + Utils::showSystemNotification(this, bestName, QObject::tr("Contact request")); } catch (...) { - qDebug() << "Can't get contact: ", contactUri.c_str(); + qDebug() << "Can't get contact: ", contactUri; return; } } } catch (...) { - qDebug() << "Can't get account:" << accountId.c_str(); + qDebug() << "Can't get account:" << accountId; } } @@ -798,10 +787,10 @@ CallWidget::slotToggleFullScreenClicked() } void -CallWidget::callTerminating(const std::string& id) +CallWidget::callTerminating(const QString& id) { auto conversation = LRCInstance::getCurrentConversation(); - if ( conversation.uid.empty() && + if ( conversation.uid.isEmpty() && conversation.callId != id && conversation.confId != id) { return; @@ -816,7 +805,7 @@ CallWidget::callTerminating(const std::string& id) } void -CallWidget::setSelectedAccount(const std::string& accountId) +CallWidget::setSelectedAccount(const QString& accountId) { LRCInstance::setSelectedAccountId(accountId); @@ -828,11 +817,11 @@ CallWidget::setSelectedAccount(const std::string& accountId) // We setup the ringIdLabel and the QRCode auto& accountInfo = LRCInstance::accountModel().getAccountInfo(accountId); - auto id = accountInfo.registeredName.empty() ? accountInfo.profileInfo.uri : accountInfo.registeredName; + auto id = accountInfo.registeredName.isEmpty() ? accountInfo.profileInfo.uri : accountInfo.registeredName; auto isRingAccount = accountInfo.profileInfo.type == lrc::api::profile::Type::RING; if (isRingAccount) { - ui->ringIdLabel->setText(QString::fromStdString(id)); - ui->qrLabel->setPixmap(QPixmap::fromImage(Utils::setupQRCode(QString::fromStdString(accountInfo.profileInfo.uri), 5).scaled(QSize(qrSize_, qrSize_), + ui->ringIdLabel->setText(id); + ui->qrLabel->setPixmap(QPixmap::fromImage(Utils::setupQRCode(accountInfo.profileInfo.uri, 5).scaled(QSize(qrSize_, qrSize_), Qt::KeepAspectRatio))); } @@ -873,21 +862,21 @@ void CallWidget::updateConversationsFilterWidget() void CallWidget::setConversationFilter(const QString & filter) { - LRCInstance::getCurrentConversationModel()->setFilter(filter.toStdString()); + LRCInstance::getCurrentConversationModel()->setFilter(filter); } void CallWidget::showChatView(const QModelIndex& nodeIdx) { - auto convUid = nodeIdx.data(static_cast<int>(SmartListModel::Role::UID)).toString().toStdString(); + auto convUid = nodeIdx.data(static_cast<int>(SmartListModel::Role::UID)).toString(); auto& conversation = LRCInstance::getConversationFromConvUid(convUid); - if (!conversation.uid.empty()) { + if (!conversation.uid.isEmpty()) { setupChatView(conversation); } } void -CallWidget::showChatView(const std::string& accountId, const lrc::api::conversation::Info& convInfo) +CallWidget::showChatView(const QString& accountId, const lrc::api::conversation::Info& convInfo) { Q_UNUSED(accountId); setupChatView(convInfo); @@ -899,7 +888,7 @@ CallWidget::setConversationProfileData(const lrc::api::conversation::Info& convI auto convModel = LRCInstance::getCurrentConversationModel(); auto accInfo = &LRCInstance::getCurrentAccountInfo(); auto contactUri = convInfo.participants.front(); - if (contactUri.empty()) { + if (contactUri.isEmpty()) { return; } try { @@ -910,15 +899,14 @@ CallWidget::setConversationProfileData(const lrc::api::conversation::Info& convI bestName, contactUri ); - if (!contact.profileInfo.avatar.empty()) { + if (!contact.profileInfo.avatar.isEmpty()) { ui->messageView->setSenderImage(contactUri, contact.profileInfo.avatar); } else { auto avatar = Utils::conversationPhoto(convInfo.uid, *accInfo); QByteArray ba; QBuffer bu(&ba); avatar.save(&bu, "PNG"); - std::string avatarString = ba.toBase64().toStdString(); - ui->messageView->setSenderImage(contactUri, avatarString); + ui->messageView->setSenderImage(contactUri, QString::fromLocal8Bit(ba.toBase64())); } } catch (...) {} } @@ -928,9 +916,9 @@ CallWidget::setupChatView(const lrc::api::conversation::Info& convInfo) { auto& accInfo = LRCInstance::getCurrentAccountInfo(); auto& contact = accInfo.contactModel->getContact(convInfo.participants.at(0)); - QString displayName = QString::fromStdString(Utils::bestNameForContact(contact)); - QString displayId = QString::fromStdString(Utils::bestIdForContact(contact)); - QString contactURI = QString::fromStdString(convInfo.participants.at(0)); + QString displayName = Utils::bestNameForContact(contact); + QString displayId = Utils::bestIdForContact(contact); + QString contactURI = convInfo.participants.at(0); bool isContact = false; auto selectedAccountId = LRCInstance::getCurrAccId(); @@ -939,7 +927,7 @@ CallWidget::setupChatView(const lrc::api::conversation::Info& convInfo) lrc::api::profile::Type contactType; try { - auto contactInfo = accountInfo.contactModel->getContact(contactURI.toStdString()); + auto contactInfo = accountInfo.contactModel->getContact(contactURI); if (contactInfo.isTrusted) { isContact = true; } @@ -956,9 +944,8 @@ CallWidget::setupChatView(const lrc::api::conversation::Info& convInfo) ui->messageView->setMessagesVisibility(false); Utils::oneShotConnect(ui->messageView, &MessageWebView::sendMessageContentSaved, [this, convInfo, accountId = accountInfo.id, lastConvUid = lastConvUid_](const QString& content) { - if (!lastConvUid.empty()) { - LRCInstance::setContentDraft( - lastConvUid.c_str(), accountId.c_str(), content); + if (!lastConvUid.isEmpty()) { + LRCInstance::setContentDraft(lastConvUid, accountId, content); } Utils::oneShotConnect(ui->messageView, &MessageWebView::messagesCleared, [this, convInfo] { @@ -972,8 +959,7 @@ CallWidget::setupChatView(const lrc::api::conversation::Info& convInfo) }); ui->messageView->setInvitation(false); ui->messageView->clear(); - auto restoredContent = LRCInstance::getContentDraft( - convInfo.uid.c_str(), accountId.c_str()); + auto restoredContent = LRCInstance::getContentDraft(convInfo.uid, accountId); ui->messageView->setSendMessageContent(restoredContent); ui->smartList->update(); }); @@ -1029,7 +1015,7 @@ void CallWidget::on_sendContactRequestButton_clicked() { auto convInfo = LRCInstance::getCurrentConversation(); - if (!convInfo.uid.empty()) { + if (!convInfo.uid.isEmpty()) { LRCInstance::getCurrentConversationModel()->makePermanent(convInfo.uid); ui->sendContactRequestButton->hide(); } @@ -1039,7 +1025,7 @@ void CallWidget::on_btnAudioCall_clicked() { auto convInfo = LRCInstance::getCurrentConversation(); - if (!convInfo.uid.empty()) { + if (!convInfo.uid.isEmpty()) { LRCInstance::getCurrentConversationModel()->placeAudioOnlyCall(convInfo.uid); ui->callingPhoto->setPixmap(QPixmap::fromImage(imageForConv(convInfo.uid))); } @@ -1049,7 +1035,7 @@ void CallWidget::on_btnVideoCall_clicked() { auto convInfo = LRCInstance::getCurrentConversation(); - if (!convInfo.uid.empty()) { + if (!convInfo.uid.isEmpty()) { LRCInstance::getCurrentConversationModel()->placeCall(convInfo.uid); ui->callingPhoto->setPixmap(QPixmap::fromImage(imageForConv(convInfo.uid))); } @@ -1084,7 +1070,7 @@ CallWidget::connectConversationModel() ); modelUpdatedConnection_ = QObject::connect( currentConversationModel, &lrc::api::ConversationModel::conversationUpdated, - [this](const std::string& convUid) { + [this](const QString& convUid) { Q_UNUSED(convUid); ui->smartList->update(); } @@ -1099,7 +1085,7 @@ CallWidget::connectConversationModel() ); newConversationConnection_ = QObject::connect( currentConversationModel, &lrc::api::ConversationModel::newConversation, - [this](const std::string& convUid) { + [this](const QString& convUid) { updateSmartList(); updateConversationForNewContact(convUid); ui->conversationsFilterWidget->update(); @@ -1114,7 +1100,7 @@ CallWidget::connectConversationModel() ); conversationClearedConnection = QObject::connect( currentConversationModel, &lrc::api::ConversationModel::conversationCleared, - [this](const std::string& convUid) { + [this](const QString& convUid) { ui->messageView->clear(); // if currently selected, // switch to welcome screen (deselecting current smartlist item ) @@ -1126,7 +1112,7 @@ CallWidget::connectConversationModel() ); interactionStatusUpdatedConnection_ = QObject::connect( currentConversationModel, &lrc::api::ConversationModel::interactionStatusUpdated, - [this](const std::string& convUid, uint64_t interactionId, const lrc::api::interaction::Info& interaction) { + [this](const QString& convUid, uint64_t interactionId, const lrc::api::interaction::Info& interaction) { if (convUid != LRCInstance::getCurrentConvUid()) { return; } @@ -1139,7 +1125,7 @@ CallWidget::connectConversationModel() ); newInteractionConnection_ = QObject::connect( currentConversationModel, &lrc::api::ConversationModel::newInteraction, - [this](const std::string& convUid, uint64_t interactionId, + [this](const QString& convUid, uint64_t interactionId, const lrc::api::interaction::Info& interaction) { auto accountId = LRCInstance::getCurrAccId(); onNewInteraction(accountId, convUid, interactionId, interaction); @@ -1147,7 +1133,7 @@ CallWidget::connectConversationModel() ); interactionRemovedConnection_ = QObject::connect( currentConversationModel, &lrc::api::ConversationModel::interactionRemoved, - [this](const std::string& convUid, uint64_t interactionId) { + [this](const QString& convUid, uint64_t interactionId) { Q_UNUSED(convUid); ui->messageView->removeInteraction(interactionId); } @@ -1159,7 +1145,7 @@ CallWidget::connectConversationModel() } void -CallWidget::updateConversationView(const std::string& convUid) +CallWidget::updateConversationView(const QString& convUid) { if (convUid != LRCInstance::getCurrentConvUid()) { return; @@ -1183,11 +1169,11 @@ CallWidget::selectConversation(const QModelIndex& index) if (!lastConvUid_.compare(convUid)) { return; } - lastConvUid_.assign(convUid); + lastConvUid_ = convUid; auto callModel = LRCInstance::getCurrentCallModel(); auto& conversation = LRCInstance::getConversationFromConvUid(convUid); - if (!conversation.uid.empty()) { + if (!conversation.uid.isEmpty()) { if (callModel->hasCall(conversation.callId) && item.callId == conversation.callId) { setCallPanelVisibility(true); return; @@ -1207,7 +1193,7 @@ CallWidget::selectConversation(const lrc::api::conversation::Info& item) LRCInstance::setSelectedConvId(item.uid); accInfo.conversationModel->selectConversation(item.uid); accInfo.conversationModel->clearUnreadInteractions(item.uid); - if (!item.callId.empty()) { + if (!item.callId.isEmpty()) { QtConcurrent::run( [convUid=item.uid, accId=item.accountId] { auto item = LRCInstance::getConversationFromConvUid(convUid); @@ -1223,7 +1209,7 @@ CallWidget::selectConversation(const lrc::api::conversation::Info& item) void CallWidget::deselectConversation() { - if (LRCInstance::getCurrentConvUid().empty()) { + if (LRCInstance::getCurrentConvUid().isEmpty()) { return; } @@ -1244,7 +1230,7 @@ CallWidget::deselectConversation() } void -CallWidget::updateConversationForNewContact(const std::string& convUid) +CallWidget::updateConversationForNewContact(const QString& convUid) { auto convModel = LRCInstance::getCurrentConversationModel(); if (convModel == nullptr) { @@ -1253,10 +1239,10 @@ CallWidget::updateConversationForNewContact(const std::string& convUid) ui->ringContactLineEdit->setText(""); auto selectedUid = LRCInstance::getCurrentConvUid(); auto& conversation = LRCInstance::getConversationFromConvUid(convUid, {}, true); - if (!conversation.uid.empty()) { + if (!conversation.uid.isEmpty()) { try { auto contact = convModel->owner.contactModel->getContact(conversation.participants[0]); - if (!contact.profileInfo.uri.empty() && contact.profileInfo.uri == selectedUid) { + if (!contact.profileInfo.uri.isEmpty() && contact.profileInfo.uri == selectedUid) { LRCInstance::setSelectedConvId(convUid); convModel->selectConversation(convUid); } @@ -1307,7 +1293,7 @@ CallWidget::update() } void -CallWidget::connectAccount(const std::string& accountId) +CallWidget::connectAccount(const QString& accountId) { try { auto& accInfo = LRCInstance::accountModel().getAccountInfo(accountId); @@ -1315,13 +1301,13 @@ CallWidget::connectAccount(const std::string& accountId) callStatusChangedConnection_ = QObject::connect( accInfo.callModel.get(), &lrc::api::NewCallModel::callStatusChanged, - [this, accountId](const std::string& callId) { + [this, accountId](const QString& callId) { auto& accInfo = LRCInstance::accountModel().getAccountInfo(accountId); auto& callModel = accInfo.callModel; auto call = callModel->getCall(callId); // change status label text - ui->callingStatusLabel->setText(QString::fromStdString(lrc::api::call::to_string(call.status))); + ui->callingStatusLabel->setText(lrc::api::call::to_string(call.status)); switch (call.status) { case lrc::api::call::Status::INVALID: @@ -1332,17 +1318,17 @@ CallWidget::connectAccount(const std::string& accountId) case lrc::api::call::Status::TERMINATING: { LRCInstance::renderer()->removeDistantRenderer(callId); auto convInfo = LRCInstance::getConversationFromCallId(callId); - if (convInfo.uid.empty()) { + if (convInfo.uid.isEmpty()) { break; } // If it's a conference, change the smartlist index // to the next remaining participant. bool forceCallOnly{ false }; - if (!convInfo.confId.empty()) { + if (!convInfo.confId.isEmpty()) { auto callList = LRCInstance::getAPI().getConferenceSubcalls(convInfo.confId); if (callList.empty()) { auto lastConferencee = LRCInstance::instance().popLastConferencee(convInfo.confId); - callList.emplace_back(lastConferencee); + callList.append(lastConferencee); forceCallOnly = true; } for (const auto& callId : callList) { @@ -1350,7 +1336,7 @@ CallWidget::connectAccount(const std::string& accountId) continue; } auto otherConv = LRCInstance::getConversationFromCallId(callId); - if (!otherConv.uid.empty() && otherConv.uid != convInfo.uid) { + if (!otherConv.uid.isEmpty() && otherConv.uid != convInfo.uid) { LRCInstance::setSelectedConvId(otherConv.uid); selectSmartlistItem(otherConv.uid); ui->videoView->updateCall(otherConv.uid, otherConv.accountId, forceCallOnly); @@ -1368,7 +1354,7 @@ CallWidget::connectAccount(const std::string& accountId) case lrc::api::call::Status::CONNECTED: case lrc::api::call::Status::IN_PROGRESS: { auto convInfo = LRCInstance::getConversationFromCallId(callId, accountId); - if (!convInfo.uid.empty() && convInfo.uid == LRCInstance::getCurrentConvUid()) { + if (!convInfo.uid.isEmpty() && convInfo.uid == LRCInstance::getCurrentConvUid()) { accInfo.conversationModel->selectConversation(convInfo.uid); } LRCInstance::renderer()->addDistantRenderer(callId); @@ -1388,11 +1374,11 @@ CallWidget::connectAccount(const std::string& accountId) contactAddedConnection_ = QObject::connect( accInfo.contactModel.get(), &lrc::api::ContactModel::contactAdded, - [this, accountId](const std::string& contactUri) { + [this, accountId](const QString& contactUri) { auto& accInfo = LRCInstance::accountModel().getAccountInfo(accountId); auto convModel = LRCInstance::getCurrentConversationModel(); auto conversation = LRCInstance::getCurrentConversation(); - if (conversation.uid.empty()) { + if (conversation.uid.isEmpty()) { return; } if (contactUri == accInfo.contactModel->getContact(conversation.participants.at(0)).profileInfo.uri) { @@ -1410,13 +1396,13 @@ CallWidget::connectAccount(const std::string& accountId) addedToConferenceConnection_ = QObject::connect( accInfo.callModel.get(), &NewCallModel::callAddedToConference, - [this](const std::string& callId, const std::string& confId) { + [this](const QString& callId, const QString& confId) { Q_UNUSED(callId); LRCInstance::renderer()->addDistantRenderer(confId); ui->videoView->updateCall(); }); } catch (...) { - qWarning() << "Couldn't get account: " << accountId.c_str(); + qWarning() << "Couldn't get account: " << accountId; } } @@ -1443,7 +1429,7 @@ CallWidget::updateChatviewFrame() auto& accInfo = LRCInstance::getCurrentAccountInfo(); auto& convInfo = LRCInstance::getCurrentConversation(); - if (convInfo.uid.empty()) { + if (convInfo.uid.isEmpty()) { return; } auto contactUri = convInfo.participants.front(); @@ -1459,8 +1445,8 @@ CallWidget::updateChatviewFrame() bool temp = contactInfo.profileInfo.type == lrc::api::profile::Type::TEMPORARY || contactInfo.profileInfo.type == lrc::api::profile::Type::PENDING; - auto bestName = QString::fromStdString(Utils::bestNameForContact(contactInfo)); - auto bestId = QString::fromStdString(Utils::bestIdForContact(contactInfo)); + auto bestName = Utils::bestNameForContact(contactInfo); + auto bestId = Utils::bestIdForContact(contactInfo); ui->messageView->updateChatviewFrame(accInfo.enabled, contactInfo.isBanned, temp, bestName, bestId); } @@ -1494,7 +1480,7 @@ CallWidget::registerShortCuts() auto convModel = LRCInstance::getCurrentConversationModel(); auto convUid = LRCInstance::getCurrentConvUid(); - if (convModel && !convUid.empty()) + if (convModel && !convUid.isEmpty()) convModel->placeAudioOnlyCall(convUid); }); @@ -1503,7 +1489,7 @@ CallWidget::registerShortCuts() auto convModel = LRCInstance::getCurrentConversationModel(); auto convUid = LRCInstance::getCurrentConvUid(); - if (convModel && !convUid.empty()) + if (convModel && !convUid.isEmpty()) convModel->placeCall(convUid); }); @@ -1512,7 +1498,7 @@ CallWidget::registerShortCuts() auto convModel = LRCInstance::getCurrentConversationModel(); auto convUid = LRCInstance::getCurrentConvUid(); - if (convModel && !convUid.empty()) { + if (convModel && !convUid.isEmpty()) { auto reply = Utils::getReplyMessageBox(this, QString("Clear Conversation History"), QString("Do you really want to clear the conversation history with this contact ?")); @@ -1526,7 +1512,7 @@ CallWidget::registerShortCuts() auto convModel = LRCInstance::getCurrentConversationModel(); auto convUid = LRCInstance::getCurrentConvUid(); - if (convModel && !convUid.empty()) { + if (convModel && !convUid.isEmpty()) { auto reply = Utils::getReplyMessageBox(this, QString("Block Contact"), QString("Do you really want to block this contact ?")); @@ -1538,8 +1524,8 @@ CallWidget::registerShortCuts() connect(copyContactNameSC, &QShortcut::activated, [this] { QPointer<QClipboard> clipboard = QApplication::clipboard(); - clipboard->setText(QString::fromStdString( - Utils::bestIdForContact(LRCInstance::getCurrentAccountInfo().contactModel->getContact(LRCInstance::getCurrentConversation().participants.front())) + clipboard->setText( + Utils::bestIdForContact(LRCInstance::getCurrentAccountInfo().contactModel->getContact(LRCInstance::getCurrentConversation().participants.front()) )); }); @@ -1579,7 +1565,7 @@ CallWidget::registerShortCuts() connect(answerCallSC, &QShortcut::activated, [this] { auto& convInfo = LRCInstance::getCurrentConversation(); - if (!convInfo.callId.empty()) + if (!convInfo.callId.isEmpty()) LRCInstance::getCurrentCallModel()->accept(convInfo.callId); }); @@ -1587,7 +1573,7 @@ CallWidget::registerShortCuts() [this] { auto& convInfo = LRCInstance::getCurrentConversation(); auto status = LRCInstance::getCallInfoForConversation(convInfo)->status; - if (!convInfo.callId.empty()) { + if (!convInfo.callId.isEmpty()) { if (status == lrc::api::call::Status::IN_PROGRESS || status == lrc::api::call::Status::OUTGOING_RINGING) { LRCInstance::getCurrentCallModel()->hangUp(convInfo.callId); } else if (status == lrc::api::call::Status::INCOMING_RINGING) { @@ -1676,7 +1662,7 @@ CallWidget::Paste() QBuffer bu(&ba); bu.open(QIODevice::WriteOnly); pixmap.save(&bu, "PNG"); - auto str = QString::fromStdString(ba.toBase64().toStdString()); + auto str = QString::fromLocal8Bit(ba.toBase64()); ui->messageView->setMessagesImageContent(str, true); } diff --git a/src/callwidget.h b/src/callwidget.h index ff018ed5c1e07e796fcff47531088f62a6a9e9af..d87a52ba7c7920c5a6e990296098a1e8f92b37ba 100644 --- a/src/callwidget.h +++ b/src/callwidget.h @@ -69,7 +69,7 @@ private slots: void on_ringContactLineEdit_returnPressed(); void settingsButtonClicked(); void showChatView(const QModelIndex& nodeIdx); - void showChatView(const std::string & accountId, const lrc::api::conversation::Info & convInfo); + void showChatView(const QString& accountId, const lrc::api::conversation::Info & convInfo); void setConversationProfileData(const lrc::api::conversation::Info & convInfo); void setupChatView(const lrc::api::conversation::Info& convInfo); void slotAcceptInviteClicked(const QModelIndex& index); @@ -77,10 +77,10 @@ private slots: void slotIgnoreInviteClicked(const QModelIndex& index); void slotCustomContextMenuRequested(const QPoint & pos); void slotAccountChanged(int index); - void slotShowCallView(const std::string & accountId, const lrc::api::conversation::Info & convInfo); - void slotShowIncomingCallView(const std::string & accountId, const lrc::api::conversation::Info & convInfo); - void slotShowChatView(const std::string & accountId, const lrc::api::conversation::Info & convInfo); - void slotNewTrustRequest(const std::string& accountId, const std::string& contactUri); + void slotShowCallView(const QString & accountId, const lrc::api::conversation::Info & convInfo); + void slotShowIncomingCallView(const QString & accountId, const lrc::api::conversation::Info & convInfo); + void slotShowChatView(const QString & accountId, const lrc::api::conversation::Info & convInfo); + void slotNewTrustRequest(const QString& accountId, const QString& contactUri); void slotToggleFullScreenClicked(); void update(); void ShowContextMenu(const QPoint& pos); @@ -104,8 +104,8 @@ private slots: void slotVideoDeviceListChanged(); private: - void callTerminating(const std::string& callid); - void onNewInteraction(const std::string& accountId, const std::string& convUid, + void callTerminating(const QString& callid); + void onNewInteraction(const QString& accountId, const QString& convUid, uint64_t interactionId, const lrc::api::interaction::Info& interaction); void conversationsButtonClicked(); void invitationsButtonClicked(); @@ -116,20 +116,20 @@ private: bool selectConversation(const lrc::api::conversation::Info& item); void deselectConversation(); bool connectConversationModel(); - void updateConversationView(const std::string& convUid); + void updateConversationView(const QString& convUid); void showConversationView(); - bool selectSmartlistItem(const std::string& convUid); - QImage imageForConv(const std::string & convUid); + bool selectSmartlistItem(const QString& convUid); + QImage imageForConv(const QString & convUid); void processContactLineEdit(); void hideMiniSpinner(); - void updateConversationForNewContact(const std::string& convUid); + void updateConversationForNewContact(const QString& convUid); void updateSmartList(); - void setSelectedAccount(const std::string & accountId); + void setSelectedAccount(const QString & accountId); void setConversationFilter(const QString& filter); void setConversationFilter(lrc::api::profile::Type filter); void updateConversationsFilterWidget(); void updateComboBox(); - void connectAccount(const std::string& accId); + void connectAccount(const QString& accId); void setCallPanelVisibility(bool visible); void updateChatviewFrame(); void registerShortCuts(); @@ -142,7 +142,7 @@ private: constexpr static int qrSize_ = 200; - std::string lastConvUid_ {}; + QString lastConvUid_ {}; lrc::api::profile::Type currentTypeFilter_{}; std::unique_ptr<SmartListModel> smartListModel_; diff --git a/src/contactpicker.cpp b/src/contactpicker.cpp index df3919444dbae75cd451d6b531d3515c7165e951..31f49b7cacc583576e2ac88096d781d17f80ab7c 100644 --- a/src/contactpicker.cpp +++ b/src/contactpicker.cpp @@ -66,20 +66,20 @@ ContactPicker::accept() smartListModel_->toggleSection(sectionName); return; } - auto convUid = index.data(SmartListModel::Role::UID).value<QString>().toStdString(); - auto accId = index.data(SmartListModel::Role::AccountId).value<QString>().toStdString(); + auto convUid = index.data(SmartListModel::Role::UID).value<QString>(); + auto accId = index.data(SmartListModel::Role::AccountId).value<QString>(); auto callId = LRCInstance::getCallIdForConversationUid(convUid, accId); - if (!callId.empty()) { + if (!callId.isEmpty()) { emit callWillJoinConference(callId); } else { - auto contactUri = index.data(SmartListModel::Role::URI).value<QString>().toStdString(); + auto contactUri = index.data(SmartListModel::Role::URI).value<QString>(); emit contactWillJoinConference(contactUri); } } break; case SmartListModel::Type::TRANSFER: { - auto contactUri = index.data(SmartListModel::Role::URI).value<QString>().toStdString(); + auto contactUri = index.data(SmartListModel::Role::URI).value<QString>(); emit contactWillDoTransfer(contactUri); } break; @@ -95,7 +95,7 @@ void ContactPicker::on_ringContactLineEdit_textChanged(const QString &arg1) { if (listModeltype_ == SmartListModel::Type::CONFERENCE) { - smartListModel_->setConferenceableFilter(arg1.toStdString()); + smartListModel_->setConferenceableFilter(arg1); } selectableProxyModel_->setFilterRegExp(QRegExp(arg1, Qt::CaseInsensitive, QRegExp::FixedString)); } diff --git a/src/contactpicker.h b/src/contactpicker.h index 81e712eecf4cddae06d1e1b3ce63c6c1195acc43..f9c52912780484c300f7e22d1196d74184eb5934 100644 --- a/src/contactpicker.h +++ b/src/contactpicker.h @@ -70,9 +70,9 @@ public: void setCurrentCalleeDisplayName(const QString& CalleeDisplayName); signals: - void contactWillJoinConference(const std::string& contactUri); - void callWillJoinConference(const std::string& callId); - void contactWillDoTransfer(const std::string& contactUri); + void contactWillJoinConference(const QString& contactUri); + void callWillJoinConference(const QString& callId); + void contactWillDoTransfer(const QString& contactUri); protected slots: void accept(); diff --git a/src/conversationitemdelegate.cpp b/src/conversationitemdelegate.cpp index eba90003ee88ff5985fd99a4da5fd5c6182d88a8..19f953ca725b2f57c53ea7ad3bfda14ce7d267e0 100644 --- a/src/conversationitemdelegate.cpp +++ b/src/conversationitemdelegate.cpp @@ -80,9 +80,9 @@ ConversationItemDelegate::paint(QPainter* painter } else if (rowHighlight != highlightMap_.end() && (*rowHighlight).second) { painter->fillRect(option.rect, RingTheme::smartlistHighlight_); } - auto convUid = index.data(static_cast<int>(SmartListModel::Role::UID)).value<QString>().toStdString(); + auto convUid = index.data(static_cast<int>(SmartListModel::Role::UID)).value<QString>(); auto conversation = LRCInstance::getConversationFromConvUid(convUid); - if (conversation.uid.empty()) return; + if (conversation.uid.isEmpty()) return; if (LRCInstance::getCurrentCallModel()->hasCall(conversation.callId)) { auto color = QColor(RingTheme::blue_.lighter(180)); color.setAlpha(128); diff --git a/src/currentaccountcombobox.cpp b/src/currentaccountcombobox.cpp index f9e90fc9ea02099ca421541cc81103c9bd1890a8..e66026341c3a21d4414d27355fc2d29d0ad32b01 100644 --- a/src/currentaccountcombobox.cpp +++ b/src/currentaccountcombobox.cpp @@ -55,7 +55,7 @@ CurrentAccountComboBox::CurrentAccountComboBox(QWidget* parent) // account added to combobox connect(&LRCInstance::accountModel(), &lrc::api::NewAccountModel::accountAdded, - [this](const std::string& accountId) { + [this](const QString& accountId) { auto accountList = LRCInstance::accountModel().getAccountList(); auto it = std::find(accountList.begin(), accountList.end(), accountId); if (it != accountList.end()) { @@ -81,8 +81,8 @@ CurrentAccountComboBox::CurrentAccountComboBox(QWidget* parent) auto confProps = LRCInstance::accountModel().getAccountConfig(currentAccountId); auto possibleConv = LRCInstance::getConversationFromPeerUri(confProps.mailbox); - if (possibleConv.uid.empty()) { - if (confProps.mailbox.empty()) { + if (possibleConv.uid.isEmpty()) { + if (confProps.mailbox.isEmpty()) { QMessageBox::information(0, "Voicemail", "Voicemail dial code is empty"); } // construct new contact @@ -90,7 +90,7 @@ CurrentAccountComboBox::CurrentAccountComboBox(QWidget* parent) lrc::api::contact::Info contactInfo{ {{confProps.mailbox}, {} , {"Voicemail"}, type }, {} }; Utils::oneShotConnect(this, &CurrentAccountComboBox::placeAudioOnlyCall, - [this, conversationModel] (const std::string& convUid) { + [this, conversationModel] (const QString& convUid) { conversationModel->placeAudioOnlyCall(convUid); }); accInfo.contactModel->addContact(contactInfo); @@ -165,14 +165,14 @@ CurrentAccountComboBox::paintEvent(QPaintEvent* e) avatarSize_ - 10); // [screen awareness] // write primary and secondary account identifiers to combobox label - QString primaryAccountID = QString::fromStdString(Utils::bestNameForAccount(accInfo)); + QString primaryAccountID = Utils::bestNameForAccount(accInfo); painter.setFont(fontPrimary); painter.setPen(RingTheme::lightBlack_); primaryAccountID = fontMetricPrimary.elidedText(primaryAccountID, Qt::ElideRight, comboBoxRect.width() - elidConst - (popupPresent ? 0 : 2 * gearSize_ + 2 * voicemailSize_)); painter.drawText(comboBoxRect, Qt::AlignLeft, primaryAccountID); - QString secondaryAccountID = QString::fromStdString(Utils::secondBestNameForAccount(accInfo)); + QString secondaryAccountID = Utils::secondBestNameForAccount(accInfo); secondaryAccountID = fontMetricSecondary.elidedText(secondaryAccountID, Qt::ElideRight, comboBoxRect.width() - elidConst - 2 - (popupPresent ? 0 : 2 * gearSize_ + 2 * voicemailSize_)); // [screen awareness] @@ -221,7 +221,7 @@ void CurrentAccountComboBox::connectVoiceMail() { connect(LRCInstance::getCurrentCallModel(), &lrc::api::NewCallModel::voiceMailNotify, - [this](const std::string& accountId, int newCount, int oldCount, int urgentCount) { + [this](const QString& accountId, int newCount, int oldCount, int urgentCount) { Q_UNUSED(urgentCount); voicemailMap_[accountId] = std::make_pair(newCount, oldCount); if (LRCInstance::accountModel().getAccountList()[currentIndex()] == accountId) { diff --git a/src/currentaccountcombobox.h b/src/currentaccountcombobox.h index b0272803d5a80bf9f4d7510f7322b9052a3f4fd7..0bd7cb1770a221099ed57dad1684b593f5a940cb 100644 --- a/src/currentaccountcombobox.h +++ b/src/currentaccountcombobox.h @@ -42,14 +42,14 @@ public: void accountListUpdate(); void setCurrentIndex(int index); void updateComboBoxDisplay(); - void canPlaceAudioOnlyCall(const std::string& convUid) { emit placeAudioOnlyCall(convUid); } + void canPlaceAudioOnlyCall(const QString& convUid) { emit placeAudioOnlyCall(convUid); } void activateComboBox() { showPopup(); } void deactivateComboBox() { hidePopup(); } signals: void settingsButtonClicked(); void newAccountClicked(); - void placeAudioOnlyCall(const std::string& convUid); + void placeAudioOnlyCall(const QString& convUid); protected: void paintEvent(QPaintEvent* e); @@ -85,5 +85,5 @@ private: const int voicemailBorder_ = 4; const int voicemailSize_ = 24; - std::map<std::string,std::pair<int,int>> voicemailMap_; + std::map<QString, std::pair<int,int>> voicemailMap_; }; diff --git a/src/deleteaccountdialog.cpp b/src/deleteaccountdialog.cpp index 99b9358a77725eb4dae85090d582508d26ee18a9..24a438cf998fa557c0b840a86ab4255bd6d786ca 100644 --- a/src/deleteaccountdialog.cpp +++ b/src/deleteaccountdialog.cpp @@ -29,8 +29,8 @@ DeleteAccountDialog::DeleteAccountDialog(QWidget *parent) : { ui->setupUi(this); if (LRCInstance::getCurrentAccountInfo().profileInfo.type == lrc::api::profile::Type::RING){ - ui->labelBestId->setText(QString::fromStdString(Utils::bestNameForAccount(LRCInstance::getCurrentAccountInfo()))); - ui->labelAccountHash->setText(QString::fromStdString(LRCInstance::getCurrentAccountInfo().profileInfo.uri)); + ui->labelBestId->setText(Utils::bestNameForAccount(LRCInstance::getCurrentAccountInfo())); + ui->labelAccountHash->setText(LRCInstance::getCurrentAccountInfo().profileInfo.uri); } else { ui->labelWarning->hide(); } diff --git a/src/deviceitemwidget.cpp b/src/deviceitemwidget.cpp index c85d9e50dc3248c1979d1538cbac2f94fd6b2448..35126b4cf01ba34b32d10ffb81b0d6cbddf5f268 100644 --- a/src/deviceitemwidget.cpp +++ b/src/deviceitemwidget.cpp @@ -84,7 +84,7 @@ DeviceItemWidget::toggleEditable() ui->btnEditDevice->setIcon(QIcon(":/images/icons/round-edit-24px.svg")); ui->btnEditDevice->setToolTip(QObject::tr("Edit Device Name")); auto confProps = LRCInstance::accountModel().getAccountConfig(LRCInstance::getCurrAccId()); - confProps.deviceName = ui->editDeviceName->text().toStdString(); + confProps.deviceName = ui->editDeviceName->text(); LRCInstance::accountModel().setAccountConfig(LRCInstance::getCurrAccId(), confProps); } editable_ = !editable_; diff --git a/src/distantwidget.cpp b/src/distantwidget.cpp index 4e04d031c081832581ae30e445c886ae890e7164..3474efc4f97bd0605cedced90c3dd1062895db25 100644 --- a/src/distantwidget.cpp +++ b/src/distantwidget.cpp @@ -25,11 +25,11 @@ DistantWidget::DistantWidget(QWidget* parent) : VideoWidgetBase(Qt::black, parent) { connect(LRCInstance::renderer(), &RenderManager::distantFrameUpdated, - [this](const std::string& id) { + [this](const QString& id) { if (id_ == id) repaint(); }); connect(LRCInstance::renderer(), &RenderManager::distantRenderingStopped, - [this](const std::string& id) { + [this](const QString& id) { if (id_ == id) repaint(); }); } @@ -68,7 +68,7 @@ DistantWidget::paintBackground(QPainter* painter) } void -DistantWidget::setRendererId(const std::string& id) +DistantWidget::setRendererId(const QString& id) { id_ = id; update(); diff --git a/src/distantwidget.h b/src/distantwidget.h index 8b3379a648dd6c308457b9afd54145b0338f35ed..d3ca0b5b91168d1ab27baff3452965999f8c7673 100644 --- a/src/distantwidget.h +++ b/src/distantwidget.h @@ -30,7 +30,7 @@ public: explicit DistantWidget(QWidget* parent = 0); ~DistantWidget(); - void setRendererId(const std::string& id); + void setRendererId(const QString& id); protected: void paintEvent(QPaintEvent* e); @@ -38,6 +38,5 @@ protected: void paintBackground(QPainter* painter) override; private: - std::string id_; - + QString id_; }; diff --git a/src/linkdevicedialog.cpp b/src/linkdevicedialog.cpp index 746d73241f1e413e23296b441c52066c6a84cd61..c04a401df6f30b5f9789312b83f8382c76bc27b3 100644 --- a/src/linkdevicedialog.cpp +++ b/src/linkdevicedialog.cpp @@ -57,9 +57,9 @@ void LinkDeviceDialog::setGeneratingPage() { if (ui->passwordEdit->text().isEmpty() && LRCInstance::getCurrAccConfig().archiveHasPassword) { - setExportPage(std::string(), + setExportPage(QString(), lrc::api::account::ExportOnRingStatus::WRONG_PASSWORD, - std::string()); + QString()); return; } @@ -75,17 +75,17 @@ LinkDeviceDialog::setGeneratingPage() timeout_->setSingleShot(true); connect(timeout_, &QTimer::timeout, this, [this]() { - setExportPage(std::string(), + setExportPage(QString(), lrc::api::account::ExportOnRingStatus::NETWORK_ERROR, - std::string()); + QString()); }); timeout_->start(); - LRCInstance::accountModel().exportOnRing(LRCInstance::getCurrAccId(), ui->passwordEdit->text().toStdString()); + LRCInstance::accountModel().exportOnRing(LRCInstance::getCurrAccId(), ui->passwordEdit->text()); } void -LinkDeviceDialog::setExportPage(const std::string& accountId, lrc::api::account::ExportOnRingStatus status, const std::string& pin) +LinkDeviceDialog::setExportPage(const QString& accountId, lrc::api::account::ExportOnRingStatus status, const QString& pin) { Q_UNUSED(accountId); timeout_->stop(); @@ -100,7 +100,7 @@ LinkDeviceDialog::setExportPage(const std::string& accountId, lrc::api::account: case lrc::api::account::ExportOnRingStatus::SUCCESS: ui->infoLabel->setStyleSheet("color: #2b5084;border: 1px solid lightgray;background-color: whitesmoke;padding: 8px;border-radius: 15px;"); - ui->exportedPIN->setText(QString::fromStdString(pin)); + ui->exportedPIN->setText(pin); break; case lrc::api::account::ExportOnRingStatus::NETWORK_ERROR: diff --git a/src/linkdevicedialog.h b/src/linkdevicedialog.h index 2ec52f4e41bba0431189877b0613aa8b1c228307..c3e7b88939e5bf939139aadde8a2acbce6791d9f 100644 --- a/src/linkdevicedialog.h +++ b/src/linkdevicedialog.h @@ -41,7 +41,7 @@ private: private slots: void setGeneratingPage(); - void setExportPage(const std::string& accountId, + void setExportPage(const QString& accountId, lrc::api::account::ExportOnRingStatus status, - const std::string& pin); + const QString& pin); }; diff --git a/src/lrcinstance.h b/src/lrcinstance.h index e4759d9ecc23c52897fbcfbf5297cc05111b8b4f..c8c3667bbf2dd18c0cb2150e3ca51747e357d8a5 100644 --- a/src/lrcinstance.h +++ b/src/lrcinstance.h @@ -97,11 +97,11 @@ public: static bool isConnected() { return instance().lrc_->isConnected(); }; - static std::vector<std::string> getActiveCalls() { + static VectorString getActiveCalls() { return instance().lrc_->activeCalls(); }; static const account::Info& - getAccountInfo(const std::string& accountId) { + getAccountInfo(const QString& accountId) { return accountModel().getAccountInfo(accountId); }; static const account::Info& @@ -123,17 +123,17 @@ public: } return result; }; - static std::string - getCallIdForConversationUid(const std::string& convUid, const std::string& accountId) + static QString + getCallIdForConversationUid(const QString& convUid, const QString& accountId) { auto convInfo = LRCInstance::getConversationFromConvUid(convUid, accountId); - if (convInfo.uid.empty()) { + if (convInfo.uid.isEmpty()) { return {}; } - return convInfo.confId.empty() ? convInfo.callId : convInfo.confId; + return convInfo.confId.isEmpty() ? convInfo.callId : convInfo.confId; } static const call::Info* - getCallInfo(const std::string& callId, const std::string& accountId) { + getCallInfo(const QString& callId, const QString& accountId) { try { auto& accInfo = LRCInstance::accountModel().getAccountInfo(accountId); if (!accInfo.callModel->hasCall(callId)) { @@ -152,7 +152,7 @@ public: auto& accInfo = LRCInstance::accountModel().getAccountInfo(accountId); auto callId = forceCallOnly ? convInfo.callId : - (convInfo.confId.empty() ? convInfo.callId : convInfo.confId); + (convInfo.confId.isEmpty() ? convInfo.callId : convInfo.confId); if (!accInfo.callModel->hasCall(callId)) { return nullptr; } @@ -162,7 +162,7 @@ public: } } static const conversation::Info& - getConversation(const std::string& accountId, + getConversation(const QString& accountId, getConvPredicate pred = {}, bool filtered=false) { using namespace lrc::api; @@ -192,28 +192,28 @@ public: return invalid; } static const conversation::Info& - getConversationFromCallId(const std::string& callId, - const std::string& accountId = {}, + getConversationFromCallId(const QString& callId, + const QString& accountId = {}, bool filtered = false) { - return getConversation(!accountId.empty() ? accountId : getCurrAccId(), + return getConversation(!accountId.isEmpty() ? accountId : getCurrAccId(), [&](const conversation::Info& conv) -> bool { return callId == conv.callId; }, filtered); } static const conversation::Info& - getConversationFromConvUid(const std::string& convUid, - const std::string& accountId = {}, + getConversationFromConvUid(const QString& convUid, + const QString& accountId = {}, bool filtered = false) { - return getConversation(!accountId.empty() ? accountId : getCurrAccId(), + return getConversation(!accountId.isEmpty() ? accountId : getCurrAccId(), [&](const conversation::Info& conv) -> bool { return convUid == conv.uid; }, filtered); } static const conversation::Info& - getConversationFromPeerUri(const std::string& peerUri, - const std::string& accountId = {}, + getConversationFromPeerUri(const QString& peerUri, + const QString& accountId = {}, bool filtered = false) { - return getConversation(!accountId.empty() ? accountId : getCurrAccId(), + return getConversation(!accountId.isEmpty() ? accountId : getCurrAccId(), [&](const conversation::Info& conv) -> bool { return peerUri == conv.participants[0]; }, filtered); @@ -233,25 +233,25 @@ public: return getCurrentAccountInfo().callModel.get(); }; - static const std::string& getCurrAccId() { + static const QString& getCurrAccId() { auto accountList = accountModel().getAccountList(); - if (instance().selectedAccountId_.empty() && accountList.size()) { + if (instance().selectedAccountId_.isEmpty() && accountList.size()) { instance().selectedAccountId_ = accountList.at(0); } return instance().selectedAccountId_; }; - static void setSelectedAccountId(const std::string& accountId = {}) { + static void setSelectedAccountId(const QString& accountId = {}) { instance().selectedAccountId_ = accountId; QSettings settings("jami.net", "Jami"); - settings.setValue(SettingsKey::selectedAccount, QString::fromStdString(accountId)); + settings.setValue(SettingsKey::selectedAccount, accountId); }; - static const std::string& getCurrentConvUid() { + static const QString& getCurrentConvUid() { return instance().selectedConvUid_; }; - static void setSelectedConvId(const std::string& convUid = {}) { + static void setSelectedConvId(const QString& convUid = {}) { instance().selectedConvUid_ = convUid; }; @@ -284,15 +284,15 @@ public: QBuffer bu(&ba); bu.open(QIODevice::WriteOnly); avatarPixmap.save(&bu, "PNG"); - auto str = ba.toBase64().toStdString(); + auto str = QString::fromLocal8Bit(ba.toBase64()); accountModel().setAvatar(getCurrAccId(), str); }; - static void setCurrAccAvatar(const std::string& avatar) { + static void setCurrAccAvatar(const QString& avatar) { accountModel().setAvatar(getCurrAccId(), avatar); }; - static void setCurrAccDisplayName(const std::string& displayName) { + static void setCurrAccDisplayName(const QString& displayName) { auto accountId = LRCInstance::getCurrAccId(); accountModel().setAlias(accountId, displayName); // force save to .yml @@ -357,18 +357,18 @@ public: instance().contentDrafts_[draftKey] = content; } - static void pushLastConferencee(const std::string& confId, - const std::string& callId) + static void pushLastConferencee(const QString& confId, + const QString& callId) { instance().lastConferencees_[confId] = callId; } - static std::string popLastConferencee(const std::string& confId) + static QString popLastConferencee(const QString& confId) { - std::string callId = {}; + QString callId = {}; auto iter = instance().lastConferencees_.find(confId); if (iter != instance().lastConferencees_.end()) { - callId = iter->second; + callId = iter.value(); instance().lastConferencees_.erase(iter); } return callId; @@ -389,8 +389,8 @@ private: std::unique_ptr<RenderManager> renderer_; std::unique_ptr<NetWorkManager> netWorkManager_; AccountListModel accountListModel_; - std::string selectedAccountId_; - std::string selectedConvUid_; + QString selectedAccountId_; + QString selectedConvUid_; MapStringString contentDrafts_; - std::map<std::string, std::string> lastConferencees_; + MapStringString lastConferencees_; }; diff --git a/src/mainapplication.cpp b/src/mainapplication.cpp index b9a31ba22ec801c0fe0024b00aee10b5c23bdd62..3162fb0b0b1a121c0bd39c1d0ae7febf90a9d8d3 100644 --- a/src/mainapplication.cpp +++ b/src/mainapplication.cpp @@ -80,8 +80,8 @@ MainApplication::vsConsoleDebug() QObject::connect( &LRCInstance::behaviorController(), &lrc::api::BehaviorController::debugMessageReceived, - [](const std::string& message) { - OutputDebugStringA((message + "\n").c_str()); + [](const QString& message) { + OutputDebugStringA((message + "\n").toStdString().c_str()); }); #endif } @@ -92,9 +92,9 @@ MainApplication::fileDebug(QFile* debugFile) QObject::connect( &LRCInstance::behaviorController(), &lrc::api::BehaviorController::debugMessageReceived, - [debugFile](const std::string& message) { + [debugFile](const QString& message) { if (debugFile->open(QIODevice::WriteOnly | QIODevice::Append)) { - auto msg = (message + "\n").c_str(); + auto msg = (message + "\n").toStdString().c_str(); debugFile->write(msg, qstrlen(msg)); debugFile->close(); } @@ -253,7 +253,7 @@ MainApplication::startAccountMigration() { auto accountList = LRCInstance::accountModel().getAccountList(); - for (const std::string& i : accountList) { + for (const QString& i : accountList) { auto accountStatus = LRCInstance::accountModel().getAccountInfo(i).status; if (accountStatus == lrc::api::account::Status::ERROR_NEED_MIGRATION) { std::unique_ptr<AccountMigrationDialog> dialog = std::make_unique<AccountMigrationDialog>(nullptr, i); diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index f599ac863eb3b2ce871c32af3bdb4c6fb663ea0f..aca3b70e54a6ed14a902688c36e1325bd7b88a2f 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -200,7 +200,7 @@ MainWindow::MainWindow(QWidget* parent) #endif connect(&LRCInstance::accountModel(), &lrc::api::NewAccountModel::accountRemoved, - [this](const std::string& accountId) { + [this](const QString& accountId) { Q_UNUSED(accountId); emit LRCInstance::instance().accountListChanged(); }); @@ -345,7 +345,6 @@ void MainWindow::readSettingsFromRegistry() LRCInstance::dataTransferModel().downloadDirectory = settings.value(SettingsKey::downloadPath, QStandardPaths::writableLocation(QStandardPaths::DownloadLocation)) .toString() - .toStdString() + "/"; if (not settings.contains(SettingsKey::enableNotifications)) { diff --git a/src/messagewebpage.cpp b/src/messagewebpage.cpp index 28cf038977c98f7a800d8f6b05b6e16dc2de7674..4fde78de2a6e09606cce9f74e9486ffdc748c6e3 100644 --- a/src/messagewebpage.cpp +++ b/src/messagewebpage.cpp @@ -30,8 +30,7 @@ MessageWebPage::~MessageWebPage() bool MessageWebPage::acceptNavigationRequest(const QUrl & url, QWebEnginePage::NavigationType type, bool isMainFrame) { - qDebug() << "acceptNavigationRequest(" << url << "," << type << "," << isMainFrame << ")"; - + Q_UNUSED(isMainFrame) if (type == QWebEnginePage::NavigationTypeLinkClicked) { QDesktopServices::openUrl(url); return false; diff --git a/src/messagewebview.cpp b/src/messagewebview.cpp index ec4ffa0810b2847d9305f8f8877ab32ec5fc3e3f..96b4ac61e4a651aff5e65000035255aac4f0cec7 100644 --- a/src/messagewebview.cpp +++ b/src/messagewebview.cpp @@ -438,12 +438,12 @@ MessageWebView::printHistory(lrc::api::ConversationModel& conversationModel, } void -MessageWebView::setSenderImage(const std::string& sender, - const std::string& senderImage) +MessageWebView::setSenderImage(const QString& sender, + const QString& senderImage) { QJsonObject setSenderImageObject = QJsonObject(); - setSenderImageObject.insert("sender_contact_method", QJsonValue(QString(sender.c_str()))); - setSenderImageObject.insert("sender_image", QJsonValue(QString(senderImage.c_str()))); + setSenderImageObject.insert("sender_contact_method", QJsonValue(sender)); + setSenderImageObject.insert("sender_image", QJsonValue(senderImage)); auto setSenderImageObjectString = QString(QJsonDocument(setSenderImageObject).toJson(QJsonDocument::Compact)); QString s = QString::fromLatin1("setSenderImage(%1);") @@ -452,11 +452,11 @@ MessageWebView::setSenderImage(const std::string& sender, } void -MessageWebView::setInvitation(bool show, const std::string& contactUri, const std::string& contactId) +MessageWebView::setInvitation(bool show, const QString& contactUri, const QString& contactId) { QString s = show ? QString::fromLatin1("showInvitation(\"%1\", \"%2\")") - .arg(QString(contactUri.c_str())) - .arg(QString(contactId.c_str())) : QString::fromLatin1("showInvitation()"); + .arg(contactUri) + .arg(contactId) : QString::fromLatin1("showInvitation()"); page()->runJavaScript(s, QWebEngineScript::MainWorld); } @@ -578,25 +578,25 @@ Q_INVOKABLE int PrivateBridging::acceptFile(const QString& arg) { try { - auto interactionUid = std::stoull(arg.toStdString()); + auto interactionUid = arg.toLongLong(); lrc::api::datatransfer::Info info = {}; auto convUid = LRCInstance::getCurrentConvUid(); LRCInstance::getCurrentConversationModel()->getTransferInfo(interactionUid, info); // get full path - std::string filename = LRCInstance::dataTransferModel().downloadDirectory.c_str(); - if (!filename.empty() && filename.back() != '/') + QString filename = LRCInstance::dataTransferModel().downloadDirectory; + if (!filename.isEmpty() && filename.right(1) != '/') filename += "/"; auto wantedFilename = filename + info.displayName; auto duplicate = 0; - while (std::ifstream(wantedFilename).good()) { + while (QFile(wantedFilename).exists()) { ++duplicate; - auto extensionIdx = info.displayName.find_last_of("."); - if (extensionIdx == std::string::npos) - wantedFilename = filename + info.displayName + " (" + std::to_string(duplicate) + ")"; + auto splittedList = info.displayName.split("."); + if (splittedList.size() == 1) + wantedFilename = filename + info.displayName + " (" + QString::number(duplicate) + ")"; else - wantedFilename = filename + info.displayName.substr(0, extensionIdx) + " (" + std::to_string(duplicate) + ")" + info.displayName.substr(extensionIdx); + wantedFilename = filename + splittedList[0] + " (" + QString::number(duplicate) + ")" + "." +splittedList[1]; } LRCInstance::getCurrentConversationModel()->acceptTransfer(convUid, interactionUid, wantedFilename); } catch (...) { @@ -609,7 +609,7 @@ Q_INVOKABLE int PrivateBridging::refuseFile(const QString& arg) { try { - auto interactionUid = std::stoull(arg.toStdString()); + auto interactionUid = arg.toLongLong(); auto convUid = LRCInstance::getCurrentConvUid(); LRCInstance::getCurrentConversationModel()->cancelTransfer(convUid, interactionUid); } catch (...) { @@ -623,7 +623,7 @@ PrivateBridging::sendMessage(const QString& arg) { try { auto convUid = LRCInstance::getCurrentConvUid(); - LRCInstance::getCurrentConversationModel()->sendMessage(convUid, arg.toStdString()); + LRCInstance::getCurrentConversationModel()->sendMessage(convUid, arg); } catch (...) { qDebug() << "JS bridging - exception during sendMessage:" << arg; return -1; @@ -654,7 +654,7 @@ PrivateBridging::sendImage(const QString& arg) try { auto convUid = LRCInstance::getCurrentConvUid(); - LRCInstance::getCurrentConversationModel()->sendFile(convUid, path.toStdString(), fileName.toStdString()); + LRCInstance::getCurrentConversationModel()->sendFile(convUid, path, fileName); } catch (...) { qDebug().noquote() << "JS bridging - exception during sendFile - base64 img" << "\n"; return -1; @@ -666,7 +666,7 @@ PrivateBridging::sendImage(const QString& arg) QString fileName = fi.fileName(); try { auto convUid = LRCInstance::getCurrentConvUid(); - LRCInstance::getCurrentConversationModel()->sendFile(convUid, arg.toStdString(), fileName.toStdString()); + LRCInstance::getCurrentConversationModel()->sendFile(convUid, arg, fileName); } catch (...) { qDebug().noquote() << "JS bridging - exception during sendFile - image from path" << "\n"; return -1; @@ -683,7 +683,7 @@ PrivateBridging::sendFile(const QString& path) QString fileName = fi.fileName(); try { auto convUid = LRCInstance::getCurrentConvUid(); - LRCInstance::getCurrentConversationModel()->sendFile(convUid, path.toStdString(), fileName.toStdString()); + LRCInstance::getCurrentConversationModel()->sendFile(convUid, path, fileName); } catch (...) { qDebug() << "JS bridging - exception during sendFile"; } diff --git a/src/messagewebview.h b/src/messagewebview.h index d54ee087b3c970b273b80b0a21e3d4d7ab782368..77c387fc913d48c6ef3ddfb93cbf31175ffdd825 100644 --- a/src/messagewebview.h +++ b/src/messagewebview.h @@ -89,11 +89,11 @@ public: void printHistory(lrc::api::ConversationModel& conversationModel, const std::map<uint64_t, lrc::api::interaction::Info> interactions); - void setSenderImage(const std::string& sender, - const std::string& senderImage); + void setSenderImage(const QString& sender, + const QString& senderImage); void setInvitation(bool show, - const std::string& contactUri = "", - const std::string& contactId = ""); + const QString& contactUri = "", + const QString& contactId = ""); void setMessagesVisibility(bool visible); void setMessagesContent(const QString& text); void copySelectedText(QClipboard* clipboard); diff --git a/src/nameregistrationdialog.cpp b/src/nameregistrationdialog.cpp index 8c54ea0fcce56cdf4d95e0ab6d5980bb93298e43..b9775af0f54328265cfe8a0f7affce726a934006 100644 --- a/src/nameregistrationdialog.cpp +++ b/src/nameregistrationdialog.cpp @@ -59,15 +59,15 @@ NameRegistrationDialog::~NameRegistrationDialog() void NameRegistrationDialog::slotStartNameRegistration() { - auto password = ui->passwordEdit->text().toStdString(); - LRCInstance::accountModel().registerName(LRCInstance::getCurrAccId(), - password, nameToRegister_.toStdString()); + auto password = ui->passwordEdit->text(); + LRCInstance::accountModel().registerName(LRCInstance::getCurrAccId(), password, nameToRegister_); startSpinner(); } void -NameRegistrationDialog::slotNameRegistrationResult(const std::string& accountId, - lrc::api::account::RegisterNameStatus status, const std::string& registerdName) +NameRegistrationDialog::slotNameRegistrationResult(const QString& accountId, + lrc::api::account::RegisterNameStatus status, + const QString& registerdName) { Q_UNUSED(accountId); Q_UNUSED(registerdName); diff --git a/src/nameregistrationdialog.h b/src/nameregistrationdialog.h index 4f01940d83b5e2870dac7d85aed4081527f62983..13f58438ecb1e2164150c5f6364c9564553e9ed6 100644 --- a/src/nameregistrationdialog.h +++ b/src/nameregistrationdialog.h @@ -39,9 +39,9 @@ public: ~NameRegistrationDialog(); private slots: - void slotNameRegistrationResult(const std::string& accountId, - RegisterNameStatus status, - const std::string& registerdName); + void slotNameRegistrationResult(const QString& accountId, + RegisterNameStatus status, + const QString& registerdName); void slotStartNameRegistration(); private: diff --git a/src/newwizardwidget.cpp b/src/newwizardwidget.cpp index 729db0510b4f88e91a75f4115c10ca2733ba0cb6..6ae983b2b922160bffdeec07a433f90f4e14492a 100644 --- a/src/newwizardwidget.cpp +++ b/src/newwizardwidget.cpp @@ -362,7 +362,7 @@ NewWizardWidget::on_exportBtn_clicked() QDir::homePath() + "/Desktop", QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks); if (!dir.isEmpty()) { - LRCInstance::accountModel().exportToFile(LRCInstance::getCurrAccId(), (dir + "/export.gz").toStdString()); + LRCInstance::accountModel().exportToFile(LRCInstance::getCurrAccId(), dir + "/export.gz"); } emit NavigationRequested(ScreenEnum::CallScreen); emit LRCInstance::instance().accountListChanged(); @@ -395,10 +395,10 @@ NewWizardWidget::timeoutNameLookupTimer() } void -NewWizardWidget::slotRegisteredNameFound(const std::string& accountId, +NewWizardWidget::slotRegisteredNameFound(const QString& accountId, LookupStatus status, - const std::string& address, - const std::string& name) + const QString& address, + const QString& name) { Q_UNUSED(accountId); Q_UNUSED(address); @@ -407,7 +407,7 @@ NewWizardWidget::slotRegisteredNameFound(const std::string& accountId, if (name.length() < 3) { registrationStateOk_ = false; updateNameRegistrationUi(NameRegistrationUIState::INVALID); - } else if (registeredName_.toStdString() == name) { + } else if (registeredName_ == name) { switch (status) { case LookupStatus::NOT_FOUND: case LookupStatus::ERROR: @@ -547,28 +547,28 @@ NewWizardWidget::createAccount() bool isCreating = wizardMode_ == WizardMode::CREATE; if (isConnectingToManager) { Utils::oneShotConnect(&LRCInstance::accountModel(), &lrc::api::NewAccountModel::accountAdded, - [this](const std::string& accountId) { + [this](const QString& accountId) { if (!LRCInstance::accountModel().getAccountList().size()) return; //set default ringtone auto confProps = LRCInstance::accountModel().getAccountConfig(accountId); - confProps.Ringtone.ringtonePath = Utils::GetRingtonePath().toStdString(); + confProps.Ringtone.ringtonePath = Utils::GetRingtonePath(); LRCInstance::accountModel().setAccountConfig(accountId, confProps); emit NavigationRequested(ScreenEnum::CallScreen); emit LRCInstance::instance().accountListChanged(); }); } else { Utils::oneShotConnect(&LRCInstance::accountModel(), &lrc::api::NewAccountModel::accountAdded, - [this, isRing, isCreating](const std::string& accountId) { + [this, isRing, isCreating](const QString& accountId) { //set default ringtone auto confProps = LRCInstance::accountModel().getAccountConfig(accountId); - confProps.Ringtone.ringtonePath = Utils::GetRingtonePath().toStdString(); + confProps.Ringtone.ringtonePath = Utils::GetRingtonePath(); if (!isRing) { // set SIP details - confProps.hostname = inputPara_["hostname"].toStdString(); - confProps.username = inputPara_["username"].toStdString(); - confProps.password = inputPara_["password"].toStdString(); - confProps.proxyServer = inputPara_["proxy"].toStdString(); + confProps.hostname = inputPara_["hostname"]; + confProps.username = inputPara_["username"]; + confProps.password = inputPara_["password"]; + confProps.proxyServer = inputPara_["proxy"]; } LRCInstance::accountModel().setAccountConfig(accountId, confProps); if (isRing) { @@ -578,7 +578,7 @@ NewWizardWidget::createAccount() } auto showBackup = isCreating && !settings.value(SettingsKey::neverShowMeAgain).toBool(); - if (!confProps.username.empty()) { + if (!confProps.username.isEmpty()) { Utils::oneShotConnect(&LRCInstance::accountModel(), &lrc::api::NewAccountModel::nameRegistrationEnded, [this, showBackup] { @@ -595,7 +595,7 @@ NewWizardWidget::createAccount() LRCInstance::accountModel().registerName( LRCInstance::getCurrAccId(), "", - registeredName_.toStdString() + registeredName_ ); } else { if (showBackup) { @@ -613,13 +613,13 @@ NewWizardWidget::createAccount() }); } Utils::oneShotConnect(&LRCInstance::accountModel(), &lrc::api::NewAccountModel::accountRemoved, - [this](const std::string& accountId) { + [this](const QString& accountId) { Q_UNUSED(accountId); qWarning() << Q_FUNC_INFO << ": " << "accountRemoved"; reportFailure(); }); Utils::oneShotConnect(&LRCInstance::accountModel(), &lrc::api::NewAccountModel::invalidAccountDetected, - [this](const std::string& accountId) { + [this](const QString& accountId) { Q_UNUSED(accountId); qWarning() << Q_FUNC_INFO << ": " << "invalidAccountDetected"; reportFailure(); @@ -628,26 +628,26 @@ NewWizardWidget::createAccount() [this, isRing, isConnectingToManager] { if (isConnectingToManager) { LRCInstance::accountModel().connectToAccountManager( - inputPara_["username"].toStdString(), - inputPara_["password"].toStdString(), - inputPara_["manager"].toStdString() + inputPara_["username"], + inputPara_["password"], + inputPara_["manager"] ); } else if (isRing) { LRCInstance::accountModel().createNewAccount( lrc::api::profile::Type::RING, - inputPara_["alias"].toStdString(), - inputPara_["archivePath"].toStdString(), - inputPara_["password"].toStdString(), - inputPara_["archivePin"].toStdString() + inputPara_["alias"], + inputPara_["archivePath"], + inputPara_["password"], + inputPara_["archivePin"] ); } else { LRCInstance::accountModel().createNewAccount( lrc::api::profile::Type::SIP, - inputPara_["alias"].toStdString(), - inputPara_["archivePath"].toStdString(), + inputPara_["alias"], + inputPara_["archivePath"], "", "", - inputPara_["username"].toStdString() + inputPara_["username"] ); QThread::sleep(2); emit NavigationRequested(ScreenEnum::CallScreen); diff --git a/src/newwizardwidget.h b/src/newwizardwidget.h index 22fd7dc7ec418ec7073048328fb1db1279c5de5f..14278184de8212bf748fd44ef67276155e2526f9 100644 --- a/src/newwizardwidget.h +++ b/src/newwizardwidget.h @@ -76,10 +76,10 @@ private slots: private slots: void on_usernameEdit_textChanged(const QString& arg1); - void slotRegisteredNameFound(const std::string& accountId, + void slotRegisteredNameFound(const QString& accountId, LookupStatus status, - const std::string& address, - const std::string& name); + const QString& address, + const QString& name); void handle_nameRegistrationEnded(NameDirectory::RegisterNameStatus status, const QString& name); void timeoutNameLookupTimer(); void on_signUpCheckbox_toggled(bool checked); @@ -101,7 +101,7 @@ private: bool registrationStateOk_; QMetaObject::Connection registeredNameFoundConnection_; QString fileToImport_; - std::map<std::string, QString> inputPara_; + std::map<QString, QString> inputPara_; CollapsiblePasswordWidget* collapsiblePasswordWidget_; diff --git a/src/passworddialog.cpp b/src/passworddialog.cpp index ac175f27cec803d0b4f0e1b33b335502b5d2a3a1..561b3666df0391fb880e2a0c05b0f37b4861fb71 100644 --- a/src/passworddialog.cpp +++ b/src/passworddialog.cpp @@ -100,7 +100,7 @@ PasswordDialog::exportAccount() { bool success = LRCInstance::accountModel().exportToFile(LRCInstance::getCurrAccId(), path_, - ui->currentPasswordEdit->text().toStdString()); + ui->currentPasswordEdit->text()); ui->spinnerLabel->hide(); spinnerMovie_->stop(); if(success) { @@ -132,7 +132,7 @@ void PasswordDialog::savePassword() { bool success = LRCInstance::accountModel().changeAccountPassword(LRCInstance::getCurrAccId(), - ui->currentPasswordEdit->text().toStdString(), ui->passwordEdit->text().toStdString()); + ui->currentPasswordEdit->text(), ui->passwordEdit->text()); ui->spinnerLabel->hide(); spinnerMovie_->stop(); diff --git a/src/passworddialog.h b/src/passworddialog.h index 2b78290cba7389e26c7fa763b2b31f1a2d9ca347..67410936efeafc1220aa8a36776fbc5bfdf7f10a 100644 --- a/src/passworddialog.h +++ b/src/passworddialog.h @@ -38,7 +38,7 @@ public: static const int SuccessCode = 200; - void setExportPath(const std::string& path) { path_ = path; } + void setExportPath(const QString& path) { path_ = path; } private slots: void validatePassword(); @@ -48,7 +48,7 @@ private: Ui::PasswordDialog* ui; PasswordEnteringPurpose purpose_ { PasswordEnteringPurpose::ChangePassword }; - std::string path_; + QString path_; QMovie* spinnerMovie_; void savePassword(); diff --git a/src/pixbufmanipulator.cpp b/src/pixbufmanipulator.cpp index 19eb0d60c60b21156d493fea710f053f4b963b89..6cd1f775a1f81900354e22f96b46494a8e61325a 100644 --- a/src/pixbufmanipulator.cpp +++ b/src/pixbufmanipulator.cpp @@ -102,25 +102,21 @@ PixbufManipulator::decorationRole(const lrc::api::conversation::Info & conversat if (accountInfo.profileInfo.type == lrc::api::profile::Type::SIP && contactInfo.profileInfo.type == lrc::api::profile::Type::TEMPORARY) { photo = Utils::fallbackAvatar(IMAGE_SIZE, QString(), QString()); - } else if (contactInfo.profileInfo.type == lrc::api::profile::Type::TEMPORARY && contactInfo.profileInfo.uri.empty()) { + } else if (contactInfo.profileInfo.type == lrc::api::profile::Type::TEMPORARY && contactInfo.profileInfo.uri.isEmpty()) { photo = Utils::fallbackAvatar(IMAGE_SIZE, QString(), QString()); - } else if (!contactPhoto.empty()) { - QByteArray byteArray(contactPhoto.c_str(), contactPhoto.length()); + } else if (!contactPhoto.isEmpty()) { + QByteArray byteArray = contactPhoto.toLocal8Bit(); photo = personPhoto(byteArray, nullptr).value<QImage>(); if (photo.isNull()) { - auto avatarName = contactInfo.profileInfo.uri == bestName ? - QString() : - QString::fromStdString(bestName); + auto avatarName = contactInfo.profileInfo.uri == bestName ? QString() : bestName; photo = Utils::fallbackAvatar(IMAGE_SIZE, - QString::fromStdString("ring:" + contactInfo.profileInfo.uri), + "ring:" + contactInfo.profileInfo.uri, avatarName); } } else { - auto avatarName = contactInfo.profileInfo.uri == bestName ? - QString() : - QString::fromStdString(bestName); + auto avatarName = contactInfo.profileInfo.uri == bestName ? QString() : bestName; photo = Utils::fallbackAvatar(IMAGE_SIZE, - QString::fromStdString("ring:" + contactInfo.profileInfo.uri), + "ring:" + contactInfo.profileInfo.uri, avatarName); } } diff --git a/src/recordoverlay.cpp b/src/recordoverlay.cpp index 591a2f963b76051b816225965918b9d72310cf20..64fe145edf33f39d59e8077aaa4ad9b22942a3ef 100644 --- a/src/recordoverlay.cpp +++ b/src/recordoverlay.cpp @@ -43,7 +43,7 @@ RecordOverlay::RecordOverlay(RecordWidget* recordWidget) : connect(&LRCInstance::avModel(), &lrc::api::AVModel::audioMeter, ui->levelMeter, - [this](const std::string& /*id*/, float level) { + [this](const QString& /*id*/, float level) { ui->levelMeter->setLevel(level); }); diff --git a/src/recordwidget.cpp b/src/recordwidget.cpp index 77585292154c5f1ce1556a5ca7fd97018a132364..72cf7772d2b792edd7060ece7852d8542eb18a7c 100644 --- a/src/recordwidget.cpp +++ b/src/recordwidget.cpp @@ -38,7 +38,7 @@ RecordWidget::RecordWidget(QWidget *parent) : RecordWidget::~RecordWidget() { - LRCInstance::avModel().stopLocalRecorder(recordedFilePath_.toStdString()); + LRCInstance::avModel().stopLocalRecorder(recordedFilePath_); Utils::forceDeleteAsync(recordedFilePath_); if (!isAudio_) { LRCInstance::avModel().stopPreview(); @@ -51,7 +51,7 @@ RecordWidget::startRecording() bool isSuccessful = false; if(!isAudio_ && !LRCInstance::renderer()->isPreviewing()){return isSuccessful;} try { - recordedFilePath_ = QString::fromStdString(LRCInstance::avModel().startLocalRecorder(isAudio_)); + recordedFilePath_ = LRCInstance::avModel().startLocalRecorder(isAudio_); isSuccessful = true; } catch (...) { qDebug() << "The start of record fails"; @@ -64,7 +64,7 @@ RecordWidget::finishRecording() { bool isSuccessful = false; try { - LRCInstance::avModel().stopLocalRecorder(recordedFilePath_.toStdString()); + LRCInstance::avModel().stopLocalRecorder(recordedFilePath_); if (!isAudio_) { previewWidget_->toPaintingBackground(false); previewWidget_->toDrawLastFrame(true); @@ -85,9 +85,9 @@ RecordWidget::recordAgain() Utils::oneShotConnect(&LRCInstance::avModel(), &lrc::api::AVModel::recordPlaybackStopped, [this] { Utils::forceDeleteAsync(recordedFilePath_); - recordedFilePath_ = QString::fromStdString(LRCInstance::avModel().startLocalRecorder(isAudio_)); + recordedFilePath_ = LRCInstance::avModel().startLocalRecorder(isAudio_); }); - LRCInstance::avModel().stopLocalRecorder(recordedFilePath_.toStdString()); + LRCInstance::avModel().stopLocalRecorder(recordedFilePath_); }); } @@ -108,7 +108,7 @@ RecordWidget::sendRecording() QString fileName = fi.fileName(); try { auto convUid = LRCInstance::getCurrentConvUid(); - LRCInstance::getCurrentConversationModel()->sendFile(convUid, recordedFilePath_.toStdString(), fileName.toStdString()); + LRCInstance::getCurrentConversationModel()->sendFile(convUid, recordedFilePath_, fileName); // reset file path, make sure that the file that is needed to sent will not be deleted recordedFilePath_.clear(); isSuccessful = true; diff --git a/src/rendermanager.cpp b/src/rendermanager.cpp index 50951bd0e8e56bf87fef946d21399cb1bb25cc9f..e0a68d2fd0b7cdaa182ba5611a7148ea8d9e28fc 100644 --- a/src/rendermanager.cpp +++ b/src/rendermanager.cpp @@ -24,7 +24,7 @@ using namespace lrc::api; FrameWrapper::FrameWrapper(AVModel& avModel, - const std::string& id) + const QString& id) : avModel_(avModel) , id_(id) , isRendering_(false) @@ -89,14 +89,14 @@ FrameWrapper::isRendering() } void -FrameWrapper::slotRenderingStarted(const std::string& id) +FrameWrapper::slotRenderingStarted(const QString& id) { if (id != id_) { return; } if (!startRendering()) { - qWarning() << "Couldn't start rendering for id: " << id_.c_str(); + qWarning() << "Couldn't start rendering for id: " << id_; return; } @@ -106,7 +106,7 @@ FrameWrapper::slotRenderingStarted(const std::string& id) } void -FrameWrapper::slotFrameUpdated(const std::string& id) +FrameWrapper::slotFrameUpdated(const QString& id) { if (id != id_) { return; @@ -149,7 +149,7 @@ FrameWrapper::slotFrameUpdated(const std::string& id) } void -FrameWrapper::slotRenderingStopped(const std::string& id) +FrameWrapper::slotRenderingStopped(const QString& id) { if (id != id_) { return; @@ -182,19 +182,19 @@ RenderManager::RenderManager(AVModel& avModel) QObject::connect(previewFrameWrapper_.get(), &FrameWrapper::renderingStarted, - [this](const std::string& id) { + [this](const QString& id) { Q_UNUSED(id); emit previewRenderingStarted(); }); QObject::connect(previewFrameWrapper_.get(), &FrameWrapper::frameUpdated, - [this](const std::string& id) { + [this](const QString& id) { Q_UNUSED(id); emit previewFrameUpdated(); }); QObject::connect(previewFrameWrapper_.get(), &FrameWrapper::renderingStopped, - [this](const std::string& id) { + [this](const QString& id) { Q_UNUSED(id); emit previewRenderingStopped(); }); @@ -256,7 +256,7 @@ void RenderManager::startPreviewing(bool force, bool async) } QImage* -RenderManager::getFrame(const std::string& id) +RenderManager::getFrame(const QString& id) { auto dfwIt = distantFrameWrapperMap_.find(id); if (dfwIt != distantFrameWrapperMap_.end()) { @@ -266,13 +266,13 @@ RenderManager::getFrame(const std::string& id) } void -RenderManager::addDistantRenderer(const std::string& id) +RenderManager::addDistantRenderer(const QString& id) { // check if a FrameWrapper with this id exists auto dfwIt = distantFrameWrapperMap_.find(id); if ( dfwIt != distantFrameWrapperMap_.end()) { if (!dfwIt->second->startRendering()) { - qWarning() << "Couldn't start rendering for id: " << id.c_str(); + qWarning() << "Couldn't start rendering for id: " << id; } } else { auto dfw = std::make_unique<FrameWrapper>(avModel_, id); @@ -280,17 +280,17 @@ RenderManager::addDistantRenderer(const std::string& id) // connect this to the FrameWrapper distantConnectionMap_[id].started = QObject::connect( dfw.get(), &FrameWrapper::renderingStarted, - [this](const std::string& id) { + [this](const QString& id) { emit distantRenderingStarted(id); }); distantConnectionMap_[id].updated = QObject::connect( dfw.get(), &FrameWrapper::frameUpdated, - [this](const std::string& id) { + [this](const QString& id) { emit distantFrameUpdated(id); }); distantConnectionMap_[id].stopped = QObject::connect( dfw.get(), &FrameWrapper::renderingStopped, - [this](const std::string& id) { + [this](const QString& id) { emit distantRenderingStopped(id); }); @@ -303,7 +303,7 @@ RenderManager::addDistantRenderer(const std::string& id) } void -RenderManager::removeDistantRenderer(const std::string& id) +RenderManager::removeDistantRenderer(const QString& id) { auto dfwIt = distantFrameWrapperMap_.find(id); if (dfwIt != distantFrameWrapperMap_.end()) { diff --git a/src/rendermanager.h b/src/rendermanager.h index f62d0d9d137f1a8fca65cd2187ecd6a95fafe443..5ee581235a553ef69e594ae373b5a4a1fd397de1 100644 --- a/src/rendermanager.h +++ b/src/rendermanager.h @@ -45,7 +45,7 @@ class FrameWrapper final : public QObject Q_OBJECT; public: FrameWrapper(AVModel& avModel, - const std::string& id = video::PREVIEW_RENDERER_ID); + const QString& id = video::PREVIEW_RENDERER_ID); ~FrameWrapper(); /** @@ -76,38 +76,38 @@ signals: * Emitted once in slotRenderingStarted. * @param id of the renderer */ - void renderingStarted(const std::string& id); + void renderingStarted(const QString& id); /** * Emitted each time a frame is ready to be displayed. * @param id of the renderer */ - void frameUpdated(const std::string& id); + void frameUpdated(const QString& id); /** * Emitted once in slotRenderingStopped. * @param id of the renderer */ - void renderingStopped(const std::string& id); + void renderingStopped(const QString& id); private slots: /** * Used to listen to AVModel::rendererStarted. * @param id of the renderer */ - void slotRenderingStarted(const std::string& id = video::PREVIEW_RENDERER_ID); + void slotRenderingStarted(const QString& id = video::PREVIEW_RENDERER_ID); /** * Used to listen to AVModel::frameUpdated. * @param id of the renderer */ - void slotFrameUpdated(const std::string& id = video::PREVIEW_RENDERER_ID); + void slotFrameUpdated(const QString& id = video::PREVIEW_RENDERER_ID); /** * Used to listen to AVModel::renderingStopped. * @param id of the renderer */ - void slotRenderingStopped(const std::string& id = video::PREVIEW_RENDERER_ID); + void slotRenderingStopped(const QString& id = video::PREVIEW_RENDERER_ID); private: /* the id of the renderer */ - std::string id_; + QString id_; /* a pointer to the lrc renderer object */ video::Renderer* renderer_; @@ -175,19 +175,19 @@ public: * as a QImage. * @return the rendered preview image */ - QImage* getFrame(const std::string& id); + QImage* getFrame(const QString& id); /** * Add and connect a distant renderer for a given id * to a FrameWrapper object * @param id */ - void addDistantRenderer(const std::string& id); + void addDistantRenderer(const QString& id); /** * Disconnect and remove a FrameWrapper object connected to a * distant renderer for a given id * @param id */ - void removeDistantRenderer(const std::string& id); + void removeDistantRenderer(const QString& id); signals: /* Emitted when the size of the video capture device list changes. */ @@ -203,13 +203,13 @@ signals: void previewRenderingStopped(); /* Emitted when a distant renderer is started for a given id. */ - void distantRenderingStarted(const std::string& id); + void distantRenderingStarted(const QString& id); /* Emitted when a distant renderer has a new frame ready for a given id. */ - void distantFrameUpdated(const std::string& id); + void distantFrameUpdated(const QString& id); /* Emitted when a distant renderer is stopped for a given id. */ - void distantRenderingStopped(const std::string& id); + void distantRenderingStopped(const QString& id); private slots: /** @@ -228,8 +228,8 @@ private: std::unique_ptr<FrameWrapper> previewFrameWrapper_; /* distant for each call/conf/conversation */ - std::map<std::string, std::unique_ptr<FrameWrapper>> distantFrameWrapperMap_; - std::map<std::string, RenderConnections> distantConnectionMap_; + std::map<QString, std::unique_ptr<FrameWrapper>> distantFrameWrapperMap_; + std::map<QString, RenderConnections> distantConnectionMap_; /* convenience ref to avmodel */ AVModel& avModel_; diff --git a/src/settingswidget.cpp b/src/settingswidget.cpp index bfba770725c30933ebdb3ae483c6eec3c55b9f4a..06ee0001303e7f3baf958d125736e12f7595f624 100644 --- a/src/settingswidget.cpp +++ b/src/settingswidget.cpp @@ -143,20 +143,20 @@ SettingsWidget::SettingsWidget(QWidget* parent) connect(ui->displaySIPNameLineEdit, &QLineEdit::editingFinished, [this] { - LRCInstance::setCurrAccDisplayName(ui->displaySIPNameLineEdit->text().toStdString()); + LRCInstance::setCurrAccDisplayName(ui->displaySIPNameLineEdit->text()); }); connect(ui->passSIPlineEdit, &QLineEdit::editingFinished, [this] { confProps_ = LRCInstance::accountModel().getAccountConfig(LRCInstance::getCurrAccId()); - confProps_.password = ui->passSIPlineEdit->text().toStdString(); + confProps_.password = ui->passSIPlineEdit->text(); LRCInstance::accountModel().setAccountConfig(LRCInstance::getCurrAccId(), confProps_); }); connect(ui->ProxySIP, &QLineEdit::editingFinished, [this] { confProps_ = LRCInstance::accountModel().getAccountConfig(LRCInstance::getCurrAccId()); - confProps_.proxyServer = ui->ProxySIP->text().toStdString(); + confProps_.proxyServer = ui->ProxySIP->text(); LRCInstance::accountModel().setAccountConfig(LRCInstance::getCurrAccId(), confProps_); }); @@ -211,20 +211,20 @@ SettingsWidget::SettingsWidget(QWidget* parent) connect(ui->displayNameLineEdit, &QLineEdit::editingFinished, [this] { - LRCInstance::setCurrAccDisplayName(ui->displayNameLineEdit->text().toStdString()); + LRCInstance::setCurrAccDisplayName(ui->displayNameLineEdit->text()); }); connect(ui->usernameSIP, &QLineEdit::editingFinished, [this] { confProps_ = LRCInstance::accountModel().getAccountConfig(LRCInstance::getCurrAccId()); - confProps_.username = ui->usernameSIP->text().toStdString(); + confProps_.username = ui->usernameSIP->text(); LRCInstance::accountModel().setAccountConfig(LRCInstance::getCurrAccId(), confProps_); }); connect(ui->hostnameSIP, &QLineEdit::editingFinished, [this] { confProps_ = LRCInstance::accountModel().getAccountConfig(LRCInstance::getCurrAccId()); - confProps_.hostname = ui->hostnameSIP->text().toStdString(); + confProps_.hostname = ui->hostnameSIP->text(); LRCInstance::accountModel().setAccountConfig(LRCInstance::getCurrAccId(), confProps_); }); @@ -283,7 +283,7 @@ SettingsWidget::slotAccountListChanged() disconnectAccountConnections(); } auto device = LRCInstance::avModel().getDefaultDevice(); - if (LRCInstance::avModel().getCurrentVideoCaptureDevice().empty()) { + if (LRCInstance::avModel().getCurrentVideoCaptureDevice().isEmpty()) { LRCInstance::avModel().setCurrentVideoCaptureDevice(device); } } @@ -409,21 +409,21 @@ SettingsWidget::updateAccountInfoDisplayed() auto& accInfo = LRCInstance::getCurrentAccountInfo(); auto accConfig = LRCInstance::accountModel().getAccountConfig(LRCInstance::getCurrAccId()); - bool showLocalAccountConfig = accConfig.managerUri.empty(); + bool showLocalAccountConfig = accConfig.managerUri.isEmpty(); ui->passwdPushButton->setVisible(showLocalAccountConfig); ui->btnExportAccount->setVisible(showLocalAccountConfig); ui->linkDevPushButton->setVisible(showLocalAccountConfig); - ui->usernameSIP->setText(QString::fromStdString(accConfig.username)); - ui->hostnameSIP->setText(QString::fromStdString(accConfig.hostname)); - ui->passSIPlineEdit->setText(QString::fromStdString(accConfig.password)); - ui->ProxySIP->setText(QString::fromStdString(accConfig.proxyServer)); + ui->usernameSIP->setText(accConfig.username); + ui->hostnameSIP->setText(accConfig.hostname); + ui->passSIPlineEdit->setText(accConfig.password); + ui->ProxySIP->setText(accConfig.proxyServer); - ui->currentRegisteredID->setText(QString::fromStdString(accInfo.registeredName)); - ui->currentRingID->setText(QString::fromStdString(accInfo.profileInfo.uri)); + ui->currentRegisteredID->setText(accInfo.registeredName); + ui->currentRingID->setText(accInfo.profileInfo.uri); // if no registered name is found for account - if (accInfo.registeredName.empty()) { + if (accInfo.registeredName.isEmpty()) { ui->btnRegisterName->show(); ui->btnRegisterName->setVisible(false); ui->currentRegisteredID->setStyleSheet("font-weight: normal; background-color: rgb(240, 240, 240);border: 2px;"); @@ -446,8 +446,8 @@ SettingsWidget::updateAccountInfoDisplayed() ui->accountEnableCheckBox->setChecked(accInfo.enabled); ui->accountSIPEnableCheckBox->setChecked(accInfo.enabled); - ui->displayNameLineEdit->setText(QString::fromStdString(accInfo.profileInfo.alias)); - ui->displaySIPNameLineEdit->setText(QString::fromStdString(accInfo.profileInfo.alias)); + ui->displayNameLineEdit->setText(accInfo.profileInfo.alias); + ui->displaySIPNameLineEdit->setText(accInfo.profileInfo.alias); updateAndShowDevicesSlot(); @@ -460,7 +460,7 @@ void SettingsWidget::setAvatar(PhotoboothWidget* avatarWidget) { auto& accountInfo = LRCInstance::getCurrentAccountInfo(); - auto defaultAvatar = accountInfo.profileInfo.avatar.empty(); + auto defaultAvatar = accountInfo.profileInfo.avatar.isEmpty(); auto avatar = Utils::accountPhoto(accountInfo, {avatarSize_, avatarSize_}); avatarWidget->setAvatarPixmap(QPixmap::fromImage(avatar), defaultAvatar); } @@ -540,7 +540,7 @@ SettingsWidget::resizeEvent(QResizeEvent* event) void SettingsWidget::verifyRegisteredNameSlot() { - if (!LRCInstance::getCurrentAccountInfo().registeredName.empty()) { + if (!LRCInstance::getCurrentAccountInfo().registeredName.isEmpty()) { setRegNameUi(RegName::BLANK); } else { @@ -576,8 +576,8 @@ SettingsWidget::validateRegNameForm(const QString& regName) } void -SettingsWidget::receiveRegNameSlot(const std::string& accountID, - lrc::api::account::LookupStatus status, const std::string& address, const std::string& name) +SettingsWidget::receiveRegNameSlot(const QString& accountID, + lrc::api::account::LookupStatus status, const QString& address, const QString& name) { Q_UNUSED(accountID); Q_UNUSED(address); @@ -591,9 +591,9 @@ SettingsWidget::beforeNameLookup() } void -SettingsWidget::afterNameLookup(lrc::api::account::LookupStatus status, const std::string& regName) +SettingsWidget::afterNameLookup(lrc::api::account::LookupStatus status, const QString& regName) { - if (registeredName_.toStdString() == regName && regName.length() > 2) { + if (registeredName_ == regName && regName.length() > 2) { if (status == lrc::api::account::LookupStatus::NOT_FOUND) { setRegNameUi(RegName::FREE); @@ -727,7 +727,7 @@ SettingsWidget::removeDeviceSlot(int index) if (ok) { delete_: - LRCInstance::getCurrentAccountInfo().deviceModel->revokeDevice(it->id, password.toStdString()); + LRCInstance::getCurrentAccountInfo().deviceModel->revokeDevice(it->id, password); } } @@ -754,18 +754,18 @@ SettingsWidget::exportAccountSlot() if (!fileUri.isEmpty()) { // remove prefix from QUri encoded data - std::string filePrefix { "file:///" }; - auto filePathStd = fileUri.toEncoded().toStdString(); - filePathStd = filePathStd.substr(filePathStd.find(filePrefix) + static_cast<int>(filePrefix.size())); + QString filePrefix { "file:///" }; + auto filePath = QString::fromLocal8Bit(fileUri.toEncoded()); + filePath = filePath.remove(filePrefix); if (LRCInstance::getCurrAccConfig().archiveHasPassword) { PasswordDialog dialog (this, PasswordEnteringPurpose::ExportAccount); - dialog.setExportPath(filePathStd); + dialog.setExportPath(filePath); int doneCode = dialog.exec(); if (doneCode == PasswordDialog::SuccessCode) QMessageBox::information(0, tr("Success"), tr("Export Successful")); } else { - bool success = LRCInstance::accountModel().exportToFile(LRCInstance::getCurrAccId(), filePathStd); + bool success = LRCInstance::accountModel().exportToFile(LRCInstance::getCurrAccId(), filePath); if (success) { QMessageBox::information(0, tr("Success"), tr("Export Successful")); } else { @@ -781,7 +781,7 @@ SettingsWidget::updateAndShowDevicesSlot() { ui->settingsListWidget->clear(); - if (LRCInstance::getCurrAccConfig().managerUri.empty()) { + if (LRCInstance::getCurrAccConfig().managerUri.isEmpty()) { ui->linkDevPushButton->show(); } @@ -791,10 +791,10 @@ SettingsWidget::updateAndShowDevicesSlot() for (auto it = deviceList.begin(); it != deviceList.end(); ++it, ++i) { auto item = new QListWidgetItem(ui->settingsListWidget); ui->settingsListWidget->addItem(item); - auto row = new DeviceItemWidget(QString::fromStdString(it->name), - QString::fromStdString(it->id), - it->isCurrent, - this); + auto row = new DeviceItemWidget(it->name, + it->id, + it->isCurrent, + this); item->setSizeHint(QSize(ui->settingsListWidget->width(), row->minimumSizeHint().height())); ui->settingsListWidget->setItemWidget(item, row); @@ -828,8 +828,8 @@ SettingsWidget::updateAndShowBannedContactsSlot() int i = 0; for (auto it = bannedContactList.begin(); it != bannedContactList.end(); ++it, ++i) { auto contactInfo = LRCInstance::getCurrentAccountInfo().contactModel->getContact(*it); - auto contactName = QString::fromStdString(contactInfo.registeredName); - auto contactId = QString::fromStdString(contactInfo.profileInfo.uri); + auto contactName = contactInfo.registeredName; + auto contactId = contactInfo.profileInfo.uri; auto item = new QListWidgetItem(ui->bannedListWidget); ui->bannedListWidget->addItem(item); auto row = new BannedItemWidget(contactName, @@ -901,7 +901,7 @@ SettingsWidget::populateGeneralSettings() QSettings settings("jami.net", "Jami"); // settings - QString downloadPath = QDir::toNativeSeparators(QString::fromStdString(LRCInstance::dataTransferModel().downloadDirectory)); + QString downloadPath = QDir::toNativeSeparators(LRCInstance::dataTransferModel().downloadDirectory); int pos = downloadPath.lastIndexOf(QChar('\\')); if (pos == downloadPath.length() - 1) { downloadPath.truncate(pos); @@ -924,14 +924,13 @@ SettingsWidget::populateGeneralSettings() ui->recordQualityValueLabel->setText(recordQualityStr); ui->recordQualitySlider->setValue(recordQuality); - if (LRCInstance::avModel().getRecordPath().empty()) { + if (LRCInstance::avModel().getRecordPath().isEmpty()) { QString recordPath = QDir::toNativeSeparators( QStandardPaths::writableLocation(QStandardPaths::DocumentsLocation)); - LRCInstance::avModel().setRecordPath(recordPath.toStdString()); + LRCInstance::avModel().setRecordPath(recordPath); } - Utils::setElidedText(ui->recordPathButton, - QString::fromStdString(LRCInstance::avModel().getRecordPath())); + Utils::setElidedText(ui->recordPathButton, LRCInstance::avModel().getRecordPath()); // updates #ifdef Q_OS_WIN @@ -980,7 +979,7 @@ SettingsWidget::openDownloadFolderSlot() if (!dir.isEmpty()) { Utils::setElidedText(ui->downloadButton, dir); settings.setValue(SettingsKey::downloadPath, dir); - LRCInstance::dataTransferModel().downloadDirectory = dir.toStdString() + "/"; + LRCInstance::dataTransferModel().downloadDirectory = dir + "/"; } } @@ -990,15 +989,13 @@ SettingsWidget::openRecordFolderSlot() QString dir = QFileDialog::getExistingDirectory( this, tr("Select A Folder For Your Recordings"), - QString::fromStdString(LRCInstance::avModel().getRecordPath()), + LRCInstance::avModel().getRecordPath(), QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks ); if (!dir.isEmpty()) { - LRCInstance::avModel().setRecordPath(dir.toStdString()); - Utils::setElidedText(ui->recordPathButton, - QString::fromStdString(LRCInstance::avModel().getRecordPath()) - ); + LRCInstance::avModel().setRecordPath(dir); + Utils::setElidedText(ui->recordPathButton, LRCInstance::avModel().getRecordPath()); } } @@ -1039,9 +1036,9 @@ SettingsWidget::populateAVSettings() ui->inputComboBox->clear(); auto inputDevices = LRCInstance::avModel().getAudioInputDevices(); auto inputDevice = LRCInstance::avModel().getInputDevice(); - auto inputIndex = Utils::indexInVector(inputDevices, inputDevice); + auto inputIndex = inputDevices.lastIndexOf(inputDevice); for (auto id : inputDevices) { - ui->inputComboBox->addItem(QString::fromStdString(id).toUtf8()); + ui->inputComboBox->addItem(id.toUtf8()); } ui->inputComboBox->setCurrentIndex(inputIndex != -1 ? inputIndex : 0); connect(ui->inputComboBox, QOverload<int>::of(&QComboBox::currentIndexChanged), @@ -1056,9 +1053,9 @@ SettingsWidget::populateAVSettings() ui->outputComboBox->clear(); auto outputDevices = LRCInstance::avModel().getAudioOutputDevices(); auto outputDevice = LRCInstance::avModel().getOutputDevice(); - auto outputIndex = Utils::indexInVector(outputDevices, outputDevice); + auto outputIndex = outputDevices.lastIndexOf(outputDevice); for (auto od : outputDevices) { - ui->outputComboBox->addItem(QString::fromStdString(od).toUtf8()); + ui->outputComboBox->addItem(od.toUtf8()); } ui->outputComboBox->setCurrentIndex(outputIndex != -1 ? outputIndex : 0); connect(ui->outputComboBox, QOverload<int>::of(&QComboBox::currentIndexChanged), @@ -1075,8 +1072,7 @@ void SettingsWidget::slotAudioOutputIndexChanged(int index) { stopAudioMeter(false); - auto selectedOutputDeviceName = ui->outputComboBox->itemData(index, Qt::DisplayRole) - .toString().toStdString(); + auto selectedOutputDeviceName = ui->outputComboBox->itemData(index, Qt::DisplayRole).toString(); LRCInstance::avModel().setOutputDevice(selectedOutputDeviceName); startAudioMeter(false); } @@ -1085,8 +1081,7 @@ void SettingsWidget::slotAudioInputIndexChanged(int index) { stopAudioMeter(false); - auto selectedInputDeviceName = ui->inputComboBox->itemData(index, Qt::DisplayRole) - .toString().toStdString(); + auto selectedInputDeviceName = ui->inputComboBox->itemData(index, Qt::DisplayRole).toString(); LRCInstance::avModel().setInputDevice(selectedInputDeviceName); startAudioMeter(false); } @@ -1094,14 +1089,12 @@ SettingsWidget::slotAudioInputIndexChanged(int index) void SettingsWidget::slotDeviceBoxCurrentIndexChanged(int index) { - std::string deviceName = ui->deviceBox->itemData(index, Qt::DisplayRole) - .toString() - .toStdString(); + QString deviceName = ui->deviceBox->itemData(index, Qt::DisplayRole).toString(); auto devices = LRCInstance::avModel().getDevices(); try { auto deviceId = LRCInstance::avModel().getDeviceIdFromName(deviceName); - if (deviceId.empty()) { - qWarning() << "Couldn't find device: " << deviceName.c_str(); + if (deviceId.isEmpty()) { + qWarning() << "Couldn't find device: " << deviceName; return; } LRCInstance::avModel().setCurrentVideoCaptureDevice(deviceId); @@ -1142,7 +1135,7 @@ SettingsWidget::stopPreviewing() } void -SettingsWidget::setFormatListForDevice(const std::string& device) +SettingsWidget::setFormatListForDevice(const QString& device) { auto deviceCapabilities = LRCInstance::avModel().getDeviceCapabilities(device); if (deviceCapabilities.size() == 0) { @@ -1151,8 +1144,8 @@ SettingsWidget::setFormatListForDevice(const std::string& device) try { auto currentSettings = LRCInstance::avModel().getDeviceSettings(device); auto currentChannel = currentSettings.channel; - currentChannel = currentChannel.empty() ? "default" : currentChannel; - auto channelCaps = deviceCapabilities.at(currentChannel); + currentChannel = currentChannel.isEmpty() ? "default" : currentChannel; + auto channelCaps = deviceCapabilities[currentChannel]; ui->formatBox->blockSignals(true); ui->formatBox->clear(); @@ -1160,9 +1153,9 @@ SettingsWidget::setFormatListForDevice(const std::string& device) for (auto[resolution, frameRateList] : channelCaps) { for (auto rate : frameRateList) { - formatIndexList_.append(QPair<std::string, float>(resolution, rate)); + formatIndexList_.append(QPair<QString, float>(resolution, rate)); auto sizeRateString = QString("%1 [%2 fps]") - .arg(QString::fromStdString(resolution)) + .arg(resolution) .arg(round(rate)); ui->formatBox->addItem(sizeRateString.toUtf8()); if (resolution == currentSettings.size && rate == currentSettings.rate) { @@ -1190,7 +1183,7 @@ SettingsWidget::slotVideoDeviceListChanged() } void -SettingsWidget::slotAudioMeter(const std::string& id, float level) +SettingsWidget::slotAudioMeter(const QString& id, float level) { if (id == "audiolayer_id") { ui->audioInputMeter->setLevel(level); @@ -1275,11 +1268,11 @@ SettingsWidget::populateVideoSettings() ui->formatBox->setCurrentIndex(0); } else { auto currentCaptureDevice = LRCInstance::avModel().getCurrentVideoCaptureDevice(); - auto deviceIndex = Utils::indexInVector(devices, currentCaptureDevice); + auto deviceIndex = devices.lastIndexOf(currentCaptureDevice); for (auto d : devices) { try { auto settings = LRCInstance::avModel().getDeviceSettings(d); - ui->deviceBox->addItem(QString::fromStdString(settings.name).toUtf8()); + ui->deviceBox->addItem(settings.name.toUtf8()); } catch (...) {} } ui->deviceBox->setCurrentIndex(deviceIndex); diff --git a/src/settingswidget.h b/src/settingswidget.h index 80d1eae28bf2d7e2ce76f7924ace52a1c1ac7deb..2e3b5b1e8298406256802a0079ffd3a66d0cf1e6 100644 --- a/src/settingswidget.h +++ b/src/settingswidget.h @@ -71,7 +71,7 @@ private: void resizeEvent(QResizeEvent* event); bool sipPasswordHidden_ {false}; void passwordClicked(); - void afterNameLookup(lrc::api::account::LookupStatus status, const std::string& regName); + void afterNameLookup(lrc::api::account::LookupStatus status, const QString& regName); bool validateRegNameForm(const QString& regName); void setRegNameUi(RegName stat); void removeDeviceSlot(int index); @@ -81,7 +81,7 @@ private: void populateGeneralSettings(); void populateAVSettings(); void populateVideoSettings(); - void setFormatListForDevice(const std::string& device); + void setFormatListForDevice(const QString& device); void startPreviewing(bool force = false); void stopPreviewing(); void startAudioMeter(bool async = true); @@ -96,7 +96,7 @@ private: SettingsMenu selectedMenu_ = SettingsMenu::General; lrc::api::profile::Type pastAccount_ = lrc::api::profile::Type::INVALID; bool advancedSettingsDropped_ = false; - QList<QPair<std::string, float>> formatIndexList_; + QList<QPair<QString, float>> formatIndexList_; AdvancedSIPSettingsWidget* advancedSIPSettingsWidget_; QScrollArea* scrollSIPArea_; bool advancedSIPSettingsDropped_ = false; @@ -117,8 +117,8 @@ private slots: void leaveSettingsSlot(); void verifyRegisteredNameSlot(); void beforeNameLookup(); - void receiveRegNameSlot(const std::string& accountID, lrc::api::account::LookupStatus status, - const std::string& address, const std::string& name); + void receiveRegNameSlot(const QString& accountID, lrc::api::account::LookupStatus status, + const QString& address, const QString& name); void slotRegisterName(); void setAccEnableSlot(int state); void delAccountSlot(); @@ -145,6 +145,6 @@ private slots: void slotFormatBoxCurrentIndexChanged(int index); void slotSetHardwareAccel(bool state); void slotVideoDeviceListChanged(); - void slotAudioMeter(const std::string& id, float level); + void slotAudioMeter(const QString& id, float level); }; diff --git a/src/smartlistmodel.cpp b/src/smartlistmodel.cpp index 0c326d03313e73ae08c00418d95198bab87ae674..7d646df6aef30b7deae4a2b733a9cd84bcc5bb58 100644 --- a/src/smartlistmodel.cpp +++ b/src/smartlistmodel.cpp @@ -28,10 +28,10 @@ #include <QDateTime> -SmartListModel::SmartListModel(const std::string& accId, +SmartListModel::SmartListModel(const QString& accId, QObject *parent, SmartListModel::Type listModelType, - const std::string& convUid) + const QString& convUid) : QAbstractItemModel(parent) , accountId_(accId) , listModelType_(listModelType) @@ -51,8 +51,8 @@ int SmartListModel::rowCount(const QModelIndex &parent) const auto filterType = accInfo.profileInfo.type; return convModel->getFilteredConversations(filterType).size(); } else if (listModelType_ == Type::CONFERENCE) { - auto calls = conferenceables_.at(ConferenceableItem::CALL); - auto contacts = conferenceables_.at(ConferenceableItem::CONTACT); + auto calls = conferenceables_[ConferenceableItem::CALL]; + auto contacts = conferenceables_[ConferenceableItem::CONTACT]; auto rowCount = contacts.size(); if (calls.size()) { rowCount = 2; @@ -87,9 +87,9 @@ QVariant SmartListModel::data(const QModelIndex &index, int role) const item = convModel->getFilteredConversations(filterType).at(index.row()); return getConversationItemData(item, accountInfo, role); } else if (listModelType_ == Type::CONFERENCE) { - auto calls = conferenceables_.at(ConferenceableItem::CALL); - auto contacts = conferenceables_.at(ConferenceableItem::CONTACT); - std::string itemConvUid{}, itemAccId{}; + auto calls = conferenceables_[ConferenceableItem::CALL]; + auto contacts = conferenceables_[ConferenceableItem::CONTACT]; + QString itemConvUid{}, itemAccId{}; if (calls.size() == 0) { itemConvUid = contacts.at(index.row()).at(0).convId; itemAccId = contacts.at(index.row()).at(0).accountId; @@ -123,7 +123,7 @@ QVariant SmartListModel::data(const QModelIndex &index, int role) const } } if (role == Role::AccountId) { - return QVariant(QString::fromStdString(itemAccId)); + return QVariant(itemAccId); } item = LRCInstance::getConversationFromConvUid(itemConvUid, itemAccId); auto& itemAccountInfo = LRCInstance::accountModel().getAccountInfo(itemAccId); @@ -139,7 +139,7 @@ QVariant SmartListModel::data(const QModelIndex &index, int role) const } void -SmartListModel::setConferenceableFilter(const std::string& filter) +SmartListModel::setConferenceableFilter(const QString& filter) { beginResetModel(); auto& accountInfo = LRCInstance::accountModel().getAccountInfo(accountId_); @@ -179,12 +179,12 @@ SmartListModel::getConversationItemData(const conversation::Info& item, case Qt::DisplayRole: { auto& contact = contactModel->getContact(item.participants[0]); - return QVariant(QString::fromStdString(Utils::bestNameForContact(contact))); + return QVariant(Utils::bestNameForContact(contact)); } case Role::DisplayID: { auto& contact = contactModel->getContact(item.participants[0]); - return QVariant(QString::fromStdString(Utils::bestIdForContact(contact))); + return QVariant(Utils::bestIdForContact(contact)); } case Role::Presence: { @@ -194,7 +194,7 @@ SmartListModel::getConversationItemData(const conversation::Info& item, case Role::URI: { auto& contact = contactModel->getContact(item.participants[0]); - return QVariant(QString::fromStdString(contact.profileInfo.uri)); + return QVariant(contact.profileInfo.uri); } case Role::UnreadMessagesCount: return QVariant(item.unreadMessages); @@ -204,7 +204,7 @@ SmartListModel::getConversationItemData(const conversation::Info& item, return QVariant(QString::fromStdString(Utils::formatTimeString(date))); } case Role::LastInteraction: - return QVariant(QString::fromStdString(item.interactions.at(item.lastMessageUid).body)); + return QVariant(item.interactions.at(item.lastMessageUid).body); case Role::LastInteractionType: return QVariant(Utils::toUnderlyingValue(item.interactions.at(item.lastMessageUid).type)); case Role::ContactType: @@ -213,13 +213,13 @@ SmartListModel::getConversationItemData(const conversation::Info& item, return QVariant(Utils::toUnderlyingValue(contact.profileInfo.type)); } case Role::UID: - return QVariant(QString::fromStdString(item.uid)); + return QVariant(item.uid); case Role::ContextMenuOpen: return QVariant(isContextMenuOpen); case Role::InCall: { auto& convInfo = LRCInstance::getConversationFromConvUid(item.uid); - if (!convInfo.uid.empty()) { + if (!convInfo.uid.isEmpty()) { auto callModel = LRCInstance::getCurrentCallModel(); return QVariant(callModel->hasCall(convInfo.callId)); } @@ -228,11 +228,11 @@ SmartListModel::getConversationItemData(const conversation::Info& item, case Role::CallStateStr: { auto& convInfo = LRCInstance::getConversationFromConvUid(item.uid); - if (!convInfo.uid.empty()) { + if (!convInfo.uid.isEmpty()) { auto call = LRCInstance::getCallInfoForConversation(convInfo); if (call) { auto statusString = call::to_string(call->status); - return QVariant(QString::fromStdString(statusString)); + return QVariant(statusString); } } return QVariant(); @@ -240,7 +240,7 @@ SmartListModel::getConversationItemData(const conversation::Info& item, case Role::SectionName: return QVariant(QString()); case Role::Draft: - return LRCInstance::getContentDraft(item.uid.c_str(), accountInfo.id.c_str()); + return LRCInstance::getContentDraft(item.uid, accountInfo.id); } return QVariant(); } @@ -279,7 +279,7 @@ Qt::ItemFlags SmartListModel::flags(const QModelIndex &index) const } void -SmartListModel::setAccount(const std::string& accountId) +SmartListModel::setAccount(const QString& accountId) { beginResetModel(); accountId_ = accountId; diff --git a/src/smartlistmodel.h b/src/smartlistmodel.h index 108e08b1c57b442bf1f64caa1ccf68af221fefa7..8fe8fbbf31983ef625dcb5dc5126cd26a0c8af93 100644 --- a/src/smartlistmodel.h +++ b/src/smartlistmodel.h @@ -62,10 +62,10 @@ public: Draft }; - explicit SmartListModel(const std::string& accId, + explicit SmartListModel(const QString& accId, QObject *parent = 0, SmartListModel::Type listModelType = Type::CONVERSATION, - const std::string& convUid = {}); + const QString& convUid = {}); // QAbstractItemModel int rowCount(const QModelIndex &parent = QModelIndex()) const override; @@ -75,23 +75,23 @@ public: QModelIndex parent(const QModelIndex &child) const; Qt::ItemFlags flags(const QModelIndex &index) const; - void setAccount(const std::string& accId); - void setConferenceableFilter(const std::string& filter = {}); + void setAccount(const QString& accId); + void setConferenceableFilter(const QString& filter = {}); void toggleSection(const QString& section); // hack for context menu highlight retention bool isContextMenuOpen{ false }; private: - std::string accountId_; + QString accountId_; QVariant getConversationItemData(const ConversationInfo& item, const AccountInfo& accountInfo, int role) const; // list sectioning - std::string convUid_; + QString convUid_; Type listModelType_; QMap<QString, bool> sectionState_; - std::map<ConferenceableItem, ConferenceableValue> conferenceables_; + QMap<ConferenceableItem, ConferenceableValue> conferenceables_; }; \ No newline at end of file diff --git a/src/userprofile.cpp b/src/userprofile.cpp index 003508763ba6b7dbf719f18d4d724e4b784f528f..b5c1e6685dceb96e212a8c74069b46ac3a937d14 100644 --- a/src/userprofile.cpp +++ b/src/userprofile.cpp @@ -26,9 +26,9 @@ UserProfile::UserProfile(lrc::api::conversation::Info convInfo, QWidget* parent) setSource(QUrl(QStringLiteral("qrc:/src/UserProfileCard.qml"))); auto contact = LRCInstance::getCurrentAccountInfo().contactModel->getContact(convInfo.participants.at(0)); - QString name = QString::fromStdString(contact.profileInfo.alias); - QString registeredName = QString::fromStdString(contact.registeredName); - QString uri = QString::fromStdString(contact.profileInfo.uri); + QString name = contact.profileInfo.alias; + QString registeredName = contact.registeredName; + QString uri = contact.profileInfo.uri; // force updating source, since image provide will only be requested once with the same source QString userImageSource = "image://userProfileImage/user_"; diff --git a/src/userprofile.h b/src/userprofile.h index e120a845aa3128aa899190c2ef1125fbdd4abbed..353871d884afbd0a3df650a16e4699a497acc71c 100644 --- a/src/userprofile.h +++ b/src/userprofile.h @@ -58,7 +58,7 @@ public: int height = 200; scaleSize = QSize(width, height); auto contact = LRCInstance::getCurrentAccountInfo().contactModel->getContact(convInfo_.participants.at(0)); - image = Utils::setupQRCode(QString::fromStdString(contact.profileInfo.uri), 0); + image = Utils::setupQRCode(contact.profileInfo.uri, 0); } else { return Utils::conversationPhoto(convInfo_.uid, LRCInstance::getCurrentAccountInfo()); } diff --git a/src/utils.cpp b/src/utils.cpp index 33101a97f077fcfd57745e717fbae70fb901b6b8..92c556b117b99861dd3043e2fca82db6a7d81e47 100644 --- a/src/utils.cpp +++ b/src/utils.cpp @@ -444,53 +444,53 @@ Utils::applyUpdates(bool updateToBeta, QWidget* parent) // new lrc helpers -inline std::string -removeEndlines(const std::string& str) +inline QString +removeEndlines(const QString& str) { - std::string trimmed(str); - trimmed.erase(std::remove(trimmed.begin(), trimmed.end(), '\n'), trimmed.end()); - trimmed.erase(std::remove(trimmed.begin(), trimmed.end(), '\r'), trimmed.end()); + QString trimmed(str); + trimmed.remove(QChar('\n')); + trimmed.remove(QChar('\r')); return trimmed; } -std::string +QString Utils::bestIdForConversation(const lrc::api::conversation::Info& conv, const lrc::api::ConversationModel& model) { auto contact = model.owner.contactModel->getContact(conv.participants[0]); - if (!contact.registeredName.empty()) { + if (!contact.registeredName.isEmpty()) { return removeEndlines(contact.registeredName); } return removeEndlines(contact.profileInfo.uri); } -std::string +QString Utils::bestIdForAccount(const lrc::api::account::Info& account) { - if (!account.registeredName.empty()) { + if (!account.registeredName.isEmpty()) { return removeEndlines(account.registeredName); } return removeEndlines(account.profileInfo.uri); } -std::string +QString Utils::bestNameForAccount(const lrc::api::account::Info& account) { - if (account.profileInfo.alias.empty()) { + if (account.profileInfo.alias.isEmpty()) { return bestIdForAccount(account); } return account.profileInfo.alias; } -std::string +QString Utils::bestIdForContact(const lrc::api::contact::Info& contact) { - if (!contact.registeredName.empty()) { + if (!contact.registeredName.isEmpty()) { return removeEndlines(contact.registeredName); } return removeEndlines(contact.profileInfo.uri); } -std::string +QString Utils::bestNameForContact(const lrc::api::contact::Info& contact) { auto alias = removeEndlines(contact.profileInfo.alias); @@ -500,7 +500,7 @@ Utils::bestNameForContact(const lrc::api::contact::Info& contact) return alias; } -std::string +QString Utils::bestNameForConversation(const lrc::api::conversation::Info& conv, const lrc::api::ConversationModel& model) { try { @@ -515,7 +515,7 @@ Utils::bestNameForConversation(const lrc::api::conversation::Info& conv, const l } // returns empty string if only infoHash is available, second best identifier otherwise -std::string +QString Utils::secondBestNameForAccount(const lrc::api::account::Info& account) { auto alias = removeEndlines(account.profileInfo.alias); @@ -578,14 +578,14 @@ Utils::isInteractionGenerated(const lrc::api::interaction::Type& type) } bool -Utils::isContactValid(const std::string& contactUid, const lrc::api::ConversationModel& model) +Utils::isContactValid(const QString& contactUid, const lrc::api::ConversationModel& model) { auto contact = model.owner.contactModel->getContact(contactUid); return (contact.profileInfo.type == lrc::api::profile::Type::PENDING || contact.profileInfo.type == lrc::api::profile::Type::TEMPORARY || contact.profileInfo.type == lrc::api::profile::Type::RING || contact.profileInfo.type == lrc::api::profile::Type::SIP) && - !contact.profileInfo.uri.empty(); + !contact.profileInfo.uri.isEmpty(); } bool Utils::getReplyMessageBox(QWidget* widget, const QString& title, const QString& text) @@ -596,10 +596,10 @@ bool Utils::getReplyMessageBox(QWidget* widget, const QString& title, const QStr } QImage -Utils::conversationPhoto(const std::string & convUid, const lrc::api::account::Info& accountInfo) +Utils::conversationPhoto(const QString& convUid, const lrc::api::account::Info& accountInfo) { auto convInfo = LRCInstance::getConversationFromConvUid(convUid, accountInfo.id, false); - if (!convInfo.uid.empty()) { + if (!convInfo.uid.isEmpty()) { return GlobalInstances::pixmapManipulator() .decorationRole(convInfo, accountInfo) .value<QImage>(); @@ -826,16 +826,16 @@ QImage Utils::accountPhoto(const lrc::api::account::Info& accountInfo, const QSize& size) { QImage photo; - if (!accountInfo.profileInfo.avatar.empty()) { - QByteArray ba = QByteArray::fromStdString(accountInfo.profileInfo.avatar); + if (!accountInfo.profileInfo.avatar.isEmpty()) { + QByteArray ba = accountInfo.profileInfo.avatar.toLocal8Bit(); photo = GlobalInstances::pixmapManipulator().personPhoto(ba, nullptr).value<QImage>(); } else { auto bestId = bestIdForAccount(accountInfo); auto bestName = bestNameForAccount(accountInfo); - QString letterStr = bestId == bestName ? QString() : QString::fromStdString(bestName); + QString letterStr = bestId == bestName ? QString() : bestName; QString prefix = accountInfo.profileInfo.type == lrc::api::profile::Type::RING ? "ring:" : "sip:"; photo = fallbackAvatar(size, - prefix + QString::fromStdString(accountInfo.profileInfo.uri), + prefix + accountInfo.profileInfo.uri, letterStr); } return scaleAndFrame(photo, size); diff --git a/src/utils.h b/src/utils.h index de6fc3753bea4d7c0f47a7c0c698bfb9d1ae5e91..8d638987f44db5b412699c4594ec7b91990750b8 100644 --- a/src/utils.h +++ b/src/utils.h @@ -82,24 +82,24 @@ void checkForUpdates(bool withUI, QWidget* parent = nullptr); void applyUpdates(bool updateToBeta, QWidget* parent = nullptr); // names -std::string bestIdForConversation(const lrc::api::conversation::Info& conv, const lrc::api::ConversationModel& model); -std::string bestIdForAccount(const lrc::api::account::Info & account); -std::string bestNameForAccount(const lrc::api::account::Info & account); -std::string bestIdForContact(const lrc::api::contact::Info & contact); -std::string bestNameForContact(const lrc::api::contact::Info & contact); -std::string bestNameForConversation(const lrc::api::conversation::Info & conv, const lrc::api::ConversationModel & model); -std::string secondBestNameForAccount(const lrc::api::account::Info& account); // returns empty string if only infoHash is available +QString bestIdForConversation(const lrc::api::conversation::Info& conv, const lrc::api::ConversationModel& model); +QString bestIdForAccount(const lrc::api::account::Info & account); +QString bestNameForAccount(const lrc::api::account::Info & account); +QString bestIdForContact(const lrc::api::contact::Info & contact); +QString bestNameForContact(const lrc::api::contact::Info & contact); +QString bestNameForConversation(const lrc::api::conversation::Info & conv, const lrc::api::ConversationModel & model); +QString secondBestNameForAccount(const lrc::api::account::Info& account); // returns empty string if only infoHash is available lrc::api::profile::Type profileType(const lrc::api::conversation::Info & conv, const lrc::api::ConversationModel & model); // interactions std::string formatTimeString(const std::time_t& timestamp); bool isInteractionGenerated(const lrc::api::interaction::Type& interaction); -bool isContactValid(const std::string& contactUid, const lrc::api::ConversationModel& model); +bool isContactValid(const QString& contactUid, const lrc::api::ConversationModel& model); bool getReplyMessageBox(QWidget* widget, const QString& title, const QString& text); // image QImage getCirclePhoto(const QImage original, int sizePhoto); -QImage conversationPhoto(const std::string& convUid, const lrc::api::account::Info& accountInfo); +QImage conversationPhoto(const QString& convUid, const lrc::api::account::Info& accountInfo); QColor getAvatarColor(const QString& canonicalUri); QImage fallbackAvatar(const QSize size, const QString& canonicalUriStr, const QString& letterStr = QString()); QImage fallbackAvatar(const QSize size, const std::string& alias, const std::string& uri); @@ -227,15 +227,4 @@ toEnum(T value) noexcept { return static_cast<E>(value); } - -template<typename T> -ptrdiff_t -indexInVector(const std::vector<T>& vec, const T& item) -{ - auto it = std::find(vec.begin(), vec.end(), item); - if (it == vec.end()) { - return -1; - } - return std::distance(vec.begin(), it); -} } diff --git a/src/videooverlay.cpp b/src/videooverlay.cpp index 10c100956cb8cd7ebb5e5dbf869b04a4cd0c9a32..57d79841049cede7fae0a8c434dcb9de83554952 100644 --- a/src/videooverlay.cpp +++ b/src/videooverlay.cpp @@ -82,8 +82,7 @@ VideoOverlay::updateCall(const conversation::Info& convInfo) return; } - auto bestName = QString::fromStdString( - Utils::bestNameForConversation(convInfo, *convModel)); + auto bestName = Utils::bestNameForConversation(convInfo, *convModel); currentBestCalleeDisplayName_ = bestName; ui->nameLabel->setText(bestName); @@ -109,21 +108,21 @@ VideoOverlay::updateCall(const conversation::Info& convInfo) ui->sipInputPanelButton->setVisible(isSIP); // only show the hold/pause button for non-conference calls - ui->holdButton->setVisible(convInfo.confId.empty()); + ui->holdButton->setVisible(convInfo.confId.isEmpty()); } void VideoOverlay::setTime() { auto callId = LRCInstance::getCallIdForConversationUid(convUid_, accountId_); - if (callId.empty() || !LRCInstance::getCurrentCallModel()->hasCall(callId)) { + if (callId.isEmpty() || !LRCInstance::getCurrentCallModel()->hasCall(callId)) { return; } auto callInfo = LRCInstance::getCurrentCallModel()->getCall(callId); if (callInfo.status == lrc::api::call::Status::IN_PROGRESS || callInfo.status == lrc::api::call::Status::PAUSED) { auto timeString = LRCInstance::getCurrentCallModel()->getFormattedCallDuration(callId); - ui->timerLabel->setText(QString::fromStdString(timeString)); + ui->timerLabel->setText(timeString); } } @@ -131,7 +130,7 @@ bool VideoOverlay::shouldFadeOut() { auto callId = LRCInstance::getCallIdForConversationUid(convUid_, accountId_); - if (callId.empty() || !LRCInstance::getCurrentCallModel()->hasCall(callId)) { + if (callId.isEmpty() || !LRCInstance::getCurrentCallModel()->hasCall(callId)) { return false; } auto callInfo = LRCInstance::getCurrentCallModel()->getCall(callId); @@ -162,12 +161,12 @@ void VideoOverlay::on_hangupButton_clicked() { auto convInfo = LRCInstance::getCurrentConversation(); - if (!convInfo.uid.empty()) { + if (!convInfo.uid.isEmpty()) { auto callModel = LRCInstance::getCurrentCallModel(); if (callModel->hasCall(convInfo.callId)) { // Store the last remaining participant of the conference // so we can switch the smartlist index after termination. - if (!convInfo.confId.empty()) { + if (!convInfo.confId.isEmpty()) { auto callList = LRCInstance::getAPI().getConferenceSubcalls(convInfo.confId); if (callList.size() == 2) { for (const auto& cId : callList) { @@ -195,7 +194,7 @@ VideoOverlay::on_holdButton_toggled(bool checked) // why is 'checked' unused? Q_UNUSED(checked); auto callId = LRCInstance::getCallIdForConversationUid(convUid_, accountId_); - if (callId.empty() || !LRCInstance::getCurrentCallModel()->hasCall(callId)) { + if (callId.isEmpty() || !LRCInstance::getCurrentCallModel()->hasCall(callId)) { return; } auto callModel = LRCInstance::getCurrentCallModel(); @@ -212,7 +211,7 @@ VideoOverlay::on_noMicButton_toggled(bool checked) { Q_UNUSED(checked); auto callId = LRCInstance::getCallIdForConversationUid(convUid_, accountId_); - if (callId.empty() || !LRCInstance::getCurrentCallModel()->hasCall(callId)) { + if (callId.isEmpty() || !LRCInstance::getCurrentCallModel()->hasCall(callId)) { return; } auto callModel = LRCInstance::getCurrentCallModel(); @@ -226,7 +225,7 @@ VideoOverlay::on_noVideoButton_toggled(bool checked) { Q_UNUSED(checked); auto callId = LRCInstance::getCallIdForConversationUid(convUid_, accountId_); - if (callId.empty() || !LRCInstance::getCurrentCallModel()->hasCall(callId)) { + if (callId.isEmpty() || !LRCInstance::getCurrentCallModel()->hasCall(callId)) { return; } auto callModel = LRCInstance::getCurrentCallModel(); @@ -240,7 +239,7 @@ void VideoOverlay::on_recButton_clicked() { auto callId = LRCInstance::getCallIdForConversationUid(convUid_, accountId_); - if (callId.empty() || !LRCInstance::getCurrentCallModel()->hasCall(callId)) { + if (callId.isEmpty() || !LRCInstance::getCurrentCallModel()->hasCall(callId)) { return; } auto callModel = LRCInstance::getCurrentCallModel(); @@ -253,7 +252,7 @@ void VideoOverlay::on_addToConferenceButton_toggled(bool checked) { auto callId = LRCInstance::getCallIdForConversationUid(convUid_, accountId_); - if ( callId.empty() || + if ( callId.isEmpty() || !LRCInstance::getCurrentCallModel()->hasCall(callId) || !checked) { return; @@ -266,7 +265,7 @@ void VideoOverlay::on_transferCallButton_toggled(bool checked) { auto callId = LRCInstance::getCallIdForConversationUid(convUid_, accountId_); - if (callId.empty() || + if (callId.isEmpty() || !LRCInstance::getCurrentCallModel()->hasCall(callId) || !checked) { return; @@ -276,7 +275,7 @@ VideoOverlay::on_transferCallButton_toggled(bool checked) } void -VideoOverlay::slotWillDoTransfer(const std::string& contactUri) +VideoOverlay::slotWillDoTransfer(const QString& contactUri) { auto callModel = LRCInstance::getCurrentCallModel(); @@ -284,12 +283,12 @@ VideoOverlay::slotWillDoTransfer(const std::string& contactUri) ui->transferCallButton->resetToOriginal(); auto conversation = LRCInstance::getCurrentConversation(); - if (conversation.uid.empty()) { + if (conversation.uid.isEmpty()) { return; } - auto callId = conversation.confId.empty() ? conversation.callId : conversation.confId; + auto callId = conversation.confId.isEmpty() ? conversation.callId : conversation.confId; - std::string destCallId; + QString destCallId; try { //check if the call exist - (check non-finished calls) @@ -312,7 +311,7 @@ VideoOverlay::slotWillDoTransfer(const std::string& contactUri) } void -VideoOverlay::slotContactWillJoinConference(const std::string& contactUri) +VideoOverlay::slotContactWillJoinConference(const QString& contactUri) { auto callModel = LRCInstance::getCurrentCallModel(); @@ -328,7 +327,7 @@ VideoOverlay::slotContactWillJoinConference(const std::string& contactUri) } void -VideoOverlay::slotCallWillJoinConference(const std::string& callId) +VideoOverlay::slotCallWillJoinConference(const QString& callId) { auto callModel = LRCInstance::getCurrentCallModel(); @@ -336,10 +335,10 @@ VideoOverlay::slotCallWillJoinConference(const std::string& callId) ui->addToConferenceButton->resetToOriginal(); auto conversation = LRCInstance::getCurrentConversation(); - if (conversation.uid.empty()) { + if (conversation.uid.isEmpty()) { return; } - auto thisCallId = conversation.confId.empty() ? conversation.callId : conversation.confId; + auto thisCallId = conversation.confId.isEmpty() ? conversation.callId : conversation.confId; callModel->joinCalls(thisCallId, callId); } @@ -348,7 +347,7 @@ void VideoOverlay::on_sipInputPanelButton_toggled(bool checked) { auto callId = LRCInstance::getCallIdForConversationUid(convUid_, accountId_); - if (callId.empty() || + if (callId.isEmpty() || !LRCInstance::getCurrentCallModel()->hasCall(callId) || !checked) { return; @@ -396,7 +395,7 @@ void VideoOverlay::slotSIPInputPanelClicked(const int& id) { auto callId = LRCInstance::getCallIdForConversationUid(convUid_, accountId_); - if ( callId.empty() || + if ( callId.isEmpty() || !LRCInstance::getCurrentCallModel()->hasCall(callId)) { return; } @@ -413,9 +412,9 @@ VideoOverlay::slotSIPInputPanelClicked(const int& id) // id from 12 to 15 are A,B,C,D if (id >= 12) { //ASCII Key_A = 65 - LRCInstance::getCurrentCallModel()->playDTMF(callId, std::string(1, char(id - 12 + 65))); + LRCInstance::getCurrentCallModel()->playDTMF(callId, QString(char(id - 12 + 65))); } else { - LRCInstance::getCurrentCallModel()->playDTMF(callId, std::to_string(id)); + LRCInstance::getCurrentCallModel()->playDTMF(callId, QString::number(id)); } break; } diff --git a/src/videooverlay.h b/src/videooverlay.h index c42f5cadb1b4d664b475013a889fbfde3d63d030..7e4c65201654b063e42ebfc86da4a315e3d1f3b6 100644 --- a/src/videooverlay.h +++ b/src/videooverlay.h @@ -72,17 +72,17 @@ private slots: void on_transferCallButton_toggled(bool checked); void on_addToConferenceButton_toggled(bool checked); void on_sipInputPanelButton_toggled(bool checked); - void slotWillDoTransfer(const std::string& contactUri); - void slotContactWillJoinConference(const std::string& contactUri); - void slotCallWillJoinConference(const std::string& callId); + void slotWillDoTransfer(const QString& contactUri); + void slotContactWillJoinConference(const QString& contactUri); + void slotCallWillJoinConference(const QString& callId); void slotSIPInputPanelClicked(const int& id); private: Ui::VideoOverlay* ui; // for current conf/call info - std::string accountId_; - std::string convUid_; + QString accountId_; + QString convUid_; QTimer* oneSecondTimer_; QString currentBestCalleeDisplayName_ { "" }; diff --git a/src/videoview.cpp b/src/videoview.cpp index 7fc9aece6dbc16daf65999acefd79d399d838f52..6df2f6aaeb3ed322f0f4d6520682664b28be055b 100644 --- a/src/videoview.cpp +++ b/src/videoview.cpp @@ -156,11 +156,11 @@ VideoView::dropEvent(QDropEvent* event) // take only the first file QString urlString = event->mimeData()->urls().at(0).toString(); auto conversation = LRCInstance::getCurrentConversation(); - if (conversation.uid.empty()) return; + if (conversation.uid.isEmpty()) return; auto callIdList = LRCInstance::getActiveCalls(); for (auto callId : callIdList) { if (callId == conversation.callId) { - LRCInstance::avModel().setInputFile(urlString.toStdString()); + LRCInstance::avModel().setInputFile(urlString); break; } } @@ -193,7 +193,7 @@ VideoView::showContextMenu(const QPoint& position) for (auto d : devices) { try { auto settings = LRCInstance::avModel().getDeviceSettings(d); - QString deviceName = QString::fromStdString(settings.name).toUtf8(); + QString deviceName =settings.name; auto deviceAction = new QAction(deviceName, this); menu.addAction(deviceAction); deviceAction->setCheckable(true); @@ -202,8 +202,8 @@ VideoView::showContextMenu(const QPoint& position) } connect(deviceAction, &QAction::triggered, [this, deviceName]() { - auto deviceId = LRCInstance::avModel().getDeviceIdFromName(deviceName.toStdString()); - if (deviceId.empty()) { + auto deviceId = LRCInstance::avModel().getDeviceIdFromName(deviceName); + if (deviceId.isEmpty()) { qWarning() << "Couldn't find device: " << deviceName; return; } @@ -265,7 +265,7 @@ VideoView::showContextMenu(const QPoint& position) return; fileNames = fileDialog.selectedFiles(); auto resource = QUrl::fromLocalFile(fileNames.at(0)).toString(); - LRCInstance::avModel().setInputFile(resource.toStdString()); + LRCInstance::avModel().setInputFile(resource); resetPreview(); }); @@ -286,15 +286,15 @@ VideoView::showContextMenu(const QPoint& position) } void -VideoView::updateCall(const std::string& convUid, - const std::string& accountId, +VideoView::updateCall(const QString& convUid, + const QString& accountId, bool forceCallOnly) { - accountId_ = accountId.empty() ? accountId_ : accountId; - convUid_ = convUid.empty() ? convUid_ : convUid; + accountId_ = accountId.isEmpty() ? accountId_ : accountId; + convUid_ = convUid.isEmpty() ? convUid_ : convUid; auto convInfo = LRCInstance::getConversationFromConvUid(convUid_, accountId_); - if (convInfo.uid.empty()) { + if (convInfo.uid.isEmpty()) { return; } @@ -407,7 +407,7 @@ VideoView::shouldShowPreview(bool force) { bool shouldShowPreview{ false }; auto convInfo = LRCInstance::getConversationFromConvUid(convUid_, accountId_); - if (convInfo.uid.empty()) { + if (convInfo.uid.isEmpty()) { return shouldShowPreview; } auto call = LRCInstance::getCallInfoForConversation(convInfo, force); @@ -439,17 +439,17 @@ VideoView::resetPreview() height = previewImage->height(); } else { auto device = LRCInstance::avModel().getCurrentVideoCaptureDevice(); - if (device.empty()) { + if (device.isEmpty()) { device = LRCInstance::avModel().getDefaultDevice(); } - if (device.empty()) { + if (device.isEmpty()) { previewWidget_->setVisible(false); return; } try { auto settings = LRCInstance::avModel().getDeviceSettings(device); - width = QString::fromStdString(settings.size).split("x")[0].toInt(); - height = QString::fromStdString(settings.size).split("x")[1].toInt(); + width = settings.size.split("x")[0].toInt(); + height = settings.size.split("x")[1].toInt(); } catch (...) {} } auto newSize = previewWidget_->getScaledSize(width, height); @@ -472,7 +472,7 @@ void VideoView::keyReleaseEvent(QKeyEvent* event) { auto convInfo = LRCInstance::getCurrentConversation(); - if (convInfo.uid.empty() + if (convInfo.uid.isEmpty() || LRCInstance::getCurrentAccountInfo().profileInfo.type != lrc::api::profile::Type::SIP) return; @@ -482,11 +482,10 @@ VideoView::keyReleaseEvent(QKeyEvent* event) LRCInstance::getCurrentCallModel()->playDTMF(convInfo.callId, "*"); } else if (keyPressed_ >= 65 && keyPressed_ <= 68) { //enum Qt::Key_A = 65, QT::Key_D = 68 - // string::string(size_type count, charT ch) - LRCInstance::getCurrentCallModel()->playDTMF(convInfo.callId, std::string(1, char(keyPressed_))); + LRCInstance::getCurrentCallModel()->playDTMF(convInfo.callId, QString(char(keyPressed_))); } else if (keyPressed_ >= 48 && keyPressed_ <= 57) { //enum Qt::Key_0 = 48, QT::Key_9 = 57 - LRCInstance::getCurrentCallModel()->playDTMF(convInfo.callId, std::to_string(keyPressed_ - 48)); + LRCInstance::getCurrentCallModel()->playDTMF(convInfo.callId, QString::number(keyPressed_ - 48)); } keyPressed_ = -1; QWidget::keyReleaseEvent(event); diff --git a/src/videoview.h b/src/videoview.h index 7e8049ab1aa12335fa99a50eb986f64b4d24316a..8e63a1f281d94aeebcd749e8abb3f4da3e976c16 100644 --- a/src/videoview.h +++ b/src/videoview.h @@ -44,8 +44,8 @@ public: explicit VideoView(QWidget* parent = 0); ~VideoView(); - void updateCall(const std::string& convUid = {}, - const std::string& accountId = {}, + void updateCall(const QString& convUid = {}, + const QString& accountId = {}, bool forceCallOnly = false); void simulateShowChatview(bool checked); void resetPreview(); @@ -71,8 +71,8 @@ private: Ui::VideoView* ui; // for current conf/call info - std::string accountId_; - std::string convUid_; + QString accountId_; + QString convUid_; // vignette VignetteWidget* vignette_; @@ -100,5 +100,5 @@ private: signals: void setChatVisibility(bool visible); void toggleFullScreenClicked(); - void terminating(const std::string& id); + void terminating(const QString& id); }; diff --git a/src/webchathelpers.cpp b/src/webchathelpers.cpp index b6b6308198b27ad4d98ce7f01885f8fb0e92cae8..214dc3555517ea834afbb978088451e3e745c112 100644 --- a/src/webchathelpers.cpp +++ b/src/webchathelpers.cpp @@ -27,12 +27,12 @@ buildInteractionJson(lrc::api::ConversationModel& conversationModel, const uint64_t msgId, const lrc::api::interaction::Info& interaction) { - auto sender = QString(interaction.authorUri.c_str()); + auto sender = interaction.authorUri; auto timestamp = QString::number(interaction.timestamp); auto direction = lrc::api::interaction::isOutgoing(interaction) ? QString("out") : QString("in"); QJsonObject interactionObject = QJsonObject(); - interactionObject.insert("text", QJsonValue(QString(interaction.body.c_str()))); + interactionObject.insert("text", QJsonValue(interaction.body)); interactionObject.insert("id", QJsonValue(QString::number(msgId))); interactionObject.insert("sender", QJsonValue(sender)); interactionObject.insert("sender_contact_method", QJsonValue(sender));