/*************************************************************************** * Copyright (C) 2003 by Mario Scalas * * mario.scalas@libero.it * * * * 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. * * * ***************************************************************************/ #ifndef CHECKOUTDIALOG_H #define CHECKOUTDIALOG_H #include #include "cvsservicedcopIface.h" class CvsService_stub; class CvsJob_stub; class CheckoutDialogBase; class TQListViewItem; //class TQStringList; /** * This dialog widget will collect all useful informazion about the module the * user want to to check-out from a remote repository. * * @author Mario Scalas */ class CheckoutDialog : public KDialogBase, virtual public CVSServiceDCOPIface { Q_OBJECT public: CheckoutDialog( CvsService_stub *cvsService, TQWidget *parent = 0, const char *name = 0, WFlags f = 0 ); virtual ~CheckoutDialog(); virtual void slotOk(); /** * @return a server path string (i.e. :pserver:marios@cvs.kde.org:/home/kde) */ TQString serverPath() const; /** * @param serverPaths a list of server location to use when filling the widget */ void fillServerPaths( const TQStringList &serverPaths ); /** * @return the directory which the user has fetched the module in */ TQString workDir() const; /** * @param aDir directory which fetched modules will be put in (ending with '/') */ void setWorkDir( const TQString &aDir ); /** * @return the module the user has chosen to check-out from repository */ TQString module() const; /** * @return */ bool pruneDirs() const; /** * @return */ TQString tag() const; private slots: void slotModuleSelected( TQListViewItem *item ); void slotFetchModulesList(); // DCOP Iface virtual void slotJobExited( bool normalExit, int exitStatus ); virtual void slotReceivedOutput( TQString someOutput ); virtual void slotReceivedErrors( TQString someErrors ); private: /** * Retrives the known servers from $HOME/.cvspass file * @return a list of server locations (:pserver:user@server.somewhere:/cvsroot) */ void fetchUserCvsRepositories(); CvsService_stub *m_service; CvsJob_stub *m_job; CheckoutDialogBase *m_base; }; #endif