From 15318cad33835e4e2dc620d033e43cd930676cdd Mon Sep 17 00:00:00 2001 From: kergoth Date: Fri, 25 Jan 2002 22:14:26 +0000 Subject: Initial revision --- (limited to 'library/calendar.cpp') diff --git a/library/calendar.cpp b/library/calendar.cpp new file mode 100644 index 0000000..b9ef585 --- a/dev/null +++ b/library/calendar.cpp @@ -0,0 +1,66 @@ +/********************************************************************** +** Copyright (C) 2000 Trolltech AS. All rights reserved. +** +** This file is part of Qtopia Environment. +** +** This file may be distributed and/or modified under the terms of the +** GNU General Public License version 2 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. +** +** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +** +** See http://www.trolltech.com/gpl/ for GPL licensing information. +** +** Contact info@trolltech.com if any conditions of this licensing are +** not clear to you. +** +**********************************************************************/ +#include "calendar.h" + +#include + +QString Calendar::nameOfMonth( int m ) +{ + QDate d; + return d.monthName( m ); +} + +QString Calendar::nameOfDay( int d ) +{ + QDate dt; + return dt.dayName( d ); +} + +QValueList Calendar::daysOfMonth( int year, int month, + bool startWithMonday ) +{ + QDate temp; + temp.setYMD( year, month, 1 ); + int firstDay = temp.dayOfWeek(); + int i; + QDate prev; + QValueList days; + + if ( startWithMonday ) + i = 1; + else + i = 0; + + if ( month > 1 ) + prev.setYMD( year, month - 1, 1 ); + else + prev.setYMD( year - 1, 12, 1 ); + for ( ; i < firstDay; i++ ) { + days.append( Day( prev.daysInMonth() - ( firstDay - i - 1 ), + Day::PrevMonth, FALSE ) ); + } + for ( i = 1; i <= temp.daysInMonth(); i++ ) + days.append( Day( i, Day::ThisMonth, FALSE ) ); + i = 0; + while ( days.count() < 6 * 7 ) + days.append( Day( ++i, Day::NextMonth, FALSE ) ); + + return days; +} -- cgit v0.9.0.2