• Skip to content
  • Skip to link menu
Trinity API Reference
  • Trinity API Reference
  • kdecore
 

kdecore

  • kdecore
kcalendarsystem.cpp
1 /*
2  Copyright (c) 2002 Carlos Moro <cfmoro@correo.uniovi.es>
3  Copyright (c) 2002 Hans Petter Bieker <bieker@kde.org>
4 
5  This library is free software; you can redistribute it and/or
6  modify it under the terms of the GNU Library General Public
7  License as published by the Free Software Foundation; either
8  version 2 of the License, or (at your option) any later version.
9 
10  This library is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13  Library General Public License for more details.
14 
15  You should have received a copy of the GNU Library General Public License
16  along with this library; see the file COPYING.LIB. If not, write to
17  the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
18  Boston, MA 02110-1301, USA.
19 */
20 
21 // Gregorian calendar system implementation factory for creation of kde calendar
22 // systems.
23 // Also default gregorian and factory classes
24 
25 #include <kglobal.h>
26 
27 #include "kcalendarsystem.h"
28 #include "klocale.h"
29 
30 class KCalendarSystemPrivate
31 {
32 public:
33  const KLocale * locale;
34 };
35 
36 KCalendarSystem::KCalendarSystem(const KLocale * locale)
37  : d(new KCalendarSystemPrivate)
38 {
39  d->locale = locale;
40 }
41 
42 KCalendarSystem::~KCalendarSystem()
43 {
44  delete d;
45 }
46 
47 const KLocale * KCalendarSystem::locale() const
48 {
49  if ( d->locale )
50  return d->locale;
51 
52  return KGlobal::locale();
53 }
54 
55 TQString KCalendarSystem::dayString(const TQDate & pDate, bool bShort) const
56 {
57  TQString sResult;
58 
59  sResult.setNum(day(pDate));
60  if (!bShort && sResult.length() == 1 )
61  sResult.prepend('0');
62 
63  return sResult;
64 }
65 
66 TQString KCalendarSystem::monthString(const TQDate & pDate, bool bShort) const
67 {
68  TQString sResult;
69 
70  sResult.setNum(month(pDate));
71  if (!bShort && sResult.length() == 1 )
72  sResult.prepend('0');
73 
74  return sResult;
75 }
76 
77 TQString KCalendarSystem::yearString(const TQDate & pDate, bool bShort) const
78 {
79  TQString sResult;
80 
81  sResult.setNum(year(pDate));
82  if (bShort && sResult.length() == 4 )
83  sResult = sResult.right(2);
84 
85  return sResult;
86 }
87 
88 static int stringToInteger(const TQString & sNum, int & iLength)
89 {
90  unsigned int iPos = 0;
91 
92  int result = 0;
93  for (; sNum.length() > iPos && sNum.at(iPos).isDigit(); iPos++)
94  {
95  result *= 10;
96  result += sNum.at(iPos).digitValue();
97  }
98 
99  iLength = iPos;
100  return result;
101 }
102 
103 
104 int KCalendarSystem::dayStringToInteger(const TQString & sNum, int & iLength) const
105 {
106  return stringToInteger(sNum, iLength);
107 }
108 
109 int KCalendarSystem::monthStringToInteger(const TQString & sNum, int & iLength) const
110 {
111  return stringToInteger(sNum, iLength);
112 }
113 
114 int KCalendarSystem::yearStringToInteger(const TQString & sNum, int & iLength) const
115 {
116  return stringToInteger(sNum, iLength);
117 }
118 
119 TQString KCalendarSystem::weekDayName (int weekDay, bool shortName) const
120 {
121  if ( shortName )
122  switch ( weekDay )
123  {
124  case 1: return locale()->translate("Monday", "Mon");
125  case 2: return locale()->translate("Tuesday", "Tue");
126  case 3: return locale()->translate("Wednesday", "Wed");
127  case 4: return locale()->translate("Thursday", "Thu");
128  case 5: return locale()->translate("Friday", "Fri");
129  case 6: return locale()->translate("Saturday", "Sat");
130  case 7: return locale()->translate("Sunday", "Sun");
131  }
132  else
133  switch ( weekDay )
134  {
135  case 1: return locale()->translate("Monday");
136  case 2: return locale()->translate("Tuesday");
137  case 3: return locale()->translate("Wednesday");
138  case 4: return locale()->translate("Thursday");
139  case 5: return locale()->translate("Friday");
140  case 6: return locale()->translate("Saturday");
141  case 7: return locale()->translate("Sunday");
142  }
143 
144  return TQString::null;
145 }
146 
KCalendarSystem::yearString
virtual TQString yearString(const TQDate &pDate, bool bShort) const
Converts a date into a year literal.
Definition: kcalendarsystem.cpp:77
KGlobal::locale
static KLocale * locale()
Returns the global locale object.
Definition: kglobal.cpp:88
KCalendarSystem::monthString
virtual TQString monthString(const TQDate &pDate, bool bShort) const
Converts a date into a month literal.
Definition: kcalendarsystem.cpp:66
KCalendarSystem::year
virtual int year(const TQDate &date) const =0
Gets specific calendar type year for a given gregorian date.
KCalendarSystem::dayString
virtual TQString dayString(const TQDate &pDate, bool bShort) const
Converts a date into a day literal.
Definition: kcalendarsystem.cpp:55
KCalendarSystem::KCalendarSystem
KCalendarSystem(const KLocale *locale=0)
Constructor of abstract calendar class.
Definition: kcalendarsystem.cpp:36
klocale.h
KCalendarSystem::yearStringToInteger
virtual int yearStringToInteger(const TQString &sNum, int &iLength) const
Converts a year literal of a part of a string into a integer starting at the beginning of the string...
Definition: kcalendarsystem.cpp:114
KCalendarSystem::dayStringToInteger
virtual int dayStringToInteger(const TQString &sNum, int &iLength) const
Converts a day literal of a part of a string into a integer starting at the beginning of the string...
Definition: kcalendarsystem.cpp:104
KCalendarSystem::monthStringToInteger
virtual int monthStringToInteger(const TQString &sNum, int &iLength) const
Converts a month literal of a part of a string into a integer starting at the beginning of the string...
Definition: kcalendarsystem.cpp:109
KCalendarSystem::locale
const KLocale * locale() const
Gets the locale the calendar uses for translations.
Definition: kcalendarsystem.cpp:47
KCalendarSystem::month
virtual int month(const TQDate &date) const =0
Gets specific calendar type month for a given gregorian date.
KCalendarSystem::weekDayName
virtual TQString weekDayName(int weekDay, bool shortName=false) const =0
Gets specific calendar type week day name If an invalid week day is specified, TQString::null is retu...
Definition: kcalendarsystem.cpp:119
KCalendarSystem::day
virtual int day(const TQDate &date) const =0
Gets specific calendar type day number of month for a given date.
KLocale
KLocale provides support for country specific stuff like the national language.
Definition: klocale.h:124
KLocale::translate
TQString translate(const char *index) const
Translates the string into the corresponding string in the national language, if available.
Definition: klocale.cpp:769
KCalendarSystem::~KCalendarSystem
virtual ~KCalendarSystem()
Descructor.
Definition: kcalendarsystem.cpp:42

kdecore

Skip menu "kdecore"
  • Main Page
  • Modules
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • Class Members
  • Related Pages

kdecore

Skip menu "kdecore"
  • arts
  • dcop
  • dnssd
  • interfaces
  •     interface
  •     library
  •   kspeech
  •   ktexteditor
  • kabc
  • kate
  • kcmshell
  • kdecore
  • kded
  • kdefx
  • kdeprint
  • kdesu
  • kdeui
  • kdoctools
  • khtml
  • kimgio
  • kinit
  • kio
  •   bookmarks
  •   httpfilter
  •   kfile
  •   kio
  •   kioexec
  •   kpasswdserver
  •   kssl
  • kioslave
  •   http
  • kjs
  • kmdi
  •   kmdi
  • knewstuff
  • kparts
  • krandr
  • kresources
  • kspell2
  • kunittest
  • kutils
  • kwallet
  • libkmid
  • libkscreensaver
Generated for kdecore by doxygen 1.8.6
This website is maintained by Timothy Pearson.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. |