P2P: wpa_qui-qt4: Add P2P functionality into the GUI

This commit is contained in:
Jouni Malinen 2010-07-18 14:30:26 -07:00 committed by Jouni Malinen
parent 4f338bea79
commit df91238b54
9 changed files with 2003 additions and 8 deletions

View File

@ -3,5 +3,7 @@
<file alias="wpa_gui.svg">icons/wpa_gui.svg</file>
<file alias="ap.svg">icons/ap.svg</file>
<file alias="laptop.svg">icons/laptop.svg</file>
<file alias="group.svg">icons/group.svg</file>
<file alias="invitation.svg">icons/invitation.svg</file>
</qresource>
</RCC>

View File

@ -1,6 +1,6 @@
#!/usr/bin/make -f
NAMES := wpa_gui ap laptop
NAMES := wpa_gui ap laptop group invitation
SIZES := 16x16 22x22 32x32 48x48 64x64 128x128
ICONS := $(addsuffix .png, $(foreach name, $(NAMES), $(foreach size, $(SIZES), $(size)/$(name))))
ICONS += $(addsuffix .xpm, $(NAMES))

View File

@ -37,3 +37,38 @@ by: metalmarious
last change: May 18, 2008 07:04 pm (File added)
date: August 27, 2007 04:44 am
license: PD
group.svg
---------
http://www.openclipart.org/detail/25428
http://www.openclipart.org/people/Anonymous/Anonymous_Network.svg
Uploader:
Anonymous
Drawn by:
Andrew Fitzsimon / Anonymous
Created:
2009-04-29 04:07:37
Description:
A network icon by Andrew Fitzsimon. Etiquette Icon set.
From 0.18 OCAL database.
Public Domain
invitation.svg
--------------
http://www.openclipart.org/detail/974
http://www.openclipart.org/people/jean_victor_balin/jean_victor_balin_unknown_green.svg
Uploader:
jean_victor_balin
Drawn by:
jean_victor_balin
Created:
2006-10-27 02:12:13
Description:
Public Domain

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 48 KiB

View File

