1 // For license of this file, see <project-root-folder>/LICENSE.md. 2 3 #include "services/owncloud/gui/formeditowncloudaccount.h" 4 5 #include "gui/guiutilities.h" 6 #include "miscellaneous/iconfactory.h" 7 #include "network-web/networkfactory.h" 8 #include "services/owncloud/definitions.h" 9 #include "services/owncloud/gui/owncloudaccountdetails.h" 10 #include "services/owncloud/owncloudnetworkfactory.h" 11 #include "services/owncloud/owncloudserviceroot.h" 12 FormEditOwnCloudAccount(QWidget * parent)13FormEditOwnCloudAccount::FormEditOwnCloudAccount(QWidget* parent) 14 : FormAccountDetails(qApp->icons()->miscIcon(QSL("nextcloud")), parent), m_details(new OwnCloudAccountDetails(this)) { 15 insertCustomTab(m_details, tr("Server setup"), 0); 16 activateTab(0); 17 18 connect(m_details->m_ui.m_btnTestSetup, &QPushButton::clicked, this, &FormEditOwnCloudAccount::performTest); 19 20 m_details->m_ui.m_txtUrl->setFocus(); 21 } 22 apply()23void FormEditOwnCloudAccount::apply() { 24 FormAccountDetails::apply(); 25 26 bool using_another_acc = 27 m_details->m_ui.m_txtUsername->lineEdit()->text() != account<OwnCloudServiceRoot>()->network()->authUsername() || 28 m_details->m_ui.m_txtUrl->lineEdit()->text() != account<OwnCloudServiceRoot>()->network()->url(); 29 30 account<OwnCloudServiceRoot>()->network()->setUrl(m_details->m_ui.m_txtUrl->lineEdit()->text()); 31 account<OwnCloudServiceRoot>()->network()->setAuthUsername(m_details->m_ui.m_txtUsername->lineEdit()->text()); 32 account<OwnCloudServiceRoot>()->network()->setAuthPassword(m_details->m_ui.m_txtPassword->lineEdit()->text()); 33 account<OwnCloudServiceRoot>()->network()->setForceServerSideUpdate(m_details->m_ui.m_checkServerSideUpdate->isChecked()); 34 account<OwnCloudServiceRoot>()->network()->setBatchSize(m_details->m_ui.m_spinLimitMessages->value()); 35 account<OwnCloudServiceRoot>()->network()->setDownloadOnlyUnreadMessages(m_details->m_ui.m_checkDownloadOnlyUnreadMessages->isChecked()); 36 37 account<OwnCloudServiceRoot>()->saveAccountDataToDatabase(); 38 accept(); 39 40 if (!m_creatingNew && using_another_acc) { 41 account<OwnCloudServiceRoot>()->completelyRemoveAllData(); 42 account<OwnCloudServiceRoot>()->start(true); 43 } 44 } 45 loadAccountData()46void FormEditOwnCloudAccount::loadAccountData() { 47 FormAccountDetails::loadAccountData(); 48 49 OwnCloudServiceRoot* existing_root = account<OwnCloudServiceRoot>(); 50 51 m_details->m_ui.m_txtUsername->lineEdit()->setText(existing_root->network()->authUsername()); 52 m_details->m_ui.m_txtPassword->lineEdit()->setText(existing_root->network()->authPassword()); 53 m_details->m_ui.m_txtUrl->lineEdit()->setText(existing_root->network()->url()); 54 m_details->m_ui.m_checkDownloadOnlyUnreadMessages->setChecked(existing_root->network()->downloadOnlyUnreadMessages()); 55 m_details->m_ui.m_checkServerSideUpdate->setChecked(existing_root->network()->forceServerSideUpdate()); 56 m_details->m_ui.m_spinLimitMessages->setValue(existing_root->network()->batchSize()); 57 } 58 performTest()59void FormEditOwnCloudAccount::performTest() { 60 m_details->performTest(m_proxyDetails->proxy()); 61 } 62