summaryrefslogtreecommitdiffabout
path: root/korganizer/main.cpp
blob: 04fb23494dc4c3ebf3f8eccaa95777f8b694b185 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122


#ifndef DESKTOP_VERSION
#include <qpe/qpeapplication.h>
#include <qcopchannel_qws.h> 
#include <qpe/global.h>
//Added by qt3to4:
#include <Q3CString>
#include <stdlib.h>
#else
#include <qapplication.h>
#include <qstring.h>
#include <qwindowsstyle.h> 
#include <stdlib.h>
#endif
#include <qtextcodec.h> 

#include <qdir.h>
#include <kstandarddirs.h>
#include <kglobal.h>
#include <stdio.h>
#include "mainwindow.h"
#include <libkdepim/kpimglobalprefs.h>
void dumpMissing();


int main( int argc, char **argv )
{
    if(!getenv("KDEPIMPIDIR")) putenv("KDEPIMPIDIR=/usr/lib/kdepimpi");
    if(!getenv("QPEDIR")) putenv("QPEDIR=/usr/lib/kdepimpi");
#ifndef DESKTOP_VERSION
  QPEApplication a( argc, argv );
  a.setKeepRunning ();
#else
  QApplication a( argc, argv ); 
#ifdef _WIN32_
  QString hdir ( getenv( "HOME") );
  if ( hdir.isEmpty() ) {
    QString hd ("C:/" );
    //QMessageBox::information(0,"hh",QDir::homeDirPath()+" xx" +hd );
    if ( QDir::homeDirPath().lower() == hd.lower() ) {
      _putenv( "HOME=C:");
      //QMessageBox::information(0,"hh",QString ( getenv( "HOME") ) );
    }
  } else {
    QDir app_dir;
    if ( !app_dir.exists(hdir) )
      app_dir.mkdir (hdir);
  }
#endif
#endif
  bool exitHelp = false;
  if ( argc > 1 ) {
      QString command = argv[1];
      if (  command == "-help" ){
          printf("KO/Pi command line commands:\n");
          printf("  no command: Start KO/Pi in usual way\n");
          printf("  -help: This output\n");
          printf("Next Option: Open or Show after start:\n");
          printf("  -newTodo: New Todo dialog\n");
          printf("  -newEvent: New Event dialog\n");
          printf("  -showList: List view\n");
          printf("  -showDay: Day view\n");
          printf("  -showWWeek: Work Week view\n");
          printf("  -showWeek: Week view\n");
          printf("  -showTodo: Todo view\n");
          printf("  -showJournal: Journal view\n");
          printf("  -showKO: Next Days view\n");
          printf("  -showWNext: What's Next view\n");  
          printf("  -showNextXView: Next X View\n");
          printf(" -new[Y] and -show[X] may be used togehther\n");
          printf(" KO/Pi is exiting now. Bye!\n");
          exitHelp = true;
      }
  }
  if ( ! exitHelp ) {
      KGlobal::setAppName( "korganizer" );
      QString fileName ;
#ifndef DESKTOP_VERSION
      fileName = getenv("QPEDIR");
      KGlobal::iconLoader()->setIconPath( fileName +"/pics/kdepim/korganizer/");
#else
      const char *kpd = ::getenv("KDEPIMPIDIR");
      if(kpd)
	  fileName = QString(kpd) + "/korganizer/";
      else
	  fileName  = qApp->applicationDirPath () + "/kdepim/korganizer/";
      KGlobal::iconLoader()->setIconPath(QDir::convertSeparators(fileName));
#endif 
      KStandardDirs::setAppDir( QDir::convertSeparators(locateLocal("data", "korganizer")));

      QApplication::setFont( KPimGlobalPrefs::instance()->mApplicationFont );
      KPimGlobalPrefs::instance()->setGlobalConfig();
      MainWindow m;
#ifndef DESKTOP_VERSION
     
      QObject::connect( &a, SIGNAL (appMessage ( const Q3CString &, const QByteArray & )),&m, SLOT(receiveStart(  const Q3CString&, const QByteArray& )));
      a.showMainWidget(&m );
#else
      a.setMainWidget(&m );
      m.show();
      //m.resize( 800, 600 );
      //QObject::connect(&a, SIGNAL(lastWindowClosed()), &a, SLOT(quit()));
#endif
      if ( argc > 1 ) {
          Q3CString command = argv[1];
          if ( argc > 2 )
              command += argv[2];
          m.recieve(command,  QByteArray() );
          
      }
     
#ifndef DESKTOP_VERSION
      // QPEApplication::setTempScreenSaverMode ( QPEApplication::Disable );
#endif
      a.exec();
      dumpMissing();

      KPimGlobalPrefs::instance()->writeConfig();
  }
  qDebug("KO: Bye! ");
}