Issue 298

28th July 2013 by KDE Commit-Digest Team

Contributors

Marta Rybczynska
Alex Fikl
Giacomo Barazzetti

This Week...

Artikulate allows downloading the courses and using them in the program, loads courses only on demand. Konsole sees various search improvements. Akonadi adds support for Globally Unique Identifier (GID). Amarok improves consistency of information displayed in the Recently Played list. Optimizations in Calligra.

Statistics

Commits 2033 by 163 developers
Open Bugs 21054
Open Wishes 15908
Bugs Opened 230 in the last 7 days
Bugs Closed 268 in the last 7 days

Commit Summary

Module Commits
/trunk/l10n-kde4
223
 
/branches/stable
112
 
/trunk/l10n-support
49
 
/ksieveui/autocreatescripts
41
 
/projectgutenberg/src
30
 
/trunk/www
26
 
/assetimporters/projectgutenberg
24
 
/libksieve/ksieveui
18
 
/server/lib
15
 
/desktop/applets
13
 
Files Developer Commits
396
 
Laurent Montel
143
 
294
 
Aaron J. Seigo
99
 
168
 
Martin Gräßlin
56
 
150
 
David Faure
50
 
138
 
Ingo Malchow
50
 
129
 
Sébastien Renard
43
 
108
 
Sebastian Kügler
42
 
123
 
Giorgos Tsiapaliwkas
41
 
117
 
Yuri Chornoivan
39
 
105
 
Milian Wolff
38
 

Internationalization (i18n) Status

Language Percentage Complete
Portuguese (pt)
100%
 
Ukrainian (uk)
99%
 
Swedish (sv)
99%
 
Dutch (nl)
97%
 
Polish (pl)
97%
 
Spanish (es)
97%
 
French (fr)
97%
 
German (de)
96%
 
Estonian (et)
95%
 
Italian (it)
92%
 

Bug Killers

Person Bugs Closed
Alex Fiestas
55
 
Christoph Feck
34
 
Jekyll Wu
20
 
Myriam Schweingruber
15
 
Frank Reininghaus
11
 
Simon Andric
10
 
Gilles Caulier
9
 
Thomas Lübking
7
 
Boudewijn Rempt
5
 
Laurent Montel
5
 

Commit Countries

Commit Demographics

Sex

Age

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 85 selections this week

Bug Fixes

Development Tools

Michael Pyne committed changes in [kdesrc-build/fix-recursing] /:

kde-projects: Accurately track parent module set.

This is unfortunately a giant change, as all of the functionality that
is encompassed into module-sets currently had to migrate over to
multiple separate classes, including the new ksb::ModuleSet class and
subclasses.

This was a long-overdue change, however, and should allow for accurately
tracking a source module-set for a given module.

On the other hand this migration of logic has made it easier to
understand each of the individual pieces where they stand (e.g. there is
no longer a separate expandXMLModules and expandModuleSets).

In addition we can properly handle ignore-modules with wildcards just as
we do with use-modules (they even use the same matching logic) which
means that it is safe to integrate this into master (assuming no extra
boogs get added, of course).

This will also help with fixing some of the extant module-selection bugs
(321883, 299415).

Educational

Andreas Cord-Landwehr committed changes in [artikulate] /:

Show recording state and finished page correctly.

Diffs: 1, 2, 3 Revision 5402db4...
Lasse Liehu committed changes in [marble] src/plugins/render/satellites/SatellitesPlugin.cpp:

Add i18n context for satellite groups

This helps translators and also prevents a wrong translation of "Other"
or "Education" being used. Without additional context for example the
translation of "Education" (the satellite group) is taken from the
"marble" catalog (where "Education" means a map legend group) and not
from the correct "marble_qt" catalog. This is because "marble" is the
primary catalog (at least for the KDE GUI) and that is searched first.

REVIEW: 111753

Graphics

Gilles Caulier committed changes in [digikam] /:

Add a signal in scan controller to dispatch progress of scan in ScheduleCollectionScan mode through NewItemsFinder from Maintenance collection tools.
Fix ImportUI which dispatch trough StatusProgressBar download information to ProgressMAnager which handing up a progress item when download is completed.

FIXED-IN: 3.3.0

Aurélien Gâteau committed changes in [gwenview/KDE/4.11] /:

Fix two related bugs with svg support

1. Do not treat .svgz as archives
2. Fix directory not loaded when started with a .svg as argument

Posted for review on https://git.reviewboard.kde.org/r/111362/ but the changes
did not get reviewed. I am committing them nevertheless because I want the bug
to be fixed in rc2 and my personal testing did not spot any issue.

FIXED-IN: 4.11.0

Gilles Caulier committed changes in [digikam] /queuemanager:

Batch Queue Manager : add new option to turn on/off multi-core support. This option is now turn off by default due to some dysfunctions under Windows, until it will be hack and fixed.
Note that problem are not reproducible under OSX and Linux here. Options is implemnted for digiKam 3.3.0 release.
CC
CC
CC
CC

KDE Base

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

Make sure that widgets are initialized when changing the view mode

The problem was that DolphinItemListView overrides the virtual function
onItemLayoutChanged() without calling the base class implementation.
Therefore, KStandardItemListView::updateLayoutOfVisibleItems(), which
calls initializeItemListWidget(), is never called.

This patch refactors the "change item layout"/"supports item expanding"
code a bit to make it more robust and fix the problem that the view
looks "messed up" when switching from Details View without expandable
folders to Icons View.

I'm only pushing this patch to master (going to be KDE 4.12).
The patch is a bit too intrusive for the KDE/4.11 branch for my taste
at this point of the release cycle, and the bug is not a real
showstopper. If it works well in master, one could consider backporting
it to a 4.11.x bug fix release.

Thanks to Emmanuel Pescosta for helping to analyze this issue.


REVIEW: 111632
FIXED-IN: 4.12.0

Frank Reininghaus committed changes in [kde-baseapps/KDE/4.11] dolphin/src/kitemviews/kitemlistview.cpp:

Prevent that removing items can cause icons to overlap

When items are removed, new items may become visible because of that.
This includes

(a) Items *behind* the removed range. KItemListView may try to create
their widgets at their "imaginary" old positions and move them to
the new position with an animation.

(b) Items *before* the removed range, if the deletion causes the view
to scroll up. In that case, the "imaginary" old position and the new
position was equal, but KItemListView still tried to determine the
"old" position by adding the number of removed items to the index.
The result was that the widgets were created at completely wrong
positions, and no animation was started to fix this.

Thanks to Emmanuel for helping to find the cause of this bug!


FIXED-IN: 4.11.0
REVIEW: 111630

Eike Hein committed changes in [kde-workspace/KDE/4.11] plasma/desktop/applets/tasks/package/contents/ui/GroupDialog.qml:

Try to make sure the group dialog stays within a sane width limit.

The approach taken is "behave reasonably on 640x480 and above" by
clipping the bounding box of the task items to the max() of that
minimum supported resolution (taking dialog margins and, if vert-
ically oriented, a likely panel into account) and the applet's
width.

A perfect impementation would figure out the dimensions of the
work area (i.e. screen sans relevant struts) and clip to that,
but knowing how much C++ that takes to do correctly on multi-
head (as Yakuake does it) and seeing how the goal is to have a QML
task manager, I don't feel that's maintainable for now. Let's look
into improving PlasmaCore.Dialog in libplasma2 instead to help
with avoiding too unreasonably large dialogs instead, or perhaps
Qt Quick 2 will evolve a helper. There's a TODO in there for now.

On the flip side, this actually behaves better than the old
applet anyway, which had rather more unreasonable popup sizing ...

Thomas Lübking committed changes in [kde-workspace/KDE/4.11] kwin/effects/startupfeedback/startupfeedback.cpp:
Thomas Lübking committed changes in [kde-workspace/KDE/4.11] kwin/effects/startupfeedback/startupfeedback.cpp:
Andreas K. Huettel committed changes in [kdelibs] kdecore/auth/kauthhelpersupport.cpp:

Make sure HOME is never unset, to prevent creation of files in /


REVIEW: 110655
FIXED-IN: 4.11.0

Frank Reininghaus committed changes in [kde-baseapps/KDE/4.11] dolphin/src/kitemviews/kitemlistcontainer.cpp:

Fix maximum value for scroll bar when deleting items in Details View

The problem was that the view heigt minus the header height was
subtracted from maximumScrollOffset() to determine the maximum value
of the scroll offset of the top of the view.

However, the top of the view is the part that is hiden behind the
header. Therefore, the full view height must be subtracted from
maximumScrollOffset.

The remaining bits of bug 319951 were fixed by other recent commits.

Thanks to Emmanuel Pescosta for helping to track down the problem!


FIXED-IN: 4.11.0
REVIEW: 111486

Frank Reininghaus committed changes in [kde-baseapps/KDE/4.11] dolphin/src/kitemviews/private/kitemlistheaderwidget.cpp:

Fix "truncated header" in Details View with non-Oxygen styles

The code for painting the "empty header" was inconsistent with the
headers of the other columns, which is probably the reason why the other
styles got confused

a) No QStyleOptionHeader is used
b) Even if an empty header must be drawn, the last column is drawn with
the option QStyleOptionHeader::End.

According to Christoph, it still doesn't work with the Skulpture style,
but it seems that the patch does at least not make things worse.


FIXED-IN: 4.11.0
REVIEW: 111608

Jekyll Wu committed changes in [kde-runtime] drkonqi/reportinterface.cpp:

Make it clear what possible duplicates are indicated by the reporter.

Frank Reininghaus committed changes in [kde-baseapps/KDE/4.11] dolphin/src/kitemviews/private/kitemlistsmoothscroller.cpp:

Do not try to smooth-scroll past the end of the view

KItemListSmoothScroller::scrollTo(qreal position) did not check if
'position' is a valid value. Even if the view is scrolled to the bottom
already, it tried to scroll further and activated "smooth scrolling"
when the mouse wheel is used. Because it never got out of the "smooth
scrolling" state then, it got confused when changing the directory, and
restoring the correct scroll offset could fail.


FIXED-IN: 4.11.0
REVIEW: 111557

Thomas Lübking committed changes in [kde-workspace/KDE/4.11] kwin/events.cpp:

don't require geometry changes for quick max/tile

the present check can break quick everything depending
on screen snapping settings.
It so far. only worked for quick maximization due to horizontal
"judder" and failed whenever that judder was not possible
(due to screen snapping on left and/or right edge)


FIXED-IN: 4.11
REVIEW: 111740

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

A few fixes to do with the emulated command bar and Visual mode:

- Aborting ":" should leave us in normal mode with no selection.

- Don't exit Visual mode when we abort a search bar. To fix this, we send a null key event (instead of Escape) as the syntheticSearchCompletedKey.

- Update the cursor in Visual Mode as we search.

- Reset to original selection if we dismiss search in Visual Mode, even if the current search was a match.

Diffs: 1, 2, 3 Revision 681020f...
Alex Fiestas committed changes in [libkscreen] /xrandr:

Use the information from currentOutput, not from the unapplied config

Before this patch, we were looking for the size of the current Mode
in the Output object of the config that is passed to Config::setConfig
which either can or can't have the wanted Mode.

This has been kinda working so far because and ONLY because in
Generator (from kscreen/kded) we use the currentConfig as the base for
the config that we are generating, so all modes are included.






FIXED-IN: 1.0.1

Thomas Lübking committed changes in [kde-workspace/KDE/4.11] /tabbox:

protect kwin against broken tabbox installation

This happens because some distros ship broken installations
of KWin and KWinActive, but could also appear to QML hacking users


FIXED-IN: 4.11
REVIEW: 111732

Eike Hein committed changes in [kde-workspace/KDE/4.11] /:

Proper appearance and geometry for launcher items.

Unlike in the old applet, this has launcher items interact
reasonably with multi-row configurations.

Also optimizes the layout code a bit, avoiding needless
update churn.

Thomas Lübking committed changes in [kde-workspace/KDE/4.11] /effects/cube:

remove mouse polling from cube effect

entirely superfluous and causes laggy interaction


FIXED-IN: 4.11
REVIEW: 111669

KDE-PIM

Sergio Luis Martins committed changes in [kdepim/KDE/4.11] /:

Don't let templates override the dates that the user chose.

Dates should never be overriden by templates.

David Faure committed changes in [kdepimlibs/KDE/4.11] akonadi/monitor_p.cpp:

Fix changerecorder assert further.

Since 022d1045118 in akonadi, when the result of merging two ModifyFlags
notifications is a no-op notification, both are dropped. So we must catch
removals also when nothing gets appended.

