summaryrefslogtreecommitdiffstats
path: root/vcs/cvsservice/annotatedialog.h
diff options
context:
space:
mode:
Diffstat (limited to 'vcs/cvsservice/annotatedialog.h')
-rw-r--r--vcs/cvsservice/annotatedialog.h65
1 files changed, 65 insertions, 0 deletions
diff --git a/vcs/cvsservice/annotatedialog.h b/vcs/cvsservice/annotatedialog.h
new file mode 100644
index 00000000..7fea14f1
--- /dev/null
+++ b/vcs/cvsservice/annotatedialog.h
@@ -0,0 +1,65 @@
+/***************************************************************************
+ * 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 <kdialogbase.h>
+
+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 <rgruber@users.sourceforge.net>
+ */
+class AnnotateDialog : public KDialogBase
+{
+ Q_OBJECT
+public:
+ AnnotateDialog( CvsService_stub *cvsService, QWidget *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 QString pathName, const QString 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 QString rev);
+
+private:
+ QString m_pathName;
+
+ AnnotatePage *m_cvsAnnotatePage;
+ CvsService_stub *m_cvsService;
+};
+
+#endif