Changeset View
Changeset View
Standalone View
Standalone View
resources/pop3/accountwidget.cpp
Show First 20 Lines • Show All 63 Lines • ▼ Show 20 Line(s) | 60 | #endif | |||
---|---|---|---|---|---|
64 | { | 64 | { | ||
65 | #ifndef QT_NO_CURSOR | 65 | #ifndef QT_NO_CURSOR | ||
66 | qApp->restoreOverrideCursor(); | 66 | qApp->restoreOverrideCursor(); | ||
67 | #endif | 67 | #endif | ||
68 | } | 68 | } | ||
69 | }; | 69 | }; | ||
70 | } | 70 | } | ||
71 | 71 | | |||
72 | AccountWidget::AccountWidget(const QString &identifier, QWidget *parent) | 72 | AccountWidget::AccountWidget(Settings &settings, const QString &identifier, QWidget *parent) | ||
73 | : QWidget(parent) | 73 | : QWidget(parent) | ||
74 | , mValidator(this) | 74 | , mValidator(this) | ||
75 | , mIdentifier(identifier) | 75 | , mIdentifier(identifier) | ||
76 | , mSettings(settings) | ||||
76 | { | 77 | { | ||
77 | mValidator.setRegExp(QRegExp(QLatin1String("[A-Za-z0-9-_:.]*"))); | 78 | mValidator.setRegExp(QRegExp(QLatin1String("[A-Za-z0-9-_:.]*"))); | ||
78 | 79 | | |||
79 | setupWidgets(); | 80 | setupWidgets(); | ||
80 | } | 81 | } | ||
81 | 82 | | |||
82 | AccountWidget::~AccountWidget() | 83 | AccountWidget::~AccountWidget() | ||
83 | { | 84 | { | ||
▲ Show 20 Lines • Show All 54 Lines • ▼ Show 20 Line(s) | 92 | { | |||
138 | 139 | | |||
139 | // FIXME: Hide widgets which are not supported yet | 140 | // FIXME: Hide widgets which are not supported yet | ||
140 | filterOnServerCheck->hide(); | 141 | filterOnServerCheck->hide(); | ||
141 | filterOnServerSizeSpin->hide(); | 142 | filterOnServerSizeSpin->hide(); | ||
142 | } | 143 | } | ||
143 | 144 | | |||
144 | void AccountWidget::loadSettings() | 145 | void AccountWidget::loadSettings() | ||
145 | { | 146 | { | ||
146 | if (Settings::self()->name().isEmpty()) { | 147 | if (mSettings.name().isEmpty()) { | ||
147 | nameEdit->setText(i18n("POP3 Account")); | 148 | nameEdit->setText(i18n("POP3 Account")); | ||
148 | } else { | 149 | } else { | ||
149 | nameEdit->setText(Settings::self()->name()); | 150 | nameEdit->setText(mSettings.name()); | ||
150 | } | 151 | } | ||
151 | 152 | | |||
152 | nameEdit->setFocus(); | 153 | nameEdit->setFocus(); | ||
153 | loginEdit->setText(!Settings::self()->login().isEmpty() ? Settings::self()->login() | 154 | loginEdit->setText(!mSettings.login().isEmpty() ? mSettings.login() | ||
154 | : KUser().loginName()); | 155 | : KUser().loginName()); | ||
155 | 156 | | |||
156 | hostEdit->setText( | 157 | hostEdit->setText( | ||
157 | !Settings::self()->host().isEmpty() ? Settings::self()->host() | 158 | !mSettings.host().isEmpty() ? mSettings.host() | ||
158 | : KEMailSettings().getSetting(KEMailSettings::InServer)); | 159 | : KEMailSettings().getSetting(KEMailSettings::InServer)); | ||
159 | hostEdit->setText(Settings::self()->host()); | 160 | hostEdit->setText(mSettings.host()); | ||
160 | portEdit->setValue(Settings::self()->port()); | 161 | portEdit->setValue(mSettings.port()); | ||
161 | precommand->setText(Settings::self()->precommand()); | 162 | precommand->setText(mSettings.precommand()); | ||
162 | usePipeliningCheck->setChecked(Settings::self()->pipelining()); | 163 | usePipeliningCheck->setChecked(mSettings.pipelining()); | ||
163 | leaveOnServerCheck->setChecked(Settings::self()->leaveOnServer()); | 164 | leaveOnServerCheck->setChecked(mSettings.leaveOnServer()); | ||
164 | leaveOnServerDaysCheck->setEnabled(Settings::self()->leaveOnServer()); | 165 | leaveOnServerDaysCheck->setEnabled(mSettings.leaveOnServer()); | ||
165 | leaveOnServerDaysCheck->setChecked(Settings::self()->leaveOnServerDays() >= 1); | 166 | leaveOnServerDaysCheck->setChecked(mSettings.leaveOnServerDays() >= 1); | ||
166 | leaveOnServerDaysSpin->setValue(Settings::self()->leaveOnServerDays() >= 1 | 167 | leaveOnServerDaysSpin->setValue(mSettings.leaveOnServerDays() >= 1 | ||
167 | ? Settings::self()->leaveOnServerDays() : 7); | 168 | ? mSettings.leaveOnServerDays() : 7); | ||
168 | leaveOnServerCountCheck->setEnabled(Settings::self()->leaveOnServer()); | 169 | leaveOnServerCountCheck->setEnabled(mSettings.leaveOnServer()); | ||
169 | leaveOnServerCountCheck->setChecked(Settings::self()->leaveOnServerCount() >= 1); | 170 | leaveOnServerCountCheck->setChecked(mSettings.leaveOnServerCount() >= 1); | ||
170 | leaveOnServerCountSpin->setValue(Settings::self()->leaveOnServerCount() >= 1 | 171 | leaveOnServerCountSpin->setValue(mSettings.leaveOnServerCount() >= 1 | ||
171 | ? Settings::self()->leaveOnServerCount() : 100); | 172 | ? mSettings.leaveOnServerCount() : 100); | ||
172 | leaveOnServerSizeCheck->setEnabled(Settings::self()->leaveOnServer()); | 173 | leaveOnServerSizeCheck->setEnabled(mSettings.leaveOnServer()); | ||
173 | leaveOnServerSizeCheck->setChecked(Settings::self()->leaveOnServerSize() >= 1); | 174 | leaveOnServerSizeCheck->setChecked(mSettings.leaveOnServerSize() >= 1); | ||
174 | leaveOnServerSizeSpin->setValue(Settings::self()->leaveOnServerSize() >= 1 | 175 | leaveOnServerSizeSpin->setValue(mSettings.leaveOnServerSize() >= 1 | ||
175 | ? Settings::self()->leaveOnServerSize() : 10); | 176 | ? mSettings.leaveOnServerSize() : 10); | ||
176 | filterOnServerCheck->setChecked(Settings::self()->filterOnServer()); | 177 | filterOnServerCheck->setChecked(mSettings.filterOnServer()); | ||
177 | filterOnServerSizeSpin->setValue(Settings::self()->filterCheckSize()); | 178 | filterOnServerSizeSpin->setValue(mSettings.filterCheckSize()); | ||
178 | intervalCheck->setChecked(Settings::self()->intervalCheckEnabled()); | 179 | intervalCheck->setChecked(mSettings.intervalCheckEnabled()); | ||
179 | intervalSpin->setValue(Settings::self()->intervalCheckInterval()); | 180 | intervalSpin->setValue(mSettings.intervalCheckInterval()); | ||
180 | intervalSpin->setEnabled(Settings::self()->intervalCheckEnabled()); | 181 | intervalSpin->setEnabled(mSettings.intervalCheckEnabled()); | ||
181 | 182 | | |||
182 | const int authenticationMethod = Settings::self()->authenticationMethod(); | 183 | const int authenticationMethod = mSettings.authenticationMethod(); | ||
183 | authCombo->setCurrentIndex(authCombo->findData(authenticationMethod)); | 184 | authCombo->setCurrentIndex(authCombo->findData(authenticationMethod)); | ||
184 | encryptionNone->setChecked(!Settings::self()->useSSL() && !Settings::self()->useTLS()); | 185 | encryptionNone->setChecked(!mSettings.useSSL() && !mSettings.useTLS()); | ||
185 | encryptionSSL->setChecked(Settings::self()->useSSL()); | 186 | encryptionSSL->setChecked(mSettings.useSSL()); | ||
186 | encryptionTLS->setChecked(Settings::self()->useTLS()); | 187 | encryptionTLS->setChecked(mSettings.useTLS()); | ||
187 | proxyCheck->setChecked(Settings::self()->useProxy()); | 188 | proxyCheck->setChecked(mSettings.useProxy()); | ||
188 | 189 | | |||
189 | slotEnableLeaveOnServerDays(leaveOnServerDaysCheck->isEnabled() | 190 | slotEnableLeaveOnServerDays(leaveOnServerDaysCheck->isEnabled() | ||
190 | ? Settings::self()->leaveOnServerDays() >= 1 : false); | 191 | ? mSettings.leaveOnServerDays() >= 1 : false); | ||
191 | slotEnableLeaveOnServerCount(leaveOnServerCountCheck->isEnabled() | 192 | slotEnableLeaveOnServerCount(leaveOnServerCountCheck->isEnabled() | ||
192 | ? Settings::self()->leaveOnServerCount() >= 1 : false); | 193 | ? mSettings.leaveOnServerCount() >= 1 : false); | ||
193 | slotEnableLeaveOnServerSize(leaveOnServerSizeCheck->isEnabled() | 194 | slotEnableLeaveOnServerSize(leaveOnServerSizeCheck->isEnabled() | ||
194 | ? Settings::self()->leaveOnServerSize() >= 1 : false); | 195 | ? mSettings.leaveOnServerSize() >= 1 : false); | ||
195 | 196 | | |||
196 | // We need to fetch the collection, as the CollectionRequester needs the name | 197 | // We need to fetch the collection, as the CollectionRequester needs the name | ||
197 | // of it to work correctly | 198 | // of it to work correctly | ||
198 | Collection targetCollection(Settings::self()->targetCollection()); | 199 | Collection targetCollection(mSettings.targetCollection()); | ||
199 | if (targetCollection.isValid()) { | 200 | if (targetCollection.isValid()) { | ||
200 | CollectionFetchJob *fetchJob = new CollectionFetchJob(targetCollection, | 201 | CollectionFetchJob *fetchJob = new CollectionFetchJob(targetCollection, | ||
201 | CollectionFetchJob::Base, | 202 | CollectionFetchJob::Base, | ||
202 | this); | 203 | this); | ||
203 | connect(fetchJob, &CollectionFetchJob::collectionsReceived, this, &AccountWidget::targetCollectionReceived); | 204 | connect(fetchJob, &CollectionFetchJob::collectionsReceived, this, &AccountWidget::targetCollectionReceived); | ||
204 | } else { | 205 | } else { | ||
205 | // FIXME: This is a bit duplicated from POP3Resource... | 206 | // FIXME: This is a bit duplicated from POP3Resource... | ||
206 | 207 | | |||
▲ Show 20 Lines • Show All 333 Lines • ▼ Show 20 Line(s) | |||||
540 | { | 541 | { | ||
541 | saveSettings(); | 542 | saveSettings(); | ||
542 | // Don't call accept() yet, saveSettings() triggers an asynchronous wallet operation, | 543 | // Don't call accept() yet, saveSettings() triggers an asynchronous wallet operation, | ||
543 | // which will call accept() when it is finished | 544 | // which will call accept() when it is finished | ||
544 | } | 545 | } | ||
545 | 546 | | |||
546 | void AccountWidget::saveSettings() | 547 | void AccountWidget::saveSettings() | ||
547 | { | 548 | { | ||
548 | Settings::self()->setName(nameEdit->text()); | 549 | mSettings.setName(nameEdit->text()); | ||
549 | Settings::self()->setIntervalCheckEnabled(intervalCheck->checkState() == Qt::Checked); | 550 | mSettings.setIntervalCheckEnabled(intervalCheck->checkState() == Qt::Checked); | ||
550 | Settings::self()->setIntervalCheckInterval(intervalSpin->value()); | 551 | mSettings.setIntervalCheckInterval(intervalSpin->value()); | ||
551 | Settings::self()->setHost(hostEdit->text().trimmed()); | 552 | mSettings.setHost(hostEdit->text().trimmed()); | ||
552 | Settings::self()->setPort(portEdit->value()); | 553 | mSettings.setPort(portEdit->value()); | ||
553 | Settings::self()->setLogin(loginEdit->text().trimmed()); | 554 | mSettings.setLogin(loginEdit->text().trimmed()); | ||
554 | Settings::self()->setPrecommand(precommand->text()); | 555 | mSettings.setPrecommand(precommand->text()); | ||
555 | Settings::self()->setUseSSL(encryptionSSL->isChecked()); | 556 | mSettings.setUseSSL(encryptionSSL->isChecked()); | ||
556 | Settings::self()->setUseTLS(encryptionTLS->isChecked()); | 557 | mSettings.setUseTLS(encryptionTLS->isChecked()); | ||
557 | Settings::self()->setAuthenticationMethod(authCombo->itemData(authCombo->currentIndex()).toInt()); | 558 | mSettings.setAuthenticationMethod(authCombo->itemData(authCombo->currentIndex()).toInt()); | ||
558 | Settings::self()->setUseProxy(proxyCheck->isChecked()); | 559 | mSettings.setUseProxy(proxyCheck->isChecked()); | ||
559 | Settings::self()->setPipelining(usePipeliningCheck->isChecked()); | 560 | mSettings.setPipelining(usePipeliningCheck->isChecked()); | ||
560 | Settings::self()->setLeaveOnServer(leaveOnServerCheck->isChecked()); | 561 | mSettings.setLeaveOnServer(leaveOnServerCheck->isChecked()); | ||
561 | Settings::self()->setLeaveOnServerDays(leaveOnServerCheck->isChecked() | 562 | mSettings.setLeaveOnServerDays(leaveOnServerCheck->isChecked() | ||
562 | ? (leaveOnServerDaysCheck->isChecked() | 563 | ? (leaveOnServerDaysCheck->isChecked() | ||
563 | ? leaveOnServerDaysSpin->value() : -1) : 0); | 564 | ? leaveOnServerDaysSpin->value() : -1) : 0); | ||
564 | Settings::self()->setLeaveOnServerCount(leaveOnServerCheck->isChecked() | 565 | mSettings.setLeaveOnServerCount(leaveOnServerCheck->isChecked() | ||
565 | ? (leaveOnServerCountCheck->isChecked() | 566 | ? (leaveOnServerCountCheck->isChecked() | ||
566 | ? leaveOnServerCountSpin->value() : -1) : 0); | 567 | ? leaveOnServerCountSpin->value() : -1) : 0); | ||
567 | Settings::self()->setLeaveOnServerSize(leaveOnServerCheck->isChecked() | 568 | mSettings.setLeaveOnServerSize(leaveOnServerCheck->isChecked() | ||
568 | ? (leaveOnServerSizeCheck->isChecked() | 569 | ? (leaveOnServerSizeCheck->isChecked() | ||
569 | ? leaveOnServerSizeSpin->value() : -1) : 0); | 570 | ? leaveOnServerSizeSpin->value() : -1) : 0); | ||
570 | Settings::self()->setFilterOnServer(filterOnServerCheck->isChecked()); | 571 | mSettings.setFilterOnServer(filterOnServerCheck->isChecked()); | ||
571 | Settings::self()->setFilterCheckSize(filterOnServerSizeSpin->value()); | 572 | mSettings.setFilterCheckSize(filterOnServerSizeSpin->value()); | ||
572 | Settings::self()->setTargetCollection(folderRequester->collection().id()); | 573 | mSettings.setTargetCollection(folderRequester->collection().id()); | ||
573 | Settings::self()->save(); | 574 | mSettings.save(); | ||
574 | 575 | | |||
575 | // Now, either save the password or delete it from the wallet. For both, we need | 576 | // Now, either save the password or delete it from the wallet. For both, we need | ||
576 | // to open it. | 577 | // to open it. | ||
577 | const bool userChangedPassword = mInitalPassword != passwordEdit->password(); | 578 | const bool userChangedPassword = mInitalPassword != passwordEdit->password(); | ||
578 | const bool userWantsToDeletePassword | 579 | const bool userWantsToDeletePassword | ||
579 | = passwordEdit->password().isEmpty() && userChangedPassword; | 580 | = passwordEdit->password().isEmpty() && userChangedPassword; | ||
580 | 581 | | |||
581 | if ((!passwordEdit->password().isEmpty() && userChangedPassword) | 582 | if ((!passwordEdit->password().isEmpty() && userChangedPassword) | ||
▲ Show 20 Lines • Show All 60 Lines • Show Last 20 Lines |