[PC-BSD Commits] r140 - in pcbsd/trunk: NetworkManager ethernetconfig/src wificonfig

svn at pcbsd.org svn at pcbsd.org
Thu Mar 15 08:59:06 PST 2007


Author: kris
Date: 2007-03-15 17:59:06 +0100 (Thu, 15 Mar 2007)
New Revision: 140

Modified:
   pcbsd/trunk/NetworkManager/networkman.ui
   pcbsd/trunk/NetworkManager/networkman.ui.h
   pcbsd/trunk/ethernetconfig/src/ethernetconfigwidget.cpp
   pcbsd/trunk/ethernetconfig/src/ethernetconfigwidget.h
   pcbsd/trunk/ethernetconfig/src/ethernetconfigwidgetbase.ui
   pcbsd/trunk/wificonfig/wificonfigwidgetbase.ui
   pcbsd/trunk/wificonfig/wificonfigwidgetbase.ui.h
Log:
Fixes to restarting network problems. Also added checks in place for apply button status

Modified: pcbsd/trunk/NetworkManager/networkman.ui
===================================================================
--- pcbsd/trunk/NetworkManager/networkman.ui	2007-03-14 22:03:37 UTC (rev 139)
+++ pcbsd/trunk/NetworkManager/networkman.ui	2007-03-15 16:59:06 UTC (rev 140)
@@ -772,7 +772,7 @@
 </widget>
 <images>
     <image name="image0">
-        <data format="PNG" length="4723">89504e470d0a1a0a0000000d4948445200000040000000400806000000aa6971de0000123a49444154789ced5b7f505cd775feb09fec478d3a0f17a5bb8d94b04d640b759d2e042782c82950a59141492944892d22cb062b894494581549eaeeaab5665733d12c2451b3db56099b9866d76a319089b48b3a4a59b9b8ac3c286c5c24c02379763dc86535b286a598c00b7aced73fee7bcbb2021b482439d39c999dc3d91ff7beef9c73cf3de7dc0bf0ff9cb26ef604b2cd9927c3b145d51c9b65c89b54a8ef9725579eaa39204b32544d850cd715158e5765491e5035f50515aeffc085aca99bfd6c3795141bb72a567b30bf8cd7ebbfd64192e42017a649c1826192a364c976cf8c62e3bfca56fbe6db8d63d9245bed658ad5f972cd3e3f49727a5a0739bb309f5ee4fda18be3640b99bfd97946b1d98b6f37ae7724939539b2d5fe2c4f938cea600cf0ba85399e01767c113e399f3b5b783d7f139b91ef946f37ce0549b17283a9d8f92adbc8f1ab02b5c1a775106363e33a9f7e5bd9f8dd58c6387dfd31963fca73b2f5c0dadb8d771e29566e36153bdf24495ed52d37b68865634be45717912f92e5279890adf60db71b3700015eb1d9df9c6fc9852d38362af8c0e0d8dbf2d8e8f8bcdf678e333038c692ea778112141bf!
 365ab3dc14992a3ba850c6e788061b961c18674ce7ec1fafa17910dcb8f657063fc3069dac44bf2079d79b7077d1925d96aff59cd1e3d5a938cc532b86e7143eee915a88261830f2d28f744849cf224639cd1f9e3ef3dd841c56a3f795bf0cb56fb33b12d64475786652e6658b057b08eee219d2f4d4e595cdf4d868c71756e7892a9d849c5c6c76f35f87cc5e69cd9fb745060d53d606850e7ba6c58b6b57d6059dcf0941b3d4728293d66d47f8d94adf637149b53b9650a50ac7cb67c7b2b7991ec8b6458ca58e3bd2467494f5b1f394d7adaa8f325c8e45cec18353c448c173c9d363e498f6f804365a462b5fffd4af1dcb99c2f9b8a9da629edf4f73fb4be493a3f1ac6aecf5b10399bc0ba0757237c368e8f14e622722e8175e757a3f9e53034ede3880c46f094b60ecdc31168b3a573f260c6e7ba6cbe3789dcf766237e3989dc75d9885f4aa2f4a3d9880e27f06725abc5f83aafbd7a1f9ebade894ba35fb6aa7769dfc5e48bda4a15b12452acce26c546166ef59017c9a0be663d6d7de418e96c11b2b3a5674e1ed3e5f10c39f3f331bd16488f01b10ccfd26b891ec3038e89ef983639a958f9c84a302dab1a54acfc2f158e8fc9920c254746fc8926842d7144462c80168643ae40e7ba61d43ebc118e6f85e1522bd08410802a28396138a67459ab02a4109a5195fad!
 c628aa0b1be14893766605e938d783c098b2517c39792d8b83e17d1f309143!
 d6046e45
c02a50f9a11f8f130ea2e6f84632a8cc8850a9c3defe8502f1cdebe12252c0dbc8d8a62b553b1918ad549c546166c718b0075daf084013246b60684ecf6f59193e4dea783e420b9f7693fd94bd6ef73eb7287ce45404d658c191e60e411a93ca197e424693fdc43c6c8fafd412a362657826bc91e205beddb64493ea96a2a64c905a39e2f7cc08cf0860638a4305c5faf80eb1f2388bf560a39270475aa0a4027805ae4ca5e24271250510059ae83aa05204b7550b54ec8522d4a6d5134ec2842223103b339cd034692d858909bb27cf8c5382a1eb2c0fbbd2822178a60591b41fcf552749d71001a1e505f397c61258a7847526c7ccab07cba27988ac9cadd7e324c769c48f304ea6b7a9cb41f729361b2668fff46deabf3c1348b67e415034675a9ef3afef621729c3c70906498ccdfeca6622365abb376b9b896be0be4698f48d2339b54cd014992a16aa72149cf606ad681e4c414ba6397f0ea6b45b8968ca2f1b122447f2ea2b6f7fb5efc4dce53687a35842b576be18bfa90f5ab5df0457dc8be6b17ce5d0b41966af1831702f8dcb50f219e9744ae251bc3979258b33e1bd19f275054b85aec3625abc5daffc5463447a3784636c3311ac1f98b973131dd0d19cff4ab570f9d5dae1296448a95cf66c6804c4f28dce61156342cd5e617eb5a5fc395bbfd1c6f274bb6b7b2!
 bc8bacd9ed2763e48e7d7a2c382862c58e7d1d9cee26539d247deda73ccc273ccb79b48f8ccc7b9e65e7034bf780f768d59224db0ccb2fe40953531aa47b259456af43e86408f1d76b917c2b8afb3e6a46e2f20cbef8f9221cfc49086f5cfb1c26fa9aa1ce7e09de9017ab56ed82ef051fde9afd1c8efcc40b2d6b179e7bd9875fced641be63181bcbd7a0f3e4306a3fb506bee786f1456d0d9a5f8ee0fcc5523cf95d0730f73c2fa857cefce77295b024121ea06bdae65cd413384976b4f7084b798505078c5e607add3f48e697b9595026786c9bf088c26d731e5052dd4af6cfe51bfe768a0cd337408ea53f877dc51e70c752bfa8c2710d9243447f195035070c19929c92abbeea43edf60a049e0ba051ae45f86c02450f00d1f349c0020c5f12bcf1782754b509c929175455455db60fd0ea204b3e4c4cd5e233c703c8cd6d40a9db87aa8721d6fe76c07b3c8a4614c1f57c048003b2ec9a9b1fae89e52a60c9a458f96543d3f965ee1b2c6fc8e3ed14b9fc18d9dad6332f7a1b9ed071822ca91619656cab9e599e262b77fa397d822c7f54f0ca9d7e3242faf5aab33530246a8663620ed32637c7aad37701fb5f2e17d7723ce082a1e95cb9e906cb1bf2933f6d06d600de1ffbd0800a84cec481128868fe00303c92446d1c50352f2035a256f2c2626944dda94e984c7578!
 f25427b2a53a541df701a843e3a910eafe0af03d378c066d23bc3f8aa25103!
 1abf1d82
25af09be8722c8cdd19f07185aae02964c262b7314abfdba62230bb6ba69dab4480c48ebfdb7faf40c2ea36aacd9ede758b5d835cadbc9fafd1d647f060f0b4f6058dff767d3a27f4b1f4dc564cd13fef458905809aee5d6023f55e1d862ca53902d01896b4d9877c223b95051d88cce1f34219148c06c362374268eaa720bc26713a82831a3ee2b018cc4eb0078013402f0c2b2ae118adc0948b5a9cc50963ae1956ad18800bc1bea10401875a8805715999ff77907767cc20555eb44f78b235035d5af5e38bc73254a5832c956fb938a4d7462cabb16de0d625be7a2fdd0a0def6d26b05fb911e8e779125d51e1103aa3d1cab26cb1f6d258749674b87384b30aa42a32f609c2318e70cc3e2efbd07fdccdfaccf6f65d54a302dcf036c4e45d5d4cbb2e4cab1e47b01ad1123af39e6d506808ae47e17f098f84d3c1e87c56241e7f3619c1da90010c0cc541d20fb60c96b80d91c42ddf62ac42fc561596f0166006403b80e60d51c9f9999417676f60dcf14782e04eff1aad7cf064b2dc0d99bdb0f104ae07714ab9d435b84e50aca3232c24d64e54e37e79161c1ccf3824ccab4f4e87c4f4ae511939c4703fd03d7497e662578967d3a2cdbec79b2265f8204a570bd032abc48246670656202b2e48292e382d9ec40cde6009abe5297fa5df28d2472d7e4a6788a740b271349e!
 49a73113a1942d5e52a34bdde8cc4b5264ca82e4003a0a9087dd08580b513753b6a91b89c80799d39354ce46c442b2d29fd545656d6bfaf4411cb22c56aff92910f8c77094fc82f23956227635bc9f29dade455d27944e4f81d5da2deefebd57b7efaaed0d1de21a2fa6191f1edd8e721c364e513ad7a3ed0caf12e912718f34d9fd0fb09e91ea1535f6fdf1b24977556b0e2fb01b2d57e4a96e4ad96b5b950563702920fea9b0d505511d54b8aa368928a5071d201557541969b909b2d031200b820cbcd50b52640f2016800f4bc4055c5ee30a3e9bb84e6c5c44c23806628ab9ba0429f67ca81e1275c883f24628c1123422743addb3ebd6df74a712d999462e62956fb2553b11ec54febd55d2fb9639fd89f9d4749f692958f3a395d4d9657db39dd25649e206b76bac96eb2e609837bc86eb272671a3f4dd6ec6ee574b7f0ac92f6d4ee73eec07efbe3f36282e81fcc044f0497ec05bfd60d11c5ca0d905c671445366db4e442911b002900b3a94ef400732ad0f89ae8014e4cf9a04e3440551d9065fd945b7200684e8d274b4da90c51967d50e406a8520013d7eaa06a3ecca80d18b9e482aae115559d28575f69b9d27aacf57cc3171aacc618a15321543d5cf5a5acacac63bf0eb62553fe666ec8dfecbe5cb84defecf4eb75fd18e93caa77838f8a1dc0ded2430e93f5f!
 b5b85a7ec169da2fa3d1e32a2bf1f250f1cf4ebfd01510bd4ec1631217fb39!
 3f99b382
26f709a8cf919e3773277878ef68ee34b7dfedfc81da182cd34436e7e5ec969fa98d91c8029af0ed939219872aa00298226a9145e44d02895c28b281aa522783551d579d5081a518a662d0ca002aa16860315706821a86a1592d702b872ad0ef14433a02198b8a23e3af1cac1d4fd21f761f7379bfeb6e91b861c3a154255b2ea675975590ffe26b01994a5bfee04701780df03a000780f80b5003e20cbca038565f6ef957751abd9e31799dd5161154fdb00393bd72d36fafafe76c15b0303fa4992c801dcc7c439c3dea783e469b2a4daf38ba1321e06f07e002600f702580d40e6245f4a658c7a7ee16ff3c76f36701380f701b80fc087007c04c043003e61ca2ffc42f976777fcd1e3fe9d5c1910c9e16c94ce63d82d459a2feb921ef3d1864cd6e6a25db9c3d8aa9e01100e5004a0114eb736ed8bb67efe783ddc1795b61b03b48b6f1d7ee0b1ac0efd0c1df099198ca00eec19cf5df07e08300ac003eac2be19300aaf337947fb572a733c47e4eda8f08cbfabbf48c2e3cdf138c5ac17dac8fbc48d6eff38f4fb733685a5bf855009f01f069000f03f8737d8e8f9614976cf1fbfcff930edec818fd017fdb7280be9312d2ff36e474a548fa6b158497dca3bfb201dc0549964b36d5dc6f5e5ff027169363bd2c77bec79553bbdaa185204b5550b5105c6ad5ff364cf8ae4e!
 5c89c746ce475e19b970661400f5b934fd751dc02c80d9426b614ee3fec6a30df50def37324923338c9c89a0f472e92359bbb2ba00bc05e0572b55403a65364e0cefc87c194a90d35ed900eed6ff5e95a6bc3bf5dfa42bf69de83aab797fe78ecebfaedd5e3b974fbf01600d8073001ec46bb96b724b26ae4d4c4228ec57781b25484b9c78a1018cf70ce564e913aa007e8139b046ec9031a788bbd2b8a18cb7558269ad2927b127b12b521ef98bda92b9f38f6452d416d17351143d5804c7df390e4e5c9b786b89b86e09194174158437ac8688e22600f900364004b5620025003e0e600b80ad003ea528ca670fec3ff04392c954356950c64d92d663adff04b1532810ca363cec5d457760e1add402e07e88805a685a6b2a731e74fe43f044709c24a78d2ba77ac91c8b89ec6720aadf30f1b59e82d895fe501fdb5862ef0e1abacab595013e4ef2597b98a1e951de07200773deb00e80855ddcea69f1fc90e464ea8c703a831bf70574cb7bbc9e008002007f04e161abb0b0f56f9d37282d540abdacae0cd06327473af4870eea079e3d31be49b209c09a425be17dce43ceaf33c09706fa8545a727a7e7f1f1abc65da4a174cbabce434ea70efebd007e1fc2bb8ca09c49375101c394951696c5c6e92a6fe34b24afbb8dbadfb058e6c56991bbbf1a3c4d354dbe91a76e8ae8!
 794484e42c476aaa6b6a20968d19c2f28b81cfdcc67fb3a4b430afb28d6fee!
 20597f82
ac2759df4dda49060df08bd0b8ae9421fd3ee0f4b89129ea37472fc6e6810f9e084ef210bf25cbf287017c002286e4e0edddfee6810700d3113e49921dfa29ee80be76fdfa19c14066f43628f37da3076858dab81728dcfe97ee16f7bf156c282807b0112266dc0bb1b3484b007ff31450d3c66047b758bbf6f07ccbc6321aa08632068617d6ca98eef67d91be94c5dd87ddff52585cf830c476f9c710917e35c456979e502d04da48da6e0e9946b9da7e82331c243d87f78a87be381f9421b71a373d8ccf67e77fcf903d019263fcef03fb0e3815457908800da2e6782f805cccb7fa6d016f243792e9f0f4e324b977ff019235f407f69247c98ea870811e3d80f5e837496f00ad53df584a49c9c24de59f06f02080428844691d803f80a831eec27c977f3bf0378db22082cedd9ce4494f5b5044ec5e2749d2ddee2663a447bfd1d1b7d8ff0a5d9def213aef00f0a73af0f701c8d381dfbd08f05b0ede98f04e007717b48cefab3cc2dea15ee704498ef7db49ba19ecb693de4ada0f8a16b651e71bff2394f28c0c5ef3b4ffb31029721e44744f07be58f174cb80a79351fddd0de01e92aff3a288018c0a4f18e87292a3a4fb98deb4c8b8f76f804e8b1131886dcd08700badf37715a59682e7e9c23564cd710ed6ab243916719274d279c8491e257bfac716046d24499e08fb0!
 f900fe3c66ded5d093c9d8c482b6202a71fe3f08eeba41e1306c9d62efd442803bc7f90d74906eb7d439f84d140593c8dfdada12cb2d2321dad3943d6cf1c38d29a24c99ee1e9748bcfb823fc763d793f7ecbacbd6422cb7378ac3c8fe43f1bf7fc3cfd4c90fc46fd09deba7f70b8ddb4a38bf9247f74e03477951fe2523b50bfa3dfd12da2ff03f24d90541ff67f080000000049454e44ae426082</data>
+        <data format="PNG" length="4696">89504e470d0a1a0a0000000d4948445200000040000000400806000000aa6971de0000121f49444154789ced5b7f505cd775feb09fec47833a8f14a5bb8d94b04d640b759d2e042782c82950a59141492944892dacc88628894494441549aaeeaab56657936a16d2a865db2a651313efdaad0c6406ede28e5a56292eab0c329b5412e0913ca0412eabc11a9662b2bc482ff9fac7bd6f5956c8061249ce346766e770f6c77def3be7bcf3eb5e80ffe79475bb2fa03adc792a5c5b74c3b55985ba4987fe5e55f1e4e9860baaa2423774a8f05cd5e17a5555d441ddd07fa8c3f31fb890357bbbefedb692e6e056cdee0ce597f146fdd73a48923cc7c56946b05084e40459b2bd754e73f05f54bb73f3ddc6b16c52edce32cdeefe49cdbe004932999420af2fce93b7787fe8e214d942e66f769fd61ccee2bb8deb2dc962678e6a773ec308c9980463829716e65406d8a95bf09985dcddc21bf99bd88c7cb77ab7712e4a9a9d1b2cc5ee57d94e4e4d0ad4264f4a101313539227df54367f3791b14effc028cb1fe759d57e60edddc6bb80343b375b8add6f902427a5e5266e61d9d125f2c95bc817c9f21ec655bb73c3ddc60d4080d71cce37165a72710b4e8c0b3e786ee24df9e8f8d482df67ae33786e8225d56f0325680ee6ab7!
 6679c4992e3d24226373dc0b4dcb06043927340b0fe815bc8a6e52732b8b97e84b46ce225f5fdeebcbb83be8c8a6a77be5cb347466b92a3a3195c5adc947bfb04aa50c4e4438bcabd5121a73cc95c677ce1fa7b0f7550b33b4fde15fcaaddf9f4c416b2a32bc33217332cd8275847cf90e44b93531697d964c85c5772d3932cc56e6a0e3e79a7c1e76b0ef7dcde832181557ac0d039c9a56c5ab6edc4e0b2b8e929377b8e50527acca8ff1aa9da9daf6b0eb776c714a0d9f94cf9f6367294ec8f6658ca7cc6a5e55bdbfbc9eb646b3b255f824ccec78e71d343040f9dca58df3fc8d13252b33bff7aa578ee5dce972dc56ecbac71ea9f3fb0be49397f39825d4fd8103d13c7ba87572372660c1f2acc45f46c1cebceaf46f3600486f151447f12c5578d7568be108571bd745efe49c6e752b6be3381dc776763ec4a02b9ebb231762981d20f6723763e8e3f2a592dd697bc76f2017ce946272e8d7fc9aedf67fc3d665e3256aa882591667737690eb2706b2b394a867ad22c3d49ba5b84ec6ee99d9727a53c9321677e3e297b01723e068c667896ec257a4d0f382ebcc4b2c94dcdcec756826959dda066e77fe9707d44555468392ac69e6a42c43686e8880d302270a915e85c378cda4737c2f5ad083c7a059a100650052d2702d7ac948d2a4009a31955a9cf6d96281aeb4b117!
 f7d0ed635d9181b4bc066cbc5f0a50436aecf45ec7c1c450f59113d1b47e9c!
 356047f3
08cba2b1be19a8d207aa10267cebb3af40b47b6af44094b03efa0a6d99dd41ca46677537390055bbc0b9ecdd6f641729c6c0b0ad9ebef2793e4de83217298dc7b304046c9fa7d5e2977482e026aaa62ccf000b38e48d5097d2493a4f3482f394ed6ef0f517330b1125c4bf600d5eedca62aea49ddd0a12a1e98fd7ce14356443634c0a544e0f97a053cff10c5d8e552a83961e8b355003a01d42257f521311d878e02a86a1d74230855a9836e7442556a51ea88a1614711e2f13958ad691e3092c0c682dc94e5232f8da1e2111b7cdf89217aa108b6b5518cbd568aaed32ec0c043fa2b472eac44116f499a835f352d9fee099662b2727780ec233bbad33c81f2999e219d87bd641f59b32770338f4a3e9c66f18cba62d0ec2e65d6099c182267c803878437e46ff6527390aadd5dbb5c5c4bcf0279c6638af2f426dd70415154e8c62928cad398bdee42627a163daf5ec2ab978b702d1143e3678b10fbb188dabee33efc45ce57d174318cab93b5f0bfec47d62f76c1ffb21fd9f7edc2d9c93054a516df8d04f1996b1fc0585e02b9b66c0c5f4a60cdfa6cc47e1c4751e16a916d4a568b67ffa71bd1fc720c4fab56b82e4771fee2154c277ba0e2e9017df2f099e52a6149a4d9f94c660cc8f484c26dadc27aa6a5da03a2a797cf70e5ee00935d64c9f63696779335bb03e438b9!
 639f8c058744acd8b1af833c45a62649f2d94f79985f7896fb583f39b0e07e965d0f2cdd03de65542b8aea302dbf9827ccce1a503405a5d5eb103e19c6d86bb548dc88e1810f5b11bf32872f3c5184833f08e3f56b9fc1f44bcdd0af7f11be933eac5ab50bfe881f3fbffe191cfd810f46d62eb4c7fcf8d9f53aa8f70c6363f91a749e1c46ed27d6c0ffdc30be60ac41732c8af3174bf1b9632e60fe7e7ea85f3dfd9fcb55c292487880d4b4c37d4b4f6092ec38d12b2ce513161c346781e97dff30995fe6654199e013db8447146e9bf78092ea3632365f6f044e981e30484ea6df8773c51e70cf52bfa8c3750d8a4b447f15d00d174c198a9a92ab1afda8dd5e81e0734134aab5889c89a3e82120763e01d880e14b82373edb095d6f4262d6035dd7519bed078c3aa88a1fd3b3b5a87a3688dcdc06947ed38faa47219efded80effb3134a2089ee7a3005c5055cffcf5e1995eae02964c9a9d5f32359d5fe6bdc9f2a69ceca2a8e527c9b6f6de05d1dbf4848e6eb2a45a5494135b656519212b7706c81eb2fc71c12b7706c8013220bbceb6e090e8198e8b9ac1b2c9cba9eaf42ce0fcd3e5e25a8e075c30359dab36dd6479537ee2c566600de07bc18f0654207c7a0c288188e60f01c32309d48e01bae103944654293ed86c8da83bd9098ba50e75273b91add4a1e2593f803a!
 349e0ca3eecf00ff73c3683036c2f7bd181a0da0d11b862daf09be47a2c8cd!
 91f7030c
