1813c997b7663aaad296f6f221d2395b3fee4b422Jack Jansen/* 2813c997b7663aaad296f6f221d2395b3fee4b422Jack Jansen * wpa_gui - Application startup 3813c997b7663aaad296f6f221d2395b3fee4b422Jack Jansen * Copyright (c) 2005-2006, Jouni Malinen <j@w1.fi> 4813c997b7663aaad296f6f221d2395b3fee4b422Jack Jansen * 5813c997b7663aaad296f6f221d2395b3fee4b422Jack Jansen * This software may be distributed under the terms of the BSD license. 6813c997b7663aaad296f6f221d2395b3fee4b422Jack Jansen * See README for more details. 7813c997b7663aaad296f6f221d2395b3fee4b422Jack Jansen */ 85a6fdcd3718927109592c6df692fe24a8fdaee31Jack Jansen 9cc94764c67f6fbb73caecec5afabef7327b15ac7Jack Jansen#ifdef CONFIG_NATIVE_WINDOWS 10cc94764c67f6fbb73caecec5afabef7327b15ac7Jack Jansen#include <winsock.h> 11813c997b7663aaad296f6f221d2395b3fee4b422Jack Jansen#endif /* CONFIG_NATIVE_WINDOWS */ 12813c997b7663aaad296f6f221d2395b3fee4b422Jack Jansen#include <QApplication> 13b2e33fe285a1f998f477202e9379a39488ea518bJack Jansen#include <QtCore/QLibraryInfo> 14813c997b7663aaad296f6f221d2395b3fee4b422Jack Jansen#include <QtCore/QTranslator> 15b2e33fe285a1f998f477202e9379a39488ea518bJack Jansen#include "wpagui.h" 16813c997b7663aaad296f6f221d2395b3fee4b422Jack Jansen 17791d56f1f71a9cc02993063ea1545d7ae8822bf2Brett CannonWpaGuiApp::WpaGuiApp(int &argc, char **argv) : 18791d56f1f71a9cc02993063ea1545d7ae8822bf2Brett Cannon QApplication(argc, argv), 19791d56f1f71a9cc02993063ea1545d7ae8822bf2Brett Cannon argc(argc), 20813c997b7663aaad296f6f221d2395b3fee4b422Jack Jansen argv(argv) 21813c997b7663aaad296f6f221d2395b3fee4b422Jack Jansen{ 22813c997b7663aaad296f6f221d2395b3fee4b422Jack Jansen w = NULL; 23813c997b7663aaad296f6f221d2395b3fee4b422Jack Jansen} 24813c997b7663aaad296f6f221d2395b3fee4b422Jack Jansen 25813c997b7663aaad296f6f221d2395b3fee4b422Jack Jansen#if !defined(QT_NO_SESSIONMANAGER) && QT_VERSION < 0x050000 26813c997b7663aaad296f6f221d2395b3fee4b422Jack Jansenvoid WpaGuiApp::saveState(QSessionManager &manager) 273b8052685c87e6564a3a4c37954ac2d96fcd6478Jack Jansen{ 28813c997b7663aaad296f6f221d2395b3fee4b422Jack Jansen QApplication::saveState(manager); 29813c997b7663aaad296f6f221d2395b3fee4b422Jack Jansen w->saveState(); 30813c997b7663aaad296f6f221d2395b3fee4b422Jack Jansen} 31813c997b7663aaad296f6f221d2395b3fee4b422Jack Jansen#endif 32813c997b7663aaad296f6f221d2395b3fee4b422Jack Jansen 33813c997b7663aaad296f6f221d2395b3fee4b422Jack Jansen 3481da9f146c2223bc486197c2df03feda5126dcd5Jack Jansenint main(int argc, char *argv[]) 35813c997b7663aaad296f6f221d2395b3fee4b422Jack Jansen{ 36813c997b7663aaad296f6f221d2395b3fee4b422Jack Jansen WpaGuiApp app(argc, argv); 3781da9f146c2223bc486197c2df03feda5126dcd5Jack Jansen QTranslator translator; 3881da9f146c2223bc486197c2df03feda5126dcd5Jack Jansen QString locale; 3981da9f146c2223bc486197c2df03feda5126dcd5Jack Jansen QString resourceDir; 40813c997b7663aaad296f6f221d2395b3fee4b422Jack Jansen int ret; 41813c997b7663aaad296f6f221d2395b3fee4b422Jack Jansen 42813c997b7663aaad296f6f221d2395b3fee4b422Jack Jansen locale = QLocale::system().name(); 43813c997b7663aaad296f6f221d2395b3fee4b422Jack Jansen resourceDir = QLibraryInfo::location(QLibraryInfo::TranslationsPath); 44cc94764c67f6fbb73caecec5afabef7327b15ac7Jack Jansen if (!translator.load("wpa_gui_" + locale, resourceDir)) 45cc94764c67f6fbb73caecec5afabef7327b15ac7Jack Jansen translator.load("wpa_gui_" + locale, "lang"); 46813c997b7663aaad296f6f221d2395b3fee4b422Jack Jansen app.installTranslator(&translator); 47a4f8e580588b7ebd5fde61debab3fdb72f37cdecJack Jansen 480ae3220736f9b71820b01aee1f540d0afcceb9a6Jack Jansen WpaGui w(&app); 490ae3220736f9b71820b01aee1f540d0afcceb9a6Jack Jansen 500ae3220736f9b71820b01aee1f540d0afcceb9a6Jack Jansen#ifdef CONFIG_NATIVE_WINDOWS 510ae3220736f9b71820b01aee1f540d0afcceb9a6Jack Jansen WSADATA wsaData; 520ae3220736f9b71820b01aee1f540d0afcceb9a6Jack Jansen if (WSAStartup(MAKEWORD(2, 0), &wsaData)) { 530ae3220736f9b71820b01aee1f540d0afcceb9a6Jack Jansen /* printf("Could not find a usable WinSock.dll\n"); */ 540ae3220736f9b71820b01aee1f540d0afcceb9a6Jack Jansen return -1; 550ae3220736f9b71820b01aee1f540d0afcceb9a6Jack Jansen } 560ae3220736f9b71820b01aee1f540d0afcceb9a6Jack Jansen#endif /* CONFIG_NATIVE_WINDOWS */ 570ae3220736f9b71820b01aee1f540d0afcceb9a6Jack Jansen 580ae3220736f9b71820b01aee1f540d0afcceb9a6Jack Jansen app.w = &w; 590ae3220736f9b71820b01aee1f540d0afcceb9a6Jack Jansen 600ae3220736f9b71820b01aee1f540d0afcceb9a6Jack Jansen ret = app.exec(); 6170a6b49821a3226f55e9716f32d802d06640cb89Walter Dörwald 620ae3220736f9b71820b01aee1f540d0afcceb9a6Jack Jansen#ifdef CONFIG_NATIVE_WINDOWS 630ae3220736f9b71820b01aee1f540d0afcceb9a6Jack Jansen WSACleanup(); 64182b5aca27d376b08a2904bed42b751496f932f3Tim Peters#endif /* CONFIG_NATIVE_WINDOWS */ 65182b5aca27d376b08a2904bed42b751496f932f3Tim Peters 66c77f6dfd923e469cd645a0f825509cf0e9c490a0Jack Jansen return ret; 67182b5aca27d376b08a2904bed42b751496f932f3Tim Peters} 680ae3220736f9b71820b01aee1f540d0afcceb9a6Jack Jansen