Laurent Montel committed changes in [kdepim/KDE/4.11] plugins/messageviewer/bodypartformatter/memorycalendarmemento.cpp:

Fix Bug 319131 - kmail preview pane hangs on "Retrieving..." when leaving email with ICS attachment

FIXED-IN: 4.11

Dan Vratil committed changes in [kdepim] akonadiconsole/notificationmodel.cpp:

Workaround a bug in Qt's QAbstractItemView

Prevents Notification Monitor from crashing on startup

Office

C. Boemann committed changes in [calligra/krita-psd-boemann] krita/plugins/formats/psd/psd_image_data.cpp:

Multimedia

Konrad Zemek committed changes in [amarok] src/playlist/PlaylistController.cpp:

Fix metadata fetch options in PlaylistController

Certain overloads of Playlist::Controller::insertOptioned couldn't
automatically start playback when given StartPlay option because they
didn't fetch all of the needed metadata.

Christian Esken committed changes in [kmix] gui/mdwslider.cpp:

Fix 'Invalid slider' message when using scrollwheel not directly over a slider

Akshay Ratan committed changes in [plasma-mediacenter] libs/mediacenter/playlistmodel.cpp:

Fixed PMC Crash on clicking Shuffle in an empty Playlist

Matěj Laitl committed changes in [amarok] /:

SqlMeta: check for invalid ids before SqlRegistry asserts on them

BUGFIXES:
* Prevent hitting an assertion failure if a just-removed track from the
Local Collection is edited.


FIXED-IN: 2.8

Matěj Laitl committed changes in [amarok] /:

SqlScanResultProcessor: fix stupid data-loss bug caused by my commit ca88c8d3

Commit ca88c8d3 introduced some extra logic and a member variable in
order to fix bug 311078. However, I forgot to add the variable into the
cleanupMembers() method, which resulted in state leaking from one
scanner to another.

What happened:
1. User performed full rescan. For every directory in the collection,
deleteDeletedTracksAndSubdirs() was called, which essentially
inserted all existing directory ids to m_scannedDirectoryIds.
2. All member variables were cleared except m_scannedDirectoryIds,
which leaked into the next run.
3. A file was changed, which triggered partial update scan run with
only a couple of changed directories.
4. Its deleteDeletedDirectories() method was called, which called
deletedDirectories(), which used m_scannedDirectoryIds as a basis,
removed just the newly scanned dirs from it and returned all the
rest.
5. deleteDeletedDirectories() deleted all but newly scanned
directories.
6. strohel feels ashamed.

The fix is to simply clear m_scannedDirectoryIds in cleanupMembers().

In addition to fixing bug 322603, this should also minimise changes of
reproducing bug 322474 (but not fixing the actual bug)



FIXED-IN: 2.8

Features

Development Tools

Vlas Puhov committed changes in [kdevelop] /gdb:

Add support for changing breakpoints while running.

Milian Wolff committed changes in [kdevelop/projectfilter] /cmake:

Implement project filtering for the cmake manager in a threadsafe way.

Operate directly on a list of thread safe project filters in the
background thread. ::parse() needs a hack to ensure that this list
is queried in a threadsafe manner, as there is currently no proper
place in the API to do this.

In the future, a custom import job should be created which then reads
the list of filters before going of into the background thread.

I've tested this with a session containing all KDEPIM projects. The
slowdown compared to before is negleglible and I did not encounter any
crashes.

Vlas Puhov committed changes in [kdevplatform] /grepview:

GrepViewPlugin: Search by default in previous location.

Milian Wolff committed changes in [kdevplatform] plugins/git/gitplugin.cpp:

Follow renames when showing git history.

By default git log (used to get history info in KDevelop) does not
follow the file moves or renames. The patch adds the --follow
argument to the git command to get the complete history.

I got bitten by this, because it was not possible to identify all
committers to a file by using KDevelop.

REVIEW: 109952

Educational

Magdalena Konkiewicz committed changes in [artikulate] /:

enabled dowloading the cousres and using them in the program without data-repository

Diffs: 1, 2, 3 Revision b9f1260...
Magdalena Konkiewicz committed changes in [artikulate] /:

added GHNS dialog window for downloading the langauge courses. The file artikulate.knsrc must be manually copied to .kde/share/config before in order to work

