Remove some dead KMail1 legacy code.
[kdepim.git] / ktimetracker / reportcriteria.h
blob8c37dc71f1c1356d73968f16ca3a8ff61c3a18ab
1 /*
2 * Copyright (C) 2004 by Mark Bucciarelli <mark@hubcapconsulting.com>
3 * 2007 the ktimetracker developers
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License along
16 * with this program; if not, write to the
17 * Free Software Foundation, Inc.
18 * 51 Franklin Street, Fifth Floor
19 * Boston, MA 02110-1301 USA.
23 #ifndef REPORTCRITERIA_H
24 #define REPORTCRITERIA_H
26 #include <QDateTime>
27 #include <kurl.h>
29 class QString;
31 /**
32 Stores entries from export dialog.
34 Keeps details (like CSV export dialog control names) out of the TaskView
35 class, which contains the slot triggered by the export action.
37 The dialog and the report logic can change all they want and the TaskView
38 logic can stay the same.
41 class ReportCriteria
43 public:
45 /**
46 The different report types.
48 enum REPORTTYPE { CSVTotalsExport = 0, CSVHistoryExport = 1 };
50 /**
51 The type of report we are running.
53 REPORTTYPE reportType;
55 /**
56 For reports that write to a file, the filename to write to.
58 KUrl url;
60 /**
61 For history reports, the lower bound of the date range to report on.
63 QDate from;
65 /**
66 For history reports, the upper bound of the date range to report on.
68 QDate to;
70 /**
71 True if the durations should be output in decimal hours. Otherwise,
72 output durations as HH24:MI
74 bool decimalMinutes;
76 /**
77 True if user chose to export session times, not all times
79 bool sessionTimes;
81 /**
82 True if user chose to export all tasks, not only the selected one
84 bool allTasks;
86 /**
87 True if a clipboard export is wished, not an export to a file
89 bool bExPortToClipBoard;
91 /**
92 The delimiter to use when outputting comma-separated value reports.
94 QString delimiter;
96 /**
97 The quote to use for text fields when outputting comma-separated reports.
99 QString quote;
102 #endif