[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdepim/mobile/lib/calendar
From: Artur Duque de Souza <asouza () kde ! org>
Date: 2010-08-31 22:59:34
Message-ID: 20100831225934.DF3F7AC857 () svn ! kde ! org
[Download RAW message or body]
SVN commit 1170447 by asouza:
Check for wrong values in set(Day/Month/Year) in Calendar Helper
We need to validate the input before setting it.
M +25 -3 calendarhelper.cpp
--- trunk/KDE/kdepim/mobile/lib/calendar/calendarhelper.cpp #1170446:1170447
@@ -22,12 +22,14 @@
#define MAX_DAYS_ON_WIDGET 35
#define MAX_WEEKS_ON_WIDGET 5
+#include <KDebug>
+
CalendarHelper::CalendarHelper( QObject *parent )
: QObject( parent )
{
//setDate(QDateTime::currentDateTime());
- setDate(QDateTime(QDate(2010, 8, 31)));
+ setDate(QDateTime(QDate(2010, 8, 10)));
}
CalendarHelper::~CalendarHelper()
@@ -51,7 +53,6 @@
QDate firstDay = QDate(m_year, m_month, 1);
m_offset = firstDay.dayOfWeek();
m_weekOffset = firstDay.weekNumber();
-
emit dateChanged();
}
@@ -65,6 +66,11 @@
if ( m_day == day )
return;
+ QDate newDate(m_year, m_month, day);
+ if ( !newDate.isValid() )
+ return;
+
+ m_original.setDate( newDate );
m_day = day;
emit dayChanged();
}
@@ -84,6 +90,11 @@
if ( m_month == month )
return;
+ QDate newDate(m_year, month, m_day);
+ if ( !newDate.isValid() )
+ return;
+
+ m_original.setDate( newDate );
m_month = month;
m_daysInMonth = m_original.date().daysInMonth();
emit monthChanged();
@@ -99,6 +110,11 @@
if ( m_year == year )
return;
+ QDate newDate(year, m_month, m_day);
+ if ( !newDate.isValid() )
+ return;
+
+ m_original.setDate( newDate );
m_year = year;
emit yearChanged();
}
@@ -112,9 +128,15 @@
return QString();
// if the position is the firsts days (0 to m_offset)
- if ( pos <= m_offset )
+ if ( pos < m_offset )
return QString::number(pos);
+ // the current day
+ if ( pos == m_offset ) {
+ const QString rpos = QString::number(pos);
+ emit activeDay( rpos );
+ return rpos;
+ }
if ( res >= m_daysInMonth )
return QString();
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic