summaryrefslogtreecommitdiffabout
path: root/korganizer/main.cpp
blob: c9d13457a2e35775dfae50dfd526ae2ae074b078 (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


#ifndef DESKTOP_VERSION
#include <qpe/qpeapplication.h>
#include <qcopchannel_qws.h> 
#include <qpe/global.h>
#include <stdlib.h>
#else
#include <qapplication.h>
#include <qstring.h>
#include <qwindowsstyle.h> 
#include <qplatinumstyle.h> 
#include <qsgistyle.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 )
{
#ifndef DESKTOP_VERSION
  QPEApplication a( argc, argv );
  a.setKeepRunning ();
#else
  QApplication a( argc, argv ); 
  QApplication::setStyle( new QPlatinumStyle ());
#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
      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 QCString &, const QByteArray & )),&m, SLOT(recieve(  const QCString&, 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 ) {
          QCString command = argv[1];
          if ( argc > 2 )
              command += argv[2];
          qApp->processEvents();
          m.recieve(command,  QByteArray() );
          
      }
     
      a.exec();
      dumpMissing();

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