Issue 292

16th June 2013 by KDE Commit-Digest Team

Contributors

Marta Rybczynska

This Week...

In kdelibs, kfiledialog remembers settings correctly. Plasma applet for Network Management adds OpenConnect VPN plugin. KDE Telepathy's authentication supports Google accounts. Kopete activates webcam preview in settings dialog only if webcam tab is selected. Zenshin adds DataStoreInterface that allows to decouple Akonadi access from the rest of the application (useful for testing, for example). Tellico allows Bibtex text to be drag/dropped on the main window to import. Skrooge imports Microsoft Money documents (.mny), both protected and not. Bodega server sees much work, including implementation of posting of assets, publishing and "Partner Manager" role. Optimizations in Trojita, KDE-PIM and KDevelop. GSoC work in KStars and Kreversi.

Contents

  Bug Fixes Features Optimization Security Other

Accessibility

[]     

Development Tools

[]   []   []

Educational

[]     []

Graphics

[]     

KDE Base

[] []    []

KDE-PIM

[] [] [] []  

Office

[] [] []   

Konqueror

     

Multimedia

  []    []

Networking Tools

[] []    []

User Interface

     

Utilities

     

Games

[]     []

Other

  [] []   

There are 92 selections this week

Bug Fixes

Accessibility

Peter Grasch committed changes in [simon] /src/simonrecognitioncontrol:

Fixing network communication corruption

The method to process the server replies was not reentrant. As our
custom thread safe tcp socket did not account for that, a race condition
would occasionally mess with the read cursor.

Peter Grasch committed changes in [simon] /:

Fixing server -> client synchronization

* Send samples to client that are not essential for *right now* to cover
the case where the client receives an updated prompts making the
initial request outdated
* Rewrite to central send() method and make the network transfer
uninterruptible

Diffs: 1, 2, 3, 4 Revision ef0119f...
Peter Grasch committed changes in [simon] /:

Fixing Server > Client rollout on initial setup

* The built-in default scenario used to mark itself as "just created"
causing it to appear "newer" than a potentially modified scenario on
the server. Fixed.
* The built-in default scenario configuration defaulted to the current
time (first start). Again, this might overwrite a potentially modified
server configuration. Fixed.
* The server used to send the list of scenarios to activate before
synchronizing available scenarios. This may cause the client to
initialize non-existing scenarios, causing a crash. Fixed.

Diffs: 1, 2, 3, 4 Revision f8448d6...

Development Tools

Aleix Pol Gonzalez committed changes in [kdevplatform] plugins/filemanager/kdevfilemanagerplugin.cpp:

Fix crash when re-loading the file manager plugin

It was requesting the KPluginInfo before having it added to the
plugin controller and it was crashing. This patch delays the UI
registering. We're not in a hurry to do that anyway.

Educational

Andreas Cord-Landwehr committed changes in [rocs] /DataStructures/Graph:

Fix distance computation for unconnected nodes.

If a path does not exist between any two vertices in a graph, the
distance between those vertices is defined to be infinity. The
GraphStructure::distances method was returning zero in this situation
and so this was a bug. A fix for this bug was implemented, a test case
was added to verify these changes, and related documentation was
updated.

Introducing two new strings, as requested at i18n list.

REVIEW: 110822

Diffs: 1, 2, 3, 4, 5 Revision 06c79f1...
Akarsh Simha committed changes in [kstars] kstars/tools/observinglist.cpp:

Prevent potential segfault in observing list.

While this does not really find and eliminate the source of the null
object, it at least prevents KStars from crashing while trying to add
objects to the observing list. The segfault can result in severe loss
of observing wishlist data because the data file is overwritten each
time and the data save could be aborted by a segfault.

It happened to me today, and I have to redo 2 hours of scouring
through observing lists.

Will not backport as we're going to release 4.11 soon.

BUG

Antonio Larrosa Jimenez committed changes in [libkdeedu] qtmmlwidget/qtmmlwidget.cpp:

Fix a reference to deleted memory, since QString::toLatin1().data() is a dangling pointer to the data of a temporary object which was already deleted.

Rishab Arora committed changes in [kstars] kstars/kstarsinit.cpp:

Update the local time before we update the timebox.
Fixes the issue with time displayed being one step behind.



