1 // Example for use of GNU gettext.
2 // Copyright (C) 2003 Free Software Foundation, Inc.
3 // This file is published under the GNU General Public License.
4
5 // Source code of the C++ program.
6
7 #if HAVE_CONFIG_H
8 # include <config.h>
9 #endif
10
11 #include <stdlib.h>
12 /* Declare KCmdLineArgs, KCmdLineOptions. */
13 #include <kcmdlineargs.h>
14 /* Declare KApplication. */
15 #include <kapplication.h>
16 /* Declare KAboutData. */
17 #include <kaboutdata.h>
18 /* Declare main window widget. */
19 #include "hellowindow.h"
20
21 // Comment line options.
22
23 static KCmdLineOptions options[] =
24 {
25 { 0, 0, 0 } // End of options.
26 };
27
28 int
main(int argc,char * argv[])29 main (int argc, char *argv[])
30 {
31 // Initializations.
32
33 {
34 // Add our installation directory to KDE's search list for message
35 // catalogs. By default it looks only in $KDEHOME/share/locale and
36 // $KDEDIR/share/locale.
37 QString kdedirs = getenv ("KDEDIRS");
38 if (kdedirs.isEmpty ())
39 kdedirs = PREFIX;
40 else
41 kdedirs = kdedirs + ":" + PREFIX;
42 setenv ("KDEDIRS", (const char *) kdedirs.local8Bit(), true);
43 }
44
45 KAboutData aboutData ("hello-c++-kde",
46 I18N_NOOP ("Hello example"),
47 VERSION,
48 I18N_NOOP ("Hello world example"),
49 KAboutData::License_GPL,
50 "(C) 2003 Free Software Foundation",
51 NULL,
52 NULL,
53 "bug-gnu-gettext@gnu.org");
54 KCmdLineArgs::init (argc, argv, &aboutData);
55 KCmdLineArgs::addCmdLineOptions (options);
56 KApplication application;
57
58 // Create the GUI elements.
59
60 HelloMainWindow *window = new HelloMainWindow ();
61 QObject::connect (window->button, SIGNAL (clicked ()),
62 &application, SLOT (quit ()));
63
64 application.setMainWidget (window);
65
66 // Make the GUI elements visible.
67
68 window->show ();
69
70 // Start the event loop.
71
72 return application.exec ();
73 }
74