21 #include "tdewallettypes.h"
22 #include "tdewallet.h"
23 #include <tdeconfig.h>
25 #include <tdeversion.h>
26 #include <dcopclient.h>
28 #include <tqpopupmenu.h>
29 #include <tqapplication.h>
33 using namespace TDEWallet;
37 TDEConfig cfg(
"tdewalletrc",
true);
38 cfg.setGroup(
"Wallet");
39 if (!cfg.readBoolEntry(
"Use One Wallet",
true)) {
40 TQString tmp = cfg.readEntry(
"Local Wallet",
"localwallet");
47 TQString tmp = cfg.readEntry(
"Default Wallet",
"kdewallet");
55 TDEConfig cfg(
"tdewalletrc",
true);
56 cfg.setGroup(
"Wallet");
58 TQString tmp = cfg.readEntry(
"Default Wallet",
"kdewallet");
76 : TQObject(0L),
DCOPObject(), d(0L), _name(name), _handle(handle) {
78 _dcopRef =
new DCOPRef(
"kded",
"tdewalletd");
82 TQT_SIGNAL(applicationRemoved(
const TQCString&)),
84 TQT_SLOT(slotAppUnregistered(
const TQCString&)));
87 connectDCOPSignal(_dcopRef->
app(), _dcopRef->
obj(),
"folderListUpdated(TQString)",
"slotFolderListUpdated(TQString)",
false);
88 connectDCOPSignal(_dcopRef->
app(), _dcopRef->
obj(),
"folderUpdated(TQString, TQString)",
"slotFolderUpdated(TQString, TQString)",
false);
89 connectDCOPSignal(_dcopRef->
app(), _dcopRef->
obj(),
"applicationDisconnected(TQString, TQCString)",
"slotApplicationDisconnected(TQString, TQCString)",
false);
99 _name = TQString::null;
108 _dcopRef->
call(
"close", _handle,
false);
110 _folder = TQString::null;
111 _name = TQString::null;
130 DCOPRef(
"kded",
"tdewalletd").
send(
"changePassword", name, uint(w));
175 if (ot == Asynchronous) {
177 DCOPRef(
"kded",
"tdewalletd").
send(
"openAsynchronous", name, wallet->
objId(), uint(w));
182 while( TQWidget* widget = TQT_TQWIDGET(tqApp->activePopupWidget()))
185 bool isPath = ot == Path;
189 r =
DCOPRef(
"kded",
"tdewalletd").
call(
"openPath", name, uint(w));
191 r =
DCOPRef(
"kded",
"tdewalletd").
call(
"open", name, uint(w));
198 return new Wallet(drc, name);
231 _dcopRef->
call(
"sync", _handle);
243 _folder = TQString::null;
244 _name = TQString::null;
260 return _handle != -1;
269 _dcopRef->
send(
"changePassword", _name, uint(w));
273 void Wallet::slotWalletClosed(
int handle) {
274 if (_handle == handle) {
276 _folder = TQString::null;
277 _name = TQString::null;
404 DCOPReply r = _dcopRef->
call(
"readEntry", _handle, _folder, key);
421 DCOPReply r = _dcopRef->
call(
"readEntryList", _handle, _folder, key);
438 DCOPReply r = _dcopRef->
call(
"renameEntry", _handle, _folder, oldName, newName);
454 DCOPReply r = _dcopRef->
call(
"readMap", _handle, _folder, key);
459 TQDataStream ds(v, IO_ReadOnly);
476 DCOPReply r = _dcopRef->
call(
"readMapList", _handle, _folder, key);
478 TQMap<TQString,TQByteArray> unparsed;
480 for (TQMap<TQString,TQByteArray>::ConstIterator i = unparsed.begin(); i != unparsed.end(); ++i) {
481 if (!i.data().isEmpty()) {
482 TQDataStream ds(i.data(), IO_ReadOnly);
483 TQMap<TQString,TQString> v;
485 value.insert(i.key(), v);
502 DCOPReply r = _dcopRef->
call(
"readPassword", _handle, _folder, key);
519 DCOPReply r = _dcopRef->
call(
"readPasswordList", _handle, _folder, key);
536 DCOPReply r = _dcopRef->
call(
"writeEntry", _handle, _folder, key, value,
int(entryType));
552 DCOPReply r = _dcopRef->
call(
"writeEntry", _handle, _folder, key, value);
569 TQDataStream ds(a, IO_WriteOnly);
571 DCOPReply r = _dcopRef->
call(
"writeMap", _handle, _folder, key, a);
587 DCOPReply r = _dcopRef->
call(
"writePassword", _handle, _folder, key, value);
603 DCOPReply r = _dcopRef->
call(
"hasEntry", _handle, _folder, key);
619 DCOPReply r = _dcopRef->
call(
"removeEntry", _handle, _folder, key);
632 return Wallet::Unknown;
635 DCOPReply r = _dcopRef->
call(
"entryType", _handle, _folder, key);
640 return static_cast<EntryType
>(rc);
644 void Wallet::slotAppUnregistered(
const TQCString& app) {
645 if (_handle >= 0 && app ==
"kded") {
646 slotWalletClosed(_handle);
651 void Wallet::slotFolderUpdated(
const TQString& wallet,
const TQString& folder) {
652 if (_name == wallet) {
658 void Wallet::slotFolderListUpdated(
const TQString& wallet) {
659 if (_name == wallet) {
665 void Wallet::slotApplicationDisconnected(
const TQString& wallet,
const TQCString& application) {
669 slotWalletClosed(_handle);
674 void Wallet::walletOpenResult(
int id) {
709 void Wallet::virtual_hook(
int,
void*) {
713 #include "tdewallet.moc"