本文整理汇总了C++中incidence::Ptr::recursOn方法的典型用法代码示例。如果您正苦于以下问题:C++ Ptr::recursOn方法的具体用法?C++ Ptr::recursOn怎么用?C++ Ptr::recursOn使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类incidence::Ptr
的用法示例。
在下文中一共展示了Ptr::recursOn方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
int main( int argc, char **argv )
{
KAboutData aboutData(
"testrecurson", 0,
ki18n( "Tests all dates from 2002 to 2010 to test if the event recurs on each individual date. "
"This is meant to test the Recurrence::recursOn method for errors." ), "0.1" );
KCmdLineArgs::init( argc, argv, &aboutData );
KCmdLineOptions options;
options.add( "verbose", ki18n( "Verbose output" ) );
options.add( "+input", ki18n( "Name of input file" ) );
options.add( "[+output]", ki18n( "optional name of output file for the recurrence dates" ) );
KCmdLineArgs::addCmdLineOptions( options );
KComponentData componentData( &aboutData );
//QCoreApplication app( KCmdLineArgs::qtArgc(), KCmdLineArgs::qtArgv() );
KCmdLineArgs *args = KCmdLineArgs::parsedArgs();
if ( args->count() < 1 ) {
args->usage( "Wrong number of arguments." );
}
QString input = args->arg( 0 );
// kDebug() << "Input file:" << input;
QTextStream *outstream;
outstream = 0;
QString fn( "" );
if ( args->count() > 1 ) {
fn = args->arg( 1 );
// kDebug() << "We have a file name given:" << fn;
}
QFile outfile( fn );
if ( !fn.isEmpty() && outfile.open( QIODevice::WriteOnly ) ) {
// kDebug() << "Opened output file!!!";
outstream = new QTextStream( &outfile );
}
MemoryCalendar::Ptr cal( new MemoryCalendar( KDateTime::UTC ) );
FileStorage store( cal, input );
if ( !store.load() ) return 1;
QString tz = cal->nonKDECustomProperty( "X-LibKCal-Testsuite-OutTZ" );
if ( !tz.isEmpty() ) {
cal->setViewTimeZoneId( tz );
}
Incidence::List inc = cal->incidences();
for ( Incidence::List::Iterator it = inc.begin(); it != inc.end(); ++it ) {
Incidence::Ptr incidence = *it;
// kDebug() << " ->" << incidence->summary() << "<-";
// incidence->recurrence()->dump();
QDate dt( 1996, 7, 1 );
if ( outstream ) {
// Output to file for testing purposes
int nr = 0;
while ( dt.year() <= 2020 && nr<=500 ) {
if ( incidence->recursOn( dt, cal->viewTimeSpec() ) ) {
(*outstream) << dt.toString( Qt::ISODate ) << endl;
nr++;
}
dt = dt.addDays( 1 );
}
} else {
dt = QDate( 2005, 1, 1 );
while ( dt.year() < 2007 ) {
if ( incidence->recursOn( dt, cal->viewTimeSpec() ) ) {
kDebug() << dt.toString( Qt::ISODate );
}
dt = dt.addDays( 1 );
}
}
}
delete outstream;
outfile.close();
return 0;
}