summaryrefslogtreecommitdiffstats
path: root/kresources/caldav/preferences.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'kresources/caldav/preferences.cpp')
-rw-r--r--kresources/caldav/preferences.cpp290
1 files changed, 0 insertions, 290 deletions
diff --git a/kresources/caldav/preferences.cpp b/kresources/caldav/preferences.cpp
deleted file mode 100644
index 10da60e0e..000000000
--- a/kresources/caldav/preferences.cpp
+++ /dev/null
@@ -1,290 +0,0 @@
-/*=========================================================================
-| KCalDAV
-|--------------------------------------------------------------------------
-| (c) 2010 Timothy Pearson
-| (c) 2009 Kumaran Santhanam (initial KDE4 version)
-|
-| This project is released under the GNU General Public License.
-| Please see the file COPYING for more details.
-|--------------------------------------------------------------------------
-| CalDAV resource preferences class.
- ========================================================================*/
-
-/*=========================================================================
-| INCLUDES
- ========================================================================*/
-
-#include "preferences.h"
-
-#include <kwallet.h>
-#include <tqstring.h>
-#include <tqurl.h>
-#include <kdebug.h>
-
-/*=========================================================================
-| NAMESPACES
- ========================================================================*/
-
-using namespace KCal;
-using namespace KWallet;
-
-/*=========================================================================
-| CONSTANTS
- ========================================================================*/
-
-const TQString CalDavPrefs::NO_PASSWORD = "";
-const TQString CalDavPrefs::WALLET_FOLDER = "CalDAV resource";
-const TQString CalDavPrefs::WALLET_PWD_SUFFIX = ":caldav_password";
-
-/*=========================================================================
-| METHODS
- ========================================================================*/
-
-bool CalDavPrefs::setWalletFolder(const TQString& folder) {
- bool ret = true;
-
- if (!mNoWallet && NULL != mWallet) {
- if (!mWallet->hasFolder(folder)) {
- if (!mWallet->createFolder(folder)) {
- ret = false;
- kdWarning() << "can't create the wallet folder for CalDAV passwords";
- }
- }
- if (!mWallet->setFolder(folder)) {
- ret = false;
- kdWarning() << "can't set the wallet folder for CalDAV passwords";
- }
- } else {
- // the wallet is inaccessible or not configured
- ret = false;
- }
-
- return ret;
-}
-
-Wallet* CalDavPrefs::getWallet() {
- Wallet* ret = NULL;
-
- if (!mNoWallet) {
- // the wallet is not marked as inaccessible
-
- if (NULL == mWallet) {
- kdDebug() << "creating wallet for " + mPrefix << '\n';
-
- mWallet = Wallet::openWallet(Wallet::NetworkWallet(), 0);
- if (NULL == mWallet) {
- mNoWallet = true; // can't open the wallet, mark it inaccessible
- kdWarning() << "can't create a wallet for CalDAV passwords";
- } else {
- if (setWalletFolder(WALLET_FOLDER)) {
- // reserved
- } else {
- // can't set the wallet folder, remove the wallet and mark it inaccessible
- kdWarning() << "can't set the walet folder for CalDAV passwords";
- removeWallet(true);
- }
- }
- }
-
- ret = mWallet;
- }
-
- return ret;
-}
-
-void CalDavPrefs::removeWallet(bool noWallet) {
- delete mWallet;
- mWallet = NULL;
- mNoWallet = noWallet;
-}
-
-void CalDavPrefs::addPrefix(const TQString& prefix) {
- TDEConfigSkeletonItem::List itemList = items();
- TDEConfigSkeletonItem::List::Iterator it;
-
- for ( it = itemList.begin(); it != itemList.end(); ++it ) {
- (*it)->setGroup( prefix + ':' + (*it)->group() );
- }
-}
-
-bool CalDavPrefs::writePasswordToWallet(const TQString& password) {
-
- Wallet* w = getWallet();
-
- bool ret = false;
- if (NULL != w) {
- int rc = w->writePassword(mPrefix + WALLET_PWD_SUFFIX, password);
- if (0 != rc) {
- kdWarning() << "CalDAV: can't write password to the wallet";
- } else {
- ret = true;
- }
- }
-
- return ret;
-}
-
-bool CalDavPrefs::readPasswordFromWallet(TQString& password) {
- Wallet* w = getWallet();
-
- bool ret = false;
- if (NULL != w) {
- TQString p;
- int rc = w->readPassword(mPrefix + WALLET_PWD_SUFFIX, p);
- if (0 == rc) {
- //CalDavPrefsSkel::setPassword(p);
- password = p;
- ret = true;
- } else {
- kdWarning() << "CalDAV: can't read password from the wallet";
- password = NO_PASSWORD;
- }
- }
-
- return ret;
-}
-
-bool CalDavPrefs::removePasswordFromWallet() {
-
- Wallet* w = getWallet();
-
- bool ret = false;
- if (NULL != w) {
- int rc = w->removeEntry(mPrefix + WALLET_PWD_SUFFIX);
- if (0 == rc) {
- ret = true;
- } else {
- kdWarning() << "CalDAV: can't remove password from the wallet";
- }
- }
-
- return ret;
-}
-
-void CalDavPrefs::setPassword(const TQString& p) {
-
- mPassword = p;
-
- if (rememberPassword()) {
- writePasswordToWallet(p);
- }
-}
-
-TQString CalDavPrefs::password() {
- if (NO_PASSWORD == mPassword) {
- readPasswordFromWallet(mPassword);
- }
- return mPassword;
-}
-
-TQString CalDavPrefs::getusername() {
- return username();
-}
-
-void CalDavPrefs::setRememberPassword(bool v) {
- kdDebug() << "remember: " << v << '\n';
-
- CalDavPrefsSkel::setRememberPassword(v);
-
- if (!v) {
- // we should not remember password. If there is one already stored, it must be removed.
- kdDebug() << "removing password from wallet" << '\n';
- removePasswordFromWallet();
- }
-}
-
-void CalDavPrefs::writeConfig() {
- CalDavPrefsSkel::writeConfig();
-}
-
-void CalDavPrefs::readConfig() {
-
- CalDavPrefsSkel::readConfig();
-
- // the password is not in config file, try to restore it from the wallet.
- /*if (rememberPassword()) {
- readPasswordFromWallet();
- }*/
-}
-
-TQString CalDavPrefs::getFullUrl() {
-
- TQUrl t(url());
- TQString safeURL;
- int firstAt;
-
- t.setUser(username());
- t.setPassword(password());
-
- safeURL = t.toString();
-
- firstAt = safeURL.find("@") + 1;
- while (safeURL.find("@", firstAt) != -1) {
- safeURL.replace(safeURL.find("@", firstAt), 1, "%40");
- }
-
- // Unencode the username, as Zimbra stupidly rejects the %40
- safeURL.replace("%40", "@");
-
- // Encode any spaces, as libcaldav stupidly fails otherwise
- safeURL.replace(" ", "%20");
-
- return safeURL;
-}
-
-TQString CalDavPrefs::getFullTasksUrl() {
- if (useSTasks() == 0)
- return getFullUrl();
-
- TQUrl t(tasksUrl());
- TQString safeURL;
- int firstAt;
-
- t.setUser(username());
- t.setPassword(password());
-
- safeURL = t.toString();
-
- firstAt = safeURL.find("@") + 1;
- while (safeURL.find("@", firstAt) != -1) {
- safeURL.replace(safeURL.find("@", firstAt), 1, "%40");
- }
-
- // Unencode the username, as Zimbra stupidly rejects the %40
- safeURL.replace("%40", "@");
-
- // Encode any spaces, as libcaldav stupidly fails otherwise
- safeURL.replace(" ", "%20");
-
- return safeURL;
-}
-
-TQString CalDavPrefs::getFullJournalsUrl() {
- if (useSJournals() == 0)
- return getFullUrl();
-
- TQUrl t(journalsUrl());
- TQString safeURL;
- int firstAt;
-
- t.setUser(username());
- t.setPassword(password());
-
- safeURL = t.toString();
-
- firstAt = safeURL.find("@") + 1;
- while (safeURL.find("@", firstAt) != -1) {
- safeURL.replace(safeURL.find("@", firstAt), 1, "%40");
- }
-
- // Unencode the username, as Zimbra stupidly rejects the %40
- safeURL.replace("%40", "@");
-
- // Encode any spaces, as libcaldav stupidly fails otherwise
- safeURL.replace(" ", "%20");
-
- return safeURL;
-}
-
-// EOF ========================================================================
-