REVIEW: 110973

Graphics

Miika Turkia committed changes in [kphotoalbum] XMLDB/FileReader.cpp:

Continue in case a category is missing

Missing categories are inserted nowadays automatically, so there is no
need to assert on it.

KDE Base

Heena Mahour committed changes in [kde-workspace/heenamahour/window-list] plasma/generic/dataengines/powermanagement/powermanagementengine.cpp:

Don't init values with 0.
When the sourceRequestEvent is fired, it asks DBus for the brightness. Here it happened that the reply
came so fast that the 0 overwrote it. This fixes the battery monitor not knowing the current
brightness values on system startup (eg. if they've been modified earlier by a script)

Sebastian Kügler committed changes in [plasma-framework] /shell/applets:

Disable all TextAreas

Initializing a TextArea crashes the shell, there's a Qt bug
https://bugreports.qt-project.org/browse/QTBUG-30925 filed about this.

Since we now can't even build against an old-enough Qt, which doesn't
suffer from this crasher, disable the textareas in our code until it's
fixed.

Diffs: 1, 2, 3, 4 Revision 9900fae...
Kai Uwe Broulik committed changes in [kde-workspace] powerdevil/daemon/powerdevilprofilegenerator.cpp:

Disregard non-powersupply batteries in the profile generator too.
If your mouse reports its battery status and you launch a fresh KDE SC install,
your powerdevilprofilesrc will be filled with unneeded config options.

Heena Mahour committed changes in [kde-workspace/heenamahour/window-list] kwin/glxbackend.cpp:

kwin/glx: Relax the GLX_CONFIG_CAVEAT requirement

Allow drawable configs with caveats. The ARGB32 visual is marked as
non-conformant in the Catalyst driver.

Aaron J. Seigo committed changes in [kde-workspace] /taskmanager:

use KWindowInfo to check for transients; take more care with transients

it does a rather more thorough job and fixes the problem of utility
windows that are transients (e.g. toolboxes pulled out of app windows)
preventing windows from being minimized properly from the tasks widget

this is probably far older than the 2.5 year old bug report.

Fredrik Höglund committed changes in [kde-workspace] kwin/effects/blur/blur_config.ui:

kwin/blur: Fix a typo in the config dialog

Substituting "save" with "safe" completely changed the meaning of
the sentence.

Alex Fiestas committed changes in [kscreen] /:

If no connected outputs are found, do nothing

Our name is kscreen, we can handle dozens of configurations but we can't
handle having no screens (facepalm). This fixes that.

Emmanuel Pescosta committed changes in [kde-runtime] kioslave/applications/kio_applications.cpp:

Fix Bug 320335 - Problem with tree view when using programs:/ protocol

Create directories without trailing slashes, like every other kio slave does.


REVIEW: 110924
FIXED-IN: 4.11

Frank Reininghaus committed changes in [kde-baseapps/KDE/4.10] /src/kitemviews:

Do not rename files unexpectedly when changing the URL

If the role editor loses focus, it considers the current renaming
operation finished, and tells DolphinView to rename the file. This is a
problem when changing the directory, because the URL change happens
before DolphinView receives the signal, which results in a file in the
new directory being renamed unexpectedly.

The solution is to establish the connection to the
slotRoleEditingFinished signal only when the "rename inline" editor is
opened, and disconnect it when renaming is finished or canceled or the
URL changes.


FIXED-IN: 4.10.5
REVIEW: 110908

Vishesh Handa committed changes in [nepomuk-core] libnepomukcore/resource/nepomukmainmodel.cpp:

MainModel: Guess the virtuoso port number better

This shouldn't affect normal users, but for developers who work on
Nepomuk, virtuoso isn't always started on port 1113 because a previous
running virtuoso. In that case when a new virtuoso instance is started,
it is started on the next available port - 1114.

All the applications still try to connect to 1113 because the socket
file still exists, and that causes problems.

We now try to connect to the highest port number after 1113 which has a
socket file.

Laurent Montel committed changes in [kdelibs/KDE/4.10] kdeui/kdepackages.h:

Fix Bug 321042 - "Report problems or whishes" does not work for KMail2

FIXED-IN: 4.10.5

Lukáš Tinkl committed changes in [kde-workspace/KDE/4.10] plasma/desktop/applets/kickoff/ui/flipscrollview.cpp:

Up/Down keys should not move to the left view when on the first/last position

Tested the whole kickoff menu keyboard navigation, everything works as
expected now: Right key into the submenu, left key to the parent menu;
when in the toplevel, it moves to the view on the right/left
when pressing Right/Left arrow keys respectively

Emmanuel Pescosta committed changes in [kde-baseapps] /:

Fix Bug 319119 - Dolphin doesn't notice when renaming failed

Change the data in the model before the real renaming is done by KonqOperations::rename(),
but when the rename operation fails, revert the data changes in the model.


REVIEW: 110922

Aaron J. Seigo committed changes in [kde-workspace] libs/taskmanager/taskmanager.cpp:

don't crash when the list is empty

the do/while construct would die on an empty list. in theory this
shouldn't happen because we are asking with a Task pointer which
should only exist if there are, well, windows. however, due to the
async nature of windowing systems, during the time of the call all
of this can change.

Frank Reininghaus committed changes in [kde-baseapps] dolphin/src/views/dolphinviewactionhandler.cpp:

Do not delete files when Shift-clicking "Trash"

Thanks to Dawit Alemayehu for making this fix possible with commit
8e023ae9e5051cb7b81af86a178e37c1f2c5da94 !


FIXED-IN: 4.11.0

KDE-PIM

Jan Kundrát committed changes in [trojita] /:

Merge branch 'fix-backslashes-in-mailbox-names'

REVIEW: 110912

Pali Rohár committed changes in [kopete] /jabber/ui:

Add support for disable overriding jabber host & port when registring new jabber account

This is needed for all modern jabber servers, so override option is disabled by default
After this patch registring new jabber accounts should work again

Sergio Luis Martins committed changes in [kdepim] calendarviews/month/monthitem.cpp:

Fix background of recurring to-do's.

Don't mark as overdue completed to-do instances.

Vishesh Handa committed changes in [kdepim-runtime] agents/nepomukfeeder/propertycache.cpp:

Feeder: Do not assert when the mappings do not contain a resource

There are cases where the mappings do not contain a resoucce. This is
becase we use the MergeDuplicateResources flag in StoreResources and
the duplicates do not have mappings

Laurent Montel committed changes in [kdepim] /:

Save/restore dialog size

Aurélien Gâteau committed changes in [kdepim] /configuredialog:

composer config page: Move external editor group to its own tab

This saves vertical space and makes the page fit netbook screens.

REVIEW: 110977

Sergio Luis Martins committed changes in [kdepimlibs] akonadi/calendar/calendarbase.cpp:

Ignore events with invalid DTSTART.

Fixes kontact freezing for a couple of seconds.

David Jarvie committed changes in [kdepim/KDE/4.10] /:

Bug 219261: Fix sound repetition pause not working in audio alarms

Also requires commit f655050c5bdc1a0e47c2ede917a4a8df8fb71fec in
kdepimlibs KDE/4.10 branch.

Diffs: 1, 2, 3 Revision d143ebc...
Laurent Montel committed changes in [kdepim] /:

Fix Bug 308008 - Filtering from checked accounts only not working for POP3 accounts

FIXED-IN: 4.11

Laurent Montel committed changes in [kdepim] /job:

Set current time for archive. (bug reported by kevin some weeks ago)

Jan Kundrát committed changes in [trojita] /:

IMAP: do not doubly-encode backslashes when sending mailbox names

I've noticed this in an unrelated bugreport (thanks to Nicolas Sirolli
in bug 320828).

