korganizer
calprintdefaultplugins.h00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef CALPRINTDEFAULTPLUGINS_H
00026 #define CALPRINTDEFAULTPLUGINS_H
00027
00028
00029 #include <tdelocale.h>
00030 #include "calprintpluginbase.h"
00031
00032 #ifndef KORG_NOPRINTER
00033 namespace KCal {
00034 class Calendar;
00035 }
00036
00037 using namespace KCal;
00038 using namespace KOrg;
00039
00040 class CalPrintIncidence : public CalPrintPluginBase
00041 {
00042 public:
00043 CalPrintIncidence();
00044 virtual ~CalPrintIncidence();
00045 virtual TQString description()
00046 {
00047 return i18n( "Print &incidence" );
00048 }
00049 virtual TQString info()
00050 {
00051 return i18n( "Prints an incidence on one page" );
00052 }
00053 virtual int sortID()
00054 {
00055 return CalPrinterBase::Incidence;
00056 }
00057
00058
00059 virtual bool enabled()
00060 {
00061 if ( mSelectedIncidences.count() > 0 ) {
00062 return true;
00063 } else {
00064 return false;
00065 }
00066 }
00067 virtual TQWidget *createConfigWidget( TQWidget * );
00068 virtual KPrinter::Orientation defaultOrientation()
00069 {
00070 return KPrinter::Portrait;
00071 }
00072
00073 public:
00074 void print( TQPainter &p, int width, int height );
00075 virtual void readSettingsWidget();
00076 virtual void setSettingsWidget();
00077 virtual void loadConfig();
00078 virtual void saveConfig();
00079 protected:
00080 int printCaptionAndText( TQPainter &p, const TQRect &box, const TQString &caption,
00081 const TQString &text, TQFont captionFont, TQFont textFont );
00082
00083
00084 protected:
00085 bool mShowOptions;
00086 bool mShowSubitemsNotes;
00087 bool mShowAttendees;
00088 bool mShowAttachments;
00089 };
00090
00091
00092 class CalPrintDay : public CalPrintPluginBase
00093 {
00094 public:
00095 CalPrintDay();
00096 virtual ~CalPrintDay();
00097 virtual TQString description()
00098 {
00099 return i18n( "Print da&y" );
00100 }
00101 virtual TQString info()
00102 {
00103 return i18n( "Prints all events of a single day on one page" );
00104 }
00105 virtual int sortID()
00106 {
00107 return CalPrinterBase::Day;
00108 }
00109 virtual bool enabled()
00110 {
00111 return true;
00112 }
00113 virtual TQWidget *createConfigWidget( TQWidget* );
00114
00115 public:
00116 void print(TQPainter &p, int width, int height);
00117 virtual void readSettingsWidget();
00118 virtual void setSettingsWidget();
00119 virtual void loadConfig();
00120 virtual void saveConfig();
00121 virtual void setDateRange( const TQDate& from, const TQDate& to );
00122
00123 protected:
00124 TQTime mStartTime, mEndTime;
00125 bool mIncludeTodos;
00126 bool mIncludeAllEvents;
00127 };
00128
00129 class CalPrintWeek : public CalPrintPluginBase
00130 {
00131 public:
00132 CalPrintWeek();
00133 virtual ~CalPrintWeek();
00134 virtual TQString description()
00135 {
00136 return i18n( "Print &week" );
00137 }
00138 virtual TQString info()
00139 {
00140 return i18n( "Prints all events of one week on one page" );
00141 }
00142 virtual int sortID()
00143 {
00144 return CalPrinterBase::Week;
00145 }
00146 virtual bool enabled()
00147 {
00148 return true;
00149 }
00150 virtual TQWidget *createConfigWidget( TQWidget * );
00151
00155 virtual KPrinter::Orientation defaultOrientation();
00156
00157 public:
00158 void print(TQPainter &p, int width, int height);
00159 virtual void readSettingsWidget();
00160 virtual void setSettingsWidget();
00161 virtual void loadConfig();
00162 virtual void saveConfig();
00163 virtual void setDateRange( const TQDate& from, const TQDate& to );
00164
00165 protected:
00166 enum eWeekPrintType { Filofax=0, Timetable, SplitWeek } mWeekPrintType;
00167 TQTime mStartTime, mEndTime;
00168 bool mIncludeTodos;
00169 };
00170
00171 class CalPrintMonth : public CalPrintPluginBase
00172 {
00173 public:
00174 CalPrintMonth();
00175 virtual ~CalPrintMonth();
00176 virtual TQString description()
00177 {
00178 return i18n( "Print mont&h" );
00179 }
00180 virtual TQString info()
00181 {
00182 return i18n( "Prints all events of one month on one page" );
00183 }
00184 virtual int sortID()
00185 {
00186 return CalPrinterBase::Month;
00187 }
00188 virtual bool enabled()
00189 {
00190 return true;
00191 }
00192 virtual TQWidget *createConfigWidget( TQWidget * );
00193 virtual KPrinter::Orientation defaultOrientation()
00194 {
00195 return KPrinter::Landscape;
00196 }
00197
00198
00199 public:
00200 void print(TQPainter &p, int width, int height);
00201 virtual void readSettingsWidget();
00202 virtual void setSettingsWidget();
00203 virtual void loadConfig();
00204 virtual void saveConfig();
00205 virtual void setDateRange( const TQDate& from, const TQDate& to );
00206
00207 protected:
00208 bool mWeekNumbers;
00209 bool mRecurDaily;
00210 bool mRecurWeekly;
00211 bool mIncludeTodos;
00212 };
00213
00214 class CalPrintTodos : public CalPrintPluginBase
00215 {
00216 public:
00217 CalPrintTodos();
00218 virtual ~CalPrintTodos();
00219 virtual TQString description()
00220 {
00221 return i18n( "Print to-&dos" );
00222 }
00223 virtual TQString info()
00224 {
00225 return i18n( "Prints all to-dos in a (tree-like) list" );
00226 }
00227 virtual int sortID()
00228 {
00229 return CalPrinterBase::Todolist;
00230 }
00231 virtual bool enabled()
00232 {
00233 return true;
00234 }
00235 virtual TQWidget *createConfigWidget( TQWidget * );
00236
00237 public:
00238 void print( TQPainter &p, int width, int height );
00239 virtual void readSettingsWidget();
00240 virtual void setSettingsWidget();
00241 virtual void loadConfig();
00242 virtual void saveConfig();
00243
00244 protected:
00245 TQString mPageTitle;
00246
00247 enum eTodoPrintType {
00248 TodosAll = 0,
00249 TodosUnfinished,
00250 TodosDueRange
00251 } mTodoPrintType;
00252
00253 enum eTodoSortField {
00254 TodoFieldSummary = 0,
00255 TodoFieldStartDate,
00256 TodoFieldDueDate,
00257 TodoFieldPriority,
00258 TodoFieldPercentComplete,
00259 TodoFieldUnset
00260 } mTodoSortField;
00261
00262 enum eTodoSortDirection {
00263 TodoDirectionAscending = 0,
00264 TodoDirectionDescending,
00265 TodoDirectionUnset
00266 } mTodoSortDirection;
00267
00268 bool mIncludeDescription;
00269 bool mIncludePriority;
00270 bool mIncludeDueDate;
00271 bool mIncludePercentComplete;
00272 bool mConnectSubTodos;
00273 bool mStrikeOutCompleted;
00274 bool mSortField;
00275 bool mSortDirection;
00276 };
00277
00278
00279 #endif
00280
00281 #endif
|