From b9aad1f15dc600e4dbe4c62d3fcced6363188ba3 Mon Sep 17 00:00:00 2001 From: zautrix Date: Sat, 26 Jun 2004 19:01:18 +0000 Subject: Initial revision --- (limited to 'kaddressbook/mainembedded.cpp') diff --git a/kaddressbook/mainembedded.cpp b/kaddressbook/mainembedded.cpp new file mode 100644 index 0000000..ffa37a5 --- a/dev/null +++ b/kaddressbook/mainembedded.cpp @@ -0,0 +1,208 @@ +#ifndef DESKTOP_VERSION +#include +#include +#include +#else +#include +#include +#include +#include +#endif + +#include +#include +#include +#include +#include "kaddressbookmain.h" + +int main( int argc, char **argv ) +{ +#ifndef DESKTOP_VERSION + QPEApplication a( argc, argv ); + a.setKeepRunning (); +#else + QApplication a( argc, argv ); + QApplication::setStyle( new QPlatinumStyle ()); +#endif + + bool exitHelp = false; + if ( argc > 1 ) { + QString command = argv[1]; + if ( command == "-help" ){ + printf("KA/E command line commands:\n"); + printf(" no command: Start KA/E in usual way\n"); + printf(" -help: This output\n"); + printf(" KA/E is exiting now. Bye!\n"); + exitHelp = true; + } + } + if ( ! exitHelp ) { + + KGlobal::setAppName( "kaddressbook" ); +#ifndef DESKTOP_VERSION + KStandardDirs::setAppDir( Global::applicationFileName( "kaddressbook", "" ) ); + KGlobal::iconLoader()->setIconPath(QString(getenv("QPEDIR"))+"/pics/kdepim/kaddressbook/icons16/"); +#else + QString fileName ; +#ifndef _WIN32_ + fileName = qApp->applicationDirPath () + "/kdepim/kaddressbook/icons16/"; +#else + fileName = qApp->applicationDirPath () + "\\kdepim\\kaddressbook\\icons16\\"; +#endif + KGlobal::iconLoader()->setIconPath(fileName); + QString appdir = QDir::homeDirPath(); + if ( appdir.right(1) == "\\" || appdir.right(1) == "/" ) + appdir += "kaddressbook"; + else + appdir += "/kaddressbook"; + KStandardDirs::setAppDir( QDir::convertSeparators( appdir )); + // qDebug(" %s ",KStandardDirs::appDir().latin1() ); +#endif // desktop + QDir app_dir; + if ( !app_dir.exists(KStandardDirs::appDir()) ) + app_dir.mkdir (KStandardDirs::appDir()); + + KAddressBookMain* m = new KAddressBookMain(); +//US MainWindow m; +//US QObject::connect( &a, SIGNAL (appMessage ( const QCString &, const QByteArray & )),&m, SLOT(recieve( const QCString&, const QByteArray& ))); + +#ifndef DESKTOP_VERSION + a.showMainWidget(m ); + m->showFullScreen(); + int min = 20; + if ( QApplication::desktop()->width() > 320 ) + min += 20; + m->setGeometry( 0,0,QApplication::desktop()->width(), QApplication::desktop()->height() - min ); + +#else + a.setMainWidget(m ); + m->show(); + //m->resize( 640, 480 ); +#endif + a.exec(); + + } + qDebug("KA: Bye! "); +} + +/* +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "kaddressbookmain.h" +#include "kabcore.h" + +extern "C" { + +void crashHandler( int ) +{ + KABC::StdAddressBook::handleCrash(); + ::exit( 0 ); +} + +} + +class KAddressBookApp : public KUniqueApplication { + public: + KAddressBookApp() : mMainWin( 0 ) {} + ~KAddressBookApp() {} + + int newInstance(); + + private: + KAddressBookMain *mMainWin; +}; + +int KAddressBookApp::newInstance() +{ + if ( isRestored() ) { + // There can only be one main window + if ( KMainWindow::canBeRestored( 1 ) ) { + mMainWin = new KAddressBookMain; + mMainWin->show(); + mMainWin->restore( 1 ); + } + } else { + KCmdLineArgs *args = KCmdLineArgs::parsedArgs(); + + QCString addrStr = args->getOption( "addr" ); + QCString uidStr = args->getOption( "uid" ); + QString addr; + QString uid; + if ( !addrStr.isEmpty() ) + addr = QString::fromLocal8Bit( addrStr ); + if ( !uidStr.isEmpty() ) + uid = QString::fromLocal8Bit( uidStr ); + + + if ( args->isSet( "editor-only" ) ) { + if ( !mMainWin ) + mMainWin = new KAddressBookMain; + KStartupInfo::appStarted(); + mMainWin->hide(); + } else { + if ( mMainWin ) { + mMainWin->show(); + KWin::setActiveWindow( mMainWin->winId() ); + } else { + mMainWin = new KAddressBookMain; + mMainWin->show(); + } + } + // Can not see why anyone would pass both a uid and an email address, so I'll leave it that two contact editors will show if they do + if ( !addr.isEmpty() ) + mMainWin->addEmail( addr ); + + if ( !uid.isEmpty() ) + mMainWin->showContactEditor( uid ); + if ( args->isSet( "new-contact" ) ) { + mMainWin->newContact(); + } + } + + KCrash::setEmergencySaveFunction( crashHandler ); + + return 0; +} + +// the dummy argument is required, because KMail apparently sends an empty +// argument. +static KCmdLineOptions kmoptions[] = +{ + { "a", 0 , 0 }, + { "addr ", I18N_NOOP( "Shows contact editor with given email address" ), 0 }, + { "uid ", I18N_NOOP( "Shows contact editor with given uid" ), 0 }, + { "editor-only", I18N_NOOP( "Launches in editor only mode" ), 0 }, + { "new-contact", I18N_NOOP( "Launches editor for the new contact" ), 0 }, + { "+[argument]", I18N_NOOP( "dummy argument" ), 0}, + { 0, 0, 0} +}; + +int main( int argc, char *argv[] ) +{ + KLocale::setMainCatalogue( "kaddressbook" ); + + KCmdLineArgs::init( argc, argv, KABCore::createAboutData() ); + KCmdLineArgs::addCmdLineOptions( kmoptions ); + KUniqueApplication::addCmdLineOptions(); + + if ( !KAddressBookApp::start() ) + exit( 0 ); + + KAddressBookApp app; + KGlobal::locale()->insertCatalogue( "libkdepim" ); + + return app.exec(); +} +*/ -- cgit v0.9.0.2