summaryrefslogtreecommitdiffstats
path: root/kjots/main.cpp
blob: dcee5b93e295bda3fb942501cb300dd23e41588c (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
// -*- C++ -*-

//
//  kjots
//
//  Copyright (C) 1997 Christoph Neerfeld
//  email:  Christoph.Neerfeld@home.ivm.de or chris@kde.org
//
//  This program is free software; you can redistribute it and/or modify
//  it under the terms of the GNU General Public License as published by
//  the Free Software Foundation; either version 2 of the License, or
//  (at your option) any later version.
//
//  This program is distributed in the hope that it will be useful,
//  but WITHOUT ANY WARRANTY; without even the implied warranty of
//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//  GNU General Public License for more details.
//
//  You should have received a copy of the GNU General Public License
//  along with this program; if not, write to the Free Software
//  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
//

#ifdef HAVE_CONFIG_H
#include "../config.h"
#endif

#include <stdlib.h>
#include <kuniqueapplication.h>
#include <kcmdlineargs.h>
#include <kconfig.h>
#include <kaboutdata.h>

#include "KJotsMain.h"


static const char description[] = I18N_NOOP("KDE note taking utility");

static const char version[] = "v0.7";


int main( int argc, char **argv )
{
  KAboutData aboutData( "kjots", I18N_NOOP("KJots"),
    version, description, KAboutData::License_GPL,
    "(c) 1997-2002, Christoph Neerfeld");
  aboutData.addAuthor("Pradeepto K. Bhattacharya", I18N_NOOP("Current maintainer"), "pradeepto@kde.org");
  aboutData.addAuthor("Jaison Lee", 0, "lee.jaison@gmail.com");
  aboutData.addAuthor("Aaron J. Seigo", 0, "aseigo@kde.org");
  aboutData.addAuthor("Stanislav Kljuhhin", 0, "crz@starman.ee");
  aboutData.addAuthor("Christoph Neerfeld", I18N_NOOP("Original author"), "chris@kde.org");
  KCmdLineArgs::init(argc, argv, &aboutData);
  KUniqueApplication::addCmdLineOptions();

  if (!KUniqueApplication::start())
  {
     fprintf(stderr, "kjots is already running!\n");
     exit(0);
  }

  KUniqueApplication a;

  // backwards compatibility code to convert "old" user font settings
  // to the new config settings
  KConfig *config = a.config();
  config->setGroup("kjots");
  if (config->hasKey("EFontFamily")) {
    // read old font and create it
    TQFont font( config->readEntry("EFontFamily"),
                config->readNumEntry("EFontSize", 12),
                config->readNumEntry("EFontWeight", 0),
                config->readNumEntry("EFontItalic", 0));
    // delete old entries
    config->deleteEntry("EFontFamily");
    config->deleteEntry("EFontSize");
    config->deleteEntry("EFontWeight");
    config->deleteEntry("EFontItalic");
    config->deleteEntry("EFontCharset");
    // write new "converted" entry
    config->writeEntry("Font", font);
  }

  KJotsMain *jots = new KJotsMain;
  if( a.isRestored() )
  {
    if( KJotsMain::canBeRestored(1) )
    {
      jots->restore(1);
    }
  }

  a.setMainWidget( (TQWidget *) jots );
  jots->show();
  jots->resize(jots->size());
  return a.exec();
}

/* ex: set tabstop=4 softtabstop=4 shiftwidth=4 expandtab: */