[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: Re: KDE/kdepimlibs/kcal
From: Allen Winter <winter () kde ! org>
Date: 2010-05-13 14:34:13
Message-ID: 201005131034.13837.winter () kde ! org
[Download RAW message or body]
On Thursday 13 May 2010 8:55:27 am Tobias Koenig wrote:
> SVN commit 1126242 by tokoe:
>
> Make API private
>
>
Tobias,
We need reminderStringList to be public.
It will be used in the Incidence Editor to print the reminder string there.
I just haven't gotten around to merging that particular change from e35 to trunk yet.
Also, the durationString might be needed public too.. at the very least it's a useful thing.
Please revert.
> M +144 -143 incidenceformatter.cpp
> M +0 -21 incidenceformatter.h
>
>
> --- trunk/KDE/kdepimlibs/kcal/incidenceformatter.cpp #1126241:1126242
> @@ -185,6 +185,150 @@
> }
> return name;
> }
> +
> +static QString secs2Duration( int secs )
> +{
> + QString tmp;
> + int days = secs / 86400;
> + if ( days > 0 ) {
> + tmp += i18np( "1 day", "%1 days", days );
> + tmp += ' ';
> + secs -= ( days * 86400 );
> + }
> + int hours = secs / 3600;
> + if ( hours > 0 ) {
> + tmp += i18np( "1 hour", "%1 hours", hours );
> + tmp += ' ';
> + secs -= ( hours * 3600 );
> + }
> + int mins = secs / 60;
> + if ( mins > 0 ) {
> + tmp += i18np( "1 minute", "%1 minutes", mins );
> + }
> + return tmp;
> +}
> +
> +static QStringList reminderStringList( Incidence *incidence, bool shortfmt = true )
> +{
> + //TODO: implement shortfmt=false
> + Q_UNUSED( shortfmt );
> +
> + QStringList list;
> +
> + if ( incidence ) {
> + Alarm::List alarms = incidence->alarms();
> + Alarm::List::ConstIterator it;
> + for ( it = alarms.constBegin(); it != alarms.constEnd(); ++it ) {
> + Alarm *alarm = *it;
> + int offset = 0;
> + QString remStr, atStr, offsetStr;
> + if ( alarm->hasTime() ) {
> + offset = 0;
> + if ( alarm->time().isValid() ) {
> + atStr = KGlobal::locale()->formatDateTime( alarm->time() );
> + }
> + } else if ( alarm->hasStartOffset() ) {
> + offset = alarm->startOffset().asSeconds();
> + if ( offset < 0 ) {
> + offset = -offset;
> + offsetStr = i18nc( "N days/hours/minutes before the start datetime",
> + "%1 before the start", secs2Duration( offset ) );
> + } else if ( offset > 0 ) {
> + offsetStr = i18nc( "N days/hours/minutes after the start datetime",
> + "%1 after the start", secs2Duration( offset ) );
> + } else { //offset is 0
> + if ( incidence->dtStart().isValid() ) {
> + atStr = KGlobal::locale()->formatDateTime( incidence->dtStart() );
> + }
> + }
> + } else if ( alarm->hasEndOffset() ) {
> + offset = alarm->endOffset().asSeconds();
> + if ( offset < 0 ) {
> + offset = -offset;
> + if ( incidence->type() == "Todo" ) {
> + offsetStr = i18nc( "N days/hours/minutes before the due datetime",
> + "%1 before the to-do is due", secs2Duration( offset ) );
> + } else {
> + offsetStr = i18nc( "N days/hours/minutes before the end datetime",
> + "%1 before the end", secs2Duration( offset ) );
> + }
> + } else if ( offset > 0 ) {
> + if ( incidence->type() == "Todo" ) {
> + offsetStr = i18nc( "N days/hours/minutes after the due datetime",
> + "%1 after the to-do is due", secs2Duration( offset ) );
> + } else {
> + offsetStr = i18nc( "N days/hours/minutes after the end datetime",
> + "%1 after the end", secs2Duration( offset ) );
> + }
> + } else { //offset is 0
> + if ( incidence->type() == "Todo" ) {
> + Todo *t = static_cast<Todo *>( incidence );
> + if ( t->dtDue().isValid() ) {
> + atStr = KGlobal::locale()->formatDateTime( t->dtDue() );
> + }
> + } else {
> + Event *e = static_cast<Event *>( incidence );
> + if ( e->dtEnd().isValid() ) {
> + atStr = KGlobal::locale()->formatDateTime( e->dtEnd() );
> + }
> + }
> + }
> + }
> + if ( offset == 0 ) {
> + if ( !atStr.isEmpty() ) {
> + remStr = i18nc( "reminder occurs at datetime", "at %1", atStr );
> + }
> + } else {
> + remStr = offsetStr;
> + }
> +
> + if ( alarm->repeatCount() > 0 ) {
> + QString countStr = i18np( "repeats once", "repeats %1 times", alarm->repeatCount() );
> + QString intervalStr = i18nc( "interval is N days/hours/minutes",
> + "interval is %1",
> + secs2Duration( alarm->snoozeTime().asSeconds() ) );
> + QString repeatStr = i18nc( "(repeat string, interval string)",
> + "(%1, %2)", countStr, intervalStr );
> + remStr = remStr + ' ' + repeatStr;
> +
> + }
> + list << remStr;
> + }
> + }
> +
> + return list;
> +}
> +
> +static QString durationString( Incidence *incidence )
> +{
> + QString tmp;
> + if ( incidence->type() == "Event" ) {
> + Event *event = static_cast<Event *>( incidence );
> + if ( event->hasEndDate() ) {
> + if ( !event->allDay() ) {
> + tmp = secs2Duration( event->dtStart().secsTo( event->dtEnd() ) );
> + } else {
> + tmp = i18np( "1 day", "%1 days",
> + event->dtStart().date().daysTo( event->dtEnd().date() ) + 1 );
> + }
> + } else {
> + tmp = i18n( "forever" );
> + }
> + } else if ( incidence->type() == "Todo" ) {
> + Todo *todo = static_cast<Todo *>( incidence );
> + if ( todo->hasDueDate() ) {
> + if ( todo->hasStartDate() ) {
> + if ( !todo->allDay() ) {
> + tmp = secs2Duration( todo->dtStart().secsTo( todo->dtDue() ) );
> + } else {
> + tmp = i18np( "1 day", "%1 days",
> + todo->dtStart().date().daysTo( todo->dtDue().date() ) + 1 );
> + }
> + }
> + }
> + }
> + return tmp;
> +}
> //@endcond
>
> /*******************************************************************
> @@ -3785,146 +3929,3 @@
> return QString();
> }
>
> -static QString secs2Duration( int secs )
> -{
> - QString tmp;
> - int days = secs / 86400;
> - if ( days > 0 ) {
> - tmp += i18np( "1 day", "%1 days", days );
> - tmp += ' ';
> - secs -= ( days * 86400 );
> - }
> - int hours = secs / 3600;
> - if ( hours > 0 ) {
> - tmp += i18np( "1 hour", "%1 hours", hours );
> - tmp += ' ';
> - secs -= ( hours * 3600 );
> - }
> - int mins = secs / 60;
> - if ( mins > 0 ) {
> - tmp += i18np( "1 minute", "%1 minutes", mins );
> - }
> - return tmp;
> -}
> -
> -QString IncidenceFormatter::durationString( Incidence *incidence )
> -{
> - QString tmp;
> - if ( incidence->type() == "Event" ) {
> - Event *event = static_cast<Event *>( incidence );
> - if ( event->hasEndDate() ) {
> - if ( !event->allDay() ) {
> - tmp = secs2Duration( event->dtStart().secsTo( event->dtEnd() ) );
> - } else {
> - tmp = i18np( "1 day", "%1 days",
> - event->dtStart().date().daysTo( event->dtEnd().date() ) + 1 );
> - }
> - } else {
> - tmp = i18n( "forever" );
> - }
> - } else if ( incidence->type() == "Todo" ) {
> - Todo *todo = static_cast<Todo *>( incidence );
> - if ( todo->hasDueDate() ) {
> - if ( todo->hasStartDate() ) {
> - if ( !todo->allDay() ) {
> - tmp = secs2Duration( todo->dtStart().secsTo( todo->dtDue() ) );
> - } else {
> - tmp = i18np( "1 day", "%1 days",
> - todo->dtStart().date().daysTo( todo->dtDue().date() ) + 1 );
> - }
> - }
> - }
> - }
> - return tmp;
> -}
> -
> -QStringList IncidenceFormatter::reminderStringList( Incidence *incidence, bool shortfmt )
> -{
> - //TODO: implement shortfmt=false
> - Q_UNUSED( shortfmt );
> -
> - QStringList reminderStringList;
> -
> - if ( incidence ) {
> - Alarm::List alarms = incidence->alarms();
> - Alarm::List::ConstIterator it;
> - for ( it = alarms.constBegin(); it != alarms.constEnd(); ++it ) {
> - Alarm *alarm = *it;
> - int offset = 0;
> - QString remStr, atStr, offsetStr;
> - if ( alarm->hasTime() ) {
> - offset = 0;
> - if ( alarm->time().isValid() ) {
> - atStr = KGlobal::locale()->formatDateTime( alarm->time() );
> - }
> - } else if ( alarm->hasStartOffset() ) {
> - offset = alarm->startOffset().asSeconds();
> - if ( offset < 0 ) {
> - offset = -offset;
> - offsetStr = i18nc( "N days/hours/minutes before the start datetime",
> - "%1 before the start", secs2Duration( offset ) );
> - } else if ( offset > 0 ) {
> - offsetStr = i18nc( "N days/hours/minutes after the start datetime",
> - "%1 after the start", secs2Duration( offset ) );
> - } else { //offset is 0
> - if ( incidence->dtStart().isValid() ) {
> - atStr = KGlobal::locale()->formatDateTime( incidence->dtStart() );
> - }
> - }
> - } else if ( alarm->hasEndOffset() ) {
> - offset = alarm->endOffset().asSeconds();
> - if ( offset < 0 ) {
> - offset = -offset;
> - if ( incidence->type() == "Todo" ) {
> - offsetStr = i18nc( "N days/hours/minutes before the due datetime",
> - "%1 before the to-do is due", secs2Duration( offset ) );
> - } else {
> - offsetStr = i18nc( "N days/hours/minutes before the end datetime",
> - "%1 before the end", secs2Duration( offset ) );
> - }
> - } else if ( offset > 0 ) {
> - if ( incidence->type() == "Todo" ) {
> - offsetStr = i18nc( "N days/hours/minutes after the due datetime",
> - "%1 after the to-do is due", secs2Duration( offset ) );
> - } else {
> - offsetStr = i18nc( "N days/hours/minutes after the end datetime",
> - "%1 after the end", secs2Duration( offset ) );
> - }
> - } else { //offset is 0
> - if ( incidence->type() == "Todo" ) {
> - Todo *t = static_cast<Todo *>( incidence );
> - if ( t->dtDue().isValid() ) {
> - atStr = KGlobal::locale()->formatDateTime( t->dtDue() );
> - }
> - } else {
> - Event *e = static_cast<Event *>( incidence );
> - if ( e->dtEnd().isValid() ) {
> - atStr = KGlobal::locale()->formatDateTime( e->dtEnd() );
> - }
> - }
> - }
> - }
> - if ( offset == 0 ) {
> - if ( !atStr.isEmpty() ) {
> - remStr = i18nc( "reminder occurs at datetime", "at %1", atStr );
> - }
> - } else {
> - remStr = offsetStr;
> - }
> -
> - if ( alarm->repeatCount() > 0 ) {
> - QString countStr = i18np( "repeats once", "repeats %1 times", alarm->repeatCount() );
> - QString intervalStr = i18nc( "interval is N days/hours/minutes",
> - "interval is %1",
> - secs2Duration( alarm->snoozeTime().asSeconds() ) );
> - QString repeatStr = i18nc( "(repeat string, interval string)",
> - "(%1, %2)", countStr, intervalStr );
> - remStr = remStr + ' ' + repeatStr;
> -
> - }
> - reminderStringList << remStr;
> - }
> - }
> -
> - return reminderStringList;
> -}
> --- trunk/KDE/kdepimlibs/kcal/incidenceformatter.h #1126241:1126242
> @@ -264,18 +264,6 @@
> KCAL_EXPORT QString recurrenceString( Incidence *incidence );
>
> /**
> - Returns a reminder string computed for the specified Incidence.
> - Each item of the returning QStringList corresponds to a string
> - representation of an reminder belonging to this incidence.
> - @param incidence is a pointer to the Incidence.
> - @param shortfmt if false, a short version of each reminder is printed;
> - else a longer version of each reminder is printed.
> - @since 4.5
> - */
> - //AK_REVIEW: make it private API
> - KCAL_EXPORT QStringList reminderStringList( Incidence *incidence, bool shortfmt = true );
> -
> - /**
> Build a QString time representation of a KDateTime object.
> @param date The date to be formatted.
> @param shortfmt If true, display info in short format.
> @@ -319,15 +307,6 @@
> */
> KCAL_EXPORT QString resourceString( Calendar *calendar, Incidence *incidence );
>
> - /**
> - Returns a duration string computed for the specified Incidence.
> - Only makes sense for Events and Todos.
> - @param incidence is a pointer to the Incidence.
> - @since 4.5
> - */
> - //AK_REVIEW: make it private API
> - KCAL_EXPORT QString durationString( Incidence *incidence );
> -
> class EventViewerVisitor;
> class ScheduleMessageVisitor;
> class InvitationHeaderVisitor;
>
--
Allen Winter | allen@kdab.net | Software Engineer
KDAB (USA), LLC, a KDAB Group company
Tel. USA +1-866-777-KDAB(5322), Sweden (HQ) +46-563-540090
KDAB - Qt Experts - Platform-independent software solutions
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic