kpilot

kpilotProbeDialog.h

Go to the documentation of this file.
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 QLabel;
00035 class QGroupBox;
00036 class KProgress;
00037 class QTimer;
00038 class QGridLayout;
00039 template <class T> class QValueList;
00040 template<class Key, class T> class QMap;
00041 
00042 typedef QValueList<KPilotDeviceLink*> PilotLinkList;
00043 
00044 typedef QMap<QString, KPilotDeviceLink*> PilotLinkMap;
00045 
00046 class ProbeDialog : public KDialogBase
00047 {
00048 Q_OBJECT
00049 public:
00050     ProbeDialog(QWidget *p=0L,const char *n=0L);
00051     ~ProbeDialog();
00052 
00053     bool detected() const { return mDetected; }
00054     QString userName() const { return mUserName; }
00055     QString device() const { return mDevice; }
00056     QStringList 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     QLabel* fInfoText;
00074     QGroupBox* fResultsGroup;
00075     QLabel* fUserLabel;
00076     QLabel* fDeviceLabel;
00077     QLabel* fUser;
00078     QLabel* fDevice;
00079     QGroupBox* fStatusGroup;
00080     QLabel* fStatus;
00081     KProgress* fProgress;
00082 
00083     QTimer* fProcessEventsTimer;
00084     QTimer* fTimeoutTimer;
00085     QTimer* fProgressTimer;
00086     QTimer* fRotateLinksTimer;
00087 protected:
00088     QGridLayout* fResultsGroupLayout;
00089     QGridLayout* fStatusGroupLayout;
00090 
00091     QStringList mDevicesToProbe[3];
00092     PilotLinkList mDeviceLinks[3];
00093     int mProbeDevicesIndex;
00094     KPilotDeviceLink *mActiveLink;
00095 
00096     bool mDetected;
00097     QString mUserName;
00098     QString mDevice;
00099     QStringList mDBs;
00100 } ;
00101 
00102 #endif