summaryrefslogtreecommitdiffabout
path: root/kaddressbook/mainembedded.cpp
authorzautrix <zautrix>2004-06-26 19:01:18 (UTC)
committer zautrix <zautrix>2004-06-26 19:01:18 (UTC)
commitb9aad1f15dc600e4dbe4c62d3fcced6363188ba3 (patch) (side-by-side diff)
tree2c3d4004fb21c72cba65793859f9bcd8ffd3a49c /kaddressbook/mainembedded.cpp
downloadkdepimpi-b9aad1f15dc600e4dbe4c62d3fcced6363188ba3.zip
kdepimpi-b9aad1f15dc600e4dbe4c62d3fcced6363188ba3.tar.gz
kdepimpi-b9aad1f15dc600e4dbe4c62d3fcced6363188ba3.tar.bz2
Initial revision
Diffstat (limited to 'kaddressbook/mainembedded.cpp') (more/less context) (show whitespace changes)
-rw-r--r--kaddressbook/mainembedded.cpp208
1 files changed, 208 insertions, 0 deletions
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 <qpe/qpeapplication.h>
+#include <qpe/global.h>
+#include <stdlib.h>
+#else
+#include <qapplication.h>
+#include <qwindowsstyle.h>
+#include <qplatinumstyle.h>
+#include <qmainwindow.h>
+#endif
+
+#include <kstandarddirs.h>
+#include <kglobal.h>
+#include <stdio.h>
+#include <qdir.h>
+#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 <stdlib.h>
+
+#include <qstring.h>
+
+#include <kabc/stdaddressbook.h>
+#include <kaboutdata.h>
+#include <kcmdlineargs.h>
+#include <kcrash.h>
+#include <kdebug.h>
+#include <klocale.h>
+#include <kstartupinfo.h>
+#include <kuniqueapplication.h>
+#include <kwin.h>
+
+#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 <email>", I18N_NOOP( "Shows contact editor with given email address" ), 0 },
+ { "uid <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();
+}
+*/