2d57014b268b9d399add79437390055bbdb46cba450c30eb76926d7e59c165748d35bb039caa1659a3bc8bacdfdf41c632789ff4843e99f7d3a37f4b3f2dc564cd5381f458105f09aee5f602ffaec3b5c592a7215b01e2d79ab0608747f1a0a2b0199ddf6d423c1e87d56a45f8f418aaca6d889c89a3a2c48aba2f0731325607c007a011800fb6758dd0d44e40a94d5586aad2099f528b4604e1db50872022a843057cbaa8fc7c2fb8b0e3631ee846277a5e1a816ee801fdc2919d2b51c29249b53b3fa739c424a6bc7bf16c30b1753eda0f9d93632fd92b388ff632d94d9654b78a1850ddcaa96ab2fcf136f222e96ee9107b06665768ce05cc7d04739f6158bcb7f75080f99be5f5edac5a09a6e57980c3ade9867e45553c39b67c1f603462e4b26b416f00e848ecf7009f15bf191b1b83cd6643e70b119c19a90010c4dc6c1da0fa61cb6b80d51a46ddf62a8c5d1a836dbd0d9803900de0068055f37c6e6e0ed9d9d937dd53f0b9307ccf57bd7626546a03cedcde79805002bfadd99d1cdd222c57509651116e222b777ab9804c0b66ee176452a6a5c7177a52aa8e98e1021a1c18bc41f2532bc1b3ecdd61d5e1cc530df512146885eb5dd0e1433c3e87abd3d350150fb41c0fac56176a3607d1f4e5bad4ef12af2790bb2637c553242d9c8827906bcd45f864185557aad0f45!
 a33e2d79a30ad7b000380a123fc7e0f82f64ed4eda845fc4a1cd675d6d432d13351a3b4a4f413595959ffb612452c8b34bbf38b663d90ec169e905f466ac56e4e6c25cb77b69153a4fba8a8f13bba44bfdfdf27677e322b749ce81051fd88a8f876ec6b25fbc8caa7da643dd0c664b7a813ccebb147ce13d23d42527f5fffeb2497b557b0e2f301aaddf9a2aaa85b6d6b73a1ad6e04143ff4371aa0eb22aa9714c7d0a414a1e2a40bbaee81aa3621375b051400f040559ba11b4d80e207d000c8ba40d7457698336496307c989e6b04d00c6d751374c8ebccba30fc9407638f881863c688f0c970dbb64f6edbbd525c4b26ad98799add79c9522ca3784476775172c73e919fddc784b52b1f7793d56479b593ec96720f59b3d34b9e226b9e32792b798aacdc99c62364cdee36f294f0ac92ae54f6397b60bff3c9053141cc0fe642dda1257bc12f754244b3730314cf694d532d1b6db9d0d4064009c26aa91333c09c0a345e1633c0e9593ff4e906e8ba0baa2a77b9151780e6d47aaad294aa1055d50f4d6d80ae04317dad0ebae1c79cde80914b1ee8065ed1f5e972fd9596ab6dc7dbce377cbec16eae117e318caa47abbe98959575fc97c1b664cadfcc0df99bbd570ab7c9c94e4cf6f593a4fb989c061f2339493a5b7ac98b64fdfe36e129bbc5a4a87e4f2b3920df3f471e3!
 81490f301d10bd4ec1631217fb39bf99b38a26e705bcceb739cdfcecc0e1d2!
 73a9e5fe
afdff4ace08156ca6156af30b5a4ed347acd6202c7975c8ce09c392530528513429a5f0218a46a5143ec4d0a814c16788aecea747d18852341b110015d08d085ca880cb0843d7ab90b816c4d56b75188b37030642f1abfae3d3af1c4a9d1ff21ef1fe4dd35f367dc394c32f865195a87a39ab2eebe15f053693b2e4eb5e00f701f82d001a807701580be07daaaa3d5458e6fc4e79378d9a3d0151d91d1339dd9c119ad36273ae6ff6f76d41f1b9b943e43d2ef619f61e0c9111b2a4baf5a7a3653c02e0bd002c00de096035009549fe285531cafa22d01e18bbddc02d00de03e001001f00f021008f00f89825bff0f3e5dbbd03357b02a46f1e5ce894286632cf11a4f612e5e7a6bcf7508835bb69946c73f76a9682c70094032805502cafb961ef9ebd4f847a420b5261a82744b6f3979e0b9ac0ef91e0ef85284c5500efc0bcf5df03e0fd00ec003e2895f07100d5f91bcabf52b9d31d668c33cea3c2b2812e59d145167a82d92b788ff793a364fdbec014bb18b2ac2dfc0a804f01f824804701fcb1bcc6874b8a4bb604fc81ff49076f568c8160a07d3940df4a09e97f9b72ba5214f95a05e125ef90af6c00f74151d5924d350f5ad717fc81cde25aafaa9deff2e4d4ae761961a84a1574230c8f5ef5bf0dd3fec9e9ab63a323e7a3af8c5c383d0e80f25a867cdd00701dc0f5!
 427b614ee3fec6630df50def352b49b3328c9e8ea2f44ae96359bbb2ba00fc1cc02f56aa8074ca1c9c98de91f93295a0a6bdb201dc2fff5e95a6bc7be56fd215fb567483d57cb07347e79fd76eaf9dafa75f07b006c059000fe372ee9adc92e96bd333100afb05de4409ca122fbcd802e67ba672b2e40575003fc53c583376a89857c47d69dc54c69b2ac1b2d69213df13df152d8ffe496dc9fcfe4722217a8bd8d9188a1e2e82ebaf5c87a6af4dff7c89b8ee08994174158437ac8688e21600f900364004b5620025003e0a600b80ad003ea169daa70fec3ff03d928954376952c64992b6e36dff0891293408659b1ef6b6a27bb0782ab501781022a0165ad65acadc87dc7f17ea0e4d9164d23c722a5be6d15151fd0cc6648af5b7bd0891957e57ae6d3e626f0f1a9de2daca209f24f98c33c23027f800801ccc7bc33a003676736b6b4bebf748cea4f6089319dc9c3b4acbb7fa5a83000a00fc1e8487adc2e2d6bf73dea0b5502bf4b1ba32c8562739d2216f3a24373c7b47f906c926006b0a1d850fb80fbbbfce207f3438202c9a9c492ee05393e659a4a174cbebeec36eb704ff6e00bf0de15d6650cea4dba8808b54b516964dccd053dece1f91bce135fb7ed3629907a745edfe6ae814f534f9669e3a2922eb08b1ee484d754d0dc4636385b0fcadc067a6f15f2d692dcc!
 ab6ce71b3b48d67793f524eb7b4827c950da987c319a924a1992e701935366!
 a5284f8e
5e1c5d003ed41d9ae1617e4b55d50f02781f440cc9c19bbbfded030f0096a3fc1c4976c85ddc41f9ec06e44ed06066f43629f37d7306685ada3c1728dcfe67de16efbf166c282807b0112266bc1322b3284b007ffb1450d3ce50478f78769d9185961dcd18809aca181c5e5c2b13d2edfba3fd298b7b8f78bf5f585cf82844bafc7d8848bf1a22d5a517548b81368bb6db439609ae7676738ec364eb91bde2a62f2e0465ca6de6490ff3f3eb0bbf67caad419293fcef03fb0eb8354d7b048003a2e77837805c2cb4fa5d016f16378ae548f24992dcbbff00c91a06827bc96364474cb840af0c60bdf224e94da025f54fa4949428dc54fe49000f0328842894d601f81d881ee33e2c74f937037fdb280b22e8dccf244fb6b6874484ef739324bd27bce438d92a4f74f4dfea7f8526177a88e41d00fe50027f0f803c09fcfe5b00bfe3e0cd0bde0be0fe8296a97d9547d937d4e79e26c9a90127492f433d4ed25749e72131c236fb7cf37f84529e91c16b0e063e0d5122e74144f774e0b76a9eee18f07432bbbffb01bc83e46bbc28620063c21306bbdce404e93d2e871619e7fe4dd06931621422ad99016eb1e7fc6d45a947a1f560e11ab2e6799eabd7497222ea26e9a6fbb09b3c46f60e4c2c0ada2c925aa31c38403e8a9bd3dadb12783a999156c404f2b31cde7183943161986!
 ceb923b4219e003e7788364a8de3ff4719803945b97b1bf36944556da92b19ad364fddc81a36d0992ec1d4ea65b7cce1be5dfd6930fe2d7ccda4b26b23c87c7cbf348fe9379ceaf75807192dfa8efe69dfb0787bb4d3bba984ff2d903a7b8abfc30973a81fa0dfd86ee10fd1f73e792d98d155beb0000000049454e44ae426082</data>
     </image>
 </images>
 <connections>
@@ -869,6 +869,7 @@
     <variable access="private">int firstUpdate;</variable>
     <variable access="private">KPopupMenu *popup;</variable>
     <variable access="private">QString DevsUp[100];</variable>
+    <variable access="private">bool Changed;</variable>
 </variables>
 <signals>
     <signal>changed(bool)</signal>

Modified: pcbsd/trunk/NetworkManager/networkman.ui.h
===================================================================
--- pcbsd/trunk/NetworkManager/networkman.ui.h	2007-03-14 22:03:37 UTC (rev 139)
+++ pcbsd/trunk/NetworkManager/networkman.ui.h	2007-03-15 16:59:06 UTC (rev 140)
@@ -15,6 +15,9 @@
 
 void NetworkMan::Init()
 {
+    Changed = FALSE;
+    
+    
     // Set tray icon disabled, since we may be running under root mode
     checkSysTray->setEnabled(FALSE);
     checkSysTray->setHidden(TRUE);
@@ -639,7 +642,10 @@
    restartDialog->init();
    restartDialog->exec();
    
-   runCommand("/etc/rc.d/routing restart &");
+    if ( lineGateway->text() != "..."  ) {
+	runCommand("route add default " + lineGateway->text() );
+     }
+   //runCommand("/etc/rc.d/routing restart &");
    runCommand("/etc/rc.d/ppp restart &");
 
 }
@@ -818,6 +824,12 @@
 
 void NetworkMan::save()
 {
+    
+    if ( ! Changed )
+    {
+	return;
+    }
+    
     saveValue("/etc/rc.conf", "hostname=", "hostname=\"" + lineHostname->text() + "\"", -1);
     saveValue("/etc/hosts", "::1", "::1\t\t\tlocalhost localhost.localdomain " + lineHostname->text() + ".localhost " + lineHostname->text(), -1);
     saveValue("/etc/hosts", "127.0.0.1", "127.0.0.1\t\tlocalhost localhost.localdomain " + lineHostname->text() + ".localhost " + lineHostname->text(), -1);
@@ -889,6 +901,7 @@
 	 return;
      }
      
+     Changed=TRUE;
      emit changed(TRUE);
 }
 
@@ -1088,6 +1101,7 @@
     } else {
 	lineIPv6Gateway->setEnabled(FALSE);
     }
+    Changed=TRUE;
     emit changed(TRUE);
 }
 

Modified: pcbsd/trunk/ethernetconfig/src/ethernetconfigwidget.cpp
===================================================================
--- pcbsd/trunk/ethernetconfig/src/ethernetconfigwidget.cpp	2007-03-14 22:03:37 UTC (rev 139)
+++ pcbsd/trunk/ethernetconfig/src/ethernetconfigwidget.cpp	2007-03-15 16:59:06 UTC (rev 140)
@@ -35,6 +35,7 @@
 #include <qdesktopwidget.h>
 #include <qapplication.h>
 #include <qtimer.h>
+#include <qpushbutton.h>
 #include <iostream>
 
 using namespace std;
@@ -103,6 +104,11 @@
 void ethernetconfigWidget::slot_apply()
 {
 
+    if ( ! buttonApply->isEnabled() ) {
+	return;
+    }
+
+
 	if ( checkDisableNetwork->isChecked() )
 	{
 		saveValue( "/etc/rc.conf", "ifconfig_" + DeviceName + "=", "", -1);
@@ -158,13 +164,31 @@
     }
 
 
-    runCommand("/etc/rc.d/netif restart &");
-    runCommand("/etc/rc.d/routing restart &");
+
+    if ( ! checkMAC->isChecked() )
+    {
+       runCommand("ifconfig " + DeviceName + " ether " + lineMAC->text() );
+    }
+
+    //runCommand("/etc/rc.d/netif restart &");
+    //runCommand("/etc/rc.d/routing restart &");
+
      if ( checkDHCP->isChecked() )
     {
          runCommand("dhclient " + DeviceName + " &");
+    } else {
+         runCommand("ifconfig " + DeviceName + " inet " + lineIP->text() );
+	 runCommand("ifconfig " + DeviceName + " netmask " + lineNetmask->text() );
     }
 
+    if ( ! checkIPv6Enable->isChecked() )
+    {
+	runCommand("ifconfig " + DeviceName + " inet6 " + lineIPv6Address->text() );
+    }
+
+   // Done, now set the apply button to off
+   buttonApply->setEnabled(FALSE);
+
 }
 
 void ethernetconfigWidget::slotIPCheckbox()
@@ -175,13 +199,16 @@
 	groupBoxIP->setEnabled(TRUE);
    }
 
+   // Done, now set the apply button to on
+   buttonApply->setEnabled(TRUE);
 }
 
 void ethernetconfigWidget::programInit()
 {
 	// See if we need to enable / disable the IP setup
 	slotIPCheckbox();
-	
+	   // Done, now set the apply button to on
+   buttonApply->setEnabled(FALSE);
 }
 
 void ethernetconfigWidget::saveValue( QString File, QString oldKey, QString newKey, int occur )
@@ -290,6 +317,8 @@
 void ethernetconfigWidget::setDevice(QString Device)
 {
    
+   buttonApply->setEnabled(FALSE);
+
    DeviceName = Device;
 
 
@@ -367,7 +396,8 @@
   } else {
 	tabMainWidget->setEnabled(TRUE);
   }
-
+   // Done, now set the apply button to on
+   buttonApply->setEnabled(TRUE);
 }
 
 void ethernetconfigWidget::slotOK()
@@ -384,7 +414,8 @@
 		groupIPv6->setEnabled(TRUE);
 	}
 
-
+   // Done, now set the apply button to on
+   buttonApply->setEnabled(TRUE);
 }
 
 void ethernetconfigWidget::slotMacClicked()
@@ -394,6 +425,8 @@
    } else {
 	groupMAC->setEnabled(TRUE);
    }
+   // Done, now set the apply button to on
+   buttonApply->setEnabled(TRUE);
 }
 
 void ethernetconfigWidget::loadInfo()
@@ -691,6 +724,7 @@
   loadInfo();
 
 
+  buttonApply->setEnabled(FALSE);
 }
 
 QString ethernetconfigWidget::getIPv6ForIdent(QString ident)
@@ -740,9 +774,17 @@
 	return status;
 }
 
+void ethernetconfigWidget::slotCheckGlobalText(const QString &text )
+{
+   
+  // Done, now set the apply button to off
+  buttonApply->setEnabled(TRUE);
+}
 
 
 
 
+
+
 #include "ethernetconfigwidget.moc"
 

Modified: pcbsd/trunk/ethernetconfig/src/ethernetconfigwidget.h
===================================================================
--- pcbsd/trunk/ethernetconfig/src/ethernetconfigwidget.h	2007-03-14 22:03:37 UTC (rev 139)
+++ pcbsd/trunk/ethernetconfig/src/ethernetconfigwidget.h	2007-03-15 16:59:06 UTC (rev 140)
@@ -92,6 +92,8 @@
     virtual QString getIPv6ForIdent(QString ident);
 private:
     virtual QString getMediaForIdent( QString ident );
+private slots:
+    virtual void slotCheckGlobalText(const QString &text );
 };
 
 #endif

Modified: pcbsd/trunk/ethernetconfig/src/ethernetconfigwidgetbase.ui
===================================================================
--- pcbsd/trunk/ethernetconfig/src/ethernetconfigwidgetbase.ui	2007-03-14 22:03:37 UTC (rev 139)
+++ pcbsd/trunk/ethernetconfig/src/ethernetconfigwidgetbase.ui	2007-03-15 16:59:06 UTC (rev 140)
@@ -8,8 +8,8 @@
         <rect>
             <x>0</x>
             <y>0</y>
-            <width>285</width>
-            <height>419</height>
+            <width>298</width>
+            <height>468</height>
         </rect>
     </property>
     <property name="caption">
@@ -103,10 +103,10 @@
                             <cstring>checkDHCP</cstring>
                         </property>
                         <property name="text">
-                            <string>O&amp;btain IP automatically (DHCP)</string>
+                            <string>Obtain IP automaticall&amp;y (DHCP)</string>
                         </property>
                         <property name="accel">
-                            <string>Alt+B</string>
+                            <string>Alt+Y</string>
                         </property>
                         <property name="checked">
                             <bool>false</bool>
@@ -486,122 +486,233 @@
                             <property name="name">
                                 <cstring>unnamed</cstring>
                             </property>
-                            <widget class="QLabel" row="5" column="0">
+                            <widget class="QLabel" row="1" column="0">
                                 <property name="name">
-                                    <cstring>textLabel3_2_2</cstring>
+                                    <cstring>textLabel3_2</cstring>
                                 </property>
+                                <property name="sizePolicy">
+                                    <sizepolicy>
+                                        <hsizetype>1</hsizetype>
+                                        <vsizetype>5</vsizetype>
+                                        <horstretch>0</horstretch>
+                                        <verstretch>0</verstretch>
+                                    </sizepolicy>
+                                </property>
                                 <property name="text">
-                                    <string>Status:</string>
+                                    <string>Netmask:</string>
                                 </property>
                                 <property name="alignment">
                                     <set>AlignVCenter|AlignRight</set>
                                 </property>
                             </widget>
-                            <widget class="QLabel" row="5" column="1">
+                            <widget class="QLabel" row="0" column="0">
                                 <property name="name">
-                                    <cstring>textStatus</cstring>
+                                    <cstring>textLabel3</cstring>
                                 </property>
+                                <property name="sizePolicy">
+                                    <sizepolicy>
+                                        <hsizetype>1</hsizetype>
+                                        <vsizetype>5</vsizetype>
+                                        <horstretch>0</horstretch>
+                                        <verstretch>0</verstretch>
+                                    </sizepolicy>
+                                </property>
                                 <property name="text">
-                                    <string></string>
+                                    <string>IP:</string>
                                 </property>
+                                <property name="alignment">
+                                    <set>AlignVCenter|AlignRight</set>
+                                </property>
                             </widget>
-                            <widget class="QLabel" row="4" column="0">
+                            <widget class="QLabel" row="2" column="0">
                                 <property name="name">
-                                    <cstring>textLabel3_2_2_2</cstring>
+                                    <cstring>textLabel3_2_3</cstring>
                                 </property>
+                                <property name="sizePolicy">
+                                    <sizepolicy>
+                                        <hsizetype>1</hsizetype>
+                                        <vsizetype>5</vsizetype>
+                                        <horstretch>0</horstretch>
+                                        <verstretch>0</verstretch>
+                                    </sizepolicy>
+                                </property>
                                 <property name="text">
-                                    <string>Mac:</string>
+                                    <string>Gateway:</string>
                                 </property>
                                 <property name="alignment">
                                     <set>AlignVCenter|AlignRight</set>
                                 </property>
                             </widget>
-                            <widget class="QLabel" row="4" column="1">
+                            <widget class="QLabel" row="3" column="0">
                                 <property name="name">
-                                    <cstring>textMac</cstring>
+                                    <cstring>textLabel3_2_3_2</cstring>
                                 </property>
+                                <property name="sizePolicy">
+                                    <sizepolicy>
+                                        <hsizetype>1</hsizetype>
+                                        <vsizetype>5</vsizetype>
+                                        <horstretch>0</horstretch>
+                                        <verstretch>0</verstretch>
+                                    </sizepolicy>
+                                </property>
                                 <property name="text">
-                                    <string></string>
+                                    <string>IPv6:</string>
                                 </property>
+                                <property name="alignment">
+                                    <set>AlignVCenter|AlignRight</set>
+                                </property>
                             </widget>