Diffs: 1, 2, 3, 4 Revision 295faf9...

Graphics

Gilles Caulier committed changes in [digikam] /:

Inpainting and restoration tools : handup resize event from canvas widget only when preview session settings are restored,
else greystoration configuration can be uncomplete/broken and generate infinite loop.
Rename "None" preset as "Custom" to be more user friendly.
CC
CC

Jaydeep Solanki committed changes in [okular/epub-qtextdoc] /epub:

support SVG images

Diffs: 1, 2, 3 Revision 8a73013...

KDE Base

Emmanuel Pescosta committed changes in [kde-baseapps/KDE/4.11] dolphin/src/views/dolphinview.cpp:

Don't open .desktop files with http:/https: urls in Dolphin,
open these urls in the default browser instead.



FIXED-IN: 4.11.0
REVIEW: 111674

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

We need to parse leading range expressions (e.g. "%", "'<,'>", ".,.+6" etc) in KateViEmulatedCommandBar when parsing a sed replace command (see motivating test cases), and the (fairly complex) code to do this is currently locked up in KateCmdLineEdit.

Rather than expose it via KateCmdLineEdit's (nicely minimal) API, it seems a better idea to just move it all into KateViEmulatedCommandBar: as Vim-specific code, it seems to belong there more.

Do this, and then use it with the ctrl-f & ctrl-d stuff to be able to clear the "find"/ "replace" portions of a sed expression even when the command has a leading range expression.

Vim-style ranges should still be usable in non-Vim mode.

REVIEW:111652

Diffs: 1, 2, 3, 4, 5 Revision 0cba783...
Andrea Iacovitti committed changes in [kdelibs/KDE/4.11] khtml/khtml_part.cpp:

Set the new url for the part before emitting hashchange event.


FIXED-IN: 4.11.0

Mirko Boehm committed changes in [kdelibs/mirko/ThreadWeaver-JobInterface] /threadweaver:

Introduce JobInterface. Introduce QObjectJobDecorator.

The goal is to provide a mechanism that allows qobjectness of a Job to
be added as needed using decoration. Jobs will not be QObjects anymore.
JobInterface will be used in public interfaces.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 6 more) Revision 937724e...
Harald Hvaal committed changes in [konsole] /:

Various search improvements

- Do not automatically reset the search start line on search hits
This was causing the annoying behavior that if you were to pause while typing
in a search term, and it would actually find a hit, then you would be searching
for the term a second time once you finish typing.

This commit introduces two new behaviors:
1. When you show the search bar, all searching will be done from the first
visible line in the terminal.
2. This start position is only reset when you
advance to the next result, by pressing "next", "previous", or the shortcuts
RETURN or SHIFT-RETURN

- When the view scrolls to a result, it will appear centered.
- When showing the search bar, do not invoke a search, only apply the highlight filters
- Add "search from beginning/end" button
This will scroll to the top/bottom before searching
Ctrl+return is also bound to this action
- Text highlighted by mouse will be set as the current search text when the incremental
search bar is opened
- Add "Search backwards" to search bar options
Button text is swapped according to reverse search switch

Diffs: 1, 2, 3, 4, 5, 6, 7, 8 Revision aa42a27...
Martin Gräßlin committed changes in [kde-workspace/frameworks-scratch] /:

Drop support for native graphics system

Qt 5 only supports raster which means our pixmaps are always non native,
so we don't need the Extension information any more and can drop all
special code handling for mapping a native QPixmap to an X11 pixmap.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9 Revision c0f5ced...
Patrick von Reth committed changes in [kdelibs] /solid:

added basic windows networking support

Diffs: 1, 2, 3 Revision 1ad1f93...
Simon Paul St James committed changes in [kate] /:

Implement SedReplaceHistory, the counterpart of SedSearchHistory, which allows us to browse through completions from the "replace" history when we ctrl-p when the cursor is in the "replace" term of a sed-replace expression.

Diffs: 1, 2, 3 Revision 7d1b39a...

KDE-PIM

Mark Gaiser committed changes in [kdepim-runtime/calendar_components] /calendar:

Implement sorting based on QDateTime only for now.
This added the "sorting" property to both Calendar and CalendarData.

The "sorting" property can be:
- Calendar.Ascending
- Calendar.Descending
- Calendar.None

