summaryrefslogtreecommitdiffstats
path: root/src/common/global/about.cpp
blob: ffda7db73daa7fedad9b86688eb5274bd115f6ed (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
/***************************************************************************
 *   Copyright (C) 2005-2006 Nicolas Hadacek <[email protected]>             *
 *                                                                         *
 *   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.                                   *
 ***************************************************************************/
#include "about.h"

#if defined(TQ_WS_WIN)
#  define SVN_REVISION "windows"
#else
#  include "svn_revision/svn_revision.h"
#endif

//---------------------------------------------------------------------------
const char * const Piklab::URLS[Nb_UrlTypes] = {
  "http://piklab.sourceforge.net",
  "http://piklab.sourceforge.net/wiki/index.php/FAQ",
  "http://sourceforge.net/tracker/?func=add&group_id=138852&atid=743140"
};

//-----------------------------------------------------------------------------
Piklab::OptionList::OptionList(const KCmdLineOptions *options)
  : _options(0)
{
  for (uint i=0; options[i].name; i++) append(options[i]);
}

const KCmdLineOptions *Piklab::OptionList::ptr() const
{
  delete[] _options;
  _options = new KCmdLineOptions[count()+1];
  for (uint i=0; i<uint(count()); i++) {
    _options[i] = *at(i);
    Q_ASSERT( _options[i].name );
  }
  _options[count()].name = 0;
  return _options;
}

//-----------------------------------------------------------------------------
void Piklab::init(KAboutData *about, int argc, char **argv, bool gui, const KCmdLineOptions *options)
{
  Q_ASSERT(about);
#if defined(NO_KDE)
#  if defined(Q_OS_WIN)
  printf("%s \"win32\": version %s\n", about->appName(), VERSION);
#  else
  printf("%s \"qt-only\": version %s (rev. %s)\n", about->appName(), VERSION, SVN_REVISION);
#  endif
  Q_UNUSED(gui);
  Q_ASSERT( !gui );
#else
  printf("%s: version %s (rev. %s)\n", about->appName(), VERSION, SVN_REVISION);
  if ( !gui ) KApplication::disableAutoDcopRegistration();
#endif
  KCmdLineArgs::init(argc, argv, about);
  KCmdLineArgs::addCmdLineOptions(options);
#if defined(NO_KDE)
#  if [[[TQT_VERSION IS DEPRECATED]]]<0x040000
  (void)new TQApplication(argc, argv, TQApplication::Tty);
#  else
  (void)new TQCoreApplication(argc, argv);
#  endif
#else
  (void)new KApplication(gui, gui);
#endif
}

//---------------------------------------------------------------------------
Piklab::AboutData::AboutData(const char *executable, const char *name,
			     const char *description)
  : KAboutData(executable, name, VERSION, description, KAboutData::License_GPL,
               "(c) 2005-2007 Nicolas Hadacek\n(c) 2002-2005 Alain Gibaud\n(c) 2003-2004 Stephen Landamore\n(c) 2005 Lorenz Möenlechner and Matthias Kranz\n(c) 2001-2005 Craig Franklin",
               0, URLS[Homepage], URLS[BugReport])
{
  addAuthor("Nicolas Hadacek", I18N_NOOP("Author and maintainer."), "[email protected]");
  addAuthor("Alain Gibaud", I18N_NOOP("Original author of PiKdev."), "[email protected]");
  addAuthor("Stephen Landamore", I18N_NOOP("LPLAB author (original microchip programmer support)."), "[email protected]");
  addAuthor("Craig Franklin", I18N_NOOP("Author of gputils"), "[email protected]");
  addAuthor("Sébastien Laoût", I18N_NOOP("Author of likeback"), "[email protected]");

  addCredit("Brian C. Lane", I18N_NOOP("Original code for direct programming."), 0);
  addCredit("Manwlis \"Manos\" Giannos", I18N_NOOP("Direct programming for PIC18F devices."), "[email protected]");
  addCredit("Sean A. Walberg", I18N_NOOP("Direct programming for 16F676/630."), "[email protected]");
  addCredit("Mirko Panciri", I18N_NOOP("Support for direct programmers with bidirectionnal buffers."), "[email protected]");
  addCredit("Keith Baker", I18N_NOOP("Direct programming for 16F73/74/76/77."), "[email protected]" );
  addCredit("Lorenz Möenlechner and Matthias Kranz", I18N_NOOP("USB support for ICD2 programmer."), "[email protected]");
  addCredit("Xiaofan Chen", I18N_NOOP("Test of PICkit2 and ICD2 programmer."), "[email protected]");
  addCredit("Homer Reid", I18N_NOOP("Direct programming for dsPICs is inspired from his program \"dspicprg\"."), "[email protected]");
  addCredit("Frank Damgaard", I18N_NOOP("Direct programming for 24C EEPROM is inspired from his program \"prog84\"."), "[email protected]");
}