Issue 256

7th October 2012 by KDE Commit-Digest Team

Contributors

Aleix Pol
Martin Cigorraga
Marta Rybczynska
Jürgen Appel

This Week...

KDE-Workspace adds preview thumbnail to the color wallpaper configuration dialog for each background mode; more changes around OpenGL compositing. Calligra offers preview for the text documents, speed up of painting with brush. KTouch updates the handling of localized lesson and course titles. Multiple bugfixes for KDE 4.9.

Statistics

Commits 2081 by 155 developers
Open Bugs 21329
Open Wishes 15978
Bugs Opened 375 in the last 7 days
Bugs Closed 450 in the last 7 days

Commit Summary

Module Commits
/trunk/l10n-kde4
146
 
/branches/stable
78
 
/trunk/www
33
 
/trunk/l10n-support
31
 
/src/appmenu.cpp
18
 
/plasma/generic
16
 
/krita/sketch
16
 
/plasma/declarativeimports
13
 
/branches/work
12
 
/tags/KDE
12
 
Files Developer Commits
222
 
Laurent Montel
94
 
177
 
Marco Martin
72
 
132
 
Cedric Bellegarde
45
 
96
 
Aleix Pol Gonzalez
33
 
96
 
Roman Paholík
32
 
66
 
Martin Klapetek
29
 
87
 
Sebastian Kügler
29
 
78
 
Andi Clemens
26
 
75
 
André Marcelo Alvarenga
25
 
75
 
Vishesh Handa
25
 

Internationalization (i18n) Status

Language Percentage Complete
French (fr)
96%
 
Estonian (et)
96%
 
Dutch (nl)
96%
 
German (de)
94%
 
Italian (it)
90%
 
Danish (da)
87%
 
Catalan (ca)
84%
 
Chinese Traditional (zh_TW)
84%
 
Low Saxon (nds)
83%
 
Norwegian Bookmal (nb)
82%
 

Bug Killers

Person Bugs Closed
Jekyll Wu
130
 
Christoph Feck
31
 
Myriam Schweingruber
29
 
Laurent Montel
22
 
Christian Esken
19
 
Dawit Alemayehu
17
 
Gilles Caulier
12
 
Lamarque Souza
10
 
Milian Wolff
10
 
Jarosław Staniek
8
 

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

Bug Fixes

Development Tools

Milian Wolff committed changes in [kdev-php/1.4] duchain/helper.cpp:

Validate imported parent context before accessing it.

Graphics

Marcel Wiesweg committed changes in [digikam] libs/dimg/filters/icc/iccsettings.cpp:

Add null pointer check because of reported crash here.


FIXED-IN: 3.0

KDE Base

Dawit Alemayehu committed changes in [kde-baseapps] /settings/kio:

Make the per domain cookie policy configuration dialog refelect any current policy
set for the selected domain.


FIXED-IN: 4.10

David Faure committed changes in [kdelibs/KDE/4.9] /:

By popular demand, revert the call to chdir(documentPath).

This was an attempt to make the KDE document path work in non-KDE
gui apps (such as openoffice) (#108510). But it makes terminals
start in ~/Documents, which users don't expect.


302903

Martin Gräßlin committed changes in [kde-workspace] kwin/libkwineffects/kwinglutils_funcs.cpp:

Rework the resolving of OpenGL function pointers

The macro GL_RESOLVE_WITH_EXT was fundamentally broken as it tried to
resolve a symbol first by it's name and then by the extension name if
the returned pointer is null.

>From GLX spec:
"A non-NULL return value for glXGetProcAddress does not guarantee that an
extension function is actually supported at runtime. The client must also query
glGetString(GL EXTENSIONS) or glXQueryExtensionsString to determine if an
extension is supported by a particular context."

This macro is now reworked to be used only in case the symbol name does
not match our function name. E.g. glUniform1f vs glUniform1fARB.

The resolving itself also had quite some issues as:
* in same cases function pointers are not nulled
* in same cases only the arb or only the ext is checked
* in same cases the wrong extension is checked

This is now reworked to always check first the ARB extension if available
then the EXT extension and if both are not available the pointers are set
to NULL.

Dawit Alemayehu committed changes in [kde-baseapps] /settings/kio:

Do not crash when global policy is changed and the Apply button is pressed.


FIXED-IN: 4.10

Thomas Lübking committed changes in [kde-workspace] kwin/effects/boxswitch/boxswitch.cpp:

Hardcode TabBox setting in boxswitch effect false

Boxswitch is activated as tabbox, possibly due to a downstream issue
This results in multiple effects being assigned to the tabbox and no
GUI way for the user to fix this.
Since the BoxSwitch effects nowadays only exists as sidearm for
coverswitch, the tabbox setting is now hardcoded and disabled in the
effect, making it completely impossible to accidentally use it as tabbox.


REVIEW: 106695
FIXED-IN: 4.9.3

Romário Rios committed changes in [kde-runtime] /declarativeimports/plasmacomponents:

Fixed horizontalAlignment and verticalAlignment properties of TextArea

REVIEW: 106702

Alberto Villa committed changes in [kde-workspace] plasma/generic/dataengines/soliddevice/soliddeviceengine.cpp:

Fix Removable property in soliddevice engine (HAL)

Current hack to check for Removable property in StorageAccess devices
goes up only one level to search for the StorageDrive device. This
works fine with UDev, but not with HAL, which can have (at least on
FreeBSD) intermediate devices between the volume and its StorageDrive
ancestor, for example partition-type devices. A generic solution would
be to create a method in Solid::Device, but this cannot be done until
libsolid2 is ready; meanwhile, let's add a getAncestorAs() function to
the engine.
The patch was submitted by Andriy Gapon and modified by me to handle
other similar cases.

While here, add logic to really set Hotpluggable property.

The final version of the patch was reviewed by Aaron Seigo on IRC.

REVIEW: 105432
REVIEW: 106378

(cherry picked from commit ec9d4e418ca2327c1a098352ccf78247f1769c83)

Luca Beltrame committed changes in [kde-workspace/KDE/4.9] plasma/generic/scriptengines/python/plasma_importer.py:

Unbreak Python 2 applet loading.

exec() is a function in Py3, but the syntax used in this file does not
allow it for being called as a function in Python 2. Thus, a simple check
is made, calling the right function depending on the Python version.

It will likely not work with Python 3, but however applets are not
supposed to in the first place.




(cherry picked from commit 14f7b6a18ef8a81237df43551ee7bda122827d93)

Vishesh Handa committed changes in [nepomuk-core/KDE/4.9] /:

Resource: Avoid creating temporary Resources in ResourceData

This is done by adding properties of the form addResource/removeResource
(url) in the Resource Watcher.

This fixes a possibile infinite loop in ResourceData::resetAll where a
temporary Resource is created which is again reset on deletion ..

REVIEW: 106674

Diffs: 1, 2, 3 Revision 9512335...
Jacopo De Simoi committed changes in [kde-runtime/KDE/4.9] plasma/declarativeimports/core/datamodel.cpp:

Remove noop check in setSortRole

The noop check m_sortRole == role has to be removed
because the hash table m_roleIds can change between two calls to
setSortRole (as it actually happens when resync the hash table).

Possibly one could perform a more clever check (i.e. adding some
m_invalidated flag which would override the check), but I am not sure it is
really worth it.

This fixes sorting issues in the Plasma Device Notifier

Dawit Alemayehu committed changes in [kde-baseapps] konqueror/settings/kio/kcookiesmanagement.cpp:

Removed Q_ASSERT because apparently item can be null.


FIXED-IN: 4.10

David Faure committed changes in [nepomuk-core/KDE/4.9] services/filewatch/nepomukfilewatch.cpp:

Fix crash when watchUserLimitReached() leads to deleting the KInotify instance

... which emitted the signal. So don't use a direct delete.


FIXED-IN: 4.9.3

Jacopo De Simoi committed changes in [kde-runtime] plasma/declarativeimports/core/datamodel.cpp:

Remove noop check in setSortRole

The noop check m_sortRole == role has to be removed
because the hash table m_roleIds can change between two calls to
setSortRole (as it actually happens when resync the hash table).

Possibly one could perform a more clever check (i.e. adding some
m_invalidated flag which would override the check), but I am not sure it is
really worth it.

This fixes sorting issues in the Plasma Device Notifier

Dawit Alemayehu committed changes in [kde-baseapps] konqueror/settings/kio/kcookiesmanagement.cpp:

Enable change policy button only when the domain entry is clicked.


FIXED-IN:4.10

Gregor Tätzner committed changes in [kde-workspace/KDE/4.9] plasma/desktop/toolboxes/internaltoolbox.cpp:

fixed position restoration of desktop toolbox

removed early exit, probably dead code


FIXED-IN: 4.9.3

REVIEW: 106743

Gregor Tätzner committed changes in [kde-workspace] /netbook:

added settings options to the netbook panel

this action opens just the shell settings.
only available if panel unlocked


FIXED-IN: 4.9.3

REVIEW: 106723

Kai Uwe Broulik committed changes in [kde-workspace] /:

Overhaul PowerDevil's notifications

- Removed "The screen is being locked" notification
- Cleaned up the notifyrc (half of the notifications was no longer used)
- Fixed notification icons' size being hardcoded to 20x20px
- Now using more specific icons for notifications rather than generic dialog-warning
- Added notification titles rather than generic "KDE PM" title string
- Added notification for "battery charge complete"

REVIEW: 106670



FIXED-IN: 4.10

Martin Gräßlin committed changes in [kde-workspace] kwin/libkwineffects/kwinglutils_funcs.h:

Fix build error when GLES is not available

Note to me: always rebuild with all possible build options if something
is changed.

Sorry for the inconvenience and thanks to the early report of the issue.


FIXED-IN: 4.10

KDE-PIM

Allen Winter committed changes in [kdepim/KDE/4.9] korganizer/views/todoview/kotodoview.cpp:

revert always expanding the to-do tree on view updates.


FIXED-IN: 4.9.3

Dan Vratil committed changes in [kdepim-runtime/KDE/4.9] resources/google/calendar/resource_events.cpp:

Correctly process instances of recurrent events

The bug is fixed only when using LibKGAPI >= 0.4.3, but it causes no
regressions when using older LibKGAPI.


FIXED-IN: 4.9.3

Laurent Montel committed changes in [kdepim/KDE/4.9] kmail/kmmainwidget.cpp:

Fix Bug 295277 - Crash on exit in Akonadi::StandardMailActionManager::action

FIXED-IN: 4.9.3

Laurent Montel committed changes in [kdepimlibs/KDE/4.9] akonadi/contact/contactstreemodel.cpp:

Fix Bug 304871 - Show "Name" instead of just "Name"

in recipient selection dialog

FIXED-IN: 4.9.3


I just add family name when name is empty or emails.

Laurent Montel committed changes in [kdepim] /src:

Fix Bug 156243 - No keyboard shortcut for articles tab

FIXED-IN: 4.10

Dan Vratil committed changes in [libkgapi/LibKGAPI/0.4] libkgapi/services/calendar.cpp:

Set event UID for not deleted events too


FIXED-IN: 0.4.3

Laurent Montel committed changes in [kdepimlibs/KDE/4.9] /contact:

fix Bug 307618 - parsing problem with anniversary property

converted to upper case

FIXED-IN: 4.9.3

Laurent Montel committed changes in [kdepim/KDE/4.9] akregator/src/browserframe.cpp:

Fix Bug 218310 - Kontact crashed because Webtab could not be reloaded

[QMetaObject::changeGuard, QPointer<QAction>::operator=, QMenuPrivate::activateAction]

FIXED-IN: 4.9.3


We reload => widget is deleted => menu after exec will crash

Laurent Montel committed changes in [kdepim] /messageviewer/bodypartformatter:

Fix Bug 96458 - KMail provides link to add vcard even though the vcard

is already in the addressbook
FIXED-IN: 4.10

Office

Jarosław Staniek committed changes in [calligra/calligra/2.5] /:

Fix the lowercase fix and db import

KexiDB
*A fix for the lowercase fix: keep table names in original format but compare them in case-insensitive way when needed
**This way importing from databases with tables upper-case characters works

Migration
*Fix invalid SQL generation for database import
*Fix importing from databases with tables upper-case characters



REVIEW:106726

Arjen Hiemstra committed changes in [calligra/krita-sketch-rempt] /sketch:

Fix save and save as.

Now they show feedback and save as works properly. Also changed the text
field in SaveImagePage to the text field that fits with the theme.

Dag Andersen committed changes in [calligra/calligra/2.5] plan/plugins/schedulers/tj/PlanTJScheduler.cpp:

Fix Bug 307809 - TJ scheduler does not respect resource availablefrom/-until


FIXED_IN: 2.5.3

José Luis Vergara committed changes in [calligra/krita-newvectorworkflow-pentali] /:

Progressing solution of the "line links blobs" bug

o the cause is the algorithm I'm using, it's made for lines, not blobs. So when it encounters several separate blobs, it treats them like a line
o KarbonCurveFit is temporary, before merging I'll merge the changes to KoPathShape, it should have methods to simplify itself.
o life is good, and I am back

Dag Andersen committed changes in [calligra] plan/plugins/schedulers/tj/PlanTJScheduler.cpp:

Set number of hours pr day so TJ can handle estimate correctly

Dmitry Kazakov committed changes in [calligra/calligra/2.5] /:

Fixed zooming of the rotated canvas

Now the zooming process is much easier to understand than it used to be.
No additional pan is needed in various places.

FitPage and FitWidth now work for rotated images as well



Conflicts:

krita/ui/canvas/kis_canvas2.cpp
krita/ui/canvas/kis_canvas2.h

Dag Andersen committed changes in [calligra/calligra/2.5] plan/libs/kernel/kptresource.cpp:

Backport: Always check appointments to avoid overbooking resources

This only bites when a task is interrupted bu another task,
e.g. when there are timing constraints.

Dag Andersen committed changes in [calligra] plan/libs/kernel/kptresource.cpp:

Always check appointments to avoid overbooking resources

This only bites when a task is interrupted bu another task,
e.g. when there are timing constraints.

Inge Wallin committed changes in [calligra] /part:

Make the actual statistics widget clearly recognizable

* Rename it from KWStatistics to KWStatisticsWidget
* Don't both *be* a widget and *have* a widget. Being is enough.

Diffs: 1, 2, 3 Revision 881faa1...
Jörg Ehrichs committed changes in [conquirere] src/nbibio/pipe/nepomuktovariantpipe.cpp:

Correct situation where several local files refer to the same publication.

Multimedia

Jon Severinsson committed changes in [phonon] /:

Fix build without OpenGL.

OpenGL appears to have been intended to be optional, but building without OpenGL didn't work.

REVIEW: 106956

Diffs: 1, 2, 3, 4 Revision 427f969...
Mark Kretschmann committed changes in [amarok] /:

Refactor the Collection config UI code, and move more stuff into the UI file.

Also, a resizing issue of the UI was fixed, as well as some other small issues.

The patch introduces one new issue, which is that the height of the config dialog
becomes too tall (about 650 pixels). However, work is underway from Matej that
will mitigate this problem.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8 Revision 82f08e6...
Matěj Laitl committed changes in [amarok] /:

Fix thread safety of SqlRegistry

Most notably the SqlRegistry::getTrack( const KUrl &url ) lacked the
locking, which was a source of data race conditions. I also added
locking to another method that was lacking it and cleaned up a bit
QMutexLocker usage.


FIXED-IN: 2.7

Matěj Laitl committed changes in [amarok] src/context/applets/upcomingevents/UpcomingEventsWidget.cpp:

UpcomingEventsWidget: fix null pointer dereference and potential memleak

The crash happened when Upcoming Events Applet was downloading new info
on track change and MusicBrainzTagger was downloading track info at the
same time. A bit strange, extact cause of the null sender() is unknown,
but being null ptr-aware never hurts.

Networking Tools

Lamarque Souza committed changes in [networkmanagement] /:

Ideally, SECRET_TAG and TLS_AUTH_TAG should contain 2 parameters, second
one being the direction (in/out) assuming values 0 or 1 respectively.
Added another check to ensure that the 2nd parameter is present before
accessing that index.


FIXED-IN: 0.9.0.5

Martin Klapetek committed changes in [ktp-text-ui/kde-telepathy-0.5] lib/chat-widget.cpp:

Call the onContactPresenceChange directly without connection checks

The connection status at this point is still Tp::ConnectionStatusDisconnected
and so the check for connection being Tp::ConnectionStatusConnected
would never pass, which leads to not printing the "You are now marked
as Available" line when reconnecting, leaving the "You are now offline"
as the last message in the chat.

The contact presence at this point is already correct, so we can
just bypass checking the connection and call it directly.

Reviewed-by: David Edmundson

FIXED-IN: 0.5.1

Lamarque Souza committed changes in [networkmanagement/nm09] /:

Add warning when storage mode is kwallet and kwallet is not enabled. The
warning will be printed in ~/.xsession-errors.


(cherry picked from commit ecb9e75286e2892f8b59a526400e37cc31b38d0d)

Utilities

Aleix Pol Gonzalez committed changes in [kde-gtk-config] /:

Fix some problems with identifying GTK themes

When finding icons, only find images, the human icon theme provides some
.icon files that made it crash.
In the .gtkrc file, if there's an include, follow it.
If gtk2 doesn't provide a font, let gtk3 tell which one has been defined.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9 Revision 8bc2840...

Features

KDE Base

Reza Shah committed changes in [kde-workspace] /generic/wallpapers/color:

Added preview thumbnail at color wallpaper configuration dialog for each background mode,
and removed the background mode combobox.
sorry for the noise, something strange with previous commit.

REVIEW: 106626
FEATURE:

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Revision 0f171c5...
Vishesh Handa committed changes in [nepomuk-core/feature/backup] /:

BackupManager: Output additional signals that can be used by the UIs

* Backup Started
* Backup %
* Restore Started

The started signals can be used by the nepomukcontroller to notify the
user about backups/restores.

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

Office

Sujith Haridasan committed changes in [calligra] /:

Implemented preview for the text docs.

REVIEW: 106746

Diffs: 1, 2, 3, 4, 5, 6, 7, 8 Revision ca81223...
Jarosław Staniek committed changes in [calligra/kexi-altertable-staniek] /core:

Core: add possibility of removing view from window

Diffs: 1, 2, 3 Revision 14713b6...

Networking Tools

David Edmundson committed changes in [ktp-common-internals] /Models:

Add 3 new roles Type, Account and Contact

Diffs: 1, 2, 3, 4 Revision 6466b57...
David Edmundson committed changes in [ktp-common-internals] /Widgets:

Add a widget to show a combo of all accounts

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

Optimization

Development Tools

Milian Wolff committed changes in [kdevplatform/1.4] plugins/documentview/kdevdocumentview.cpp:

Only handle document model once, not once for every top row.

Sven Brauch committed changes in [kdev-python] /:

Don't report warnings about argument names on @classmethods

@classmethod
def myfun(cls): pass
would raise a warning until now since the argument is not called
"self". This has been fixed.

Educational

Aleix Pol Gonzalez committed changes in [kalgebra] src/kalgebra.cpp:

Use the simple rotation on the 3D view

I just like it better to have the camera to be always vertical (up
vector is {0,0,1})

Sebastian Gottfried committed changes in [ktouch/next] /:

i18n: don't translate lesson and course titles anymore

This was necessary for the old version of KTouch because the first
thing any user had to do before he could start training was to pick an
his keyboard layout and a matching course from the lists of all available
resources. For that it was important he was able to understand that
list, so they had to be localized.

Nowadays we detect the user's keyboard layout automatically and present
them only a choice for the courses matching this layout. We can assume
that he understands the language corresponding to the keyboard layout
his computer is set to. With that localization of keyboard layout and
course titles isn't necessary anymore, because the former are completly
invisible to the avarage user and the latter are very propably in a
language he understands.

This also elimates the long standing inconstancy that course titles
were localized but their contents not. Now everythins is presented in
the same language.

All course and keyboard layout for which the titles had native
translations available use these now.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 49 more) Revision 880126c...

KDE Base

Dawit Alemayehu committed changes in [kde-baseapps] /settings/kio:

- Renamed a button text from "Change Policy" to "Configure Policy" because it
allows you to either add or modify a new policy from the management dialog.

- Enable/disable the policy domain edit and ok button as needed. The user will
no longer be allowed to change the domain of existing policies.

- Renamed a couple of UI variable name to refelect their actual purpose.

Diffs: 1, 2, 3, 4, 5 Revision 61d0fe3...
Vishesh Handa committed changes in [nepomuk-core] /storage:

ResourceMerger: Slightly optimize removeDuplicates

Avoid reconstructing a part of the query.

Also remove removeDuplicateInList - It was not being used.

Aleix Pol Gonzalez committed changes in [kdeplasma-addons] /qmlwallpapers:

Only reload the background when the engine tells us to

This way we don't get a small slowdown when changing the current item in
the configuration item view.

Luca Beltrame committed changes in [kdelibs/KDE/4.10] cmake/modules/PythonMacros.cmake:

Support Python 3.2's new method of handling byte compiled files in
PythonMacros.cmake.

Python 3.2 changed the compile mechanism by creating a __pycache__
directory. This obviously breaks a lot of stuff that assumed that pyc
files were stored in the same directory as the py files. This change
adds a check, and adjusts files only in case Python 3.2 is found. Notice
that currently I have way of testing if the suffix (*cpython) is the
same on all supported OSes.

Also, I fixed a number of typos that made the macro work by chance all
these years.

REVIEW: 106707

Marco Martin committed changes in [kde-workspace] plasma/generic/applets/notifications/contents/ui/LastNotificationPopup.qml:

show control buttons only on hover

add a close button, shown on hover as well

Vishesh Handa committed changes in [nepomuk-core/KDE/4.9] services/storage/resourcemerger.cpp:

ResourceMerger: Literal range check optimization

When checking the literal range, we have a special case for xsd:duration
since Soprano does not support it. During that check we compare both
the Soprano::LiteralTerm's data type (should be ungsigned int) and we
compare the range to the duration xml schema uri.

Comparing the data type is a LOT faster, so we should do that first.
That way we can occasionally save the expensive url comparsion check.

Micro Optimization++

Vishesh Handa committed changes in [nepomuk-core] services/storage/datamanagementmodel.cpp:

DataManagementModel: Optimize createGraph

* Avoid iterating over the hash and using comparison operators. We can
check for those keys directly.

* Insert all the statements in one go - This avoids a large number of
the expensive url -> n3 conversions. Also we do all the insertions in
one go.

Dan Vratil committed changes in [nepomuk-core/KDE/4.9] services/filewatch/nepomukfilewatch.cpp:

Add null-crash guards for m_dirWatch to FileWatch

Vishesh Handa committed changes in [nepomuk-core] /storage:

ResourceMerger: Better Metadata properties handling

Instead of separating the metadata properties from the Resource,
converting them into statements and handling them separately, we now
handle them in the a separate ResourceHash.

This is somewhat faster, as we can do hash lookups of the properties
instead of iterating and comparing all of them.

Vishesh Handa committed changes in [nepomuk-core] /storage:

ResourceMerger: Avoid storing the types for new resources

Remove the QHash<QUrl, QList<QUrl>> which was used to store the types of
the new resources. The types are already stored in the resHash along
with the other properties.

All we need is the list of new uris.

Also removed unused function resolveStatement.

Vishesh Handa committed changes in [nepomuk-core] /storage:

StoreResources: Minor optimization by removing unnecessary identification statements

For resolved nodes, we used to add the extra type + nie:url for
identification. This is not required, as the nie:url has been provided
and that is enough for correctly identifying the resource.

Also, added some missing ontologies. They don't really cause any tests
to fail, but it's nice to have them.

Jekyll Wu committed changes in [konsole] src/Session.cpp:

Remove the hack of resetting working directory to $HOME

That hack is added due to the the "single process" model used by konsole.
However, That hack seems to make the thing more confusing as reflected in bug
302903

So here is a known issue: if you set konsole as the terminal emulator
used in pcmanfm, pressing F4 twice in different folder will open two
konsole window in the same folder.

Martin Gräßlin committed changes in [kde-workspace] /:

Introduce a build option KWIN_BUILD_OPENGL_1_COMPOSITING

If the build option is enabled KWIN_HAVE_OPENGL_1 is passed as a compile
flag when build against OpenGL.

This compile flag is meant to replace the KWIN_HAVE_OPENGLES. So far code
has been ifdefed for special behavior of OpenGL ES 2.0 and to remove
fixed functionality calls which are not available in OpenGL ES 2.0.

With this build flag the fixed functionality calls which are only used in
the OpenGL1 Compositor can be removed and keeping the KWIN_HAVE_OPENGLES
for the real differences between OpenGL 2.x and OpenGL ES 2.0.

E.g. a call like glColor4f should be in an
glColor4f(1.0, 1.0, 1.0, 1.0);

while a call like glPolygonMode should be in an
glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);

Building for OpenGL ES 2.0 of course implies that KWIN_HAVE_OPENGL_1 is
not defined.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 6 more) Revision 8cfb488...
Vishesh Handa committed changes in [nepomuk-core] services/storage/datamanagementmodel.cpp:

StoreResources: Minor optimization during error checking

Avoid the url comparsion to NIE::url when iterating over the
SyncResource by removing the nie:url before starting the iteration and
inserting it again.

Martin Gräßlin committed changes in [kde-workspace] /:

GLPlatform can recommend the compositor to use

During detecting the OpenGL capabilities also a recommended compositor
can be set. This recommendation is honoured by the OpenGL based
compositors. That is the SceneOpenGL2 requires a recommendation for at
least OpenGL2 and the SceneOpenGL1 requires at least a recommendation for
OpenGL1. If the driver recommends XRender compositing the SceneOpenGL
performs the existing fallback to XRender.

With this recommendation the hacks in the Scene are removed, e.g. it is
no longer checked whether the driver is software emulation as that is
provided through the recommendation.

To overrule the recommendation the environment variable KWIN_COMPOSE is
extended by the values O1 and O2 to enforce either OpenGL 1 or OpenGL 2.
This overwrites all other checks. As a side-effect this allows now to run
KWin on the llvmpipe:
LIBGL_ALWAYS_SOFTWARE=1 KWIN_COMPOSE=O2 kwin --replace &

But not that I would recommend to use it :-)

REVIEW: 106741

Diffs: 1, 2, 3 Revision e1d7bfa...
Vishesh Handa committed changes in [nepomuk-core/feature/backup] /storage/backup:

Backup: Save some metadata in the backup file

Save the number of statements and the creation date and time.

This allows us to not have to parse the file twice in order to determine
the number of statements, and lets us easily output the % in the
BackupRestorationJob.

Diffs: 1, 2, 3 Revision a79b7a5...
Vishesh Handa committed changes in [nepomuk-core] /storage:

Sync::ResourceIdentifier: Remove unused parts

The original design of the Resource Identifier was way over the top, and
was meant to satisfy a number of different use cases. Currently, it is
just used in storeResources.

Throwing away the unused parts -

* Optional Properties - Aren't used in identification. They are just
stored in a list that is never used.

* Ignore Resource - A convenient way of removing all the statements
related to a particular resource uri

* Force Resource - Identify a uri with a particular Resource (with a
nie:url), and accordingly update the nie:url of all the unidentified
uris which may be in the same folder or sub folder/files of that
particular Resource

The ForceResource function may still be useful in the backup file
resolution, but it does not need to exist over here.

Diffs: 1, 2, 3 Revision b2768db...
Martin Gräßlin committed changes in [kde-workspace] /effects/blur:

Bind ARBBlurShader to OpenGL1

The logic has already ensured that the ARBBlurShader can only be used
when using the OpenGL1 compositor, the OpenGL 2 compositor needs to use
the GLSLBlurShader.

This change moves the complete ARBBlurShader into a KWIN_HAVE_OPENGL_1
ifdef section.

As a side-effect the ::create method can now return a NULL pointer which
makes more sense then returning an ARBBlurShader in case that the
GLSLShader is not supported.

REVIEW: 106738

Diffs: 1, 2, 3 Revision 733edd3...
Vishesh Handa committed changes in [nepomuk-core] /storage:

ClassAndPropertyTree: Optimize variantListToNodeSet

The extra url comparsions take approximately 50% of the time spent in
executing variantListToNodeSet. These comparisons are for special cases
and are done based on the property.

They can be done when the tree is being created, instead of each time
this highly important function is called.

* Caching the literal type - QVariant::Type
* Special handling for xsd:duration
* Special handling for rdfs:Literal

Office

Dmitry Kazakov committed changes in [calligra] /:

Added caching for dabs into the brush paintop

This patch adds caching of the dabs to the paint op system of Krita.
Such cache makes the execution of the benchmarks up to 2 times faster.
Subjectively, the real painting becomes much faster, especially with
huge brushes. Artists report up to 20% speed gain while painting.

Of course, such caching makes the painting a bit less precise: we need
to tolerate subpixel differences to allow the cache to work. Sometimes
small difference in the size of a dab can also be acceptable. That is
why I introduced levels of precision. They are graded from 1 to 5: from
the fastest and less precise to the slowest, but with the best quality.
You can see the slider in the paintop settings dialog. The ToolTip text
explains which features of the brush are sacrificed on each precision
level.

The texturing and mirroring problems are solved.

My next steps are: make this cache tolerate bug 307588 and port it to
other brush-based paitops.

CC
REVIEW:106724

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 10 more) Revision ac7786a...
Jarosław Staniek committed changes in [calligra/kexi-altertable-staniek] /:

Use a better icon for broken presets

Boudewijn Rempt committed changes in [calligra] /:

Use a better icon for broken presets

Dimitrios Tanis committed changes in [calligra/kexi-wip-tanis] kexi/plugins/tables/kexitabledesignerview.cpp:

Show Undo/Redo buttons for Tables in design view.

Added Undo/Redo buttons to Table view when in design mode so that they
are available for porting Undo/Redo code to KoUndo.


GUI: Added Undo/Redo buttons in Tables when in design view.

Networking Tools

David Edmundson committed changes in [ktp-common-internals] /Models:

Remove somewhat pointless AccountItem class.

This should result in a simpler, faster AccountsModel.

Other

Development Tools

Milian Wolff committed changes in [kdevplatform/1.4] plugins/grepview/grepdialog.cpp:

Add dots to lex/yacc file patterns.

Ivan Shapovalov committed changes in [kdevplatform] outputview/outputexecutejob.cpp:

OutputExecuteJob: use QHash for storing environment overrides.

Educational

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

Parting RocsLib into libraries RocsCore and RocsVisualEditor.

With this commit we separate the data structure backend from its
visual representation. Functional changes due to former hacks when
everything was inside one library will be fixed with the next commit.

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 8 more) Revision e024dbb...
Aleix Pol Gonzalez committed changes in [kalgebra] /:

Make the first approach to the declarative plugin

This work is happening in views to move this code to Analitza

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9 Revision 276afe2...

KDE Base

Aurélien Gâteau committed changes in [kate] /:
Vishesh Handa committed changes in [nepomuk-core/KDE/4.9] autotests/test/querytests.cpp:

QueryTests: Mark the tests that fail due to user visibility problems

4 tests fails because the ontologies are returned in the results. We
mark those tests with QEXPECT_FAIL. Fixing them will require a big
change in our already broken user visibility system.

Vishesh Handa committed changes in [nepomuk-core/KDE/4.9] services/storage/test/resourcewatchertest.cpp:

Mark ResourceWatcherTest::testRemoveProperty_typeRemoved as expect fail

Since createResource now only adds the minimum number of types and
relies on inferencing, type:/A is not added as it is a super class ob
type:/B.

This makes the type notifications in the RessourceWatcher fail, as we do
not currently support super type notifications. Hence, the QEXPECT_FAIL

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

Use pathOrUrl() instead of prettyUrl() when relevant

REVIEW: 106718

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 6 more) Revision bf1f742...
Aleix Pol Gonzalez committed changes in [kdeplasma-addons] /qmlwallpapers:

Forward mouse events to the scene

This way the wallpapers can have some kind of way to react to mouse events
So remember: with great power comes great responsibility

Martin Gräßlin committed changes in [kde-workspace] /:

Do not resolve glx functions specified in GLX 1.3

According to the OpenGL ABI for Linux GLX 1.3 is a minimum requirement.
Therefore we do not need to resolve the symbols which are present in that
version.

KWin did always require at least 1.3, for all the resolved functions
there were checks in the Scene, but they might have been incorrect.
Instead now the GLX version is checked and OpenGL compositing is blocked
if there is not at least GLX 1.3.

REVIEW: 106704

Diffs: 1, 2, 3 Revision 950b8a6...
Aleix Pol Gonzalez committed changes in [kdeplasma-addons] /qmlwallpapers:

Improve scene initialization

Fill the background with the selected color.
Simplify the pixmap initialization by always using resizeWallpaper() for
setting it up.

Vishesh Handa committed changes in [kde-workspace] plasma/generic/runners/CMakeLists.txt:

Build the Nepomuk Runner Plugin

When the Nepomuk Runner was ported to NepomukCore, the top level
CMakeLists was updated to look for NepomukCore instead of Nepomuk.

I guess I forgot to update this if statement over here.

Ivan Čukić committed changes in [kactivities] /:

KActivities-Models library

- ActivityModel
- ResourceModel
- QML bindings

Merge branch 'ivan/data-models-library' into master

KDE-PIM

Martin Klapetek committed changes in [kdepimlibs] /:

Add Akonadi Social Utils library

A helper library containing SocialFeedItem and its serializer
and an image provider that gets images from web and stores
them in KImageCache for later reuse.

Read more in akonadi/socialutils/Mainpage.dox

REVIEW: 106631

Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 15 more) Revision 637bb5b...

Office

Jarosław Staniek committed changes in [calligra/kexi-altertable-staniek] /koproperty:

koproperty: use QMap so items are always sorted by key

Utilities

Jonathan Michael Thomas committed changes in [libqapt/api2] /:

Standalone archive download support ported from QApt1.

Diffs: 1, 2, 3, 4, 5, 6, 7 Revision 973d9ca...