remove incorrectly functioning widgets/views based on old lrc
- Removes callutilsdialog and contactpicker used as a filtered
smartlist proxy for selecting contacts when transferring SIP
calls or adding to a conference.
- Removes some other widgets that were not being used.
- Diminishes use of old lrc models.
Change-Id: I17847c87a67d117e47dd5db9ca35b2139159312c
Reviewed-by: Sébastien Blin <sebastien.blin@savoirfairelinux.com>
diff --git a/accountdetails.cpp b/accountdetails.cpp
deleted file mode 100644
index ee95a82..0000000
--- a/accountdetails.cpp
+++ /dev/null
@@ -1,482 +0,0 @@
-/***************************************************************************
- * Copyright (C) 2015-2017 by Savoir-faire Linux *
- * Author: Edric Ladent Milaret <edric.ladent-milaret@savoirfairelinux.com>*
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 3 of the License, or *
- * (at your option) any later version. *
- * *
- * This program is distributed in the hope that it will be useful, *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
- * GNU General Public License for more details. *
- * *
- * You should have received a copy of the GNU General Public License *
- * along with this program. If not, see <http://www.gnu.org/licenses/>. *
- **************************************************************************/
-
-#include "accountdetails.h"
-#include "ui_accountdetails.h"
-
-#include <QSortFilterProxyModel>
-#include <QFileDialog>
-#include <QPushButton>
-#include <QMessageBox>
-
-#include "codecmodel.h"
-#include "protocolmodel.h"
-#include "certificate.h"
-#include "ciphermodel.h"
-#include "ringtonemodel.h"
-
-#include <ciso646>
-
-AccountDetails::AccountDetails(QWidget *parent) :
- QWidget(parent),
- ui(new Ui::AccountDetails),
- codecModel_(nullptr),
- currentAccount_(nullptr)
-{
- ui->setupUi(this);
- resetPasswordChangeUI();
-
- setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding);
-
- connect(ui->lrcfg_tlsCaListCertificate, &RingButton::clicked, this, &AccountDetails::onCertButtonClicked);
- connect(ui->lrcfg_tlsCertificate, &RingButton::clicked, this, &AccountDetails::onCertButtonClicked);
- connect(ui->lrcfg_tlsPrivateKeyCertificate, &RingButton::clicked, this, &AccountDetails::onCertButtonClicked);
-
- connect(&RingtoneModel::instance(),
- &RingtoneModel::dataChanged,
- [=](const QModelIndex& topLeft, const QModelIndex& bottomRight) {
- Q_UNUSED(topLeft)
- Q_UNUSED(bottomRight)
- if (not currentAccount_)
- return;
- if (RingtoneModel::instance().isPlaying())
- ui->playButton->setText(tr("Pause"));
- else
- ui->playButton->setText(tr("Play"));
-
- });
-
- connect(ui->defaultCipherCheckBox, &QCheckBox::stateChanged, [=] (int state) {
- if (state == Qt::Checked) {
- ui->cipherListView->setVisible(false);
- currentAccount_->cipherModel()->setUseDefault(true);
- } else {
- ui->cipherListView->setVisible(true);
- currentAccount_->cipherModel()->setUseDefault(false);
- }
- });
-
- connect(ui->lrcfg_alias, &QLineEdit::textEdited, [=](const QString& newAlias) {
- if (currentAccount_ && currentAccount_->protocol() == Account::Protocol::RING)
- currentAccount_->setDisplayName(newAlias);
- });
-
- connect(ui->lrcfg_nameServiceURL, &QLineEdit::textEdited, [=](const QString& newNSURL) {
- if (currentAccount_ && currentAccount_->protocol() == Account::Protocol::RING)
- currentAccount_->setNameServiceURL(newNSURL);
- });
-}
-
-AccountDetails::~AccountDetails()
-{
- delete ui;
-}
-
-void
-AccountDetails::setAccount(Account* currentAccount) {
-
- if (currentAccount_) {
- stopRingtone();
- save();
- }
-
- currentAccount_ = currentAccount;
- resetPasswordChangeUI();
-
- if (currentAccount_ == nullptr)
- return;
-
- if (currentAccount_->protocol() == Account::Protocol::RING) {
- ui->usernameLabel->setText(tr("RingID"));
- ui->lrcfg_username->setReadOnly(true);
- if (currentAccount_->registeredName().isEmpty() ){ // If our user isn't registered on the blockhain
- ui->lrcfg_registeredName->clear();
- ui->lrcfg_registeredName->setReadOnly(false);
- ui->registerButton->setText(tr("Register on blockchain"));
- ui->registerButton->show();
- ui->registerButton->setEnabled(true);
- } else {
- ui->lrcfg_registeredName->setText(currentAccount_->registeredName());
- ui->lrcfg_registeredName->setReadOnly(true);
- ui->registerButton->hide();
- }
- } else { // If currentAccount_ is of type SIP
- ui->usernameLabel->setText(tr("Username"));
- ui->lrcfg_username->setReadOnly(false);
- }
-
- codecModel_ = currentAccount->codecModel();
- ui->audioCodecView->setModel(codecModel_->audioCodecs());
- ui->videoCodecView->setModel(codecModel_->videoCodecs());
-
- connect(ui->audioCodecView->selectionModel(), SIGNAL(selectionChanged(QItemSelection,QItemSelection)),
- this, SLOT(audioCodecSelectionChanged(QItemSelection,QItemSelection)));
- connect(ui->videoCodecView->selectionModel(), SIGNAL(selectionChanged(QItemSelection,QItemSelection)),
- this, SLOT(videoCodecSelectionChanged(QItemSelection,QItemSelection)));
-
- ui->typeValueLabel->setText(currentAccount_->protocolModel()->
- selectionModel()->currentIndex().data().value<QString>());
-
- ui->publishGroup->disconnect();
-
- if (currentAccount_->isPublishedSameAsLocal())
- ui->puslishedSameAsLocalRadio->setChecked(true);
- else
- ui->customPublishedRadio->setChecked(true);
-
- ui->publishGroup->setId(ui->puslishedSameAsLocalRadio, 1);
- ui->publishGroup->setId(ui->customPublishedRadio, 0);
- ui->lrcfg_publishedAddress->setEnabled(!currentAccount_->isPublishedSameAsLocal());
- ui->lrcfg_publishedPort->setEnabled(!currentAccount_->isPublishedSameAsLocal());
-
- connect(ui->publishGroup,
- static_cast<void(QButtonGroup::*)(int)>(&QButtonGroup::buttonClicked),
- [=](int id) {
- currentAccount_->setPublishedSameAsLocal(static_cast<bool>(id));
- });
-
- if (currentAccount_->tlsCaListCertificate())
- ui->lrcfg_tlsCaListCertificate->setText(currentAccount_->tlsCaListCertificate()->path());
- if (currentAccount_->tlsCertificate())
- ui->lrcfg_tlsCertificate->setText(currentAccount_->tlsCertificate()->path());
- if (not currentAccount_->tlsPrivateKey().isEmpty())
- ui->lrcfg_tlsPrivateKeyCertificate->setText(currentAccount_->tlsPrivateKey());
-
-#if defined(Q_OS_WIN) && !defined(_MSC_VER)
- certMap_[ui->lrcfg_tlsCaListCertificate->objectName()] = ¤tAccount_->setTlsCaListCertificate;
- certMap_[ui->lrcfg_tlsCertificate->objectName()] = ¤tAccount_->setTlsCertificate;
- certMap_[ui->lrcfg_tlsPrivateKeyCertificate->objectName()] = ¤tAccount_->setTlsPrivateKey;
-#endif
-
- ui->srtpEnabledChkBox->disconnect();
- connect(ui->srtpEnabledChkBox, &QCheckBox::toggled, [=](bool checked) {
- currentAccount_->setSrtpEnabled(checked);
- });
-
- ui->srtpEnabledChkBox->setChecked(currentAccount_->isSrtpEnabled());
-
- if (currentAccount_->cipherModel()->useDefault())
- ui->defaultCipherCheckBox->setChecked(true);
- else
- ui->defaultCipherCheckBox->setChecked(false);
-
- ui->cipherListView->setModel(currentAccount_->cipherModel());
-
- disconnect(ui->ringtonesBox);
- ui->ringtonesBox->setModel(&RingtoneModel::instance());
- ui->ringtonesBox->setCurrentIndex(RingtoneModel::instance().selectionModel(currentAccount_)->currentIndex().row());
- connect(ui->ringtonesBox, SIGNAL(currentIndexChanged(int)), this, SLOT(ringtonesBoxCurrentIndexChanged(int)));
-
- auto accountProtocol = currentAccount_->protocol();
- if (accountProtocol == Account::Protocol::RING) {
- ui->srtpEnabledChkBox->hide();
- ui->nameServiceURLLabel->show();
- ui->lrcfg_nameServiceURL->show();
- ui->lrcfg_nameServiceURL->setText(currentAccount_->nameServiceURL());
- } else if (accountProtocol == Account::Protocol::SIP) {
- ui->srtpEnabledChkBox->show();
- ui->nameServiceURLLabel->hide();
- ui->lrcfg_nameServiceURL->hide();
- }
-
- if (ui->defaultCipherCheckBox->checkState() == Qt::Checked)
- ui->cipherListView->setVisible(false);
- else
- ui->cipherListView->setVisible(true);
-
- ui->tableView->setModel((QAbstractItemModel*)currentAccount_->ringDeviceModel());
- ui->bannedContactsWidget->setAccount(currentAccount_);
-}
-
-void
-AccountDetails::on_upAudioButton_clicked() {
- codecModel_->moveUp();
-}
-
-void
-AccountDetails::on_downAudioButton_clicked() {
- codecModel_->moveDown();
-}
-
-void
-AccountDetails::on_upVideoButton_clicked() {
- codecModel_->moveUp();
-}
-
-void
-AccountDetails::on_downVideoButton_clicked() {
- codecModel_->moveDown();
-}
-
-void
-AccountDetails::save() {
- codecModel_->performAction(CodecModel::EditAction::SAVE);
-}
-
-void
-AccountDetails::onCertButtonClicked() {
- QString fileName = QFileDialog::getOpenFileName(this, tr("Choose File"),
- "",
- tr("Files (*)"));
-
- auto sender = QObject::sender();
-
- (currentAccount_->*certMap_[sender->objectName()])(fileName);
- if (not fileName.isEmpty())
- static_cast<QPushButton*>(sender)->setText(fileName);
-}
-
-void
-AccountDetails::audioCodecSelectionChanged(const QItemSelection& selected,
- const QItemSelection& deselected) {
- Q_UNUSED(deselected)
- if (not codecModel_ || selected.empty())
- return;
- auto idx = codecModel_->audioCodecs()->mapToSource(selected.indexes().at(0));
- codecModel_->selectionModel()->setCurrentIndex(idx, QItemSelectionModel::ClearAndSelect);
-}
-
-void
-AccountDetails::videoCodecSelectionChanged(const QItemSelection& selected,
- const QItemSelection& deselected) {
- Q_UNUSED(deselected)
- if (not codecModel_ || selected.empty())
- return;
- auto idx = codecModel_->videoCodecs()->mapToSource(selected.indexes().at(0));
- codecModel_->selectionModel()->setCurrentIndex(idx, QItemSelectionModel::ClearAndSelect);
-}
-
-void
-AccountDetails::ringtonesBoxCurrentIndexChanged(int index)
-{
- RingtoneModel::instance().selectionModel(currentAccount_)->setCurrentIndex(
- RingtoneModel::instance().index(index, 0), QItemSelectionModel::ClearAndSelect);
-}
-
-void
-AccountDetails::on_playButton_clicked()
-{
- RingtoneModel::instance().play(RingtoneModel::instance().index(
- ui->ringtonesBox->currentIndex(), 0));
-}
-
-void
-AccountDetails::stopRingtone() {
- if (not currentAccount_)
- return;
- auto idx = RingtoneModel::instance().selectionModel(currentAccount_)->currentIndex();
- if (RingtoneModel::instance().isPlaying())
- RingtoneModel::instance().play(idx);
-}
-
-void
-AccountDetails::on_addDeviceButton_clicked()
-{
- ui->devicesStackedWidget->setCurrentIndex(1);
-}
-
-void
-AccountDetails::on_cancelButton_clicked()
-{
- ui->devicesStackedWidget->setCurrentIndex(0);
-}
-
-void
-AccountDetails::on_exportOnRingButton_clicked()
-{
- if (ui->passwordArchiveEdit->text().isEmpty())
- return;
-
- connect(currentAccount_, SIGNAL(exportOnRingEnded(Account::ExportOnRingStatus,QString)), this, SLOT(exportOnRingEnded(Account::ExportOnRingStatus,QString)));
- currentAccount_->exportOnRing(ui->passwordArchiveEdit->text());
- ui->devicesStackedWidget->setCurrentIndex(2);
- ui->pinLabel->setText(tr("Please wait while your PIN is generated."));
-}
-
-void
-AccountDetails::exportOnRingEnded(Account::ExportOnRingStatus state, const QString& pin) {
-
- ui->devicesStackedWidget->setCurrentIndex(2);
-
- ui->pinLabel->clear();
-
- switch (state) {
- case Account::ExportOnRingStatus::SUCCESS:
- {
- ui->pinLabel->setText(pin);
- ui->pinLabel->setTextInteractionFlags(Qt::TextSelectableByMouse);
- break;
- }
- case Account::ExportOnRingStatus::NETWORK_ERROR:
- {
- ui->pinLabel->setText(tr("Network Error. Please try again later."));
- break;
- }
- case Account::ExportOnRingStatus::WRONG_PASSWORD:
- ui->pinLabel->setText(tr("Wrong password."));
- break;
- }
-}
-
-void
-AccountDetails::on_exportEndedOkButton_clicked()
-{
- ui->devicesStackedWidget->setCurrentIndex(0);
-}
-
-void
-AccountDetails::on_cancelAddButton_clicked()
-{
- ui->devicesStackedWidget->setCurrentIndex(0);
-}
-
-void AccountDetails::on_devicesStackedWidget_currentChanged(int pageNum)
-{
- // We clear the password textEdit each time we leave its page
- if (pageNum != ui->devicesStackedWidget->indexOf(ui->passwordAskingPage))
- ui->passwordArchiveEdit->clear();
-}
-
-void AccountDetails::on_registerButton_clicked()
-{
- ui->registerButton->setEnabled(false);
- ui->registerButton->setText(tr("Registering... It may take some time"));
- bool regSuccess = currentAccount_->registerName(ui->lrcfg_password->text(), ui->lrcfg_registeredName->text());
- if (!regSuccess) {
- QMessageBox::warning(this, "Username not registered", "Username registration failed, try again later.");
- ui->registerButton->setEnabled(true);
- ui->registerButton->setText(tr("Register on blockchain"));
- return;
- }
-
- connect(currentAccount_, SIGNAL(nameRegistrationEnded(NameDirectory::RegisterNameStatus,QString)),
- this, SLOT(handle_nameRegistrationEnded(NameDirectory::RegisterNameStatus,QString)));
-}
-
-
-void AccountDetails::handle_nameRegistrationEnded(NameDirectory::RegisterNameStatus status, const QString& name)
-{
- disconnect(currentAccount_, SIGNAL(nameRegistrationEnded(NameDirectory::RegisterNameStatus,QString)),
- this, SLOT(handle_nameRegistrationEnded(NameDirectory::RegisterNameStatus,QString)));
- switch(status) {
- case NameDirectory::RegisterNameStatus::ALREADY_TAKEN:
- QMessageBox::warning(this, "Username not registered", "This username is already taken, try another one.");
- ui->registerButton->setEnabled(true);
- ui->registerButton->setText(tr("Register on blockchain"));
- break;
- case NameDirectory::RegisterNameStatus::INVALID_NAME:
- QMessageBox::warning(this, "Username not registered", "This username is invalid, try another one.");
- ui->registerButton->setEnabled(true);
- ui->registerButton->setText(tr("Register on blockchain"));
- break;
- case NameDirectory::RegisterNameStatus::WRONG_PASSWORD:
- QMessageBox::warning(this, "Username not registered", "Wrong password, try again.");
- ui->registerButton->setEnabled(true);
- ui->registerButton->setText(tr("Register on blockchain"));
- break;
- case NameDirectory::RegisterNameStatus::NETWORK_ERROR:
- QMessageBox::warning(this, "Username not registered", "Network error. Try again later.");
- ui->registerButton->setEnabled(true);
- ui->registerButton->setText(tr("Register on blockchain"));
- break;
- case NameDirectory::RegisterNameStatus::SUCCESS:
- ui->lrcfg_registeredName->setReadOnly(true);
- ui->registerButton->hide();
- QMessageBox::information(this, "Username registered", name + " is registered, you can now share this name.");
- break;
- }
-
-}
-
-void
-AccountDetails::on_changePassBtn_clicked()
-{
- ui->oldPasswordLabel->show();
- ui->oldPasswordLineEdit->show();
- ui->oldPasswordLabel->setEnabled(currentAccount_->archiveHasPassword());
- ui->oldPasswordLineEdit->setEnabled(currentAccount_->archiveHasPassword());
-
- ui->newPasswordLabel->show();
- ui->newPasswordLineEdit->show();
-
- ui->newPassConfirmationLabel->show();
- ui->newPassConfirmationLineEdit->show();
-
- ui->changePassBtn->hide();
- ui->confirmChangeBtn->show();
- ui->cancelChangeBtn->show();
-}
-
-void
-AccountDetails::on_confirmChangeBtn_clicked()
-{
- ui->oldPasswordLineEdit->setStyleSheet("border-color: rgb(0, 192, 212);");
-
- if (ui->newPassConfirmationLineEdit->text() == ui->newPasswordLineEdit->text()) {
- ui->changePassInfo->show();
- ui->changePassInfo->setText("Changing password ...");
-
- // reset border stylesheet
- ui->newPassConfirmationLineEdit->setStyleSheet("border-color: rgb(0, 192, 212);");
- ui->newPasswordLineEdit->setStyleSheet("border-color: rgb(0, 192, 212);");
-
- if (currentAccount_->changePassword(ui->oldPasswordLineEdit->text(), ui->newPasswordLineEdit->text())) {
- resetPasswordChangeUI();
- AccountModel::instance().save();
- } else {
- ui->oldPasswordLineEdit->setStyleSheet("border-color: rgb(204, 0, 0);");
- ui->changePassInfo->setText("Wrong password");
- }
- } else {
- // set borders red to show mismatch
- ui->newPassConfirmationLineEdit->setStyleSheet("border-color: rgb(204, 0, 0);");
- ui->newPasswordLineEdit->setStyleSheet("border-color: rgb(204, 0, 0);");
- ui->changePassInfo->setText("New password and confirmation mismatched");
- ui->changePassInfo->show();
- }
-}
-
-void
-AccountDetails::resetPasswordChangeUI()
-{
- ui->oldPasswordLabel->hide();
- ui->oldPasswordLineEdit->clear();
- ui->oldPasswordLineEdit->hide();
- ui->oldPasswordLineEdit->setStyleSheet("border-color: rgb(0, 192, 212);");
-
- ui->newPasswordLabel->hide();
- ui->newPasswordLineEdit->clear();
- ui->newPasswordLineEdit->hide();
- ui->newPasswordLineEdit->setStyleSheet("border-color: rgb(0, 192, 212);");
-
- ui->newPassConfirmationLabel->hide();
- ui->newPassConfirmationLineEdit->clear();
- ui->newPassConfirmationLineEdit->hide();
- ui->newPassConfirmationLineEdit->setStyleSheet("border-color: rgb(0, 192, 212);");
-
- ui->changePassBtn->show();
- ui->confirmChangeBtn->hide();
- ui->cancelChangeBtn->hide();
-
- ui->changePassInfo->hide();
-}
-
-void AccountDetails::on_cancelChangeBtn_clicked()
-{
- resetPasswordChangeUI();
-}
diff --git a/accountdetails.h b/accountdetails.h
deleted file mode 100644
index f7f2e47..0000000
--- a/accountdetails.h
+++ /dev/null
@@ -1,82 +0,0 @@
-/***************************************************************************
- * Copyright (C) 2015-2017 by Savoir-faire Linux *
- * Author: Edric Ladent Milaret <edric.ladent-milaret@savoirfairelinux.com>*
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 3 of the License, or *
- * (at your option) any later version. *
- * *
- * This program is distributed in the hope that it will be useful, *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
- * GNU General Public License for more details. *
- * *
- * You should have received a copy of the GNU General Public License *
- * along with this program. If not, see <http://www.gnu.org/licenses/>. *
- **************************************************************************/
-
-#pragma once
-
-#include <QWidget>
-#include <QMap>
-
-#include <QTableWidgetItem>
-
-#include "accountmodel.h"
-#include "codecmodel.h"
-#include "account.h"
-
-class QPushButton;
-
-namespace Ui {
-class AccountDetails;
-}
-
-class AccountDetails : public QWidget
-{
- Q_OBJECT
-
-public:
- explicit AccountDetails(QWidget* parent = 0);
- ~AccountDetails();
-
- void setAccount(Account* currentAccount);
- void save();
-
-//UI SLOTS
-private slots:
- void on_upAudioButton_clicked();
- void on_downAudioButton_clicked();
- void on_upVideoButton_clicked();
- void on_downVideoButton_clicked();
- void on_playButton_clicked();
- void on_addDeviceButton_clicked();
- void on_cancelButton_clicked();
- void on_exportOnRingButton_clicked();
- void on_exportEndedOkButton_clicked();
- void on_cancelAddButton_clicked();
- void on_devicesStackedWidget_currentChanged(int arg1);
- void on_registerButton_clicked();
-
-private slots:
- void onCertButtonClicked();
- void ringtonesBoxCurrentIndexChanged(int index);
- void audioCodecSelectionChanged(const QItemSelection& selected, const QItemSelection& deselected);
- void videoCodecSelectionChanged(const QItemSelection& selected, const QItemSelection& deselected);
- void exportOnRingEnded(Account::ExportOnRingStatus state, const QString& pin);
- void handle_nameRegistrationEnded(NameDirectory::RegisterNameStatus status, const QString& name);
- void on_changePassBtn_clicked();
- void on_confirmChangeBtn_clicked();
- void on_cancelChangeBtn_clicked();
-
-private:
- Ui::AccountDetails* ui;
- CodecModel* codecModel_;
- Account* currentAccount_;
- typedef void (Account::*ACC_PTR)(const QString&);
- QMap<QString, ACC_PTR > certMap_;
-
- void stopRingtone();
- void resetPasswordChangeUI();
-};
diff --git a/accountdetails.ui b/accountdetails.ui
deleted file mode 100644
index 0e6e01c..0000000
--- a/accountdetails.ui
+++ /dev/null
@@ -1,2954 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>AccountDetails</class>
- <widget class="QWidget" name="AccountDetails">
- <property name="enabled">
- <bool>true</bool>
- </property>
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>847</width>
- <height>760</height>
- </rect>
- </property>
- <property name="sizePolicy">
- <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="windowTitle">
- <string>Settings</string>
- </property>
- <layout class="QVBoxLayout" name="verticalLayout">
- <property name="spacing">
- <number>0</number>
- </property>
- <property name="leftMargin">
- <number>0</number>
- </property>
- <property name="topMargin">
- <number>0</number>
- </property>
- <property name="rightMargin">
- <number>0</number>
- </property>
- <property name="bottomMargin">
- <number>0</number>
- </property>
- <item>
- <widget class="QTabWidget" name="tabWidget">
- <property name="sizePolicy">
- <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="toolTip">
- <string/>
- </property>
- <property name="autoFillBackground">
- <bool>true</bool>
- </property>
- <property name="currentIndex">
- <number>0</number>
- </property>
- <widget class="QWidget" name="gen_tab">
- <property name="sizePolicy">
- <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <attribute name="title">
- <string>General</string>
- </attribute>
- <attribute name="toolTip">
- <string>General account info configuration</string>
- </attribute>
- <layout class="QVBoxLayout" name="verticalLayout_4">
- <property name="spacing">
- <number>0</number>
- </property>
- <property name="leftMargin">
- <number>0</number>
- </property>
- <property name="topMargin">
- <number>0</number>
- </property>
- <property name="rightMargin">
- <number>0</number>
- </property>
- <property name="bottomMargin">
- <number>0</number>
- </property>
- <item>
- <widget class="QScrollArea" name="scrollArea_2">
- <property name="frameShape">
- <enum>QFrame::NoFrame</enum>
- </property>
- <property name="frameShadow">
- <enum>QFrame::Sunken</enum>
- </property>
- <property name="widgetResizable">
- <bool>true</bool>
- </property>
- <widget class="QWidget" name="scrollAreaWidgetContents_2">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>829</width>
- <height>912</height>
- </rect>
- </property>
- <layout class="QVBoxLayout" name="verticalLayout_12">
- <item>
- <layout class="QVBoxLayout" name="verticalLayout_5">
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout_3">
- <item>
- <widget class="QLabel" name="accountLabel">
- <property name="sizePolicy">
- <sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>30</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>16777215</width>
- <height>20</height>
- </size>
- </property>
- <property name="font">
- <font>
- <pointsize>12</pointsize>
- <weight>75</weight>
- <bold>true</bold>
- </font>
- </property>
- <property name="styleSheet">
- <string notr="true">color: rgb(77, 77, 77);</string>
- </property>
- <property name="text">
- <string>Account</string>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item>
- <widget class="Line" name="line_4">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- </widget>
- </item>
- <item>
- <layout class="QFormLayout" name="formLayout">
- <item row="0" column="0">
- <widget class="QLabel" name="aliasLabel">
- <property name="font">
- <font>
- <pointsize>11</pointsize>
- </font>
- </property>
- <property name="styleSheet">
- <string notr="true">color: rgb(77, 77, 77);</string>
- </property>
- <property name="text">
- <string>Displayed name</string>
- </property>
- <property name="buddy">
- <cstring>lrcfg_alias</cstring>
- </property>
- </widget>
- </item>
- <item row="0" column="1">
- <widget class="QLineEdit" name="lrcfg_alias">
- <property name="sizePolicy">
- <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>30</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Displayed alias input</string>
- </property>
- </widget>
- </item>
- <item row="1" column="0">
- <widget class="QLabel" name="typeLabel">
- <property name="font">
- <font>
- <pointsize>11</pointsize>
- </font>
- </property>
- <property name="styleSheet">
- <string notr="true">color: rgb(77, 77, 77);</string>
- </property>
- <property name="text">
- <string>Type</string>
- </property>
- </widget>
- </item>
- <item row="1" column="1">
- <widget class="QLabel" name="typeValueLabel">
- <property name="sizePolicy">
- <sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string/>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item>
- <widget class="QLabel" name="paramLabel">
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>30</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>16777215</width>
- <height>20</height>
- </size>
- </property>
- <property name="font">
- <font>
- <pointsize>12</pointsize>
- <weight>75</weight>
- <bold>true</bold>
- </font>
- </property>
- <property name="styleSheet">
- <string notr="true">color: rgb(77, 77, 77);</string>
- </property>
- <property name="text">
- <string>Parameters</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="Line" name="line_3">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- </widget>
- </item>
- <item>
- <layout class="QFormLayout" name="formLayout_2">
- <item row="0" column="0">
- <widget class="QLabel" name="hostnameLabel">
- <property name="sizePolicy">
- <sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="font">
- <font>
- <pointsize>11</pointsize>
- </font>
- </property>
- <property name="styleSheet">
- <string notr="true">color: rgb(77, 77, 77);</string>
- </property>
- <property name="text">
- <string>Hostname</string>
- </property>
- <property name="buddy">
- <cstring>lrcfg_hostname</cstring>
- </property>
- </widget>
- </item>
- <item row="0" column="1">
- <widget class="QLineEdit" name="lrcfg_hostname">
- <property name="sizePolicy">
- <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>30</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Hostname URL for DHT bootstrap or SIP</string>
- </property>
- </widget>
- </item>
- <item row="1" column="0">
- <widget class="QLabel" name="registeredNameLabel">
- <property name="sizePolicy">
- <sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="font">
- <font>
- <pointsize>11</pointsize>
- </font>
- </property>
- <property name="styleSheet">
- <string notr="true">color: rgb(77, 77, 77);</string>
- </property>
- <property name="text">
- <string>Public username</string>
- </property>
- <property name="buddy">
- <cstring>lrcfg_registeredName</cstring>
- </property>
- </widget>
- </item>
- <item row="1" column="1">
- <layout class="QHBoxLayout" name="horizontalLayout_10">
- <item>
- <widget class="QLineEdit" name="lrcfg_registeredName">
- <property name="enabled">
- <bool>true</bool>
- </property>
- <property name="sizePolicy">
- <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>30</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Ring public registered username</string>
- </property>
- <property name="readOnly">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="registerButton">
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="sizePolicy">
- <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="toolTip">
- <string>Register username on blockchain button</string>
- </property>
- <property name="text">
- <string>Register on blockchain</string>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="2" column="0">
- <widget class="QLabel" name="nameServiceURLLabel">
- <property name="font">
- <font>
- <pointsize>11</pointsize>
- </font>
- </property>
- <property name="styleSheet">
- <string notr="true">color: rgb(77, 77, 77);</string>
- </property>
- <property name="text">
- <string>Name service URL</string>
- </property>
- <property name="buddy">
- <cstring>lrcfg_nameServiceURL</cstring>
- </property>
- </widget>
- </item>
- <item row="2" column="1">
- <widget class="QLineEdit" name="lrcfg_nameServiceURL">
- <property name="sizePolicy">
- <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>30</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Nameservice URL input</string>
- </property>
- </widget>
- </item>
- <item row="3" column="0">
- <widget class="QLabel" name="usernameLabel">
- <property name="font">
- <font>
- <pointsize>11</pointsize>
- </font>
- </property>
- <property name="styleSheet">
- <string notr="true">color: rgb(77, 77, 77);</string>
- </property>
- <property name="text">
- <string>Username</string>
- </property>
- <property name="buddy">
- <cstring>lrcfg_username</cstring>
- </property>
- </widget>
- </item>
- <item row="3" column="1">
- <widget class="QLineEdit" name="lrcfg_username">
- <property name="sizePolicy">
- <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>30</height>
- </size>
- </property>
- <property name="toolTip">
- <string>SIP username input</string>
- </property>
- </widget>
- </item>
- <item row="12" column="0">
- <widget class="QLabel" name="passwordLabel">
- <property name="sizePolicy">
- <sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="font">
- <font>
- <pointsize>11</pointsize>
- </font>
- </property>
- <property name="styleSheet">
- <string notr="true">color: rgb(77, 77, 77);</string>
- </property>
- <property name="text">
- <string>Password</string>
- </property>
- <property name="buddy">
- <cstring>lrcfg_password</cstring>
- </property>
- </widget>
- </item>
- <item row="12" column="1">
- <widget class="QLineEdit" name="lrcfg_password">
- <property name="sizePolicy">
- <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>30</height>
- </size>
- </property>
- <property name="toolTip">
- <string>SIP password input</string>
- </property>
- <property name="echoMode">
- <enum>QLineEdit::PasswordEchoOnEdit</enum>
- </property>
- </widget>
- </item>
- <item row="13" column="0">
- <widget class="QLabel" name="proxyLabel">
- <property name="sizePolicy">
- <sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="font">
- <font>
- <pointsize>11</pointsize>
- </font>
- </property>
- <property name="styleSheet">
- <string notr="true">color: rgb(77, 77, 77);</string>
- </property>
- <property name="text">
- <string>Proxy</string>
- </property>
- <property name="buddy">
- <cstring>lrcfg_proxy</cstring>
- </property>
- </widget>
- </item>
- <item row="13" column="1">
- <widget class="QLineEdit" name="lrcfg_proxy">
- <property name="sizePolicy">
- <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>30</height>
- </size>
- </property>
- <property name="toolTip">
- <string>SIP proxy URL input</string>
- </property>
- </widget>
- </item>
- <item row="14" column="0">
- <widget class="QLabel" name="voicemailLabel">
- <property name="sizePolicy">
- <sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="font">
- <font>
- <pointsize>11</pointsize>
- </font>
- </property>
- <property name="styleSheet">
- <string notr="true">color: rgb(77, 77, 77);</string>
- </property>
- <property name="text">
- <string>Voicemail number</string>
- </property>
- <property name="buddy">
- <cstring>lrcfg_mailbox</cstring>
- </property>
- </widget>
- </item>
- <item row="14" column="1">
- <widget class="QLineEdit" name="lrcfg_mailbox">
- <property name="sizePolicy">
- <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>30</height>
- </size>
- </property>
- <property name="toolTip">
- <string>SIP voicemail number</string>
- </property>
- </widget>
- </item>
- <item row="15" column="0">
- <widget class="QCheckBox" name="lrcfg_autoAnswer">
- <property name="font">
- <font>
- <pointsize>11</pointsize>
- </font>
- </property>
- <property name="toolTip">
- <string>Autoanswer call checkbox</string>
- </property>
- <property name="styleSheet">
- <string notr="true">color: rgb(77, 77, 77);</string>
- </property>
- <property name="text">
- <string>Auto-answer calls</string>
- </property>
- </widget>
- </item>
- <item row="16" column="0">
- <widget class="QCheckBox" name="lrcfg_upnpEnabled">
- <property name="enabled">
- <bool>true</bool>
- </property>
- <property name="font">
- <font>
- <pointsize>11</pointsize>
- </font>
- </property>
- <property name="toolTip">
- <string>UPnP enabled checkbox</string>
- </property>
- <property name="styleSheet">
- <string notr="true">color: rgb(77, 77, 77);</string>
- </property>
- <property name="text">
- <string>UPnP enabled</string>
- </property>
- </widget>
- </item>
- <item row="4" column="1">
- <widget class="QLineEdit" name="oldPasswordLineEdit">
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>30</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Old password input line</string>
- </property>
- <property name="inputMask">
- <string/>
- </property>
- <property name="echoMode">
- <enum>QLineEdit::Password</enum>
- </property>
- <property name="placeholderText">
- <string>Input old password</string>
- </property>
- </widget>
- </item>
- <item row="4" column="0">
- <widget class="QLabel" name="oldPasswordLabel">
- <property name="font">
- <font>
- <pointsize>11</pointsize>
- </font>
- </property>
- <property name="styleSheet">
- <string notr="true">color: rgb(77, 77, 77);</string>
- </property>
- <property name="text">
- <string>Old Password</string>
- </property>
- </widget>
- </item>
- <item row="5" column="1">
- <widget class="QLineEdit" name="newPasswordLineEdit">
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>30</height>
- </size>
- </property>
- <property name="toolTip">
- <string>New password text input</string>
- </property>
- <property name="echoMode">
- <enum>QLineEdit::Password</enum>
- </property>
- <property name="placeholderText">
- <string>Input new password</string>
- </property>
- </widget>
- </item>
- <item row="5" column="0">
- <widget class="QLabel" name="newPasswordLabel">
- <property name="font">
- <font>
- <pointsize>11</pointsize>
- <weight>50</weight>
- <bold>false</bold>
- </font>
- </property>
- <property name="styleSheet">
- <string notr="true">color: rgb(77, 77, 77);</string>
- </property>
- <property name="text">
- <string>New password</string>
- </property>
- </widget>
- </item>
- <item row="7" column="1">
- <widget class="QLineEdit" name="newPassConfirmationLineEdit">
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>30</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Password confirmation text input</string>
- </property>
- <property name="echoMode">
- <enum>QLineEdit::Password</enum>
- </property>
- <property name="placeholderText">
- <string>Input confirmation </string>
- </property>
- </widget>
- </item>
- <item row="7" column="0">
- <widget class="QLabel" name="newPassConfirmationLabel">
- <property name="font">
- <font>
- <family>Cantarell</family>
- <pointsize>11</pointsize>
- </font>
- </property>
- <property name="styleSheet">
- <string notr="true">color: rgb(77, 77, 77);</string>
- </property>
- <property name="text">
- <string>New pass confirmation</string>
- </property>
- </widget>
- </item>
- <item row="9" column="1">
- <layout class="QHBoxLayout" name="horizontalLayout_2">
- <property name="topMargin">
- <number>0</number>
- </property>
- <item>
- <widget class="QPushButton" name="changePassBtn">
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>30</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>500</width>
- <height>100</height>
- </size>
- </property>
- <property name="text">
- <string>Change password</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="confirmChangeBtn">
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>30</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>500</width>
- <height>16777215</height>
- </size>
- </property>
- <property name="text">
- <string>Ok</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="cancelChangeBtn">
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>30</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Cancel password change button</string>
- </property>
- <property name="text">
- <string>Cancel</string>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="8" column="1">
- <widget class="QLabel" name="changePassInfo">
- <property name="styleSheet">
- <string notr="true">color: rgb(77, 77, 77);</string>
- </property>
- <property name="text">
- <string>Changing password ...</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignCenter</set>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item>
- <widget class="QLabel" name="label_27">
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>30</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>16777215</width>
- <height>20</height>
- </size>
- </property>
- <property name="font">
- <font>
- <pointsize>12</pointsize>
- <weight>75</weight>
- <bold>true</bold>
- </font>
- </property>
- <property name="styleSheet">
- <string notr="true">color: rgb(77, 77, 77);</string>
- </property>
- <property name="text">
- <string>Ring Account Settings</string>
- </property>
- <property name="buddy">
- <cstring>lrcfg_allowIncomingFromUnknown</cstring>
- </property>
- </widget>
- </item>
- <item>
- <widget class="Line" name="line">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- </widget>
- </item>
- <item>
- <layout class="QVBoxLayout" name="verticalLayout_6">
- <item>
- <widget class="QCheckBox" name="lrcfg_allowIncomingFromUnknown">
- <property name="font">
- <font>
- <pointsize>11</pointsize>
- </font>
- </property>
- <property name="toolTip">
- <string>Allow call from unknown checkbox</string>
- </property>
- <property name="styleSheet">
- <string notr="true">color: rgb(77, 77, 77);</string>
- </property>
- <property name="text">
- <string>Allow Call From Unknown</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QCheckBox" name="lrcfg_allowIncomingFromHistory">
- <property name="font">
- <font>
- <pointsize>11</pointsize>
- </font>
- </property>
- <property name="toolTip">
- <string>Allow Call From History checkbox</string>
- </property>
- <property name="styleSheet">
- <string notr="true">color: rgb(77, 77, 77);</string>
- </property>
- <property name="text">
- <string>Allow Call From History</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QCheckBox" name="lrcfg_allowIncomingFromContact">
- <property name="font">
- <font>
- <pointsize>11</pointsize>
- </font>
- </property>
- <property name="toolTip">
- <string>Allow Call From Contact checkbox</string>
- </property>
- <property name="text">
- <string>Allow Call From Contact</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="Line" name="line_2">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLabel" name="label_28">
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>30</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>16777215</width>
- <height>20</height>
- </size>
- </property>
- <property name="font">
- <font>
- <pointsize>12</pointsize>
- <weight>75</weight>
- <bold>true</bold>
- </font>
- </property>
- <property name="styleSheet">
- <string notr="true">color: rgb(77, 77, 77);</string>
- </property>
- <property name="text">
- <string>Ringtone Selection</string>
- </property>
- </widget>
- </item>
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout">
- <property name="topMargin">
- <number>0</number>
- </property>
- <item>
- <widget class="QPushButton" name="playButton">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>86</width>
- <height>30</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Play ringtone button</string>
- </property>
- <property name="text">
- <string>Play</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QComboBox" name="ringtonesBox">
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>30</height>
- </size>
- </property>
- <property name="toolTip">
- <string>ringtone file selector</string>
- </property>
- </widget>
- </item>
- <item>
- <spacer name="horizontalSpacer_6">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </item>
- </layout>
- </item>
- <item>
- <spacer name="verticalSpacer_2">
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>40</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </item>
- </layout>
- </widget>
- </widget>
- </item>
- </layout>
- </widget>
- <widget class="QWidget" name="audio_codec_tab">
- <property name="sizePolicy">
- <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <attribute name="title">
- <string>Audio/Video</string>
- </attribute>
- <attribute name="toolTip">
- <string>Audio/video codecs preferences configuration</string>
- </attribute>
- <layout class="QGridLayout" name="gridLayout_2">
- <item row="1" column="0">
- <widget class="QListView" name="audioCodecView">
- <property name="sizePolicy">
- <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="focusPolicy">
- <enum>Qt::NoFocus</enum>
- </property>
- <property name="layoutDirection">
- <enum>Qt::LeftToRight</enum>
- </property>
- <property name="selectionBehavior">
- <enum>QAbstractItemView::SelectRows</enum>
- </property>
- </widget>
- </item>
- <item row="1" column="3">
- <widget class="QListView" name="videoCodecView">
- <property name="focusPolicy">
- <enum>Qt::NoFocus</enum>
- </property>
- </widget>
- </item>
- <item row="1" column="4">
- <layout class="QVBoxLayout" name="verticalLayout_14">
- <property name="leftMargin">
- <number>0</number>
- </property>
- <item>
- <widget class="QPushButton" name="upVideoButton">
- <property name="minimumSize">
- <size>
- <width>30</width>
- <height>30</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>30</width>
- <height>30</height>
- </size>
- </property>
- <property name="text">
- <string/>
- </property>
- <property name="icon">
- <iconset resource="ressources.qrc">
- <normaloff>:/images/icons/ic_arrow_drop_up_black_18dp_2x.png</normaloff>:/images/icons/ic_arrow_drop_up_black_18dp_2x.png</iconset>
- </property>
- <property name="iconSize">
- <size>
- <width>18</width>
- <height>18</height>
- </size>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="downVideoButton">
- <property name="minimumSize">
- <size>
- <width>30</width>
- <height>30</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>30</width>
- <height>30</height>
- </size>
- </property>
- <property name="text">
- <string/>
- </property>
- <property name="icon">
- <iconset resource="ressources.qrc">
- <normaloff>:/images/icons/ic_arrow_drop_down_black_18dp_2x.png</normaloff>:/images/icons/ic_arrow_drop_down_black_18dp_2x.png</iconset>
- </property>
- <property name="iconSize">
- <size>
- <width>18</width>
- <height>18</height>
- </size>
- </property>
- </widget>
- </item>
- <item>
- <spacer name="verticalSpacer_4">
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeType">
- <enum>QSizePolicy::MinimumExpanding</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>40</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </item>
- <item row="1" column="2">
- <layout class="QVBoxLayout" name="verticalLayout_3">
- <property name="leftMargin">
- <number>0</number>
- </property>
- <item>
- <widget class="QPushButton" name="upAudioButton">
- <property name="minimumSize">
- <size>
- <width>30</width>
- <height>30</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>30</width>
- <height>30</height>
- </size>
- </property>
- <property name="text">
- <string/>
- </property>
- <property name="icon">
- <iconset resource="ressources.qrc">
- <normaloff>:/images/icons/ic_arrow_drop_up_black_18dp_2x.png</normaloff>:/images/icons/ic_arrow_drop_up_black_18dp_2x.png</iconset>
- </property>
- <property name="iconSize">
- <size>
- <width>18</width>
- <height>18</height>
- </size>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="downAudioButton">
- <property name="minimumSize">
- <size>
- <width>30</width>
- <height>30</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>30</width>
- <height>30</height>
- </size>
- </property>
- <property name="text">
- <string/>
- </property>
- <property name="icon">
- <iconset resource="ressources.qrc">
- <normaloff>:/images/icons/ic_arrow_drop_down_black_18dp_2x.png</normaloff>:/images/icons/ic_arrow_drop_down_black_18dp_2x.png</iconset>
- </property>
- <property name="iconSize">
- <size>
- <width>18</width>
- <height>18</height>
- </size>
- </property>
- </widget>
- </item>
- <item>
- <spacer name="verticalSpacer_3">
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeType">
- <enum>QSizePolicy::MinimumExpanding</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>40</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </item>
- <item row="0" column="0">
- <widget class="QLabel" name="label_29">
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>30</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>16777215</width>
- <height>30</height>
- </size>
- </property>
- <property name="font">
- <font>
- <pointsize>12</pointsize>
- <weight>50</weight>
- <bold>false</bold>
- </font>
- </property>
- <property name="styleSheet">
- <string notr="true">color: rgb(77, 77, 77);</string>
- </property>
- <property name="text">
- <string>Audio codecs</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignCenter</set>
- </property>
- </widget>
- </item>
- <item row="0" column="3">
- <widget class="QLabel" name="label_30">
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>30</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>16777215</width>
- <height>30</height>
- </size>
- </property>
- <property name="font">
- <font>
- <pointsize>12</pointsize>
- </font>
- </property>
- <property name="styleSheet">
- <string notr="true">color: rgb(77, 77, 77);</string>
- </property>
- <property name="text">
- <string>Video codecs</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignCenter</set>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- <widget class="QWidget" name="advancedTab">
- <property name="sizePolicy">
- <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <attribute name="title">
- <string>Advanced</string>
- </attribute>
- <attribute name="toolTip">
- <string>Account advanced configuration</string>
- </attribute>
- <layout class="QVBoxLayout" name="verticalLayout_7">
- <property name="topMargin">
- <number>0</number>
- </property>
- <property name="bottomMargin">
- <number>0</number>
- </property>
- <item>
- <widget class="QScrollArea" name="scrollArea">
- <property name="frameShape">
- <enum>QFrame::NoFrame</enum>
- </property>
- <property name="widgetResizable">
- <bool>true</bool>
- </property>
- <widget class="QWidget" name="scrollAreaWidgetContents">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>811</width>
- <height>956</height>
- </rect>
- </property>
- <layout class="QVBoxLayout" name="verticalLayout_11">
- <item>
- <widget class="QLabel" name="label_2">
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>30</height>
- </size>
- </property>
- <property name="font">
- <font>
- <pointsize>12</pointsize>
- <weight>75</weight>
- <bold>true</bold>
- </font>
- </property>
- <property name="styleSheet">
- <string notr="true">color: rgb(77, 77, 77);</string>
- </property>
- <property name="text">
- <string>Registration</string>
- </property>
- <property name="buddy">
- <cstring>lrcfg_registrationExpire</cstring>
- </property>
- </widget>
- </item>
- <item>
- <layout class="QFormLayout" name="formLayout_3">
- <item row="0" column="0">
- <widget class="QLabel" name="label_9">
- <property name="font">
- <font>
- <pointsize>11</pointsize>
- </font>
- </property>
- <property name="styleSheet">
- <string notr="true">color: rgb(77, 77, 77);</string>
- </property>
- <property name="text">
- <string>Registration expire timeout (seconds):</string>
- </property>
- <property name="buddy">
- <cstring>lrcfg_registrationExpire</cstring>
- </property>
- </widget>
- </item>
- <item row="0" column="1">
- <widget class="QSpinBox" name="lrcfg_registrationExpire">
- <property name="maximumSize">
- <size>
- <width>150</width>
- <height>16777215</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Registration timeout selector spinbox</string>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item>
- <widget class="QLabel" name="label_3">
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>30</height>
- </size>
- </property>
- <property name="font">
- <font>
- <pointsize>12</pointsize>
- <weight>75</weight>
- <bold>true</bold>
- </font>
- </property>
- <property name="styleSheet">
- <string notr="true">color: rgb(77, 77, 77);</string>
- </property>
- <property name="text">
- <string>Network Interface</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="Line" name="line_8">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- </widget>
- </item>
- <item>
- <layout class="QFormLayout" name="formLayout_4">
- <item row="0" column="0">
- <widget class="QLabel" name="label_10">
- <property name="font">
- <font>
- <pointsize>11</pointsize>
- </font>
- </property>
- <property name="text">
- <string>Local Port:</string>
- </property>
- <property name="buddy">
- <cstring>lrcfg_localPort</cstring>
- </property>
- </widget>
- </item>
- <item row="0" column="1">
- <layout class="QHBoxLayout" name="horizontalLayout_7">
- <item>
- <widget class="QSpinBox" name="lrcfg_localPort">
- <property name="minimumSize">
- <size>
- <width>100</width>
- <height>0</height>
- </size>
- </property>
- <property name="toolTip">
- <string>local port selector spinbox</string>
- </property>
- <property name="maximum">
- <number>65535</number>
- </property>
- </widget>
- </item>
- <item>
- <spacer name="horizontalSpacer_4">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </item>
- </layout>
- </item>
- <item>
- <spacer name="verticalSpacer_10">
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeType">
- <enum>QSizePolicy::Fixed</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>40</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <widget class="QLabel" name="label_4">
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>30</height>
- </size>
- </property>
- <property name="font">
- <font>
- <pointsize>12</pointsize>
- <weight>75</weight>
- <bold>true</bold>
- </font>
- </property>
- <property name="styleSheet">
- <string notr="true">color: rgb(77, 77, 77);</string>
- </property>
- <property name="text">
- <string>Published Address</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="Line" name="line_9">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- </widget>
- </item>
- <item>
- <layout class="QVBoxLayout" name="verticalLayout_8">
- <property name="topMargin">
- <number>0</number>
- </property>
- <property name="bottomMargin">
- <number>0</number>
- </property>
- <item>
- <widget class="QRadioButton" name="puslishedSameAsLocalRadio">
- <property name="font">
- <font>
- <pointsize>11</pointsize>
- </font>
- </property>
- <property name="toolTip">
- <string>same as local radio button</string>
- </property>
- <property name="styleSheet">
- <string notr="true">color: rgb(77, 77, 77);</string>
- </property>
- <property name="text">
- <string>Same as local parameters</string>
- </property>
- <property name="checked">
- <bool>true</bool>
- </property>
- <attribute name="buttonGroup">
- <string notr="true">publishGroup</string>
- </attribute>
- </widget>
- </item>
- <item>
- <widget class="QRadioButton" name="customPublishedRadio">
- <property name="font">
- <font>
- <pointsize>11</pointsize>
- </font>
- </property>
- <property name="toolTip">
- <string>personalise address and ports radio button</string>
- </property>
- <property name="styleSheet">
- <string notr="true">color: rgb(77, 77, 77);</string>
- </property>
- <property name="text">
- <string>Set published address and port:</string>
- </property>
- <attribute name="buttonGroup">
- <string notr="true">publishGroup</string>
- </attribute>
- </widget>
- </item>
- <item>
- <layout class="QHBoxLayout" name="publishAdressLayout">
- <property name="leftMargin">
- <number>30</number>
- </property>
- <property name="topMargin">
- <number>0</number>
- </property>
- <item>
- <widget class="QLabel" name="label_12">
- <property name="font">
- <font>
- <pointsize>11</pointsize>
- </font>
- </property>
- <property name="styleSheet">
- <string notr="true">color: rgb(77, 77, 77);</string>
- </property>
- <property name="text">
- <string>Address</string>
- </property>
- <property name="buddy">
- <cstring>lrcfg_publishedAddress</cstring>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLineEdit" name="lrcfg_publishedAddress">
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="maximumSize">
- <size>
- <width>200</width>
- <height>16777215</height>
- </size>
- </property>
- <property name="toolTip">
- <string>ip address text input</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLabel" name="label_11">
- <property name="font">
- <font>
- <pointsize>11</pointsize>
- </font>
- </property>
- <property name="styleSheet">
- <string notr="true">color: rgb(77, 77, 77);</string>
- </property>
- <property name="text">
- <string>Port</string>
- </property>
- <property name="buddy">
- <cstring>lrcfg_publishedPort</cstring>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QSpinBox" name="lrcfg_publishedPort">
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="minimumSize">
- <size>
- <width>100</width>
- <height>0</height>
- </size>
- </property>
- <property name="toolTip">
- <string>port selector spinbox</string>
- </property>
- <property name="maximum">
- <number>65535</number>
- </property>
- </widget>
- </item>
- <item>
- <spacer name="horizontalSpacer_5">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </item>
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout_8">
- <property name="topMargin">
- <number>0</number>
- </property>
- <item>
- <widget class="QCheckBox" name="lrcfg_sipStunEnabled">
- <property name="font">
- <font>
- <pointsize>11</pointsize>
- </font>
- </property>
- <property name="toolTip">
- <string>use STUN checkbox</string>
- </property>
- <property name="styleSheet">
- <string notr="true">color: rgb(77, 77, 77);</string>
- </property>
- <property name="text">
- <string>Use STUN</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLineEdit" name="lrcfg_sipStunServer">
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="sizePolicy">
- <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="placeholderText">
- <string>Server URL</string>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item>
- <layout class="QFormLayout" name="formLayout_6">
- <property name="topMargin">
- <number>0</number>
- </property>
- <property name="bottomMargin">
- <number>0</number>
- </property>
- <item row="0" column="0">
- <widget class="QCheckBox" name="lrcfg_turnEnabled">
- <property name="font">
- <font>
- <pointsize>11</pointsize>
- </font>
- </property>
- <property name="toolTip">
- <string>use TURN checkbox</string>
- </property>
- <property name="styleSheet">
- <string notr="true">color: rgb(77, 77, 77);</string>
- </property>
- <property name="text">
- <string>Use TURN</string>
- </property>
- </widget>
- </item>
- <item row="0" column="1">
- <widget class="QLineEdit" name="lrcfg_turnServer">
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="sizePolicy">
- <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="toolTip">
- <string>TURN server URL input</string>
- </property>
- <property name="placeholderText">
- <string>Server URL</string>
- </property>
- </widget>
- </item>
- <item row="1" column="1">
- <widget class="QLineEdit" name="lrcfg_turnServerUsername">
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="sizePolicy">
- <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="toolTip">
- <string>TURN server username input</string>
- </property>
- <property name="placeholderText">
- <string>Username</string>
- </property>
- </widget>
- </item>
- <item row="2" column="1">
- <widget class="QLineEdit" name="lrcfg_turnServerPassword">
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="sizePolicy">
- <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="toolTip">
- <string>TURN server password input</string>
- </property>
- <property name="echoMode">
- <enum>QLineEdit::Password</enum>
- </property>
- <property name="placeholderText">
- <string>Password</string>
- </property>
- </widget>
- </item>
- <item row="3" column="1">
- <widget class="QLineEdit" name="lrcfg_turnServerRealm">
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="sizePolicy">
- <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="toolTip">
- <string>TURN server Realm input</string>
- </property>
- <property name="placeholderText">
- <string>Realm</string>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- </layout>
- </item>
- <item>
- <spacer name="verticalSpacer_11">
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeType">
- <enum>QSizePolicy::Fixed</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>40</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <widget class="QLabel" name="label_5">
- <property name="sizePolicy">
- <sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>30</height>
- </size>
- </property>
- <property name="font">
- <font>
- <pointsize>12</pointsize>
- <weight>75</weight>
- <bold>true</bold>
- </font>
- </property>
- <property name="styleSheet">
- <string notr="true">color: rgb(77, 77, 77);</string>
- </property>
- <property name="text">
- <string>SDP Session Negotiation (ICE Fallback)</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="Line" name="line_10">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLabel" name="label_6">
- <property name="sizePolicy">
- <sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="font">
- <font>
- <pointsize>11</pointsize>
- </font>
- </property>
- <property name="styleSheet">
- <string notr="true">color: rgb(77, 77, 77);</string>
- </property>
- <property name="text">
- <string>These settings are only used during SDP session negotiation in case ICE is not supported by the server or peer.</string>
- </property>
- <property name="wordWrap">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item>
- <spacer name="verticalSpacer_12">
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeType">
- <enum>QSizePolicy::Fixed</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>40</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <widget class="QLabel" name="label_8">
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>30</height>
- </size>
- </property>
- <property name="font">
- <font>
- <pointsize>12</pointsize>
- <weight>75</weight>
- <bold>true</bold>
- </font>
- </property>
- <property name="styleSheet">
- <string notr="true">color: rgb(77, 77, 77);</string>
- </property>
- <property name="text">
- <string>Audio RTP Port Range</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="Line" name="line_11">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- </widget>
- </item>
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout_5">
- <property name="leftMargin">
- <number>30</number>
- </property>
- <property name="topMargin">
- <number>0</number>
- </property>
- <item>
- <widget class="QLabel" name="label_13">
- <property name="font">
- <font>
- <pointsize>11</pointsize>
- </font>
- </property>
- <property name="styleSheet">
- <string notr="true">color: rgb(77, 77, 77);</string>
- </property>
- <property name="text">
- <string>Min</string>
- </property>
- <property name="buddy">
- <cstring>lrcfg_audioPortMin</cstring>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QSpinBox" name="lrcfg_audioPortMin">
- <property name="minimumSize">
- <size>
- <width>100</width>
- <height>0</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Lower boundary for audio RTP port range selector</string>
- </property>
- <property name="maximum">
- <number>65535</number>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLabel" name="label_14">
- <property name="font">
- <font>
- <pointsize>11</pointsize>
- </font>
- </property>
- <property name="styleSheet">
- <string notr="true">color: rgb(77, 77, 77);</string>
- </property>
- <property name="text">
- <string>Max</string>
- </property>
- <property name="buddy">
- <cstring>lrcfg_audioPortMax</cstring>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QSpinBox" name="lrcfg_audioPortMax">
- <property name="minimumSize">
- <size>
- <width>100</width>
- <height>0</height>
- </size>
- </property>
- <property name="toolTip">
- <string>higher boundary for audio RTP port range selector</string>
- </property>
- <property name="maximum">
- <number>65535</number>
- </property>
- </widget>
- </item>
- <item>
- <spacer name="horizontalSpacer_2">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>QSizePolicy::MinimumExpanding</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </item>
- <item>
- <spacer name="verticalSpacer_13">
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeType">
- <enum>QSizePolicy::Fixed</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>40</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <widget class="QLabel" name="label_7">
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>30</height>
- </size>
- </property>
- <property name="font">
- <font>
- <pointsize>12</pointsize>
- <weight>75</weight>
- <bold>true</bold>
- </font>
- </property>
- <property name="styleSheet">
- <string notr="true">color: rgb(77, 77, 77);</string>
- </property>
- <property name="text">
- <string>Video RTP Port Range</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="Line" name="line_12">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- </widget>
- </item>
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout_6">
- <property name="leftMargin">
- <number>30</number>
- </property>
- <property name="topMargin">
- <number>0</number>
- </property>
- <item>
- <widget class="QLabel" name="label_15">
- <property name="font">
- <font>
- <pointsize>11</pointsize>
- </font>
- </property>
- <property name="styleSheet">
- <string notr="true">color: rgb(77, 77, 77);</string>
- </property>
- <property name="text">
- <string>Min</string>
- </property>
- <property name="buddy">
- <cstring>lrcfg_videoPortMin</cstring>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QSpinBox" name="lrcfg_videoPortMin">
- <property name="minimumSize">
- <size>
- <width>100</width>
- <height>0</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Lower boundary for audio RTP port range selector</string>
- </property>
- <property name="maximum">
- <number>65535</number>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLabel" name="label_16">
- <property name="font">
- <font>
- <pointsize>11</pointsize>
- </font>
- </property>
- <property name="styleSheet">
- <string notr="true">color: rgb(77, 77, 77);</string>
- </property>
- <property name="text">
- <string>Max</string>
- </property>
- <property name="buddy">
- <cstring>lrcfg_videoPortMax</cstring>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QSpinBox" name="lrcfg_videoPortMax">
- <property name="minimumSize">
- <size>
- <width>100</width>
- <height>0</height>
- </size>
- </property>
- <property name="toolTip">
- <string>higher boundary for audio RTP port range selector</string>
- </property>
- <property name="maximum">
- <number>65535</number>
- </property>
- </widget>
- </item>
- <item>
- <spacer name="horizontalSpacer_3">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>QSizePolicy::MinimumExpanding</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </item>
- <item>
- <spacer name="verticalSpacer_14">
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>40</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </widget>
- </widget>
- </item>
- </layout>
- </widget>
- <widget class="QWidget" name="securityTab">
- <property name="sizePolicy">
- <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <attribute name="title">
- <string>Security</string>
- </attribute>
- <attribute name="toolTip">
- <string>Account security configuration</string>
- </attribute>
- <layout class="QVBoxLayout" name="verticalLayout_9">
- <property name="spacing">
- <number>0</number>
- </property>
- <property name="leftMargin">
- <number>0</number>
- </property>
- <property name="topMargin">
- <number>0</number>
- </property>
- <property name="rightMargin">
- <number>0</number>
- </property>
- <property name="bottomMargin">
- <number>0</number>
- </property>
- <item>
- <widget class="QScrollArea" name="scrollArea_3">
- <property name="frameShape">
- <enum>QFrame::NoFrame</enum>
- </property>
- <property name="widgetResizable">
- <bool>true</bool>
- </property>
- <widget class="QWidget" name="scrollAreaWidgetContents_3">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>829</width>
- <height>760</height>
- </rect>
- </property>
- <layout class="QVBoxLayout" name="verticalLayout_13">
- <item>
- <widget class="QWidget" name="accountEncry" native="true">
- <layout class="QVBoxLayout" name="verticalLayout_10">
- <property name="leftMargin">
- <number>0</number>
- </property>
- <property name="topMargin">
- <number>20</number>
- </property>
- <property name="rightMargin">
- <number>0</number>
- </property>
- <property name="bottomMargin">
- <number>0</number>
- </property>
- <item>
- <widget class="QWidget" name="negoEncry_2" native="true">
- <layout class="QFormLayout" name="formLayout_5">
- <item row="0" column="0">
- <widget class="QLabel" name="label_20">
- <property name="font">
- <font>
- <pointsize>11</pointsize>
- </font>
- </property>
- <property name="styleSheet">
- <string notr="true">color: rgb(77, 77, 77);</string>
- </property>
- <property name="text">
- <string>CA certificate</string>
- </property>
- </widget>
- </item>
- <item row="0" column="1">
- <widget class="RingButton" name="lrcfg_tlsCaListCertificate">
- <property name="minimumSize">
- <size>
- <width>500</width>
- <height>30</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>500</width>
- <height>30</height>
- </size>
- </property>
- <property name="focusPolicy">
- <enum>Qt::WheelFocus</enum>
- </property>
- <property name="toolTip">
- <string>Certificate authaurity certificate selector</string>
- </property>
- <property name="text">
- <string/>
- </property>
- </widget>
- </item>
- <item row="1" column="0">
- <widget class="QLabel" name="label_21">
- <property name="font">
- <font>
- <pointsize>11</pointsize>
- </font>
- </property>
- <property name="styleSheet">
- <string notr="true">color: rgb(77, 77, 77);</string>
- </property>
- <property name="text">
- <string>User certificate</string>
- </property>
- </widget>
- </item>
- <item row="1" column="1">
- <widget class="RingButton" name="lrcfg_tlsCertificate">
- <property name="minimumSize">
- <size>
- <width>500</width>
- <height>30</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>500</width>
- <height>30</height>
- </size>
- </property>
- <property name="toolTip">
- <string>User certificate selector</string>
- </property>
- <property name="text">
- <string/>
- </property>
- </widget>
- </item>
- <item row="2" column="0">
- <widget class="QLabel" name="label_22">
- <property name="font">
- <font>
- <pointsize>11</pointsize>
- </font>
- </property>
- <property name="styleSheet">
- <string notr="true">color: rgb(77, 77, 77);</string>
- </property>
- <property name="text">
- <string>Private key</string>
- </property>
- </widget>
- </item>
- <item row="4" column="0">
- <widget class="QLabel" name="label_23">
- <property name="font">
- <font>
- <pointsize>11</pointsize>
- </font>
- </property>
- <property name="styleSheet">
- <string notr="true">color: rgb(77, 77, 77);</string>
- </property>
- <property name="text">
- <string>Private key password</string>
- </property>
- </widget>
- </item>
- <item row="4" column="1">
- <widget class="QLineEdit" name="lrcfg_tlsPassword">
- <property name="sizePolicy">
- <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>500</width>
- <height>30</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>500</width>
- <height>30</height>
- </size>
- </property>
- <property name="toolTip">
- <string>private key password input</string>
- </property>
- <property name="echoMode">
- <enum>QLineEdit::Password</enum>
- </property>
- </widget>
- </item>
- <item row="2" column="1">
- <widget class="RingButton" name="lrcfg_tlsPrivateKeyCertificate">
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>30</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>500</width>
- <height>30</height>
- </size>
- </property>
- <property name="toolTip">
- <string>User private key selector</string>
- </property>
- <property name="text">
- <string/>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- </item>
- <item>
- <widget class="QCheckBox" name="srtpEnabledChkBox">
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>30</height>
- </size>
- </property>
- <property name="font">
- <font>
- <pointsize>11</pointsize>
- </font>
- </property>
- <property name="toolTip">
- <string>Encrypt media stream (SRTP) checkbox</string>
- </property>
- <property name="text">
- <string>Media Stream Encryption (SRTP)</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QCheckBox" name="defaultCipherCheckBox">
- <property name="font">
- <font>
- <pointsize>11</pointsize>
- </font>
- </property>
- <property name="toolTip">
- <string>use default ciphers checkbox</string>
- </property>
- <property name="text">
- <string>Use default ciphers</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QListView" name="cipherListView">
- <property name="sizePolicy">
- <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>640</width>
- <height>480</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>640</width>
- <height>480</height>
- </size>
- </property>
- <property name="focusPolicy">
- <enum>Qt::NoFocus</enum>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- </item>
- <item>
- <spacer name="verticalSpacer_5">
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>40</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </widget>
- </widget>
- </item>
- </layout>
- </widget>
- <widget class="QWidget" name="devicesTab">
- <attribute name="title">
- <string>Devices</string>
- </attribute>
- <attribute name="toolTip">
- <string>Account devices management</string>
- </attribute>
- <layout class="QVBoxLayout" name="verticalLayout_15">
- <item>
- <widget class="QStackedWidget" name="devicesStackedWidget">
- <property name="currentIndex">
- <number>0</number>
- </property>
- <widget class="QWidget" name="devicesListPage">
- <layout class="QVBoxLayout" name="verticalLayout_16">
- <item>
- <widget class="QTableView" name="tableView">
- <property name="sizeAdjustPolicy">
- <enum>QAbstractScrollArea::AdjustToContents</enum>
- </property>
- <property name="wordWrap">
- <bool>true</bool>
- </property>
- <attribute name="horizontalHeaderCascadingSectionResizes">
- <bool>false</bool>
- </attribute>
- <attribute name="horizontalHeaderDefaultSectionSize">
- <number>255</number>
- </attribute>
- <attribute name="horizontalHeaderHighlightSections">
- <bool>false</bool>
- </attribute>
- <attribute name="horizontalHeaderStretchLastSection">
- <bool>false</bool>
- </attribute>
- <attribute name="verticalHeaderVisible">
- <bool>false</bool>
- </attribute>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="addDeviceButton">
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>30</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Add device button</string>
- </property>
- <property name="text">
- <string>Add device</string>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- <widget class="QWidget" name="passwordAskingPage">
- <layout class="QVBoxLayout" name="verticalLayout_17">
- <item>
- <spacer name="verticalSpacer">
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>40</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <widget class="QLabel" name="label_18">
- <property name="lineWidth">
- <number>1</number>
- </property>
- <property name="text">
- <string>To add a new device to your Ring account, you export your account on the Ring. This will generate a pin that must be entered on your new device within 5 minutes of its generation.</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignCenter</set>
- </property>
- <property name="wordWrap">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLineEdit" name="passwordArchiveEdit">
- <property name="toolTip">
- <string>Password text input</string>
- </property>
- <property name="echoMode">
- <enum>QLineEdit::Password</enum>
- </property>
- <property name="placeholderText">
- <string>Password (required)</string>
- </property>
- </widget>
- </item>
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout_4">
- <item>
- <spacer name="horizontalSpacer_8">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <widget class="QPushButton" name="cancelAddButton">
- <property name="minimumSize">
- <size>
- <width>80</width>
- <height>30</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Cancel account export for linking button</string>
- </property>
- <property name="text">
- <string>Cancel</string>
- </property>
- </widget>
- </item>
- <item>
- <spacer name="horizontalSpacer_7">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <widget class="QPushButton" name="exportOnRingButton">
- <property name="minimumSize">
- <size>
- <width>150</width>
- <height>30</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Validate export on DHT for device linking button</string>
- </property>
- <property name="text">
- <string>Export on the Ring</string>
- </property>
- </widget>
- </item>
- <item>
- <spacer name="horizontalSpacer_9">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </item>
- <item>
- <spacer name="verticalSpacer_9">
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>40</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </widget>
- <widget class="QWidget" name="pinDisplayPage">
- <layout class="QVBoxLayout" name="verticalLayout_18">
- <item>
- <spacer name="verticalSpacer_15">
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>40</height>
- </size>
- </property>
- </spacer>
- </item>
- <item alignment="Qt::AlignHCenter">
- <widget class="QLabel" name="label_24">
- <property name="text">
- <string>Your generated pin:</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLabel" name="pinLabel">
- <property name="font">
- <font>
- <pointsize>30</pointsize>
- <stylestrategy>PreferAntialias</stylestrategy>
- </font>
- </property>
- <property name="toolTip">
- <string>Generated PIN for linking</string>
- </property>
- <property name="text">
- <string>PIN</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignCenter</set>
- </property>
- </widget>
- </item>
- <item alignment="Qt::AlignHCenter">
- <widget class="QLabel" name="label_25">
- <property name="text">
- <string>This pin should be entered on your new device within 5 minutes. You may generate a new one at any moment.</string>
- </property>
- </widget>
- </item>
- <item alignment="Qt::AlignHCenter">
- <widget class="QPushButton" name="exportEndedOkButton">
- <property name="minimumSize">
- <size>
- <width>40</width>
- <height>30</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>200</width>
- <height>16777215</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Accept PIN generation and quit button</string>
- </property>
- <property name="text">
- <string>OK</string>
- </property>
- </widget>
- </item>
- <item>
- <spacer name="verticalSpacer_16">
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>40</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </widget>
- </widget>
- </item>
- </layout>
- </widget>
- <widget class="QWidget" name="bannedContactsTab">
- <attribute name="title">
- <string>Banned Contacts</string>
- </attribute>
- <attribute name="toolTip">
- <string>Account banned contacts management tab</string>
- </attribute>
- <widget class="BannedContactsWidget" name="bannedContactsWidget" native="true">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>-1</y>
- <width>841</width>
- <height>691</height>
- </rect>
- </property>
- </widget>
- </widget>
- </widget>
- </item>
- </layout>
- </widget>
- <customwidgets>
- <customwidget>
- <class>RingButton</class>
- <extends>QPushButton</extends>
- <header>ringbutton.h</header>
- </customwidget>
- <customwidget>
- <class>BannedContactsWidget</class>
- <extends>QWidget</extends>
- <header location="global">bannedcontactswidget.h</header>
- <container>1</container>
- </customwidget>
- </customwidgets>
- <resources>
- <include location="ressources.qrc"/>
- </resources>
- <connections>
- <connection>
- <sender>lrcfg_sipStunEnabled</sender>
- <signal>toggled(bool)</signal>
- <receiver>lrcfg_sipStunServer</receiver>
- <slot>setEnabled(bool)</slot>
- <hints>
- <hint type="sourcelabel">
- <x>33</x>
- <y>355</y>
- </hint>
- <hint type="destinationlabel">
- <x>252</x>
- <y>355</y>
- </hint>
- </hints>
- </connection>
- <connection>
- <sender>customPublishedRadio</sender>
- <signal>toggled(bool)</signal>
- <receiver>lrcfg_publishedPort</receiver>
- <slot>setEnabled(bool)</slot>
- <hints>
- <hint type="sourcelabel">
- <x>386</x>
- <y>277</y>
- </hint>
- <hint type="destinationlabel">
- <x>390</x>
- <y>305</y>
- </hint>
- </hints>
- </connection>
- <connection>
- <sender>lrcfg_turnEnabled</sender>
- <signal>toggled(bool)</signal>
- <receiver>lrcfg_turnServer</receiver>
- <slot>setEnabled(bool)</slot>
- <hints>
- <hint type="sourcelabel">
- <x>71</x>
- <y>396</y>
- </hint>
- <hint type="destinationlabel">
- <x>196</x>
- <y>393</y>
- </hint>
- </hints>
- </connection>
- <connection>
- <sender>customPublishedRadio</sender>
- <signal>toggled(bool)</signal>
- <receiver>lrcfg_publishedAddress</receiver>
- <slot>setEnabled(bool)</slot>
- <hints>
- <hint type="sourcelabel">
- <x>120</x>
- <y>277</y>
- </hint>
- <hint type="destinationlabel">
- <x>131</x>
- <y>311</y>
- </hint>
- </hints>
- </connection>
- <connection>
- <sender>lrcfg_turnEnabled</sender>
- <signal>toggled(bool)</signal>
- <receiver>lrcfg_turnServerUsername</receiver>
- <slot>setEnabled(bool)</slot>
- <hints>
- <hint type="sourcelabel">
- <x>90</x>
- <y>380</y>
- </hint>
- <hint type="destinationlabel">
- <x>187</x>
- <y>432</y>
- </hint>
- </hints>
- </connection>
- <connection>
- <sender>lrcfg_turnEnabled</sender>
- <signal>toggled(bool)</signal>
- <receiver>lrcfg_turnServerPassword</receiver>
- <slot>setEnabled(bool)</slot>
- <hints>
- <hint type="sourcelabel">
- <x>51</x>
- <y>375</y>
- </hint>
- <hint type="destinationlabel">
- <x>164</x>
- <y>468</y>
- </hint>
- </hints>
- </connection>
- <connection>
- <sender>lrcfg_turnEnabled</sender>
- <signal>toggled(bool)</signal>
- <receiver>lrcfg_turnServerRealm</receiver>
- <slot>setEnabled(bool)</slot>
- <hints>
- <hint type="sourcelabel">
- <x>39</x>
- <y>378</y>
- </hint>
- <hint type="destinationlabel">
- <x>170</x>
- <y>503</y>
- </hint>
- </hints>
- </connection>
- <connection>
- <sender>lrcfg_allowIncomingFromUnknown</sender>
- <signal>clicked(bool)</signal>
- <receiver>lrcfg_allowIncomingFromHistory</receiver>
- <slot>setDisabled(bool)</slot>
- <hints>
- <hint type="sourcelabel">
- <x>169</x>
- <y>584</y>
- </hint>
- <hint type="destinationlabel">
- <x>171</x>
- <y>616</y>
- </hint>
- </hints>
- </connection>
- <connection>
- <sender>lrcfg_allowIncomingFromUnknown</sender>
- <signal>clicked(bool)</signal>
- <receiver>lrcfg_allowIncomingFromContact</receiver>
- <slot>setDisabled(bool)</slot>
- <hints>
- <hint type="sourcelabel">
- <x>115</x>
- <y>584</y>
- </hint>
- <hint type="destinationlabel">
- <x>117</x>
- <y>648</y>
- </hint>
- </hints>
- </connection>
- </connections>
- <buttongroups>
- <buttongroup name="publishGroup"/>
- </buttongroups>
-</ui>
diff --git a/accountstatedelegate.cpp b/accountstatedelegate.cpp
deleted file mode 100644
index b64db0a..0000000
--- a/accountstatedelegate.cpp
+++ /dev/null
@@ -1,72 +0,0 @@
-/***************************************************************************
- * Copyright (C) 2015-2017 by Savoir-faire Linux *
- * Author: Edric Ladent Milaret <edric.ladent-milaret@savoirfairelinux.com>*
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 3 of the License, or *
- * (at your option) any later version. *
- * *
- * This program is distributed in the hope that it will be useful, *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
- * GNU General Public License for more details. *
- * *
- * You should have received a copy of the GNU General Public License *
- * along with this program. If not, see <http://www.gnu.org/licenses/>. *
- **************************************************************************/
-
-#include "accountstatedelegate.h"
-
-#include "accountmodel.h"
-#include "account.h"
-
-AccountStateDelegate::AccountStateDelegate(QObject* parent) :
- QStyledItemDelegate(parent)
-{}
-
-void
-AccountStateDelegate::paint(QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index) const
-{
- painter->setRenderHint(QPainter::Antialiasing);
- QStyleOptionViewItemV4 opt = option;
- initStyleOption(&opt, index);
- if (index.column() == 0) {
- // name & checkbox
- auto name = index.model()->data(index, Qt::DisplayRole).toString();
- opt.text = QString();
- QStyle* style = opt.widget ? opt.widget->style() : QApplication::style();
- style->drawControl(QStyle::CE_ItemViewItem, &opt, painter, opt.widget);
- auto rect = opt.rect;
- auto font = painter->font();
- font.setPointSize(12);
- painter->setFont(font);
- painter->setOpacity(1.0);
- opt.displayAlignment = Qt::AlignTop;
-
- painter->setPen(Qt::black);
- painter->drawText(QRect(rect.left() + 25, rect.top(),
- rect.width(), rect.height()),
- opt.displayAlignment, name);
-
- // status
- auto account = AccountModel::instance().getAccountByModelIndex(index);
- QString stateColor(account->stateColorName());
- QString accountStatus = account->toHumanStateName();
-
- painter->setPen(stateColor);
-
- opt.displayAlignment = Qt::AlignBottom|Qt::AlignLeft;
-
- painter->drawText(QRect(rect.left() + 25, rect.top(),
- rect.width(), rect.height()),
- opt.displayAlignment, accountStatus);
- }
-}
-
-QSize
-AccountStateDelegate::sizeHint(const QStyleOptionViewItem& option, const QModelIndex& index) const
-{
- QSize result = QStyledItemDelegate::sizeHint(option, index);
- return result;
-}
diff --git a/accountstatedelegate.h b/accountstatedelegate.h
deleted file mode 100644
index 9f135ad..0000000
--- a/accountstatedelegate.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/***************************************************************************
- * Copyright (C) 2015-2017 by Savoir-faire Linux *
- * Author: Edric Ladent Milaret <edric.ladent-milaret@savoirfairelinux.com>*
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 3 of the License, or *
- * (at your option) any later version. *
- * *
- * This program is distributed in the hope that it will be useful, *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
- * GNU General Public License for more details. *
- * *
- * You should have received a copy of the GNU General Public License *
- * along with this program. If not, see <http://www.gnu.org/licenses/>. *
- **************************************************************************/
-
-#pragma once
-
-#include <QObject>
-#include <QString>
-#include <QPainter>
-#include <QApplication>
-#include <QStyledItemDelegate>
-
-class AccountStateDelegate : public QStyledItemDelegate
-{
- Q_OBJECT
-public:
- explicit AccountStateDelegate(QObject *parent = 0);
-
-protected:
- void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const;
- QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const;
-};
-
diff --git a/callutilsdialog.cpp b/callutilsdialog.cpp
deleted file mode 100644
index 5e41620..0000000
--- a/callutilsdialog.cpp
+++ /dev/null
@@ -1,179 +0,0 @@
-/***************************************************************************
- * Copyright (C) 2015-2017 by Savoir-faire Linux *
- * Author: Edric Ladent Milaret <edric.ladent-milaret@savoirfairelinux.com>*
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 3 of the License, or *
- * (at your option) any later version. *
- * *
- * This program is distributed in the hope that it will be useful, *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
- * GNU General Public License for more details. *
- * *
- * You should have received a copy of the GNU General Public License *
- * along with this program. If not, see <http://www.gnu.org/licenses/>. *
- **************************************************************************/
-
-#include "callutilsdialog.h"
-#include "ui_callutilsdialog.h"
-
-#include <QBitmap>
-#include <QPropertyAnimation>
-#include <QGraphicsOpacityEffect>
-#include <QScrollBar>
-
-#include "callmodel.h"
-#include "phonedirectorymodel.h"
-#include "recentmodel.h"
-#include "contactmethod.h"
-#include "person.h"
-
-CallUtilsDialog::CallUtilsDialog(QWidget* parent) :
- QDialog(parent),
- ui(new Ui::CallUtilsDialog),
- confMode_(false),
- conversationItemDelegate_(nullptr),
- notCurrentProxyModel_(nullptr),
- spikeMask_(new QPixmap(":/images/spikeMask.png"))
-{
- ui->setupUi(this);
-
- this->setWindowFlags(Qt::CustomizeWindowHint);
- this->setWindowFlags(Qt::FramelessWindowHint | Qt::Popup | Qt::NoDropShadowWindowHint);
-
- ui->spike->setMask(spikeMask_->mask());
-
- effect_ = new QGraphicsOpacityEffect(this);
- effect_->setOpacity(1.0);
- setGraphicsEffect(effect_);
- fadeAnim_ = new QPropertyAnimation(effect_, "opacity");
- fadeAnim_->setDuration(fadeOverlayTime_);
- fadeAnim_->setStartValue(0.0);
- fadeAnim_->setEndValue(1.0);
- fadeAnim_->setEasingCurve(QEasingCurve::InExpo);
-
- ui->contactView->verticalScrollBar()->hide();
-}
-
-CallUtilsDialog::~CallUtilsDialog()
-{
- delete effect_;
- delete spikeMask_;
- delete fadeAnim_;
- delete conversationItemDelegate_;
- delete notCurrentProxyModel_;
- delete ui;
-}
-
-void
-CallUtilsDialog::showEvent(QShowEvent* event)
-{
- Q_UNUSED(event)
-
- ui->numberBar->clear();
- if (not notCurrentProxyModel_) {
- notCurrentProxyModel_ = new NotCurrentProxyModel(&RecentModel::instance());
- }
- ui->contactView->setModel(notCurrentProxyModel_);
- if (not conversationItemDelegate_) {
- conversationItemDelegate_ = new ConversationItemDelegate();
- }
- ui->contactView->setItemDelegate(conversationItemDelegate_);
-
- emit(isVisible(true));
-
- fadeAnim_->setDirection(QAbstractAnimation::Forward);
- fadeAnim_->start();
-}
-
-void CallUtilsDialog::removeProxyModel()
-{
- ui->contactView->setModel(nullptr);
-}
-
-void CallUtilsDialog::closeEvent(QCloseEvent* event)
-{
- //This prevent a crash happening in Qt5.5 in QSortFilterProxyModel
- Q_UNUSED(event)
- removeProxyModel();
- emit(isVisible(false));
-}
-
-void
-CallUtilsDialog::on_doTransferButton_clicked()
-{
- auto callList = CallModel::instance().getActiveCalls();
- for (auto c : callList) {
- if (c->state() == Call::State::CURRENT) {
- if (not ui->numberBar->text().isEmpty()) {
- auto number = PhoneDirectoryModel::instance().getNumber(ui->numberBar->text());
- CallModel::instance().transfer(c, number);
- }
- removeProxyModel();
- this->close();
- return;
- }
- }
-}
-
-void
-CallUtilsDialog::setConfMode(bool active)
-{
- confMode_ = active;
- ui->doTransferButton->setVisible(not active);
- ui->numberBar->setVisible(not active);
-}
-
-void
-CallUtilsDialog::on_contactView_doubleClicked(const QModelIndex& index)
-{
- removeProxyModel();
- if (not index.isValid())
- return;
- auto realIdx = notCurrentProxyModel_->mapToSource(index);
- if (not RecentModel::instance().hasActiveCall(realIdx)) {
- ContactMethod* m = nullptr;
- if (auto cm = realIdx.data(static_cast<int>(Call::Role::ContactMethod)).value<ContactMethod*>()) {
- m = cm;
- } else {
- if (auto person = realIdx.data(static_cast<int>(Person::Role::Object)).value<Person*>()) {
- m = person->phoneNumbers().first();
- }
- }
- if (confMode_) {
- if (m && !RecentModel::instance().index(0, 0, realIdx).isValid()) {
- Call* c = CallModel::instance().dialingCall(m, CallModel::instance().selectedCall());
- c->performAction(Call::Action::ACCEPT);
- }
- } else {
- if (m) {
- auto activeCall = CallModel::instance().selectedCall();
- CallModel::instance().transfer(activeCall, m);
- }
- }
- } else {
- auto activeCall = CallModel::instance().selectedCall();
- auto call = RecentModel::instance().getActiveCall(realIdx);
- if (not confMode_)
- CallModel::instance().attendedTransfer(activeCall, call);
- else
- CallModel::instance().createJoinOrMergeConferenceFromCall(activeCall, call);
- }
- this->close();
-}
-
-void
-CallUtilsDialog::enterEvent(QEvent* event)
-{
- Q_UNUSED(event);
- ui->contactView->verticalScrollBar()->show();
-}
-
-void
-CallUtilsDialog::leaveEvent(QEvent* event)
-{
- Q_UNUSED(event);
- ui->contactView->verticalScrollBar()->hide();
-}
diff --git a/callutilsdialog.h b/callutilsdialog.h
deleted file mode 100644
index e4b9130..0000000
--- a/callutilsdialog.h
+++ /dev/null
@@ -1,95 +0,0 @@
-/***************************************************************************
- * Copyright (C) 2015-2017 by Savoir-faire Linux *
- * Author: Edric Ladent Milaret <edric.ladent-milaret@savoirfairelinux.com>*
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 3 of the License, or *
- * (at your option) any later version. *
- * *
- * This program is distributed in the hope that it will be useful, *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
- * GNU General Public License for more details. *
- * *
- * You should have received a copy of the GNU General Public License *
- * along with this program. If not, see <http://www.gnu.org/licenses/>. *
- **************************************************************************/
-
-#pragma once
-
-#include <QDialog>
-#include <QSortFilterProxyModel>
-
-#include "callmodel.h"
-#include "recentmodel.h"
-
-#include "conversationitemdelegate.h"
-
-#include <ciso646>
-
-class QPropertyAnimation;
-class QGraphicsOpacityEffect;
-
-namespace Ui {
- class CallUtilsDialog;
-}
-
-class NotCurrentProxyModel : public QSortFilterProxyModel
-{
-public:
- explicit NotCurrentProxyModel(QAbstractItemModel* parent) : QSortFilterProxyModel(parent)
- {
- setSourceModel(parent);
- }
- virtual bool filterAcceptsRow(int source_row, const QModelIndex& source_parent) const
- {
- if (not sourceModel() || source_parent.isValid())
- return false;
- auto idx = sourceModel()->index(source_row,0,source_parent);
- if (not idx.isValid())
- return false;
- auto call = RecentModel::instance().getActiveCall(idx);
- return not call || not (call->state() == Call::State::CURRENT);
- }
-};
-
-class CallUtilsDialog : public QDialog
-{
- Q_OBJECT
-
-public:
- explicit CallUtilsDialog(QWidget* parent = 0);
- ~CallUtilsDialog();
-
- void setConfMode(bool active);
-
-protected:
- void enterEvent(QEvent* event);
- void leaveEvent(QEvent* event);
-
-//UI SLOTS
-protected slots:
- void showEvent(QShowEvent* event);
- void closeEvent(QCloseEvent* event);
-private slots:
- void on_doTransferButton_clicked();
- void on_contactView_doubleClicked(const QModelIndex& index);
-
-private:
- Ui::CallUtilsDialog* ui;
- bool confMode_;
- ConversationItemDelegate* conversationItemDelegate_;
- NotCurrentProxyModel* notCurrentProxyModel_;
- QPixmap* spikeMask_;
- QPropertyAnimation* fadeAnim_;
- constexpr static int fadeOverlayTime_ = 250; //msec
- QGraphicsOpacityEffect* effect_;
-
- void removeProxyModel();
-
-signals:
- void isVisible(bool visible);
-
-};
-
diff --git a/callutilsdialog.ui b/callutilsdialog.ui
deleted file mode 100644
index 4d8dad3..0000000
--- a/callutilsdialog.ui
+++ /dev/null
@@ -1,185 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>CallUtilsDialog</class>
- <widget class="QDialog" name="CallUtilsDialog">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>400</width>
- <height>480</height>
- </rect>
- </property>
- <property name="windowTitle">
- <string/>
- </property>
- <layout class="QVBoxLayout" name="verticalLayout">
- <property name="spacing">
- <number>0</number>
- </property>
- <property name="leftMargin">
- <number>4</number>
- </property>
- <property name="topMargin">
- <number>4</number>
- </property>
- <property name="rightMargin">
- <number>4</number>
- </property>
- <property name="bottomMargin">
- <number>4</number>
- </property>
- <item>
- <widget class="QWidget" name="roundedFrame" native="true">
- <layout class="QVBoxLayout" name="tata">
- <property name="spacing">
- <number>10</number>
- </property>
- <property name="leftMargin">
- <number>10</number>
- </property>
- <property name="topMargin">
- <number>10</number>
- </property>
- <property name="rightMargin">
- <number>10</number>
- </property>
- <property name="bottomMargin">
- <number>10</number>
- </property>
- <item>
- <widget class="QListView" name="contactView">
- <property name="toolTip">
- <string>existing contacts list</string>
- </property>
- <property name="frameShape">
- <enum>QFrame::NoFrame</enum>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLineEdit" name="numberBar">
- <property name="font">
- <font>
- <pointsize>11</pointsize>
- </font>
- </property>
- <property name="toolTip">
- <string>contact transfer number text entry</string>
- </property>
- <property name="placeholderText">
- <string>or type number...</string>
- </property>
- <property name="clearButtonEnabled">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout_2">
- <property name="topMargin">
- <number>0</number>
- </property>
- <item>
- <spacer name="horizontalSpacer_4">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <widget class="QPushButton" name="doTransferButton">
- <property name="minimumSize">
- <size>
- <width>200</width>
- <height>30</height>
- </size>
- </property>
- <property name="font">
- <font>
- <pointsize>11</pointsize>
- </font>
- </property>
- <property name="toolTip">
- <string>Transfer call button</string>
- </property>
- <property name="text">
- <string>Transfer</string>
- </property>
- </widget>
- </item>
- <item>
- <spacer name="horizontalSpacer_3">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </item>
- </layout>
- </widget>
- </item>
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout">
- <item>
- <spacer name="horizontalSpacer">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <widget class="QWidget" name="spike" native="true">
- <property name="minimumSize">
- <size>
- <width>60</width>
- <height>30</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>60</width>
- <height>30</height>
- </size>
- </property>
- </widget>
- </item>
- <item>
- <spacer name="horizontalSpacer_2">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </item>
- </layout>
- </widget>
- <resources/>
- <connections/>
-</ui>
diff --git a/callwidget.cpp b/callwidget.cpp
index 98b64f0..dc3733d 100644
--- a/callwidget.cpp
+++ b/callwidget.cpp
@@ -46,7 +46,6 @@
// client
#include "wizarddialog.h"
#include "windowscontactbackend.h"
-#include "contactpicker.h"
#include "globalsystemtray.h"
#include "conversationitemdelegate.h"
#include "pixbufmanipulator.h"
@@ -505,7 +504,7 @@
CallWidget::settingsButtonClicked()
{
emit setLeftSizeWidget(ui->currentAccountComboBox->width());
- emit NavigationRequested(ScreenEnum::ConfScreen);
+ emit NavigationRequested(ScreenEnum::SetttingsScreen);
}
void
diff --git a/configurationwidget.cpp b/configurationwidget.cpp
deleted file mode 100644
index ee3fb95..0000000
--- a/configurationwidget.cpp
+++ /dev/null
@@ -1,457 +0,0 @@
-/***************************************************************************
- * Copyright (C) 2015-2017 by Savoir-faire Linux *
- * Author: Edric Ladent Milaret <edric.ladent-milaret@savoirfairelinux.com>*
- * Author: Anthony Léonard <anthony.leonard@savoirfairelinux.com> *
- * Author: Olivier Soldano <olivier.soldano@savoirfairelinux.com> *
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 3 of the License, or *
- * (at your option) any later version. *
- * *
- * This program is distributed in the hope that it will be useful, *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
- * GNU General Public License for more details. *
- * *
- * You should have received a copy of the GNU General Public License *
- * along with this program. If not, see <http://www.gnu.org/licenses/>. *
- **************************************************************************/
-
-#include "configurationwidget.h"
-#include "ui_configurationwidget.h"
-
-#include <QMessageBox>
-#include <QDir>
-#include <QStandardPaths>
-#include <QFileDialog>
-#include <QPropertyAnimation>
-#include <QtConcurrent/QtConcurrent>
-
-#include "video/devicemodel.h"
-#include "video/channel.h"
-#include "video/resolution.h"
-#include "video/rate.h"
-#include "video/previewmanager.h"
-
-#include "audio/settings.h"
-#include "audio/outputdevicemodel.h"
-#include "audio/inputdevicemodel.h"
-
-#include "media/recordingmodel.h"
-
-#include "accountserializationadapter.h"
-#include "accountstatedelegate.h"
-#include "settingskey.h"
-#include "utils.h"
-#include "photoboothdialog.h"
-#include "wizarddialog.h"
-
-#include "accountmodel.h"
-#include "protocolmodel.h"
-#include "accountdetails.h"
-#include "callmodel.h"
-#include "ringtonemodel.h"
-#include "categorizedhistorymodel.h"
-#include "profilemodel.h"
-#include "profile.h"
-#include "person.h"
-
-#include "winsparkle.h"
-
-#include "deleteaccountdialog.h"
-
-ConfigurationWidget::ConfigurationWidget(QWidget *parent) :
- NavWidget(parent),
- ui(new Ui::ConfigurationWidget),
- accountModel_(&AccountModel::instance()),
- deviceModel_(&Video::DeviceModel::instance()),
- accountDetails_(new AccountDetails())
-{
- ui->setupUi(this);
-
- connect(ui->exitSettingsButton, &QPushButton::clicked, this, [=]() {
- if (CallModel::instance().getActiveCalls().size() == 0
- && Video::PreviewManager::instance().isPreviewing()) {
- Video::PreviewManager::instance().stopPreview();
- }
- accountModel_->save();
- accountDetails_->save();
- emit NavigationRequested(ScreenEnum::CallScreen);
- });
-
- ui->accountView->setModel(accountModel_);
- accountStateDelegate_ = new AccountStateDelegate();
- ui->accountView->setItemDelegate(accountStateDelegate_);
-
- //// connect delete button to popup trigger
- //connect(ui->deleteAccountBtn, &QPushButton::clicked, [=](){
- // auto idx = ui->accountView->currentIndex();
- // DeleteAccountDialog dialog(idx);
- // dialog.exec();
- // if (!LRCInstance::accountModel().getAccountList().size()) {
- // emit NavigationRequested(ScreenEnum::WizardScreen);
- // }
- //});
-
- isLoading_ = true;
- ui->deviceBox->setModel(deviceModel_);
- connect(deviceModel_, SIGNAL(currentIndexChanged(int)),
- this, SLOT(deviceIndexChanged(int)));
-
- if (ui->deviceBox->count() > 0){
- ui->deviceBox->setCurrentIndex(0);
- }
-
- // accounts
- AccountModel::instance().selectionModel()->clear();
- ui->accountView->setSelectionModel(AccountModel::instance().selectionModel());
- connect(ui->accountView->selectionModel(),
- SIGNAL(selectionChanged(QItemSelection,QItemSelection)),
- this, SLOT(accountSelected(QItemSelection)));
-
- ui->accountView->setCurrentIndex(accountModel_->index(0));
- ui->accountDetailLayout->addWidget(accountDetails_);
- ui->accountTypeBox->setModel(accountModel_->protocolModel());
- ui->accountTypeBox->setCurrentIndex(ui->accountTypeBox->findText("RING"));
- ui->startupBox->setChecked(Utils::CheckStartupLink());
-
- ui->historyDaySettingsSpinBox->setValue(
- CategorizedHistoryModel::instance().historyLimit());
- ui->closeOrMinCheckBox->setChecked(settings_.value(
- SettingsKey::closeOrMinimized).toBool());
- ui->notificationCheckBox->setChecked(settings_.value(
- SettingsKey::enableNotifications).toBool());
- connect(ui->stackedWidget, &QStackedWidget::currentChanged, [](int index) {
- if (index == 1
- && CallModel::instance().getActiveCalls().size() == 0) {
- Video::PreviewManager::instance().startPreview();
- } else {
- if (CallModel::instance().getActiveCalls().size() == 0
- && Video::PreviewManager::instance().isPreviewing()) {
- Video::PreviewManager::instance().stopPreview();
- }
- }
- });
-
- ui->videoView->setIsFullPreview(true);
-
- auto recordPath = media::RecordingModel::instance().recordPath();
- if (recordPath.isEmpty()) {
- recordPath = QDir::toNativeSeparators(QStandardPaths::writableLocation(QStandardPaths::DocumentsLocation));
- media::RecordingModel::instance().setRecordPath(recordPath);
- }
- ui->recordPath->setText(media::RecordingModel::instance().recordPath());
-
- ui->alwaysRecordCheckBox->setChecked(media::RecordingModel::instance().isAlwaysRecording());
- connect(ui->alwaysRecordCheckBox, &QCheckBox::clicked, [](bool checked){
- media::RecordingModel::instance().setAlwaysRecording(checked);
- });
-
- connect(ui->generalTabButton, &QPushButton::toggled, [=] (bool toggled) {
- if (toggled) {
- ui->stackedWidget->setCurrentWidget(ui->generalPage);
- ui->videoTabButton->setChecked(false);
- ui->accountTabButton->setChecked(false);
- }
- });
-
- connect(ui->videoTabButton, &QPushButton::toggled, [=] (bool toggled) {
- if (toggled) {
- ui->stackedWidget->setCurrentWidget(ui->videoPage);
- ui->accountTabButton->setChecked(false);
- ui->generalTabButton->setChecked(false);
- }
- });
-
- connect(ui->accountTabButton, &QPushButton::toggled, [=] (bool toggled) {
- if (toggled) {
- ui->stackedWidget->setCurrentWidget(ui->accountPage);
- ui->videoTabButton->setChecked(false);
- ui->generalTabButton->setChecked(false);
- }
- });
-
- ui->generalTabButton->setChecked(true);
-
- // Audio settings
- auto inputModel = Audio::Settings::instance().inputDeviceModel();
- auto outputModel = Audio::Settings::instance().outputDeviceModel();
-
- ui->outputComboBox->setModel(outputModel);
- ui->inputComboBox->setModel(inputModel);
- if(ui->outputComboBox->count() > 0) {
- ui->outputComboBox->setCurrentIndex(0);
- }
- if (ui->inputComboBox->count() > 0){
- ui->inputComboBox->setCurrentIndex(0);
- }
-
- connect(ui->outputComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(outputIndexChanged(int)));
- connect(ui->inputComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(inputIndexChanged(int)));
-
- // profile
- auto profile = ProfileModel::instance().selectedProfile();
- ui->avatarButton->setIcon(QPixmap::fromImage(Utils::getCirclePhoto(profile->person()->photo().value<QImage>(), ui->avatarButton->width())));
- ui->profileNameEdit->setText(profile->person()->formattedName());
-
- //temporary fix hiding imports buttons
- ui->exportButton->hide();
-
- ui->intervalUpdateCheckSpinBox->setEnabled(true);
-}
-
-void ConfigurationWidget::showPreview()
-{
- if (ui->stackedWidget->currentIndex() == 1
- && CallModel::instance().getActiveCalls().size() == 0) {
- ui->previewUnavailable->hide();
- ui->videoView->show();
- Video::PreviewManager::instance().startPreview();
- } else {
- ui->previewUnavailable->show();
- ui->videoView->hide();
- }
-}
-
-void
-ConfigurationWidget::showEvent(QShowEvent *event)
-{
- if (win_sparkle_get_automatic_check_for_updates()) {
- ui->autoUpdateCheckBox->setChecked(true);
- }
- ui->intervalUpdateCheckSpinBox->setValue(win_sparkle_get_update_check_interval() / 86400);
- QWidget::showEvent(event);
- showPreview();
-}
-
-ConfigurationWidget::~ConfigurationWidget()
-{
- delete ui;
- delete accountStateDelegate_;
-}
-
-void
-ConfigurationWidget::deviceIndexChanged(int index)
-{
- ui->deviceBox->setCurrentIndex(index);
-}
-
-void
-ConfigurationWidget::on_deviceBox_currentIndexChanged(int index)
-{
- if (index < 0)
- return;
-
- if (!isLoading_)
- deviceModel_->setActive(index);
-
- auto device = deviceModel_->activeDevice();
-
- ui->sizeBox->clear();
-
- isLoading_ = true;
- if (device->channelList().size() > 0) {
- for (auto resolution : device->channelList()[0]->validResolutions()) {
- ui->sizeBox->addItem(resolution->name());
- }
- }
- ui->sizeBox->setCurrentIndex(
- device->channelList()[0]->activeResolution()->relativeIndex());
- isLoading_ = false;
-}
-
-void
-ConfigurationWidget::on_sizeBox_currentIndexChanged(int index)
-{
- auto device = deviceModel_->activeDevice();
-
- if (index < 0)
- return;
- if (!isLoading_)
- device->channelList()[0]->setActiveResolution(
- device->channelList()[0]->validResolutions()[index]);
-}
-
-void
-ConfigurationWidget::accountSelected(QItemSelection itemSel)
-{
- if (itemSel.size())
- accountDetails_->show();
- else
- accountDetails_->hide();
-
- if (accountConnection_)
- disconnect(accountConnection_);
-
- auto account = accountModel_->getAccountByModelIndex(
- ui->accountView->currentIndex());
- accountDetails_->setAccount(account);
- if (account) {
- AccountSerializationAdapter adapter(account, accountDetails_);
- accountConnection_= connect(account,
- SIGNAL(propertyChanged(Account*,QString,QString,QString)),
- this,
- SLOT(accountPropertyChanged(Account*,QString,QString,QString)));
- }
-}
-
-void
-ConfigurationWidget::accountPropertyChanged(Account* a,
- const QString& name,
- const QString& newVal,
- const QString& oldVal)
-{
- Q_UNUSED(name)
- Q_UNUSED(newVal)
- Q_UNUSED(oldVal)
- accountDetails_->setAccount(a);
- AccountSerializationAdapter adapter(a, accountDetails_);
-}
-
-void
-ConfigurationWidget::on_addAccountButton_clicked()
-{
- auto type = ui->accountTypeBox->model()->index(ui->accountTypeBox->currentIndex(), 0);
- if (type.data() == "RING") {
- WizardDialog dlg(WizardDialog::NEW_ACCOUNT);
- dlg.exec();
- } else {
- auto account = accountModel_->add(tr("New Account"), type);
- account->setRingtonePath(Utils::GetRingtonePath());
- accountModel_->save();
- }
-}
-
-void
-ConfigurationWidget::on_startupBox_toggled(bool checked)
-{
- if (checked)
- Utils::CreateStartupLink();
- else
- Utils::DeleteStartupLink();
-}
-
-void
-ConfigurationWidget::on_clearHistoryButton_clicked()
-{
- QMessageBox confirmationDialog;
-
- confirmationDialog.setText(tr("Are you sure you want to clear all your history?"));
- confirmationDialog.setStandardButtons(QMessageBox::Ok | QMessageBox::Cancel);
- auto ret = confirmationDialog.exec();
-
- if (ret == QMessageBox::Ok)
- CategorizedHistoryModel::instance().clearAllCollections();
-}
-
-void
-ConfigurationWidget::on_historyDaySettingsSpinBox_valueChanged(int limit)
-{
- if (CategorizedHistoryModel::instance().historyLimit() != limit)
- CategorizedHistoryModel::instance().setHistoryLimit(limit);
-}
-
-void
-ConfigurationWidget::on_closeOrMinCheckBox_toggled(bool checked)
-{
- settings_.setValue(SettingsKey::closeOrMinimized, checked);
-}
-
-void
-ConfigurationWidget::on_checkUpdateButton_clicked()
-{
- win_sparkle_check_update_with_ui();
-}
-
-void
-ConfigurationWidget::on_autoUpdateCheckBox_toggled(bool checked)
-{
- win_sparkle_set_automatic_check_for_updates(checked);
-}
-
-void
-ConfigurationWidget::on_intervalUpdateCheckSpinBox_valueChanged(int arg1)
-{
- win_sparkle_set_update_check_interval(arg1 * 86400);
-}
-
-void
-ConfigurationWidget::on_stackedWidget_currentChanged(int index)
-{
- Q_UNUSED(index)
- showPreview();
-}
-
-void
-ConfigurationWidget::on_recordPath_clicked()
-{
- QString dir = QFileDialog::getExistingDirectory(this, tr("Choose Directory"),
- media::RecordingModel::instance().recordPath(),
- QFileDialog::ShowDirsOnly
- | QFileDialog::DontResolveSymlinks);
- if (not dir.isEmpty()) {
- media::RecordingModel::instance().setRecordPath(dir);
- ui->recordPath->setText(dir);
- }
-}
-
-void
-ConfigurationWidget::outputIndexChanged(int index)
-{
- auto outputModel = Audio::Settings::instance().outputDeviceModel();
- outputModel->selectionModel()->setCurrentIndex(outputModel->index(index), QItemSelectionModel::ClearAndSelect);
-}
-
-void
-ConfigurationWidget::inputIndexChanged(int index)
-{
- auto inputModel = Audio::Settings::instance().inputDeviceModel();
- inputModel->selectionModel()->setCurrentIndex(inputModel->index(index), QItemSelectionModel::ClearAndSelect);
-}
-
-void
-ConfigurationWidget::on_exportButton_clicked()
-{
- /*
- PathPasswordDialog dlg(true);
- if (dlg.exec() == QDialog::Accepted) {
- auto func = [](QString path, QString password)
- {
- AccountModel::instance().exportAccounts(
- {AccountModel::instance().selectedAccount()->id()},
- path,
- password);
- };
- QtConcurrent::run(func, dlg.path_, dlg.password_);
- }
- */
-}
-
-
-void
-ConfigurationWidget::on_avatarButton_clicked()
-{
- PhotoBoothDialog dlg;
- dlg.exec();
- if (dlg.result() == QDialog::Accepted) {
- auto image = QImage(dlg.getOutputFileName());
- auto avatar = image.scaled(100, 100, Qt::KeepAspectRatioByExpanding, Qt::SmoothTransformation);
- ProfileModel::instance().selectedProfile()->person()->setPhoto(avatar);
- ProfileModel::instance().selectedProfile()->save();
- ui->avatarButton->setIcon(QPixmap::fromImage(Utils::getCirclePhoto(avatar, ui->avatarButton->width())));
- }
-}
-
-void
-ConfigurationWidget::on_profileNameEdit_textEdited(const QString& name)
-{
- ProfileModel::instance().selectedProfile()->person()->setFormattedName(name);
- ProfileModel::instance().selectedProfile()->save();
-}
-
-void
-ConfigurationWidget::on_notificationCheckBox_toggled(bool checked)
-{
- settings_.setValue(SettingsKey::enableNotifications, checked);
-}
diff --git a/configurationwidget.h b/configurationwidget.h
deleted file mode 100644
index 3a26d54..0000000
--- a/configurationwidget.h
+++ /dev/null
@@ -1,92 +0,0 @@
-/**************************************************************************
-* Copyright (C) 2015-2017 by Savoir-faire Linux *
-* Author: Edric Ladent Milaret <edric.ladent-milaret@savoirfairelinux.com>*
-* Author: Anthony Léonard <anthony.leonard@savoirfairelinux.com> *
-* Author: Olivier Soldano <olivier.soldano@savoirfairelinux.com> *
-* *
-* This program is free software; you can redistribute it and/or modify *
-* it under the terms of the GNU General Public License as published by *
-* the Free Software Foundation; either version 3 of the License, or *
-* (at your option) any later version. *
-* *
-* This program is distributed in the hope that it will be useful, *
-* but WITHOUT ANY WARRANTY; without even the implied warranty of *
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-* GNU General Public License for more details. *
-* *
-* You should have received a copy of the GNU General Public License *
-* along with this program. If not, see <http://www.gnu.org/licenses/>. *
-**************************************************************************/
-
-#pragma once
-
-#include <QWidget>
-#include <QItemSelection>
-#include <QSettings>
-#include <QErrorMessage>
-
-#include "navwidget.h"
-#include "accountdetails.h"
-#include "accountstatedelegate.h"
-
-#include "accountmodel.h"
-#include "video/devicemodel.h"
-#include "codecmodel.h"
-
-namespace Ui {
-class ConfigurationWidget;
-}
-
-class ConfigurationWidget : public NavWidget
-{
- Q_OBJECT
-
-public:
- explicit ConfigurationWidget(QWidget *parent = 0);
- ~ConfigurationWidget();
-
-protected:
- void showEvent(QShowEvent *event);
-
-//UI SLOTS
-private slots:
- void on_deviceBox_currentIndexChanged(int index);
- void on_sizeBox_currentIndexChanged(int index);
- void on_addAccountButton_clicked();
- void on_startupBox_toggled(bool checked);
- void on_clearHistoryButton_clicked();
- void on_historyDaySettingsSpinBox_valueChanged(int limit);
- void on_closeOrMinCheckBox_toggled(bool checked);
- void on_checkUpdateButton_clicked();
- void on_autoUpdateCheckBox_toggled(bool checked);
- void on_intervalUpdateCheckSpinBox_valueChanged(int arg1);
- void on_stackedWidget_currentChanged(int index);
- void on_recordPath_clicked();
- void on_exportButton_clicked();
- void on_avatarButton_clicked();
- void on_profileNameEdit_textEdited(const QString& name);
- void on_notificationCheckBox_toggled(bool checked);
-
-private slots:
- void accountSelected(QItemSelection itemSel);
- void deviceIndexChanged(int index);
- void outputIndexChanged(int index);
- void inputIndexChanged(int index);
- void accountPropertyChanged(Account* a, const QString& name,
- const QString& newVal, const QString& oldVal);
-
-private:
- Ui::ConfigurationWidget *ui;
- AccountModel* accountModel_;
- QMetaObject::Connection accountConnection_;
- Video::DeviceModel* deviceModel_;
- CodecModel* codecModel_;
- bool isLoading_;
- AccountDetails* accountDetails_;
- AccountStateDelegate *accountStateDelegate_;
- QSettings settings_;
- QErrorMessage errorDlg_;
-
- void showPreview();
-};
-
diff --git a/configurationwidget.ui b/configurationwidget.ui
deleted file mode 100644
index 86e6cfd..0000000
--- a/configurationwidget.ui
+++ /dev/null
@@ -1,1388 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>ConfigurationWidget</class>
- <widget class="QWidget" name="ConfigurationWidget">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>954</width>
- <height>815</height>
- </rect>
- </property>
- <property name="sizePolicy">
- <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="windowTitle">
- <string>Settings</string>
- </property>
- <property name="autoFillBackground">
- <bool>true</bool>
- </property>
- <property name="styleSheet">
- <string notr="true"/>
- </property>
- <layout class="QVBoxLayout" name="verticalLayout">
- <property name="spacing">
- <number>0</number>
- </property>
- <property name="leftMargin">
- <number>0</number>
- </property>
- <property name="topMargin">
- <number>0</number>
- </property>
- <property name="rightMargin">
- <number>0</number>
- </property>
- <property name="bottomMargin">
- <number>0</number>
- </property>
- <item>
- <widget class="QWidget" name="horizontalWidget" native="true">
- <layout class="QHBoxLayout" name="horizontalLayout_7">
- <property name="spacing">
- <number>0</number>
- </property>
- <property name="leftMargin">
- <number>0</number>
- </property>
- <property name="topMargin">
- <number>7</number>
- </property>
- <property name="rightMargin">
- <number>7</number>
- </property>
- <property name="bottomMargin">
- <number>7</number>
- </property>
- <item>
- <layout class="QVBoxLayout" name="verticalLayout_6">
- <property name="spacing">
- <number>0</number>
- </property>
- <item>
- <spacer name="verticalSpacer_3">
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeType">
- <enum>QSizePolicy::Preferred</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>10</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout_8">
- <property name="spacing">
- <number>0</number>
- </property>
- <item>
- <widget class="QPushButton" name="generalTabButton">
- <property name="minimumSize">
- <size>
- <width>90</width>
- <height>0</height>
- </size>
- </property>
- <property name="toolTip">
- <string>General configuration tab</string>
- </property>
- <property name="styleSheet">
- <string notr="true"/>
- </property>
- <property name="text">
- <string>General</string>
- </property>
- <property name="checkable">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="videoTabButton">
- <property name="minimumSize">
- <size>
- <width>90</width>
- <height>0</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Audio / Video configuration tab</string>
- </property>
- <property name="text">
- <string>Audio/Video</string>
- </property>
- <property name="checkable">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="accountTabButton">
- <property name="minimumSize">
- <size>
- <width>90</width>
- <height>0</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Accounts configuration tab</string>
- </property>
- <property name="text">
- <string>Accounts</string>
- </property>
- <property name="checkable">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- </layout>
- </item>
- <item>
- <spacer name="horizontalSpacer_6">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <widget class="QPushButton" name="exitSettingsButton">
- <property name="minimumSize">
- <size>
- <width>30</width>
- <height>30</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>30</width>
- <height>30</height>
- </size>
- </property>
- <property name="toolTip">
- <string>quit settings menu</string>
- </property>
- <property name="text">
- <string/>
- </property>
- <property name="icon">
- <iconset resource="ressources.qrc">
- <normaloff>:/images/icons/ic_arrow_forward_white_48dp_2x.png</normaloff>:/images/icons/ic_arrow_forward_white_48dp_2x.png</iconset>
- </property>
- <property name="iconSize">
- <size>
- <width>18</width>
- <height>18</height>
- </size>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- </item>
- <item>
- <widget class="QStackedWidget" name="stackedWidget">
- <property name="sizePolicy">
- <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="autoFillBackground">
- <bool>true</bool>
- </property>
- <property name="currentIndex">
- <number>1</number>
- </property>
- <widget class="QWidget" name="generalPage">
- <layout class="QHBoxLayout" name="verticalLayout_2">
- <property name="spacing">
- <number>0</number>
- </property>
- <property name="leftMargin">
- <number>0</number>
- </property>
- <property name="topMargin">
- <number>0</number>
- </property>
- <property name="rightMargin">
- <number>0</number>
- </property>
- <property name="bottomMargin">
- <number>0</number>
- </property>
- <item>
- <spacer name="horizontalSpacer_8">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <layout class="QVBoxLayout" name="verticalLayout_7">
- <property name="spacing">
- <number>10</number>
- </property>
- <item>
- <widget class="QLabel" name="label_9">
- <property name="font">
- <font>
- <weight>75</weight>
- <bold>true</bold>
- </font>
- </property>
- <property name="text">
- <string>Profile</string>
- </property>
- </widget>
- </item>
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout_10">
- <property name="topMargin">
- <number>0</number>
- </property>
- <item>
- <widget class="QPushButton" name="avatarButton">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>74</width>
- <height>74</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>74</width>
- <height>74</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Avatar (click to change)</string>
- </property>
- <property name="text">
- <string/>
- </property>
- <property name="icon">
- <iconset resource="ressources.qrc">
- <normaloff>:/images/default_avatar_overlay.svg</normaloff>:/images/default_avatar_overlay.svg</iconset>
- </property>
- <property name="iconSize">
- <size>
- <width>74</width>
- <height>74</height>
- </size>
- </property>
- <property name="flat">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLineEdit" name="profileNameEdit">
- <property name="toolTip">
- <string>Display name text input</string>
- </property>
- <property name="placeholderText">
- <string>Name</string>
- </property>
- </widget>
- </item>
- <item>
- <spacer name="horizontalSpacer_10">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>30</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </item>
- <item>
- <widget class="QLabel" name="label">
- <property name="font">
- <font>
- <pointsize>12</pointsize>
- <weight>75</weight>
- <bold>true</bold>
- </font>
- </property>
- <property name="styleSheet">
- <string notr="true">color: rgb(77, 77, 77);</string>
- </property>
- <property name="text">
- <string>History Settings</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="Line" name="line_2">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- </widget>
- </item>
- <item>
- <layout class="QVBoxLayout" name="verticalLayout_8">
- <property name="spacing">
- <number>10</number>
- </property>
- <property name="topMargin">
- <number>0</number>
- </property>
- <property name="bottomMargin">
- <number>0</number>
- </property>
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout_3">
- <property name="spacing">
- <number>10</number>
- </property>
- <property name="leftMargin">
- <number>0</number>
- </property>
- <item>
- <widget class="QLabel" name="label_2">
- <property name="font">
- <font>
- <pointsize>11</pointsize>
- </font>
- </property>
- <property name="styleSheet">
- <string notr="true">color: rgb(77, 77, 77);</string>
- </property>
- <property name="text">
- <string>Keep History for (days)</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QSpinBox" name="historyDaySettingsSpinBox">
- <property name="minimumSize">
- <size>
- <width>50</width>
- <height>0</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Number of days of history kept</string>
- </property>
- </widget>
- </item>
- <item>
- <spacer name="horizontalSpacer_2">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>QSizePolicy::MinimumExpanding</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </item>
- <item>
- <widget class="QLabel" name="label_4">
- <property name="font">
- <font>
- <pointsize>10</pointsize>
- </font>
- </property>
- <property name="styleSheet">
- <string notr="true">color: rgb(77, 77, 77);</string>
- </property>
- <property name="text">
- <string>(Set to 0 for unlimited history)</string>
- </property>
- </widget>
- </item>
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout">
- <property name="spacing">
- <number>0</number>
- </property>
- <property name="topMargin">
- <number>0</number>
- </property>
- <item>
- <spacer name="horizontalSpacer_9">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <widget class="QPushButton" name="clearHistoryButton">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>150</width>
- <height>30</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>150</width>
- <height>30</height>
- </size>
- </property>
- <property name="font">
- <font>
- <pointsize>11</pointsize>
- </font>
- </property>
- <property name="toolTip">
- <string>clear history button</string>
- </property>
- <property name="styleSheet">
- <string notr="true"/>
- </property>
- <property name="text">
- <string>Clear History</string>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- </layout>
- </item>
- <item>
- <spacer name="verticalSpacer_2">
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeType">
- <enum>QSizePolicy::Fixed</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <widget class="QLabel" name="label_3">
- <property name="font">
- <font>
- <pointsize>12</pointsize>
- <weight>75</weight>
- <bold>true</bold>
- </font>
- </property>
- <property name="styleSheet">
- <string notr="true">color: rgb(77, 77, 77);</string>
- </property>
- <property name="text">
- <string>Record Settings</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="Line" name="line">
- <property name="styleSheet">
- <string notr="true">color: rgb(77, 77, 77);</string>
- </property>
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- </widget>
- </item>
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout_4">
- <property name="spacing">
- <number>10</number>
- </property>
- <property name="topMargin">
- <number>0</number>
- </property>
- <item>
- <widget class="QLabel" name="label_6">
- <property name="font">
- <font>
- <pointsize>11</pointsize>
- </font>
- </property>
- <property name="styleSheet">
- <string notr="true">color: rgb(77, 77, 77);</string>
- </property>
- <property name="text">
- <string>Save in :</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="RingButton" name="recordPath">
- <property name="font">
- <font>
- <weight>75</weight>
- <bold>true</bold>
- </font>
- </property>
- <property name="toolTip">
- <string>Call records path</string>
- </property>
- <property name="text">
- <string/>
- </property>
- </widget>
- </item>
- <item>
- <spacer name="horizontalSpacer_3">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </item>
- <item>
- <widget class="QCheckBox" name="alwaysRecordCheckBox">
- <property name="font">
- <font>
- <pointsize>11</pointsize>
- </font>
- </property>
- <property name="toolTip">
- <string>Always record calls checkbox</string>
- </property>
- <property name="styleSheet">
- <string notr="true">color: rgb(77, 77, 77);</string>
- </property>
- <property name="text">
- <string>Always Record</string>
- </property>
- </widget>
- </item>
- <item>
- <spacer name="verticalSpacer_4">
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeType">
- <enum>QSizePolicy::Fixed</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>40</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <widget class="QLabel" name="label_5">
- <property name="font">
- <font>
- <pointsize>12</pointsize>
- <weight>75</weight>
- <bold>true</bold>
- </font>
- </property>
- <property name="styleSheet">
- <string notr="true">color: rgb(77, 77, 77);</string>
- </property>
- <property name="text">
- <string>Misc. Settings</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="Line" name="line_3">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QCheckBox" name="closeOrMinCheckBox">
- <property name="font">
- <font>
- <pointsize>11</pointsize>
- </font>
- </property>
- <property name="toolTip">
- <string>keep minimized on close checkbox</string>
- </property>
- <property name="styleSheet">
- <string notr="true">color: rgb(77, 77, 77);</string>
- </property>
- <property name="text">
- <string>Keep minimized on close</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QCheckBox" name="notificationCheckBox">
- <property name="font">
- <font>
- <pointsize>11</pointsize>
- </font>
- </property>
- <property name="toolTip">
- <string>enable notifications checkbox</string>
- </property>
- <property name="styleSheet">
- <string notr="true">color: rgb(77, 77, 77);</string>
- </property>
- <property name="text">
- <string>Enable notifications</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QCheckBox" name="startupBox">
- <property name="sizePolicy">
- <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="font">
- <font>
- <pointsize>11</pointsize>
- </font>
- </property>
- <property name="toolTip">
- <string>Launch ring on startup checkbox</string>
- </property>
- <property name="layoutDirection">
- <enum>Qt::LeftToRight</enum>
- </property>
- <property name="styleSheet">
- <string notr="true">color: rgb(77, 77, 77);</string>
- </property>
- <property name="text">
- <string>Launch Ring on Startup</string>
- </property>
- </widget>
- </item>
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout_6">
- <property name="topMargin">
- <number>0</number>
- </property>
- <item>
- <widget class="QCheckBox" name="autoUpdateCheckBox">
- <property name="font">
- <font>
- <pointsize>11</pointsize>
- </font>
- </property>
- <property name="acceptDrops">
- <bool>false</bool>
- </property>
- <property name="toolTip">
- <string>Autamatic update checks checkbox</string>
- </property>
- <property name="styleSheet">
- <string notr="true">color: rgb(77, 77, 77);</string>
- </property>
- <property name="text">
- <string>Check for update automatically every</string>
- </property>
- <property name="checked">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QSpinBox" name="intervalUpdateCheckSpinBox">
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="maximumSize">
- <size>
- <width>60</width>
- <height>16777215</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Interval between update checks in days selector</string>
- </property>
- <property name="minimum">
- <number>1</number>
- </property>
- <property name="value">
- <number>3</number>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLabel" name="updateDayLabel">
- <property name="font">
- <font>
- <pointsize>11</pointsize>
- </font>
- </property>
- <property name="styleSheet">
- <string notr="true">color: rgb(77, 77, 77);</string>
- </property>
- <property name="text">
- <string>days</string>
- </property>
- </widget>
- </item>
- <item>
- <spacer name="horizontalSpacer_5">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </item>
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout_5">
- <property name="topMargin">
- <number>0</number>
- </property>
- <item>
- <widget class="QPushButton" name="checkUpdateButton">
- <property name="sizePolicy">
- <sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>30</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Check for updates now button</string>
- </property>
- <property name="text">
- <string>Check for updates now</string>
- </property>
- </widget>
- </item>
- <item>
- <spacer name="horizontalSpacer_4">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </item>
- <item>
- <spacer name="verticalSpacer_5">
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>40</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </item>
- <item>
- <spacer name="horizontalSpacer_7">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </widget>
- <widget class="QWidget" name="videoPage">
- <layout class="QGridLayout" name="gridLayout" rowstretch="1,10" columnstretch="0,0,0">
- <property name="leftMargin">
- <number>10</number>
- </property>
- <property name="topMargin">
- <number>0</number>
- </property>
- <property name="rightMargin">
- <number>10</number>
- </property>
- <property name="bottomMargin">
- <number>10</number>
- </property>
- <property name="spacing">
- <number>10</number>
- </property>
- <item row="0" column="2">
- <spacer name="horizontalSpacer">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>QSizePolicy::MinimumExpanding</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>10</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item row="1" column="0" colspan="3">
- <layout class="QVBoxLayout" name="verticalLayout_4">
- <item>
- <widget class="VideoWidget" name="videoView" native="true">
- <property name="sizePolicy">
- <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>0</height>
- </size>
- </property>
- </widget>
- </item>
- <item alignment="Qt::AlignHCenter|Qt::AlignVCenter">
- <widget class="QLabel" name="previewUnavailable">
- <property name="font">
- <font>
- <pointsize>13</pointsize>
- <weight>75</weight>
- <bold>true</bold>
- </font>
- </property>
- <property name="styleSheet">
- <string notr="true">color: rgb(77, 77, 77);</string>
- </property>
- <property name="text">
- <string>Preview unavailable during call</string>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="0" column="0">
- <layout class="QVBoxLayout" name="verticalLayout_3">
- <property name="spacing">
- <number>0</number>
- </property>
- <property name="sizeConstraint">
- <enum>QLayout::SetFixedSize</enum>
- </property>
- <property name="topMargin">
- <number>0</number>
- </property>
- <property name="rightMargin">
- <number>0</number>
- </property>
- <property name="bottomMargin">
- <number>0</number>
- </property>
- <item>
- <widget class="QLabel" name="deviceSelecLabel">
- <property name="sizePolicy">
- <sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>30</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>16777215</width>
- <height>30</height>
- </size>
- </property>
- <property name="font">
- <font>
- <pointsize>12</pointsize>
- <weight>75</weight>
- <bold>true</bold>
- </font>
- </property>
- <property name="styleSheet">
- <string notr="true">color: rgb(77, 77, 77);</string>
- </property>
- <property name="text">
- <string>Device Selection</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="Line" name="line_4">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- </widget>
- </item>
- <item>
- <spacer name="verticalSpacer">
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeType">
- <enum>QSizePolicy::Minimum</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>15</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <layout class="QFormLayout" name="formLayout">
- <property name="sizeConstraint">
- <enum>QLayout::SetDefaultConstraint</enum>
- </property>
- <property name="formAlignment">
- <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
- </property>
- <property name="horizontalSpacing">
- <number>15</number>
- </property>
- <property name="verticalSpacing">
- <number>6</number>
- </property>
- <item row="3" column="0">
- <widget class="QLabel" name="deviceLabel">
- <property name="sizePolicy">
- <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="font">
- <font>
- <pointsize>11</pointsize>
- </font>
- </property>
- <property name="toolTip">
- <string>Video device selector</string>
- </property>
- <property name="styleSheet">
- <string notr="true">color: rgb(77, 77, 77);</string>
- </property>
- <property name="text">
- <string>Device</string>
- </property>
- </widget>
- </item>
- <item row="3" column="1">
- <widget class="QComboBox" name="deviceBox">
- <property name="sizePolicy">
- <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="toolTip">
- <string>Video device selector</string>
- </property>
- </widget>
- </item>
- <item row="4" column="0">
- <widget class="QLabel" name="resolutionLabel">
- <property name="sizePolicy">
- <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="font">
- <font>
- <pointsize>11</pointsize>
- </font>
- </property>
- <property name="styleSheet">
- <string notr="true">color: rgb(77, 77, 77);</string>
- </property>
- <property name="text">
- <string>Resolution</string>
- </property>
- </widget>
- </item>
- <item row="4" column="1">
- <widget class="QComboBox" name="sizeBox">
- <property name="sizePolicy">
- <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="toolTip">
- <string>Video device resolution selector</string>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- </layout>
- </item>
- <item row="0" column="1">
- <layout class="QFormLayout" name="formLayout_2">
- <property name="formAlignment">
- <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
- </property>
- <property name="horizontalSpacing">
- <number>15</number>
- </property>
- <property name="leftMargin">
- <number>0</number>
- </property>
- <item row="1" column="0">
- <widget class="QLabel" name="label_7">
- <property name="font">
- <font>
- <pointsize>11</pointsize>
- </font>
- </property>
- <property name="text">
- <string>Output Device</string>
- </property>
- </widget>
- </item>
- <item row="1" column="1">
- <widget class="QComboBox" name="outputComboBox">
- <property name="toolTip">
- <string>Audio output device selector</string>
- </property>
- </widget>
- </item>
- <item row="2" column="0">
- <widget class="QLabel" name="label_8">
- <property name="font">
- <font>
- <pointsize>11</pointsize>
- </font>
- </property>
- <property name="text">
- <string>Input Device</string>
- </property>
- </widget>
- </item>
- <item row="2" column="1">
- <widget class="QComboBox" name="inputComboBox">
- <property name="toolTip">
- <string>Audio input device selector</string>
- </property>
- </widget>
- </item>
- <item row="0" column="0">
- <spacer name="verticalSpacer_6">
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>40</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </item>
- </layout>
- </widget>
- <widget class="QWidget" name="accountPage">
- <layout class="QGridLayout" name="gridLayout_2" columnstretch="0,1">
- <property name="leftMargin">
- <number>0</number>
- </property>
- <property name="topMargin">
- <number>0</number>
- </property>
- <property name="rightMargin">
- <number>0</number>
- </property>
- <property name="bottomMargin">
- <number>0</number>
- </property>
- <property name="spacing">
- <number>0</number>
- </property>
- <item row="0" column="1">
- <layout class="QVBoxLayout" name="accountDetailLayout">
- <property name="bottomMargin">
- <number>0</number>
- </property>
- </layout>
- </item>
- <item row="0" column="0">
- <widget class="QWidget" name="leftPannel" native="true">
- <layout class="QVBoxLayout" name="verticalLayout_5">
- <property name="spacing">
- <number>10</number>
- </property>
- <item>
- <widget class="QListView" name="accountView">
- <property name="sizePolicy">
- <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="focusPolicy">
- <enum>Qt::NoFocus</enum>
- </property>
- <property name="frameShape">
- <enum>QFrame::NoFrame</enum>
- </property>
- </widget>
- </item>
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout_2">
- <item>
- <widget class="QComboBox" name="accountTypeBox">
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>30</height>
- </size>
- </property>
- <property name="toolTip">
- <string>New account type selector</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QToolButton" name="addAccountButton">
- <property name="minimumSize">
- <size>
- <width>30</width>
- <height>30</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>30</width>
- <height>30</height>
- </size>
- </property>
- <property name="toolTip">
- <string>add new account</string>
- </property>
- <property name="text">
- <string/>
- </property>
- <property name="icon">
- <iconset resource="ressources.qrc">
- <normaloff>:/images/icons/ic_add_black_18dp_2x.png</normaloff>:/images/icons/ic_add_black_18dp_2x.png</iconset>
- </property>
- <property name="iconSize">
- <size>
- <width>24</width>
- <height>24</height>
- </size>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="deleteAccountBtn">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>30</width>
- <height>30</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>30</width>
- <height>30</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Delete account button</string>
- </property>
- <property name="text">
- <string/>
- </property>
- <property name="icon">
- <iconset resource="ressources.qrc">
- <normaloff>:/images/icons/ic_delete_black_18dp_2x.png</normaloff>:/images/icons/ic_delete_black_18dp_2x.png</iconset>
- </property>
- <property name="iconSize">
- <size>
- <width>24</width>
- <height>24</height>
- </size>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout_9" stretch="1,2,1">
- <property name="topMargin">
- <number>0</number>
- </property>
- <item>
- <spacer name="horizontalSpacer_12">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <widget class="QPushButton" name="exportButton">
- <property name="toolTip">
- <string>Export account button</string>
- </property>
- <property name="text">
- <string>Export</string>
- </property>
- </widget>
- </item>
- <item>
- <spacer name="horizontalSpacer_11">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </item>
- </layout>
- </widget>
- </item>
- </layout>
- </widget>
- </widget>
- </item>
- </layout>
- </widget>
- <customwidgets>
- <customwidget>
- <class>RingButton</class>
- <extends>QPushButton</extends>
- <header>ringbutton.h</header>
- </customwidget>
- <customwidget>
- <class>VideoWidget</class>
- <extends>QWidget</extends>
- <header>videowidget.h</header>
- <container>1</container>
- </customwidget>
- </customwidgets>
- <resources>
- <include location="ressources.qrc"/>
- </resources>
- <connections>
- <connection>
- <sender>autoUpdateCheckBox</sender>
- <signal>toggled(bool)</signal>
- <receiver>intervalUpdateCheckSpinBox</receiver>
- <slot>setEnabled(bool)</slot>
- <hints>
- <hint type="sourcelabel">
- <x>372</x>
- <y>558</y>
- </hint>
- <hint type="destinationlabel">
- <x>592</x>
- <y>555</y>
- </hint>
- </hints>
- </connection>
- </connections>
-</ui>
diff --git a/contactpicker.cpp b/contactpicker.cpp
deleted file mode 100644
index f4793a8..0000000
--- a/contactpicker.cpp
+++ /dev/null
@@ -1,127 +0,0 @@
-/***************************************************************************
- * Copyright (C) 2015-2017 by Savoir-faire Linux *
- * Author: Edric Ladent Milaret <edric.ladent-milaret@savoirfairelinux.com>*
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 3 of the License, or *
- * (at your option) any later version. *
- * *
- * This program is distributed in the hope that it will be useful, *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
- * GNU General Public License for more details. *
- * *
- * You should have received a copy of the GNU General Public License *
- * along with this program. If not, see <http://www.gnu.org/licenses/>. *
- **************************************************************************/
-
-#include "contactpicker.h"
-#include "ui_contactpicker.h"
-
-#include <QMouseEvent>
-
-#include "categorizedcontactmodel.h"
-#include "personmodel.h"
-
-#include "utils.h"
-
-ContactPicker::ContactPicker(ContactMethod *number, QWidget *parent) :
- QDialog(parent),
- ui(new Ui::ContactPicker),
- personSelected_(nullptr),
- number_(number)
-{
- ui->setupUi(this);
-
- this->setWindowFlags(Qt::CustomizeWindowHint);
- this->setWindowFlags(Qt::FramelessWindowHint | Qt::Popup);
-
- contactProxyModel_ = new OnlyPersonProxyModel(&PersonModel::instance());
- contactProxyModel_->setSortRole(static_cast<int>(Qt::DisplayRole));
- contactProxyModel_->sort(0,Qt::AscendingOrder);
- contactProxyModel_->setFilterRole(Qt::DisplayRole);
-
- ui->contactView->setModel(contactProxyModel_);
- ui->numberLineEdit->setText(number->uri());
-}
-
-ContactPicker::~ContactPicker()
-{
- delete ui;
-}
-
-void
-ContactPicker::on_contactView_doubleClicked(const QModelIndex &index)
-{
- Q_UNUSED(index)
- this->accept();
-}
-
-void
-ContactPicker::accept()
-{
- /* Force LRC to update contact model as adding a number
- to a contact without one didn't render him reachable */
- CategorizedContactModel::instance().setUnreachableHidden(false);
-
- auto idx = ui->contactView->currentIndex();
-
- //There is only one collection on Windows
- auto personCollection = PersonModel::instance().collections().at(0);
-
- if (not ui->nameLineEdit->text().isEmpty()) {
- auto *newPerson = new Person();
- newPerson->setFormattedName(ui->nameLineEdit->text());
- Person::ContactMethods cM;
- cM.append(number_);
- newPerson->setContactMethods(cM);
- newPerson->setUid(Utils::GenGUID().toLocal8Bit());
- PersonModel::instance().addNewPerson(newPerson, personCollection);
- } else if (idx.isValid()) {
- auto p = idx.data(static_cast<int>(Person::Role::Object)).value<Person*>();
- Person::ContactMethods cM (p->phoneNumbers());
- cM.append(number_);
- p->setContactMethods(cM);
- p->save();
- }
- CategorizedContactModel::instance().setUnreachableHidden(true);
-
- QDialog::accept();
-}
-
-void
-ContactPicker::on_okButton_clicked()
-{
- this->accept();
-}
-
-void
-ContactPicker::on_createNewButton_clicked()
-{
- ui->stackedWidget->setCurrentIndex(1);
-}
-
-void
-ContactPicker::on_searchBar_textChanged(const QString &arg1)
-{
- contactProxyModel_->setFilterRegExp(QRegExp(arg1, Qt::CaseInsensitive, QRegExp::FixedString));
-}
-
-void
-ContactPicker::mousePressEvent(QMouseEvent *event)
-{
- mpos_ = event->pos();
- if (not rect().contains(mpos_))
- QDialog::reject();
-}
-
-void ContactPicker::mouseMoveEvent(QMouseEvent *event)
-{
- if (event->buttons() & Qt::LeftButton) {
- QPoint diff = event->pos() - mpos_;
- QPoint newpos = this->pos() + diff;
-
- this->move(newpos);
- }
-}
diff --git a/contactpicker.h b/contactpicker.h
deleted file mode 100644
index 1ad718e..0000000
--- a/contactpicker.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/***************************************************************************
- * Copyright (C) 2015-2017 by Savoir-faire Linux *
- * Author: Edric Ladent Milaret <edric.ladent-milaret@savoirfairelinux.com>*
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 3 of the License, or *
- * (at your option) any later version. *
- * *
- * This program is distributed in the hope that it will be useful, *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
- * GNU General Public License for more details. *
- * *
- * You should have received a copy of the GNU General Public License *
- * along with this program. If not, see <http://www.gnu.org/licenses/>. *
- **************************************************************************/
-
-#pragma once
-
-#include <QDialog>
-#include <QSortFilterProxyModel>
-
-#include "personmodel.h"
-#include "contactmethod.h"
-
-namespace Ui {
-class ContactPicker;
-}
-
-class OnlyPersonProxyModel : public QSortFilterProxyModel
-{
-public:
- explicit OnlyPersonProxyModel(QAbstractItemModel* parent) : QSortFilterProxyModel(parent)
- {
- setSourceModel(parent);
- }
- virtual bool filterAcceptsRow(int source_row, const QModelIndex& source_parent) const
- {
- bool match = filterRegExp().indexIn(sourceModel()->index(source_row,0,source_parent).data(Qt::DisplayRole).toString()) != -1;
- return match && !sourceModel()->index(source_row,0,source_parent).parent().isValid();
- }
-};
-
-class ContactPicker : public QDialog
-{
- Q_OBJECT
-
-public:
- explicit ContactPicker(ContactMethod* number, QWidget *parent = 0);
- ~ContactPicker();
-
-protected:
- void mousePressEvent(QMouseEvent *event);
- void mouseMoveEvent(QMouseEvent *event);
-protected slots:
- void accept();
-
-//UI SLOTS
-private slots:
- void on_contactView_doubleClicked(const QModelIndex &index);
- void on_okButton_clicked();
- void on_createNewButton_clicked();
-
- void on_searchBar_textChanged(const QString &arg1);
-
-private:
- Ui::ContactPicker *ui;
- Person *personSelected_;
- ContactMethod* number_;
- OnlyPersonProxyModel* contactProxyModel_;
- QPoint mpos_;
-};
diff --git a/contactpicker.ui b/contactpicker.ui
deleted file mode 100644
index 74277e7..0000000
--- a/contactpicker.ui
+++ /dev/null
@@ -1,158 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>ContactPicker</class>
- <widget class="QDialog" name="ContactPicker">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>271</width>
- <height>475</height>
- </rect>
- </property>
- <property name="windowTitle">
- <string/>
- </property>
- <layout class="QGridLayout" name="gridLayout">
- <item row="0" column="0" colspan="2">
- <widget class="QStackedWidget" name="stackedWidget">
- <property name="currentIndex">
- <number>0</number>
- </property>
- <widget class="QWidget" name="page">
- <layout class="QVBoxLayout" name="verticalLayout_2">
- <item>
- <widget class="QLabel" name="label_2">
- <property name="font">
- <font>
- <weight>75</weight>
- <bold>true</bold>
- </font>
- </property>
- <property name="text">
- <string>Existing Contact</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignCenter</set>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLineEdit" name="searchBar">
- <property name="toolTip">
- <string>search existing contact text entry</string>
- </property>
- <property name="placeholderText">
- <string>Search...</string>
- </property>
- <property name="clearButtonEnabled">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QListView" name="contactView">
- <property name="toolTip">
- <string>existing contacts list</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="createNewButton">
- <property name="toolTip">
- <string>Create new contact button</string>
- </property>
- <property name="text">
- <string>Create new contact</string>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- <widget class="QWidget" name="page_2">
- <layout class="QVBoxLayout" name="verticalLayout_3">
- <item>
- <layout class="QVBoxLayout" name="verticalLayout">
- <item>
- <widget class="QLabel" name="label">
- <property name="font">
- <font>
- <weight>75</weight>
- <bold>true</bold>
- </font>
- </property>
- <property name="text">
- <string>New Contact</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignCenter</set>
- </property>
- </widget>
- </item>
- <item>
- <spacer name="verticalSpacer">
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>40</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <widget class="QLineEdit" name="nameLineEdit">
- <property name="toolTip">
- <string>New contact name text entry</string>
- </property>
- <property name="placeholderText">
- <string>Enter a name here...</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLineEdit" name="numberLineEdit">
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="alignment">
- <set>Qt::AlignCenter</set>
- </property>
- </widget>
- </item>
- <item>
- <spacer name="verticalSpacer_2">
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>40</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <widget class="QPushButton" name="okButton">
- <property name="toolTip">
- <string>Validate contact creation button</string>
- </property>
- <property name="text">
- <string>Create</string>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- </layout>
- </widget>
- </widget>
- </item>
- </layout>
- </widget>
- <resources/>
- <connections/>
-</ui>
diff --git a/main.cpp b/main.cpp
index 469351c..118fea4 100644
--- a/main.cpp
+++ b/main.cpp
@@ -86,6 +86,9 @@
QApplication a(argc, argv);
+ QCoreApplication::setOrganizationDomain("ring.cx");
+ QCoreApplication::setApplicationName("Ring");
+
GlobalInstances::setPixmapManipulator(std::unique_ptr<PixbufManipulator>(new PixbufManipulator()));
auto startMinimized = false;
@@ -177,10 +180,6 @@
file.close();
}
- QCoreApplication::setOrganizationName("Savoir-faire Linux");
- QCoreApplication::setOrganizationDomain("ring.cx");
- QCoreApplication::setApplicationName("Ring");
-
QFontDatabase::addApplicationFont(":/images/FontAwesome.otf");
MainWindow::instance().createThumbBar();
diff --git a/mainwindow.cpp b/mainwindow.cpp
index 5ba06da..ef3171b 100644
--- a/mainwindow.cpp
+++ b/mainwindow.cpp
@@ -223,7 +223,7 @@
settings->setIcon(icon);
settings->setDismissOnClick(true);
connect(settings, &QWinThumbnailToolButton::clicked, [this]() {
- Utils::setStackWidget(ui->navStack, ui->configurationwidget);
+ Utils::setStackWidget(ui->navStack, ui->settingswidget);
});
thumbbar->addButton(settings);
diff --git a/mainwindow.ui b/mainwindow.ui
index 32e75f4..383b7a2 100644
--- a/mainwindow.ui
+++ b/mainwindow.ui
@@ -466,7 +466,6 @@
<widget class="WizardWidget" name="wizardwidget"/>
<widget class="CallWidget" name="callwidget"/>
<widget class="SettingsWidget" name="settingswidget"/>
- <widget class="ConfigurationWidget" name="configurationwidget"/>
</widget>
</item>
</layout>
@@ -481,17 +480,16 @@
<container>1</container>
</customwidget>
<customwidget>
- <class>ConfigurationWidget</class>
- <extends>QWidget</extends>
- <header>configurationwidget.h</header>
- <container>1</container>
- </customwidget>
- <customwidget>
<class>WizardWidget</class>
<extends>QWidget</extends>
<header>wizardwidget.h</header>
<container>1</container>
</customwidget>
+ <customwidget>
+ <class>SettingsWidget</class>
+ <extends>QWidget</extends>
+ <header>settingswidget.h</header>
+ </customwidget>
</customwidgets>
<resources>
<include location="ressources.qrc"/>
diff --git a/navwidget.h b/navwidget.h
index 402d5f6..df1205e 100644
--- a/navwidget.h
+++ b/navwidget.h
@@ -24,7 +24,6 @@
//DO not add main widget screen before callScreen
WizardScreen,
CallScreen,
- ConfScreen,
SetttingsScreen,
END
};
diff --git a/qualitydialog.cpp b/qualitydialog.cpp
deleted file mode 100644
index 3df231e..0000000
--- a/qualitydialog.cpp
+++ /dev/null
@@ -1,148 +0,0 @@
-/***************************************************************************
- * Copyright (C) 2017 by Savoir-faire Linux *
- * Author: Edric Ladent Milaret <edric.ladent-milaret@savoirfairelinux.com>*
- * Author: Stepan Salenikovich <stepan.salenikovich@savoirfairelinux.com> *
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 3 of the License, or *
- * (at your option) any later version. *
- * *
- * This program is distributed in the hope that it will be useful, *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
- * GNU General Public License for more details. *
- * *
- * You should have received a copy of the GNU General Public License *
- * along with this program. If not, see <http://www.gnu.org/licenses/>. *
- **************************************************************************/
-
-#include "qualitydialog.h"
-#include "ui_qualitydialog.h"
-
-#include <QSortFilterProxyModel>
-#include <QBitmap>
-#include <QPropertyAnimation>
-#include <QGraphicsOpacityEffect>
-
-#include "callmodel.h"
-#include "account.h"
-#include "codecmodel.h"
-
-#include <ciso646>
-
-QualityDialog::QualityDialog(QWidget *parent) :
- QDialog(parent),
- ui(new Ui::QualityDialog),
- spikeMask_(new QPixmap(":/images/spikeMask.png"))
-{
- ui->setupUi(this);
-
- this->setWindowFlags(Qt::CustomizeWindowHint);
- this->setWindowFlags(Qt::FramelessWindowHint | Qt::Popup | Qt::NoDropShadowWindowHint);
-
- ui->spike->setMask(spikeMask_->mask());
-
- effect_ = new QGraphicsOpacityEffect(this);
- effect_->setOpacity(1.0);
- setGraphicsEffect(effect_);
- fadeAnim_ = new QPropertyAnimation(effect_, "opacity");
- fadeAnim_->setDuration(fadeOverlayTime_);
- fadeAnim_->setStartValue(0.0);
- fadeAnim_->setEndValue(1.0);
- fadeAnim_->setEasingCurve(QEasingCurve::InExpo);
-}
-
-QualityDialog::~QualityDialog()
-{
- delete effect_;
- delete spikeMask_;
- delete fadeAnim_;
- delete ui;
-}
-
-void
-QualityDialog::on_autoCheckBox_toggled(bool checked)
-{
- setQuality();
- ui->qualitySlider->setEnabled(not checked);
-}
-
-
-void
-QualityDialog::on_qualitySlider_sliderReleased()
-{
- setQuality();
-}
-
-void QualityDialog::showEvent(QShowEvent* event) {
- QWidget::showEvent(event);
- ui->autoCheckBox->blockSignals(true);
- const auto& call = CallModel::instance().selectedCall();
- if (const auto& codecModel = call->account()->codecModel()) {
- const auto& videoCodecs = codecModel->videoCodecs();
- if (videoCodecs->rowCount() > 0) {
- /* we only need to check the first codec since by default it is ON for all, and the
- * client sets its ON or OFF for all codecs as well */
- const auto& idx = videoCodecs->index(0,0);
- auto auto_quality_enabled = idx.data(static_cast<int>(CodecModel::Role::AUTO_QUALITY_ENABLED)).toString() == "true";
- ui->autoCheckBox->setChecked(auto_quality_enabled);
- ui->qualitySlider->setEnabled(not auto_quality_enabled);
-
- // TODO: save the manual quality setting in the client and set the slider to that value here;
- // the daemon resets the bitrate/quality between each call, and the default may be
- // different for each codec, so there is no reason to check it here
- }
- }
- ui->autoCheckBox->blockSignals(false);
-
- emit(isVisible(true));
-
- fadeAnim_->setDirection(QAbstractAnimation::Forward);
- fadeAnim_->start();
-}
-
-void
-QualityDialog::closeEvent(QCloseEvent* event)
-{
- Q_UNUSED(event)
- emit(isVisible(false));
-}
-
-void
-QualityDialog::setQuality()
-{
- /* set auto quality true or false, also set the bitrate and quality values;
- * the slider is from 0 to 100, use the min and max vals to scale each value accordingly */
- const auto& call = CallModel::instance().selectedCall();
- if (const auto& codecModel = call->account()->codecModel()) {
- const auto& videoCodecs = codecModel->videoCodecs();
-
- for (int i=0; i < videoCodecs->rowCount();i++) {
- const auto& idx = videoCodecs->index(i,0);
-
- if (ui->autoCheckBox->isChecked()) {
- videoCodecs->setData(idx, "true", CodecModel::Role::AUTO_QUALITY_ENABLED);
- } else {
- auto min_bitrate = idx.data(static_cast<int>(CodecModel::Role::MIN_BITRATE)).toInt();
- auto max_bitrate = idx.data(static_cast<int>(CodecModel::Role::MAX_BITRATE)).toInt();
- auto min_quality = idx.data(static_cast<int>(CodecModel::Role::MIN_QUALITY)).toInt();
- auto max_quality = idx.data(static_cast<int>(CodecModel::Role::MAX_QUALITY)).toInt();
-
- double bitrate;
- bitrate = min_bitrate + (double)(max_bitrate - min_bitrate)*(ui->qualitySlider->value()/100.0);
- if (bitrate < 0) bitrate = 0;
-
- double quality;
- // note: a lower value means higher quality
- quality = (double)min_quality - (min_quality - max_quality)*(ui->qualitySlider->value()/100.0);
- if (quality < 0) quality = 0;
-
- videoCodecs->setData(idx, "false", CodecModel::Role::AUTO_QUALITY_ENABLED);
- videoCodecs->setData(idx, QString::number((int)bitrate), CodecModel::Role::BITRATE);
- videoCodecs->setData(idx, QString::number((int)quality), CodecModel::Role::QUALITY);
- }
- }
- codecModel << CodecModel::EditAction::SAVE;
- }
-}
diff --git a/qualitydialog.h b/qualitydialog.h
deleted file mode 100644
index 6408375..0000000
--- a/qualitydialog.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/***************************************************************************
- * Copyright (C) 2017 by Savoir-faire Linux *
- * Author: Edric Ladent Milaret <edric.ladent-milaret@savoirfairelinux.com>*
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 3 of the License, or *
- * (at your option) any later version. *
- * *
- * This program is distributed in the hope that it will be useful, *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
- * GNU General Public License for more details. *
- * *
- * You should have received a copy of the GNU General Public License *
- * along with this program. If not, see <http://www.gnu.org/licenses/>. *
- **************************************************************************/
-
-#pragma once
-
-#include <QDialog>
-
-class QPropertyAnimation;
-class QGraphicsOpacityEffect;
-
-namespace Ui {
-class QualityDialog;
-}
-
-class QualityDialog : public QDialog
-{
- Q_OBJECT
-
-public:
- explicit QualityDialog(QWidget *parent = 0);
- ~QualityDialog();
-
-protected:
- void showEvent(QShowEvent* event);
- void closeEvent(QCloseEvent* event);
-
-private slots:
- void on_autoCheckBox_toggled(bool checked);
- void on_qualitySlider_sliderReleased();
-
-private:
- Ui::QualityDialog *ui;
- void setQuality();
- QPixmap* spikeMask_;
- QPropertyAnimation* fadeAnim_;
- constexpr static int fadeOverlayTime_ = 250; //msec
- QGraphicsOpacityEffect* effect_;
-
-signals:
- void isVisible(bool visible);
-
-};
diff --git a/qualitydialog.ui b/qualitydialog.ui
deleted file mode 100644
index e8777cb..0000000
--- a/qualitydialog.ui
+++ /dev/null
@@ -1,181 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>QualityDialog</class>
- <widget class="QDialog" name="QualityDialog">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>100</width>
- <height>363</height>
- </rect>
- </property>
- <property name="windowTitle">
- <string/>
- </property>
- <layout class="QVBoxLayout" name="verticalLayout">
- <property name="spacing">
- <number>0</number>
- </property>
- <property name="leftMargin">
- <number>4</number>
- </property>
- <property name="topMargin">
- <number>4</number>
- </property>
- <property name="rightMargin">
- <number>4</number>
- </property>
- <property name="bottomMargin">
- <number>4</number>
- </property>
- <item>
- <widget class="QWidget" name="roundedFrame" native="true">
- <layout class="QVBoxLayout" name="tata_2">
- <property name="spacing">
- <number>0</number>
- </property>
- <property name="leftMargin">
- <number>0</number>
- </property>
- <property name="topMargin">
- <number>0</number>
- </property>
- <property name="rightMargin">
- <number>0</number>
- </property>
- <property name="bottomMargin">
- <number>0</number>
- </property>
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout_4">
- <property name="spacing">
- <number>0</number>
- </property>
- <property name="topMargin">
- <number>10</number>
- </property>
- <property name="bottomMargin">
- <number>10</number>
- </property>
- <item>
- <widget class="QSlider" name="qualitySlider">
- <property name="toolTip">
- <string>Quality slider</string>
- </property>
- <property name="maximum">
- <number>100</number>
- </property>
- <property name="value">
- <number>50</number>
- </property>
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout_5">
- <property name="spacing">
- <number>0</number>
- </property>
- <property name="bottomMargin">
- <number>10</number>
- </property>
- <item>
- <spacer name="horizontalSpacer_5">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <widget class="QCheckBox" name="autoCheckBox">
- <property name="toolTip">
- <string>Automatic quality checkbox</string>
- </property>
- <property name="text">
- <string>Auto</string>
- </property>
- </widget>
- </item>
- <item>
- <spacer name="horizontalSpacer_6">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </item>
- </layout>
- </widget>
- </item>
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout">
- <property name="spacing">
- <number>0</number>
- </property>
- <item>
- <spacer name="horizontalSpacer">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <widget class="QWidget" name="spike" native="true">
- <property name="minimumSize">
- <size>
- <width>60</width>
- <height>30</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>60</width>
- <height>30</height>
- </size>
- </property>
- </widget>
- </item>
- <item>
- <spacer name="horizontalSpacer_2">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </item>
- </layout>
- </widget>
- <resources/>
- <connections/>
-</ui>
diff --git a/quickactcontactrequestwidget.ui b/quickactcontactrequestwidget.ui
deleted file mode 100644
index d539be2..0000000
--- a/quickactcontactrequestwidget.ui
+++ /dev/null
@@ -1,202 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>QuickActContactRequestWidget</class>
- <widget class="QWidget" name="QuickActContactRequestWidget">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>687</width>
- <height>147</height>
- </rect>
- </property>
- <property name="sizePolicy">
- <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>0</height>
- </size>
- </property>
- <property name="windowTitle">
- <string/>
- </property>
- <layout class="QHBoxLayout" name="horizontalLayout" stretch="3,1">
- <property name="leftMargin">
- <number>0</number>
- </property>
- <property name="topMargin">
- <number>0</number>
- </property>
- <property name="rightMargin">
- <number>0</number>
- </property>
- <property name="bottomMargin">
- <number>0</number>
- </property>
- <item>
- <spacer name="horizontalSpacer">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>428</width>
- <height>0</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <layout class="QVBoxLayout" name="verticalLayout" stretch="9,3,1">
- <property name="spacing">
- <number>0</number>
- </property>
- <property name="leftMargin">
- <number>0</number>
- </property>
- <property name="rightMargin">
- <number>5</number>
- </property>
- <item>
- <spacer name="verticalSpacer">
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeType">
- <enum>QSizePolicy::Minimum</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>0</width>
- <height>0</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout_2">
- <property name="topMargin">
- <number>5</number>
- </property>
- <item>
- <spacer name="horizontalSpacer_2">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item alignment="Qt::AlignHCenter|Qt::AlignVCenter">
- <widget class="QPushButton" name="quickValidCRBtn">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>20</width>
- <height>20</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Validate Contact Request Button</string>
- </property>
- <property name="styleSheet">
- <string notr="true"/>
- </property>
- <property name="text">
- <string/>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="quickMuteCRBtn">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>20</width>
- <height>20</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Mute contact request button</string>
- </property>
- <property name="text">
- <string/>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="quickBanCRBtn">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>20</width>
- <height>20</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Ban contact request button</string>
- </property>
- <property name="text">
- <string/>
- </property>
- </widget>
- </item>
- <item>
- <spacer name="horizontalSpacer_5">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </item>
- <item>
- <spacer name="verticalSpacer_2">
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>0</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </item>
- </layout>
- </widget>
- <resources/>
- <connections/>
-</ui>
diff --git a/ring-client-windows.vcxproj b/ring-client-windows.vcxproj
index 0d357db..7999a73 100644
--- a/ring-client-windows.vcxproj
+++ b/ring-client-windows.vcxproj
@@ -225,13 +225,10 @@
<ClCompile Include="animationhelpers.cpp" />
<ClCompile Include="currentaccountcombobox.cpp" />
<ClCompile Include="aboutdialog.cpp" />
- <ClCompile Include="accountdetails.cpp" />
<ClCompile Include="accountitemdelegate.cpp" />
<ClCompile Include="accountserializationadapter.cpp" />
<ClCompile Include="accountlistmodel.cpp" />
- <ClCompile Include="accountstatedelegate.cpp" />
<ClCompile Include="bannedcontactswidget.cpp" />
- <ClCompile Include="callutilsdialog.cpp" />
<ClCompile Include="callwidget.cpp">
<OutputFile Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\$(ConfigurationName)\%(Filename).moc</OutputFile>
<OutputFile Condition="'$(Configuration)|$(Platform)'=='ReleaseCompile|x64'">.\GeneratedFiles\$(ConfigurationName)\%(Filename).moc</OutputFile>
@@ -242,8 +239,6 @@
<Define Condition="'$(Configuration)|$(Platform)'=='Release|x64'">_WINDOWS;UNICODE;_UNICODE;WIN32;WIN64;NIGHTLY_VERSION=20180706;ENABLE_AUTOUPDATE;QT_NO_DEBUG;NDEBUG</Define>
<Define Condition="'$(Configuration)|$(Platform)'=='ReleaseCompile|x64'">_WINDOWS;UNICODE;_UNICODE;WIN32;WIN64;NIGHTLY_VERSION=20180706;ENABLE_AUTOUPDATE;QT_NO_DEBUG;NDEBUG</Define>
</ClCompile>
- <ClCompile Include="configurationwidget.cpp" />
- <ClCompile Include="contactpicker.cpp" />
<ClCompile Include="contactrequestwidget.cpp" />
<ClCompile Include="deleteaccountdialog.cpp" />
<ClCompile Include="globalsystemtray.cpp" />
@@ -259,12 +254,10 @@
<ClCompile Include="photoboothdialog.cpp" />
<ClCompile Include="photoboothwidget.cpp" />
<ClCompile Include="pixbufmanipulator.cpp" />
- <ClCompile Include="qualitydialog.cpp" />
<ClCompile Include="regnamedialog.cpp" />
<ClCompile Include="ringbutton.cpp" />
<ClCompile Include="ringcontactlineedit.cpp" />
<ClCompile Include="selectareadialog.cpp" />
- <ClCompile Include="sendcontactrequestwidget.cpp" />
<ClCompile Include="conversationsfilterwidget.cpp">
<OutputFile Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\$(ConfigurationName)\%(Filename).moc</OutputFile>
<OutputFile Condition="'$(Configuration)|$(Platform)'=='ReleaseCompile|x64'">.\GeneratedFiles\$(ConfigurationName)\%(Filename).moc</OutputFile>
@@ -300,23 +293,13 @@
</QtMoc>
<QtMoc Include="aboutdialog.h">
</QtMoc>
- <QtMoc Include="accountdetails.h">
- </QtMoc>
<QtMoc Include="accountserializationadapter.h">
</QtMoc>
- <QtMoc Include="accountstatedelegate.h">
- </QtMoc>
<QtMoc Include="bannedcontactswidget.h">
</QtMoc>
- <QtMoc Include="callutilsdialog.h">
- </QtMoc>
<QtMoc Include="callwidget.h">
<SubType>Designer</SubType>
</QtMoc>
- <QtMoc Include="configurationwidget.h">
- </QtMoc>
- <QtMoc Include="contactpicker.h">
- </QtMoc>
<QtMoc Include="accountlistmodel.h">
<IncludePath Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\$(ConfigurationName)\.;.\GeneratedFiles;.;$(ProjectDir)..\daemon\contrib\msvc\include;$(ProjectDir)..\lrc\src;$(ProjectDir)..\client-windows\winsparkle\include;$(ProjectDir)..\client-windows\qrencode-win32\qrencode-win32;$(QTDIR)\include;$(QTDIR)\include\QtSvg;$(QTDIR)\include\QtWidgets;$(QTDIR)\include\QtWinExtras;$(QTDIR)\include\QtGui;$(QTDIR)\include\QtANGLE;$(QTDIR)\include\QtXml;$(QTDIR)\include\QtNetwork;$(QTDIR)\include\QtCore;$(QTDIR)\mkspecs\win32-msvc;.\release</IncludePath>
<IncludePath Condition="'$(Configuration)|$(Platform)'=='ReleaseCompile|x64'">.\GeneratedFiles\$(ConfigurationName)\.;.\GeneratedFiles;.;$(ProjectDir)..\daemon\contrib\msvc\include;$(ProjectDir)..\lrc\src;$(ProjectDir)..\client-windows\winsparkle\include;$(ProjectDir)..\client-windows\qrencode-win32\qrencode-win32;$(QTDIR)\include;$(QTDIR)\include\QtSvg;$(QTDIR)\include\QtWidgets;$(QTDIR)\include\QtWinExtras;$(QTDIR)\include\QtGui;$(QTDIR)\include\QtANGLE;$(QTDIR)\include\QtXml;$(QTDIR)\include\QtNetwork;$(QTDIR)\include\QtCore;$(QTDIR)\mkspecs\win32-msvc;.\release</IncludePath>
@@ -397,8 +380,6 @@
<Define Condition="'$(Configuration)|$(Platform)'=='Release|x64'">_WINDOWS;UNICODE;_UNICODE;WIN32;WIN64;NIGHTLY_VERSION=20180706;ENABLE_AUTOUPDATE;QT_NO_DEBUG;NDEBUG;QT_MULTIMEDIA_LIB;QT_MULTIMEDIAWIDGETS_LIB</Define>
</QtMoc>
<ClInclude Include="pixbufmanipulator.h" />
- <QtMoc Include="qualitydialog.h">
- </QtMoc>
<QtMoc Include="ringbutton.h">
</QtMoc>
<QtMoc Include="ringcontactlineedit.h">
@@ -410,8 +391,6 @@
<ClInclude Include="ringthemeutils.h" />
<QtMoc Include="selectareadialog.h">
</QtMoc>
- <QtMoc Include="sendcontactrequestwidget.h">
- </QtMoc>
<QtMoc Include="setavatardialog.h">
<IncludePath Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\$(ConfigurationName)\.;.\GeneratedFiles;.;$(ProjectDir)..\daemon\contrib\msvc\include;$(ProjectDir)..\lrc\src;$(ProjectDir)..\client-windows\winsparkle\include;$(ProjectDir)..\client-windows\qrencode-win32\qrencode-win32;$(QTDIR)\include;$(QTDIR)\include\QtSvg;$(QTDIR)\include\QtWidgets;$(QTDIR)\include\QtWinExtras;$(QTDIR)\include\QtGui;$(QTDIR)\include\QtANGLE;$(QTDIR)\include\QtXml;$(QTDIR)\include\QtNetwork;$(QTDIR)\include\QtCore;$(QTDIR)\mkspecs\win32-msvc;.\release</IncludePath>
<Define Condition="'$(Configuration)|$(Platform)'=='Release|x64'">_WINDOWS;UNICODE;_UNICODE;WIN32;WIN64;NIGHTLY_VERSION=20180706;ENABLE_AUTOUPDATE;QT_NO_DEBUG;NDEBUG</Define>
@@ -487,21 +466,14 @@
<Outputs Condition="'$(Configuration)|$(Platform)'=='ReleaseCompile|x64'">release\moc_predefs.h;%(Outputs)</Outputs>
</CustomBuild>
<ClInclude Include="ui_aboutdialog.h" />
- <ClInclude Include="ui_accountdetails.h" />
<ClInclude Include="ui_bannedcontactswidget.h" />
- <ClInclude Include="ui_callutilsdialog.h" />
<ClInclude Include="ui_callwidget.h" />
- <ClInclude Include="ui_configurationwidget.h" />
- <ClInclude Include="ui_contactpicker.h" />
<ClInclude Include="ui_contactrequestwidget.h" />
<ClInclude Include="ui_deleteaccountdialog.h" />
<ClInclude Include="ui_mainwindow.h" />
<ClInclude Include="ui_photoboothdialog.h" />
<ClInclude Include="ui_photoboothwidget.h" />
- <ClInclude Include="ui_qualitydialog.h" />
- <ClInclude Include="ui_quickactcontactrequestwidget.h" />
<ClInclude Include="ui_ringbutton.h" />
- <ClInclude Include="ui_sendcontactrequestwidget.h" />
<ClInclude Include="ui_videooverlay.h" />
<ClInclude Include="ui_videoview.h" />
<ClInclude Include="ui_wizarddialog.h" />
@@ -570,8 +542,6 @@
<ItemGroup>
<QtUic Include="aboutdialog.ui">
</QtUic>
- <QtUic Include="accountdetails.ui">
- </QtUic>
<QtUic Include="advancedsettingswidget.ui">
<SubType>Designer</SubType>
</QtUic>
@@ -580,15 +550,9 @@
</QtUic>
<QtUic Include="bannedcontactswidget.ui">
</QtUic>
- <QtUic Include="callutilsdialog.ui">
- </QtUic>
<QtUic Include="callwidget.ui">
<SubType>Designer</SubType>
</QtUic>
- <QtUic Include="configurationwidget.ui">
- </QtUic>
- <QtUic Include="contactpicker.ui">
- </QtUic>
<QtUic Include="contactrequestwidget.ui">
</QtUic>
<QtUic Include="deleteaccountdialog.ui">
@@ -607,15 +571,9 @@
</QtUic>
<QtUic Include="photoboothwidget.ui">
</QtUic>
- <QtUic Include="qualitydialog.ui">
- </QtUic>
- <QtUic Include="quickactcontactrequestwidget.ui">
- </QtUic>
<QtUic Include="regnamedialog.ui" />
<QtUic Include="ringbutton.ui">
</QtUic>
- <QtUic Include="sendcontactrequestwidget.ui">
- </QtUic>
<QtUic Include="setavatardialog.ui">
<SubType>Designer</SubType>
</QtUic>
diff --git a/ring-client-windows.vcxproj.filters b/ring-client-windows.vcxproj.filters
index 32b83a6..cf5d6bf 100644
--- a/ring-client-windows.vcxproj.filters
+++ b/ring-client-windows.vcxproj.filters
@@ -63,27 +63,12 @@
<ClCompile Include="aboutdialog.cpp">
<Filter>Source Files</Filter>
</ClCompile>
- <ClCompile Include="accountdetails.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
<ClCompile Include="accountserializationadapter.cpp">
<Filter>Source Files</Filter>
</ClCompile>
- <ClCompile Include="accountstatedelegate.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
<ClCompile Include="bannedcontactswidget.cpp">
<Filter>Source Files</Filter>
</ClCompile>
- <ClCompile Include="callutilsdialog.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="configurationwidget.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="contactpicker.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
<ClCompile Include="contactrequestwidget.cpp">
<Filter>Source Files</Filter>
</ClCompile>
@@ -114,9 +99,6 @@
<ClCompile Include="pixbufmanipulator.cpp">
<Filter>Source Files</Filter>
</ClCompile>
- <ClCompile Include="qualitydialog.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
<ClCompile Include="ringbutton.cpp">
<Filter>Source Files</Filter>
</ClCompile>
@@ -126,9 +108,6 @@
<ClCompile Include="selectareadialog.cpp">
<Filter>Source Files</Filter>
</ClCompile>
- <ClCompile Include="sendcontactrequestwidget.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
<ClCompile Include="utils.cpp">
<Filter>Source Files</Filter>
</ClCompile>
@@ -227,30 +206,15 @@
<QtMoc Include="aboutdialog.h">
<Filter>Header Files</Filter>
</QtMoc>
- <QtMoc Include="accountdetails.h">
- <Filter>Header Files</Filter>
- </QtMoc>
<QtMoc Include="accountserializationadapter.h">
<Filter>Header Files</Filter>
</QtMoc>
- <QtMoc Include="accountstatedelegate.h">
- <Filter>Header Files</Filter>
- </QtMoc>
<QtMoc Include="bannedcontactswidget.h">
<Filter>Header Files</Filter>
</QtMoc>
- <QtMoc Include="callutilsdialog.h">
- <Filter>Header Files</Filter>
- </QtMoc>
<QtMoc Include="callwidget.h">
<Filter>Header Files</Filter>
</QtMoc>
- <QtMoc Include="configurationwidget.h">
- <Filter>Header Files</Filter>
- </QtMoc>
- <QtMoc Include="contactpicker.h">
- <Filter>Header Files</Filter>
- </QtMoc>
<QtMoc Include="contactrequestwidget.h">
<Filter>Header Files</Filter>
</QtMoc>
@@ -278,9 +242,6 @@
<ClInclude Include="pixbufmanipulator.h">
<Filter>Header Files</Filter>
</ClInclude>
- <QtMoc Include="qualitydialog.h">
- <Filter>Header Files</Filter>
- </QtMoc>
<QtMoc Include="ringbutton.h">
<Filter>Header Files</Filter>
</QtMoc>
@@ -293,9 +254,6 @@
<QtMoc Include="selectareadialog.h">
<Filter>Header Files</Filter>
</QtMoc>
- <QtMoc Include="sendcontactrequestwidget.h">
- <Filter>Header Files</Filter>
- </QtMoc>
<ClInclude Include="settingskey.h">
<Filter>Header Files</Filter>
</ClInclude>
@@ -391,24 +349,12 @@
<ClInclude Include="ui_aboutdialog.h">
<Filter>Generated Files</Filter>
</ClInclude>
- <ClInclude Include="ui_accountdetails.h">
- <Filter>Generated Files</Filter>
- </ClInclude>
<ClInclude Include="ui_bannedcontactswidget.h">
<Filter>Generated Files</Filter>
</ClInclude>
- <ClInclude Include="ui_callutilsdialog.h">
- <Filter>Generated Files</Filter>
- </ClInclude>
<ClInclude Include="ui_callwidget.h">
<Filter>Generated Files</Filter>
</ClInclude>
- <ClInclude Include="ui_configurationwidget.h">
- <Filter>Generated Files</Filter>
- </ClInclude>
- <ClInclude Include="ui_contactpicker.h">
- <Filter>Generated Files</Filter>
- </ClInclude>
<ClInclude Include="ui_contactrequestwidget.h">
<Filter>Generated Files</Filter>
</ClInclude>
@@ -424,18 +370,9 @@
<ClInclude Include="ui_photoboothwidget.h">
<Filter>Generated Files</Filter>
</ClInclude>
- <ClInclude Include="ui_qualitydialog.h">
- <Filter>Generated Files</Filter>
- </ClInclude>
- <ClInclude Include="ui_quickactcontactrequestwidget.h">
- <Filter>Generated Files</Filter>
- </ClInclude>
<ClInclude Include="ui_ringbutton.h">
<Filter>Generated Files</Filter>
</ClInclude>
- <ClInclude Include="ui_sendcontactrequestwidget.h">
- <Filter>Generated Files</Filter>
- </ClInclude>
<ClInclude Include="ui_videooverlay.h">
<Filter>Generated Files</Filter>
</ClInclude>
@@ -629,24 +566,12 @@
<QtUic Include="aboutdialog.ui">
<Filter>Form Files</Filter>
</QtUic>
- <QtUic Include="accountdetails.ui">
- <Filter>Form Files</Filter>
- </QtUic>
<QtUic Include="bannedcontactswidget.ui">
<Filter>Form Files</Filter>
</QtUic>
- <QtUic Include="callutilsdialog.ui">
- <Filter>Form Files</Filter>
- </QtUic>
<QtUic Include="callwidget.ui">
<Filter>Form Files</Filter>
</QtUic>
- <QtUic Include="configurationwidget.ui">
- <Filter>Form Files</Filter>
- </QtUic>
- <QtUic Include="contactpicker.ui">
- <Filter>Form Files</Filter>
- </QtUic>
<QtUic Include="contactrequestwidget.ui">
<Filter>Form Files</Filter>
</QtUic>
@@ -662,18 +587,9 @@
<QtUic Include="photoboothwidget.ui">
<Filter>Form Files</Filter>
</QtUic>
- <QtUic Include="qualitydialog.ui">
- <Filter>Form Files</Filter>
- </QtUic>
- <QtUic Include="quickactcontactrequestwidget.ui">
- <Filter>Form Files</Filter>
- </QtUic>
<QtUic Include="ringbutton.ui">
<Filter>Form Files</Filter>
</QtUic>
- <QtUic Include="sendcontactrequestwidget.ui">
- <Filter>Form Files</Filter>
- </QtUic>
<QtUic Include="videooverlay.ui">
<Filter>Form Files</Filter>
</QtUic>
diff --git a/sendcontactrequestwidget.cpp b/sendcontactrequestwidget.cpp
deleted file mode 100644
index 24dd33c..0000000
--- a/sendcontactrequestwidget.cpp
+++ /dev/null
@@ -1,73 +0,0 @@
-/***************************************************************************
- * Copyright (C) 2015-2017 by Savoir-faire Linux *
- * Author: Anthony Léonard <anthony.leonard@savoirfairelinux.com> *
- * Author: Olivier Soldano <olivier.soldano@savoirfairelinux.com> *
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 3 of the License, or *
- * (at your option) any later version. *
- * *
- * This program is distributed in the hope that it will be useful, *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
- * GNU General Public License for more details. *
- * *
- * You should have received a copy of the GNU General Public License *
- * along with this program. If not, see <http://www.gnu.org/licenses/>. *
- **************************************************************************/
-
-#include <QDebug>
-
-#include "sendcontactrequestwidget.h"
-#include "ui_sendcontactrequestwidget.h"
-#include "account.h"
-#include "accountmodel.h"
-#include "availableaccountmodel.h"
-#include "recentmodel.h"
-#include "contactmethod.h"
-#include "phonedirectorymodel.h"
-
-SendContactRequestWidget::SendContactRequestWidget(QWidget *parent) :
- QWidget(parent),
- ui(new Ui::SendContactRequestWidget)
-{
- ui->setupUi(this);
- ui->peerContactID->setText("ContactID"); // TODO: Display RingID/Username
-}
-
-SendContactRequestWidget::~SendContactRequestWidget()
-{
- disconnect(sendCRClickedConnection_);
- delete ui;
-}
-
-void
-SendContactRequestWidget::setup(const QModelIndex& nodeIdx)
-{
- auto cmVector = RecentModel::instance().getContactMethods(nodeIdx);
- disconnect(sendCRClickedConnection_);
- QString number = cmVector[0]->uri();
- ui->peerContactID->setText(number);
- sendCRClickedConnection_ = connect(ui->sendContactRequestButton, &QPushButton::clicked, [this,nodeIdx]() {
- sendCR(nodeIdx);
- });
-}
-
-void SendContactRequestWidget::sendCR(const QModelIndex& nodeIdx)
-{
- auto cmVector = RecentModel::instance().getContactMethods(nodeIdx);
- QString number = cmVector[0]->uri();
- auto cm = PhoneDirectoryModel::instance().getNumber(number);
-
- if(cm->account() != nullptr){
- cm->account()->sendContactRequest(cm);
- } else {
- qDebug() << "no account linked to contact method";
- auto idx = AvailableAccountModel::instance().selectionModel()->currentIndex();
- if (idx.isValid()) {
- cm->setAccount(idx.data(static_cast<int>(Ring::Role::Object)).value<Account*>());
- cm->account()->sendContactRequest(cm);
- }
- }
-}
diff --git a/sendcontactrequestwidget.h b/sendcontactrequestwidget.h
deleted file mode 100644
index d23788d..0000000
--- a/sendcontactrequestwidget.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/**************************************************************************
-* Copyright (C) 2015-2017 by Savoir-faire Linux *
-* Author: Anthony Léonard <anthony.leonard@savoirfairelinux.com> *
-* Author: Olivier Soldano <olivier.soldano@savoirfairelinux.com> *
-* *
-* This program is free software; you can redistribute it and/or modify *
-* it under the terms of the GNU General Public License as published by *
-* the Free Software Foundation; either version 3 of the License, or *
-* (at your option) any later version. *
-* *
-* This program is distributed in the hope that it will be useful, *
-* but WITHOUT ANY WARRANTY; without even the implied warranty of *
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-* GNU General Public License for more details. *
-* *
-* You should have received a copy of the GNU General Public License *
-* along with this program. If not, see <http://www.gnu.org/licenses/>. *
-**************************************************************************/
-
-#ifndef SENDCONTACTREQUESTWIDGET_H
-#define SENDCONTACTREQUESTWIDGET_H
-
-#include <QWidget>
-
-namespace Ui {
-class SendContactRequestWidget;
-}
-
-class SendContactRequestWidget : public QWidget
-{
- Q_OBJECT
-
-public:
- explicit SendContactRequestWidget(QWidget *parent = 0);
- ~SendContactRequestWidget();
- void setup(const QModelIndex& nodeIdx);
- void sendCR(const QModelIndex& nodeIdx);
-
-private:
- QMetaObject::Connection sendCRClickedConnection_;
- Ui::SendContactRequestWidget *ui;
-
-signals:
- void sendCRclicked();
-};
-
-#endif // SENDCONTACTREQUESTWIDGET_H
diff --git a/sendcontactrequestwidget.ui b/sendcontactrequestwidget.ui
deleted file mode 100644
index 7a4182e..0000000
--- a/sendcontactrequestwidget.ui
+++ /dev/null
@@ -1,99 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>SendContactRequestWidget</class>
- <widget class="QWidget" name="SendContactRequestWidget">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>519</width>
- <height>393</height>
- </rect>
- </property>
- <property name="windowTitle">
- <string>Form</string>
- </property>
- <layout class="QVBoxLayout" name="verticalLayout">
- <item alignment="Qt::AlignHCenter">
- <widget class="QLabel" name="peerContactID">
- <property name="minimumSize">
- <size>
- <width>20</width>
- <height>0</height>
- </size>
- </property>
- <property name="text">
- <string>ContactID</string>
- </property>
- </widget>
- </item>
- <item alignment="Qt::AlignHCenter">
- <widget class="QLabel" name="contactRequestInfo">
- <property name="minimumSize">
- <size>
- <width>20</width>
- <height>0</height>
- </size>
- </property>
- <property name="text">
- <string>TODO: Explain the purpose of a contact request</string>
- </property>
- </widget>
- </item>
- <item>
- <spacer name="verticalSpacer_2">
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>40</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <widget class="QTextEdit" name="contactRequestTextEdit"/>
- </item>
- <item alignment="Qt::AlignHCenter">
- <widget class="QPushButton" name="sendContactRequestButton">
- <property name="sizePolicy">
- <sizepolicy hsizetype="MinimumExpanding" vsizetype="Minimum">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>150</width>
- <height>30</height>
- </size>
- </property>
- <property name="styleSheet">
- <string notr="true">padding-left: 10px;
-padding-right: 10px;</string>
- </property>
- <property name="text">
- <string>Send contact request</string>
- </property>
- </widget>
- </item>
- <item>
- <spacer name="verticalSpacer">
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>40</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </widget>
- <resources/>
- <connections/>
-</ui>
diff --git a/settingswidget.h b/settingswidget.h
index 5fb68d1..e79e6ba 100644
--- a/settingswidget.h
+++ b/settingswidget.h
@@ -22,8 +22,6 @@
#include <QMovie>
#include "navwidget.h"
-#include "accountdetails.h"
-#include "accountstatedelegate.h"
#include "lrcinstance.h"
#include "advancedsettingswidget.h"
diff --git a/videooverlay.cpp b/videooverlay.cpp
index f0706fe..a358dee 100644
--- a/videooverlay.cpp
+++ b/videooverlay.cpp
@@ -20,9 +20,6 @@
#include "videooverlay.h"
#include "ui_videooverlay.h"
-// Client
-#include "contactpicker.h"
-
// LRC
#include "callmodel.h"
#include "contactmethod.h"
@@ -34,9 +31,7 @@
VideoOverlay::VideoOverlay(QWidget* parent) :
QWidget(parent),
- ui(new Ui::VideoOverlay),
- transferDialog_(new CallUtilsDialog()),
- qualityDialog_(new QualityDialog())
+ ui(new Ui::VideoOverlay)
{
ui->setupUi(this);
@@ -49,23 +44,11 @@
ui->noMicButton->setCheckable(true);
ui->onHoldLabel->setVisible(false);
-
- transferDialog_->setAttribute(Qt::WA_TranslucentBackground);
- connect(transferDialog_, &CallUtilsDialog::isVisible, [this] (bool visible) {
- dialogVisible_ = visible;
- });
-
- qualityDialog_->setAttribute(Qt::WA_TranslucentBackground);
- connect(qualityDialog_, &QualityDialog::isVisible, [this] (bool visible) {
- dialogVisible_ = visible;
- });
}
VideoOverlay::~VideoOverlay()
{
delete ui;
- delete transferDialog_;
- delete qualityDialog_;
}
void
@@ -122,30 +105,6 @@
}
void
-VideoOverlay::on_transferButton_clicked()
-{
- transferDialog_->setConfMode(false);
- auto pos = this->mapToGlobal(ui->transferButton->pos());
- transferDialog_->move(pos.x()
- - transferDialog_->size().width()/2
- + ui->transferButton->size().width()/2,
- pos.y() - (transferDialog_->height()));
- transferDialog_->show();
-}
-
-void
-VideoOverlay::on_addPersonButton_clicked()
-{
- transferDialog_->setConfMode(true);
- auto pos = this->mapToGlobal(ui->addPersonButton->pos());
- transferDialog_->move(pos.x()
- - transferDialog_->size().width()/2
- + ui->addPersonButton->size().width()/2,
- pos.y() - (transferDialog_->height()));
- transferDialog_->show();
-}
-
-void
VideoOverlay::on_holdButton_clicked()
{
auto selectedConvUid = LRCInstance::getSelectedConvUid();
@@ -189,24 +148,6 @@
}
}
-
-void VideoOverlay::on_joinButton_clicked()
-{
- // TODO:(newlrc) conferences
- //CallModel::instance().selectedCall()->joinToParent();
-}
-
-void
-VideoOverlay::on_qualityButton_clicked()
-{
- auto pos = this->mapToGlobal(ui->qualityButton->pos());
- qualityDialog_->move(pos.x()
- - qualityDialog_->size().width()/2
- + ui->qualityButton->size().width()/2,
- pos.y() - (qualityDialog_->height()));
- qualityDialog_->show();
-}
-
void
VideoOverlay::on_recButton_clicked()
{
diff --git a/videooverlay.h b/videooverlay.h
index bf49b1f..f852948 100644
--- a/videooverlay.h
+++ b/videooverlay.h
@@ -21,11 +21,6 @@
#include <QWidget>
#include <QMenu>
-#include "useractionmodel.h"
-
-#include "callutilsdialog.h"
-#include "qualitydialog.h"
-
namespace Ui {
class VideoOverlay;
}
@@ -50,20 +45,14 @@
private slots:
void on_hangupButton_clicked();
void on_chatButton_toggled(bool checked);
- void on_transferButton_clicked();
- void on_addPersonButton_clicked();
void on_holdButton_clicked();
- void on_joinButton_clicked();
void on_noMicButton_clicked();
void on_noVideoButton_clicked();
- void on_qualityButton_clicked();
void on_recButton_clicked();
void on_videoCfgBtn_clicked();
private:
Ui::VideoOverlay* ui;
- CallUtilsDialog* transferDialog_;
- QualityDialog* qualityDialog_;
bool dialogVisible_ = false;
signals:
diff --git a/videooverlay.ui b/videooverlay.ui
index 956d5bb..19b7adc 100644
--- a/videooverlay.ui
+++ b/videooverlay.ui
@@ -139,70 +139,6 @@
</widget>
</item>
<item>
- <widget class="QPushButton" name="addPersonButton">
- <property name="minimumSize">
- <size>
- <width>36</width>
- <height>36</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>36</width>
- <height>36</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Add person to call</string>
- </property>
- <property name="text">
- <string/>
- </property>
- <property name="icon">
- <iconset resource="ressources.qrc">
- <normaloff>:/images/icons/ic_person_add_white_24dp.png</normaloff>:/images/icons/ic_person_add_white_24dp.png</iconset>
- </property>
- <property name="iconSize">
- <size>
- <width>24</width>
- <height>24</height>
- </size>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="transferButton">
- <property name="minimumSize">
- <size>
- <width>36</width>
- <height>36</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>36</width>
- <height>36</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Transfer call</string>
- </property>
- <property name="text">
- <string/>
- </property>
- <property name="icon">
- <iconset resource="ressources.qrc">
- <normaloff>:/images/icons/ic_call_transfer_white_24px.png</normaloff>:/images/icons/ic_call_transfer_white_24px.png</iconset>
- </property>
- <property name="iconSize">
- <size>
- <width>24</width>
- <height>24</height>
- </size>
- </property>
- </widget>
- </item>
- <item>
<widget class="QPushButton" name="noMicButton">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
@@ -323,70 +259,6 @@
</widget>
</item>
<item>
- <widget class="QPushButton" name="qualityButton">
- <property name="minimumSize">
- <size>
- <width>36</width>
- <height>36</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>36</width>
- <height>36</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Quality</string>
- </property>
- <property name="text">
- <string/>
- </property>
- <property name="icon">
- <iconset resource="ressources.qrc">
- <normaloff>:/images/icons/ic_high_quality_white_24dp.png</normaloff>:/images/icons/ic_high_quality_white_24dp.png</iconset>
- </property>
- <property name="iconSize">
- <size>
- <width>24</width>
- <height>24</height>
- </size>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="joinButton">
- <property name="minimumSize">
- <size>
- <width>36</width>
- <height>36</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>36</width>
- <height>36</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Join Calls</string>
- </property>
- <property name="text">
- <string/>
- </property>
- <property name="icon">
- <iconset resource="ressources.qrc">
- <normaloff>:/images/icons/ic_group_add_white_24dp.png</normaloff>:/images/icons/ic_group_add_white_24dp.png</iconset>
- </property>
- <property name="iconSize">
- <size>
- <width>24</width>
- <height>24</height>
- </size>
- </property>
- </widget>
- </item>
- <item>
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
diff --git a/videoview.cpp b/videoview.cpp
index 36c0a30..b461e61 100644
--- a/videoview.cpp
+++ b/videoview.cpp
@@ -22,11 +22,6 @@
#include "utils.h"
#include "lrcinstance.h"
-#include "video/devicemodel.h"
-#include "video/sourcemodel.h"
-#include "recentmodel.h"
-#include "media/video.h"
-
#include <QGraphicsOpacityEffect>
#include <QPropertyAnimation>
#include <QDesktopWidget>
@@ -325,24 +320,6 @@
}
void
-VideoView::pushRenderer(Call* call) {
- if (not call) {
- disconnect(videoStartedConnection_);
- return;
- }
- if (auto renderer = call->videoRenderer()) {
- slotVideoStarted(renderer);
- } else {
- disconnect(videoStartedConnection_);
- videoStartedConnection_ = connect(call,
- SIGNAL(videoStarted(Video::Renderer*)),
- this,
- SLOT(slotVideoStarted(Video::Renderer*)));
- }
- ui->videoWidget->setPreviewDisplay(call->type() != Call::Type::CONFERENCE);
-}
-
-void
VideoView::pushRenderer(const std::string& callUid) {
auto callModel = LRCInstance::getCurrentCallModel();
@@ -357,7 +334,7 @@
[this](const std::string& callId, Video::Renderer* renderer) {
Q_UNUSED(callId);
slotVideoStarted(renderer);
- this->overlay_->setVideoMuteVisibility(LRCInstance::getCurrentCallModel()->getCall(callId).isAudioOnly);
+ this->overlay_->setVideoMuteVisibility(!LRCInstance::getCurrentCallModel()->getCall(callId).isAudioOnly);
});
ui->videoWidget->setPreviewDisplay(call.type != lrc::api::call::Type::CONFERENCE);
}
diff --git a/videoview.h b/videoview.h
index 41f02f0..17e83d6 100644
--- a/videoview.h
+++ b/videoview.h
@@ -23,6 +23,11 @@
#include <QMouseEvent>
#include <QPropertyAnimation>
+#include "callmodel.h"
+#include "video/devicemodel.h"
+#include "video/sourcemodel.h"
+#include "media/video.h"
+
#include "videooverlay.h"
namespace Ui {
@@ -36,7 +41,6 @@
public:
explicit VideoView(QWidget* parent = 0);
~VideoView();
- void pushRenderer(Call* call);
void pushRenderer(const std::string& callUid);
protected: