summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--kalarmd/alarmdialog.cpp12
-rw-r--r--kalarmd/simplealarmdaemonimpl.cpp11
-rw-r--r--korganizer/mainwindow.cpp13
3 files changed, 22 insertions, 14 deletions
diff --git a/kalarmd/alarmdialog.cpp b/kalarmd/alarmdialog.cpp
index ddb125a..18ce9da 100644
--- a/kalarmd/alarmdialog.cpp
+++ b/kalarmd/alarmdialog.cpp
@@ -222,86 +222,90 @@ int AlarmDialog::getSuspendTime( )
}
void AlarmDialog::setSuspendTime( int val )
{
mSuspendSpin->setValue( val );
}
bool AlarmDialog::eventNotification( QString mess, int replay , QString fn, bool playwav, int pause , int suspendtimes)
{
if ( mess.left( 9) != "Suspended" )
mSuspendCounter = suspendtimes;
mPauseCount = pause;
mFileName = fn;
mPlayWav = playwav;
if ( !QFile::exists( fn ) )
mFileName = "";
alarmCounter = 0 ;
maxAlarmReplay = replay ;
mStopAlarm = false;
mSilent = false;
if ( !mMessage->text().stripWhiteSpace().isEmpty() ) {
mMissedAlarmsCombo->show();
QString newItem = mMessage->text().stripWhiteSpace();
newItem.replace( QRegExp("\n"), QString(" ") );
mMissedAlarmsCombo->insertItem( newItem );
mMissedAlarms->setText( "Missed alarms:");
} else
mMissedAlarmsCombo->hide();
mMessage->setText(mess);
int w = minimumSizeHint().width() ;
int h = minimumSizeHint().height() ;
int dw = QApplication::desktop()->width();
int dh = QApplication::desktop()->height();
+ if ( w < 220 ) w = 220;
+ if ( h < 220 ) h = 220;
setGeometry( (dw-w)/2, (dh - h )/2 ,w,h );
- hide();
+ showNormal();
+ setActiveWindow();
+ raise();
+ setGeometry( (dw-w)/2, (dh - h )/2 ,w,h );
+ //hide();
#ifndef _WIN32_
if ( fd_led > 0 ) {
statusLED.status = LED_SALARM_ON ;
ioctl (fd_led, SHARP_LED_SETSTATUS, &statusLED);
}
#endif
okbut->setDefault( true );
QTimer::singleShot( 1, this, SLOT ( forceRepaint() ) );
// playSoundTimer->start( 1000, true );
return true;
}
void AlarmDialog::forceRepaint()
{
-
- showNormal();
setActiveWindow();
- raise();
+ repaint();
mSuspendSpin->setFocus();
playSoundTimer->start( 1000, true );
}
void AlarmDialog::spinBoxChanged( int v )
{
okbut->setDefault( false );
mSilent = true;
}
void AlarmDialog::playSound ()
{
if (mStopAlarm )
return;
if ( mSilent )
return;
//showNormal();
setActiveWindow();
//raise();
mSuspendSpin->setFocus();
if ( alarmCounter < maxAlarmReplay && ! mSilent) {
++alarmCounter;
#ifdef DESKTOP_VERSION
mPlayWav = true;
#endif
if ( !mPlayWav || mFileName.length() < 2 ) {
#ifdef DESKTOP_VERSION
qDebug("Sound play not possible - file not found");
#else
Sound::soundAlarm ();
diff --git a/kalarmd/simplealarmdaemonimpl.cpp b/kalarmd/simplealarmdaemonimpl.cpp
index a0ac232..8ea8a73 100644
--- a/kalarmd/simplealarmdaemonimpl.cpp
+++ b/kalarmd/simplealarmdaemonimpl.cpp
@@ -38,64 +38,69 @@
#include <qdialog.h>
#define protected public
#include <qspinbox.h>
#undef protected
#include <qtextstream.h>
#include <qtopia/qcopenvelope_qws.h>
#include <qtopia/alarmserver.h>
#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
SimpleAlarmDaemonImpl::SimpleAlarmDaemonImpl( QWidget *parent )
: QLabel( parent )
{
mAlarmDialog = new AlarmDialog( 0 );
mPopUp = new QPopupMenu( this );
mPopUp->insertItem( "What's Next?", this, SLOT ( showWN() ) );
mPopUp->insertItem( "Next Days!", this, SLOT ( showKO() ) );
mPopUp->insertSeparator();
mPopUp->insertItem( "Todo List", this, SLOT ( showTodo() ) );
mPopUp->insertSeparator();
mPopUp->insertItem( "Addresses", this, SLOT ( showAdd() ) );
mPopUp->insertSeparator();
mPopUp->insertItem( "Edit Journal", this, SLOT ( writeJournal() ) );
mPopUp->insertItem( "New Event", this, SLOT ( newEvent() ) );
mPopUp->insertItem( "New Todo", this, SLOT ( newTodo() ) );
mPopUp->insertItem( "New Mail", this, SLOT ( newMail() ) );
mPopUp->insertSeparator();
mPopUp->insertItem( "Multi Sync", this, SLOT ( ringSync() ) );
mTimerPopUp = new QPopupMenu( this );
+ QFont fon = mTimerPopUp->font();
+ int points = (fon.pointSize()*4)/3;
+ fon.setPointSize( points );
+ mTimerPopUp->setFont( fon );
+ mPopUp->setFont( fon );
mBeepPopUp = new QPopupMenu( this );
mSoundPopUp = new QPopupMenu( this );
mPausePopUp = new QPopupMenu( this );
QPopupMenu* savePopUp = new QPopupMenu( this );
savePopUp->insertItem( "Save", 0 );
savePopUp->insertItem( "Load", 1 );
mSoundPopUp->insertItem( "Buzzer", 0 );
mSoundPopUp->insertItem( "Wav file", 1 );
mPausePopUp->insertItem( " 1 sec", 1 );
mPausePopUp->insertItem( " 2 sec", 2 );
mPausePopUp->insertItem( " 3 sec", 3 );
mPausePopUp->insertItem( " 5 sec", 5 );
mPausePopUp->insertItem( "10 sec", 10 );
mPausePopUp->insertItem( "30 sec", 30 );
mPausePopUp->insertItem( " 1 min", 60 );
mPausePopUp->insertItem( " 5 min", 300 );
mPausePopUp->insertItem( "10 min", 600 );
mSuspendPopUp = new QPopupMenu( this );
mSuspendPopUp->insertItem( "Off", 0 );
mSuspendPopUp->insertItem( " 1x", 1 );
mSuspendPopUp->insertItem( " 2x", 2 );
mSuspendPopUp->insertItem( " 3x", 3 );
mSuspendPopUp->insertItem( " 5x", 5 );
mSuspendPopUp->insertItem( "10x", 10 );
mSuspendPopUp->insertItem( "20x", 20 );
mSuspendPopUp->insertItem( "30x", 30 );
mBeepPopUp->insertItem( "Auto suspend",mSuspendPopUp );
mBeepPopUp->insertItem( "Beep interval",mPausePopUp );
mBeepPopUp->insertItem( "Replay",mSoundPopUp );
mBeepPopUp->insertItem( "Config",savePopUp );
mBeepPopUp->insertItem( "300", 300 );
mBeepPopUp->insertItem( "180", 180 );
@@ -284,91 +289,91 @@ void SimpleAlarmDaemonImpl::recieve( const QCString& msg, const QByteArray& )
if ( ! error ) {
filename = tempfilename;
}
mAlarmMessage = mess.mid( 13+len+3 );
//qDebug("suspend file %s ",tempfilename.latin1() );
startAlarm( mAlarmMessage, filename);
return;
}
if ( mess.left( 11 ) == "timer_alarm") {
mTimerTime = 0;
startAlarm( mess.mid( 11 ), filename );
return;
}
if ( mess.left( 10 ) == "proc_alarm") {
bool error = false;
int len = mess.mid( 10 ).find("+++");
if ( len < 2 )
error = true;
else {
tempfilename = mess.mid( 10, len );
if ( !QFile::exists( tempfilename ) )
error = true;
}
if ( error ) {
mAlarmMessage = "Procedure Alarm\nError - File not found\n";
mAlarmMessage += mess.mid( 10+len+3+9 );
} else {
//qDebug("-----system command %s ",tempfilename.latin1() );
if ( vfork () == 0 ) {
execl ( tempfilename.latin1(), 0 );
return;
}
- QTimer::singleShot( 10000, this, SLOT ( writeFile() ) );
+ QTimer::singleShot( 5000, this, SLOT ( writeFile() ) );
return;
}
//qDebug("+++++++system command %s ",tempfilename.latin1() );
}
if ( mess.left( 11 ) == "audio_alarm") {
bool error = false;
int len = mess.mid( 11 ).find("+++");
if ( len < 2 )
error = true;
else {
tempfilename = mess.mid( 11, len );
if ( !QFile::exists( tempfilename ) )
error = true;
}
if ( ! error ) {
filename = tempfilename;
}
mAlarmMessage = mess.mid( 11+len+3+9 );
//qDebug("audio file command %s ",tempfilename.latin1() );
}
if ( mess.left( 9 ) == "cal_alarm") {
mAlarmMessage = mess.mid( 9 ) ;
}
- QTimer::singleShot( 10000, this, SLOT ( writeFile() ) );
+ QTimer::singleShot( 5000, this, SLOT ( writeFile() ) );
startAlarm( mAlarmMessage, filename );
}
int SimpleAlarmDaemonImpl::getFileNameLen( QString mess )
{
return 0;
}
void SimpleAlarmDaemonImpl::startAlarm( QString mess, QString filename )
{
//mAlarmDialog->show();
//mAlarmDialog->raise();
mAlarmDialog->eventNotification( mess, mPlayBeeps, filename, wavAlarm,mPausePlay ,mSuspend );
}
void SimpleAlarmDaemonImpl::fillTimerPopUp()
{
// qDebug(" timer %d %d ",mTimerPopupConf, mTimerTime );
if ( mTimerPopupConf == mTimerTime ) {
if ( mTimerTime ) {
int secs = QDateTime::currentDateTime().secsTo ( mRunningTimer );
QTime t ( secs/3600, (secs/60)%60, secs%60 );
mTimerPopUp->changeItem ( 1 , t.toString() + " (countdown)");
}
else {
QString text = mCustomText.stripWhiteSpace ();
int in = text.find( " " );
text = text.left ( in );
mTimerPopUp->changeItem ( 3, text );
}
@@ -613,62 +618,62 @@ void SimpleAlarmDaemonImpl::showWN()
{
QCopEnvelope e("QPE/Application/kopi", "-showWN");
}
void SimpleAlarmDaemonImpl::newTodo()
{
QCopEnvelope e("QPE/Application/kopi", "-newTodo");
}
void SimpleAlarmDaemonImpl::newEvent()
{
QCopEnvelope e("QPE/Application/kopi", "-newEvent");
}
void SimpleAlarmDaemonImpl::newMail()
{
QCopEnvelope e("QPE/Application/ompi", "newMail()");
}
void SimpleAlarmDaemonImpl::showAdd()
{
QCopEnvelope e("QPE/Application/kapi", "raise()");
}
void SimpleAlarmDaemonImpl::ringSync()
{
QCopEnvelope e("QPE/Application/kopi", "-ringSync");
}
void SimpleAlarmDaemonImpl::newCountdown()
{
//recieve("cal_alarm", 10 );
}
void SimpleAlarmDaemonImpl::simulate()
{
- QTimer::singleShot( 10000, this, SLOT ( writeFile() ) );
+ QTimer::singleShot( 5000, this, SLOT ( writeFile() ) );
QString filename = getenv("QPEDIR") ;
filename += "/pics/kdepim/korganizer/koalarm.wav";
startAlarm("Alarm simulation", filename );
}
void SimpleAlarmDaemonImpl::showKO()
{
QCopEnvelope e("QPE/Application/kopi", "-showKO");
// testing only
//QCopEnvelope e("QPE/Application/kopi", "nextView()");
}
void SimpleAlarmDaemonImpl::showTodo()
{
QCopEnvelope e("QPE/Application/kopi", "-showTodo");
}
void SimpleAlarmDaemonImpl::writeJournal()
{
QCopEnvelope e("QPE/Application/kopi", "-showJournal");
}
void SimpleAlarmDaemonImpl::mousePressEvent( QMouseEvent * )
{
mPopUp->popup(mapToGlobal(QPoint (0, -mPopUp->height() )));
}
diff --git a/korganizer/mainwindow.cpp b/korganizer/mainwindow.cpp
index 98d3e35..fb0b4ad 100644
--- a/korganizer/mainwindow.cpp
+++ b/korganizer/mainwindow.cpp
@@ -279,66 +279,66 @@ MainWindow::MainWindow( QWidget *parent, const char *name ) :
else {
if ( p->mToolBarUpN )
tbd = Right;
else
tbd = Left;
}
navigatorToolBar = new QPEToolBar( this );
addToolBar (navigatorToolBar , tbd );
}
mCalendarModifiedFlag = false;
// QLabel* splash = new QLabel(i18n("KO/Pi is starting ... "), this );
//splash->setAlignment ( AlignCenter );
//setCentralWidget( splash );
#ifndef DESKTOP_VERSION
//showMaximized();
#endif
//qDebug("Mainwidget x %d y %d w %d h %d", x(), y(), width(), height ());
setDefaultPreferences();
mCalendar = new CalendarLocal();
mView = new CalendarView( mCalendar, this,"mCalendar " );
setCentralWidget( mView );
//mView->hide();
//mView->resize(splash->size() );
initActions();
mSyncManager = new KSyncManager((QWidget*)this, (KSyncInterface*)mView, KSyncManager::KOPI, KOPrefs::instance(), syncMenu);
mSyncManager->setBlockSave(false);
mView->setSyncManager(mSyncManager);
#ifndef DESKTOP_VERSION
- iconToolBar->show();
- qApp->processEvents();
+ //iconToolBar->show();
+ //qApp->processEvents();
#endif
//qDebug("Splashwidget x %d y %d w %d h %d", splash-> x(), splash->y(), splash->width(),splash-> height ());
int vh = height() ;
int vw = width();
//qDebug("Toolbar hei %d ",iconToolBar->height() );
if ( iconToolBar->orientation () == Qt:: Horizontal ) {
vh -= iconToolBar->height();
} else {
vw -= iconToolBar->height();
}
//mView->setMaximumSize( splash->size() );
//mView->resize( splash->size() );
//qDebug("MainView x %d y %d w %d h %d", mView->x(),mView-> y(), mView->width(), mView->height ());
mView->readSettings();
bool newFile = false;
if( !QFile::exists( defaultFileName() ) ) {
QFileInfo finfo ( defaultFileName() );
QString oldFile = QDir::convertSeparators( QDir::homeDirPath()+"/Applications/korganizer/mycalendar.ics");
QString message = "You are starting KO/Pi for the\nfirst time after updating to a\nversion >= 1.9.1. The location of the\ndefault calendar file has changed.\nA mycalendar.ics file was detected\nat the old location.\nThis file will be loaded now\nand stored at the new location!\n(Config file location has changed, too!)\nPlease read menu Help-What's New!\n";
finfo.setFile( oldFile );
if (finfo.exists() ) {
KMessageBox::information( this, message);
mView->openCalendar( oldFile );
qApp->processEvents();
} else {
oldFile = QDir::convertSeparators( QDir::homeDirPath()+"/korganizer/mycalendar.ics");
finfo.setFile( oldFile );
if (finfo.exists() ) {
KMessageBox::information( this, message);
mView->openCalendar( oldFile );
qApp->processEvents();
}
@@ -356,126 +356,125 @@ MainWindow::MainWindow( QWidget *parent, const char *name ) :
KOPrefs::instance()->setAllDefaults();
}
connect( mView, SIGNAL( tempDisableBR(bool) ),
SLOT( disableBR(bool) ) );
connect( &mSaveTimer, SIGNAL( timeout() ), SLOT( save() ) );
setCentralWidget( mView );
globalFlagBlockStartup = 0;
//mView->show();
//delete splash;
if ( newFile )
mView->updateConfig();
// qApp->processEvents();
//qDebug("MainView x %d y %d w %d h %d", mView->x(),mView-> y(), mView->width(), mView->height ());
//fillSyncMenu();
connect(mSyncManager , SIGNAL( save() ), this, SLOT( save() ) );
connect(mView , SIGNAL( saveStopTimer() ), this, SLOT( saveStopTimer() ) );
connect(mSyncManager , SIGNAL( request_file() ), this, SLOT( syncFileRequest() ) );
connect(mSyncManager , SIGNAL( getFile( bool )), this, SLOT(getFile( bool ) ) );
mSyncManager->setDefaultFileName( sentSyncFile());
connect ( syncMenu, SIGNAL( activated ( int ) ), mSyncManager, SLOT (slotSyncMenu( int ) ) );
mSyncManager->fillSyncMenu();
mView->viewManager()->agendaView()->setStartHour( KOPrefs::instance()->mDayBegins );
if ( showWarning ) {
KMessageBox::information( this,
"You are starting KO/Pi for the first time.\nPlease read menu: Help-What's New,\nif you did an update!\nPlease choose your timezone in the \nConfigure Dialog TAB Time Zone!\nPlease choose your language\nin the TAB Locale!\nYou get the Configure Dialog\nvia Menu: Actions - Configure....\nClick OK to show the Configure Dialog!\n", "KO/Pi information");
- qApp->processEvents();
+ //qApp->processEvents();
mView->dialogManager()->showSyncOptions();
}
//US listen for result adressed from Ka/Pi
#ifndef DESKTOP_VERSION
infrared = 0;
#endif
updateFilterToolbar();
updateWeek( mView->startDate() );
connect( mView->dateNavigator(), SIGNAL( datesSelected( const KCal::DateList & ) ),
SLOT( updateWeekNum( const KCal::DateList & ) ) );
mBRdisabled = false;
//toggleBeamReceive();
setCaption(i18n("Loading calendar files ... please wait" ));
mSaveDelay = 0;
QTimer::singleShot( 1, this, SLOT ( loadDataAfterStart() ));
}
MainWindow::~MainWindow()
{
//qDebug("MainWindow::~MainWindow() ");
//save toolbar location
delete mCalendar;
delete mSyncManager;
#ifndef DESKTOP_VERSION
if ( infrared )
delete infrared;
#endif
}
void MainWindow::loadDataAfterStart()
{
qDebug("KO: Start loading files..." );
QTime neededSaveTime = QDateTime::currentDateTime().time();
mView->loadCalendars();
int msNeeded = neededSaveTime.msecsTo( QDateTime::currentDateTime().time() );
qDebug("KO: Calendar loading time: %d ms",msNeeded );
//QTimer::singleShot( 1000, mView, SLOT ( checkFiles() ));
mView->setModified( false );
mBlockAtStartup = false;
mView->setModified( false );
connect(mView , SIGNAL( save() ), this, SLOT( save() ) );
processIncidenceSelection( 0 );
connect( mView, SIGNAL( incidenceSelected( Incidence * ) ),
SLOT( processIncidenceSelection( Incidence * ) ) );
connect( mView, SIGNAL( modifiedChanged( bool ) ),
SLOT( slotModifiedChanged( bool ) ) );
#ifndef DESKTOP_VERSION
connect(qApp, SIGNAL (appMessage ( const QCString &, const QByteArray & )), ExternalAppHandler::instance(), SLOT (appMessage ( const QCString &, const QByteArray & )));
connect( qApp, SIGNAL (appMessage ( const QCString &, const QByteArray & )), this, SLOT(recieve( const QCString&, const QByteArray& )));
disconnect( qApp, SIGNAL (appMessage ( const QCString &, const QByteArray & )), this, SLOT(receiveStart( const QCString&, const QByteArray& )));
+ ((QPEApplication*) qApp)->showMainWidget( this );
if ( !mCStringMess.isEmpty() )
recieve( mCStringMess, mByteData );
#endif
-
-
QTimer::singleShot( 1000, mView, SLOT ( checkFiles() ));
}
void MainWindow::slotResetFocus()
{
//qDebug(" CalendarView::slotResetFocus() %x %x %x %x", qApp->focusWidget(), menuBar1, mView,iconToolBar);
mFocusLoop = 3;
QTimer::singleShot( 0, this, SLOT(slotResetFocusLoop() ));
}
void MainWindow::slotResetFocusLoop()
{
--mFocusLoop;
QWidget* fw = mView->viewManager()->currentView();
if ( fw ) {
//qDebug("loop ");
fw->setFocus();
if ( qApp->focusWidget() != fw && mFocusLoop > 0 )
QTimer::singleShot( 0, this, SLOT(slotResetFocusLoop() ));
}
}
void MainWindow::disableBR(bool b)
{
#ifndef DESKTOP_VERSION
if ( b ) {
if ( infrared ) {
toggleBeamReceive();
mBRdisabled = true;
}
mBRdisabled = true;
} else {
if ( mBRdisabled ) {
@@ -2015,66 +2014,66 @@ void MainWindow::backupAllFiles()
qDebug("KO: Backup cancelled. Will try again tomorrow ");
// retval == 0 : backup skipped for today, try again tomorrow
KOPrefs::instance()->mLastBackupDate = daysTo- KPimGlobalPrefs::instance()->mBackupDayCount+1;
} else if ( retval == 1 ){
qDebug("KO: Backup created.");
// backup ok
QPtrList<KopiCalendarFile> calendars = KOPrefs::instance()->mCalendars;
KopiCalendarFile * cal = calendars.first();
cal = calendars.next();
while ( cal ) {
if ( !cal->mErrorOnLoad ) {
KApplication::createBackup( cal->mFileName, bupDir, KPimGlobalPrefs::instance()->mBackupNumbers );
}
cal = calendars.next();
}
KOPrefs::instance()->mLastBackupDate = daysTo;
setCaption(i18n("Backup succesfully finished" ));
} else if ( retval == 2 ){
setCaption(i18n("Backup globally disabled" ));
qDebug("KO: Backup globally cancelled.");
// backup globally cancelled
KPimGlobalPrefs::instance()->mBackupEnabled = false;
}
// retval == 3: do nothing, try again later
}
void MainWindow::save()
{
if ( mSaveDelay ) {
int elapsed = mSaveTimerStart.secsTo( QDateTime::currentDateTime() );
if ( mSaveDelay < elapsed ) {
qDebug("KO: Pending save after wakeup from suspend detected.");
qDebug("KO: Save delay %d sec. Elapsed save time %d sec.", mSaveDelay, elapsed );
- qDebug("KO: Restarting save timer to save in 15 sec.");
- int msec = 15000;
+ qDebug("KO: Restarting save timer to save in 10 sec.");
+ int msec = 10000;
mSaveTimer.start( msec, true );
mSaveTimerStart = QDateTime::currentDateTime();
mSaveDelay = msec/1000;
return;
}
}
if ( mView->viewManager()->journalView() )
mView->viewManager()->journalView()->checkModified();
if ( !mCalendarModifiedFlag ) {
qDebug("KO: Calendar not modified. Nothing saved.");
return;
}
if ( mSyncManager->blockSave() ) {
slotModifiedChanged( true );
return;
}
mSaveDelay = 0;
mSyncManager->setBlockSave(true);
if ( mView->checkAllFileVersions() ) {
if ( KPimGlobalPrefs::instance()->mBackupEnabled ){
QDate reference ( 2000,1,1);
int daysTo = reference.daysTo ( QDate::currentDate() );
if ( daysTo - KPimGlobalPrefs::instance()->mBackupDayCount >= KOPrefs::instance()->mLastBackupDate ) {
backupAllFiles();
}
; // KPimGlobalPrefs::instance()->mLastBackupDate
}
QTime neededSaveTime;
neededSaveTime.start();
if ( !isMinimized () )
setCaption(i18n("KO/Pi:Saving Data to File ..." ));