-                            <widget class="QLabel" row="0" column="0">
+                            <widget class="QLabel" row="4" column="0">
                                 <property name="name">
-                                    <cstring>textLabel3</cstring>
+                                    <cstring>textLabel3_2_2_2</cstring>
                                 </property>
+                                <property name="sizePolicy">
+                                    <sizepolicy>
+                                        <hsizetype>1</hsizetype>
+                                        <vsizetype>5</vsizetype>
+                                        <horstretch>0</horstretch>
+                                        <verstretch>0</verstretch>
+                                    </sizepolicy>
+                                </property>
                                 <property name="text">
-                                    <string>IP:</string>
+                                    <string>Mac:</string>
                                 </property>
                                 <property name="alignment">
                                     <set>AlignVCenter|AlignRight</set>
                                 </property>
                             </widget>
-                            <widget class="QLabel" row="0" column="1">
+                            <widget class="QLabel" row="5" column="0">
                                 <property name="name">
-                                    <cstring>textIP</cstring>
+                                    <cstring>textLabel3_2_2_3</cstring>
                                 </property>
+                                <property name="sizePolicy">
+                                    <sizepolicy>
+                                        <hsizetype>1</hsizetype>
+                                        <vsizetype>5</vsizetype>
+                                        <horstretch>0</horstretch>
+                                        <verstretch>0</verstretch>
+                                    </sizepolicy>
+                                </property>
                                 <property name="text">
-                                    <string></string>
+                                    <string>Media:</string>
                                 </property>
+                                <property name="alignment">
+                                    <set>AlignVCenter|AlignRight</set>
+                                </property>
                             </widget>
-                            <widget class="QLabel" row="1" column="0">
+                            <widget class="QLabel" row="6" column="0">
                                 <property name="name">
-                                    <cstring>textLabel3_2</cstring>
+                                    <cstring>textLabel3_2_2</cstring>
                                 </property>
+                                <property name="sizePolicy">
+                                    <sizepolicy>
+                                        <hsizetype>1</hsizetype>
+                                        <vsizetype>5</vsizetype>
+                                        <horstretch>0</horstretch>
+                                        <verstretch>0</verstretch>
+                                    </sizepolicy>
+                                </property>
                                 <property name="text">
-                                    <string>Netmask:</string>
+                                    <string>Status:</string>
                                 </property>
                                 <property name="alignment">
                                     <set>AlignVCenter|AlignRight</set>
                                 </property>
                             </widget>
-                            <widget class="QLabel" row="3" column="0">
+                            <widget class="QLabel" row="6" column="1">
                                 <property name="name">
-                                    <cstring>textLabel3_2_3_2</cstring>
+                                    <cstring>textStatus</cstring>
                                 </property>
                                 <property name="text">
-                                    <string>IPv6:</string>
+                                    <string></string>
                                 </property>
-                                <property name="alignment">
-                                    <set>AlignVCenter|AlignRight</set>
+                            </widget>
+                            <widget class="QLabel" row="3" column="1">
+                                <property name="name">
+                                    <cstring>textIPv6</cstring>
                                 </property>
+                                <property name="text">
+                                    <string></string>
+                                </property>
                             </widget>
+                            <widget class="QLabel" row="2" column="1">
+                                <property name="name">
+                                    <cstring>textGateway</cstring>
+                                </property>
+                                <property name="text">
+                                    <string></string>
+                                </property>
+                            </widget>
                             <widget class="QLabel" row="1" column="1">
                                 <property name="name">
                                     <cstring>textNetmask</cstring>
                                 </property>
+                                <property name="sizePolicy">
+                                    <sizepolicy>
+                                        <hsizetype>7</hsizetype>
+                                        <vsizetype>5</vsizetype>
+                                        <horstretch>0</horstretch>
+                                        <verstretch>0</verstretch>
+                                    </sizepolicy>
+                                </property>
                                 <property name="text">
                                     <string></string>
                                 </property>
                             </widget>
-                            <widget class="QLabel" row="3" column="1">
+                            <widget class="QLabel" row="0" column="1">
                                 <property name="name">
-                                    <cstring>textIPv6</cstring>
+                                    <cstring>textIP</cstring>
                                 </property>
+                                <property name="sizePolicy">
+                                    <sizepolicy>
+                                        <hsizetype>7</hsizetype>
+                                        <vsizetype>5</vsizetype>
+                                        <horstretch>0</horstretch>
+                                        <verstretch>0</verstretch>
+                                    </sizepolicy>
+                                </property>
                                 <property name="text">
                                     <string></string>
                                 </property>
                             </widget>
-                            <widget class="QLabel" row="2" column="0">
+                            <widget class="QLabel" row="4" column="1">
                                 <property name="name">
-                                    <cstring>textLabel3_2_3</cstring>
+                                    <cstring>textMac</cstring>
                                 </property>
                                 <property name="text">
-                                    <string>Gateway:</string>
+                                    <string></string>
                                 </property>
-                                <property name="alignment">
-                                    <set>AlignVCenter|AlignRight</set>
-                                </property>
                             </widget>
-                            <widget class="QLabel" row="2" column="1">
+                            <widget class="QLabel" row="5" column="1">
                                 <property name="name">
-                                    <cstring>textGateway</cstring>
+                                    <cstring>textMedia</cstring>
                                 </property>
                                 <property name="text">
                                     <string></string>
                                 </property>
+                                <property name="alignment">
+                                    <set>WordBreak|AlignVCenter</set>
+                                </property>
                             </widget>
                         </grid>
                     </widget>
+                    <spacer row="3" column="0">
+                        <property name="name">
+                            <cstring>spacer7</cstring>
+                        </property>
+                        <property name="orientation">
+                            <enum>Vertical</enum>
+                        </property>
+                        <property name="sizeType">
+                            <enum>Fixed</enum>
+                        </property>
+                        <property name="sizeHint">
+                            <size>
+                                <width>250</width>
+                                <height>10</height>
+                            </size>
+                        </property>
+                    </spacer>
                 </grid>
             </widget>
         </widget>
@@ -609,7 +720,7 @@
 </widget>
 <images>
     <image name="image0">
-        <data format="PNG" length="4887">89504e470d0a1a0a0000000d4948445200000040000000400806000000aa6971de000012de49444154789ce55b5f685b579efebcd87005354830010936202d0456a681ca34d0eb49a032f3d0dab32f36fbb0365358991d58a91de8da33305879d895fa90b1b230833d90c5ea62b0fa90ca1ec8ca2e6490529c4819ec4a0167242ff6200df27265eca22b9c45bad8866f1fceb992e5d8b1db69c86ce6c2e5d3d1e15e9df3fb7de7fbfdce1f7590c45ff2f557afba01affa7abd0ca083d803677e35433c05a3bf8e125b60e417913369fe7a19c0062c3d5a42e0288099073318c318a2bf8d0247673ff27a19a0020cbe3b8899ce19043c012c381630e61d033a5ff00cc9d7e966e25e829c21a73e992263e47c749ebc459ef5ccab6ef0777b9749ee93b3d159b2283b5f24a77f397da6013a5eb330c8d41729f457fa11eb8c6114a358e85cc0f0d7c3c04fd071fa13afda6bdfe19dcfe5c93a391f9b2735321e8b931a393d7336035e79a3ffd41b1f83f808543e06592793f793648c8cdf8d93bb64625168c29fa501f031887ba0f516a8ac82f63ba07d13b4c740bb063aef81ce7dd0b90c3a0f40770a7453609ca07b05f410f4ac80ce3238bd3c451e90f1c53859959daf92b37766cf34c0b7d6808e7fe9203a01bb1d303a01a!
 b153000d86c00de0594af00c30b288f01a880f2048007509e02b80a583600b8016c018d2b80c5c40da0e106f01430ae8ae70c0f8035c0b8062812f11830544079081837007c0614fe8ec87c9541df5b7d587ab484c17707917a9442ff763ff0e30b68809a011304d555d04bd05b00b304078a609ee0880616098e54c12a41ff3ea811f4995895f5bb1235f1dc50b98559824345f9de4d304b85039b8ac08255e0ba955e826a0e4ccaf6a804cdf679322dcfc725239a0c2099584e90fb6472392934213a7f3e03fa373ad8eb06140093003e81f028003400580e81461760695811b200371b0a148b023cb320dc0d849f2930ba01e59915c16e0311dd06c3d600740b82b606c27b16e012803d05c14b3ac2150b6a8e06b00d342ed7809202c35503b680da9506f4a73b30ae1a703d752376d5837049015c0a6cdb36042e4f2256f914a38e00162a510c3bc6105b9bc1e8b500328f0503528f52e87fb75f60a91ff09dc38034c1d0a28fdeeb5e3a9d4edaffda4effad21926496f33c7ee599909f04e60f92a27820bf3e489f2867dbca216d80649ae3652feb54e92faad498a06fd3c322dd1c293899a64275152435e6f7e5fbf605644f96abb2bc2220793f297e2b25caf3731760c0e0460797dc44ecd3183efbfc3300c092ba84c28f0ae871f500d001d8d0800ecba95881050ee8a!
 8c0d68625d8e06a62ae91c2a2e536b00d4c5ed671b3a4a0d1f4bc016c0086b!
 b01fdc90
e6a1e0343251f82ae28629508461d0184b73e847105c086818abb06e509b0e3d1d1ff7808017502b9b51c520f5270d81d18fd60149552058e870ee0837318e025389f9a2257c9d0bf86c814391f9b6df33ceb798165c98075597f3f44d6492efa052fea622cc6f74324eb9cadfa496a4d064c960758a797e3452fab4cd2bfe9a1460f470a6ee6e9e4d0ba932a15aa19c100ee93457adac6bcfb0074df17d1c1b90ce1f915c1c4c99f4fd2f39687be7ff489762cc6cf6440cb0005f1923a3592a446412b93ee59c6c9b921f28720dfc399a8ddf290f4cb4efb38bdeb2339c2a9dd11f19e7a82757a3959f6d24f95fe4d953e7ae82b7838443787d69d1ca09deaaa420fc15051746224e7698640a7d9f9bac47d702a1312edcde5c9d810e31f59a9bea3329d490be79c6780344136c7b6791deb3c290cf01e5e7c67dc9cad8e93accace1739a58d90ccb718501c609d69fa37556ab2f345c639b22e1830907336d59ed498dd4f33cfc4a99e77d65b0c30352011f5917356aa6fab64416ac245a240cacde6582e210317fa50400a3de8470e0be8d59781f11460b5018a22e6d98a02586d88fede40f4610ee854505300bbd386a54fddb8fd4703f000a80041c70272cf96f059f76da004e8ae1a942d05b52bb5e6d8c71340f718a83dde81a102235b3e04af4431bcd68bdc5b4f60f912!
 685c072c8f80c63b001e01c67560fcf7214ca841149e16d0b3f609661e2d23b6e1c6ecaf67d1f3660fd075010dc89b9e6e5e695ee8aa0a98ba35c5e43b49aaefa854df563939e7679d5986ca438201653146c737bdac4afa6b4c48cfbb399473324b3bbdabd6669c3735204fcfa99eb7ef83f67b520332e2fda19b21aaefa81cff785c3062317101063ced60eaea7106a4e0427f53e54d15afa000077a50410e0ef4a27098414f571f0a4f0b58fe62191bbfdf8071243208d77b0ae0ae217c0d98796220f0e365140c60e6a907d8b2c2909eafb90d99f935803540bfb603f7e7fdc021d0ef1ac2a83a86e0af2610fdfa366c37da3daf7c2919f0df8201a58d125c6b2ea42ea5d0ff7e3ff48a0e9b62036ce730204990cf31c0bc641caf0bd54fd6a7499a2a4fceef4f92658d9377fc64b9ced0dc24b94b4eaf4c92cc4b06a4c9b741fe2d38bea25263528e7d4f6becaf3ae9a59dde949dccc868b422545d8b69b4fffc79cfdbaba07d516a404636b720715340e2de37608019bfcdb16f32207318455fd718528d19f45b1a586a008396092c3c0b63b8db404c37306a6b20ba078c5db2a0721880a3cb85f0f6288ccb06ac6b3a26fc0f503280d8d321a06445d065205c02e0528012107419086e29d0afd4d0f3effdf0edf8f0e1ce8750de5060e9b420fac66d586fb47b1e1227ff!
 2018502955e0703950da2ac175c585ca76050eab03e83e87012ad1527b799d!
 ccf0d2f5