The encodeImapFolderName shall only convert the Unicode data into a proper
modified-utf-7 thing, not escape the backslashes. This escaping is done by the
Parser when queueing commands. Looks like this bug must have been around for
ages, literally.

Jan Kundrát committed changes in [trojita] src/Imap/Encoders.cpp:

When decoding from unknown encoding and assuming UTF-8, be sure to not stop at first NULL byte

This does *not* fix #321160 (this code is not even triggered in this situation),
but it's a sane thing to do anyway. I guess that the code shall be audited for
other instances where we might silently truncate the data here; it's caused by
an implicit conversion from QByteArray to uchar*.

Office

Boudewijn Rempt committed changes in [calligra/krita-opengl2-rempt] krita/ui/tool/kis_tool.cc:

Fix drawing the cursor in XOR mode with opengl

However... ES 2.0 doesn't have

glEnable(GL_COLOR_LOGIC_OP);
glLogicOp(GL_XOR);

Which is, of course, why QPainter in OpenGL mode doesn't have it either.

Stephane Mankowski committed changes in [skrooge] /:
Dmitry Kazakov committed changes in [calligra] krita/ui/kisexiv2/kis_xmp_io.cpp:

Fixed a crash when opening JPEG files edited in Lightroom

We do not support nested arrays/nested structures in the XMP currently.
This means that all the information about Adjustment masks applied by
the Adobe Lightroom will be lost.

