/*************************************************************************** * Copyright (C) 2005 by Robert Gruber * * rgruber@users.sourceforge.net * * * * 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 ANNOTATEDIALOG_H #define ANNOTATEDIALOG_H #include class CvsJob_stub; class CvsService_stub; class AnnotatePage; /** * Implementation for the dialog displaying 'cvs annotate' output. * * This dialog hold a tab for each revision. The user just needs to * click a line in the AnnotateView to get the annotate output for * the selected revision. * * @author Robert Gruber */ class AnnotateDialog : public KDialogBase { Q_OBJECT public: AnnotateDialog( CvsService_stub *cvsService, TQWidget *parent=0, const char *name=0, int flags=0 ); virtual ~AnnotateDialog(); /** * Entrypoint from outside. * By calling this method, an annotate job is execuded for the given * file and the specifed a revision. * The output gets showen in the page which has already been created by the constructor. * * You need to call this function in order to set the file which you want to annotate. * Any further operation will be execucted on the file specified by @param pathName * * @param pathName The file for which to run cvs annotate */ void startFirstAnnotate( const TQString pathName, const TQString revision = "" ); private slots: /** * This slot runs cvs annotate for the given revision. * The output gets shown in a new page. * @param rev The revision which will be annotated */ void slotAnnotate(const TQString rev); private: TQString m_pathName; AnnotatePage *m_cvsAnnotatePage; CvsService_stub *m_cvsService; }; #endif