f97626ec0b4cec0b46ccee0af5174826aab324f39c2c0e91f40a06bc89a6679a79455dfedebe649a4632273c5fbc53a4ff233fab77abb4df7cdef3d65dd07ab75d0328568098ce490d5be6990c681920275e5265b1adf375a97055991f9865335fa8b6a19fd3bb7e927e6a07e23da1f210eb1ce0d4aa3080f6a66c6c55183bb92b8c9a90385f168d9fbe3dcdf19f8ed3f7231ffdffece7f847e3b4fe5c4c918f77de7e17b4c65a798056d4c85ba496129d0f65c62f96072409f2a03de77f2eb76f7e9f3d512f40745ee3b46632609a820122ee4fdff390bb6efa722a8b4c702827d47f60d5c934edf4aed8e926a82e5bc915d2ff919fc53b458e7f344e2da6d17af379cf5b77850148b634a02c51f886c9d405f280be271dcc78d854fbc2e1127aba068f4501a10d4bcf2218ec36b0a003c3b620627a10a3b6b0ac0f62a6a220e0002a87137074b9102c0dc37019c016a05fd1810d0586bb2655df90aadf001e0335b506e3b73534ae0313ff398d801240c695415fa50f135f4d20da791b8a7a4c030e0174090cb9a4066c57e0b8ec10eaefb0a1a1376079c3727e1ea0124c9f6040fe2071aaa7e355a9fed54992f5e6189ed64c06c839c1ee34ebcc727c7380557ae92f7859649223eb1ee6e9e1d0aa9b593ae9cd38a9d24e4f4a698bf3ee7b5626f6ed5417ddf4949db4479ff7b!
 c556b3120b99a6cf33c77258a59e1390c58eb60e65a8b01b9c325f4b631407cbff02c82e1ee092ce8610cdb0c44f70c8c5d8a403fac20da1504b68189cb4a9301135b83685c69c84c4fc4fbda55037802181e1d780ce8aa013c042a6fef3c97e19d54fb939e5700184740c83d85896b134dcfeb7b3a6c976c683c6bc0d26d01700e031204797072f667cef7dbe7f7260366770503f275513f5596b97f5930c09cafa7ab92494de11398d004e3e25abb009a385b3c819b0213e5781b2a73520356d9ce0099a1a657d26732a0350456dba340f640bcbc15058ab2f3532427392f3b6f863ca1fa230c957d9ca2af19053419ea8a27305f17426a863e7351e35cdc7d1e952838951153f0aa26dbbb2ba3d5be1c9fe719c04330596f67405632c01ce34d2dd8171e33e3be593fbb229971bfb53657bc9be764c64752e3e4a68f6495a14da11593051feb2cd29f1ba2c62c7dab032c32cb91cc095c69619e590ea504c68ba21d4a54382fbd2a997a82017296f8620de87ddcc19cca66aedff8592f2c6f7ad0f8202234e0b0045b97abb5d2735881adeb36662a40c01141e417114c7c6f42ecc8d446113122300c0333bfb98dbe940bd6ffb1a276b52657770d39f61bc0030395b777bef1985700e81f1099bd0cbeff9bef63eaea1426d43f5503648e4f52cced7faa9224f3f5e4a94c10f!
 1becab496647db9cef18fc7a945358efcc308ab77ab9cbe3d4dcf7b6e0edd5!
 35964924
3ab1e66e9e140c6cd349d54534ebaebcaa9b9fd596aaf9441650e548ae07441b41777ced180d4d91ad0dc1ebff918802580ca61417c21b7941bd0d163e9c7821e012c406c2f0c7401fa610501470333db41f439fa717bed3622df8b20fc551800107c1844e0280087cd0efb0f1c886ec4307fcd85cf9ebae1545d88aef540f102d6df59617bd70ec7efecb0fda01d1d12adef0bc49102e501c43ac40320e00e20b397018e80c85a04b80654b62b8003d0f774c006349e35d0e7ed3bd5f96d0cf0104cee9fce00331accef86da98305d966b7d5a825c115bd2d558b5c980a95b532cce15c975194dcc5cffe46a6ef54459c66f53e8cc72fa64594bb731a099079899e005f280d60189c7407ff7e90c8065100b7b118c5e3210dd0b0216c180c66520b21d061c83083f08c38081e0a32000e093879f000026be9c00ae0e22b5b7809eee5e64f414d00da42a0be8b5f561a9b2204e76c8724ecf009780dc5e06bd97fa90db6b95fb2ef5098f5f02327b19f439fada18d07fad5f30e032a05774e09264c2f5b309d0b4449c68ceea4e3220bb2f3c28e23e8fc57dc180b4962053a733409df17060d1c32c131c587153a593ce6585d048c448a4487bcc79a1316f8f5969d7ecb4c7ecb497edb4cf097c4e038a12cdb9c045d6047b1f76307783a81c16e0e8ea41e5d36138fede0ebd3b0c!
 1b6c58d2a318b48d215a0962cc1196512088700908baa208ff5b18c1a320824741e8ffabc3d26941a833849ec77f03d7a20d963f28d0551db52f76a05f37b0f35f724ff20f80d5e98262f9e3996a6fc8333ec611a074028621197ad4c229750a139e89d63a805c17d02b3a6c561b6039270ab809397b6b5d4919ef4dd59fd564ee2fc770a82835609fe4badc97df6d6d4dc7efc6697fcb4eefa29b5ebae95c569a6a7f9c01d639e70b3daf44416c82b8733692c7d603ccf50693092f580f6832a0e761070b37a6503aec87abab17293d8a7edb180a8d0c7a2c7dadb8bf0d042e47503173ff2d2078258a4aa30487c58552a300bbe5134cac19c03560e7f30a2a3f2ca1f2650dc675a319e777be68314039c6806fea7913a7d569043c01b126e876b533e17b1758118a1332cd6d5df1dd29a90162cc4f9765ee2fcba14d91fba7abc2f2f39a60d0f8fa8888fb19959e03fba971fe39067c4bcf1f6780b91e905fcfb731e1426b823d0f3a58f012a5c31c5c5dbdd0a1b78d7dc1002b66b66f4a0694e0e80a22b8a5207c820111cb4dec3c2e21f7d606f0a501d7fb6eb8d65ca85d6bc07820e6fbc6976330ae07a07f1e04de8fc1f2c880dea8c13832be91e79b0cb8318dc0d5000a4f0ae8f1f488fd81ab3d821176d7f9abc2ee03343d7e72fe6f8ef9e9b2ccfd65797253e4f2661c!
 376771032b6eb17a7b4f787eaa20a2c7378df349b98f102f8a89d9fca6d0a4!
 e975f13b
5339d1dec955f1fea606e4da9970a1bdc1a11585e414eb72a1b35e153f56dc95c2584d901c67522e7755ab0992239cdd147b7e5a354dd2cfec6ea28df64eb9696176de9cda9e9cd29ac6487f5b9449517655ce3273f9160a83bed800458294bbbacd394139740cebe4be8c02a6fa577d24bd64ce295eb3ae9054c8a295a4952c4bccd9493a9958b736c7fa5963de5a54dae2bc67d743cfa28789dd04bdf7bcccd6b31c581e60b69ea56fc5478d1a7d2b3ed659e7ecb2705e3623334e9917c4ef9ecd80a6068c3eb43076a3011c4681ae31408f00b609e05904e8ae012500ae0af0ac06749780b50a70cd90c706c4ec0e2a5aa82b800dcfd5bb7ea360e7594d8c6df30cefb718f3a7a15ff163d4358abe1b7dc83dcea157ed456e2d87dead5e60e41c0d2812e4be93a493dcf790749339b728afdb8567f7a5474d4f9f2c6f5ac5eb34f9bd595f90f5652b93f538f14f38d523f8258802885f8258073123cbc7f1b8fa47dbd11ff3b79d0c912b41223f396f088c6414d1d8ba6c74517666d72a1abf7abcfeacf23134df73a25e5df6103f38dd007ff23dd73a1e23a7c0c2087317d58003d9e803d9e89c72cc83c7eacf2a9765e7abc7df63258b4ad3986add43bcf7720c301f9b6f1d963c20799fe4c18bcf08353f78ef8bc6cf6e8ace278aa29c970ca816a531288db379a26c0e031!
 39b75edf5eaf2cb3300e764d273ec885cf27e928c5e8001e7ddca26a8dc01ad45505d043d5570e4bec2fc01389e5158a5c2504e74725e1a2f6d0e1fcdd40c3be355e7cbe93c89f9b9797142541ac1c4d9e8d927455f4a43cefcb19997e479f38ecaa467b7754c36712f41def90e18f0ffe19e8fca53e2e66c541ae3a59c15feb3bcfe035c786301c347c3e27f0218c642d702862b67ff5fe0b5facf5014510cabc3882186e11b12df19c60c66ce7ce6f562c0afc1a812c5d8d158f31f23e63ec55f0c03c6bc63087f1dc6a87b14919d0846af8c62e6e82f8501bf026356e1f1f0d761041144b8330c1c01ca1b0a267e36f13c0b5eb5727fe7b7b93669fe63649fe69a60fb2c511e9b79f50d7e49f7ec9d59724686c0a8fcd3848931f987aad72e0c7e8bebb512c16f73fd1f5d984e33dbafdc840000000049454e44ae426082</data>
