[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-panel-devel
Subject: Re: Review Request 113260: Port KTimeZoned to Qt5/KF5
From: "Martin Klapetek" <martin.klapetek () gmail ! com>
Date: 2013-10-22 16:49:05
Message-ID: 20131022164905.5530.58764 () vidsolbach ! de
[Download RAW message or body]
[Attachment #2 (multipart/alternative)]
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/113260/
-----------------------------------------------------------
(Updated Oct. 22, 2013, 4:49 p.m.)
Review request for KDE Runtime, KDE Frameworks, Plasma, and John Layt.
Changes
-------
* Watch the whole timezone database dir
* Rename signal to timeZoneDatabaseUpdated()
* Windows support is to be added later by John (I have no way to test)
* The Solaris support remains removed. Yes, Solaris still has its users, but they are \
using KDE4 and will keep so for some time. IF PlasmaWorkspaces2 will get Solaris \
support (so that it all builds and runs), I hereby commit to add proper Solaris \
support to ktimezoned at that time, otherwise there's no point in keeping old (now \
untested) code around to bitrot and add maintenance burden, especially since there is \
0 effort to have other, more important components work on Solaris (including \
Frameworks).
Repository: kde-runtime
Description
-------
Originally I wanted to port KTimeZoned 1:1 to Qt5/KF5, but then I found out that all \
the stuff KTZD was doing was added in QTimeZone, that includes reading correct system \
files/env variables to obtain the timezone and returning the proper system zone (KTZD \
did all this by itself). It also doesn't need to parse the timezone files itself or \
watch for their changes as QTimeZone objects are not stored.
So now it's just a thin module watching /etc/timezone (used by Debian-based distros) \
and /etc/localtime (used by eg. Fedora or Suse, but also by Debian in conjunction \
with /etc/timezone) for changes and if it detects a change, it checks if the new \
timezone is really different and if it is, it sends out a DBus signal \
"timeZoneChange". I changed it from "configChanged" as I think "timeZoneChanged" \
makes way more sense.
I didn't touch the Windows part as I have no way to test, would be nice if someone \
could help with that.
EDIT: I removed the other two DBus signals which were not used and I'm unsure KTZD is \
the correct place for that now anyway. The only usage in KSystemTimeZone can be \
replaced by own KDirWatch instance.
Diffs (updated)
-----
CMakeLists.txt a5ec93d
ktimezoned/CMakeLists.txt bafc85e
ktimezoned/ktimezoned.h ff21807
ktimezoned/ktimezoned.cpp f380c09
ktimezoned/ktimezoned_win.h 26e21cc
ktimezoned/ktimezoned_win.cpp cadfe3a
ktimezoned/ktimezonedbase.h ca00aca
ktimezoned/org.kde.KTimeZoned.xml daaa0b7
Diff: http://git.reviewboard.kde.org/r/113260/diff/
Testing
-------
Tested by changing the timezone in different ways, change was detected and signalled \
out.
Thanks,
Martin Klapetek
[Attachment #5 (text/html)]
<html>
<body>
<div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
<table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 \
solid;"> <tr>
<td>
This is an automatically generated e-mail. To reply, visit:
<a href="http://git.reviewboard.kde.org/r/113260/">http://git.reviewboard.kde.org/r/113260/</a>
</td>
</tr>
</table>
<br />
<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" \
style="background-image: \
url('http://git.reviewboard.kde.org/static/rb/images/review_request_box_top_bg.ab6f3b1072c9.png'); \
background-position: left top; background-repeat: repeat-x; border: 1px black \
solid;"> <tr>
<td>
<div>Review request for KDE Runtime, KDE Frameworks, Plasma, and John Layt.</div>
<div>By Martin Klapetek.</div>
<p style="color: grey;"><i>Updated Oct. 22, 2013, 4:49 p.m.</i></p>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Changes</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;">* Watch the whole timezone database dir
* Rename signal to timeZoneDatabaseUpdated()
* Windows support is to be added later by John (I have no way to test)
* The Solaris support remains removed. Yes, Solaris still has its users, but they are \
using KDE4 and will keep so for some time. IF PlasmaWorkspaces2 will get Solaris \
support (so that it all builds and runs), I hereby commit to add proper Solaris \
support to ktimezoned at that time, otherwise there's no point in keeping old \
(now untested) code around to bitrot and add maintenance burden, especially since \
there is 0 effort to have other, more important components work on Solaris (including \
Frameworks).</pre> </td>
</tr>
</table>
<div style="margin-top: 1.5em;">
<b style="color: #575012; font-size: 10pt;">Repository: </b>
kde-runtime
</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;">Originally I wanted to port KTimeZoned 1:1 to Qt5/KF5, but then I found \
out that all the stuff KTZD was doing was added in QTimeZone, that includes reading \
correct system files/env variables to obtain the timezone and returning the proper \
system zone (KTZD did all this by itself). It also doesn't need to parse the \
timezone files itself or watch for their changes as QTimeZone objects are not stored.
So now it's just a thin module watching /etc/timezone (used by Debian-based \
distros) and /etc/localtime (used by eg. Fedora or Suse, but also by Debian in \
conjunction with /etc/timezone) for changes and if it detects a change, it checks if \
the new timezone is really different and if it is, it sends out a DBus signal \
"timeZoneChange". I changed it from "configChanged" as I think \
"timeZoneChanged" makes way more sense.
I didn't touch the Windows part as I have no way to test, would be nice if \
someone could help with that.
EDIT: I removed the other two DBus signals which were not used and I'm unsure \
KTZD is the correct place for that now anyway. The only usage in KSystemTimeZone can \
be replaced by own KDirWatch instance.</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;">Tested by changing the timezone in different ways, change was detected \
and signalled out.</pre> </td>
</tr>
</table>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> \
(updated)</h1> <ul style="margin-left: 3em; padding-left: 0;">
<li>CMakeLists.txt <span style="color: grey">(a5ec93d)</span></li>
<li>ktimezoned/CMakeLists.txt <span style="color: grey">(bafc85e)</span></li>
<li>ktimezoned/ktimezoned.h <span style="color: grey">(ff21807)</span></li>
<li>ktimezoned/ktimezoned.cpp <span style="color: grey">(f380c09)</span></li>
<li>ktimezoned/ktimezoned_win.h <span style="color: grey">(26e21cc)</span></li>
<li>ktimezoned/ktimezoned_win.cpp <span style="color: grey">(cadfe3a)</span></li>
<li>ktimezoned/ktimezonedbase.h <span style="color: grey">(ca00aca)</span></li>
<li>ktimezoned/org.kde.KTimeZoned.xml <span style="color: \
grey">(daaa0b7)</span></li>
</ul>
<p><a href="http://git.reviewboard.kde.org/r/113260/diff/" style="margin-left: \
3em;">View Diff</a></p>
</td>
</tr>
</table>
</div>
</body>
</html>
_______________________________________________
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