Calendar.None is the default if no "sorting" property has been set.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8 Revision 6879b41...
Mark Gaiser committed changes in [kdepim-runtime/calendar_components] /calendar:

Implement the "weeksModel" QML property since it was planned all along.
The implementation is still a bit experimental since the week numbers might look strange in some places.

You can use this by puttin the "weeksModel" from the "Calendar" component in any of QML's views. The data (the actual week number) is available under "modelData".

Dan Vratil committed changes in [kdepim] /:

Add tab to Akonadi Console for debugging SQL queries executed by server

Diffs: 1, 2, 3, 4, 5 Revision f949f42...
Pali Rohár committed changes in [trojita] src/Gui/Window.cpp:

Gui: Window: Sync Navigation and Show Toolbar checkboxes and save window state

Navigation checkbox (right click on toolbar) doing same as Show Toolbar
checkbox (View menu). Synchronize state of both checkboxes, so user will see
always correct state of both checkboxes.

State of main toolbar (visible or invisible) is stored in trojita config file
in gui/sizeInMainWin by saveSizesAndState (e.g when changing main window layout).
So call method saveSizesAndState() when state of main toolbar is changed too.

REVIEW: 111639

Laurent Montel committed changes in [kdepim] /ksieveui/editor:

Start to implement switch between graphic/text editor

Mark Gaiser committed changes in [kdepim-runtime/calendar_components] /calendar:

New component: IncidenceModifier
This new component allows you to modify a calendar incidence. For now it only allows for the summary and description to be changed, but it's a start.

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 23590eb...
Volker Krause committed changes in [kdepimlibs] /:

Allow to not retrieve remote identification data (RID, RREV).

These fields are only relevant for resources, for regular clients they just
cost time and memory.

This is fully backward compatible with older servers, they will just send
the RID anyway.

Diffs: 1, 2, 3, 4, 5 Revision 2a2758c...
Dan Vratil committed changes in [akonadi] /:

Introduce StorageDebugger class and DBus interface for storage/SQL debugging

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 44147a9...
Christian Mollekopf committed changes in [akonadi] /:

Support for Gid (globally unique identifier).

This patch adds a new column for the gid of an item to the pimitemtable.
Support for:
* append commands
* store command
* fetch command

We ignore the collection/resource context for now.
Otherwise fetch jobs may silently fail due to a selected collection
(apparently the selection is not reset by a new fetchjob).

Increased the protocol version to 34.

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

Office

Matus Uzak committed changes in [calligra] /words/docx/import:

docx: Added initial support for the rtl element. Replace values
of fo:text-align: left->start, right->end

Matus Uzak committed changes in [calligra] filters/words/msword-odf/texthandler.cpp:
Lukáš Tvrdý committed changes in [calligra/krita-gmic-ltvrdy] /plugins/extensions/gmic:

More work on GMIC integration

* connect gmic UI with Krita
* filter configuration is serialized and can be applied on current layer
* fix parameters serialization

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 8 more) Revision 1086b18...
Matus Uzak committed changes in [calligra] filters/words/msword-odf/texthandler.cpp:

doc: Nested paragraphs allowed inside TOC - text:p is a valid
child element of text:index-body.

Multimedia

Harald Sitter committed changes in [phonon] /:

export AO's PA stream UUID to backend

- new interface class (go virtuals!) AudioOutputInterface47
to use it the backend needs to define PHONON_BACKEND_VERSION_4_7
- new pure virtual in 47 ::setStreamUuid(QString) called right after
backend creation to pass it the stream UUID used to map a PA stream
to this AO; can be used to do property handling with PulseSupport

Harald Sitter committed changes in [phonon-gstreamer] /:

implement PHONON_BACKEND_VERSION_4_7's setStreamUuid

we now interactively set PA per-stream properties through gstreamer


FIXED-IN: 4.7.0

Matěj Laitl committed changes in [amarok] /:

PlaybackConfig: add option whether playback should start on track add

CHANGES:
* Added an option whether adding tracks to playlist should start playing.

Also changed the entry in the 2.8 Beta ChangeLog, which is a bit strange,
but I believe the ChangeLog is most useful for differences between major
releases and it would be really confusing if the entry wasn't changed.


FIXED-IN: 2.8