This is not ideal of course, but we can live with it for now.

Here is an example of XMP tag that will be dropped:
GradientBasedCorrections[1]/crs:CorrectionMasks[1]/crs:What

Boudewijn Rempt committed changes in [calligra/calligra/2.7] krita/ui/kisexiv2/kis_xmp_io.cpp:

Fixed a crash when opening JPEG files edited in Lightroom

We do not support nested arrays/nested structures in the XMP currently.
This means that all the information about Adjustment masks applied by
the Adobe Lightroom will be lost.

This is not ideal of course, but we can live with it for now.

Here is an example of XMP tag that will be dropped:
GradientBasedCorrections[1]/crs:CorrectionMasks[1]/crs:What

Networking Tools

Lamarque Souza committed changes in [networkmanagement] /:

Attempt to prevent crash when restarting NetworkManager.

David Narváez committed changes in [kget] /:

Implementing a workaround for invalid Tag URIs

The data of tags is cleared in the aboutToQuit signal
so no uri() call is valid when we are saving group
info. This commit "caches" the URI as the key of a
map that holds tags as the values

CCEMAIL

Lamarque Souza committed changes in [networkmanagement/nm09] libs/service/notificationmanager.cpp:

Distinguish between user deactivation and activation error for vpn connections
as well.


FIXED-IN: 0.9.0.9
(cherry picked from commit f5c57ab9ba95db528fa89906335f8dca44b43439)

Andrea Diamantini committed changes in [rekonq] /:

Link custom rekonq QNAM to KDE proxy settings

This is a first attempt to link our needed QNAM to KDE proxy settings.
It will try to fix proxy problems when used.

Oh... I also added some new error strings in case of proxy problems :)

Jan Grulich committed changes in [libnm-qt] utils.cpp:

Fix: WEP key is never valid

Games

Albert Astals Cid committed changes in [kpat] /:

Enable ctrl-m (by default) to toggle the menubar

This is considered an accessibility/usability bugfix by the kdegames crew
The i18n teams have acked the new messages

REVIEW: 110650

FIXED-IN: 4.11.0

Ian Wadham committed changes in [kjumpingcube] /:

Fix Save/Load to include saving and loading game and player settings.

Diffs: 1, 2, 3 Revision 227c5a0...

Features

KDE Base

Vishesh Handa committed changes in [kde-runtime] nepomuk/kioslaves/tags/kio_tags.cpp:

Tags: Do not show tags which do not have any files

Lukáš Tinkl committed changes in [plasma-nm] /:

add OpenConnect VPN plugin

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 6 more) Revision 5cab955...
Aurélien Gâteau committed changes in [kdelibs] /:

Merge branch 'wip/kfiledialog-remember-settings'

REVIEW: 106581

FIXED-IN: 4.11.0

Simon Paul St James committed changes in [kate] /:

Handle octal numbers (non-zero; leading 0; can be parsed as octal) with ctrl-a/x. Ensure that they retain their leading 0's.

KDE-PIM

Michael Bohlender committed changes in [kdepim] /:

Merge branch 'newMailTB'

REVIEW:110959

Jan Kundrát committed changes in [trojita] /Imap/Model:

Cleanup: DRY when sanitizing the mailbox names before passing them to the SQL layer

This massaging is still needed due to qsqlite translating a null QString into
NIL; by now, this requirement is documented and its use is made consistent.

Thanks to ronny_ for pointing out that the old way was very ugly.

REVIEW: 110921

