author | harlekin <harlekin> | 2002-04-10 16:51:46 (UTC) |
---|---|---|
committer | harlekin <harlekin> | 2002-04-10 16:51:46 (UTC) |
commit | 34e0e7af48992314d461be1a5a573dc0967fe260 (patch) (side-by-side diff) | |
tree | e3e8bbf44ebf767f28de3fe89eced38e785a7b55 /core/pim/today | |
parent | 1d32fda5b67e89321ecbd0c8700edb8292b9ca90 (diff) | |
download | opie-34e0e7af48992314d461be1a5a573dc0967fe260.zip opie-34e0e7af48992314d461be1a5a573dc0967fe260.tar.gz opie-34e0e7af48992314d461be1a5a573dc0967fe260.tar.bz2 |
am/pm support, ugly
-rw-r--r-- | core/pim/today/TODO | 2 | ||||
-rw-r--r-- | core/pim/today/changelog | 2 | ||||
-rw-r--r-- | core/pim/today/today.cpp | 62 | ||||
-rw-r--r-- | core/pim/today/today.h | 4 | ||||
-rw-r--r-- | core/pim/today/todaybase.cpp | 24 |
5 files changed, 74 insertions, 20 deletions
diff --git a/core/pim/today/TODO b/core/pim/today/TODO index 48e8d20..6acbf5a 100644 --- a/core/pim/today/TODO +++ b/core/pim/today/TODO @@ -1,10 +1,8 @@ TODO for today: * show alarm icons on alarm events (partly done) -* add am/pm mode instead of 24 h, take system default - * qcop integration for updating events? * make Opiezilla a clickable label wich is allway on the far right side of the screen , klick will open credits ,)
\ No newline at end of file diff --git a/core/pim/today/changelog b/core/pim/today/changelog index b3da1fb..f04ff78 100644 --- a/core/pim/today/changelog +++ b/core/pim/today/changelog @@ -1,6 +1,8 @@ +* am/pm time optinal (autodetect) + 0.3.1 * fixed the wrong color of the buttons * better translation (thanks carsten and others) * fixes memory leaks * bugfixes in calendar part, now location and note are working again. diff --git a/core/pim/today/today.cpp b/core/pim/today/today.cpp index 7cef035..028947d 100644 --- a/core/pim/today/today.cpp +++ b/core/pim/today/today.cpp @@ -72,12 +72,14 @@ Today::Today( QWidget* parent, const char* name, WFlags fl ) QCopChannel *todayChannel = new QCopChannel("QPE/Today" , this ); connect (todayChannel, SIGNAL( received(const QCString &, const QByteArray &)), this, SLOT ( channelReceived(const QCString &, const QByteArray &)) ); #endif #endif + + db = NULL; setOwnerField(); todo = new ToDoDB; getTodo(); draw(); autoStart(); @@ -441,14 +443,12 @@ void Today::startMail() { } Today::~Today() { } - - /* * Gets the events for the current day, if it should get all dates */ DateBookEvent::DateBookEvent(const EffectiveEvent &ev, QWidget* parent = 0, int SHOW_LOCATION = 0, @@ -457,12 +457,17 @@ DateBookEvent::DateBookEvent(const EffectiveEvent &ev, WFlags fl = 0) : ClickableLabel(parent,name,fl), event(ev) { QString msg; //QTime time = QTime::currentTime(); + Config config( "qpe" ); + // if 24 h format + ampm = config.readBoolEntry( "AMPM", TRUE ); + + if (!ONLY_LATER) { msg += "<B>" + (ev).description() + "</B>"; if ( (ev).event().hasAlarm() ) { msg += " <b>[with alarm]</b>"; } // include location or not @@ -471,15 +476,15 @@ DateBookEvent::DateBookEvent(const EffectiveEvent &ev, } if ( (TimeString::timeString(QTime((ev).event().start().time()) ) == "00:00") && (TimeString::timeString(QTime((ev).event().end().time()) ) == "23:59") ) { msg += "<br>All day"; } else { // start time of event - msg += "<br>" + TimeString::timeString(QTime((ev).event().start().time()) ) + msg += "<br>" + ampmTime(QTime((ev).event().start().time()) ); // end time of event - + "<b> - </b>" + TimeString::timeString(QTime((ev).event().end().time()) ); + + "<b> - </b>" + ampmTime(QTime((ev).event().end().time()) ); } // include possible note or not if (SHOW_NOTES == 1) { msg += "<br> <i>note</i>:" +((ev).notes()).mid(0, MAX_CHAR_CLIP); } @@ -487,23 +492,48 @@ DateBookEvent::DateBookEvent(const EffectiveEvent &ev, setText(msg); connect(this, SIGNAL(clicked()), this, SLOT(editMe())); setAlignment( int( QLabel::WordBreak | QLabel::AlignLeft ) ); } +QString DateBookEvent::ampmTime(QTime tm) { + + QString s; + if( ampm ) { + int hour = tm.hour(); + if (hour == 0) + hour = 12; + if (hour > 12) + hour -= 12; + s.sprintf( "%2d:%02d %s", hour, tm.minute(), + (tm.hour() >= 12) ? "PM" : "AM" ); + return s; + } else { + s.sprintf( "%2d:%02d", tm.hour(), tm.minute() ); + return s; + } + +} + + DateBookEventLater::DateBookEventLater(const EffectiveEvent &ev, QWidget* parent = 0, int SHOW_LOCATION = 0, int SHOW_NOTES = 0, const char* name = 0, WFlags fl = 0) : ClickableLabel(parent,name,fl), event(ev) { QString msg; QTime time = QTime::currentTime(); + Config config( "qpe" ); + // if 24 h format + ampm = config.readBoolEntry( "AMPM", TRUE ); + + if ((time.toString() <= TimeString::dateString((ev).event().end())) ) { // show only later appointments msg += "<B>" + (ev).description() + "</B>"; if ( (ev).event().hasAlarm() ) { msg += " <b>[with alarm]</b>"; } @@ -513,15 +543,15 @@ DateBookEventLater::DateBookEventLater(const EffectiveEvent &ev, } if ( (TimeString::timeString(QTime((ev).event().start().time()) ) == "00:00") && (TimeString::timeString(QTime((ev).event().end().time()) ) == "23:59") ) { msg += "<br>All day"; } else { // start time of event - msg += "<br>" + TimeString::timeString(QTime((ev).event().start().time()) ) + msg += "<br>" + ampmTime(QTime((ev).event().start().time()) ) // end time of event - + "<b> - </b>" + TimeString::timeString(QTime((ev).event().end().time()) ); + + "<b> - </b>" + ampmTime(QTime((ev).event().end().time()) ); } // include possible note or not if (SHOW_NOTES == 1) { msg += "<br> <i>note</i>:" +((ev).notes()).mid(0, MAX_CHAR_CLIP); } } @@ -529,12 +559,32 @@ DateBookEventLater::DateBookEventLater(const EffectiveEvent &ev, setText(msg); connect(this, SIGNAL(clicked()), this, SLOT(editMe())); setAlignment( int( QLabel::WordBreak | QLabel::AlignLeft ) ); } +QString DateBookEventLater::ampmTime(QTime tm) { + + QString s; + if( ampm ) { + int hour = tm.hour(); + if (hour == 0) + hour = 12; + if (hour > 12) + hour -= 12; + s.sprintf( "%2d:%02d %s", hour, tm.minute(), + (tm.hour() >= 12) ? "PM" : "AM" ); + return s; + } else { + s.sprintf( "%2d:%02d", tm.hour(), tm.minute() ); + return s; + } + +} + + void DateBookEvent::editMe() { emit editEvent(event.event()); } void DateBookEventLater::editMe() { emit editEvent(event.event()); diff --git a/core/pim/today/today.h b/core/pim/today/today.h index 090e8f9..d265d67 100644 --- a/core/pim/today/today.h +++ b/core/pim/today/today.h @@ -85,13 +85,15 @@ public: WFlags fl = 0); signals: void editEvent(const Event &e); private slots: void editMe(); private: + QString ampmTime(QTime); const EffectiveEvent event; + bool ampm; }; class DateBookEventLater: public ClickableLabel { Q_OBJECT public: DateBookEventLater(const EffectiveEvent &ev, @@ -102,11 +104,13 @@ public: WFlags fl = 0); signals: void editEvent(const Event &e); private slots: void editMe(); private: + QString ampmTime(QTime); const EffectiveEvent event; + bool ampm; }; #endif // TODAY_H diff --git a/core/pim/today/todaybase.cpp b/core/pim/today/todaybase.cpp index 755c860..ae8763b 100644 --- a/core/pim/today/todaybase.cpp +++ b/core/pim/today/todaybase.cpp @@ -42,19 +42,19 @@ TodayBase::TodayBase( QWidget* parent, const char* name, WFlags fl ) QPixmap logo = Resource::loadPixmap( "today/today_logo"); // logo QPixmap datebook = Resource::loadPixmap("DateBook"); // datebook QPixmap todo = Resource::loadPixmap( "TodoList" ); // todo QPixmap config = Resource::loadPixmap( "today/config" ); // config icon QPixmap mail = Resource::loadPixmap( "today/mail" ); // mail icon - QPalette pal = this->palette(); - QColor col = pal.color(QPalette::Active, QColorGroup::Background); - pal.setColor(QPalette::Active, QColorGroup::Button, col); - pal.setColor(QPalette::Inactive, QColorGroup::Button, col); - pal.setColor(QPalette::Normal, QColorGroup::Button, col); - pal.setColor(QPalette::Disabled, QColorGroup::Button, col); - this->setPalette(pal); + //QPalette pal = this->palette(); + // QColor col = pal.color(QPalette::Active, QColorGroup::Background); + //pal.setColor(QPalette::Active, QColorGroup::Button, col); + //pal.setColor(QPalette::Inactive, QColorGroup::Button, col); + //pal.setColor(QPalette::Normal, QColorGroup::Button, col); + //pal.setColor(QPalette::Disabled, QColorGroup::Button, col); + //this->setPalette(pal); QWidget *d = QApplication::desktop(); int w=d->width(); int h=d->height(); resize( w , h ); @@ -92,13 +92,13 @@ TodayBase::TodayBase( QWidget* parent, const char* name, WFlags fl ) OwnerField->setGeometry(QRect(0,0, this->width(), 12 )); OwnerField->setAlignment(int (QLabel::AlignTop | QLabel::AlignLeft ) ); OwnerField->setMaximumHeight(12); // --- dates section --- Frame4 = new QFrame( this, "Frame4" ); - Frame4->setPalette( pal ); +// Frame4->setPalette( pal ); Frame4->setFrameShape( QScrollView::StyledPanel ); Frame4->setFrameShadow( QScrollView::Sunken ); Frame4->setBackgroundOrigin( QScrollView::ParentOrigin ); Frame4->setFrameStyle( QFrame::NoFrame ); Frame4->setGeometry (QRect( 0, 8, this->width() , this->height()) ); @@ -109,13 +109,13 @@ TodayBase::TodayBase( QWidget* parent, const char* name, WFlags fl ) sv1->setGeometry (QRect( 40, 2, Frame4->width()-40 , (Frame4->height()/3)+20 ) ); sv1->setFrameShape(QFrame::NoFrame); DatesButton = new QPushButton (Frame4, "DatesButton" ); DatesButton->setGeometry( QRect( 2, 4, 36, 32 ) ); DatesButton->setBackgroundOrigin( QPushButton::WidgetOrigin ); - DatesButton->setPalette( pal ); +// DatesButton->setPalette( pal ); DatesButton->setPixmap( datebook ); DatesButton->setFlat( TRUE ); // --- mail section ---) MailFrame = new QFrame( this ,"MailFrame" ); MailFrame->setBackgroundOrigin( QScrollView::ParentOrigin ); @@ -125,13 +125,13 @@ TodayBase::TodayBase( QWidget* parent, const char* name, WFlags fl ) QFrame* Line1 = new QFrame( MailFrame); Line1->setGeometry( QRect( -5, 0, MailFrame->width()+5, 5 ) ); Line1->setFrameStyle( QFrame::HLine | QFrame::Sunken ); MailButton = new QPushButton (MailFrame, "MailButton" ); MailButton->setGeometry( QRect( 2, 3, 36, 19 ) ); - MailButton->setPalette( pal ); +// MailButton->setPalette( pal ); MailButton->setPixmap( mail ); MailButton->setFlat( TRUE ); MailField = new QLabel( MailFrame, "MailField" ); MailField->setGeometry( QRect( 40, 4, MailFrame->width(), 12) ); MailField->setText( tr( "Opiemail not installed" ) ); @@ -147,13 +147,13 @@ TodayBase::TodayBase( QWidget* parent, const char* name, WFlags fl ) QFrame* Line2 = new QFrame( Frame15); Line2->setGeometry( QRect( -5, 0, MailFrame->width()+5, 5 ) ); Line2->setFrameStyle( QFrame::HLine | QFrame::Sunken ); TodoButton = new QPushButton (Frame15, "TodoButton" ); TodoButton->setGeometry( QRect( 2, 4, 36, 32 ) ); - TodoButton->setPalette( pal ); +// TodoButton->setPalette( pal ); TodoButton->setPixmap( todo ); TodoButton->setFlat( TRUE ); QScrollView* sv2 = new QScrollView( Frame15 ); sv2->setResizePolicy(QScrollView::AutoOneFit); sv2->setHScrollBarMode( QScrollView::AlwaysOff ); @@ -166,13 +166,13 @@ TodayBase::TodayBase( QWidget* parent, const char* name, WFlags fl ) //TodoField->setText( tr( "No current todos" ) ); TodoField->setAlignment( int( QLabel::AlignTop | QLabel::AlignLeft ) ); PushButton1 = new QPushButton (Frame15, "PushButton1" ); PushButton1->setGeometry( QRect( 2, 68, 25, 21 ) ); PushButton1->setPixmap( config ); - PushButton1->setPalette( pal ); +// PushButton1->setPalette( pal ); PushButton1->setAutoDefault( TRUE ); PushButton1->setFlat( TRUE ); // -- layout -- layout->addWidget(Frame); layout->addWidget(OwnerField); |