Harald Sitter committed changes in [phonon] /:

support backend-driven pulseaudio property setting

- pulstream: new property role (== PA's media.role)
- pulsesupport: new func streamproperties
returns a hash of per-stream properties a backend can set
- pulsesupport: new func setupstreamenvironment
can be used by a backend not supporting per-stream properties to set
the properties to the right value as close to stream creation as possible
to reduce the scope of 'reentrancy' issues, howeve if two MO's are
started right after one another the second AO's envrionment will still
shadow the first's

app_name/version/icon_name are retained as always-on override properties
as we consider them static and therefore backend driven setting isn't
really necessary (also not possible with VLC<2.1)

when using pvlc (which uses the setup function due to lack of property
support through libvlc) a warning will be displayed in debug mode to
make clear what could happen.


FIXED-IN: 4.7.0

Networking Tools

David Edmundson committed changes in [ktp-accounts-kcm/steam_ui_2] /haze:

accounts-kcm gui code for steam plugin of libpurple

Gui code for accounts-kcm that gives the steam-mobile plugin of libpurple a native/shiny look.
I Didn't include the https tickbox because it seems to not function.

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 792323d...
David Edmundson committed changes in [ktp-text-ui] filters/texttospeech/tts-filter.cpp:

Text to speech reads text message actions


FIXED-IN:0.7.0
Reviewed-By:David Edmundson

Martin Klapetek committed changes in [ktp-contact-list/kde-telepathy-0.6] tooltips/contacttooltip.cpp:

Put clickable links back into tooltip


FIXED-IN: 0.6.3

David Edmundson committed changes in [ktp-contact-list] /:

Show PersonDetailsDialog for "show info" if in KPeople mode

David Edmundson committed changes in [ktp-contact-list/kde-telepathy-0.6] abstract-contact-delegate.cpp:

Simulates mouseover to highlight group-arrow when selected with keyboard


FIXED-IN: 0.6.3
Reviewed-by: David Edmundson

David Edmundson committed changes in [ktp-common-internals/kde-telepathy-0.6] KTp/Models/contacts-filter-model.cpp:

Utilities

Alex Fiestas committed changes in [kscreen] plasma/kscreenapplet.cpp:

Check if KScreen has returned any config

In the case where no suitable backend is found, we are returning null,
so we have to check it.

Bug 714569:
 
735471 days
Diffs: 1 Revision 06b2048...

Games

Roney Gomes committed changes in [knavalbattle/show-ships] /:

Show enemy ships if player loses the match.

As requested by a user a long time ago, oponnent's ships are nicely
displayed at the end of a battle if the player loses a game. This way
the defeated player can study the adversary's strategy and plan ahead
for future matches.

Currently the whole feature is a work in progress. It works on single
player mode only and has no entry at the settings interface, thus
working by default with no possibility of turning it off.

Next commits will add support for multiplayer games and will also make
it possible to turn this feature on/off through the settings interface.

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 06f1956...

Optimization

Development Tools

Milian Wolff committed changes in [kdevplatform] /duchain/types:

Use a QHash instead of a fixed-size QVector for the type registry.

While this is of course slower, the impact is imo negleglible. The
benchmark shows that the TypeSystem becomes ~20% slower, but that
is still nothing in total compared to other parts of KDevelop which
are actually much slower. Thus, limiting the API in such a drastic
way (only up to N types) is imo not worth it. Instead we can take
the small performance impact and improve the performance elsewhere :)

Also note that to encounter a slowdown of ~1s one would need to call
the TypeSystem functions approx. 45 million times. Setting a counter
breakpoint on TypeSystem::create shows that it's being called less
than one million times when loading my biggest KDevelop session. So
yeah, I think we can safely ignore this time impact and classify the
existing code as a premature optimization.

REVIEW: 111643

Milian Wolff committed changes in [kdevplatform/projectfilter] /:

Refactor the IProjectFilter interface for threading usage.

Instead of implementing the IProjectFilter interface, a plugin
now implements a IProjectFilterProvider interface. It comes with
a simple factory function to create a threadsafe IProjectFilter.
This is supposed to be used with value-semantics. All initialization
should be done in the ctor of its implementation, such that later
calls to isValid do not introduce any race conditions.

