[pkg-wpa-devel] r1251 - in /wpasupplicant/trunk/debian: ./ patches/

kelmo-guest at users.alioth.debian.org kelmo-guest at users.alioth.debian.org
Wed Sep 24 16:53:22 UTC 2008


Author: kelmo-guest
Date: Wed Sep 24 16:53:22 2008
New Revision: 1251

URL: http://svn.debian.org/wsvn/pkg-wpa/?sc=1&rev=1251
Log:
* Target at experimental due to current archive conditions with respect to
  stable release freeze.
* Add a series of patches to enhance wpa_gui-qt4:
   - 10_wpa_gui_icons.patch
   - 11_desktop_entry.patch
   - 12_wpa_gui_icons_resource.patch
   - 13_remove_qPixmapFromMimeSource_ref.patch
   - 14_qsystemtray_icon.patch
   - 15_tray_status_state.patch
   - 16_wpa_gui_icon_touchup.patch
* Add patch which will be required long term, due to our installing of
  wpa_gui to /usr/sbin/ we must supply full path to executable in desktop
  meny entry file:
   - 20_wpa_gui_menu_exec_path.patch
* Install icon and menu entry for wpa_gui. [debian/rules] (Closes: #498923)

Added:
    wpasupplicant/trunk/debian/patches/10_wpa_gui_icons.patch
    wpasupplicant/trunk/debian/patches/11_desktop_entry.patch
    wpasupplicant/trunk/debian/patches/12_wpa_gui_icons_resource.patch
    wpasupplicant/trunk/debian/patches/13_remove_qPixmapFromMimeSource_ref.patch
    wpasupplicant/trunk/debian/patches/14_qsystemtray_icon.patch
    wpasupplicant/trunk/debian/patches/15_tray_status_state.patch
    wpasupplicant/trunk/debian/patches/16_wpa_gui_icon_touchup.patch
    wpasupplicant/trunk/debian/patches/20_wpa_gui_menu_exec_path.patch
Modified:
    wpasupplicant/trunk/debian/changelog
    wpasupplicant/trunk/debian/patches/series
    wpasupplicant/trunk/debian/rules

Modified: wpasupplicant/trunk/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-wpa/wpasupplicant/trunk/debian/changelog?rev=1251&op=diff
==============================================================================
--- wpasupplicant/trunk/debian/changelog (original)
+++ wpasupplicant/trunk/debian/changelog Wed Sep 24 16:53:22 2008
@@ -1,6 +1,8 @@
-wpasupplicant (0.6.4-3) unstable; urgency=low
+wpasupplicant (0.6.4-3) experimental; urgency=low
 
   * DO NOT RELEASE.
+  * Target at experimental due to current archive conditions with respect to
+    stable release freeze.
   * Install /etc/wpa_supplicant/action_wpa.sh to enhance wpa-roam integration
     with pm-utils and ifplugd.
   * wpa_gui need not depend stricly upon the same binary version of
@@ -9,10 +11,21 @@
     knowledge is (>= 0.6.2-1). [debian/control]
   * Cleanup short description of wpasupplicant, and improve short description
     of wpagui. [debian/control]
-  * Move wpa_gui to /usr/bin/, in preparation for the possibility of starting
-    the interface as user. [debian/rules]
-
- -- Kel Modderman <kel at otaku42.de>  Tue, 23 Sep 2008 09:52:27 +1000
+  * Add a series of patches to enhance wpa_gui-qt4:
+     - 10_wpa_gui_icons.patch
+     - 11_desktop_entry.patch
+     - 12_wpa_gui_icons_resource.patch
+     - 13_remove_qPixmapFromMimeSource_ref.patch
+     - 14_qsystemtray_icon.patch
+     - 15_tray_status_state.patch
+     - 16_wpa_gui_icon_touchup.patch
+  * Add patch which will be required long term, due to our installing of
+    wpa_gui to /usr/sbin/ we must supply full path to executable in desktop
+    meny entry file:
+     - 20_wpa_gui_menu_exec_path.patch
+  * Install icon and menu entry for wpa_gui. [debian/rules] (Closes: #498923)
+
+ -- Kel Modderman <kel at otaku42.de>  Thu, 25 Sep 2008 02:48:34 +1000
 
 wpasupplicant (0.6.4-2) unstable; urgency=low
 

Added: wpasupplicant/trunk/debian/patches/10_wpa_gui_icons.patch
URL: http://svn.debian.org/wsvn/pkg-wpa/wpasupplicant/trunk/debian/patches/10_wpa_gui_icons.patch?rev=1251&op=file
==============================================================================
--- wpasupplicant/trunk/debian/patches/10_wpa_gui_icons.patch (added)
+++ wpasupplicant/trunk/debian/patches/10_wpa_gui_icons.patch Wed Sep 24 16:53:22 2008
@@ -1,0 +1,344 @@
+Introducing an original wpa_gui icon, in svg format, with Makefile for
+easy conversion to other icon formats. The icon is thanks to Bernard Gray.
+
+Signed-off-by: Bernard Gray <bernard.gray at gmail.com>
+Signed-off-by: Kel Modderman <kel at otaku42.de>
+---
+--- /dev/null
++++ b/wpa_supplicant/wpa_gui-qt4/icons/Makefile
+@@ -0,0 +1,23 @@
++#!/usr/bin/make -f
++
++NAME  := wpa_gui
++SVG   := $(NAME).svg
++SIZES := 16x16 22x22 32x32 48x48 64x64 128x128
++ICONS := $(addsuffix .png,$(SIZES))
++ICONS += $(addsuffix .xpm,16x16 32x32)
++
++all: $(ICONS)
++
++%.png:
++	mkdir -p hicolor/$(@:.png=)/apps/
++	inkscape $(SVG) --without-gui \
++		--export-width=$(word 1,$(subst x, ,$(@:.png=)))  \
++	        --export-height=$(word 2,$(subst x, ,$(@:.png=))) \
++		--export-png=hicolor/$(@:.png=)/apps/$(NAME).png
++
++%.xpm:
++	mkdir -p pixmaps/
++	convert hicolor/$(@:.xpm=)/apps/$(NAME).png pixmaps/$@
++
++clean:
++	$(RM) -r pixmaps hicolor
+--- /dev/null
++++ b/wpa_supplicant/wpa_gui-qt4/icons/README
+@@ -0,0 +1,7 @@
++Copyright (c) 2008 Bernard Gray <bernard.gray at gmail.com>
++
++The wpa_gui icon is licensed under the GPL version 2. Alternatively, the icon
++may be distributed under the terms of BSD license.
++
++To convert the svg icon to other formats, make sure inkscape and imagemagick
++are installed and use `make' to create various sized png and xpm icons.
+--- /dev/null
++++ b/wpa_supplicant/wpa_gui-qt4/icons/wpa_gui.svg
+@@ -0,0 +1,299 @@
++<?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://creativecommons.org/ns#"
++   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://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
++   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
++   version="1.0"
++   width="128"
++   height="128"
++   id="svg2"
++   sodipodi:version="0.32"
++   inkscape:version="0.46"
++   sodipodi:docname="wpa_gui.svg"
++   inkscape:output_extension="org.inkscape.output.svg.inkscape">
++  <metadata
++     id="metadata59">
++    <rdf:RDF>
++      <cc:Work
++         rdf:about="">
++        <dc:format>image/svg+xml</dc:format>
++        <dc:type
++           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
++      </cc:Work>
++    </rdf:RDF>
++  </metadata>
++  <sodipodi:namedview
++     inkscape:window-height="771"
++     inkscape:window-width="640"
++     inkscape:pageshadow="2"
++     inkscape:pageopacity="0.0"
++     guidetolerance="10.0"
++     gridtolerance="10.0"
++     objecttolerance="10.0"
++     borderopacity="1.0"
++     bordercolor="#666666"
++     pagecolor="#ffffff"
++     id="base"
++     showgrid="false"
++     inkscape:zoom="4.2421875"
++     inkscape:cx="64"
++     inkscape:cy="64"
++     inkscape:window-x="0"
++     inkscape:window-y="0"
++     inkscape:current-layer="svg2" />
++  <defs
++     id="defs4">
++    <inkscape:perspective
++       sodipodi:type="inkscape:persp3d"
++       inkscape:vp_x="0 : 64 : 1"
++       inkscape:vp_y="0 : 1000 : 0"
++       inkscape:vp_z="128 : 64 : 1"
++       inkscape:persp3d-origin="64 : 42.666667 : 1"
++       id="perspective61" />
++    <linearGradient
++       id="linearGradient39133">
++      <stop
++         id="stop39135"
++         style="stop-color:#252525;stop-opacity:1"
++         offset="0" />
++      <stop
++         id="stop39137"
++         style="stop-color:#515151;stop-opacity:1"
++         offset="0" />
++      <stop
++         id="stop39139"
++         style="stop-color:#878787;stop-opacity:1"
++         offset="0.28677997" />
++      <stop
++         id="stop39141"
++         style="stop-color:#000000;stop-opacity:1"
++         offset="0.92151743" />
++      <stop
++         id="stop39143"
++         style="stop-color:#ffffff;stop-opacity:0.73786408"
++         offset="1" />
++    </linearGradient>
++    <linearGradient
++       id="linearGradient39119">
++      <stop
++         id="stop39121"
++         style="stop-color:#ffffff;stop-opacity:0.82905984"
++         offset="0" />
++      <stop
++         id="stop39123"
++         style="stop-color:#ffffff;stop-opacity:0"
++         offset="1" />
++    </linearGradient>
++    <linearGradient
++       id="linearGradient39106">
++      <stop
++         id="stop39108"
++         style="stop-color:#ffffff;stop-opacity:1"
++         offset="0" />
++      <stop
++         id="stop39110"
++         style="stop-color:#a8a8a8;stop-opacity:0"
++         offset="1" />
++    </linearGradient>
++    <linearGradient
++       id="linearGradient39094">
++      <stop
++         id="stop39096"
++         style="stop-color:#000000;stop-opacity:1"
++         offset="0" />
++      <stop
++         id="stop39098"
++         style="stop-color:#333333;stop-opacity:1"
++         offset="1" />
++    </linearGradient>
++    <linearGradient
++       id="linearGradient39062">
++      <stop
++         id="stop39064"
++         style="stop-color:#252525;stop-opacity:1"
++         offset="0" />
++      <stop
++         id="stop39086"
++         style="stop-color:#515151;stop-opacity:1"
++         offset="0.21101321" />
++      <stop
++         id="stop39088"
++         style="stop-color:#878787;stop-opacity:1"
++         offset="0.75" />
++      <stop
++         id="stop39090"
++         style="stop-color:#6c6c6c;stop-opacity:1"
++         offset="0.875" />
++      <stop
++         id="stop39066"
++         style="stop-color:#1e1e1e;stop-opacity:1"
++         offset="1" />
++    </linearGradient>
++    <linearGradient
++       id="linearGradient39039">
++      <stop
++         id="stop39041"
++         style="stop-color:#5f5f5f;stop-opacity:1"
++         offset="0" />
++      <stop
++         id="stop39043"
++         style="stop-color:#ffffff;stop-opacity:0"
++         offset="1" />
++    </linearGradient>
++    <linearGradient
++       id="linearGradient39031">
++      <stop
++         id="stop39033"
++         style="stop-color:#000000;stop-opacity:1"
++         offset="0" />
++      <stop
++         id="stop39035"
++         style="stop-color:#000000;stop-opacity:0"
++         offset="1" />
++    </linearGradient>
++    <linearGradient
++       id="linearGradient3404">
++      <stop
++         id="stop3406"
++         style="stop-color:#ffffff;stop-opacity:0.68803418"
++         offset="0" />
++      <stop
++         id="stop3408"
++         style="stop-color:#ffffff;stop-opacity:0"
++         offset="1" />
++    </linearGradient>
++    <linearGradient
++       x1="4"
++       y1="40"
++       x2="124"
++       y2="60"
++       id="linearGradient39068"
++       xlink:href="#linearGradient39062"
++       gradientUnits="userSpaceOnUse" />
++    <radialGradient
++       cx="100.70589"
++       cy="96"
++       r="60"
++       fx="158.07428"
++       fy="95.718063"
++       id="radialGradient39100"
++       xlink:href="#linearGradient39094"
++       gradientUnits="userSpaceOnUse"
++       gradientTransform="matrix(2.7837903e-8,-1,0.99999999,-2.1864248e-6,-32.000004,164.7061)" />
++    <radialGradient
++       cx="100.44444"
++       cy="34.363636"
++       r="32"
++       fx="82.947372"
++       fy="35.588516"
++       id="radialGradient39104"
++       xlink:href="#linearGradient39106"
++       gradientUnits="userSpaceOnUse"
++       gradientTransform="matrix(3.1472435e-6,1.0227273,-0.87499999,-9.5061964e-8,94.067865,-4.7272712)" />
++    <radialGradient
++       cx="75.999977"
++       cy="-2.7730541"
++       r="48"
++       fx="55.266491"
++       fy="-2.5338216"
++       id="radialGradient39125"
++       xlink:href="#linearGradient39119"
++       gradientUnits="userSpaceOnUse"
++       gradientTransform="matrix(0,0.83333324,-1.6666667,2.518705e-6,59.378243,-35.333302)" />
++    <radialGradient
++       cx="64.066589"
++       cy="63.713329"
++       r="60"
++       fx="64.066589"
++       fy="63.713329"
++       id="radialGradient39131"
++       xlink:href="#linearGradient39133"
++       gradientUnits="userSpaceOnUse"
++       gradientTransform="matrix(1.1333333,5.1768857e-8,5.2556881e-6,1.1666667,-8.6091298,-10.332226)" />
++    <filter
++       id="filter39153">
++      <feGaussianBlur
++         id="feGaussianBlur39155"
++         stdDeviation="2.28"
++         inkscape:collect="always" />
++    </filter>
++    <filter
++       id="filter39159">
++      <feGaussianBlur
++         inkscape:collect="always"
++         stdDeviation="1.68"
++         id="feGaussianBlur39161" />
++    </filter>
++    <filter
++       id="filter3508">
++      <feGaussianBlur
++         id="feGaussianBlur3510"
++         stdDeviation="0.81465094"
++         inkscape:collect="always" />
++    </filter>
++  </defs>
++  <g
++     id="layer1"
++     style="display:inline">
++    <path
++       d="M 29,4 C 15.147058,4 4,15.14706 4,29 l 0,70 c 0,13.85294 11.147058,25 25,25 l 70,0 c 13.85294,0 25,-11.14706 25,-25 l 0,-70 C 124,15.14706 112.85294,4 99,4 L 29,4 z"
++       id="path39151"
++       style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;filter:url(#filter39153)" />
++    <path
++       d="M 29,4 C 15.147058,4 4,15.14706 4,29 l 0,70 c 0,13.85294 11.147058,25 25,25 l 70,0 c 13.85294,0 25,-11.14706 25,-25 l 0,-70 C 124,15.14706 112.85294,4 99,4 L 29,4 z"
++       id="path39157"
++       style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;filter:url(#filter39159)" />
++    <rect
++       width="120"
++       height="120"
++       ry="25.00531"
++       x="4"
++       y="0"
++       id="rect2573"
++       style="opacity:1;fill:url(#radialGradient39100);fill-opacity:1;stroke:none" />
++    <path
++       d="M 29,0 C 15.147058,0 4,11.14706 4,25 l 0,70 c 0,13.85294 11.147058,25 25,25 l 70,0 c 13.85294,0 25,-11.14706 25,-25 l 0,-70 C 124,11.14706 112.85294,0 99,0 L 29,0 z"
++       id="path39127"
++       style="opacity:0.20512821;fill:url(#radialGradient39131);fill-opacity:1;stroke:none" />
++    <path
++       d="m 44,68 40,0 12,40 c -20,7.27273 -44,7.27273 -64,0 L 44,68 z"
++       id="path39102"
++       style="opacity:0.53418801;fill:url(#radialGradient39104);fill-opacity:1;stroke:none" />
++    <path
++       d="M 25.339207,12 C 52,8 76,8 102.66079,12 107.83471,12 112,16.165286 112,21.339207 L 116,52 C 100,73.339207 28,73.339207 12,52 L 16,21.339207 C 16,16.165286 20.165286,12 25.339207,12 z"
++       id="rect39116"
++       style="opacity:0.92307691;fill:url(#radialGradient39125);fill-opacity:1;stroke:none" />
++    <path
++       d="M 29,8 C 15.147058,8 4,19.14706 4,33 l 0,70 c 0,13.85294 11.147058,25 25,25 l 70,0 c 13.85294,0 25,-11.14706 25,-25 l 0,-70 C 124,19.14706 112.85294,8 99,8 L 29,8 z"
++       id="path39147"
++       style="opacity:0.20512821;fill:#000000;fill-opacity:1;stroke:none" />
++    <path
++       d="M 29,0 C 15.147058,0 4,11.147058 4,25 l 0,70 c 0,13.85294 11.147058,25 25,25 l 70,0 c 13.85294,0 25,-11.14706 25,-25 l 0,-70 C 124,11.147058 112.85294,0 99,0 L 29,0 z m 0,4 70,0 c 11.70613,0 21,9.293869 21,21 l 0,70 c 0,11.70613 -9.29387,21 -21,21 l -70,0 C 17.293869,116 8,106.70613 8,95 L 8,25 C 8,13.293869 17.293869,4 29,4 z"
++       id="rect39029"
++       style="opacity:1;fill:url(#linearGradient39068);fill-opacity:1;stroke:none" />
++    <path
++       d="M 66.35081,74.771345 A 36,36 0 1 1 54.34964,35.777782"
++       transform="matrix(-0.16680323,0.53082142,-0.53082142,-0.16680323,103.31027,53.117897)"
++       id="path3351"
++       style="opacity:1;fill:none;stroke:#ffffff;stroke-width:21.56673813;stroke-linecap:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
++    <path
++       d="m 36,56 a 4,4 0 1 1 -8,0 4,4 0 1 1 8,0 z"
++       transform="matrix(1.4851301,0,0,1.4851301,16.475837,-23.948973)"
++       id="path3353"
++       style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none" />
++    <path
++       d="M 66.35081,74.771345 A 36,36 0 1 1 54.34964,35.777782"
++       transform="matrix(-0.35033273,1.1148712,-1.1148712,-0.35033273,146.5624,46.88078)"
++       id="path2622"
++       style="opacity:1;fill:none;stroke:#ffffff;stroke-width:10.26852894;stroke-linecap:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
++  </g>
++  <g
++     id="layer2"
++     style="display:inline" />
++</svg>

Added: wpasupplicant/trunk/debian/patches/11_desktop_entry.patch
URL: http://svn.debian.org/wsvn/pkg-wpa/wpasupplicant/trunk/debian/patches/11_desktop_entry.patch?rev=1251&op=file
==============================================================================
--- wpasupplicant/trunk/debian/patches/11_desktop_entry.patch (added)
+++ wpasupplicant/trunk/debian/patches/11_desktop_entry.patch Wed Sep 24 16:53:22 2008
@@ -1,0 +1,17 @@
+A desktop entry for wpa_gui.
+
+Signed-off-by: Kel Modderman <kel at otaku42.de>
+---
+--- /dev/null
++++ b/wpa_supplicant/wpa_gui-qt4/wpa_gui.desktop
+@@ -0,0 +1,10 @@
++[Desktop Entry]
++Version=1.0
++Name=wpa_gui
++Comment=Graphical user interface for wpa_supplicant
++Exec=wpa_gui
++Icon=wpa_gui
++GenericName=wpa_supplicant user interface
++Terminal=false
++Type=Application
++Categories=Qt;Network;

Added: wpasupplicant/trunk/debian/patches/12_wpa_gui_icons_resource.patch
URL: http://svn.debian.org/wsvn/pkg-wpa/wpasupplicant/trunk/debian/patches/12_wpa_gui_icons_resource.patch?rev=1251&op=file
==============================================================================
--- wpasupplicant/trunk/debian/patches/12_wpa_gui_icons_resource.patch (added)
+++ wpasupplicant/trunk/debian/patches/12_wpa_gui_icons_resource.patch Wed Sep 24 16:53:22 2008
@@ -1,0 +1,47 @@
+Enhance wpa_gui's appearance by integrating the new svg icon via a resource
+file.
+
+Signed-off-by: Kel Modderman <kel at otaku42.de>
+---
+--- /dev/null
++++ b/wpa_supplicant/wpa_gui-qt4/icons.qrc
+@@ -0,0 +1,5 @@
++<RCC>
++ <qresource prefix="/icons" >
++  <file alias="wpa_gui.svg">icons/wpa_gui.svg</file>
++ </qresource>
++</RCC>
+--- a/wpa_supplicant/wpa_gui-qt4/wpa_gui.pro
++++ b/wpa_supplicant/wpa_gui-qt4/wpa_gui.pro
+@@ -36,6 +36,8 @@
+ 	networkconfig.cpp \
+ 	../../src/common/wpa_ctrl.c
+ 
++RESOURCES += icons.qrc
++
+ FORMS	= wpagui.ui \
+ 	eventhistory.ui \
+ 	scanresults.ui \
+--- a/wpa_supplicant/wpa_gui-qt4/wpagui.ui
++++ b/wpa_supplicant/wpa_gui-qt4/wpagui.ui
+@@ -12,6 +12,10 @@
+   <property name="windowTitle" >
+    <string>wpa_gui</string>
+   </property>
++  <property name="windowIcon" >
++   <iconset resource="icons.qrc" >
++    <normaloff>:/icons/wpa_gui.svg</normaloff>:/icons/wpa_gui.svg</iconset>
++  </property>
+   <widget class="QWidget" name="widget" >
+    <layout class="QGridLayout" >
+     <item row="0" column="0" >
+@@ -414,6 +418,8 @@
+   <include location="local" >eventhistory.h</include>
+   <include location="local" >scanresults.h</include>
+  </includes>
+- <resources/>
++ <resources>
++  <include location="icons.qrc" />
++ </resources>
+  <connections/>
+ </ui>

Added: wpasupplicant/trunk/debian/patches/13_remove_qPixmapFromMimeSource_ref.patch
URL: http://svn.debian.org/wsvn/pkg-wpa/wpasupplicant/trunk/debian/patches/13_remove_qPixmapFromMimeSource_ref.patch?rev=1251&op=file
==============================================================================
--- wpasupplicant/trunk/debian/patches/13_remove_qPixmapFromMimeSource_ref.patch (added)
+++ wpasupplicant/trunk/debian/patches/13_remove_qPixmapFromMimeSource_ref.patch Wed Sep 24 16:53:22 2008
@@ -1,0 +1,69 @@
+When integrating the new art, this UI entry:
+
+<pixmapfunction>qPixmapFromMimeSource</pixmapfunction>
+
+Caused the following error:
+
+.obj/wpagui.o: In function `Ui_WpaGui::setupUi(QMainWindow*)':
+wpagui.cpp:(.text._ZN9Ui_WpaGui7setupUiEP11QMainWindow[Ui_WpaGui::setupUi(QMainWindow*)]+0xd3): undefined reference to `qPixmapFromMimeSource(QString const&)'
+collect2: ld returned 1 exit status
+
+Removing qPixmapFromMimeSource seems to have no unwanted side effects, and
+allows successful build again. Research leads me to believe it depends on
+Qt3Support, which we do not want.
+
+Signed-off-by: Kel Modderman <kel at otaku42.de>
+---
+--- a/wpa_supplicant/wpa_gui-qt4/eventhistory.ui
++++ b/wpa_supplicant/wpa_gui-qt4/eventhistory.ui
+@@ -52,7 +52,7 @@
+   </layout>
+  </widget>
+  <layoutdefault spacing="6" margin="11" />
+- <pixmapfunction>qPixmapFromMimeSource</pixmapfunction>
++ <pixmapfunction></pixmapfunction>
+  <includes>
+   <include location="local" >wpamsg.h</include>
+  </includes>
+--- a/wpa_supplicant/wpa_gui-qt4/networkconfig.ui
++++ b/wpa_supplicant/wpa_gui-qt4/networkconfig.ui
+@@ -368,7 +368,7 @@
+   </layout>
+  </widget>
+  <layoutdefault spacing="6" margin="11" />
+- <pixmapfunction>qPixmapFromMimeSource</pixmapfunction>
++ <pixmapfunction></pixmapfunction>
+  <tabstops>
+   <tabstop>ssidEdit</tabstop>
+   <tabstop>authSelect</tabstop>
+--- a/wpa_supplicant/wpa_gui-qt4/scanresults.ui
++++ b/wpa_supplicant/wpa_gui-qt4/scanresults.ui
+@@ -88,7 +88,7 @@
+   </layout>
+  </widget>
+  <layoutdefault spacing="6" margin="11" />
+- <pixmapfunction>qPixmapFromMimeSource</pixmapfunction>
++ <pixmapfunction></pixmapfunction>
+  <resources/>
+  <connections/>
+ </ui>
+--- a/wpa_supplicant/wpa_gui-qt4/userdatarequest.ui
++++ b/wpa_supplicant/wpa_gui-qt4/userdatarequest.ui
+@@ -105,5 +105,5 @@
+     </layout>
+   </widget>
+   <layoutdefault spacing="6" margin="11" />
+-  <pixmapfunction>qPixmapFromMimeSource</pixmapfunction>
++  <pixmapfunction></pixmapfunction>
+ </ui>
+--- a/wpa_supplicant/wpa_gui-qt4/wpagui.ui
++++ b/wpa_supplicant/wpa_gui-qt4/wpagui.ui
+@@ -410,7 +410,7 @@
+   </action>
+  </widget>
+  <layoutdefault spacing="6" margin="11" />
+- <pixmapfunction>qPixmapFromMimeSource</pixmapfunction>
++ <pixmapfunction></pixmapfunction>
+  <includes>
+   <include location="global" >qtimer.h</include>
+   <include location="global" >qsocketnotifier.h</include>

Added: wpasupplicant/trunk/debian/patches/14_qsystemtray_icon.patch
URL: http://svn.debian.org/wsvn/pkg-wpa/wpasupplicant/trunk/debian/patches/14_qsystemtray_icon.patch?rev=1251&op=file
==============================================================================
--- wpasupplicant/trunk/debian/patches/14_qsystemtray_icon.patch (added)
+++ wpasupplicant/trunk/debian/patches/14_qsystemtray_icon.patch Wed Sep 24 16:53:22 2008
@@ -1,0 +1,304 @@
+Add system tray icon support to wpa_gui-qt4. The tray icon remains quiet when
+the main dialog is visible, so it should not cause too much pain for more
+conservative users of wpa_gui. The addition involves the following changes:
+
+* when closing wpa_gui via window manager close box, wpa_gui close event is
+  ignored and it is minimised to system tray. A status message is displayed
+  (or popup dialog box if tray messages are not supported) to provide a visual
+  hint that the program is still running in the background.
+* add File->Exit slot handler to facilitate application quit from main dialog
+* provide a context menu with a short list of useful actions
+* show/hide main dialog when icon is triggered (single click)
+* ensure main dialog is visible when event handler or scan results is chosen
+  from tray icon context menu
+* show tray messages on connected and disconnected events, display a status
+  message a few seconds after connected events
+
+Signed-off-by: Kel Modderman <kel at otaku42.de>
+---
+--- a/wpa_supplicant/wpa_gui-qt4/wpagui.cpp
++++ b/wpa_supplicant/wpa_gui-qt4/wpagui.cpp
+@@ -37,7 +37,7 @@
+ 		SLOT(eventHistory()));
+ 	connect(fileSaveConfigAction, SIGNAL(triggered()), this,
+ 		SLOT(saveConfig()));
+-	connect(fileExitAction, SIGNAL(triggered()), this, SLOT(close()));
++	connect(fileExitAction, SIGNAL(triggered()), this, SLOT(fileExit()));
+ 	connect(networkAddAction, SIGNAL(triggered()), this,
+ 		SLOT(addNetwork()));
+ 	connect(networkEditAction, SIGNAL(triggered()), this,
+@@ -79,12 +79,16 @@
+ 	eh = NULL;
+ 	scanres = NULL;
+ 	udr = NULL;
++	tray_icon = NULL;
+ 	ctrl_iface = NULL;
+ 	ctrl_conn = NULL;
+ 	monitor_conn = NULL;
+ 	msgNotifier = NULL;
+ 	ctrl_iface_dir = strdup("/var/run/wpa_supplicant");
+ 
++	if (QSystemTrayIcon::isSystemTrayAvailable())
++		createTrayIcon();
++
+ 	parse_argv();
+ 
+ 	textStatus->setText("connecting to wpa_supplicant");
+@@ -101,6 +105,9 @@
+ 	updateStatus();
+ 	networkMayHaveChanged = true;
+ 	updateNetworks();
++
++	if (tray_icon)
++		tray_icon->show();
+ }
+ 
+ 
+@@ -588,6 +595,9 @@
+ 		delete scanres;
+ 	}
+ 
++	if (!isVisible())
++		show();
++
+ 	scanres = new ScanResults();
+ 	if (scanres == NULL)
+ 		return;
+@@ -604,6 +614,9 @@
+ 		delete eh;
+ 	}
+ 
++	if (!isVisible())
++		show();
++
+ 	eh = new EventHistory();
+ 	if (eh == NULL)
+ 		return;
+@@ -710,6 +723,14 @@
+ 		processCtrlReq(pos + strlen(WPA_CTRL_REQ));
+ 	else if (str_match(pos, WPA_EVENT_SCAN_RESULTS) && scanres)
+ 		scanres->updateResults();
++	else if (str_match(pos, WPA_EVENT_DISCONNECTED))
++		showTrayMessage(QSystemTrayIcon::Information, 3,
++				"Disconnected from network.");
++	else if (str_match(pos, WPA_EVENT_CONNECTED)) {
++		showTrayMessage(QSystemTrayIcon::Information, 3,
++				"Connection to network established.");
++		QTimer::singleShot(5 * 1000, this, SLOT(showTrayStatus()));
++	}
+ }
+ 
+ 
+@@ -1070,6 +1091,134 @@
+ }
+ 
+ 
++void WpaGui::createTrayIcon()
++{
++	tray_icon = new QSystemTrayIcon(this);
++	tray_icon->setToolTip(qAppName() + " - wpa_supplicant user interface");
++	tray_icon->setIcon(QIcon(":/icons/wpa_gui.svg"));
++
++	connect(tray_icon,
++		SIGNAL(activated(QSystemTrayIcon::ActivationReason)),
++		this, SLOT(trayActivated(QSystemTrayIcon::ActivationReason)));
++
++	ackTrayIcon = false;
++
++	tray_menu = new QMenu(this);
++
++	disconnectAction = new QAction("&Disconnect", this);
++	reconnectAction = new QAction("Re&connect", this);
++	connect(disconnectAction, SIGNAL(triggered()), this,
++		SLOT(disconnect()));
++	connect(reconnectAction, SIGNAL(triggered()), this,
++		SLOT(connectB()));
++	tray_menu->addAction(disconnectAction);
++	tray_menu->addAction(reconnectAction);
++	tray_menu->addSeparator();
++
++	eventAction = new QAction("&Event History", this);
++	scanAction = new QAction("Scan &Results", this);
++	statAction = new QAction("S&tatus", this);
++	connect(eventAction, SIGNAL(triggered()), this, SLOT(eventHistory()));
++	connect(scanAction, SIGNAL(triggered()), this, SLOT(scan()));
++	connect(statAction, SIGNAL(triggered()), this, SLOT(showTrayStatus()));
++	tray_menu->addAction(eventAction);
++	tray_menu->addAction(scanAction);
++	tray_menu->addAction(statAction);
++	tray_menu->addSeparator();
++
++	showAction = new QAction("&Show Window", this);
++	hideAction = new QAction("&Hide Window", this);
++	quitAction = new QAction("&Quit", this);
++	connect(showAction, SIGNAL(triggered()), this, SLOT(show()));
++	connect(hideAction, SIGNAL(triggered()), this, SLOT(hide()));
++	connect(quitAction, SIGNAL(triggered()), qApp, SLOT(quit()));
++	tray_menu->addAction(showAction);
++	tray_menu->addAction(hideAction);
++	tray_menu->addSeparator();
++	tray_menu->addAction(quitAction);
++
++	tray_icon->setContextMenu(tray_menu);
++}
++
++
++void WpaGui::showTrayMessage(QSystemTrayIcon::MessageIcon type, int sec,
++			     const QString & msg)
++{
++	if (!QSystemTrayIcon::supportsMessages())
++		return;
++
++	if (isVisible() || !tray_icon || !tray_icon->isVisible())
++		return;
++
++	tray_icon->showMessage(qAppName(), msg, type, sec * 1000);
++}
++
++
++void WpaGui::trayActivated(QSystemTrayIcon::ActivationReason how)
++ {
++	switch (how) {
++	/* use close() here instead of hide() and allow the
++	 * custom closeEvent handler take care of children */
++	case QSystemTrayIcon::Trigger:
++		if (isVisible())
++			close();
++		else
++			show();
++		break;
++	case QSystemTrayIcon::MiddleClick:
++		showTrayStatus();
++		break;
++	default:
++		break;
++	}
++}
++
++
++void WpaGui::showTrayStatus()
++{
++	char buf[2048];
++	size_t len;
++
++	len = sizeof(buf) - 1;
++	if (ctrlRequest("STATUS", buf, &len) < 0)
++		return;
++	buf[len] = '\0';
++
++	QString msg, status(buf);
++
++	QStringList lines = status.split(QRegExp("\\n"));
++	for (QStringList::Iterator it = lines.begin();
++	     it != lines.end(); it++) {
++		int pos = (*it).indexOf('=') + 1;
++		if (pos < 1)
++			continue;
++
++		if ((*it).startsWith("bssid="))
++			msg.append("BSSID:\t" + (*it).mid(pos) + "\n");
++		else if ((*it).startsWith("ssid="))
++			msg.append("SSID: \t" + (*it).mid(pos) + "\n");
++		else if ((*it).startsWith("pairwise_cipher="))
++			msg.append("PAIR: \t" + (*it).mid(pos) + "\n");
++		else if ((*it).startsWith("group_cipher="))
++			msg.append("GROUP:\t" + (*it).mid(pos) + "\n");
++		else if ((*it).startsWith("key_mgmt="))
++			msg.append("AUTH: \t" + (*it).mid(pos) + "\n");
++		else if ((*it).startsWith("ip_address="))
++			msg.append("IP:   \t" + (*it).mid(pos) + "\n");
++	}
++
++	showTrayMessage(QSystemTrayIcon::Information, 10, msg);
++}
++
++void WpaGui::fileExit()
++{
++	if (tray_icon)
++		tray_icon->hide();
++
++	close();
++}
++
++
+ void WpaGui::closeEvent(QCloseEvent *event)
+ {
+ 	if (eh) {
+@@ -1090,5 +1239,26 @@
+ 		udr = NULL;
+ 	}
+ 
++	if (tray_icon && tray_icon->isVisible()) {
++		/* give user a visual hint that the tray icon exists */
++		if (QSystemTrayIcon::supportsMessages()) {
++			hide();
++			QTimer::singleShot(1 * 1000, this,
++					   SLOT(showTrayStatus()));
++		} else if (!ackTrayIcon) {
++			QMessageBox::information(this, qAppName() + " systray",
++						 "The program will keep "
++						 "running in the system tray."
++						 " To terminate the program, "
++						 "choose <b>Quit</b> in the "
++						 "context menu of the system "
++						 "tray icon.");
++			ackTrayIcon = true;
++			hide();
++		}
++		event->ignore();
++		return;
++	}
++
+ 	event->accept();
+ }
+--- a/wpa_supplicant/wpa_gui-qt4/wpagui.h
++++ b/wpa_supplicant/wpa_gui-qt4/wpagui.h
+@@ -15,6 +15,7 @@
+ #ifndef WPAGUI_H
+ #define WPAGUI_H
+ 
++#include <QSystemTrayIcon>
+ #include <QObject>
+ #include "ui_wpagui.h"
+ 
+@@ -42,6 +43,7 @@
+ 	virtual void parse_argv();
+ 	virtual void updateStatus();
+ 	virtual void updateNetworks();
++	virtual void fileExit();
+ 	virtual void helpIndex();
+ 	virtual void helpContents();
+ 	virtual void helpAbout();
+@@ -67,9 +69,13 @@
+ 	virtual void updateNetworkDisabledStatus();
+ 	virtual void enableListedNetwork(bool);
+ 	virtual void disableListedNetwork(bool);
++	virtual void showTrayMessage(QSystemTrayIcon::MessageIcon type,
++				     int sec, const QString &msg);
++	virtual void showTrayStatus();
+ 
+ protected slots:
+ 	virtual void languageChange();
++	virtual void trayActivated(QSystemTrayIcon::ActivationReason how);
+ 	virtual void closeEvent(QCloseEvent *event);
+ 
+ private:
+@@ -85,6 +91,18 @@
+ 	char *ctrl_iface_dir;
+ 	struct wpa_ctrl *monitor_conn;
+ 	UserDataRequest *udr;
++	QAction *disconnectAction;
++	QAction *reconnectAction;
++	QAction *eventAction;
++	QAction *scanAction;
++	QAction *statAction;
++	QAction *showAction;
++	QAction *hideAction;
++	QAction *quitAction;
++	QMenu *tray_menu;
++	QSystemTrayIcon *tray_icon;
++	void createTrayIcon();
++	bool ackTrayIcon;
+ 
+ 	int openCtrlConnection(const char *ifname);
+ };

Added: wpasupplicant/trunk/debian/patches/15_tray_status_state.patch
URL: http://svn.debian.org/wsvn/pkg-wpa/wpasupplicant/trunk/debian/patches/15_tray_status_state.patch?rev=1251&op=file
==============================================================================
--- wpasupplicant/trunk/debian/patches/15_tray_status_state.patch (added)
+++ wpasupplicant/trunk/debian/patches/15_tray_status_state.patch Wed Sep 24 16:53:22 2008
@@ -1,0 +1,27 @@
+Add extra state status fields to the tray icon message bubble. Do not display
+an empty message.
+
+Signed-off-by: Kel Modderman <kel at otaku42.de>
+---
+--- a/wpa_supplicant/wpa_gui-qt4/wpagui.cpp
++++ b/wpa_supplicant/wpa_gui-qt4/wpagui.cpp
+@@ -1203,11 +1203,18 @@
+ 			msg.append("GROUP:\t" + (*it).mid(pos) + "\n");
+ 		else if ((*it).startsWith("key_mgmt="))
+ 			msg.append("AUTH: \t" + (*it).mid(pos) + "\n");
++		else if ((*it).startsWith("wpa_state="))
++			msg.append("STATE:\t" + (*it).mid(pos) + "\n");
+ 		else if ((*it).startsWith("ip_address="))
+ 			msg.append("IP:   \t" + (*it).mid(pos) + "\n");
++		else if ((*it).startsWith("Supplicant PAE state="))
++			msg.append("PAE:  \t" + (*it).mid(pos) + "\n");
++		else if ((*it).startsWith("EAP state="))
++			msg.append("EAP:  \t" + (*it).mid(pos) + "\n");
+ 	}
+ 
+-	showTrayMessage(QSystemTrayIcon::Information, 10, msg);
++	if (!msg.isEmpty())
++		showTrayMessage(QSystemTrayIcon::Information, 10, msg);
+ }
+ 
+ void WpaGui::fileExit()

Added: wpasupplicant/trunk/debian/patches/16_wpa_gui_icon_touchup.patch
URL: http://svn.debian.org/wsvn/pkg-wpa/wpasupplicant/trunk/debian/patches/16_wpa_gui_icon_touchup.patch?rev=1251&op=file
==============================================================================
--- wpasupplicant/trunk/debian/patches/16_wpa_gui_icon_touchup.patch (added)
+++ wpasupplicant/trunk/debian/patches/16_wpa_gui_icon_touchup.patch Wed Sep 24 16:53:22 2008
@@ -1,0 +1,110 @@
+Enhance the wpa_gui-qt4 icon:
+
+* removed unused layer
+* moved spurious rectangle back where it belongs
+* removed flat edge from top of the lower white glow object
+
+Signed-off-by: Bernard Gray <bernard.gray at gmail.com>
+---
+--- a/wpa_supplicant/wpa_gui-qt4/icons/wpa_gui.svg
++++ b/wpa_supplicant/wpa_gui-qt4/icons/wpa_gui.svg
+@@ -18,7 +18,7 @@
+    sodipodi:docname="wpa_gui.svg"
+    inkscape:output_extension="org.inkscape.output.svg.inkscape">
+   <metadata
+-     id="metadata59">
++     id="metadata47">
+     <rdf:RDF>
+       <cc:Work
+          rdf:about="">
+@@ -44,7 +44,7 @@
+      inkscape:zoom="4.2421875"
+      inkscape:cx="64"
+      inkscape:cy="64"
+-     inkscape:window-x="0"
++     inkscape:window-x="634"
+      inkscape:window-y="0"
+      inkscape:current-layer="svg2" />
+   <defs
+@@ -55,7 +55,7 @@
+        inkscape:vp_y="0 : 1000 : 0"
+        inkscape:vp_z="128 : 64 : 1"
+        inkscape:persp3d-origin="64 : 42.666667 : 1"
+-       id="perspective61" />
++       id="perspective49" />
+     <linearGradient
+        id="linearGradient39133">
+       <stop
+@@ -136,39 +136,6 @@
+          offset="1" />
+     </linearGradient>
+     <linearGradient
+-       id="linearGradient39039">
+-      <stop
+-         id="stop39041"
+-         style="stop-color:#5f5f5f;stop-opacity:1"
+-         offset="0" />
+-      <stop
+-         id="stop39043"
+-         style="stop-color:#ffffff;stop-opacity:0"
+-         offset="1" />
+-    </linearGradient>
+-    <linearGradient
+-       id="linearGradient39031">
+-      <stop
+-         id="stop39033"
+-         style="stop-color:#000000;stop-opacity:1"
+-         offset="0" />
+-      <stop
+-         id="stop39035"
+-         style="stop-color:#000000;stop-opacity:0"
+-         offset="1" />
+-    </linearGradient>
+-    <linearGradient
+-       id="linearGradient3404">
+-      <stop
+-         id="stop3406"
+-         style="stop-color:#ffffff;stop-opacity:0.68803418"
+-         offset="0" />
+-      <stop
+-         id="stop3408"
+-         style="stop-color:#ffffff;stop-opacity:0"
+-         offset="1" />
+-    </linearGradient>
+-    <linearGradient
+        x1="4"
+        y1="40"
+        x2="124"
+@@ -190,8 +157,8 @@
+        cx="100.44444"
+        cy="34.363636"
+        r="32"
+-       fx="82.947372"
+-       fy="35.588516"
++       fx="83.18"
++       fy="34.228985"
+        id="radialGradient39104"
+        xlink:href="#linearGradient39106"
+        gradientUnits="userSpaceOnUse"
+@@ -230,13 +197,6 @@
+          stdDeviation="1.68"
+          id="feGaussianBlur39161" />
+     </filter>
+-    <filter
+-       id="filter3508">
+-      <feGaussianBlur
+-         id="feGaussianBlur3510"
+-         stdDeviation="0.81465094"
+-         inkscape:collect="always" />
+-    </filter>
+   </defs>
+   <g
+      id="layer1"
+@@ -293,7 +253,4 @@
+        id="path2622"
+        style="opacity:1;fill:none;stroke:#ffffff;stroke-width:10.26852894;stroke-linecap:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+   </g>
+-  <g
+-     id="layer2"
+-     style="display:inline" />
+ </svg>

Added: wpasupplicant/trunk/debian/patches/20_wpa_gui_menu_exec_path.patch
URL: http://svn.debian.org/wsvn/pkg-wpa/wpasupplicant/trunk/debian/patches/20_wpa_gui_menu_exec_path.patch?rev=1251&op=file
==============================================================================
--- wpasupplicant/trunk/debian/patches/20_wpa_gui_menu_exec_path.patch (added)
+++ wpasupplicant/trunk/debian/patches/20_wpa_gui_menu_exec_path.patch Wed Sep 24 16:53:22 2008
@@ -1,0 +1,14 @@
+Required for Debian package, we place wpa_gui in /usr/sbin/ and so must
+give full path to executable in desktop menu entry file.
+---
+--- a/wpa_supplicant/wpa_gui-qt4/wpa_gui.desktop
++++ b/wpa_supplicant/wpa_gui-qt4/wpa_gui.desktop
+@@ -2,7 +2,7 @@
+ Version=1.0
+ Name=wpa_gui
+ Comment=Graphical user interface for wpa_supplicant
+-Exec=wpa_gui
++Exec=/usr/sbin/wpa_gui
+ Icon=wpa_gui
+ GenericName=wpa_supplicant user interface
+ Terminal=false

Modified: wpasupplicant/trunk/debian/patches/series
URL: http://svn.debian.org/wsvn/pkg-wpa/wpasupplicant/trunk/debian/patches/series?rev=1251&op=diff
==============================================================================
--- wpasupplicant/trunk/debian/patches/series (original)
+++ wpasupplicant/trunk/debian/patches/series Wed Sep 24 16:53:22 2008
@@ -4,3 +4,11 @@
 04_append_mmd_to_default_cflags.patch
 05_qmake_version_makefile.patch
 06_fix_segfault_32bit_compat_ioctls.patch
+10_wpa_gui_icons.patch
+11_desktop_entry.patch
+12_wpa_gui_icons_resource.patch
+13_remove_qPixmapFromMimeSource_ref.patch
+14_qsystemtray_icon.patch
+15_tray_status_state.patch
+16_wpa_gui_icon_touchup.patch
+20_wpa_gui_menu_exec_path.patch

Modified: wpasupplicant/trunk/debian/rules
URL: http://svn.debian.org/wsvn/pkg-wpa/wpasupplicant/trunk/debian/rules?rev=1251&op=diff
==============================================================================
--- wpasupplicant/trunk/debian/rules (original)
+++ wpasupplicant/trunk/debian/rules Wed Sep 24 16:53:22 2008
@@ -62,7 +62,11 @@
 	dh_install
 	
 	# wpa_gui
-	dh_install --package=wpagui wpa_supplicant/$(WPAGUI)/wpa_gui usr/bin/
+	dh_install --package=wpagui wpa_supplicant/$(WPAGUI)/wpa_gui usr/sbin/
+	dh_install --package=wpagui wpa_supplicant/$(WPAGUI)/wpa_gui.desktop \
+		usr/share/applications/
+	dh_install --package=wpagui wpa_supplicant/$(WPAGUI)/icons/wpa_gui.svg \
+		usr/share/icons/hicolor/scalable/apps/
 	
 	# ifupdown
 	install --mode=755 -D debian/ifupdown/ifupdown.sh \




More information about the Pkg-wpa-devel mailing list