@ -0,0 +1,374 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://web.resource.org/cc/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="64.000000px"
height="64.000000px"
id="svg2"
sodipodi:version="0.32"
inkscape:version="0.42"
sodipodi:docbase="G:\Projs\Cliparts Stocker\released"
sodipodi:docname="unknown_green.svg"
inkscape:export-filename="/datas/wiki/unknown_green.png"
inkscape:export-xdpi="90.000000"
inkscape:export-ydpi="90.000000">
<defs
id="defs4">
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient2842"
id="linearGradient1363"
x1="25.403513"
y1="19.175573"
x2="35.541985"
y2="49.068703"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(-2.402975,4.759656e-3)" />
<linearGradient
id="linearGradient2900">
<stop
id="stop2902"
offset="0.0000000"
style="stop-color:#ffffff;stop-opacity:1.0000000;" />
<stop
id="stop2904"
offset="1.0000000"
style="stop-color:#ffffff;stop-opacity:1.0000000;" />
</linearGradient>
<linearGradient
id="linearGradient2842">
<stop
style="stop-color:#ffffff;stop-opacity:1.0000000;"
offset="0.0000000"
id="stop2844" />
<stop
style="stop-color:#c8c8c8;stop-opacity:1.0000000;"
offset="1.0000000"
id="stop2846" />
</linearGradient>
<linearGradient
id="linearGradient2814">
<stop
id="stop2816"
offset="0.0000000"
style="stop-color:#e6e6e6;stop-opacity:1.0000000;" />
<stop
id="stop2818"
offset="1.0000000"
style="stop-color:#11661d;stop-opacity:0.0000000;" />
</linearGradient>
<linearGradient
id="linearGradient2171">
<stop
style="stop-color:#ffffff;stop-opacity:1.0000000;"
offset="0.0000000"
id="stop2173" />
<stop
style="stop-color:#a3a5ee;stop-opacity:0.0000000;"
offset="1.0000000"
id="stop2175" />
</linearGradient>
<linearGradient
id="linearGradient2160">
<stop
id="stop2162"
offset="0.0000000"
style="stop-color:#d3cece;stop-opacity:1.0000000;" />
<stop
id="stop2164"
offset="1.0000000"
style="stop-color:#474240;stop-opacity:1.0000000;" />
</linearGradient>
<linearGradient
id="linearGradient1367">
<stop
id="stop1369"
offset="0.0000000"
style="stop-color:#f67e36;stop-opacity:1.0000000;" />
<stop
id="stop1371"
offset="1.0000000"
style="stop-color:#602604;stop-opacity:1.0000000;" />
</linearGradient>
<linearGradient
id="linearGradient1347">
<stop
style="stop-color:#f0da27;stop-opacity:1.0000000;"
offset="0.0000000"
id="stop1349" />
<stop
style="stop-color:#bf4d09;stop-opacity:1.0000000;"
offset="1.0000000"
id="stop1351" />
</linearGradient>
<linearGradient
id="linearGradient1315">
<stop
style="stop-color:#97ff82;stop-opacity:1.0000000;"
offset="0.0000000"
id="stop1317" />
<stop
style="stop-color:#ceff24;stop-opacity:0.0000000;"
offset="1.0000000"
id="stop1319" />
</linearGradient>
<linearGradient
id="linearGradient2122">
<stop
style="stop-color:#2edc32;stop-opacity:1.0000000;"
offset="0.0000000"
id="stop2124" />
<stop
style="stop-color:#11661d;stop-opacity:1.0000000;"
offset="1.0000000"
id="stop2126" />
</linearGradient>
<linearGradient
id="linearGradient1364">
<stop
style="stop-color:#236b0d;stop-opacity:1.0000000;"
offset="0.00000000"
id="stop1366" />
<stop
style="stop-color:#0a2205;stop-opacity:1.0000000;"
offset="1.0000000"
id="stop1368" />
</linearGradient>
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient1367"
id="radialGradient1402"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.211118e-16,1.330643,-1.347411,2.027373e-5,44.09678,-13.39507)"
cx="21.959658"
cy="14.921703"
fx="21.959658"
fy="14.921703"
r="27.500000" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient2122"
id="radialGradient1404"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.211118e-16,1.330643,-1.347411,2.027373e-5,44.09678,-13.39507)"
cx="21.959658"
cy="14.921703"
fx="21.959658"
fy="14.921703"
r="27.500000" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient1364"
id="linearGradient1419"
gradientUnits="userSpaceOnUse"
x1="74.910713"
y1="32.362179"
x2="84.910713"
y2="47.451466" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient2122"
id="linearGradient1421"
gradientUnits="userSpaceOnUse"
x1="73.839287"
y1="34.428566"
x2="76.875000"
y2="43.714283" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient1315"
id="linearGradient1423"
gradientUnits="userSpaceOnUse"
x1="72.946426"
y1="35.589287"
x2="85.000000"
y2="47.375000" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient2171"
id="linearGradient2177"
x1="24.916031"
y1="28.824427"
x2="39.816792"
y2="49.099239"
gradientUnits="userSpaceOnUse" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient2122"
id="radialGradient2184"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(9.909149e-17,1.088708,-1.102427,1.658760e-5,41.48828,-4.732338)"
cx="21.959658"
cy="14.921703"
fx="21.959658"
fy="14.921703"
r="27.500000" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient1364"
id="linearGradient2189"
x1="10.018247"
y1="8.6306763"
x2="63.487556"
y2="63.660282"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient2171"
id="linearGradient1339"
gradientUnits="userSpaceOnUse"
x1="24.916031"
y1="28.824427"
x2="39.816792"
y2="49.099239" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient2122"
id="radialGradient1343"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(2.521415e-2,1.026125,-0.978137,2.404729e-2,38.83024,-3.575704)"
cx="24.764277"
cy="16.361967"
fx="24.764277"
fy="16.361967"
r="27.500000" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient1364"
id="linearGradient1346"
gradientUnits="userSpaceOnUse"
x1="10.018247"
y1="8.6306763"
x2="63.487556"
y2="63.660282" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient2814"
id="radialGradient2812"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.142398e-2,1.098850,-1.843995,1.878760e-2,52.15051,-5.667446)"
cx="18.387238"
cy="14.046815"
fx="18.387238"
fy="14.046815"
r="27.500000" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient1364"
id="linearGradient2832"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(-2.841000e-3,-2.841000e-3)"
x1="10.018247"
y1="8.6306763"
x2="63.487556"
y2="63.660282" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient2842"
id="linearGradient2848"
x1="-0.56685609"
y1="22.651009"
x2="-0.33713850"
y2="23.858734"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient2842"
id="linearGradient2864"
gradientUnits="userSpaceOnUse"
x1="-0.82287467"
y1="22.444542"
x2="-0.33713850"
y2="23.858734" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="8.2031250"
inkscape:cx="32.000000"
inkscape:cy="32.000000"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:grid-bbox="true"
inkscape:grid-points="true"
inkscape:window-width="1156"
inkscape:window-height="693"
inkscape:window-x="0"
inkscape:window-y="25"
showguides="false" />
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title>Green Unknown</dc:title>
<dc:date>2005-11-01</dc:date>
<dc:creator>
<cc:Agent>
<dc:title>Jean-Victor Balin</dc:title>
</cc:Agent>
</dc:creator>
<dc:description>jean.victor.balin@gmail.com</dc:description>
<cc:license
rdf:resource="http://web.resource.org/cc/PublicDomain" />
<dc:subject>
<rdf:Bag>
<rdf:li>icon</rdf:li>
</rdf:Bag>
</dc:subject>
</cc:Work>
<cc:License
rdf:about="http://web.resource.org/cc/PublicDomain">
<cc:permits
rdf:resource="http://web.resource.org/cc/Reproduction" />
<cc:permits
rdf:resource="http://web.resource.org/cc/Distribution" />
<cc:permits
rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
</cc:License>
</rdf:RDF>
</metadata>
<g
inkscape:label="Calque 1"
inkscape:groupmode="layer"
id="layer1">
<g
id="g1354">
<path
id="path1373"
d="M 32.000000,8.6306766 C 19.113097,8.6306766 8.6306766,19.113097 8.6306766,32.000000 C 8.6306766,44.886903 19.113097,55.369323 32.000000,55.369323 C 44.886903,55.369323 55.369323,44.886903 55.369323,32.000000 C 55.369323,19.113097 44.886903,8.6306766 32.000000,8.6306766 z "
style="fill:url(#linearGradient1346);fill-opacity:1.0000000;stroke:none;stroke-width:2.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000" />
<path
id="path1339"
d="M 54.500005,32.000000 C 54.500005,44.420003 44.420003,54.500005 32.000000,54.500005 C 19.579997,54.500005 9.4999950,44.420003 9.4999950,32.000000 C 9.4999950,19.579997 19.579997,9.4999950 32.000000,9.4999950 C 44.420003,9.4999950 54.500005,19.579997 54.500005,32.000000 z "
style="fill:url(#radialGradient1343);fill-opacity:1.0000000;stroke:none;stroke-width:2.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000" />
<path
id="path1341"
d="M 32.016991,9.1562500 C 22.574792,9.1562500 14.505423,14.865048 11.062500,22.968750 C 16.006322,25.801817 21.393258,27.855853 27.181339,27.593750 C 32.755311,27.279922 37.553510,23.530916 43.236968,23.812500 C 47.451058,23.716455 52.244330,25.294372 54.488550,29.000000 C 53.142630,17.846718 43.657640,9.1562500 32.016991,9.1562500 z "
style="fill:url(#radialGradient2812);fill-opacity:1.0000000;stroke:none;stroke-width:2.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000" />
<path
id="path2827"
d="M 32.000000,8.6250000 C 19.113098,8.6250000 8.6250000,19.113097 8.6250000,32.000000 C 8.6250000,44.886904 19.113097,55.375000 32.000000,55.375000 C 44.886904,55.375000 55.375000,44.886903 55.375000,32.000000 C 55.375000,19.113098 44.886903,8.6250000 32.000000,8.6250000 z M 32.000000,9.5000000 C 44.420004,9.4999998 54.500000,19.579997 54.500000,32.000000 C 54.499998,44.420004 44.420003,54.500000 32.000000,54.500000 C 19.579998,54.499998 9.5000000,44.420003 9.5000000,32.000000 C 9.5000000,19.579998 19.579997,9.5000000 32.000000,9.5000000 z "
style="fill:url(#linearGradient2832);fill-opacity:1.0000000;stroke:none;stroke-width:2.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000" />
<path
id="text1353"
d="M 32.556888,39.006317 C 32.692760,35.835967 33.100380,35.066018 35.908404,32.892064 C 39.395790,30.219911 39.803410,29.902873 40.120445,29.631129 C 41.705621,28.272407 42.611437,26.189029 42.611437,24.015074 C 42.611437,19.078386 38.625844,15.953318 32.285143,15.953318 C 26.306768,15.953318 22.094721,18.851931 22.094721,23.018677 C 22.094721,25.464376 23.906354,27.230718 26.397344,27.230718 C 28.707171,27.230718 30.292350,25.736121 30.292350,23.607457 C 30.292350,22.384608 29.794150,21.388209 28.843045,20.663558 C 28.027812,20.029488 27.982521,19.984196 27.982521,19.667161 C 27.982521,19.033091 28.978919,18.534892 30.382931,18.534892 C 33.100374,18.534892 34.640263,20.346525 34.640263,23.516876 C 34.640263,25.373795 33.960900,27.683628 32.828632,29.721710 C 30.337643,34.160201 29.975314,35.066023 29.975314,37.104105 C 29.975314,37.557012 30.020605,38.281665 30.111187,39.006317 L 32.556888,39.006317 M 31.424619,41.497309 C 29.069501,41.497309 27.167287,43.399523 27.167287,45.754641 C 27.167287,48.064467 29.069501,50.011973 31.379328,50.011973 C 33.779736,50.011973 35.681951,48.109758 35.681951,45.754641 C 35.681951,43.399523 33.779736,41.497309 31.424619,41.497309"
style="font-size:45.290764px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125.00000%;writing-mode:lr-tb;text-anchor:start;fill:url(#linearGradient1363);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;font-family:Century Schoolbook L" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 14 KiB

