kpilot/kpilot

kpilotProbeDialog.h

00001 #ifndef _KPILOT_PROBEDIALOG_H
00002 #define _KPILOT_PROBEDIALOG_H
00003 /* kpilotConfigWizard.h                 KPilot
00004 **
00005 ** Copyright (C) 2004 Reinhold Kainhofer <reinhold@kainhofer.com>
00006 **
00007 ** This file defines kpilot's configuration wizard
00008 */
00009 
00010 /*
00011 ** This program is free software; you can redistribute it and/or modify
00012 ** it under the terms of the GNU General Public License as published by
00013 ** the Free Software Foundation; either version 2 of the License, or
00014 ** (at your option) any later version.
00015 **
00016 ** This program is distributed in the hope that it will be useful,
00017 ** but WITHOUT ANY WARRANTY; without even the implied warranty of
00018 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00019 ** GNU General Public License for more details.
00020 **
00021 ** You should have received a copy of the GNU General Public License
00022 ** along with this program in a file called COPYING; if not, write to
00023 ** the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
00024 ** MA 02110-1301, USA.
00025 */
00026 
00027 /*
00028 ** Bug reports and questions can be sent to kde-pim@kde.org
00029 */
00030 
00031 #include "kdialogbase.h"
00032 
00033 class KPilotDeviceLink;
00034 class TQLabel;
00035 class TQGroupBox;
00036 class KProgress;
00037 class TQTimer;
00038 class TQGridLayout;
00039 template <class T> class TQValueList;
00040 template<class Key, class T> class TQMap;
00041 
00042 typedef TQValueList<KPilotDeviceLink*> PilotLinkList;
00043 
00044 typedef TQMap<TQString, KPilotDeviceLink*> PilotLinkMap;
00045 
00046 class ProbeDialog : public KDialogBase
00047 {
00048 Q_OBJECT
00049 public:
00050     ProbeDialog(TQWidget *p=0L,const char *n=0L);
00051     ~ProbeDialog();
00052 
00053     bool detected() const { return mDetected; }
00054     TQString userName() const { return mUserName; }
00055     TQString device() const { return mDevice; }
00056     TQStringList dbs()  const { return mDBs; }
00057 
00058 
00059 protected slots:
00060     void startDetection();
00061     void timeout();
00062     void connection(KPilotDeviceLink*lnk);
00063     void retrieveDBList();
00064     void disconnectDevices();
00065     void processEvents();
00066     void progress();
00067     void detect();
00068     void detect(int i);
00069 public slots:
00070     int exec();
00071     void slotUser1 () { startDetection(); }
00072 protected:
00073     TQLabel* fInfoText;
00074     TQGroupBox* fResultsGroup;
00075     TQLabel* fUserLabel;
00076     TQLabel* fDeviceLabel;
00077     TQLabel* fUser;
00078     TQLabel* fDevice;
00079     TQGroupBox* fStatusGroup;
00080     TQLabel* fStatus;
00081     KProgress* fProgress;
00082 
00083     TQTimer* fProcessEventsTimer;
00084     TQTimer* fTimeoutTimer;
00085     TQTimer* fProgressTimer;
00086     TQTimer* fRotateLinksTimer;
00087 protected:
00088     TQGridLayout* fResultsGroupLayout;
00089     TQGridLayout* fStatusGroupLayout;
00090 
00091     TQStringList mDevicesToProbe[3];
00092     PilotLinkList mDeviceLinks[3];
00093     int mProbeDevicesIndex;
00094     KPilotDeviceLink *mActiveLink;
00095 
00096     bool mDetected;
00097     TQString mUserName;
00098     TQString mDevice;
00099     TQStringList mDBs;
00100 } ;
00101 
00102 #endif