summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/pim/today/today.cpp4
-rw-r--r--core/pim/today/todaybase.cpp27
2 files changed, 21 insertions, 10 deletions
diff --git a/core/pim/today/today.cpp b/core/pim/today/today.cpp
index 0ab7a2a..01d1a13 100644
--- a/core/pim/today/today.cpp
+++ b/core/pim/today/today.cpp
@@ -70,129 +70,129 @@ Today::Today( QWidget* parent, const char* name, WFlags fl )
QObject::connect( (QObject*)MailButton, SIGNAL( clicked() ), this, SLOT(startMail() ) );
#if defined(Q_WS_QWS)
#if !defined(QT_NO_COP)
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();
}
/*
* Qcop receive method.
*/
void Today::channelReceived(const QCString &msg, const QByteArray & data) {
QDataStream stream(data, IO_ReadOnly );
if ( msg == "message(QString)" ) {
QString message;
stream >> message;
setOwnerField(message);
}
}
/*
* Initialises the owner field with the default value, the username
*/
void Today::setOwnerField() {
QString file = Global::applicationFileName("addressbook", "businesscard.vcf");
if (QFile::exists(file)) {
Contact cont = Contact::readVCard(file)[0];
QString returnString = cont.fullName();
OwnerField->setText( "<b>" +tr ("Owned by ") + returnString + "</b>");
} else {
OwnerField->setText( "<b>" + tr ("Please fill out the business card")+" </b>");
}
}
/*
* Set the owner field with a given QString, for example per qcop.
*/
void Today::setOwnerField(QString &message) {
if (!message.isEmpty()) {
OwnerField->setText("<b>" + message + "</b>");
}
}
/*
* Autostart, uses the new (opie only) autostart method in the launcher code.
* If registered against that today ist started on each resume.
*/
void Today::autoStart() {
Config cfg("today");
cfg.setGroup("Autostart");
int AUTOSTART = cfg.readNumEntry("autostart",1);
- qDebug(QString("%1").arg(AUTOSTART));
+// qDebug(QString("%1").arg(AUTOSTART));
if (AUTOSTART) {
QCopEnvelope e("QPE/System", "autoStart(QString, QString, QString)");
e << QString("add");
e << QString("today");
e << AUTOSTART_TIMER;
} else {
qDebug("Nun in else bei autostart");
QCopEnvelope e("QPE/System", "autoStart(QString, QString)");
e << QString("remove");
e << QString("today");
}
}
/*
* Repaint method. Reread all fields.
*/
void Today::draw() {
init();
getDates();
getMail();
// if the todolist.xml file was not modified in between, do not parse it.
if (checkIfModified()) {
if (todo) delete todo;
todo = new ToDoDB;
getTodo();
}
// how often refresh
QTimer::singleShot( 20*1000, this, SLOT(draw() ) );
}
/*
* Check if the todolist.xml was modified (if there are new entries.
* Returns true if it was modified.
*/
bool Today::checkIfModified() {
QDir dir;
QString homedir = dir.homeDirPath ();
QString time;
Config cfg("today");
cfg.setGroup("Files");
time = cfg.readEntry("todolisttimestamp", "");
QFileInfo file = (homedir +"/Applications/todolist/todolist.xml");
QDateTime fileTime = file.lastModified();
if (time.compare(fileTime.toString()) == 0) {
return false;
} else {
cfg.writeEntry("todolisttimestamp", fileTime.toString() );
cfg.write();
return true;
}
}
/*
* Init stuff needed for today. Reads the config file.
*/
void Today::init() {
QDate date = QDate::currentDate();
QString time = (tr( date.toString()) );
@@ -418,194 +418,196 @@ void Today::getTodo() {
TodoField->setText(tr(output));
}
/*
* launches datebook
*/
void Today::startDatebook() {
QCopEnvelope e("QPE/System", "execute(QString)");
e << QString("datebook");
}
/*
* starts the edit dialog as known from datebook
*/
extern QPEApplication *todayApp;
void Today::editEvent(const Event &e) {
startDatebook();
while(!QCopChannel::isRegistered("QPE/Datebook")) todayApp->processEvents();
QCopEnvelope env("QPE/Datebook", "editEvent(int)");
env << e.uid();
}
/*
* launches todolist
*/
void Today::startTodo() {
QCopEnvelope e("QPE/System", "execute(QString)");
e << QString("todolist");
}
/*
* launch opiemail
*/
void Today::startMail() {
QCopEnvelope e("QPE/System", "execute(QString)");
e << QString("opiemail");
//Right now start both, maybe decide which to rum via config file ..
QCopEnvelope f("QPE/System", "execute(QString)");
f << QString("qtmail");
}
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,
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" );
+ config.setGroup( "Time" );
// 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
if (SHOW_LOCATION == 1) {
msg += "<BR><i>" + (ev).location() + "</i>";
}
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>" + ampmTime(QTime((ev).event().start().time()) )
// end time of event
+ "<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);
}
}
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" );
+ config.setGroup( "Time" );
// 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>";
}
// include location or not
if (SHOW_LOCATION == 1) {
msg += "<BR><i>" + (ev).location() + "</i>";
}
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>" + ampmTime(QTime((ev).event().start().time()) )
// end time of event
+ "<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);
}
}
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/todaybase.cpp b/core/pim/today/todaybase.cpp
index ae8763b..c6ea11f 100644
--- a/core/pim/today/todaybase.cpp
+++ b/core/pim/today/todaybase.cpp
@@ -1,145 +1,154 @@
/*
* todaybase.cpp *
* ---------------------
*
* begin : Sun 10 17:20:00 CEST 2002
* copyright : (c) 2002 by Maximilian Reiß
* email : max.reiss@gmx.de
*
*/
/***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************/
#include "todaybase.h"
#include <qframe.h>
#include <qlabel.h>
#include <qpushbutton.h>
#include <qlayout.h>
#include <qvariant.h>
#include <qwhatsthis.h>
#include <qimage.h>
#include <qpixmap.h>
#include <qscrollview.h>
#include <qvbox.h>
#include <qapplication.h>
#include <qpe/resource.h>
/*
* Constructs a TodayBase which is a child of 'parent', with the
* name 'name' and widget flags set to 'f'
*/
TodayBase::TodayBase( QWidget* parent, const char* name, WFlags fl )
: QWidget( parent, name, 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);
-
+ QPixmap opiezilla = Resource::loadPixmap("today/opiezilla" ); //the opiezilla
QWidget *d = QApplication::desktop();
int w=d->width();
int h=d->height();
resize( w , h );
// hehe, qt is ...
getridoffuckingstrippeldlinesbutton = new QPushButton (this, "asdfsad" );
getridoffuckingstrippeldlinesbutton->setGeometry( QRect( -5, 10, 0, 0 ) );
QVBoxLayout * layout = new QVBoxLayout(this);
// --- logo Section ---
QPalette pal2;
QColorGroup cg;
cg.setColor( QColorGroup::Text, white );
cg.setBrush( QColorGroup::Background, QBrush( QColor( 238, 238, 230), logo ) );
pal2.setActive( cg );
// today logo
Frame = new QLabel( this, "Frame" );
Frame->setPalette( pal2 );
Frame->setFrameShape( QFrame::StyledPanel );
Frame->setFrameShadow( QFrame::Raised );
Frame->setLineWidth( 0 );
Frame->setMaximumHeight(50);
Frame->setMinimumHeight(50);
+
+ // Today text
+ QLabel* TodayLabel = new QLabel( Frame, "TodayText" );
+ TodayLabel->setGeometry( QRect( 10, 0, 168, 40 ) );
+ QFont TodayLabel_font( TodayLabel->font() );
+ TodayLabel_font.setBold( TRUE );
+ TodayLabel_font.setPointSize(40);
+ TodayLabel->setFont( TodayLabel_font );
+ TodayLabel->setBackgroundOrigin( QLabel::ParentOrigin );
+ TodayLabel->setText("<font color=#FFFFFF>" + tr("Today") +"</font>");
+
+ // Opiezilla
+ QLabel* Opiezilla = new QLabel( Frame, "OpieZilla");
+ Opiezilla->setPixmap( opiezilla );
+ Opiezilla->setGeometry( this->width()-50 ,1, 45, 47);
+ Opiezilla->setBackgroundOrigin( QLabel::ParentOrigin );
+
// date
TextLabel1 = new QLabel( Frame, "TextLabel1" );
TextLabel1->setGeometry( QRect( 10, 35, 168, 12 ) );
QFont TextLabel1_font( TextLabel1->font() );
TextLabel1_font.setBold( TRUE );
TextLabel1->setFont( TextLabel1_font );
TextLabel1->setBackgroundOrigin( QLabel::ParentOrigin );
TextLabel1->setTextFormat( RichText );
OwnerField = new QLabel(this , "Owner" );
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->setFrameShape( QScrollView::StyledPanel );
Frame4->setFrameShadow( QScrollView::Sunken );
Frame4->setBackgroundOrigin( QScrollView::ParentOrigin );
Frame4->setFrameStyle( QFrame::NoFrame );
Frame4->setGeometry (QRect( 0, 8, this->width() , this->height()) );
sv1 = new QScrollView( Frame4 );
sv1->setResizePolicy(QScrollView::AutoOneFit);
sv1->setHScrollBarMode( QScrollView::AlwaysOff );
// need to find a better way!!!
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->setPixmap( datebook );
DatesButton->setFlat( TRUE );
// --- mail section ---)
MailFrame = new QFrame( this ,"MailFrame" );
MailFrame->setBackgroundOrigin( QScrollView::ParentOrigin );
MailFrame->setGeometry (QRect( 0, 0, this->width() , 15) );
MailFrame->setFrameStyle( QFrame::NoFrame );
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->setPixmap( mail );
MailButton->setFlat( TRUE );
MailField = new QLabel( MailFrame, "MailField" );
MailField->setGeometry( QRect( 40, 4, MailFrame->width(), 12) );
MailField->setText( tr( "Opiemail not installed" ) );
MailField->setAlignment( int( QLabel::AlignTop | QLabel::AlignLeft ) );
MailField->setMaximumHeight(40);
MailField->setMinimumHeight(15);
// --- todo section --
Frame15 = new QFrame( this, "Frame15" );
Frame15->setFrameStyle( QFrame::NoFrame );
Frame15->setGeometry (QRect( 40, 3, this->width() , this->height()) );