summaryrefslogtreecommitdiffstats
path: root/kpilot/lib/syncAction.cc
diff options
context:
space:
mode:
Diffstat (limited to 'kpilot/lib/syncAction.cc')
-rw-r--r--kpilot/lib/syncAction.cc512
1 files changed, 0 insertions, 512 deletions
diff --git a/kpilot/lib/syncAction.cc b/kpilot/lib/syncAction.cc
deleted file mode 100644
index d9f53955..00000000
--- a/kpilot/lib/syncAction.cc
+++ /dev/null
@@ -1,512 +0,0 @@
-/* KPilot
-**
-** Copyright (C) 1998-2001 by Dan Pilone
-** Copyright (C) 2003-2004 Reinhold Kainhofer <reinhold@kainhofer.com>
-** Copyright (C) 2001 by Waldo Bastian (code in questionYesNo)
-**
-*/
-
-/*
-** This program is free software; you can redistribute it and/or modify
-** it under the terms of the GNU Lesser General Public License as published by
-** the Free Software Foundation; either version 2.1 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU Lesser General Public License for more details.
-**
-** You should have received a copy of the GNU Lesser General Public License
-** along with this program in a file called COPYING; if not, write to
-** the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
-** MA 02110-1301, USA.
-*/
-
-/*
-** Bug reports and questions can be sent to kde-pim@kde.org
-*/
-
-#include "options.h"
-
-#include <time.h>
-
-#include <pi-socket.h>
-#include <pi-dlp.h>
-
-#include <tqtimer.h>
-#include <tqvbox.h>
-#include <tqlayout.h>
-#include <tqcheckbox.h>
-#include <tqlabel.h>
-#include <tqmessagebox.h>
-#include <tqdir.h>
-#include <tqfile.h>
-#include <tqfileinfo.h>
-#include <tqtl.h>
-#include <tqstyle.h>
-
-#include <kdialogbase.h>
-#include <kglobal.h>
-#include <kstandarddirs.h>
-#include <kconfig.h>
-#include <kmessagebox.h>
-
-#include "syncAction.moc"
-#include "kpilotlibSettings.h"
-
-SyncAction::SyncAction(KPilotLink *p,
- const char *name) :
- TQObject(p, name),
- fHandle(p),
- fParent(0L)
-{
- FUNCTIONSETUP;
-}
-
-SyncAction::SyncAction(KPilotLink *p,
- TQWidget * visibleparent,
- const char *name) :
- TQObject(p, name),
- fHandle(p),
- fParent(visibleparent)
-{
- FUNCTIONSETUP;
-}
-
-SyncAction::~SyncAction()
-{
-}
-
-/* virtual */ TQString SyncAction::statusString() const
-{
- FUNCTIONSETUP;
- TQString s = CSL1("status=");
-
- s.append(TQString::number(status()));
- return s;
-}
-
-/* slot */ void SyncAction::execConduit()
-{
- FUNCTIONSETUP;
-
- DEBUGKPILOT << fname << ": Exec " << name() << endl;
-
- bool r = this->exec();
-
- DEBUGKPILOT << fname << ": Exec " << name()
- << (r ? " is running" : " failed to start") << endl;
-
- if (!r)
- {
- emit logError(i18n("The conduit %1 could not be executed.")
- .arg(TQString::fromLatin1(name())));
- delayDone();
- }
-}
-
-/* slot */ void SyncAction::delayedDoneSlot()
-{
- emit syncDone(this);
-}
-
-bool SyncAction::delayDone()
-{
- TQTimer::singleShot(0,this,TQT_SLOT(delayedDoneSlot()));
- return true;
-}
-
-static struct
-{
- SyncAction::SyncMode::Mode mode;
- const char *name;
-} maps[] =
-{
- { SyncAction::SyncMode::eHotSync, "--hotsync" },
- { SyncAction::SyncMode::eFullSync, "--full" },
- { SyncAction::SyncMode::eCopyPCToHH, "--copyPCToHH" },
- { SyncAction::SyncMode::eCopyHHToPC, "--copyHHToPC" },
- { SyncAction::SyncMode::eBackup, "--backup" },
- { SyncAction::SyncMode::eRestore, "--restore" },
- { SyncAction::SyncMode::eFullSync, "--fullsync" },
- { SyncAction::SyncMode::eHotSync, (const char *)0 }
-}
-;
-
-SyncAction::SyncMode::SyncMode(const TQStringList &args) :
- fMode(eHotSync),
- fTest(args.contains("--test")),
- fLocal(args.contains("--local"))
-{
- int i = 0;
- while(maps[i].name)
- {
- if (args.contains(TQString::fromLatin1(maps[i].name)))
- {
- fMode = maps[i].mode;
- break;
- }
- i++;
- }
-
- if (!maps[i].name)
- {
- WARNINGKPILOT << "No mode set by arguments ("
- << args.join(",") << ") defaulting to HotSync." << endl;
- }
-}
-
-SyncAction::SyncMode::SyncMode(Mode m, bool test, bool local) :
- fMode(m),
- fTest(test),
- fLocal(local)
-{
- if ( ((int)m<(int)eHotSync) || ((int)m>(int)eRestore) )
- {
- WARNINGKPILOT << "Mode value " << (int)m << " is illegal"
- ", defaulting to HotSync." << endl;
- fMode = eHotSync;
- }
-}
-
-TQStringList SyncAction::SyncMode::list() const
-{
- FUNCTIONSETUPL(3);
-
- TQStringList l;
- int i=0;
-
- while(maps[i].name)
- {
- if ( fMode == maps[i].mode )
- {
- l.append(TQString::fromLatin1(maps[i].name));
- break;
- }
- i++;
- }
- if ( !maps[i].name )
- {
- WARNINGKPILOT << "Mode " << fMode << " does not have a name." << endl;
- l.append(TQString::fromLatin1(maps[0].name));
- }
-
- if (isTest()) l.append(CSL1("--test"));
- if (isLocal()) l.append(CSL1("--local"));
- return l;
-}
-
-/* static */ TQString SyncAction::SyncMode::name(SyncAction::SyncMode::Mode e)
-{
- switch(e)
- {
- case eHotSync : return i18n("HotSync");
- case eFullSync : return i18n("Full Synchronization");
- case eCopyPCToHH : return i18n("Copy PC to Handheld");
- case eCopyHHToPC : return i18n("Copy Handheld to PC");
- case eBackup : return i18n("Backup");
- case eRestore : return i18n("Restore From Backup");
- }
- return CSL1("<unknown>");
-}
-
-TQString SyncAction::SyncMode::name() const
-{
- TQString s = name(fMode);
- if (isTest())
- {
-
- s.append(CSL1(" [%1]").arg(i18n("Test Sync")));
- }
- if (isLocal())
- {
- s.append(CSL1(" [%1]").arg(i18n("Local Sync")));
- }
- return s;
-}
-
-bool SyncAction::SyncMode::setMode(int mode)
-{
- // Resets test and local flags too
- fTest = fLocal = false;
-
- if ( (mode>0) && (mode<=eRestore) )
- {
- fMode = (SyncAction::SyncMode::Mode) mode;
- return true;
- }
- else
- {
- WARNINGKPILOT << "Bad sync mode " << mode << " requested." << endl ;
- fMode = eHotSync;
- return false;
- }
-}
-
-bool SyncAction::SyncMode::setMode(SyncAction::SyncMode::Mode m)
-{
- int i=0;
- while ( maps[i].name )
- {
- if ( maps[i].mode == m )
- {
- fMode = m;
- return true;
- }
- i++;
- }
-
- WARNINGKPILOT << "Bad sync mode " << m << " requested." << endl ;
- fMode = eHotSync;
- return false;
-}
-
-void SyncAction::startTickle(unsigned timeout)
-{
- FUNCTIONSETUP;
-
- if (!deviceLink())
- {
- WARNINGKPILOT << "Trying to tickle without a device." << endl;
- }
- else
- {
- connect(deviceLink(),TQT_SIGNAL(timeout()),this,TQT_SIGNAL(timeout()));
- deviceLink()->startTickle(timeout);
- }
-}
-
-void SyncAction::stopTickle()
-{
- FUNCTIONSETUP;
- if (!deviceLink())
- {
- WARNINGKPILOT << "Trying to tickle without a device." << endl;
- }
- else
- {
- disconnect(deviceLink(),TQT_SIGNAL(timeout()),this,TQT_SIGNAL(timeout()));
- deviceLink()->stopTickle();
- }
-}
-
-
-int SyncAction::questionYesNo(const TQString & text,
- const TQString & caption,
- const TQString & key,
- unsigned timeout,
- const TQString & yes,
- const TQString &no )
-{
- FUNCTIONSETUP;
-
- bool checkboxReturn = false;
- int r;
- KMessageBox::ButtonCode result;
- if (!key.isEmpty())
- {
- if (!KMessageBox::shouldBeShownYesNo(key,result))
- {
- return result;
- }
- }
-
- KDialogBase *dialog =
- new KDialogBase(caption.isNull()? i18n("Question") : caption,
- KDialogBase::Yes | KDialogBase::No,
- KDialogBase::Yes, KDialogBase::No,
- fParent, "questionYesNo", true, true,
- yes.isEmpty() ? KStdGuiItem::yes() : yes,
- no.isEmpty() ? KStdGuiItem::no() : no);
-
- if ( (timeout > 0) && ( deviceLink() ) )
- {
- TQObject::connect(deviceLink(), TQT_SIGNAL(timeout()),
- dialog, TQT_SLOT(slotCancel()));
- startTickle(timeout);
- }
-
-#if KDE_IS_VERSION(3,3,0)
- r = (KMessageBox::ButtonCode) KMessageBox::createKMessageBox(dialog,
- TQMessageBox::Question,
- text,
- TQStringList(),
- (key.isEmpty() ? TQString::null : i18n("&Do not ask again")),
- &checkboxReturn,
- 0);
-
-#else
- // The following code is taken from KDialogBase.cc,
- // part of the KDE 2.2 libraries. Copyright 2001
- // by Waldo Bastian.
- //
- //
- TQVBox *topcontents = new TQVBox(dialog);
-
- topcontents->setSpacing(KDialog::spacingHint() * 2);
- topcontents->setMargin(KDialog::marginHint() * 2);
-
- TQWidget *contents = new TQWidget(topcontents);
- TQHBoxLayout *lay = new TQHBoxLayout(contents);
-
- lay->setSpacing(KDialog::spacingHint() * 2);
-
- lay->addStretch(1);
- TQLabel *label1 = new TQLabel( contents);
- label1->setPixmap(TQMessageBox::standardIcon(TQMessageBox::Information));
- lay->add( label1 );
- TQLabel *label2 = new TQLabel( text, contents);
- label2->setMinimumSize(label2->sizeHint());
- lay->add(label2);
- lay->addStretch(1);
-
- TQSize extraSize = TQSize(50, 30);
-
- TQCheckBox *checkbox = 0L;
- if (!key.isEmpty())
- {
- checkbox = new TQCheckBox(i18n("Do not ask again"),topcontents);
- extraSize = TQSize(50,0);
- }
-
- dialog->setMainWidget(topcontents);
- dialog->enableButtonSeparator(false);
- dialog->incInitialSize(extraSize);
-
- r = dialog->exec();
- if (checkbox)
- {
- checkboxReturn = checkbox->isChecked();
- }
-#endif
-
- switch(r)
- {
- case KDialogBase::Yes : result=KMessageBox::Yes ; break;
- case KDialogBase::No : result=KMessageBox::No; break;
- case KDialogBase::Cancel : result=KMessageBox::Cancel; break;
- default : break;
- }
-
- stopTickle();
-
- if (!key.isEmpty() && checkboxReturn)
- {
- KMessageBox::saveDontShowAgainYesNo(key,result);
- }
-
- return result;
-}
-
-
-int SyncAction::questionYesNoCancel(const TQString & text,
- const TQString & caption,
- const TQString & key,
- unsigned timeout,
- const TQString &yes,
- const TQString &no)
-{
- FUNCTIONSETUP;
-
- bool checkboxReturn = false;
- int r;
- KMessageBox::ButtonCode result;
-
- if (!key.isEmpty())
- {
- if (!KMessageBox::shouldBeShownYesNo(key,result))
- {
- if (result != KMessageBox::Cancel)
- {
- return result;
- }
- }
- }
-
- KDialogBase *dialog =
- new KDialogBase(caption.isNull()? i18n("Question") : caption,
- KDialogBase::Yes | KDialogBase::No | KDialogBase::Cancel,
- KDialogBase::Yes, KDialogBase::Cancel,
- fParent, "questionYesNoCancel", true, true,
- (yes.isEmpty() ? KStdGuiItem::yes() : yes),
- (no.isEmpty() ? KStdGuiItem::no() : no),
- KStdGuiItem::cancel());
-
- if ( (timeout > 0) && (deviceLink()) )
- {
- TQObject::connect(deviceLink(), TQT_SIGNAL(timeout()),
- dialog, TQT_SLOT(slotCancel()));
- startTickle(timeout);
- }
-
-#if KDE_IS_VERSION(3,3,0)
- r = KMessageBox::createKMessageBox(dialog,
- TQMessageBox::Question,
- text,
- TQStringList(),
- (key.isEmpty() ? TQString::null : i18n("&Do not ask again")),
- &checkboxReturn,
- 0);
-#else
- // The following code is taken from KDialogBase.cc,
- // part of the KDE 2.2 libraries. Copyright 2001
- // by Waldo Bastian.
- //
- //
- TQVBox *topcontents = new TQVBox(dialog);
-
- topcontents->setSpacing(KDialog::spacingHint() * 2);
- topcontents->setMargin(KDialog::marginHint() * 2);
-
- TQWidget *contents = new TQWidget(topcontents);
- TQHBoxLayout *lay = new TQHBoxLayout(contents);
-
- lay->setSpacing(KDialog::spacingHint() * 2);
-
- lay->addStretch(1);
- TQLabel *label1 = new TQLabel( contents);
- label1->setPixmap(TQMessageBox::standardIcon(TQMessageBox::Information));
- lay->add( label1 );
- TQLabel *label2 = new TQLabel( text, contents);
- label2->setMinimumSize(label2->sizeHint());
- lay->add(label2);
- lay->addStretch(1);
-
- TQSize extraSize = TQSize(50, 30);
-
- TQCheckBox *checkbox = 0L;
- if (!key.isEmpty())
- {
- checkbox = new TQCheckBox(i18n("Do not ask again"),topcontents);
- extraSize = TQSize(50,0);
- }
-
- dialog->setMainWidget(topcontents);
- dialog->enableButtonSeparator(false);
- dialog->incInitialSize(extraSize);
-
- r = dialog->exec();
- if (checkbox)
- {
- checkboxReturn = checkbox->isChecked();
- }
-#endif
-
- switch(r)
- {
- case KDialogBase::Yes : result=KMessageBox::Yes ; break;
- case KDialogBase::No : result=KMessageBox::No; break;
- case KDialogBase::Cancel : result=KMessageBox::Cancel; break;
- default : break;
- }
- stopTickle();
-
- if (!key.isEmpty() && checkboxReturn)
- {
- KMessageBox::saveDontShowAgainYesNo(key,result);
- }
-
- return result;
-}
-