[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-panel-devel
Subject: Re: Review Request 127263: Add Wireless Energy Saving action
From: Lamarque Souza <lamarque () kde ! org>
Date: 2016-03-03 13:58:11
Message-ID: 20160303135811.32153.95371 () mimi ! kde ! org
[Download RAW message or body]
--===============3418826908616701364==
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
> On March 3, 2016, 12:35 p.m., Lamarque Souza wrote:
> > daemon/actions/bundled/wirelesspowersaving.cpp, line 49
> > <https://git.reviewboard.kde.org/r/127263/diff/1/?file=447897#file447897line49>
> >
> > This and the next two if are a bit strange. Shouldn't this be:
> >
> > if (m_lastWifiState != m_currentProfileDisableWifi) {
>
> Jan Grulich wrote:
> Nope, it's correct. While the configuration checks whether it should be disabled, \
> the NM::isWifiEnabled() returns if it's enabled, so when comparing "enabled" vs \
> "disabled" I need to adjust one of them.
Ok about that being correct, but then the syntax is kind of unusual. You have three \
negations in that if expression: operator !=, operator ! and the "Disable" word in \
m_currentProfileDisableWifi. That makes the code difficult to read. It is because \
situations like that that I do not like using negative words in variable's name. That \
line could be:
if (m_lastWifiState != m_currentProfileEnableWifi) {
which is cleaner in my oppinion. Of course, you will have to change your code to cope \
with changing of m_currentProfileDisableWifi to m_currentProfileEnableWifi. That is \
just a suggestion, Powerdevil's maintainer has the final word about that.
- Lamarque
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/127263/#review93088
-----------------------------------------------------------
On March 3, 2016, 1:30 p.m., Jan Grulich wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/127263/
> -----------------------------------------------------------
>
> (Updated March 3, 2016, 1:30 p.m.)
>
>
> Review request for Plasma, Solid, KDE Usability, and Kai Uwe Broulik.
>
>
> Repository: powerdevil
>
>
> Description
> -------
>
> This action adds an option to turn off wifi/wwan/bt once you switch profile (e.g \
> you unplugg the power cable and start running on battery).
> One more thing. Due to usage of NetworkManagerQt I had to add \
> add_definitions(-DQT_NO_KEYWORDS) into CMakeLists.txt like we do in plasma-nm to \
> avoid compilation error (thanks to NetworkManager) and replace all keywords by \
> their Qt equivalent (e.g signals ? Q_SIGNALS).
> How it behaves:
> 1) Switching from "AC" profile to "battery" (or from "battery" to "low battery" \
> which is the same situation): a) When the action is enabled in "AC" profile and \
> options to turn off wifi/wwan/bt are enabled x) Switching to a profile where the \
> action is enabled too and options are turned on ? will do nothing as they should be \
> already turned off y) Switching to a profile where the action is enabled too but \
> options are turned off ? will do nothing as the "battery" profile is more \
> conservative and we have those devices disabled already in less conservative \
> profile z) Switching to a profile where the action is disabled ? will do nothing as \
> there is nothing to do b) When the action is enabled in "AC" profile and options to \
> turn off wifi/wwan/bt are disabled ? this should behave according to the more \
> conservative profile, if the options are enabled then all devices will be disabled \
> too C) When the action is disabled in "AC" profile
> ? should behave as in the case 1-b
> 2) Switching from "battery" profile to "AC" profile (or from "low battery" to \
> "battery" which is the same situation): a) When the action is enabled in "battery" \
> profile and options to turn off wifi/wwan/bt are enabled x) Switching to a profile \
> where the action is enabled too and options are turned on ? will do nothing as it's \
> same setup y) Switching to a profile where the action is enabled too and options \
> are turned off ? will turn on the wifi/wwan/bt z) Switching to a profile where the \
> action is disabled ? will recover the previous state of the wifi/wwan/bt b) When \
> the action is enabled in "battery" profile and options to turn off wifi/wwan/bt are \
> disabled x) Switching to a profile where the action is enabled too and options are \
> turned on ? will do nothing as the option in "battery" should be ignored in this \
> case due to more conservative profile y) Switching to a profile where the action is \
> enabled too and options are turned off ? will do nothing, same configuration z) \
> Switching to a profile where the action is disabled ? will recover the previous \
> state of the wifi/wwan/bt c) When the action is diabled in "battery" profile
> ? will just recover the previous state of the wifi/wwan/bt as there is nothing to \
> change according to the new profile
>
> Diffs
> -----
>
> CMakeLists.txt e7fff17
> daemon/CMakeLists.txt bbfe191
> daemon/actions/bundled/CMakeLists.txt 45abea3
> daemon/actions/bundled/handlebuttonevents.h 5d602d7
> daemon/actions/bundled/handlebuttonevents.cpp 7e1d16e
> daemon/actions/bundled/handlebuttoneventsconfig.cpp b1d4ef0
> daemon/actions/bundled/org.kde.Solid.PowerManagement.Actions.WirelessPowerSaving.xml \
> PRE-CREATION daemon/actions/bundled/powerdevilwirelesspowersavingaction.desktop \
> PRE-CREATION daemon/actions/bundled/suspendsession.h d0fc78d
> daemon/actions/bundled/wirelesspowersaving.h PRE-CREATION
> daemon/actions/bundled/wirelesspowersaving.cpp PRE-CREATION
> daemon/actions/bundled/wirelesspowersavingconfig.h PRE-CREATION
> daemon/actions/bundled/wirelesspowersavingconfig.cpp PRE-CREATION
> daemon/backends/upower/backlighthelper.h b5ce7dc
> daemon/backends/upower/backlighthelper.cpp 58b82be
> daemon/backends/upower/powerdevilupowerbackend.h 32f0ee4
> daemon/backends/upower/powerdevilupowerbackend.cpp 6133887
> daemon/backends/upower/udevqtclient.cpp 52b17f6
> daemon/kwinkscreenhelpereffect.h bc1c21b
> daemon/kwinkscreenhelpereffect.cpp dec5d65
> daemon/powerdevilactionconfig.cpp 2565b0d
> daemon/powerdevilactionpool.cpp 2091879
> daemon/powerdevilbackendinterface.cpp 7aadb01
> daemon/powerdevilcore.cpp f02d474
> daemon/powerdevilfdoconnector.cpp d9a3ee6
> daemon/powerdevilpolicyagent.cpp e0d1ec6
> daemon/powerdevilprofilegenerator.cpp cff3120
> kcmodule/activities/activitypage.cpp ec18dee
> kcmodule/activities/activitywidget.cpp 5992a4d
> kcmodule/common/actioneditwidget.cpp 216399c
> kcmodule/global/GeneralPage.h a34d54f
> kcmodule/global/GeneralPage.cpp b2d9767
> kcmodule/profiles/EditPage.h 4791017
> kcmodule/profiles/EditPage.cpp 30973b2
>
> Diff: https://git.reviewboard.kde.org/r/127263/diff/
>
>
> Testing
> -------
>
> I did some basic testing like (un)plugging the power cable and checking whether it \
> applied the correct configuration.
>
> Thanks,
>
> Jan Grulich
>
>
--===============3418826908616701364==
MIME-Version: 1.0
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: 7bit
<html>
<body>
<div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
<table bgcolor="#f9f3c9" width="100%" cellpadding="12" style="border: 1px #c9c399 \
solid; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px;"> \
<tr> <td>
This is an automatically generated e-mail. To reply, visit:
<a href="https://git.reviewboard.kde.org/r/127263/">https://git.reviewboard.kde.org/r/127263/</a>
</td>
</tr>
</table>
<br />
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: \
10px;"> <p style="margin-top: 0;">On March 3rd, 2016, 12:35 p.m. UTC, <b>Lamarque \
Souza</b> wrote:</p> <blockquote style="margin-left: 1em; border-left: 2px solid \
#d0d0d0; padding-left: 10px;">
<table width="100%" border="0" bgcolor="white" style="border: 1px solid #C0C0C0; \
border-collapse: collapse; margin: 2px padding: 2px;"> <thead>
<tr>
<th colspan="4" bgcolor="#F0F0F0" style="border-bottom: 1px solid #C0C0C0; \
font-size: 9pt; padding: 4px 8px; text-align: left;"> <a \
href="https://git.reviewboard.kde.org/r/127263/diff/1/?file=447897#file447897line49" \
style="color: black; font-weight: bold; text-decoration: \
underline;">daemon/actions/bundled/wirelesspowersaving.cpp</a> <span \
style="font-weight: normal;">
(Diff revision 1)
</span>
</th>
</tr>
</thead>
<tbody>
<tr>
<th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" \
align="right"><font size="2"></font></th> <td bgcolor="#c5ffc4" width="50%"><pre \
style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td> <th \
bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid \
#C0C0C0;" align="right"><font size="2">49</font></th> <td bgcolor="#c5ffc4" \
width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "> <span \
class="k">if</span> <span class="p">(</span><span class="n">m_lastWifiState</span> \
<span class="o">!=</span> <span class="o">!</span><span \
class="n">m_currentProfileDisableWifi</span><span class="p">)</span> <span \
class="p">{</span></pre></td> </tr>
</tbody>
</table>
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: \
-pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: \
0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">This \
and the next two if are a bit strange. Shouldn't this be:</p> <p style="padding: \
0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">if \
(m_lastWifiState != m_currentProfileDisableWifi) {</p></pre> </blockquote>
<p>On March 3rd, 2016, 1:31 p.m. UTC, <b>Jan Grulich</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: \
10px;"> <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: \
-pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: \
0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Nope, \
it's correct. While the configuration checks whether it should be disabled, the \
NM::isWifiEnabled() returns if it's enabled, so when comparing "enabled" vs \
"disabled" I need to adjust one of them.</p></pre> </blockquote>
</blockquote>
<pre style="margin-left: 1em; white-space: pre-wrap; white-space: -moz-pre-wrap; \
white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p \
style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: \
inherit;">Ok about that being correct, but then the syntax is kind of unusual. You \
have three negations in that if expression: operator !=, operator ! and the "Disable" \
word in m_currentProfileDisableWifi. That makes the code difficult to read. It is \
because situations like that that I do not like using negative words in variable's \
name. That line could be:</p> <p style="padding: 0;text-rendering: inherit;margin: \
0;line-height: inherit;white-space: inherit;">if (m_lastWifiState != \
m_currentProfileEnableWifi) {</p> <p style="padding: 0;text-rendering: \
inherit;margin: 0;line-height: inherit;white-space: inherit;">which is cleaner in my \
oppinion. Of course, you will have to change your code to cope with changing of \
m_currentProfileDisableWifi to m_currentProfileEnableWifi. That is just a suggestion, \
Powerdevil's maintainer has the final word about that.</p></pre> <br />
<p>- Lamarque</p>
<br />
<p>On March 3rd, 2016, 1:30 p.m. UTC, Jan Grulich wrote:</p>
<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="12" style="border: \
1px #888a85 solid; border-radius: 6px; -moz-border-radius: 6px; \
-webkit-border-radius: 6px;"> <tr>
<td>
<div>Review request for Plasma, Solid, KDE Usability, and Kai Uwe Broulik.</div>
<div>By Jan Grulich.</div>
<p style="color: grey;"><i>Updated March 3, 2016, 1:30 p.m.</i></p>
<div style="margin-top: 1.5em;">
<b style="color: #575012; font-size: 10pt;">Repository: </b>
powerdevil
</div>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" \
style="border: 1px solid #b8b5a0"> <tr>
<td>
<pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: \
-moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: \
break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: \
inherit;white-space: inherit;">This action adds an option to turn off wifi/wwan/bt \
once you switch profile (e.g you unplugg the power cable and start running on \
battery).</p> <p style="padding: 0;text-rendering: inherit;margin: 0;line-height: \
inherit;white-space: inherit;">One more thing. Due to usage of NetworkManagerQt I had \
to add add_definitions(-DQT_NO_KEYWORDS) into CMakeLists.txt like we do in plasma-nm \
to avoid compilation error (thanks to NetworkManager) and replace all keywords by \
their Qt equivalent (e.g signals ? Q_SIGNALS).</p> <p style="padding: \
0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">How \
it behaves: 1) Switching from "AC" profile to "battery" (or from "battery" to "low \
battery" which is the same situation): a) When the action is enabled in "AC" profile \
and options to turn off wifi/wwan/bt are enabled
x) Switching to a profile where the action is enabled too and options are \
turned on ? will do nothing as they should be already turned off y) Switching to a \
profile where the action is enabled too but options are turned off ? will do nothing \
as the "battery" profile is more conservative and we have those devices disabled \
already in less conservative profile
z) Switching to a profile where the action is disabled ? will do nothing as \
there is nothing to do b) When the action is enabled in "AC" profile and options to \
turn off wifi/wwan/bt are disabled
? this should behave according to the more conservative profile, if the options \
are enabled then all devices will be disabled too C) When the action is disabled in \
"AC" profile ? should behave as in the case 1-b
2) Switching from "battery" profile to "AC" profile (or from "low battery" to \
"battery" which is the same situation): a) When the action is enabled in "battery" \
profile and options to turn off wifi/wwan/bt are enabled
x) Switching to a profile where the action is enabled too and options are \
turned on ? will do nothing as it's same setup
y) Switching to a profile where the action is enabled too and options are \
turned off ? will turn on the wifi/wwan/bt
z) Switching to a profile where the action is disabled ? will recover the \
previous state of the wifi/wwan/bt b) When the action is enabled in "battery" \
profile and options to turn off wifi/wwan/bt are disabled x) Switching to a profile \
where the action is enabled too and options are turned on ? will do nothing as the \
option in "battery" should be ignored in this case due to more \
conservative profile
y) Switching to a profile where the action is enabled too and options are \
turned off ? will do nothing, same configuration
z) Switching to a profile where the action is disabled ? will recover the \
previous state of the wifi/wwan/bt c) When the action is diabled in "battery" \
profile
? will just recover the previous state of the wifi/wwan/bt as there is nothing \
to change according to the new profile</p></pre> </td>
</tr>
</table>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: \
1px solid #b8b5a0"> <tr>
<td>
<pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: \
-moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: \
break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: \
inherit;white-space: inherit;">I did some basic testing like (un)plugging the power \
cable and checking whether it applied the correct configuration.</p></pre> </td>
</tr>
</table>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">
<li>CMakeLists.txt <span style="color: grey">(e7fff17)</span></li>
<li>daemon/CMakeLists.txt <span style="color: grey">(bbfe191)</span></li>
<li>daemon/actions/bundled/CMakeLists.txt <span style="color: \
grey">(45abea3)</span></li>
<li>daemon/actions/bundled/handlebuttonevents.h <span style="color: \
grey">(5d602d7)</span></li>
<li>daemon/actions/bundled/handlebuttonevents.cpp <span style="color: \
grey">(7e1d16e)</span></li>
<li>daemon/actions/bundled/handlebuttoneventsconfig.cpp <span style="color: \
grey">(b1d4ef0)</span></li>
<li>daemon/actions/bundled/org.kde.Solid.PowerManagement.Actions.WirelessPowerSaving.xml \
<span style="color: grey">(PRE-CREATION)</span></li>
<li>daemon/actions/bundled/powerdevilwirelesspowersavingaction.desktop <span \
style="color: grey">(PRE-CREATION)</span></li>
<li>daemon/actions/bundled/suspendsession.h <span style="color: \
grey">(d0fc78d)</span></li>
<li>daemon/actions/bundled/wirelesspowersaving.h <span style="color: \
grey">(PRE-CREATION)</span></li>
<li>daemon/actions/bundled/wirelesspowersaving.cpp <span style="color: \
grey">(PRE-CREATION)</span></li>
<li>daemon/actions/bundled/wirelesspowersavingconfig.h <span style="color: \
grey">(PRE-CREATION)</span></li>
<li>daemon/actions/bundled/wirelesspowersavingconfig.cpp <span style="color: \
grey">(PRE-CREATION)</span></li>
<li>daemon/backends/upower/backlighthelper.h <span style="color: \
grey">(b5ce7dc)</span></li>
<li>daemon/backends/upower/backlighthelper.cpp <span style="color: \
grey">(58b82be)</span></li>
<li>daemon/backends/upower/powerdevilupowerbackend.h <span style="color: \
grey">(32f0ee4)</span></li>
<li>daemon/backends/upower/powerdevilupowerbackend.cpp <span style="color: \
grey">(6133887)</span></li>
<li>daemon/backends/upower/udevqtclient.cpp <span style="color: \
grey">(52b17f6)</span></li>
<li>daemon/kwinkscreenhelpereffect.h <span style="color: grey">(bc1c21b)</span></li>
<li>daemon/kwinkscreenhelpereffect.cpp <span style="color: \
grey">(dec5d65)</span></li>
<li>daemon/powerdevilactionconfig.cpp <span style="color: \
grey">(2565b0d)</span></li>
<li>daemon/powerdevilactionpool.cpp <span style="color: grey">(2091879)</span></li>
<li>daemon/powerdevilbackendinterface.cpp <span style="color: \
grey">(7aadb01)</span></li>
<li>daemon/powerdevilcore.cpp <span style="color: grey">(f02d474)</span></li>
<li>daemon/powerdevilfdoconnector.cpp <span style="color: \
grey">(d9a3ee6)</span></li>
<li>daemon/powerdevilpolicyagent.cpp <span style="color: grey">(e0d1ec6)</span></li>
<li>daemon/powerdevilprofilegenerator.cpp <span style="color: \
grey">(cff3120)</span></li>
<li>kcmodule/activities/activitypage.cpp <span style="color: \
grey">(ec18dee)</span></li>
<li>kcmodule/activities/activitywidget.cpp <span style="color: \
grey">(5992a4d)</span></li>
<li>kcmodule/common/actioneditwidget.cpp <span style="color: \
grey">(216399c)</span></li>
<li>kcmodule/global/GeneralPage.h <span style="color: grey">(a34d54f)</span></li>
<li>kcmodule/global/GeneralPage.cpp <span style="color: grey">(b2d9767)</span></li>
<li>kcmodule/profiles/EditPage.h <span style="color: grey">(4791017)</span></li>
<li>kcmodule/profiles/EditPage.cpp <span style="color: grey">(30973b2)</span></li>
</ul>
<p><a href="https://git.reviewboard.kde.org/r/127263/diff/" style="margin-left: \
3em;">View Diff</a></p>
</td>
</tr>
</table>
</div>
</body>
</html>
--===============3418826908616701364==--
[Attachment #3 (text/plain)]
_______________________________________________
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic