Chapter 2. A graphical login
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

    #define HAVE_SSTREAM 1
    #include <kapp.h>
    #include <kaboutdata.h>
    #include <kcmdlineargs.h>
    #include <klocale.h>
    #include <qwidget.h>
    #include <hk_classes.h>
    #include <iostream>
    #include <hk_kdemessages.h>

    static const char *description =
        I18N_NOOP("A hk_kdeclasses example Application");

    static const char *version = "v0.1";

    int main(int argc, char **argv)
    {
        KAboutData about("hk_kdeexample", I18N_NOOP("hk_kdeexample"), version, description, KAboutData::License_GPL, "(C) 2001 Horst Knorr", 0, 0, "hk_classes@knoda.org");
        about.addAuthor( "Horst Knorr", 0, "hk_classes@knoda.org" );
        KCmdLineArgs::init(argc, argv, &about);
        KApplication app;
        QWidget* widget = new QWidget;
        app.setMainWidget(widget);
        set_kdestandarddialogs();

        hk_drivermanager* mydrivermanager = new hk_drivermanager(false);
        if (mydrivermanager==NULL) {cout <<"error creating mydrivermanager"<<endl;exit(1);}
        hk_connection* myconnection = mydrivermanager->new_connection();
        if (myconnection==NULL) {cout <<"error creating myconnection"<<endl;exit(1);}
        myconnection->connect();

        hk_database* mydatabase=myconnection->new_database("exampledb");
        if (mydatabase==NULL) {cout <<"error creating mydatabase"<<endl;exit(1);}
        hk_datasource* mydatasource= mydatabase->new_table("authors");
        if (mydatasource==NULL) {cout <<"error creating mydatasource"<<endl;exit(1);}
        mydatasource->enable();

        widget->show();

        int res= app.exec();
        delete mydrivermanager;
        return res;
    }

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 |  | Next
Chapter 1. Getting started | Home | Chapter 3. Adding data sensitive widgets