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 #if HAVE_CONFIG_H 6 # include <config.h> 7 #endif 8 9 /* Specification. */ 10 #include "hellowindow.h" 11 12 /* Declare i18n. */ 13 #include <klocale.h> 14 /* Declare KMainWindow. */ 15 #include <kmainwindow.h> 16 /* Declare QLabel. */ 17 #include <qlabel.h> 18 /* Declare QPushButton. */ 19 #include <qpushbutton.h> 20 /* Declare QString. */ 21 #include <qstring.h> 22 /* Declare QVBox. */ 23 #include <qvbox.h> 24 /* Declare QHBox. */ 25 #include <qhbox.h> 26 27 /* Get getpid() declaration. */ 28 #if HAVE_UNISTD_H 29 # include <unistd.h> 30 #endif 31 32 // The main window widget. 33 HelloMainWindow(QWidget * parent,const char * name)34HelloMainWindow::HelloMainWindow (QWidget * parent, const char * name) 35 : KMainWindow (parent, name) 36 { 37 setCaption ("Hello example"); 38 39 QVBox *panel = new QVBox (this); 40 panel->setSpacing (2); 41 42 QLabel *label1 = new QLabel (i18n ("Hello, world!"), panel); 43 44 QString label2text; 45 // NOT using QString::sprintf because it doesn't support reordering of 46 // arguments. 47 //label2text.sprintf (i18n ("This program is running as process number %d"), 48 // getpid ()); 49 label2text = i18n ("This program is running as process number %1.").arg(getpid ()); 50 QLabel *label2 = new QLabel (label2text, panel); 51 52 QHBox *buttonbar = new QHBox (panel); 53 QWidget *filler = new QWidget (buttonbar); // makes the button right-aligned 54 button = new QPushButton ("OK", buttonbar); 55 button->setMaximumWidth (button->sizeHint().width() + 20); 56 57 panel->resize (panel->sizeHint ()); 58 resize (panel->frameSize ()); 59 } 60 ~HelloMainWindow()61HelloMainWindow::~HelloMainWindow () 62 { 63 } 64