/* * Squawk messenger. * Copyright (C) 2019 Yury Gubich * * 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 . */ #include "account.h" #include "ui_account.h" Account::Account(): QDialog(), m_ui(new Ui::Account) { m_ui->setupUi(this); connect(m_ui->passwordType, qOverload(&QComboBox::currentIndexChanged), this, &Account::onComboboxChange); QStandardItemModel *model = static_cast(m_ui->passwordType->model()); for (int i = static_cast(Shared::AccountPasswordLowest); i < static_cast(Shared::AccountPasswordHighest) + 1; ++i) { Shared::AccountPassword ap = static_cast(i); m_ui->passwordType->addItem(Shared::Global::getName(ap)); } m_ui->passwordType->setCurrentIndex(static_cast(Shared::AccountPassword::plain)); if (!Shared::Global::supported("KWallet")) { QStandardItem *item = model->item(static_cast(Shared::AccountPassword::kwallet)); item->setFlags(item->flags() & ~Qt::ItemIsEnabled); } } Account::~Account() {} QMap Account::value() const { QMap map; map["login"] = m_ui->login->text(); map["password"] = m_ui->password->text(); map["server"] = m_ui->server->text(); map["name"] = m_ui->name->text(); map["resource"] = m_ui->resource->text(); map["passwordType"] = m_ui->passwordType->currentIndex(); map["active"] = m_ui->active->isChecked(); return map; } void Account::lockId() { m_ui->name->setReadOnly(true);; } void Account::setData(const QMap& data) { m_ui->login->setText(data.value("login").toString()); m_ui->password->setText(data.value("password").toString()); m_ui->server->setText(data.value("server").toString()); m_ui->name->setText(data.value("name").toString()); m_ui->resource->setText(data.value("resource").toString()); m_ui->passwordType->setCurrentIndex(data.value("passwordType").toInt()); } void Account::onComboboxChange(int index) { QString description = Shared::Global::getDescription(Shared::Global::fromInt(index)); m_ui->comment->setText(description); }