When a user changed any filters, the Provider emits a filterChanged
signal. Project managers and other users have to listen to it and
update their IProjectFilter instances then, i.e. replace their
existing instance with a new one as returned by createFilter.

This should now allow this interface to be used in the CMakeManager.
Furthermore it should be a future-proof design if we ever get around
to implement a proper API for threaded project import.

Note: If you think this design is complicated, then yes - the old
one was much simpler. This one has a huge advantage though of not
requiring any locks and thus leading to much better scaling when
we import from a background thread.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Revision ac0302e...
Albert Vaca Cintora committed changes in [kdevplatform] /:

Added a cache to improve project filter performance.
Now the project root folder is always visible regardless of the filter.

REVIEW: 111617

Educational

Andreas Cord-Landwehr committed changes in [artikulate] /:

Load courses only on demand.

This avoid the ~5 second startup time that previously was needed
to parse all courses on startup. Instead of that, we now only load
courses when they are needed.

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

KDE Base

Alexander Mezin committed changes in [kdelibs] /solid/backends/udisks2:

Cache info about optical discs in shared memory

Another attempt of finally fixing bug #261552.
Now without introducing any daemons, using just shared memory.

KDE-PIM

Andras Mantia committed changes in [kdepim-runtime] /maildir:

Rework Sergio's patch to run only one job at once and process with the next only when that is done. This fixes the slowness and mail duplication bug for me.

Volker Krause committed changes in [akonadi] /:

Get rid of the XML DOM parsing code for the db setup.

Replaced with compile-time generated code now.

Diffs: 1, 2, 3, 4, 5, 6 Revision 9c25f7f...

Office

Friedrich W. H. Kossebau committed changes in [calligra] /:

Turn some sequences of x += ... statements (with x a QString) into a long chain of additions (for QStringBuilder)

The power of QStringBuilder only sets in if more than two strings are concatenated
before picking up the result as QString again (e.g. when assigning to a QString variable).
There are some code parts where a lot of concatenating is done, but not in one expression,
instead assigning the intermediate result to a QString var again and again, thus preventing
the advantage of QStringBuilder.

There are also a few places in the code where literal strings are concatenated using "+",
instead of having the compiler concatenate them already.

Patch optimizes the code in those two cases: by removing "+" between literal string and
turning sequences of += into a chain of +

REVIEW: 111595

thanks boud for review

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

Multimedia

Konrad Zemek committed changes in [amarok] /:

Reimplement RecentlyPlayedListWidget

Rewrote RecentlyPlayedListWidget from the basics. There was a major
inconsistency in this widget, where tracks were added to it if they were
recently played at all, but the time shown was the "Last Played"
statistic which is only updated after whole song is played. This
caused gravely incorrect data to be displayed (see bug 302485).

There were two different methods of solving the inconsistency: focusing
on the "Last Played" time, and adding songs to the widget only if the
"Last Played" changed; and focusing on recent plays completely
disregarding "Last Played". I opted for the latter as I felt it fits the
widget's nature better.

Because we can't rely on already available data, the widget needs to do
its own housekeeping. It saves its data on shutdown, to be restored
on next startup. One other major benefit of this approach is that
widget's data remains correct even if collections change, while
previously tracks from removed collections would disappear.

Finally, I added the feature to add tracks to playlist directly from the
widget, provided that the track exists.




FIXED-IN: 2.8
REVIEW: 111655

Other

Educational

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

Add an Eigen backend.

Diffs: 1, 2, 3, 4 Revision 9d1b1cf...

KDE Base

Christoph Feck committed changes in [kdelibs/KDE/4.11] kdeui/widgets/klineedit.cpp:

Update clear button position on layout direction changes


FIXED-IN: 4.11

KDE-PIM

Jonathan Riddell committed changes in [kopete] /:

Recommit 02b02dc7d632529acd82ac52d5004178f2b5a15c
Replace Skype icon
KDE e.V. has decided we an not ship copyrighted and trademarked icons

M +- -- protocols/skype/icons/ox128-app-skype_protocol.png
M +- -- protocols/skype/icons/ox16-app-skype_protocol.png
M +- -- protocols/skype/icons/ox22-app-skype_protocol.png
M +- -- protocols/skype/icons/ox32-app-skype_protocol.png
M +- -- protocols/skype/icons/ox48-app-skype_protocol.png