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.
224 lines
5.1 KiB
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
|