View File

@ -3,5 +3,7 @@
<file alias="wpa_gui.png">icons/hicolor/16x16/apps/wpa_gui.png</file>
<file alias="ap.png">icons/hicolor/32x32/apps/ap.png</file>
<file alias="laptop.png">icons/hicolor/32x32/apps/laptop.png</file>
<file alias="group.png">icons/hicolor/32x32/apps/group.png</file>
<file alias="invitation.png">icons/hicolor/32x32/apps/invitation.png</file>
</qresource>
</RCC>

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
/*
* wpa_gui - Peers class
* Copyright (c) 2009, Atheros Communications
* Copyright (c) 2009-2010, Atheros Communications
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
@ -39,7 +39,24 @@ public slots:
virtual void connect_pbc();
virtual void learn_ap_config();
virtual void ctx_refresh();
virtual void ctx_p2p_start();
virtual void ctx_p2p_stop();
virtual void ctx_p2p_listen();
virtual void ctx_p2p_start_group();
virtual void ctx_p2p_remove_group();
virtual void ctx_p2p_connect();
virtual void ctx_p2p_req_pin();
virtual void ctx_p2p_show_pin();
virtual void ctx_p2p_display_pin();
virtual void ctx_p2p_display_pin_pd();
virtual void ctx_p2p_enter_pin();
virtual void properties();
virtual void ctx_hide_ap();
virtual void ctx_show_ap();
virtual void ctx_p2p_show_passphrase();
virtual void ctx_p2p_start_persistent();
virtual void ctx_p2p_invite();
virtual void ctx_p2p_delete();
protected slots:
virtual void languageChange();
@ -52,19 +69,28 @@ private:
bool add_bss(const char *cmd);
void remove_bss(int id);
void add_scan_results();
void add_persistent(int id, const char *ssid, const char *bssid);
void add_persistent_groups();
void update_peers();
QStandardItem * find_addr(QString addr);
QStandardItem * find_addr_type(QString addr, int type);
void add_p2p_group_client(QStandardItem *parent, QString params);
QStandardItem * find_uuid(QString uuid);
void done(int r);
void remove_enrollee_uuid(QString uuid);
QString ItemType(int type);
void enable_persistent(int id);
WpaGui *wpagui;
QStandardItemModel model;
QIcon *default_icon;
QIcon *ap_icon;
QIcon *laptop_icon;
QIcon *group_icon;
QIcon *invitation_icon;
QStandardItem *ctx_item;
bool hide_ap;
};
#endif /* PEERS_H */

View File

@ -659,6 +659,13 @@ void WpaGui::updateNetworks()
break;
*flags++ = '\0';
if (strstr(flags, "[DISABLED][P2P-PERSISTENT]")) {
if (last)
break;
start = end + 1;
continue;
}
QString network(id);
network.append(": ");
network.append(ssid);