David Edmundson committed changes in [libkpeople] /:

Merge branch 'modelfeatures'

REVIEW: 110961

Alex Fiestas committed changes in [ktp-auth-handler] /:

Add support for Google accounts added by mission-control-uoa

Basically we have to implement X-OAUTH2 which besides the generic name
it does not seem to be generic at all.

This code maps 1:1 what Empathy does and of course it is working.

Diffs: 1, 2, 3, 4 Revision 897df8b...
Pali Rohár committed changes in [kopete] /config/avdevice:

Activate webcam preview in settings dialog only if webcam tab is selected




FIXED-IN: 4.11

Mario Bensi committed changes in [zanshin] /:

Add DataStoreInterface

DataStoreInterface allows to decouple akonadi access from the rest of
the application.

DataStoreInterface provides mecanism to override the current
implementation. In particulary uses for preventing akonadi access during
tests.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 1 more) Revision a818f0e...
Pali Rohár committed changes in [kopete] /chatwindow:

Text input field auto-resize for chat window

Chat window's input field now follows its internal text size. One can disable
this via "Format->Input auto-resize" and got back to the standard behaviour.
For technical reasons, manual resizing doesn't work properly with auto-resizing
enabled - size is reset to standard on every input.

This patch comes from old svn reviewboard request 7065 and was not commited to
old svn repository because of svn to git migration.

REVIEW: 7065
CC

Diffs: 1, 2, 3, 4, 5 Revision 38c4672...
Michael Bohlender committed changes in [kdepim] /:

Merge branch 'mailfromdraft'

REVIEW:110994

Office

Stephane Mankowski committed changes in [skrooge] /:

feature: Option to auto download from backend on opening file (default=false)

Diffs: 1, 2, 3, 4, 5, 6 Revision 1cbe08a...
Robby Stephenson committed changes in [tellico/2.3] /:

Allow Bibtex text to be drag/dropped on the main window to import

The importing is fragile. A Bibliography type collection must currently
be open and the bibtex text must be valid.


FIXED-IN: 2.3.8

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Revision 251b78b...
Stephane Mankowski committed changes in [skrooge] /:

feature: Import Microsoft Money documents (.mny) protected or not

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 7 more) Revision 2f233de...
Stephane Mankowski committed changes in [skrooge] /:

Microsoft Money import

Diffs: 1, 2, 3, 4 Revision b4f157a...

Multimedia

Michael Pyne committed changes in [juk] lyricswidget.cpp:

lyrics: Handle playback stoppage.

Rafaël Carré committed changes in [phonon-vlc] /:

Enable audio/video with "audio"/"video" options

Removes the need to select a platform dependant aout module which may
or may not exist, or be present under a different name.

Added benefit is that decoding of unwanted track is skipped entirely,
whereas before we would decode but not render.

Diffs: 1, 2, 3, 4 Revision 757dff3...

Networking Tools

Jan Grulich committed changes in [plasma-nm] /editor:

Allow to specify whether we want HEX/Passphrase WEP key

Diffs: 1, 2, 3 Revision 81bb2a4...
Jan Grulich committed changes in [plasma-nm] /l2tp:

Finish L2TP VPN plugin

Diffs: 1, 2, 3, 4, 5 Revision e290d65...

Other

Zack Rusin committed changes in [bodega-server] server/lib/db/createutils.js:

Merge the incoming and published info.

When posting assets we need to know if the asset has already
been published and the posting is simply to update some of its
info, or whether it's the initial posting of a brand new asset.
The latter case comes with lots of requirements (tags, previews
and filled fields in the assets table), the latter just lets
everything through (e.g. just the description could be set).

Aaron J. Seigo committed changes in [bodega-server] /:

add table for partner services (social media, etal)

Aaron J. Seigo committed changes in [bodega-server] /:

add a "Partner Manager" role

will be used to know who can assign people to different roles in the partner

Zack Rusin committed changes in [bodega-server] /:

Implement publishing.

With this we can create new assets, post assets (send them for a
review) and publish (for people who are validators). Updating of
existing assets works as well. Previews and tags are supported.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8 Revision 315698f...
Zack Rusin committed changes in [bodega-server] /:

Implement posting of assets.

Currently it also does publishing, but that will be
separated to another process. Posting makes sure that
the asset is 'complete' and does a lot of processing,
e.g. generation of extra icons.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 12 more) Revision e64c345...
Aaron J. Seigo committed changes in [bodega-server] /:

add in a warehouse cut

we now *require* a row in warehouses with the name of 'main'
also, pricing is now calculated as percent of final price rather
than a markup on base price. makes calculations and communicating
final results far far easier.

Diffs: 1, 2, 3 Revision ec9e5b2...

Optimization

Development Tools

Aleix Pol Gonzalez committed changes in [kdevplatform] /:

Delay templates initialization

It doesn't make sense to go through all the templates when kdevelop is
started.

Diffs: 1, 2, 3, 4, 5 Revision 85b3cdd...

KDE-PIM

Jan Kundrát committed changes in [trojita] /Gui:

GUI: do not "load" messages when the viewer is not visible

The idea is to save bandwidth (and prevent marking message as read) when the
message pane is not shown.

Thanks to Vayu on the ML for his suggestion.

Thomas Lübking also provided a better way of checking the sizing and suggested
loading the current message when the widget comes back into view.

REVIEW: 110978

Dan Vratil committed changes in [kdepim] mailcommon/folder/foldercollectionmonitor.cpp:

Remove inode/directory from MailCommon::FolderCollectionMonitor

Don't watch collections in KMail that KMail is not really interested in.
This should improve performance a bit and fix a problem, that removing a
completely unrelated resource (like Google Calendar) was totally messing
up KMail's folder view (usually leading to crash).

I assume this was added as a workaround for a bug in Monitor, that collections
trees where the root collection did not match the mimetype filter were ignored.
This has been fixed some time ago, so this is not needed anymore.

REVIEW: 109259

Sergio Luis Martins committed changes in [kdepim] /plugins/korganizer:

Performance improvements for the summary view.

Don't call eventsForDate() 7 times, uses incidences() then
timesInInterval() for recurring ones, which is faster.

Jan Kundrát committed changes in [trojita] /:

IMAP: speed up the search processing when filtering messages

The old algorithm was rather dumb -- finding a first element of a QHash is not
O(1), but O(n), leading to quadratic time complexity, and the excess memory
traffic doesn't help either. On my laptop, this change changes cuts runtime of
the newly added test to ~280ms from the original 15+ seconds.

REVIEW: 110925

Diffs: 1, 2, 3 Revision f012dbb...

Office

Stephane Mankowski committed changes in [skrooge] /:

Better performances in import of multi files (or from backend) by applying "search & process" rules only one time

Diffs: 1, 2, 3, 4, 5, 6 Revision 94e91c2...

Other

Aaron J. Seigo committed changes in [bodega-server] /:

make testdata.sql a lot less painful to read and maintain

basically, replacing a lot of raw id's from previous inserts with
helper functions that look up the id by the name of the thing

also clean up the stored procedures created when finished

there are still some raw IDs in the file, but this is a big step in
the sane direction

Diffs: 1, 2, 3, 4 Revision 08a7b09...

Security

KDE-PIM

Pali Rohár committed changes in [trojita] /Gui:

Show big fat warning that smtp password will be saved on disk in clear text


REVIEW: 110904

Other

Development Tools

Aleix Pol Gonzalez committed changes in [kdevelop] /qthelp:

Refactored the QtHelp loading so that it is not synchronous

As it was being done at the moment, we were calling synchronously the qmake
process from the plugin constructor. This was bad and had problems, like
the one discussed in the bug.
Some logic for the lookup is being removed as well, but it seemed like an
overkill to me, the first qmake should be already working. If that's not
the case we can iterate over it.

Educational

Henry de Valence committed changes in [kstars/hdevalence-gsoc2013] /:

Move the coordinate conversion functions out of SkyPoint.

This commit is rather more monstrous than anticipated, since in
order to do this, we have to touch every part of the KStars code that
uses the conversion functions of SkyPoint. This illustrates just
how screwed up this class is.

The main problem that the SkyPoint has is that it's really three
points bundled together into one, with no synchronization between the
coordinates. The three coordinates (catalog, equatorial, horizontal)
are supposed to represent the same point in some cases, but not in others.
We can't just add synchronization, for example, because it would break
all of the things that rely on being able to update things independently.
But not having synchronization causes all kinds of position bugs, and
makes the code incredibly difficult to reason about as well.