+        <data format="PNG" length="4833">89504e470d0a1a0a0000000d4948445200000040000000400806000000aa6971de000012a849444154789ce55b5f4863599efe5c146ea08504a6208129481e0a363205736584bece146ca41baa75e661947958651a56670736d95ee83533d0987ed835f35093d4c20ca6a11633e062faa15a6d70a3b55475528bd589a0636ab1dab8e8902c0a8968931be2925c54f8f6e19c9b18ff94764f373d5b73e1f27972b8d7737ebfef7cbfdff9735b48e2cff9fa8b6fba01dff4f56a1940077108467e1b21b6c1e8075162170cff3a7c29cd5f2d03d880854f16e03bf121f22882118c20faef51e0e4f2475e2d031481bebb7d88b446e0d37c9875cc62e4ad11a0f525cf907c956ec6e7e364840cfd2a44c6c8e9e834798fbcec996fbac15fedbd43f2889c8c4e9205d9f90239f19b894b0dd0f28a8541261f25d153ec41ac3586210c61b67516039f0f00ff80968b9ff8a6bdf615de1b990d92e4746c9a2c9133b119b2444e442e67c037dee83ff6c6bb20de01957741924c3c4e903172e6e10c5921e3734213fe240d8077413c06adf740651db43f00ed3ba03d06da4ba0731e741e81ce45d049d09d04dd121304dd4ba04a505d029dfbe0c4628824393337435665e7abe4e483c94b0df0a535a0e51f5b8856c06e078c56c06a050!
 c00361b80bb80f2296078006519800628cf01a880f202c06dc0b209c00d601ba8dd022c266e023537801780715b3c67a8005601a30b5024621930344079061877007c08647f42a43f4da3fbf56e2c7cb280bebb7d487e9244cf6e0ff0f36b688096065304b515d043d0930573047b736081e060012c111c2c8947bc15b04a70d8c492acdf975810cff5ef343047b03f27dfbb05e6a8b0774b1198b50a5cb7d24350cb806bb23d1a41b37d6abae1f98464c46906c417e3e41199584c084d884e5fcd809ecd1676ba010540104000c2a30050036039066a6d80a56645d802f86b0a148b021c5a106c0782870a8c764039b422d06e20acdb60d86a806e41c05643f0c002dc0070a020704347b06841d951037681dacd32905760b8cac03650be5583fe620fc66d03ae176ec46eab08e615c0a5c0b66b83ef6610b16204430e1f668b510c3846105b8d60a8cb87f4721add5a37924f92e879b307c9a749f4e47b80e12b18b041707c6e989e1f78e8743a69ffb69dde7bfd24c9354ef3f4b5c1b8fc4be0c691b0348fe4cf47a933e5b5a6f278a197e40647773c24357a731aab4c71784b65896e0e669ddca0426d0524abdca8c8f75504ac9d2d9764794940e2b16c4f52c0f4d43518d0b7d9c2053711fb5d0c1f7ef4210060415b40f6a75974b83a00e8006ca84187e5422cc20207741!
 4616bc23c6c70d531534b62ce721fd805823775f8f30a6a75cf1bc02660b86!
 bd09fefa
1ac1ae8cf0f23e08a22560c63c8e147707b04c62d009b068aee3294e7c09eaaa367b91f3ecd8fcc6a06c9a74938ec0e0cbd3d8462be08c73307f0f6150cf0109c4e86c87572fc9fc6c934391d9b6cf23cab22ce724732605dd63f1e1738e715bca84a35ae88df274b5e92d53a03c6767a497a389af3905ca3774b65952a07b36e16e864ffba931a156a69c10056c812d5a631ef26e87e2ca283735186c025e1f9b1f7c6a87e57e5f0df0c8b76cccd5cca808601b2e22555164892050a5a99745fe30c39d54ffe10e45d5c8a857b2a49afecf43027f687490e32b43f28de538d93f4706cc7432f357ab7340e53e57056653fddec5f77b297766a2b0a5582e339d189c18c5a0f81ce539d773f16a1329416c6dec86c90b17ecebc63a5f6bac6543a65baefe506d820c8fad836af539d278501eee2e577c6cdc9d22849cace97182a0c922c341890131ae0ddd258959d2f31c1c175c180de8cb3aef664956b95140b4c5de8f9d30c3035201e1d261f5aa97d4f2373754db83a0a24ddac8fe53cd270a11b5924d1811e64308bceda22e04b02561ba028629ead2880d586e86706a2cf3240ab82b202d89d36243f7423f8df06a002280201c72c32870bf8b0fd3e9007745719cab682f2ad727dece339a0ab06cacb7b303460707b18815b510cac7622d3f51c962740ed4d08fc2b009f00!
 c61bc0e8efc7e1d702c8bec8a263f557887cba88d8a61b931f4ca243ed00700d0dd8303d5dbf52bcd6551210ba17e2daeb6bd45ed7a87d4fe3d89497648ee33bfd82013b628c8e6e49f5df12ea2f3cef667fc6c91cedf4ac58eb71ded48002d50b3d6f3f02edf35203d2e2fde3ef8f537b5de3e8bb8289f1b9f83518f0a285c9dba71990840b3d75953755bc882c1ce840111938d089ec711a1d6dddc8bec862f1d122363fdb8471223208d75d05709711ec0222cf0df87ebe88ac01445ea8c0b61586f47cd96dc8ccaf06ac027ad71edc1ff500c7408fab1f43da0802bff523faf97dd8ee347b5ef90fc980ff120cc86fe6e15a75217923899eb77aa01775d8ac36c0720503d608f21c03cc4bc6f1aa50fd4475826443e5a72b63e47e95630fbce43e393e354656c889a5319205c9800df27b20ff121c5dd258e59a1cfb6a63ecaf38e9a19d9ea49dccc868b42254bd3a57a5fdbdf39eb75741fb9cd480b46c6e56e29680f8fc17608019bfcdb16f32207d1c4577db0892b5087a2c352cd4803e8b1fb387410cb41b88e906866c35440f80911b16148f7d70b4b910dc1d8271d380755587dffb14790388bde807f256045c068279002e05c803019781c0b602fd56191dffd203df9e0f237b23505e536069b520fada7d58ef347b1e12c73e130c28e68b70b81cc86fe7e1bae542!
 71b70887dd01b45dc1008d68a8bdbcce6678a9ea7433132a02e315c188c9fd!
 d1268c97
2649163896eb27e9110cf80eea9ea9e71555f9ff2a926905e1c5b1f7c6589a2ad1fb8e979c27edef9ff7bcb5025a1f366b00c50a105319a9618bbc94010d0364c44b4acc3575be2a15ae24f303b36ce60ba526f47262df4bd2cbc291788fa07f2f432bc20085efc8c69684b113fbc2a87189d33ba2f113f72738fa8b510eff7498debff372f49d515adf1353e4d39db73f04adb1461e50c815c87b6421293a3f9e1e35fdf97203ac11e45173ce7f2eb7afffbe76a65e80e87c951305930113140c10717f625e252b6e0e67349698627f46a87fef8a931bb4d3b364a79ba0b668255748ef3b5e96a64a1c7d6794d5b92aadef9ff7bcb5220c40b2a1013b12856f98485e230fe87edec2b4cabada678f17d0d1d6772a0a086d58380ca3afddc0ac0e0cd80288e9010cd982b23e80485181cf01148ffd70b4b910c80fc07019c036a0dfd2814d0586bb2c55df90aa5f039681b25686f1a48cda9b80ff8309f8141fd2ae34ba8bddf0ffde8f68eb7d28da290d3806d02670dc253560b708c74d87507f870d35bd068bcd72751ea0114c9d61c0c651fc424fcf94a4fa97c6c40f720c4f144c06c839c1fe04c91c47b744eeefcd7a58e21a07d75516a8b27fc5cd1c9df4a49dd468a79a549ae2bc7bdecad4919dda9c9beabe93f6e879cf5b4b0d062456124d9ee7be44312bbc8201ab2d4!
 c77351890395e40671303c4efb387610cb4fb31ab07316033103d303072230cfdb888685b00d805fc37953a03fcdb7da8ddaac94c4fc4fbf26d03780e18aa0e2c03ba6600cf80e29dbd7319de59b53feb79058071028cbb43f077f9eb9ed70f74d86ed8503bacc1d27e0d06a408f2e8ececcf9cef37cfef4d064cee0b066c54457d6847e6fe3b8201e67c3d55924caa0b9fc07841306ea6d02c80264ee6cee096c0f8ce4c132a53520356d8cc0099a1a696529732a03104569aa3c0da917879230ae464e74324c7382d3b6f863ca1fa831cdf196688c3f5285090a12e770637aa4248cdd0672e6a5c89fbe7518982a1b49882970ab2bdfb325a55e4f8bcca002ac144b599016b9201e618af6b4165baa9f366fde49264c6e3c6da5c69bec0b1f430c92ac7b6c4d4767c4b68c5585630c69be96795390eaff4b2c41c07d36770a98105e6d89f14389313ed50a2c279a915c9d4330c90b3c4976b40e7720b331aebb97eed979db07c4745ededb0d080e33c6c6daec64acf7111b6b6fb8814019f238cf0afc3f07fcb2f7664ca43081b61188681c8c7f7d19d76c1fa072bcab7cb7275d79063bf063c3550fcc1de171ef30a00fd6d227d90c6f73ffe3e42b743f06b7fac06c81c9fa498dbff4223496e54131732c18cf7a942824c92a3ef8eb21aab72f0af07c97991cca877ddec9fd!
 758e21afb5754e6a8b237ede6069dd4924ebaa95c98db5fa6f6ca3ea84c814!
 a019cc88
