Home | History | Annotate | Line # | Download | only in wpa_gui-qt4
main.cpp revision 1.1
      1 /*
      2  * wpa_gui - Application startup
      3  * Copyright (c) 2005-2006, Jouni Malinen <j (at) w1.fi>
      4  *
      5  * This program is free software; you can redistribute it and/or modify
      6  * it under the terms of the GNU General Public License version 2 as
      7  * published by the Free Software Foundation.
      8  *
      9  * Alternatively, this software may be distributed under the terms of BSD
     10  * license.
     11  *
     12  * See README and COPYING for more details.
     13  */
     14 
     15 #ifdef CONFIG_NATIVE_WINDOWS
     16 #include <winsock.h>
     17 #endif /* CONFIG_NATIVE_WINDOWS */
     18 #include <QApplication>
     19 #include <QtCore/QLibraryInfo>
     20 #include <QtCore/QTranslator>
     21 #include "wpagui.h"
     22 
     23 
     24 class WpaGuiApp : public QApplication
     25 {
     26 public:
     27 	WpaGuiApp(int &argc, char **argv);
     28 
     29 #ifndef QT_NO_SESSIONMANAGER
     30 	virtual void saveState(QSessionManager &manager);
     31 #endif
     32 
     33 	WpaGui *w;
     34 };
     35 
     36 WpaGuiApp::WpaGuiApp(int &argc, char **argv) : QApplication(argc, argv)
     37 {
     38 }
     39 
     40 #ifndef QT_NO_SESSIONMANAGER
     41 void WpaGuiApp::saveState(QSessionManager &manager)
     42 {
     43 	QApplication::saveState(manager);
     44 	w->saveState();
     45 }
     46 #endif
     47 
     48 
     49 int main(int argc, char *argv[])
     50 {
     51 	WpaGuiApp app(argc, argv);
     52 	QTranslator translator;
     53 	QString locale;
     54 	QString resourceDir;
     55 	int ret;
     56 
     57 	locale = QLocale::system().name();
     58 	resourceDir = QLibraryInfo::location(QLibraryInfo::TranslationsPath);
     59 	if (!translator.load("wpa_gui_" + locale, resourceDir))
     60 		translator.load("wpa_gui_" + locale, "lang");
     61 	app.installTranslator(&translator);
     62 
     63 	WpaGui w(&app);
     64 
     65 #ifdef CONFIG_NATIVE_WINDOWS
     66 	WSADATA wsaData;
     67 	if (WSAStartup(MAKEWORD(2, 0), &wsaData)) {
     68 		/* printf("Could not find a usable WinSock.dll\n"); */
     69 		return -1;
     70 	}
     71 #endif /* CONFIG_NATIVE_WINDOWS */
     72 
     73 	app.w = &w;
     74 
     75 	ret = app.exec();
     76 
     77 #ifdef CONFIG_NATIVE_WINDOWS
     78 	WSACleanup();
     79 #endif /* CONFIG_NATIVE_WINDOWS */
     80 
     81 	return ret;
     82 }
     83