I suspect that there are, amongst the various parts of the codebase,
incompatible expectations about how the class should behave (i.e., there
is no correct behaviour).

The other problem with the SkyPoint, of course, is that it confuses the
relationship between "has a coordinate" and "is a coordinate". This may
be related to the problems above.

When we reimplement the functions now in the KSEngine::Old* namespaces,
we will not repeat these mistakes. I intend to keep the coordinates to
just a POD quaternion, with one type for each system, and have all of the
functions be *functions*, not methods, whose output depends only on their
input and are side-effect free. This also means that we can actually
unit test them, since they will both a) have "correct" behaviour
and b) not require the entire rest of KStars to be running to operate.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 47 more) Revision b0d111e...
Henry de Valence committed changes in [kstars/hdevalence-gsoc2013] /:

Begin refactoring the SkyPoint class.

We want to simplify the SkyPoint class and remove all of the
computation methods. We're going to do this by converting them into
functions in the namespace KSEngine::OldPointFunctions.

Eventually, we'll be able to remove them all, but for now we're going
to move them out, so that we can work on them seperately.

This commit moves the updateCoords function out of the SkyPoint.
Unfortunately, updating the coordinates is done in three different
ways using virtual methods, so we can't just remove it. Instead, we
have to settle for removing the bulk of the computation.

Diffs: 1, 2, 3, 4, 5, 6 Revision bb9951d...

KDE Base

Denis Steckelmacher committed changes in [nepomuk-core/steckdenis-gsoc2013] /:

Small parser and first 3 parse steps

The three steps present in this commit are:

* Recognizing integers and float values. If prefixed or suffixed by an unit,
the value is multiplied by the unit's factor.
* Recognizing type hints. If I say "mails", I want to match emails.
* Recognizing "sent by X" and "from X" forms, to filter the emails or documents
by sender.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 1 more) Revision e61718e...
Simon Paul St James committed changes in [kate] /:

Start getting gj and gk to work with (real, not converted to spaces) tabs. This requires us to change tack, slightly: we now work out the real column at the start of the current (possibly wrapped) line, and calculate the (real column) offset past this that makes the visual column equal to (or greater than, if necessary) the visual position of the sticky column.

Also, various renames, documentation, etc.

David Faure committed changes in [kdelibs/frameworks] /kjobwidgets/src:

Add methods for setting window (and user timestamp) on jobs.

Diffs: 1, 2, 3 Revision 13388be...
Wojciech Kapuscinski committed changes in [kdelibs/frameworks] /:

move jobs from kdeui to kjobswidgets framework

V2: fix issues from RR
V3: remove unused includes

REVIEW: 110845

Diffs: 1, 2, 3, 4, 5, 6 Revision 13e4495...

Multimedia

Mark Kretschmann committed changes in [amarok] /:

Remove the splash screen, as discussed on the mailing list.

Reasons include: Splash screens are a bit outdated. It didn't work on
Windows. And in fact it didn't work at all, but noone noticed.

Diffs: 1, 2, 3, 4, 5, 6 Revision d6bac84...

Networking Tools

David Narváez committed changes in [kget] ui/metalinkcreator/metalinker.cpp:

Hide progress info, since the user does not need to
know we are querying for HTTP Headers

Dan Vratil committed changes in [ktp-accounts-kcm] /haze:

Use KCharsets instead of manually listing all supported encodings

Less translations for the i18n team and less code for us to maintain

Thanks to Pino Toscano for showing KCharsets to me

Games

Denis Kuplyakov committed changes in [kreversi/deniskup/gsoc2013/qtquick] /:

Initial porting to QML implementation

Added QML classes with simple realization to /qml folder.
KReversiChip and KReversiScene classes were deleted.
Added import of declarative libraries and /qml folder install code to
CMakeLists.txt.
KReversiView was rewriten completely to be QML container, now implements
simple user interaction.
Some changes to mainwindow.cpp due to absense of scene class, we will
use only KReversiView now.
Added install instruction to /pics/CMakeLists.txt for *.desktop theme
file.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 6 more) Revision 31b2e13...