Imported Upstream version 0.19.7
[platform/upstream/gettext.git] / gettext-tools / examples / hello-c++-kde / hello.cc
1 // Example for use of GNU gettext.
2 // Copyright (C) 2003, 2015 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
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 }