summaryrefslogtreecommitdiffstats
path: root/vcs/cvsservice/changelog.h
blob: a1b50ffa71084f27120daca44d1789ca04ae780a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
/***************************************************************************
 *   Copyright (C) 2003 by Mario Scalas                                    *
 *   [email protected]                                                *
 *                                                                         *
 *   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 CHANGELOG_H
#define CHANGELOG_H

#include <tqstringlist.h>

/**
A class which abstracts the building of an entry in the ChangeLog file (it formats name, e-mail and text).

@author Mario Scalas
*/
struct ChangeLogEntry
{
public:
    ChangeLogEntry();
    ~ChangeLogEntry();

    //! Add a single line to the lines for this entry
    void addLine( const TQString &aLine );
    //! Add a bunch of lines for this entry
    void addLines( const TQStringList &someLines );
    //! Pretty format for this entry: you may insert a line tag (such as tab ("\t") or 4 spaces ("    ")
    //! or whatever you want (such as "\t * ")
    TQString toString( const TQString &startLineString = TQString::null ) const;
    //! Once the entry is completed one would like to write on a file! (You may add on start of file
    //! prepend == true, or append on tail (prepend == false)
    void addToLog( const TQString &logFilePath, const bool prepend = true, const TQString &startLineString = "\t" );

    TQString authorName,
        authorEmail,
        date;
    TQStringList lines;
};

#endif