summaryrefslogtreecommitdiffabout
path: root/korganizer/mainwindow.cpp
authorzautrix <zautrix>2004-10-07 07:28:54 (UTC)
committer zautrix <zautrix>2004-10-07 07:28:54 (UTC)
commit77280f6a176a15b60004f312e6cacdfbbd3909c1 (patch) (side-by-side diff)
treee074d4abedc2f4cc575e5655575e038b9d460106 /korganizer/mainwindow.cpp
parentf1eb5b74c962909851607c4b4cb05ee18a347d37 (diff)
downloadkdepimpi-77280f6a176a15b60004f312e6cacdfbbd3909c1.zip
kdepimpi-77280f6a176a15b60004f312e6cacdfbbd3909c1.tar.gz
kdepimpi-77280f6a176a15b60004f312e6cacdfbbd3909c1.tar.bz2
sync changes
Diffstat (limited to 'korganizer/mainwindow.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/mainwindow.cpp321
1 files changed, 0 insertions, 321 deletions
diff --git a/korganizer/mainwindow.cpp b/korganizer/mainwindow.cpp
index 9104347..e3324ee 100644
--- a/korganizer/mainwindow.cpp
+++ b/korganizer/mainwindow.cpp
@@ -69,129 +69,128 @@ using namespace KCal;
#include "koimportoldialog.h"
#endif
#include "mainwindow.h"
class KOex2phonePrefs : public QDialog
{
public:
KOex2phonePrefs( QWidget *parent=0, const char *name=0 ) :
QDialog( parent, name, true )
{
setCaption( i18n("Export to phone options") );
QVBoxLayout* lay = new QVBoxLayout( this );
lay->setSpacing( 3 );
lay->setMargin( 3 );
QLabel *lab;
lay->addWidget(lab = new QLabel( i18n("Please read Help-Sync Howto\nto know what settings to use."), this ) );
lab->setAlignment (AlignHCenter );
QHBox* temphb;
temphb = new QHBox( this );
new QLabel( i18n("I/O device: "), temphb );
mPhoneDevice = new QLineEdit( temphb);
lay->addWidget( temphb );
temphb = new QHBox( this );
new QLabel( i18n("Connection: "), temphb );
mPhoneConnection = new QLineEdit( temphb);
lay->addWidget( temphb );
temphb = new QHBox( this );
new QLabel( i18n("Model(opt.): "), temphb );
mPhoneModel = new QLineEdit( temphb);
lay->addWidget( temphb );
mWriteBackFuture= new QCheckBox( i18n("Write back events in future only"), this );
mWriteBackFuture->setChecked( true );
lay->addWidget( mWriteBackFuture );
temphb = new QHBox( this );
new QLabel( i18n("Max. weeks in future: ") , temphb );
mWriteBackFutureWeeks= new QSpinBox(1,104, 1, temphb);
mWriteBackFutureWeeks->setValue( 8 );
lay->addWidget( temphb );
lay->addWidget(lab = new QLabel( i18n("NOTE: This will remove all old\ntodo/calendar data on phone!"), this ) );
lab->setAlignment (AlignHCenter );
QPushButton * ok = new QPushButton( i18n("Export to mobile phone!"), this );
lay->addWidget( ok );
QPushButton * cancel = new QPushButton( i18n("Cancel"), this );
lay->addWidget( cancel );
connect ( ok,SIGNAL(clicked() ),this , SLOT ( accept() ) );
connect (cancel, SIGNAL(clicked() ), this, SLOT ( reject()) );
resize( 220, 240 );
}
public:
QLineEdit* mPhoneConnection, *mPhoneDevice, *mPhoneModel;
QCheckBox* mWriteBackFuture;
QSpinBox* mWriteBackFutureWeeks;
};
int globalFlagBlockStartup;
MainWindow::MainWindow( QWidget *parent, const char *name, QString msg) :
QMainWindow( parent, name )
{
mPassWordPiSync = "abc";
#ifdef DESKTOP_VERSION
setFont( QFont("Arial"), 14 );
#endif
- mSyncActionDialog = 0;
mServerSocket = 0;
mClosed = false;
//QString confFile = KStandardDirs::appDir() + "config/korganizerrc";
QString confFile = locateLocal("config","korganizerrc");
QFileInfo finf ( confFile );
bool showWarning = !finf.exists();
setIcon(SmallIcon( "ko24" ) );
mBlockAtStartup = true;
mFlagKeyPressed = false;
setCaption("KOrganizer/Pi");
KOPrefs *p = KOPrefs::instance();
KPimGlobalPrefs::instance()->setGlobalConfig();
// if ( QApplication::desktop()->height() > 480 ) {
// if ( p->mHourSize == 4 )
// p->mHourSize = 6;
// }
if ( p->mHourSize > 18 )
p->mHourSize = 18;
QMainWindow::ToolBarDock tbd;
if ( p->mToolBarHor ) {
if ( p->mToolBarUp )
tbd = Bottom;
else
tbd = Top;
}
else {
if ( p->mToolBarUp )
tbd = Right;
else
tbd = Left;
}
if ( KOPrefs::instance()->mUseAppColors )
QApplication::setPalette( QPalette (KOPrefs::instance()->mAppColor1, KOPrefs::instance()->mAppColor2), true );
globalFlagBlockStartup = 1;
iconToolBar = new QPEToolBar( this );
addToolBar (iconToolBar , tbd );
mBlockSaveFlag = false;
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 " );
mView->hide();
//mView->resize(splash->size() );
initActions();
#ifndef DESKTOP_VERSION
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();
@@ -2286,384 +2285,64 @@ void MainWindow::syncRemote( KSyncProfile* prof, bool ask)
}
question = i18n("Sorry, the copy command failed!\nCommand was:\n%1\n \nTry command on console to get more\ndetailed info about the reason.\n").arg (command) ;
QMessageBox::information( this, i18n("KO/Pi Sync - ERROR"),
question,
i18n("Okay!")) ;
setCaption ("KO/Pi");
return;
}
setCaption ( i18n( "Copying succeed." ) );
//qDebug(" file **%s** ",prof->getLocalTempFile().latin1() );
if ( syncWithFile( prof->getLocalTempFile(), true ) ) {
// Event* e = mView->getLastSyncEvent();
// e->setReadOnly( false );
// e->setLocation( KOPrefs::instance()->mSyncProfileNames[mCurrentSyncProfile]);
// e->setReadOnly( true );
if ( KOPrefs::instance()->mWriteBackFile ) {
command = prof->getPostSyncCommand();
int fi;
if ( (fi = command.find("$PWD$")) > 0 ) {
QString pwd = getPassword();
command = command.left( fi )+ pwd + command.mid( fi+5 );
}
setCaption ( i18n( "Writing back file ..." ) );
result = system ( command );
qDebug("KO: Writing back file result: %d ", result);
if ( result != 0 ) {
setCaption ( i18n( "Writing back file result: " )+QString::number( result ) );
return;
} else {
setCaption ( i18n( "Syncronization sucessfully completed" ) );
}
}
}
return;
}
void MainWindow::syncSharp()
{
if ( mCalendarModifiedFlag )
save();
mView->syncSharp();
slotModifiedChanged( true );
}
void MainWindow::syncPhone()
{
if ( mCalendarModifiedFlag )
save();
mView->syncPhone();
slotModifiedChanged( true );
}
void MainWindow::printSel( )
{
mView->viewManager()->agendaView()->agenda()->printSelection();
}
void MainWindow::printCal()
{
mView->print();//mCp->showDialog();
}
-
-
-KServerSocket:: KServerSocket ( QString pw, Q_UINT16 port, int backlog, QObject * parent, const char * name ) : QServerSocket( port, backlog, parent, name )
-{
- mPassWord = pw;
- mSocket = 0;
- mSyncActionDialog = 0;
- blockRC = false;
-};
-
-void KServerSocket::newConnection ( int socket )
-{
- // qDebug("KServerSocket:New connection %d ", socket);
- if ( mSocket ) {
- qDebug("KServerSocket::newConnection Socket deleted! ");
- delete mSocket;
- mSocket = 0;
- }
- mSocket = new QSocket( this );
- connect( mSocket , SIGNAL(readyRead()), this, SLOT(readClient()) );
- connect( mSocket , SIGNAL(delayedCloseFinished()), this, SLOT(discardClient()) );
- mSocket->setSocket( socket );
-}
-
-void KServerSocket::discardClient()
-{
- //qDebug(" KServerSocket::discardClient()");
- if ( mSocket ) {
- delete mSocket;
- mSocket = 0;
- }
- //emit endConnect();
-}
-void KServerSocket::readClient()
-{
- if ( blockRC )
- return;
- if ( mSocket == 0 ) {
- qDebug("ERROR::KServerSocket::readClient(): mSocket == 0 ");
- return;
- }
- qDebug("KServerSocket readClient()");
- if ( mSocket->canReadLine() ) {
- QString line = mSocket->readLine();
- qDebug("KServerSocket readline: %s ", line.latin1());
- QStringList tokens = QStringList::split( QRegExp("[ \r\n][ \r\n]*"), line );
- if ( tokens[0] == "GET" ) {
- if ( tokens[1] == mPassWord )
- //emit sendFile( mSocket );
- send_file();
- else {
- KMessageBox::information( 0, i18n("ERROR:\nGot send file request\nwith invalid password"));
- qDebug("password %s, invalid password %s ",mPassWord.latin1(), tokens[1].latin1() );
- }
- }
- if ( tokens[0] == "PUT" ) {
- if ( tokens[1] == mPassWord ) {
- //emit getFile( mSocket );
- blockRC = true;
- get_file();
- }
- else {
- KMessageBox::information( 0, i18n("ERROR:\nGot receive file request\nwith invalid password"));
- qDebug("password %s, invalid password %s ",mPassWord.latin1(), tokens[1].latin1() );
- }
- }
- if ( tokens[0] == "STOP" ) {
- //emit endConnect();
- end_connect();
- }
- }
-}
-void KServerSocket::end_connect()
-{
- delete mSyncActionDialog;
- mSyncActionDialog = 0;
-}
-void KServerSocket::send_file()
-{
- //qDebug("MainWindow::sendFile(QSocket* s) ");
- if ( mSyncActionDialog )
- delete mSyncActionDialog;
- mSyncActionDialog = new QDialog ( 0, "input-dialog", true );
- mSyncActionDialog->setCaption(i18n("Received sync request"));
- QLabel* label = new QLabel( i18n("Synchronizing from remote ...\n\nDo not use this application!\n\nIf syncing fails\nyou can close this dialog."), mSyncActionDialog );
- QVBoxLayout* lay = new QVBoxLayout( mSyncActionDialog );
- lay->addWidget( label);
- lay->setMargin(7);
- lay->setSpacing(7);
- mSyncActionDialog->setFixedSize( 230, 120);
- mSyncActionDialog->show();
- qDebug("KSS::saving ... ");
- emit saveFile();
- qApp->processEvents();
- QString fileName = mFileName;
- QFile file( fileName );
- if (!file.open( IO_ReadOnly ) ) {
- delete mSyncActionDialog;
- mSyncActionDialog = 0;
- qDebug("KSS::error open file ");
- mSocket->close();
- if ( mSocket->state() == QSocket::Idle )
- QTimer::singleShot( 10, this , SLOT ( discardClient()));
- return ;
-
- }
- mSyncActionDialog->setCaption( i18n("Sending file...") );
- QTextStream ts( &file );
- ts.setCodec( QTextCodec::codecForName("utf8") );
- QTextStream os( mSocket );
- os.setCodec( QTextCodec::codecForName("utf8") );
- //os.setEncoding( QTextStream::UnicodeUTF8 );
- while ( ! ts.atEnd() ) {
- os << ts.readLine() << "\n";
- }
- //os << ts.read();
- file.close();
- mSyncActionDialog->setCaption( i18n("Waiting for synced file...") );
- mSocket->close();
- if ( mSocket->state() == QSocket::Idle )
- QTimer::singleShot( 10, this , SLOT ( discardClient()));
-}
-void KServerSocket::get_file()
-{
- mSyncActionDialog->setCaption( i18n("Receiving synced file...") );
-
- piTime.start();
- piFileString = "";
- QTimer::singleShot( 1, this , SLOT (readBackFileFromSocket( ) ));
-}
-
-
-void KServerSocket::readBackFileFromSocket()
-{
- //qDebug("readBackFileFromSocket() %d ", piTime.elapsed ());
- while ( mSocket->canReadLine () ) {
- piTime.restart();
- QString line = mSocket->readLine ();
- piFileString += line;
- //qDebug("readline: %s ", line.latin1());
- mSyncActionDialog->setCaption( i18n("Received %1 bytes").arg( piFileString.length() ) );
-
- }
- if ( piTime.elapsed () < 3000 ) {
- // wait for more
- //qDebug("waitformore ");
- QTimer::singleShot( 100, this , SLOT (readBackFileFromSocket( ) ));
- return;
- }
- QString fileName = mFileName;
- QFile file ( fileName );
- if (!file.open( IO_WriteOnly ) ) {
- delete mSyncActionDialog;
- mSyncActionDialog = 0;
- qDebug("error open cal file ");
- piFileString = "";
- emit file_received( false );
- blockRC = false;
- return ;
-
- }
-
- // mView->setLoadedFileVersion(QDateTime::currentDateTime().addSecs( -1));
- QTextStream ts ( &file );
- ts.setCodec( QTextCodec::codecForName("utf8") );
- mSyncActionDialog->setCaption( i18n("Writing file to disk...") );
- ts << piFileString;
- mSocket->close();
- if ( mSocket->state() == QSocket::Idle )
- QTimer::singleShot( 10, this , SLOT ( discardClient()));
- file.close();
- delete mSyncActionDialog;
- mSyncActionDialog = 0;
- piFileString = "";
- blockRC = false;
- emit file_received( true );
-
-}
-
-KCommandSocket::KCommandSocket ( QString password, Q_UINT16 port, QString host, QObject * parent, const char * name ): QObject( parent, name )
-{
- mPassWord = password;
- mSocket = 0;
- mPort = port;
- mHost = host;
-
- mRetVal = quiet;
- mTimerSocket = new QTimer ( this );
- connect( mTimerSocket, SIGNAL ( timeout () ), this, SLOT ( deleteSocket() ) );
-}
-void KCommandSocket::readFile( QString fn )
-{
- if ( !mSocket ) {
- mSocket = new QSocket( this );
- connect( mSocket, SIGNAL(readyRead()), this, SLOT(startReadFileFromSocket()) );
- connect( mSocket, SIGNAL(delayedCloseFinished ()), this, SLOT(deleteSocket()) );
- }
- mFileString = "";
- mFileName = fn;
- mFirst = true;
- mSocket->connectToHost( mHost, mPort );
- QTextStream os( mSocket );
- os.setEncoding( QTextStream::UnicodeUTF8 );
- os << "GET " << mPassWord << "\r\n";
- mTimerSocket->start( 10000 );
-}
-
-void KCommandSocket::writeFile( QString fileName )
-{
- if ( !mSocket ) {
- mSocket = new QSocket( this );
- connect( mSocket, SIGNAL(delayedCloseFinished ()), this, SLOT(deleteSocket()) );
- connect( mSocket, SIGNAL(connected ()), this, SLOT(writeFileToSocket()) );
- }
- mFileName = fileName ;
- mSocket->connectToHost( mHost, mPort );
-}
-void KCommandSocket::writeFileToSocket()
-{
- QFile file2( mFileName );
- if (!file2.open( IO_ReadOnly ) ) {
- mRetVal= errorW;
- mSocket->close();
- if ( mSocket->state() == QSocket::Idle )
- QTimer::singleShot( 10, this , SLOT ( deleteSocket()));
- return ;
- }
- QTextStream ts2( &file2 );
- ts2.setCodec( QTextCodec::codecForName("utf8") );
- QTextStream os2( mSocket );
- os2.setCodec( QTextCodec::codecForName("utf8") );
- os2 << "PUT " << mPassWord << "\r\n";;
- while ( ! ts2.atEnd() ) {
- os2 << ts2.readLine() << "\n";
- }
- mRetVal= successW;
- file2.close();
- mSocket->close();
- if ( mSocket->state() == QSocket::Idle )
- QTimer::singleShot( 10, this , SLOT ( deleteSocket()));
-}
-void KCommandSocket::sendStop()
-{
- if ( !mSocket ) {
- mSocket = new QSocket( this );
- connect( mSocket, SIGNAL(delayedCloseFinished ()), this, SLOT(deleteSocket()) );
- }
- mSocket->connectToHost( mHost, mPort );
- QTextStream os2( mSocket );
- os2.setCodec( QTextCodec::codecForName("utf8") );
- os2 << "STOP\r\n";
- mSocket->close();
- if ( mSocket->state() == QSocket::Idle )
- QTimer::singleShot( 10, this , SLOT ( deleteSocket()));
-}
-
-void KCommandSocket::startReadFileFromSocket()
-{
- if ( ! mFirst )
- return;
- mFirst = false;
- mTimerSocket->stop();
- mFileString = "";
- mTime.start();
- QTimer::singleShot( 1, this , SLOT (readFileFromSocket( ) ));
-
-}
-void KCommandSocket::readFileFromSocket()
-{
- //qDebug("readBackFileFromSocket() %d ", mTime.elapsed ());
- while ( mSocket->canReadLine () ) {
- mTime.restart();
- QString line = mSocket->readLine ();
- mFileString += line;
- //qDebug("readline: %s ", line.latin1());
- }
- if ( mTime.elapsed () < 3000 ) {
- // wait for more
- //qDebug("waitformore ");
- QTimer::singleShot( 100, this , SLOT (readFileFromSocket( ) ));
- return;
- }
- QString fileName = mFileName;
- QFile file ( fileName );
- if (!file.open( IO_WriteOnly ) ) {
- mFileString = "";
- mRetVal = errorR;
- qDebug("Error open temp calender file for writing: %s",fileName.latin1() );
- deleteSocket();
- return ;
-
- }
- // mView->setLoadedFileVersion(QDateTime::currentDateTime().addSecs( -1));
- QTextStream ts ( &file );
- ts.setCodec( QTextCodec::codecForName("utf8") );
- ts << mFileString;
- file.close();
- mFileString = "";
- mRetVal = successR;
- mSocket->close();
- // if state is not idle, deleteSocket(); is called via
- // connect( mSocket, SIGNAL(delayedCloseFinished ()), this, SLOT(deleteSocket()) );
- if ( mSocket->state() == QSocket::Idle )
- deleteSocket();
-}
-
-void KCommandSocket::deleteSocket()
-{
- if ( mTimerSocket->isActive () ) {
- mTimerSocket->stop();
- KMessageBox::information( 0, i18n("ERROR:\nConnection to remote host timed out!\nDid you forgot to enable\nsyncing on remote host? "));
- mRetVal = errorR;
- }
- //qDebug("KCommandSocket::deleteSocket() %d", mRetVal );
- if ( mSocket)
- delete mSocket;
- mSocket = 0;
- emit commandFinished( this, mRetVal );
-}
-