af6e2c1151a90bc5c03eadbe37fbf0cc0e243f1382b7e905bca35e8e8b0f460560f031620761004da00fdb8089fa386c8ae0fdd8e1e049f0511fe5618fe4ffd0000df131f7c273e386c76d87fe4c0fdcd0866bb5c88bc70c3a9b9707fb5038a07b03eb5c2f6961d8effb4c3f623893f14e89068fdb1409c28501e41ac433c027c6e1fd20769e00408af86812ea0b85b041c807ea00336a0765843b7a7fb42e73731402598a85ccc00331a4cef8f3731616247aef515e2e48adc929e639d01a17b21961e96c875194dcc5cffec6a6ee94c59c66f53e8cc72ea6cb9906a62403d0f3033c16be4018d0312cb404ffbc50c80a50fb307610cdd30103d080016c180da4d20bceb071c7d083e0ac28001df131f00c0ff4430e1678f7e06dcee43f260161ded9d48eb49a01d481667d169ebc64271569cec90e58c9e066e009983343a6f742373d02877dfe8161ebf01a40fd2e876743731a0a7ab4730e026a01775e0866482e77202d42d9120eab3bab30c58ab080f9e8ffb8201a9429c4c5fcc002daab2774e658e29f62eb9a9d149e7a2429448c448a4497bcc79ad316f8f59692fd9698fd969dfb7d33e25f09c06e4249a7381ebac09763e6b61e60e513ccec2d1d681e2ef06e0f8a91d7a5b1036d8b0a047d1671b41b418c0882328a34000c13c10704511fce720022701044e02d0ff!
 5787a5d582706b18ae65075c8b36583e53a06b3aca8ff6a0bf6160ef23b927f907c0ea7441b1fccfa56a6fc8333ec609a0b4028621197ad2c09016825ff537d601e4ba801915705514701372f6d6b81232de9baa3f5990b9bf1cc3e339a90115925b725fbed2d89a9e793843fb77edf4ccb9e9a19bce45a5aef6a719609d72bed4f34a14c40e88079723796a3dc05c6f3099f092f5803a033a9eb5307b2784fc710f5c6d9d48ea51f4d84690ada5d161e96ec4fd5dc077338ca299fb6f03815b51146b79382c2ee46b59b82cbf826fd500ba80bd8f8a28fe248fe2a3328c378c7a9cdffbb8c100e51403bea8e74d9cd026e0537d624dd0ed6a66c2b7afb1229420649adbb866f6435203c4989fd8911a20cbe35b22934b95e42e6c413068747d50c4fdb44695f60be3fc39067c49cf9f6680b91eb0b1bed1c4846bad09763c6d61d643e48f3370b5754287de34f605031c88ecfa2503f270b40510d856103cc380b0e57dec2de791d1368147065c6fb9e15a75a1dc5583f1b48c9a07309e8cc078d307fddf02c08f63b07c6240af95619c185fc8f37506dc9980efb60fd9e75974a81d627fe076876084d375f5aab09ba87bfcecfcdf1cf3133ba34de531c900338e9bb3b8de25b798d7cf0bcf87b282395f34ce27e43ec24c4e4ccca6b784264dac8bff13ca88f68ead88f7d735!
 20d3cc846bed0df62f292443acca85ce6a49fcb3dcbe14c6529ce4281332fd!
 2d95e224
0739b925f6fc0aa514492fd7f6e34db477ca4d0bb3f3e6d4f6ec94d63446eacba24c8ad656e42c531e98dac86c980e7bb9014a04297775eb73829df166acc82860aa7f6998a487cc38c56bd615920a99b392b4923b123376924ec6d7adf5b17ed998b71694a638af5654aa732a5395143df31ee69863ef622f73cc71786998555639bc246699938bc2796b699971cabc60e6e1e50ca86bc0d0330b63776ac07114681b01f43060f3038761a0bd0ce401b88ac0611968cf03ab45a0cb90c706c4ec0e1a1aa82b800de7ea5d1f2bd83b2c8bb16d9ee1fd1263fe22f42a5e0cb986d07da71b99e50c3ab54e645633e8dcee0406afd0801241569c249d644525e926336e515eb70bcf56a4474d4f9f2d6f59c5eb0af277b33e2beb77ac5c6382f85b5ce811fc06440ec46f406c8188c8f2693cadfed166f4c6e44a943c19225782447e72d510184c2ba2b155d9e89cecccbe55347ee574fd65e55368bee74cbdb6a8126f5c6c803ffa9e6a1c8f9153606184295e6d8012411ec9461fc9466794531e3c557f59794776be74fa3d5632a7d48da95125ee7e3d06909e6e9c117a2ce0656784ea7f781e8bc64f6e89cec773a2bc211950ca4963501a67eb4cd91c0626d6eb9aebb5c5afcf009c9249cfa9237289c709327a0d065c752b3ba0f200b416406d0e54abe0e063850582a369d1b9f!
 18cc06969bc94397c0aa666d899a83abf9ece93989e9a162744a5114c9c8c5e7e52f46b69c8a5ff2cf23579debca332e9a9348ec9c6e7e3e483af8001ff1feee9a83c256ece46a531be96b3c27f92d7bf82b3afcd62e064407c278001ccb6cd62a0f867f2bdc0e403f9a5c8d434b92fe3fffe9fd317231f8051258a919391fa1723e63ec5650c78a5be1a8b228a91b74610fc3c88217508e1bd30866e0f217212b9f499578b01bf056356e1f1e0e741041040b035089c00ca6b0afcbff49f67c1373d6ebff2db5c9b34bf1839a2b926786e9648be6261f0f43df960928cc81018951f4d9818931f54bd7222f825ae574a04bfccf57fcd6617e754a2c0e40000000049454e44ae426082</data>
     </image>
 </images>
 <connections>
@@ -649,6 +760,30 @@
         <receiver>ethernetconfigwidgetbase</receiver>
         <slot>slotMacClicked()</slot>
     </connection>
+    <connection>
+        <sender>lineIP</sender>
+        <signal>textChanged(const QString&amp;)</signal>
+        <receiver>ethernetconfigwidgetbase</receiver>
+        <slot>slotCheckGlobalText(const QString&amp;)</slot>
+    </connection>
+    <connection>
+        <sender>lineNetmask</sender>
+        <signal>textChanged(const QString&amp;)</signal>
+        <receiver>ethernetconfigwidgetbase</receiver>
+        <slot>slotCheckGlobalText(const QString&amp;)</slot>
+    </connection>
+    <connection>
+        <sender>lineIPv6Address</sender>
+        <signal>textChanged(const QString&amp;)</signal>
+        <receiver>ethernetconfigwidgetbase</receiver>
+        <slot>slotCheckGlobalText(const QString&amp;)</slot>
+    </connection>
+    <connection>
+        <sender>lineMAC</sender>
+        <signal>textChanged(const QString&amp;)</signal>
+        <receiver>ethernetconfigwidgetbase</receiver>
+        <slot>slotCheckGlobalText(const QString&amp;)</slot>
+    </connection>
 </connections>
 <slots>
     <slot>button_clicked()</slot>
@@ -661,6 +796,7 @@
     <slot>slotMacClicked()</slot>
     <slot access="private">loadInfo()</slot>
     <slot access="private">slotFinishLoad()</slot>
+    <slot access="private">slotCheckGlobalText(const QString &amp;text )</slot>
 </slots>
 <functions>
     <function returnType="bool">checkRange(QString IP)</function>
@@ -678,6 +814,7 @@
     <function access="private" returnType="QString">getLineFromCommandOutput( QString command )</function>
     <function access="private" returnType="QString">getIPv6ForIdent(QString ident)</function>
     <function access="private" returnType="QString">getGatewayForIdent(QString ident)</function>
+    <function access="private" returnType="QString">getMediaForIdent( QString ident )</function>
 </functions>
 <layoutdefaults spacing="6" margin="11"/>
 </UI>

Modified: pcbsd/trunk/wificonfig/wificonfigwidgetbase.ui
===================================================================
--- pcbsd/trunk/wificonfig/wificonfigwidgetbase.ui	2007-03-14 22:03:37 UTC (rev 139)
+++ pcbsd/trunk/wificonfig/wificonfigwidgetbase.ui	2007-03-15 16:59:06 UTC (rev 140)
@@ -188,7 +188,7 @@
                             <enum>Vertical</enum>
                         </property>
                         <property name="sizeType">
-                            <enum>Fixed</enum>
+                            <enum>Preferred</enum>
                         </property>
                         <property name="sizeHint">
                             <size>
@@ -902,6 +902,30 @@
         <receiver>wificonfigwidgetbase</receiver>
         <slot>slotMACClicked()</slot>
     </connection>
+    <connection>
+        <sender>lineIP</sender>
+        <signal>textChanged(const QString&amp;)</signal>
+        <receiver>wificonfigwidgetbase</receiver>
+        <slot>slotCheckGlobalText(const QString&amp;)</slot>
+    </connection>
+    <connection>
+        <sender>lineNetmask</sender>
+        <signal>textChanged(const QString&amp;)</signal>
+        <receiver>wificonfigwidgetbase</receiver>
+        <slot>slotCheckGlobalText(const QString&amp;)</slot>
+    </connection>
+    <connection>
+        <sender>lineMAC</sender>
+        <signal>textChanged(const QString&amp;)</signal>
+        <receiver>wificonfigwidgetbase</receiver>
+        <slot>slotCheckGlobalText(const QString&amp;)</slot>
+    </connection>
+    <connection>
+        <sender>lineSSID</sender>
+        <signal>textChanged(const QString&amp;)</signal>
+        <receiver>wificonfigwidgetbase</receiver>
+        <slot>slotCheckGlobalText(const QString&amp;)</slot>
+    </connection>
 </connections>
 <tabstops>
     <tabstop>tabMainWidget</tabstop>
@@ -966,6 +990,7 @@
     <slot access="private">slotMACClicked()</slot>
     <slot access="private">loadInfo()</slot>
     <slot access="private">slotFinishLoading()</slot>
+    <slot access="private">slotCheckGlobalText( const QString &amp; text )</slot>
 </slots>
 <functions>
     <function>setDevice( QString Device )</function>

Modified: pcbsd/trunk/wificonfig/wificonfigwidgetbase.ui.h
===================================================================
--- pcbsd/trunk/wificonfig/wificonfigwidgetbase.ui.h	2007-03-14 22:03:37 UTC (rev 139)
+++ pcbsd/trunk/wificonfig/wificonfigwidgetbase.ui.h	2007-03-15 16:59:06 UTC (rev 140)
@@ -21,6 +21,10 @@
 {
     QString tmp;
     QString ifConfigLine;
+  
+    if ( ! pushApply->isEnabled() ) {
+	return;
+    }
     
     // If the user disabled the device, do so now
     if ( checkDisableWireless->isChecked() )
@@ -180,6 +184,7 @@
       runCommand("/etc/rc.d/netif restart &");
       runCommand("/etc/rc.d/routing restart &");
 
+       pushApply->setEnabled(FALSE);
     
 }
 
@@ -191,6 +196,8 @@
    } else {
 	groupBoxIP->setEnabled(TRUE);
    }
+   
+    pushApply->setEnabled(TRUE);
 }
 
 
@@ -499,7 +506,7 @@
 
     }
 
-    
+     pushApply->setEnabled(TRUE);
 }
 
 
@@ -582,7 +589,8 @@
 	} else {
 	    tabMainWidget->setEnabled(TRUE);
 	}
-	 
+	
+	 pushApply->setEnabled(TRUE); 
 }
 
 
@@ -600,6 +608,7 @@
    } else {
 	groupMAC->setEnabled(TRUE);
    }
+    pushApply->setEnabled(TRUE);
 }
 
 
@@ -1036,6 +1045,7 @@
    // Start loading the info tab
    loadInfo();
 
+   pushApply->setEnabled(FALSE);
 }
 
 
@@ -1087,3 +1097,9 @@
 	
 	return status;
 }
+
+
+void wificonfigWidgetBase::slotCheckGlobalText( const QString &text )
+{
+    pushApply->setEnabled(TRUE);
+}



More information about the Commits mailing list