mirror of
https://github.com/Stichting-MINIX-Research-Foundation/netbsd.git
synced 2025-09-12 08:36:05 -04:00
75 lines
2.0 KiB
C++
75 lines
2.0 KiB
C++
// Example for use of GNU gettext.
|
|
// Copyright (C) 2003 Free Software Foundation, Inc.
|
|
// This file is in the public domain.
|
|
|
|
// Source code of the C++ program.
|
|
|
|
#include <qapplication.h>
|
|
#include <qmainwindow.h>
|
|
#include <qlabel.h>
|
|
#include <qpushbutton.h>
|
|
#include <qstring.h>
|
|
#include <qvbox.h>
|
|
#include <qhbox.h>
|
|
#include <qtextcodec.h>
|
|
|
|
/* Get getpid() declaration. */
|
|
#if HAVE_UNISTD_H
|
|
# include <unistd.h>
|
|
#endif
|
|
|
|
int
|
|
main (int argc, char *argv[])
|
|
{
|
|
// Initializations.
|
|
|
|
QApplication application (argc, argv);
|
|
#if 0
|
|
GettextTranslator *translator =
|
|
new GettextTranslator (&application, "hello-c++-qt", LOCALEDIR);
|
|
#else
|
|
QTranslator *translator = new QTranslator (NULL);
|
|
translator->load (QString ("hello-c++-qt") + "_" + QTextCodec::locale(),
|
|
PKGLOCALEDIR);
|
|
#endif
|
|
application.installTranslator (translator);
|
|
#define _(string) application.translate ("", string)
|
|
|
|
// Create the GUI elements.
|
|
|
|
QMainWindow *window = new QMainWindow ();
|
|
window->setCaption ("Hello example");
|
|
|
|
QVBox *panel = new QVBox (window);
|
|
panel->setSpacing (2);
|
|
|
|
QLabel *label1 = new QLabel (_("Hello, world!"), panel);
|
|
|
|
QString label2text;
|
|
// NOT using QString::sprintf because it doesn't support reordering of
|
|
// arguments.
|
|
//label2text.sprintf (_("This program is running as process number %d"),
|
|
// getpid ());
|
|
label2text = _("This program is running as process number %1.").arg(getpid ());
|
|
QLabel *label2 = new QLabel (label2text, panel);
|
|
|
|
QHBox *buttonbar = new QHBox (panel);
|
|
QWidget *filler = new QWidget (buttonbar); // makes the button right-aligned
|
|
QPushButton *button = new QPushButton ("OK", buttonbar);
|
|
button->setMaximumWidth (button->sizeHint().width() + 20);
|
|
QObject::connect (button, SIGNAL (clicked ()), &application, SLOT (quit ()));
|
|
|
|
panel->resize (panel->sizeHint ());
|
|
window->resize (panel->frameSize ());
|
|
|
|
application.setMainWidget (window);
|
|
|
|
// Make the GUI elements visible.
|
|
|
|
window->show ();
|
|
|
|
// Start the event loop.
|
|
|
|
return application.exec ();
|
|
}
|