1#include "timedateformatwidget.h"
2#include "DateFormatWidget.h"
3#include "DateFormatWidget.moc"
8#include <tqbuttongroup.h>
9#include <tqradiobutton.h>
12#include <tqlineedit.h>
15#include <KoVariable.h>
21DateFormatWidget::DateFormatWidget( TQWidget* parent,
const char* name, WFlags fl )
22 : TimeDateFormatWidgetPrototype( parent,
name, fl )
24 setCaption( i18n(
"DateFormat",
"Format of Date Variable" ) );
25 TQStringList listDateFormat = KoVariableDateFormat::staticTranslatedFormatPropsList();
26 combo1->insertStringList(listDateFormat);
28 combo2->insertItem( i18n(
"Day"));
29 combo2->insertItem( i18n(
"Day (2 digits)"));
30 combo2->insertItem( i18n(
"Day (abbreviated name)"));
31 combo2->insertItem( i18n(
"Day (long name)"));
32 combo2->insertItem( i18n(
"Month" ) );
33 combo2->insertItem( i18n(
"Month (2 digits)" ) );
34 combo2->insertItem( i18n(
"Month (abbreviated name)" ) );
35 combo2->insertItem( i18n(
"Month (long name)" ) );
36 combo2->insertItem( i18n(
"Month (possessive abbreviated name)" ) );
37 combo2->insertItem( i18n(
"Month (possessive long name)" ) );
38 combo2->insertItem( i18n(
"Year (2 digits)" ) );
39 combo2->insertItem( i18n(
"Year (4 digits)" ) );
41 combo2->insertItem( i18n(
"Hour" ) );
42 combo2->insertItem( i18n(
"Hour (2 digits)" ) );
43 combo2->insertItem( i18n(
"Minute" ) );
44 combo2->insertItem( i18n(
"Minute (2 digits)" ) );
45 combo2->insertItem( i18n(
"Second" ) );
46 combo2->insertItem( i18n(
"Second (2 digits)" ) );
47 combo2->insertItem( i18n(
"Millisecond (3 digits)" ) );
48 combo2->insertItem( i18n(
"am/pm" ) );
49 combo2->insertItem( i18n(
"AM/PM" ) );
51 combo2->setCurrentItem( 0 );
53 label_correction->setText(i18n(
"Correct in Days"));
55 connect( CheckBox1, TQ_SIGNAL(toggled (
bool )),
this,TQ_SLOT(slotPersonalizeChanged(
bool)));
56 connect( combo1, TQ_SIGNAL(activated (
const TQString & )),
this, TQ_SLOT(slotDefaultValueChanged(
const TQString &)));
57 connect( combo1, TQ_SIGNAL(textChanged (
const TQString & )),
this, TQ_SLOT(slotDefaultValueChanged(
const TQString &)));
58 connect( KIntNumInput1, TQ_SIGNAL(valueChanged(
int)),
this, TQ_SLOT( slotOffsetChanged(
int)));
59 slotPersonalizeChanged(
false);
65DateFormatWidget::~DateFormatWidget()
73void DateFormatWidget::slotDefaultValueChanged(
const TQString & )
78void DateFormatWidget::slotOffsetChanged(
int)
83void DateFormatWidget::slotPersonalizeChanged(
bool b)
85 combo2->setEnabled(b);
86 TextLabel1->setEnabled(b);
87 combo1->setEditable(b);
92void DateFormatWidget::comboActivated()
94 TQString
string=combo2->currentText();
95 if(
string==i18n(
"Day"))
96 combo1->lineEdit()->insert(
"d");
97 else if(
string==i18n(
"Day (2 digits)"))
98 combo1->lineEdit()->insert(
"dd");
99 else if(
string==i18n(
"Day (abbreviated name)"))
100 combo1->lineEdit()->insert(
"ddd");
101 else if(
string==i18n(
"Day (long name)"))
102 combo1->lineEdit()->insert(
"dddd");
103 else if(
string==i18n(
"Month" ) )
104 combo1->lineEdit()->insert(
"M");
105 else if(
string==i18n(
"Month (2 digits)" ) )
106 combo1->lineEdit()->insert(
"MM");
107 else if(
string==i18n(
"Month (abbreviated name)" ) )
108 combo1->lineEdit()->insert(
"MMM");
109 else if(
string==i18n(
"Month (long name)" ) )
110 combo1->lineEdit()->insert(
"MMMM");
111 else if(
string==i18n(
"Month (possessive abbreviated name)" ) )
112 combo1->lineEdit()->insert(
"PPP");
113 else if(
string==i18n(
"Month (possessive long name)" ) )
114 combo1->lineEdit()->insert(
"PPPP");
115 else if(
string==i18n(
"Year (2 digits)" ) )
116 combo1->lineEdit()->insert(
"yy");
117 else if(
string==i18n(
"Year (4 digits)" ) )
118 combo1->lineEdit()->insert(
"yyyy");
120 else if(
string==i18n(
"Hour"))
121 combo1->lineEdit()->insert(
"h");
122 else if(
string==i18n(
"Hour (2 digits)"))
123 combo1->lineEdit()->insert(
"hh");
124 else if(
string==i18n(
"Minute"))
125 combo1->lineEdit()->insert(
"m");
126 else if(
string==i18n(
"Minute (2 digits)"))
127 combo1->lineEdit()->insert(
"mm");
128 else if(
string==i18n(
"Second"))
129 combo1->lineEdit()->insert(
"s");
130 else if(
string==i18n(
"Second (2 digits)"))
131 combo1->lineEdit()->insert(
"ss");
132 else if(
string==i18n(
"Millisecond (3 digits)"))
133 combo1->lineEdit()->insert(
"zzz");
134 else if(
string==i18n(
"AM/PM"))
135 combo1->lineEdit()->insert(
"AP");
136 else if(
string==i18n(
"am/pm"))
137 combo1->lineEdit()->insert(
"ap");
146void DateFormatWidget::updateLabel()
150 TQDateTime ct = TQDateTime::currentDateTime().addDays( correctValue() );
151 label->setText( format.
convert( ct ) );
154TQString DateFormatWidget::resultString()
156 const TQString lookup(combo1->currentText());
157 const TQStringList listTranslated( KoVariableDateFormat::staticTranslatedFormatPropsList() );
158 const int index = listTranslated.findIndex(lookup);
165 const TQStringList listRaw( KoVariableDateFormat::staticFormatPropsList() );
167 TQStringList::ConstIterator it( listRaw.at(index) );
168 Q_ASSERT( it != listRaw.end() );
169 if ( it != listRaw.end() )
171 kdError(32500) <<
"Internal error: could not find correcponding date format: " << lookup << endl;
175int DateFormatWidget::correctValue()
177 return KIntNumInput1->value();
const char * name(StdAction id)