You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
kpilot/kpilot/kpilot.h

224 lines
5.1 KiB

#ifndef _KPILOT_KPILOT_H
#define _KPILOT_KPILOT_H
/* kpilot.h KPilot
**
** Copyright (C) 1998-2001 by Dan Pilone
** Copyright (C) 2003-2004 Reinhold Kainhofer <reinhold@kainhofer.com>
**
** This is the main program in KPilot.
*/
/*
** This program is free software; you can redistribute it and/or modify
** it under the terms of the GNU General Public License as published by
** the Free Software Foundation; either version 2 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 General Public License for more details.
**
** You should have received a copy of the GNU 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 <tdemainwindow.h>
class TQPopupMenu;
class TQComboBox;
class TDEAction;
class KProgress;
class KJanusWidget;
class PilotDaemonDCOP_stub;
class PilotComponent;
class FileInstallWidget;
class LogWidget;
#include "kpilotDCOP.h"
class KPilotInstaller : public TDEMainWindow, public KPilotDCOP
{
Q_OBJECT
public:
KPilotInstaller();
KPilotInstaller(TQStrList& fileList);
~KPilotInstaller();
/**
* Return a string with the version identifier (ie.
* "KPilot v3.1b11") if kind == 0; otherwise return
* a "long" string about KPilot -- currently the
* id of kpilot.o
*/
static const char *version(int kind);
// Adds 'name' to the pull down menu of components
void addComponentPage(PilotComponent *, const TQString &name);
KPiloStatus status() const { return fAppStatus; } ;
protected:
void closeEvent(TQCloseEvent *e);
KJanusWidget *getManagingWidget() { return fManagingWidget; }
/**
* Provide access to the daemon's DCOP interface
* through an object of the stub class.
*/
protected:
PilotDaemonDCOP_stub &getDaemon() { return *fDaemonStub; } ;
private:
PilotDaemonDCOP_stub *fDaemonStub;
/**
* Handle the functionality of kill-daemon-on-exit and
* kill-daemon-if-started-by-my by killing it in those
* cases.
*/
protected:
void killDaemonIfNeeded();
public slots:
/**
* These are slots for the menu actions for each kind of
* sync that can be requested.
*/
void slotRestoreRequested();
void slotBackupRequested();
void slotHotSyncRequested();
void slotFullSyncRequested();
void slotHHtoPCRequested();
void slotPCtoHHRequested();
void startDaemonIfNeeded();
/**
* These are slots for the standard Configure ...
* actions and not interesting. The show toolbar
* functionality is in tdelibs starting with KDE 3.1,
* but we need to remain backwards compatible.
*/
void optionsConfigureKeys();
void optionsConfigureToolbars();
public:
/**
* This is the DCOP interface from the daemon to KPilot.
*/
virtual ASYNC daemonStatus(int);
virtual int kpiloStatus();
public slots:
/**
* This is the DCOP interface from the daemon to KPilot
* to configure KPilot.
*/
// MOC_SKIP_BEGIN
#ifdef Q_MOC_RUN
virtual void configure();
virtual void configureWizard();
#else // Q_MOC_RUN
// MOC_SKIP_END
virtual ASYNC configure();
virtual ASYNC configureWizard();
// MOC_SKIP_BEGIN
#endif // Q_MOC_RUN
// MOC_SKIP_END
protected:
void readConfig();
/**
* Run all the internal conduits' presync functions.
*/
bool componentPreSync();
void setupSync(int kind,const TQString& msg);
void componentPostSync();
/**
* Run after a configuration change to force
* the viewers to re-load data.
*/
void componentUpdate();
void initIcons();
void initMenu();
void setupWidget();
void initComponents();
/**
* This is the private-d-pointer, KPilot style. Not everything
* has moved there yet.
*/
class KPilotPrivate;
KPilotPrivate *fP;
private:
bool fQuitAfterCopyComplete; // Used for GUI-less interface
KJanusWidget *fManagingWidget;
bool fDaemonWasRunning;
KPiloStatus fAppStatus;
FileInstallWidget *fFileInstallWidget;
LogWidget *fLogWidget;
// Used to track if dialog is visible - needed for new DCOP calls
bool fConfigureKPilotDialogInUse;
protected slots:
void quit();
void fileInstalled(int which);
void slotNewToolbarConfig();
/**
* Get the daemon to reset the link. This uses reloadSettings()
* to achieve this result - the daemon calls reset() in there.
*/
void slotResetLink();
/**
* Indicate that a particular component has been selected (through
* whatever mechanism). This will make that component visible and
* adjust any other user-visible state to indicate that that component
* is now active.
*
* This should be called (possibly by the component itself!)
* or activated through the signal mechanism.
* */
void slotSelectComponent( PilotComponent *c );
void slotAboutToShowComponent( TQWidget *c );
/**
* Delayed initialization of the components.
* This improves perceived startup time.
*/
void initializeComponents();
signals:
void modeSelected(int selected);
};
#endif