Diffstat (limited to 'noncore/settings/networksettings2/wlan') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/settings/networksettings2/wlan/wlanGUI.ui | 480 | ||||
-rw-r--r-- | noncore/settings/networksettings2/wlan/wlan_NNI.cpp | 114 | ||||
-rw-r--r-- | noncore/settings/networksettings2/wlan/wlan_NNI.h | 2 | ||||
-rw-r--r-- | noncore/settings/networksettings2/wlan/wlandata.h | 17 | ||||
-rw-r--r-- | noncore/settings/networksettings2/wlan/wlanedit.cpp | 101 | ||||
-rw-r--r-- | noncore/settings/networksettings2/wlan/wlanedit.h | 22 | ||||
-rw-r--r-- | noncore/settings/networksettings2/wlan/wlanrun.cpp | 180 | ||||
-rw-r--r-- | noncore/settings/networksettings2/wlan/wlanrun.h | 15 |
8 files changed, 688 insertions, 243 deletions
diff --git a/noncore/settings/networksettings2/wlan/wlanGUI.ui b/noncore/settings/networksettings2/wlan/wlanGUI.ui index 9614369..1aec138 100644 --- a/noncore/settings/networksettings2/wlan/wlanGUI.ui +++ b/noncore/settings/networksettings2/wlan/wlanGUI.ui | |||
@@ -13,4 +13,4 @@ | |||
13 | <y>0</y> | 13 | <y>0</y> |
14 | <width>192</width> | 14 | <width>209</width> |
15 | <height>329</height> | 15 | <height>307</height> |
16 | </rect> | 16 | </rect> |
@@ -34,3 +34,3 @@ | |||
34 | <name>spacing</name> | 34 | <name>spacing</name> |
35 | <number>0</number> | 35 | <number>1</number> |
36 | </property> | 36 | </property> |
@@ -75,6 +75,6 @@ | |||
75 | <name>name</name> | 75 | <name>name</name> |
76 | <cstring>Layout6</cstring> | 76 | <cstring>Layout11</cstring> |
77 | </property> | 77 | </property> |
78 | <property> | 78 | <property> |
79 | <name>layoutMargin</name> | 79 | <name>layoutSpacing</name> |
80 | </property> | 80 | </property> |
@@ -83,3 +83,3 @@ | |||
83 | <name>margin</name> | 83 | <name>margin</name> |
84 | <number>1</number> | 84 | <number>0</number> |
85 | </property> | 85 | </property> |
@@ -87,9 +87,27 @@ | |||
87 | <name>spacing</name> | 87 | <name>spacing</name> |
88 | <number>6</number> | 88 | <number>1</number> |
89 | </property> | 89 | </property> |
90 | <widget row="1" column="0" > | 90 | <widget row="0" column="1" > |
91 | <class>QLabel</class> | 91 | <class>QComboBox</class> |
92 | <item> | ||
93 | <property> | ||
94 | <name>text</name> | ||
95 | <string>Auto</string> | ||
96 | </property> | ||
97 | </item> | ||
98 | <item> | ||
99 | <property> | ||
100 | <name>text</name> | ||
101 | <string>Managed</string> | ||
102 | </property> | ||
103 | </item> | ||
104 | <item> | ||
105 | <property> | ||
106 | <name>text</name> | ||
107 | <string>Ad-Hoc</string> | ||
108 | </property> | ||
109 | </item> | ||
92 | <property stdset="1"> | 110 | <property stdset="1"> |
93 | <name>name</name> | 111 | <name>name</name> |
94 | <cstring>essidLabel</cstring> | 112 | <cstring>Mode_CB</cstring> |
95 | </property> | 113 | </property> |
@@ -103,31 +121,14 @@ | |||
103 | <hsizetype>1</hsizetype> | 121 | <hsizetype>1</hsizetype> |
104 | <vsizetype>1</vsizetype> | 122 | <vsizetype>0</vsizetype> |
105 | </sizepolicy> | 123 | </sizepolicy> |
106 | </property> | 124 | </property> |
107 | <property stdset="1"> | ||
108 | <name>text</name> | ||
109 | <string>ESS-ID</string> | ||
110 | </property> | ||
111 | </widget> | 125 | </widget> |
112 | <widget row="1" column="1" > | 126 | <widget row="2" column="0" > |
113 | <class>QComboBox</class> | 127 | <class>QLabel</class> |
114 | <item> | ||
115 | <property> | ||
116 | <name>text</name> | ||
117 | <string>any</string> | ||
118 | </property> | ||
119 | </item> | ||
120 | <property stdset="1"> | 128 | <property stdset="1"> |
121 | <name>name</name> | 129 | <name>name</name> |
122 | <cstring>ESSID_CB</cstring> | 130 | <cstring>essidLabel_2</cstring> |
123 | </property> | ||
124 | <property stdset="1"> | ||
125 | <name>sizePolicy</name> | ||
126 | <sizepolicy> | ||
127 | <hsizetype>7</hsizetype> | ||
128 | <vsizetype>0</vsizetype> | ||
129 | </sizepolicy> | ||
130 | </property> | 131 | </property> |
131 | <property stdset="1"> | 132 | <property stdset="1"> |
132 | <name>editable</name> | 133 | <name>enabled</name> |
133 | <bool>true</bool> | 134 | <bool>true</bool> |
@@ -135,16 +136,11 @@ | |||
135 | <property stdset="1"> | 136 | <property stdset="1"> |
136 | <name>currentItem</name> | 137 | <name>sizePolicy</name> |
137 | <number>0</number> | 138 | <sizepolicy> |
138 | </property> | 139 | <hsizetype>1</hsizetype> |
139 | <property stdset="1"> | 140 | <vsizetype>1</vsizetype> |
140 | <name>sizeLimit</name> | 141 | </sizepolicy> |
141 | <number>5</number> | ||
142 | </property> | ||
143 | <property stdset="1"> | ||
144 | <name>autoCompletion</name> | ||
145 | <bool>true</bool> | ||
146 | </property> | 142 | </property> |
147 | <property stdset="1"> | 143 | <property stdset="1"> |
148 | <name>duplicatesEnabled</name> | 144 | <name>text</name> |
149 | <bool>false</bool> | 145 | <string>Name</string> |
150 | </property> | 146 | </property> |
@@ -173,31 +169,14 @@ | |||
173 | </widget> | 169 | </widget> |
174 | <widget row="0" column="1" > | 170 | <widget row="1" column="1" > |
175 | <class>QComboBox</class> | 171 | <class>QLineEdit</class> |
176 | <item> | ||
177 | <property> | ||
178 | <name>text</name> | ||
179 | <string>Infrastructure</string> | ||
180 | </property> | ||
181 | </item> | ||
182 | <item> | ||
183 | <property> | ||
184 | <name>text</name> | ||
185 | <string>Auto</string> | ||
186 | </property> | ||
187 | </item> | ||
188 | <item> | ||
189 | <property> | ||
190 | <name>text</name> | ||
191 | <string>Managed</string> | ||
192 | </property> | ||
193 | </item> | ||
194 | <item> | ||
195 | <property> | ||
196 | <name>text</name> | ||
197 | <string>Ad-Hoc</string> | ||
198 | </property> | ||
199 | </item> | ||
200 | <property stdset="1"> | 172 | <property stdset="1"> |
201 | <name>name</name> | 173 | <name>name</name> |
202 | <cstring>Mode_CB</cstring> | 174 | <cstring>ESSID_LE</cstring> |
175 | </property> | ||
176 | </widget> | ||
177 | <widget row="1" column="0" > | ||
178 | <class>QLabel</class> | ||
179 | <property stdset="1"> | ||
180 | <name>name</name> | ||
181 | <cstring>essidLabel</cstring> | ||
203 | </property> | 182 | </property> |
@@ -211,5 +190,20 @@ | |||
211 | <hsizetype>1</hsizetype> | 190 | <hsizetype>1</hsizetype> |
212 | <vsizetype>0</vsizetype> | 191 | <vsizetype>1</vsizetype> |
213 | </sizepolicy> | 192 | </sizepolicy> |
214 | </property> | 193 | </property> |
194 | <property stdset="1"> | ||
195 | <name>text</name> | ||
196 | <string>ESS-ID</string> | ||
197 | </property> | ||
198 | </widget> | ||
199 | <widget row="2" column="1" > | ||
200 | <class>QLineEdit</class> | ||
201 | <property stdset="1"> | ||
202 | <name>name</name> | ||
203 | <cstring>NodeName_LE</cstring> | ||
204 | </property> | ||
205 | <property stdset="1"> | ||
206 | <name>text</name> | ||
207 | <string><UseHostName></string> | ||
208 | </property> | ||
215 | </widget> | 209 | </widget> |
@@ -246,3 +240,3 @@ | |||
246 | <name>text</name> | 240 | <name>text</name> |
247 | <string>Specify &Access Point</string> | 241 | <string>Specify Access Point</string> |
248 | </property> | 242 | </property> |
@@ -312,56 +306,2 @@ | |||
312 | </widget> | 306 | </widget> |
313 | <widget> | ||
314 | <class>QLayoutWidget</class> | ||
315 | <property stdset="1"> | ||
316 | <name>name</name> | ||
317 | <cstring>Layout7</cstring> | ||
318 | </property> | ||
319 | <property> | ||
320 | <name>layoutMargin</name> | ||
321 | </property> | ||
322 | <hbox> | ||
323 | <property stdset="1"> | ||
324 | <name>margin</name> | ||
325 | <number>1</number> | ||
326 | </property> | ||
327 | <property stdset="1"> | ||
328 | <name>spacing</name> | ||
329 | <number>6</number> | ||
330 | </property> | ||
331 | <widget> | ||
332 | <class>QCheckBox</class> | ||
333 | <property stdset="1"> | ||
334 | <name>name</name> | ||
335 | <cstring>SpecifyChannel_CB</cstring> | ||
336 | </property> | ||
337 | <property stdset="1"> | ||
338 | <name>text</name> | ||
339 | <string>Specific &Channel</string> | ||
340 | </property> | ||
341 | </widget> | ||
342 | <widget> | ||
343 | <class>QSpinBox</class> | ||
344 | <property stdset="1"> | ||
345 | <name>name</name> | ||
346 | <cstring>ChannelNr_SB</cstring> | ||
347 | </property> | ||
348 | <property stdset="1"> | ||
349 | <name>enabled</name> | ||
350 | <bool>false</bool> | ||
351 | </property> | ||
352 | <property stdset="1"> | ||
353 | <name>maxValue</name> | ||
354 | <number>15</number> | ||
355 | </property> | ||
356 | <property stdset="1"> | ||
357 | <name>minValue</name> | ||
358 | <number>1</number> | ||
359 | </property> | ||
360 | <property stdset="1"> | ||
361 | <name>value</name> | ||
362 | <number>1</number> | ||
363 | </property> | ||
364 | </widget> | ||
365 | </hbox> | ||
366 | </widget> | ||
367 | <spacer> | 307 | <spacer> |
@@ -412,3 +352,3 @@ | |||
412 | <name>name</name> | 352 | <name>name</name> |
413 | <cstring>EnableWEB_CB</cstring> | 353 | <cstring>EnableWEP_CB</cstring> |
414 | </property> | 354 | </property> |
@@ -513,2 +453,6 @@ | |||
513 | </property> | 453 | </property> |
454 | <property stdset="1"> | ||
455 | <name>enabled</name> | ||
456 | <bool>false</bool> | ||
457 | </property> | ||
514 | </widget> | 458 | </widget> |
@@ -520,2 +464,6 @@ | |||
520 | </property> | 464 | </property> |
465 | <property stdset="1"> | ||
466 | <name>enabled</name> | ||
467 | <bool>false</bool> | ||
468 | </property> | ||
521 | </widget> | 469 | </widget> |
@@ -527,2 +475,6 @@ | |||
527 | </property> | 475 | </property> |
476 | <property stdset="1"> | ||
477 | <name>enabled</name> | ||
478 | <bool>false</bool> | ||
479 | </property> | ||
528 | </widget> | 480 | </widget> |
@@ -534,3 +486,3 @@ | |||
534 | <name>name</name> | 486 | <name>name</name> |
535 | <cstring>CheckBox4</cstring> | 487 | <cstring>AcceptNonEncrypted_CB</cstring> |
536 | </property> | 488 | </property> |
@@ -591,3 +543,3 @@ | |||
591 | <name>name</name> | 543 | <name>name</name> |
592 | <cstring>Layout12</cstring> | 544 | <cstring>Layout13</cstring> |
593 | </property> | 545 | </property> |
@@ -605,14 +557,3 @@ | |||
605 | </property> | 557 | </property> |
606 | <widget row="0" column="0" > | 558 | <widget row="4" column="1" > |
607 | <class>QLabel</class> | ||
608 | <property stdset="1"> | ||
609 | <name>name</name> | ||
610 | <cstring>TextLabel1_3</cstring> | ||
611 | </property> | ||
612 | <property stdset="1"> | ||
613 | <name>text</name> | ||
614 | <string>Station</string> | ||
615 | </property> | ||
616 | </widget> | ||
617 | <widget row="3" column="1" > | ||
618 | <class>QLabel</class> | 559 | <class>QLabel</class> |
@@ -620,3 +561,3 @@ | |||
620 | <name>name</name> | 561 | <name>name</name> |
621 | <cstring>Channel_LBL</cstring> | 562 | <cstring>Frequency_LBL</cstring> |
622 | </property> | 563 | </property> |
@@ -624,3 +565,3 @@ | |||
624 | <name>frameShape</name> | 565 | <name>frameShape</name> |
625 | <enum>Panel</enum> | 566 | <enum>Box</enum> |
626 | </property> | 567 | </property> |
@@ -635,13 +576,2 @@ | |||
635 | </widget> | 576 | </widget> |
636 | <widget row="3" column="0" > | ||
637 | <class>QLabel</class> | ||
638 | <property stdset="1"> | ||
639 | <name>name</name> | ||
640 | <cstring>TextLabel4_3</cstring> | ||
641 | </property> | ||
642 | <property stdset="1"> | ||
643 | <name>text</name> | ||
644 | <string>Channel</string> | ||
645 | </property> | ||
646 | </widget> | ||
647 | <widget row="2" column="0" > | 577 | <widget row="2" column="0" > |
@@ -650,3 +580,3 @@ | |||
650 | <name>name</name> | 580 | <name>name</name> |
651 | <cstring>TextLabel3_3</cstring> | 581 | <cstring>TextLabel9_2</cstring> |
652 | </property> | 582 | </property> |
@@ -654,6 +584,6 @@ | |||
654 | <name>text</name> | 584 | <name>text</name> |
655 | <string>Mode</string> | 585 | <string>AP</string> |
656 | </property> | 586 | </property> |
657 | </widget> | 587 | </widget> |
658 | <widget row="1" column="0" > | 588 | <widget row="5" column="1" > |
659 | <class>QLabel</class> | 589 | <class>QLabel</class> |
@@ -661,18 +591,15 @@ | |||
661 | <name>name</name> | 591 | <name>name</name> |
662 | <cstring>TextLabel2_3</cstring> | 592 | <cstring>Channel_LBL</cstring> |
663 | </property> | 593 | </property> |
664 | <property stdset="1"> | 594 | <property stdset="1"> |
665 | <name>text</name> | 595 | <name>frameShape</name> |
666 | <string>ESSID</string> | 596 | <enum>Box</enum> |
667 | </property> | 597 | </property> |
668 | </widget> | ||
669 | <widget row="4" column="0" > | ||
670 | <class>QLabel</class> | ||
671 | <property stdset="1"> | 598 | <property stdset="1"> |
672 | <name>name</name> | 599 | <name>frameShadow</name> |
673 | <cstring>TextLabel9_2</cstring> | 600 | <enum>Plain</enum> |
674 | </property> | 601 | </property> |
675 | <property stdset="1"> | 602 | <property stdset="1"> |
676 | <name>text</name> | 603 | <name>indent</name> |
677 | <string>AP</string> | 604 | <number>0</number> |
678 | </property> | 605 | </property> |
@@ -687,3 +614,3 @@ | |||
687 | <name>frameShape</name> | 614 | <name>frameShape</name> |
688 | <enum>Panel</enum> | 615 | <enum>Box</enum> |
689 | </property> | 616 | </property> |
@@ -698,3 +625,14 @@ | |||
698 | </widget> | 625 | </widget> |
699 | <widget row="5" column="1" > | 626 | <widget row="6" column="0" > |
627 | <class>QLabel</class> | ||
628 | <property stdset="1"> | ||
629 | <name>name</name> | ||
630 | <cstring>TextLabel4_2_2</cstring> | ||
631 | </property> | ||
632 | <property stdset="1"> | ||
633 | <name>text</name> | ||
634 | <string>Rate</string> | ||
635 | </property> | ||
636 | </widget> | ||
637 | <widget row="6" column="1" > | ||
700 | <class>QLabel</class> | 638 | <class>QLabel</class> |
@@ -713,3 +651,3 @@ | |||
713 | <name>frameShape</name> | 651 | <name>frameShape</name> |
714 | <enum>Panel</enum> | 652 | <enum>Box</enum> |
715 | </property> | 653 | </property> |
@@ -724,3 +662,3 @@ | |||
724 | </widget> | 662 | </widget> |
725 | <widget row="5" column="0" > | 663 | <widget row="2" column="1" > |
726 | <class>QLabel</class> | 664 | <class>QLabel</class> |
@@ -728,10 +666,18 @@ | |||
728 | <name>name</name> | 666 | <name>name</name> |
729 | <cstring>TextLabel4_2_2</cstring> | 667 | <cstring>AP_LBL</cstring> |
730 | </property> | 668 | </property> |
731 | <property stdset="1"> | 669 | <property stdset="1"> |
732 | <name>text</name> | 670 | <name>frameShape</name> |
733 | <string>Rate</string> | 671 | <enum>Box</enum> |
672 | </property> | ||
673 | <property stdset="1"> | ||
674 | <name>frameShadow</name> | ||
675 | <enum>Plain</enum> | ||
676 | </property> | ||
677 | <property stdset="1"> | ||
678 | <name>indent</name> | ||
679 | <number>0</number> | ||
734 | </property> | 680 | </property> |
735 | </widget> | 681 | </widget> |
736 | <widget row="4" column="1" > | 682 | <widget row="3" column="1" > |
737 | <class>QLabel</class> | 683 | <class>QLabel</class> |
@@ -739,3 +685,3 @@ | |||
739 | <name>name</name> | 685 | <name>name</name> |
740 | <cstring>AP_LBL</cstring> | 686 | <cstring>Mode_LBL</cstring> |
741 | </property> | 687 | </property> |
@@ -743,3 +689,3 @@ | |||
743 | <name>frameShape</name> | 689 | <name>frameShape</name> |
744 | <enum>Panel</enum> | 690 | <enum>Box</enum> |
745 | </property> | 691 | </property> |
@@ -762,3 +708,3 @@ | |||
762 | <name>frameShape</name> | 708 | <name>frameShape</name> |
763 | <enum>Panel</enum> | 709 | <enum>Box</enum> |
764 | </property> | 710 | </property> |
@@ -773,3 +719,3 @@ | |||
773 | </widget> | 719 | </widget> |
774 | <widget row="2" column="1" > | 720 | <widget row="3" column="0" > |
775 | <class>QLabel</class> | 721 | <class>QLabel</class> |
@@ -777,15 +723,51 @@ | |||
777 | <name>name</name> | 723 | <name>name</name> |
778 | <cstring>Mode_LBL</cstring> | 724 | <cstring>TextLabel3_3</cstring> |
779 | </property> | 725 | </property> |
780 | <property stdset="1"> | 726 | <property stdset="1"> |
781 | <name>frameShape</name> | 727 | <name>text</name> |
782 | <enum>Panel</enum> | 728 | <string>Mode</string> |
783 | </property> | 729 | </property> |
730 | </widget> | ||
731 | <widget row="5" column="0" > | ||
732 | <class>QLabel</class> | ||
784 | <property stdset="1"> | 733 | <property stdset="1"> |
785 | <name>frameShadow</name> | 734 | <name>name</name> |
786 | <enum>Plain</enum> | 735 | <cstring>TextLabel4_3</cstring> |
787 | </property> | 736 | </property> |
788 | <property stdset="1"> | 737 | <property stdset="1"> |
789 | <name>indent</name> | 738 | <name>text</name> |
790 | <number>0</number> | 739 | <string>Channel</string> |
740 | </property> | ||
741 | </widget> | ||
742 | <widget row="0" column="0" > | ||
743 | <class>QLabel</class> | ||
744 | <property stdset="1"> | ||
745 | <name>name</name> | ||
746 | <cstring>TextLabel1_3</cstring> | ||
747 | </property> | ||
748 | <property stdset="1"> | ||
749 | <name>text</name> | ||
750 | <string>Station</string> | ||
751 | </property> | ||
752 | </widget> | ||
753 | <widget row="1" column="0" > | ||
754 | <class>QLabel</class> | ||
755 | <property stdset="1"> | ||
756 | <name>name</name> | ||
757 | <cstring>TextLabel2_3</cstring> | ||
758 | </property> | ||
759 | <property stdset="1"> | ||
760 | <name>text</name> | ||
761 | <string>ESSID</string> | ||
762 | </property> | ||
763 | </widget> | ||
764 | <widget row="4" column="0" > | ||
765 | <class>QLabel</class> | ||
766 | <property stdset="1"> | ||
767 | <name>name</name> | ||
768 | <cstring>TextLabel4_3_2</cstring> | ||
769 | </property> | ||
770 | <property stdset="1"> | ||
771 | <name>text</name> | ||
772 | <string>Frequency</string> | ||
791 | </property> | 773 | </property> |
@@ -801,2 +783,6 @@ | |||
801 | <property stdset="1"> | 783 | <property stdset="1"> |
784 | <name>margin</name> | ||
785 | <number>0</number> | ||
786 | </property> | ||
787 | <property stdset="1"> | ||
802 | <name>title</name> | 788 | <name>title</name> |
@@ -817,3 +803,3 @@ | |||
817 | <name>spacing</name> | 803 | <name>spacing</name> |
818 | <number>2</number> | 804 | <number>0</number> |
819 | </property> | 805 | </property> |
@@ -849,3 +835,3 @@ | |||
849 | <name>progress</name> | 835 | <name>progress</name> |
850 | <number>0</number> | 836 | <number>10</number> |
851 | </property> | 837 | </property> |
@@ -860,3 +846,3 @@ | |||
860 | <name>progress</name> | 846 | <name>progress</name> |
861 | <number>0</number> | 847 | <number>10</number> |
862 | </property> | 848 | </property> |
@@ -874,23 +860,2 @@ | |||
874 | </widget> | 860 | </widget> |
875 | <spacer row="0" column="1" > | ||
876 | <property> | ||
877 | <name>name</name> | ||
878 | <cstring>Spacer28</cstring> | ||
879 | </property> | ||
880 | <property stdset="1"> | ||
881 | <name>orientation</name> | ||
882 | <enum>Horizontal</enum> | ||
883 | </property> | ||
884 | <property stdset="1"> | ||
885 | <name>sizeType</name> | ||
886 | <enum>Fixed</enum> | ||
887 | </property> | ||
888 | <property> | ||
889 | <name>sizeHint</name> | ||
890 | <size> | ||
891 | <width>16</width> | ||
892 | <height>20</height> | ||
893 | </size> | ||
894 | </property> | ||
895 | </spacer> | ||
896 | <widget row="0" column="2" > | 861 | <widget row="0" column="2" > |
@@ -911,3 +876,3 @@ | |||
911 | <name>progress</name> | 876 | <name>progress</name> |
912 | <number>0</number> | 877 | <number>10</number> |
913 | </property> | 878 | </property> |
@@ -937,2 +902,58 @@ | |||
937 | </spacer> | 902 | </spacer> |
903 | <widget> | ||
904 | <class>QLayoutWidget</class> | ||
905 | <property stdset="1"> | ||
906 | <name>name</name> | ||
907 | <cstring>Layout21</cstring> | ||
908 | </property> | ||
909 | <hbox> | ||
910 | <property stdset="1"> | ||
911 | <name>margin</name> | ||
912 | <number>0</number> | ||
913 | </property> | ||
914 | <property stdset="1"> | ||
915 | <name>spacing</name> | ||
916 | <number>6</number> | ||
917 | </property> | ||
918 | <widget> | ||
919 | <class>QCheckBox</class> | ||
920 | <property stdset="1"> | ||
921 | <name>name</name> | ||
922 | <cstring>Refresh_CB</cstring> | ||
923 | </property> | ||
924 | <property stdset="1"> | ||
925 | <name>sizePolicy</name> | ||
926 | <sizepolicy> | ||
927 | <hsizetype>1</hsizetype> | ||
928 | <vsizetype>5</vsizetype> | ||
929 | </sizepolicy> | ||
930 | </property> | ||
931 | <property stdset="1"> | ||
932 | <name>text</name> | ||
933 | <string>Live feed </string> | ||
934 | </property> | ||
935 | </widget> | ||
936 | <spacer> | ||
937 | <property> | ||
938 | <name>name</name> | ||
939 | <cstring>Spacer16</cstring> | ||
940 | </property> | ||
941 | <property stdset="1"> | ||
942 | <name>orientation</name> | ||
943 | <enum>Horizontal</enum> | ||
944 | </property> | ||
945 | <property stdset="1"> | ||
946 | <name>sizeType</name> | ||
947 | <enum>Expanding</enum> | ||
948 | </property> | ||
949 | <property> | ||
950 | <name>sizeHint</name> | ||
951 | <size> | ||
952 | <width>20</width> | ||
953 | <height>20</height> | ||
954 | </size> | ||
955 | </property> | ||
956 | </spacer> | ||
957 | </hbox> | ||
958 | </widget> | ||
938 | </vbox> | 959 | </vbox> |
@@ -944,3 +965,3 @@ | |||
944 | <connection> | 965 | <connection> |
945 | <sender>EnableWEB_CB</sender> | 966 | <sender>EnableWEP_CB</sender> |
946 | <signal>toggled(bool)</signal> | 967 | <signal>toggled(bool)</signal> |
@@ -962,5 +983,23 @@ | |||
962 | <connection> | 983 | <connection> |
963 | <sender>SpecifyChannel_CB</sender> | 984 | <sender>EnableWEP_CB</sender> |
985 | <signal>toggled(bool)</signal> | ||
986 | <receiver>AcceptNonEncrypted_CB</receiver> | ||
987 | <slot>setEnabled(bool)</slot> | ||
988 | </connection> | ||
989 | <connection> | ||
990 | <sender>Key1_RB</sender> | ||
991 | <signal>toggled(bool)</signal> | ||
992 | <receiver>Key1_LE</receiver> | ||
993 | <slot>setEnabled(bool)</slot> | ||
994 | </connection> | ||
995 | <connection> | ||
996 | <sender>Key2_RB</sender> | ||
997 | <signal>toggled(bool)</signal> | ||
998 | <receiver>Key2_LE</receiver> | ||
999 | <slot>setEnabled(bool)</slot> | ||
1000 | </connection> | ||
1001 | <connection> | ||
1002 | <sender>Key3_RB</sender> | ||
964 | <signal>toggled(bool)</signal> | 1003 | <signal>toggled(bool)</signal> |
965 | <receiver>ChannelNr_SB</receiver> | 1004 | <receiver>Key3_LE</receiver> |
966 | <slot>setEnabled(bool)</slot> | 1005 | <slot>setEnabled(bool)</slot> |
@@ -968,7 +1007,14 @@ | |||
968 | <connection> | 1007 | <connection> |
969 | <sender>EnableWEB_CB</sender> | 1008 | <sender>Key4_RB</sender> |
970 | <signal>toggled(bool)</signal> | 1009 | <signal>toggled(bool)</signal> |
971 | <receiver>CheckBox4</receiver> | 1010 | <receiver>Key4_LE</receiver> |
972 | <slot>setEnabled(bool)</slot> | 1011 | <slot>setEnabled(bool)</slot> |
973 | </connection> | 1012 | </connection> |
1013 | <connection> | ||
1014 | <sender>Refresh_CB</sender> | ||
1015 | <signal>toggled(bool)</signal> | ||
1016 | <receiver>WLanGUI</receiver> | ||
1017 | <slot>SLOT_AutoRefresh(bool)</slot> | ||
1018 | </connection> | ||
1019 | <slot access="public">SLOT_AutoRefresh(bool)</slot> | ||
974 | </connections> | 1020 | </connections> |
diff --git a/noncore/settings/networksettings2/wlan/wlan_NNI.cpp b/noncore/settings/networksettings2/wlan/wlan_NNI.cpp index 78e756c..61969f2 100644 --- a/noncore/settings/networksettings2/wlan/wlan_NNI.cpp +++ b/noncore/settings/networksettings2/wlan/wlan_NNI.cpp | |||
@@ -1 +1,2 @@ | |||
1 | #include <unistd.h> | ||
1 | #include "wlanedit.h" | 2 | #include "wlanedit.h" |
@@ -7,8 +8,58 @@ AWLan::AWLan( WLanNetNode * PNN ) : ANetNodeInstance( PNN ) { | |||
7 | RT = 0; | 8 | RT = 0; |
9 | Data.ESSID = ""; | ||
10 | Data.NodeName = tr("<UseHostName>"); | ||
11 | Data.Mode = 0; | ||
12 | Data.SpecificAP = 0; | ||
13 | Data.APMac = ""; | ||
14 | Data.Encrypted = 0; | ||
15 | Data.AcceptNonEncrypted = 0; | ||
16 | Data.Key[0] = ""; | ||
17 | Data.Key[1] = ""; | ||
18 | Data.Key[2] = ""; | ||
19 | Data.Key[3] = ""; | ||
8 | } | 20 | } |
9 | 21 | ||
10 | void AWLan::setSpecificAttribute( QString & , QString & ) { | 22 | void AWLan::setSpecificAttribute( QString & A, QString & V ) { |
23 | if( A == "essid" ) { | ||
24 | Data.ESSID = V; | ||
25 | } else if( A == "nodename" ) { | ||
26 | Data.NodeName = V; | ||
27 | } else if( A == "mode" ) { | ||
28 | Data.Mode = V.toShort(); | ||
29 | } else if( A == "specificap" ) { | ||
30 | Data.SpecificAP = (V=="yes"); | ||
31 | } else if( A == "apmac" ) { | ||
32 | Data.APMac = V; | ||
33 | } else if( A == "encrypted" ) { | ||
34 | Data.Encrypted = (V=="yes"); | ||
35 | } else if( A == "acceptnonencrypted" ) { | ||
36 | Data.AcceptNonEncrypted = (V=="yes"); | ||
37 | } else if( A == "key0" ) { | ||
38 | Data.Key[0] = V; | ||
39 | } else if( A == "key1" ) { | ||
40 | Data.Key[1] = V; | ||
41 | } else if( A == "key2" ) { | ||
42 | Data.Key[2] = V; | ||
43 | } else if( A == "key3" ) { | ||
44 | Data.Key[3] = V; | ||
45 | } | ||
11 | } | 46 | } |
12 | 47 | ||
13 | void AWLan::saveSpecificAttribute( QTextStream & ) { | 48 | void AWLan::saveSpecificAttribute( QTextStream & S ) { |
49 | S << "essid=" << quote( Data.ESSID ) << endl; | ||
50 | S << "nodename=" << quote( Data.NodeName ) << endl; | ||
51 | S << "mode=" << Data.Mode << endl; | ||
52 | S << "specificap=" | ||
53 | << ((Data.SpecificAP) ? "yes" : "no") | ||
54 | << endl; | ||
55 | S << "apmac=" << Data.APMac << endl; | ||
56 | S << "encrypted=" | ||
57 | << ((Data.Encrypted) ? "yes" : "no") | ||
58 | << endl; | ||
59 | S << "acceptnonencrypted=" | ||
60 | << ((Data.AcceptNonEncrypted) ? "yes" : "no") | ||
61 | << endl; | ||
62 | for( int i = 0 ;i < 4 ; i ++ ) { | ||
63 | S << "key" << i << "=" << Data.Key[i] << endl; | ||
64 | } | ||
14 | } | 65 | } |
@@ -16,3 +67,3 @@ void AWLan::saveSpecificAttribute( QTextStream & ) { | |||
16 | QWidget * AWLan::edit( QWidget * parent ) { | 67 | QWidget * AWLan::edit( QWidget * parent ) { |
17 | GUI = new WLanEdit( parent ); | 68 | GUI = new WLanEdit( parent, this ); |
18 | GUI->showData( Data ); | 69 | GUI->showData( Data ); |
@@ -31,5 +82,58 @@ void AWLan::commit( void ) { | |||
31 | bool AWLan::generateDataForCommonFile( | 82 | bool AWLan::generateDataForCommonFile( |
32 | SystemFile &, | 83 | SystemFile & S, |
33 | long ) { | 84 | long ) { |
34 | return 1; | 85 | |
86 | S << " wireless_essid \"" | ||
87 | << Data.ESSID | ||
88 | << "\"" | ||
89 | << endl; | ||
90 | |||
91 | if( ! Data.NodeName.isEmpty() ) { | ||
92 | if( Data.NodeName == tr("<UseHostName>") ) { | ||
93 | char Buf[100]; | ||
94 | if( gethostname(Buf, sizeof(Buf) ) == 0 ) { | ||
95 | Buf[99] = '\0'; // just to make sure | ||
96 | S << " wireless_nick " | ||
97 | << Buf | ||
98 | << endl; | ||
99 | } | ||
100 | } else { | ||
101 | S << " wireless_nick \"" | ||
102 | << Data.NodeName | ||
103 | << "\"" | ||
104 | << endl; | ||
105 | } | ||
106 | } | ||
107 | |||
108 | char * M; | ||
109 | switch ( Data.Mode ) { | ||
110 | case 0 : | ||
111 | M = "Auto"; | ||
112 | break; | ||
113 | case 1 : | ||
114 | M = "Managed"; | ||
115 | break; | ||
116 | case 2 : | ||
117 | M = "Ad-Hoc"; | ||
118 | break; | ||
119 | } | ||
120 | |||
121 | S << " wireless_mode " | ||
122 | << M | ||
123 | << endl; | ||
124 | if( Data.Encrypted ) { | ||
125 | for( int i = 0; i < 4; i ++ ) { | ||
126 | if( ! Data.Key[i].isEmpty() ) { | ||
127 | S << " wireless_key" | ||
128 | << i | ||
129 | << " " | ||
130 | << Data.Key[i] | ||
131 | << endl; | ||
132 | } | ||
133 | } | ||
134 | S << " wireless_keymode " | ||
135 | << ((Data.AcceptNonEncrypted) ? "open" : "restricted") | ||
136 | << endl; | ||
137 | } | ||
138 | return 0; | ||
35 | } | 139 | } |
diff --git a/noncore/settings/networksettings2/wlan/wlan_NNI.h b/noncore/settings/networksettings2/wlan/wlan_NNI.h index d861d13..2211c47 100644 --- a/noncore/settings/networksettings2/wlan/wlan_NNI.h +++ b/noncore/settings/networksettings2/wlan/wlan_NNI.h | |||
@@ -30,3 +30,3 @@ public : | |||
30 | virtual bool hasDataFor( const QString & ) | 30 | virtual bool hasDataFor( const QString & ) |
31 | { return 0; } | 31 | { return 1; } |
32 | virtual bool generateDataForCommonFile( | 32 | virtual bool generateDataForCommonFile( |
diff --git a/noncore/settings/networksettings2/wlan/wlandata.h b/noncore/settings/networksettings2/wlan/wlandata.h index ba1f2c2..36990a9 100644 --- a/noncore/settings/networksettings2/wlan/wlandata.h +++ b/noncore/settings/networksettings2/wlan/wlandata.h | |||
@@ -5,11 +5,10 @@ | |||
5 | typedef struct WLanData { | 5 | typedef struct WLanData { |
6 | QString Device; | 6 | QString ESSID; |
7 | QString LockFile; | 7 | QString NodeName; |
8 | long Speed; | 8 | short Mode; |
9 | short Parity; | 9 | bool SpecificAP; |
10 | short DataBits; | 10 | QString APMac; |
11 | short StopBits; | 11 | bool Encrypted; |
12 | bool HardwareControl; | 12 | QString Key[4]; |
13 | bool SoftwareControl; | 13 | bool AcceptNonEncrypted; |
14 | |||
15 | } WLanData_t; | 14 | } WLanData_t; |
diff --git a/noncore/settings/networksettings2/wlan/wlanedit.cpp b/noncore/settings/networksettings2/wlan/wlanedit.cpp index c884886..8d3979e 100644 --- a/noncore/settings/networksettings2/wlan/wlanedit.cpp +++ b/noncore/settings/networksettings2/wlan/wlanedit.cpp | |||
@@ -1,5 +1,51 @@ | |||
1 | #include <qlineedit.h> | ||
2 | #include <qprogressbar.h> | ||
3 | #include <qcombobox.h> | ||
4 | #include <qlabel.h> | ||
5 | #include <qregexp.h> | ||
6 | #include <qcheckbox.h> | ||
1 | #include <GUIUtils.h> | 7 | #include <GUIUtils.h> |
8 | #include <resources.h> | ||
9 | #include <wextensions.h> | ||
10 | |||
2 | #include "wlanedit.h" | 11 | #include "wlanedit.h" |
12 | #include "wlan_NN.h" | ||
13 | #include "wlan_NNI.h" | ||
14 | |||
15 | WLanEdit::WLanEdit( QWidget * Parent, ANetNodeInstance * TNNI ) : | ||
16 | WLanGUI( Parent ), RefreshTimer(this){ | ||
17 | |||
18 | InterfaceInfo * II; | ||
19 | |||
20 | NNI = TNNI; | ||
21 | Dev = NNI->runtime()->device(); | ||
22 | WE = 0; | ||
23 | if( ( II = Dev->assignedInterface() ) ) { | ||
24 | // show data | ||
25 | WE = new WExtensions( II->Name ); | ||
26 | |||
27 | if( WE->doesHaveWirelessExtensions() ) { | ||
28 | QString S; | ||
29 | Station_LBL->setText( WE->station() ); | ||
30 | ESSID_LBL->setText( WE->essid() ); | ||
31 | Mode_LBL->setText( WE->mode() ); | ||
32 | S.setNum( WE->frequency() ); | ||
33 | Frequency_LBL->setText( S ); | ||
34 | S.setNum( WE->channel() ); | ||
35 | Channel_LBL->setText( S ); | ||
36 | S.setNum( WE->rate() ); | ||
37 | Rate_LBL->setText( S ); | ||
38 | AP_LBL->setText( WE->ap() ); | ||
39 | |||
40 | SLOT_Refresh(); | ||
41 | |||
42 | connect( &RefreshTimer, SIGNAL( timeout() ), | ||
43 | this, SLOT( SLOT_Refresh() ) ); | ||
44 | } | ||
45 | } | ||
46 | } | ||
3 | 47 | ||
4 | WLanEdit::WLanEdit( QWidget * Parent ) : WLanGUI( Parent ){ | 48 | WLanEdit::~WLanEdit( void ) { |
49 | if( WE ) | ||
50 | delete WE; | ||
5 | } | 51 | } |
@@ -7,2 +53,9 @@ WLanEdit::WLanEdit( QWidget * Parent ) : WLanGUI( Parent ){ | |||
7 | QString WLanEdit::acceptable( void ) { | 53 | QString WLanEdit::acceptable( void ) { |
54 | if( ESSID_LE->text().isEmpty() ) { | ||
55 | return QString("ESSID is mandatory"); | ||
56 | } | ||
57 | if( SpecifyAP_CB->isChecked() && | ||
58 | APMac_LE->text().isEmpty() ) { | ||
59 | return QString("APMac must have value"); | ||
60 | } | ||
8 | return QString(); | 61 | return QString(); |
@@ -11,2 +64,14 @@ QString WLanEdit::acceptable( void ) { | |||
11 | void WLanEdit::showData( WLanData_t & Data ) { | 64 | void WLanEdit::showData( WLanData_t & Data ) { |
65 | Mode_CB->setCurrentItem( Data.Mode ); | ||
66 | ESSID_LE->setText( Data.ESSID ); | ||
67 | NodeName_LE->setText( Data.NodeName ); | ||
68 | SpecifyAP_CB->setChecked( Data.SpecificAP ); | ||
69 | APMac_LE->setText( Data.APMac ); | ||
70 | |||
71 | EnableWEP_CB->setChecked( Data.Encrypted ); | ||
72 | AcceptNonEncrypted_CB->setChecked( Data.AcceptNonEncrypted ); | ||
73 | Key1_LE->setText( Data.Key[0] ); | ||
74 | Key2_LE->setText( Data.Key[1] ); | ||
75 | Key3_LE->setText( Data.Key[2] ); | ||
76 | Key4_LE->setText( Data.Key[3] ); | ||
12 | } | 77 | } |
@@ -14,3 +79,37 @@ void WLanEdit::showData( WLanData_t & Data ) { | |||
14 | bool WLanEdit::commit( WLanData_t & Data ) { | 79 | bool WLanEdit::commit( WLanData_t & Data ) { |
80 | bool SM = 0; | ||
81 | |||
82 | TXTM( Data.ESSID, ESSID_LE, SM ); | ||
83 | TXTM( Data.NodeName, NodeName_LE, SM ); | ||
84 | TXTM( Data.APMac, APMac_LE, SM ); | ||
85 | TXTM( Data.Key[0], Key1_LE, SM ); | ||
86 | TXTM( Data.Key[1], Key2_LE, SM ); | ||
87 | TXTM( Data.Key[2], Key3_LE, SM ); | ||
88 | TXTM( Data.Key[3], Key4_LE, SM ); | ||
89 | CBM( Data.SpecificAP, SpecifyAP_CB, SM ); | ||
90 | CBM( Data.Encrypted, EnableWEP_CB, SM ); | ||
91 | CBM( Data.AcceptNonEncrypted, AcceptNonEncrypted_CB, SM ); | ||
92 | CIM( Data.Mode, Mode_CB, SM ); | ||
15 | return 0; | 93 | return 0; |
16 | } | 94 | } |
95 | |||
96 | void WLanEdit::SLOT_Refresh( void ) { | ||
97 | if( WE ) { | ||
98 | int signal, noise, quality; | ||
99 | WE->stats( signal, noise, quality); | ||
100 | |||
101 | Signal_PB->setProgress( signal ); | ||
102 | Noise_PB->setProgress( noise ); | ||
103 | Quality_PB->setProgress( quality ); | ||
104 | } | ||
105 | } | ||
106 | |||
107 | void WLanEdit::SLOT_AutoRefresh( bool ar ) { | ||
108 | if( ar ) { | ||
109 | RefreshTimer.start( 1000 ); | ||
110 | SLOT_Refresh(); | ||
111 | } else { | ||
112 | RefreshTimer.stop(); | ||
113 | } | ||
114 | } | ||
115 | |||
diff --git a/noncore/settings/networksettings2/wlan/wlanedit.h b/noncore/settings/networksettings2/wlan/wlanedit.h index b7442d5..e550c14 100644 --- a/noncore/settings/networksettings2/wlan/wlanedit.h +++ b/noncore/settings/networksettings2/wlan/wlanedit.h | |||
@@ -1 +1,3 @@ | |||
1 | #include <qtimer.h> | ||
2 | #include <wextensions.h> | ||
1 | #include "wlandata.h" | 3 | #include "wlandata.h" |
@@ -3,2 +5,6 @@ | |||
3 | 5 | ||
6 | class ANetNodeInstance; | ||
7 | class AsDevice; | ||
8 | class WExtensions; | ||
9 | |||
4 | class WLanEdit : public WLanGUI { | 10 | class WLanEdit : public WLanGUI { |
@@ -7,3 +13,4 @@ public : | |||
7 | 13 | ||
8 | WLanEdit( QWidget * parent ); | 14 | WLanEdit( QWidget * parent, ANetNodeInstance * NNI ); |
15 | ~WLanEdit( void ); | ||
9 | QString acceptable( void ); | 16 | QString acceptable( void ); |
@@ -11,2 +18,15 @@ public : | |||
11 | bool commit( WLanData_t & Data ); | 18 | bool commit( WLanData_t & Data ); |
19 | |||
20 | public slots : | ||
21 | |||
22 | void SLOT_AutoRefresh( bool ); | ||
23 | void SLOT_Refresh( void ); | ||
24 | |||
25 | private : | ||
26 | |||
27 | ANetNodeInstance * NNI; | ||
28 | AsDevice * Dev; | ||
29 | QTimer RefreshTimer; | ||
30 | WExtensions * WE; | ||
31 | |||
12 | }; | 32 | }; |
diff --git a/noncore/settings/networksettings2/wlan/wlanrun.cpp b/noncore/settings/networksettings2/wlan/wlanrun.cpp index 79f11f7..3f1d4a9 100644 --- a/noncore/settings/networksettings2/wlan/wlanrun.cpp +++ b/noncore/settings/networksettings2/wlan/wlanrun.cpp | |||
@@ -1,5 +1,185 @@ | |||
1 | |||
2 | #include <qfile.h> | ||
3 | #include <qtextstream.h> | ||
4 | #include <qstringlist.h> | ||
5 | #include <resources.h> | ||
1 | #include "wlanrun.h" | 6 | #include "wlanrun.h" |
2 | 7 | ||
8 | void WLanRun::detectState( NodeCollection * NC ) { | ||
9 | |||
10 | // unavailable : no card found | ||
11 | // available : card found and assigned to us or free | ||
12 | // up : card found and assigned to us and up | ||
13 | |||
14 | QString S = QString( "/tmp/profile-%1.up" ).arg(NC->number()); | ||
15 | System & Sys = NSResources->system(); | ||
16 | InterfaceInfo * Run; | ||
17 | |||
18 | QFile F( S ); | ||
19 | |||
20 | if( F.open( IO_ReadOnly ) ) { | ||
21 | // could open file -> read interface and assign | ||
22 | QString X; | ||
23 | QTextStream TS(&F); | ||
24 | X = TS.readLine(); | ||
25 | // find interface | ||
26 | if( handlesInterface( X ) ) { | ||
27 | for( QDictIterator<InterfaceInfo> It(Sys.interfaces()); | ||
28 | It.current(); | ||
29 | ++It ) { | ||
30 | Run = It.current(); | ||
31 | if( X == Run->Name ) { | ||
32 | Run->assignNode( netNode() ); | ||
33 | assignInterface( Run ); | ||
34 | NC->setCurrentState( IsUp ); | ||
35 | return; | ||
36 | } | ||
37 | } | ||
38 | } | ||
39 | } | ||
40 | |||
41 | if( ( Run = assignedInterface() ) ) { | ||
42 | // we already have an interface assigned -> still present ? | ||
43 | if( ! Run->IsUp ) { | ||
44 | // usb is still free -> keep assignment | ||
45 | NC->setCurrentState( Available ); | ||
46 | return; | ||
47 | } // else interface is up but NOT us -> some other profile | ||
48 | } | ||
49 | |||
50 | // nothing (valid) assigned to us | ||
51 | assignInterface( 0 ); | ||
52 | |||
53 | // find possible interface | ||
54 | for( QDictIterator<InterfaceInfo> It(Sys.interfaces()); | ||
55 | It.current(); | ||
56 | ++It ) { | ||
57 | Run = It.current(); | ||
58 | if( handlesInterface( *Run ) && | ||
59 | ( Run->CardType == ARPHRD_ETHER | ||
60 | #ifdef ARPHRD_IEEE1394 | ||
61 | || Run->CardType == ARPHRD_IEEE1394 | ||
62 | #endif | ||
63 | ) && | ||
64 | ! Run->IsUp | ||
65 | ) { | ||
66 | // proper type, and Not UP -> free | ||
67 | NC->setCurrentState( Off ); | ||
68 | return; | ||
69 | } | ||
70 | } | ||
71 | // no free found | ||
72 | |||
73 | NC->setCurrentState( Unavailable ); | ||
74 | |||
75 | } | ||
76 | |||
77 | bool WLanRun::setState( NodeCollection * NC, Action_t A, bool ) { | ||
78 | |||
79 | // we only handle activate and deactivate | ||
80 | switch( A ) { | ||
81 | case Activate : | ||
82 | { | ||
83 | if( NC->currentState() != Off ) { | ||
84 | return 0; | ||
85 | } | ||
86 | InterfaceInfo * N = getInterface(); | ||
87 | if( ! N ) { | ||
88 | // no interface available | ||
89 | NC->setCurrentState( Unavailable ); | ||
90 | return 0; | ||
91 | } | ||
92 | // because we were OFF the interface | ||
93 | // we get back is NOT assigned | ||
94 | N->assignNode( netNode() ); | ||
95 | assignInterface( N ); | ||
96 | NC->setCurrentState( Available ); | ||
97 | return 1; | ||
98 | } | ||
99 | case Deactivate : | ||
100 | if( NC->currentState() == IsUp ) { | ||
101 | // bring down first | ||
102 | if( ! connection()->setState( Down ) ) | ||
103 | // could not ... | ||
104 | return 0; | ||
105 | } else if( NC->currentState() != Available ) { | ||
106 | return 1; | ||
107 | } | ||
108 | assignedInterface()->assignNode( 0 ); // release | ||
109 | assignInterface( 0 ); | ||
110 | NC->setCurrentState( Off ); | ||
111 | return 1; | ||
112 | default : | ||
113 | // FT | ||
114 | break; | ||
115 | } | ||
116 | return 0; | ||
117 | } | ||
118 | |||
119 | bool WLanRun::canSetState( State_t Curr, Action_t A ) { | ||
120 | // we only handle up down activate and deactivate | ||
121 | switch( A ) { | ||
122 | case Activate : | ||
123 | { // at least available | ||
124 | if( Curr == Available ) { | ||
125 | return 1; | ||
126 | } | ||
127 | // or we can make one available | ||
128 | InterfaceInfo * N = getInterface(); | ||
129 | if( ! N || N->assignedNode() != 0 ) { | ||
130 | // non available or assigned | ||
131 | return 0; | ||
132 | } | ||
133 | return 1; | ||
134 | } | ||
135 | case Deactivate : | ||
136 | return ( Curr >= Available ); | ||
137 | default : | ||
138 | // FT | ||
139 | break; | ||
140 | } | ||
141 | return 0; | ||
142 | } | ||
143 | |||
144 | // get interface that is free or assigned to us | ||
145 | InterfaceInfo * WLanRun::getInterface( void ) { | ||
146 | |||
147 | System & S = NSResources->system(); | ||
148 | InterfaceInfo * best = 0, * Run; | ||
149 | |||
150 | for( QDictIterator<InterfaceInfo> It(S.interfaces()); | ||
151 | It.current(); | ||
152 | ++It ) { | ||
153 | Run = It.current(); | ||
154 | if( handlesInterface( *Run ) && | ||
155 | ( Run->CardType == ARPHRD_ETHER | ||
156 | #ifdef ARPHRD_IEEE1394 | ||
157 | || Run->CardType == ARPHRD_IEEE1394 | ||
158 | #endif | ||
159 | ) | ||
160 | ) { | ||
161 | // this is a LAN card | ||
162 | if( Run->assignedNode() == netNode() ) { | ||
163 | // assigned to us | ||
164 | return Run; | ||
165 | } else if( Run->assignedNode() == 0 ) { | ||
166 | // free | ||
167 | best = Run; | ||
168 | } | ||
169 | } | ||
170 | } | ||
171 | return best; // can be 0 | ||
172 | } | ||
173 | |||
3 | bool WLanRun::handlesInterface( const QString & S ) { | 174 | bool WLanRun::handlesInterface( const QString & S ) { |
175 | InterfaceInfo * II; | ||
176 | II = NSResources->system().interface( S ); | ||
177 | if( ( II = NSResources->system().interface( S ) ) ) { | ||
178 | return handlesInterface( *II ); | ||
179 | } | ||
4 | return Pat.match( S ) >= 0; | 180 | return Pat.match( S ) >= 0; |
5 | } | 181 | } |
182 | |||
183 | bool WLanRun::handlesInterface( const InterfaceInfo & II ) { | ||
184 | return ( Pat.match( II.Name ) < 0 ); | ||
185 | } | ||
diff --git a/noncore/settings/networksettings2/wlan/wlanrun.h b/noncore/settings/networksettings2/wlan/wlanrun.h index f46bcb7..25d5b96 100644 --- a/noncore/settings/networksettings2/wlan/wlanrun.h +++ b/noncore/settings/networksettings2/wlan/wlanrun.h | |||
@@ -23,12 +23,7 @@ protected : | |||
23 | 23 | ||
24 | void detectState( NodeCollection * ) | 24 | void detectState( NodeCollection * ); |
25 | { } | 25 | bool setState( NodeCollection *, Action_t, bool ); |
26 | 26 | bool canSetState( State_t, Action_t ); | |
27 | bool setState( NodeCollection *, Action_t ) | ||
28 | { return 0; } | ||
29 | |||
30 | bool canSetState( State_t, Action_t ) | ||
31 | { return 0; } | ||
32 | |||
33 | bool handlesInterface( const QString & I ); | 27 | bool handlesInterface( const QString & I ); |
28 | bool handlesInterface( const InterfaceInfo & II ); | ||
34 | 29 | ||
@@ -36,3 +31,5 @@ private : | |||
36 | 31 | ||
32 | InterfaceInfo * getInterface( void ); | ||
37 | QRegExp Pat; | 33 | QRegExp Pat; |
34 | WLanData * Data; | ||
38 | }; | 35 | }; |