The hk_kdeclasses programmer's tutorial
Prev |  | Next

# Chapter 2. A graphical login

To get the all messages, warnings and dialogs away from the console to KDE use the function set_kdestandarddialogs() and include its header file hk_kdemessages.h.

Example 2-1. Getting the messages to KDE

       1 #include <kapp.h>
       2 #include <kaboutdata.h>
       3 #include <kcmdlineargs.h>
       4 #include <klocale.h>
       5 #include <qwidget.h>
       6 #include <hk_classes.h>
       7 #include <iostream>
       8 #include <hk_kdemessages.h>
       9
      10 static const char *description =
      11     I18N_NOOP("A hk_kdeclasses example Application");
      12
      13 static const char *version = "v0.1";
      14
      15
      16 int main(int argc, char **argv)
      17 {
      18     KAboutData about("hk_kdeexample", I18N_NOOP("hk_kdeexample"), version, description, KAboutData::License_GPL, "(C) 2001 Horst Knorr", 0, 0, "hk_classes@knorrnet.de");
      19     about.addAuthor( "Horst Knorr", 0, "hk_classes@knorrnet.de" );
      20     KCmdLineArgs::init(argc, argv, &about);
      21     KApplication app;
      22     QWidget* widget = new QWidget;
      23     app.setMainWidget(widget);
      24     set_kdestandarddialogs();
      25
      26     hk_drivermanager* mydrivermanager = new hk_drivermanager(false);
      27     if (mydrivermanager==NULL) {cout <<"error creating mydrivermanager"<<endl;exit(1);}
      28     hk_connection* myconnection = mydrivermanager->new_connection();
      29     if (myconnection==NULL) {cout <<"error creating myconnection"<<endl;exit(1);}
      30     myconnection->connect();
      31
      32     hk_database* mydatabase=myconnection->new_database("exampledb");
      33     if (mydatabase==NULL) {cout <<"error creating mydatabase"<<endl;exit(1);}
      34     hk_datasource* mydatasource= mydatabase->new_table("authors");
      35     if (mydatasource==NULL) {cout <<"error creating mydatasource"<<endl;exit(1);}
      36     mydatasource->enable();
      37
      38     widget->show();
      39
      40     int res= app.exec();
      41     delete mydrivermanager;
      42     return res;
      43 }
      44

Compile the program. Now you see a driver selection window followed by a login window. If you already have some experience with knoda you should recognize the dialogs.

Prev | Home | Next
Getting started |  | Adding data sensitive widgets