File: main.cpp

package info (click to toggle)
kdeutils 4%3A3.3.2-1
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 14,628 kB
  • ctags: 13,095
  • sloc: cpp: 95,511; sh: 9,030; perl: 2,786; ansic: 2,425; makefile: 931; lex: 302; xml: 287; yacc: 167
file content (96 lines) | stat: -rw-r--r-- 2,919 bytes parent folder | download
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
// -*- 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., 59 Temple Place - Suite 330, Boston, MA  02111-1307, 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.5";


int main( int argc, char **argv )
{
  KAboutData aboutData( "kjots", I18N_NOOP("KJots"),
    version, description, KAboutData::License_GPL,
    "(c) 1997-2002, Christoph Neerfeld");
  aboutData.addAuthor("Aaron J. Seigo", I18N_NOOP("Current maintainer"), "aseigo@olympusproject.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
    QFont 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( (QWidget *) jots );
  jots->show();
  jots->resize(jots->size());
  return a.exec();
}

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