File indexing completed on 2024-12-08 04:34:12
0001 /* 0002 SPDX-FileCopyrightText: 2023-2024 Laurent Montel <montel.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #include "createnewserverstackwidget.h" 0008 #include "createnewservercheckurlwidget.h" 0009 #include "createnewserverwidget.h" 0010 0011 CreateNewServerStackWidget::CreateNewServerStackWidget(QWidget *parent) 0012 : QStackedWidget(parent) 0013 , mCreateNewServerCheckUrlWidget(new CreateNewServerCheckUrlWidget(this)) 0014 , mCreateNewServerWidget(new CreateNewServerWidget(this)) 0015 { 0016 mCreateNewServerCheckUrlWidget->setObjectName(QStringLiteral("mCreateNewServerCheckUrlWidget")); 0017 addWidget(mCreateNewServerCheckUrlWidget); 0018 0019 mCreateNewServerWidget->setObjectName(QStringLiteral("mCreateNewServerWidget")); 0020 addWidget(mCreateNewServerWidget); 0021 setCurrentWidget(mCreateNewServerCheckUrlWidget); 0022 connect(mCreateNewServerCheckUrlWidget, 0023 &CreateNewServerCheckUrlWidget::serverUrlFound, 0024 this, 0025 [this](const CreateNewServerCheckUrlWidget::ServerInfo &serverInfo) { 0026 AccountManager::AccountManagerInfo info; 0027 info.serverUrl = serverInfo.url; 0028 info.authenticationInfos = serverInfo.authenticationInfos; 0029 info.canResetPassword = serverInfo.canResetPassword; 0030 info.canRegisterAccount = serverInfo.canRegisterAccount; 0031 setAccountInfo(std::move(info)); 0032 }); 0033 connect(mCreateNewServerWidget, &CreateNewServerWidget::updateOkButton, this, &CreateNewServerStackWidget::updateOkButton); 0034 connect(mCreateNewServerWidget, &CreateNewServerWidget::authentication, this, &CreateNewServerStackWidget::authentication); 0035 } 0036 0037 CreateNewServerStackWidget::~CreateNewServerStackWidget() = default; 0038 0039 void CreateNewServerStackWidget::setExistingAccountName(const QStringList &lst) 0040 { 0041 mCreateNewServerWidget->setExistingAccountName(lst); 0042 } 0043 0044 AccountManager::AccountManagerInfo CreateNewServerStackWidget::accountInfo() const 0045 { 0046 const AccountManager::AccountManagerInfo info = mCreateNewServerWidget->accountInfo(); 0047 return info; 0048 } 0049 0050 void CreateNewServerStackWidget::setAccountInfo(const AccountManager::AccountManagerInfo &info) 0051 { 0052 mCreateNewServerWidget->setAccountInfo(info); 0053 setCurrentWidget(mCreateNewServerWidget); 0054 } 0055 #include "moc_createnewserverstackwidget.cpp"