Issue 224
26th February 2012 by KDE Commit-Digest TeamContributors
Vladislav Blanton
Jaka Kranjc
Marta Rybczynska
This Week...
Statistics
Commits | 2856 by 180 developers |
Open Bugs | 21888 |
Open Wishes | 17170 |
Bugs Opened | 402 in the last 7 days |
Bugs Closed | 423 in the last 7 days |
Commit Summary
Module | Commits |
/trunk/l10n-kde4 |
258
|
/branches/stable |
161
|
/trunk/KDE |
117
|
/trunk/www |
38
|
/trunk/l10n-support |
31
|
/applets/kickoff-netrunner |
30
|
/kickoff-netrunner/package |
25
|
/trunk/playground |
21
|
/karbon/cdr |
18
|
/branches/KDE |
16
|
Files | Developer | Commits |
513
|
Roman Paholík |
171
|
303
|
Gilles Caulier |
103
|
282
|
Shaun Reich |
94
|
219
|
Laurent Montel |
75
|
198
|
Boudewijn Rempt |
67
|
165
|
Wolfgang Rohdewald |
55
|
156
|
Jonathan Michael Thomas |
54
|
153
|
Marco Martin |
52
|
138
|
David Faure |
48
|
111
|
Christophe Giboudeaux |
39
|
Internationalization (i18n) Status
Language | Percentage Complete |
Brazilian Portuguese (pt_BR) |
99%
|
Polish (pl) |
97%
|
Dutch (nl) |
95%
|
German (de) |
94%
|
Estonian (et) |
93%
|
French (fr) |
93%
|
Italian (it) |
90%
|
Low Saxon (nds) |
87%
|
Danish (da) |
87%
|
Chinese Traditional (zh_TW) |
84%
|
Bug Killers
Person | Bugs Closed |
Jekyll Wu |
74
|
Patrick Spendrin |
39
|
yue liu mail com |
37
|
Christoph Feck |
24
|
Myriam Schweingruber |
23
|
Jonathan Thomas |
21
|
Laurent Montel |
21
|
Peter Penz |
17
|
Milian Wolff |
16
|
Christophe Giboudeaux |
10
|
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 111 selections this week
Bug Fixes
Development Tools
Don't crash when re-opening kdevelop if a deleted file was open before. Also unsplit the views when necessary.
Refactor yet another part of the expression visitor
That terrible "setTypesForEventualCall" function is now gone entirely.
It has been replaced by recursive calls to the expression visitor,
which leads to less code duplication, less special-case-handling, and
less bugs. Oh, and probably less performance, too.
I think this was the last required step to make the expressionvisitor code
halfway sane, hope it works okay now.
force Lokalize exiting when scanjob is running
Do not use KIO in secondary threads, this is not supported.
Educational
reduce catapult effect during kinetic spinning in some cases
Fix last known bugs in 'annotations fixed to data' mode.
To make an annotation object (eg, label, arrow) be fixed relative to the
data (rather than the plot window) select "Lock Position To Data" in the
dimensions tab of the edit view object dialog.
Behavior:
-the endpoints of Arrow and lines are fixed to the data. Line width and
arrow head size do not scale when zooming
-the center and rotation of label objects is fixed to the data. The
font remains fixed when zooming.
-Boxes: the center, width, and heigh of boxes scale/tranlate with the
data. Rotation stays fixed to the screen. Note: we can't just fix the
corners of rotated boxes to the data, or they wouldn't stay boxes. We
can and do for un-rotated boxes. I'm not totally happy with the
behavior of rotated boxes under zoom.
What is this useful for?
-an arrow and text pointing to an interesting event in the data stays
fixed to the data, even if the plot ranges are changed (eg, the event
scrolls away, or we zoom in.)
-a polygon region drawn in RA/Dec space will stay fixed in RA/Dec
space even if the plot zoom changes.
Graphics
Disable creation of a preview for images with transparency
until a solution involving a better file format is available.
Fix wrong initial size of crop rect
If view is not in zoom-to-fit, crop rect must take into account the height
of the tool widget so that it does not go behind it by default.
When listing albums recursively, we may exceed the maximum number of bound parameters.
Split the query in this case
Save xml to temporary file first (prevent DB corruption).
Fix order of redo actions. Functionality was correct, but labelling was reversed.
KDE Base
Fix drag and drop issue when dragging between windows
Explicitly check whether a dragging is ongoing to decide whether a
tooltip may be shown or not, just using QApplication::mouseButtons()
is not sufficient when dragging between windows.
FIXED-IN: 4.8.1
Don't trigger assert when switching to details-view
If the visible roles of the details-view are equal to the visible roles
of other views, then switching to the details-view will trigger an
assert because the invisible roles don't get updated.
Thanks to Frank Reininghaus for the detailed analyses!
In the context of this fix optimizations have been done when switching
view-modes: The "don't-animate-workaround" could be removed.
FIXED-IN: 4.8.1
Add delay before showing window menu
The window menu is shown after a strong click on the menu button.
This makes close by double click on menu button working correctly.
A single (strong) click will open the window menu, a double click
will close the menu. A triple click is no longer required.
REVIEW: 103995
FIXED-IN: 4.9.0
Make KFileWidget provide default filename even when the protocol does not
support listing.
FIXED-IN: 4.8.1
REVIEW: 103642
Don't show tooltips when dragging to another Dolphin window
FIXED-IN: 4.8.1
properly handle the m_showPreviews setting in configChanged() and configAccepted()
FIXED-IN:4.8.1
Always use small size icons on the status bar.
Fixes the intermittent issue of the status bar becoming huge when the
the requested status bar icon could not be found and the default icon
is returned instead.
FIXED-IN: 4.8.1
REVIEW: 104071
(cherry picked from commit 48e804dbe4dd4bebc362e722c69df6e797605437)
KDE-PIM
Handle duplicate event UIDs in different calendars
Event cache is now indexed by calendar ID and event UID, which should
reduce the possibility of crashes due to the wrong event being
deleted if any duplicate UIDs exist.
This should fix crashes (bugs 293193, 293290, 293360, and possibly
293346).
Backport of 036983b5f47fec7da5778f68f0fe655b82e3a634 and
f8969a48da10f0c87d4d024bc67c710bf5020638 (master)
Save to-do templates as Todos
Save journal templates as Journals
FIXED-IN: 4.8.1
MERGE: 4.8
Handle with care mailbox names ending with separator
Some servers apparently find funny to sometimes send mailbox names
suffixed with the separator (e.g. INBOX/) which mapped for us to a
mailbox with no name under INBOX. Needless to say it was veeery wrong.
So now special case those, and consider that the server instead meant
the mailbox name without this separator suffix (e.g. INBOX/ -> INBOX).
Fix Bug 133252 - Auto expire: Mark messages read on moving to the archive folder during expire run
FIXED-IN: 4.8.1
Office
Fix crash when saving a modified document on closing the last window
If we close the last window, but are still saving a document, we'll
crash because the application will be quitting while the saving code
is still going on.
bug:294235
bug:292620
bug:293601
Fix the list number saving in Arabic/Kannada etc.
return focus to canvas afer inserting special character
bug:294338
Now that the shapedelete commands are child commands we shouldn't handle them seperately
This also fixes
bug:286888
Correctly merge two layers
We need to merge both layers using the right properties on a third
paint device and then use that for the combined layer.
Fixed a tool activation when the current layer is not enabled
Way to reproduce:
1) Open new document
2) Disable a layer with a mouse
3) Enable a layer with a tablet
You will not be able to paint with the tablet.
What actually happened was that a new CanvasData was created, but
the previous tool could not be activated in the new data, because of
an explicit check in switchTool. So that we ended up in a state with
no tool at all.
This patch brings a bit more consistency there. Now you can always
switch the tool in the KoToolManager, even when active layer is
disabled, but the KoToolProxy will get information about the new tool
only when the layer gets enabled back. This is what the code in
currentLayerChanged() and toolCanBeUsed() has been doing before. There was
inconsistency in postSwitchTool(), because it didn't check for the
availability of the active layer, now it is gone.
If no driver for the selected source is found, display a message
and do no allow to proceed.
Multimedia
Wake up our condition variable if we finish within three seconds, which would otherwise hold up emission of finished()
FIXED-IN:4.6.1
Networking Tools
Get sure urlbar is updated on bookmarking
Show first 4 characters of search timeline name over the timeline icon
Prevent avatars going impossibly too big in remove dialog
Reviewed-by: David Edmundson
Modify the Yahoo login URL to percent encode username and password.
Fixes kopete does not save passwords correctly if it contains symbols
Thanks to Alex DÄnilÄ for this patch.
NowListening plugin: do not show song info when in player is in pause state.
Fix "Last Used label resets to Never after a minute".
Thanks to David Narváez for pointing this problem out.
REVIEW: 104072
Hook the urlChanged Signal to History Actions Update
This catches navigation to named anchors
REVIEW: 104035
Utilities
Properly display reviews ratings. oops!
Ensure to not try to mark uninstalled packages for reinstallation.
FIXED-IN:1.2.4, 1.3.0, 1.4
If the user manually clicks the package name column header, sort alphabetically even if we are showing relevancy-based quicksearch results.
FIXED-IN:1.4
Games
FIXED-IN: 4.8.1 Make the value-list widget non-empty at creation time, so that KSudoku will not crash when there is a resize event before starting the first puzzle.
Fix a const mismatch and allow compilation in Solaris Studio.
Port from Phonon to KgSound.
Phonon introduces lagging sounds depending on the backend used and
therefor is not a reliable audio layer to be used in games.
FIXED-IN: 4.9
Features
Development Tools
some work towards supporting template specializations with dynamic array types
the instantiation is still not properly associated though, yet at least
for unique_ptr the proper version is now chosen. The latter is still unusable
though since the ::pointer return type is not properly evaluated yet
Add welcome widget, that is shown on Lokalize first startup (when no project is loaded).
So we're now a bit more friendly to newbies.
Note to translators: It uses strings that are already translated either in Lokalize or in kdelibs,
so be careful to use translation memory to avoid doing same work twice.
(actually it is possible that lokalize.po won't change at all, we'll see)
Merge 1276286:1281298 from trunk, excluding i18n changes at
umbrello/dialogs/classgenpage.cpp:127
umbrello/codegenwizard/codegenstatuspage.cpp::189,212,226
umbrello/codeimpwizard/codeimpstatuspage.cpp:300,314
This commit brings the branch to par with trunk and completes delivery of
promises made at
trunk/www/sites/www/announcements/changelogs/changelog_branch_4_8.xml
c++11 support: add parser-support for alias-declaration
TODO: duchain integration
Educational
Implement stepped script execution.
This commit introduces stepped execution for scripts. By
adding the script function call "interrupt();" to the script, the
script is only executed until this function call if using the new
"step"-button. Script changes are only respected at *next*
script execution (i.e., stop execution and start a new one).
Graphics
New simple KExiv2 based interface class to manage KIPI host application metadada settings and Read/Lock files mechanism introduced
with list libkipi API by Marcel, to prevent concurents access to files by kipi-plugins and host application at the same time, through image metadata.
This class must be used everywhere in plugins instead KExiv2 (not yet done).
[lcms2] use c++ static_cast<> instead of plain cast
[lcms2] add ENABLE_LCMS2 option to force lcms2
adding -DENABLE_LCMS2=1 to cmake options will force digikam applications
to link against lcms2, see comment in the commitdiff for a roadmap
apply patch from Parthasarathy Gopavarapu to add url history management.
A new line edit can be used to enter full remote url.
A combobox is used to host urls history between session.
CC
KDE Base
Added support for the new HtmlExtension settings interface (HtmlSettingsInterface).
initial add of youtube runner
Expose new exportResources method in DBus.
add duckduckgo runner
Update to 2.2:
- allow to display more meta data in playlist (visible columns can be selected using context menu of header view);
- improved initialization sequence;
- remove track meta data after last occurrence is removed;
- cache all basic meta data keys;
- set current track marker to first track after finishing playlist in sequential mode;
- some fixes and other changes.
basic implementation now of contentpane
mostly delegate changes
KWin::Options becomes a QObject and provides properties
This allows to inject the options into KWin scripts.
REVIEW: 104036
Added DataManagementModel::exportResources.
The new method does the exact same thing as describeResources, except
that it serializes the data into any requested and supported format.
system settings proof of concept (apps dataengine concept actually)
i'm betting i'm going to have to add to the dataengine the ability to
show system settings and categories. it appears that isn't there. i
wonder how difficult it'd be...
udisks2 Solid backend
preliminary version, WIP, just compiles now
I haven't done any testing, not even enabled for building
Automatically set the uri when using SimpleResourceGraph::operator[]
It's more intuitive this way. One can do stuff like -
SimpleResourceGraph graph;
graph[someUri].setProperty( NIE::url(), url() );
Instead of -
SimpleResourceGraph graph;
graph[someUri].setUri( someUri );
graph[someUri].setProperty( NIE::url(), url() );
an almost working breadcrumb
add the QtQuick KRunner interface to KRunner from my scratch repo.
Allow changing tab title through escape sequence
Users can now change the tab title through "\e]30;Tab Title\a" .
This is a feature previously available in KDE3 konsole.
FIXED-IN: 4.9.0
REVIEW: 103862
Support declarative KWin scripts
For this the Script class is slightly refactored to have a common
base for JavaScript and QML based scripts.
Why QML bindings? This allows to use QML for example for the
desktop change OSD or for fullscreen effects like Present Windows.
Add global option for showing window title on titlebar
When the window title from current session is emtpy, fallback to using
tab title.
REVIEW: 103978
awesome, implemented displaying of devices
basic filtering implemented in sal search box
"lenses" equivalent (Unity), is intention
KDE-PIM
Add public Holidays for Indonesia
FIXED-IN: 4.8.1
Office
Add UI to change the list level. The buttons for adding the numbered and unnumbered lists has been merged
REVIEW: 104022
Add the capability to define profiles for brokers, banks, etc..
Improve handling of profiles in csvplugin.
The UI has been made more responsive to start and end line changes.
Added a 'previous profile' setting.
Several improvements to handling of different input sequences.
Remove unused code line.
Add disconnects in both readFile() routines to avoid re-calling it
on connects from start and end line changes.
Implement review comment suggestions
Welcome status bar: fetch the GUI updates from the server if available
this is done every 60 minutes
DIGEST: Kexi's Welcome status bar fetches GUI updates from the server if available, every 60 minutes
Fix stacking of undo/redo commands in the KoTextEditor.
Fix the DeleteCommand when deleting a selection with anchored object.
Fix PasteCommand when pasting over a selection.
Adapt ChangeStyleCommand to new framework.
Adapt Shape anchoring to new framework.
incuded writerperfect, added wps import filter, added libwps dependency, updated vsd/wpd/wpg import filter to use writerperfect
Start of saving
* Save the shape scene itself (but not the attributes yet)
* Save lightsources
Parse and store lightsources for the 3D scene.
Multimedia
This commit rework all the kded part and allows it to manage new plugged printers, this also fixes the DBus activation
PrintManager QML plasmoid (works for printers)
Add last.fm scrobbling support to JuK.
No configuration GUI yet, you have to add a [Scrobbling] section to your jukrc,
with a Username=foo and Password=bar field to make it work.
Doesn't use liblastfm, because liblastfm doesn't support the latest last.fm API.
FEATURE:
Display artist and title of currently playing file in the window title.
FEATURE:
Working on FFT based correlation
Correlation for two samples of 3 min length are calculated in 2 ms
compared to 16 ms with O(n²) correlation.
Not the same result yet however ...
FFT based correlation works.
Previous commit used convolution instead of correlation.
Networking Tools
Add notifications about contact's status message change in chat.
Thanks to Igor Poboiko for this patch.
REVIEW: 5282
Utilities
Make it possible to login against ubuntu SSO and get the credentials
Add initial support for loading additional pages of reviews to the QWidget-based Muon Software Center.
Still needs a bit of work on the "load more reviews" button to make it prettier.
Add a debugger to TimetableMate
- New debugger class, derived from QScriptEngineAgent
- Many features: Breakpoints (even with JavaScript conditions and
hit counts), execution in steps (step into, step over, step out,
run until cursor, ...), etc.
- New UI for the debugger: Backtrace dock, breakpoints dock,
output dock, variable dock
- Variable dock uses QScriptValueIterator and also shows eg.
details about results added to the 'result' script object
It automatically lists values of Q_PROPERTYs
- Backtrace dock works as expected, automatically updates the
variable dock if another frame gets selected and jumps to the
associated line number if any
- TimetableAccessorInfo is now a QObject with many Q_PROPERTYs and
gets exposed to scripts as "accessor" object
- Add Q_PROPERTYs to scripting objects (scripts can no longer call
methods with the same name, but must use the properties instead,
ie "result.count()" gets "result.count"
- Add debugging actions to TimetableMate
- TODO: The debugger currently calls QApplication::processEvents()
periodically to check if it is still interrupted. Uses too much CPU,
the script should be run in a separate thread
Games
robot players can now make Original Call
add a column for tags to .csv file
this makes it possible to tag interesting games like those with
Original Call
Import KgDifficulty class (coming from Project Tagaro).
This is the GUI-independent essence of KGameDifficulty, and a bit more:
* KgDifficulty automatically saves and restores the level selection
across application restarts.
* The levels are virtual base classes, so applications can add more
metadata to them if desired.
* Instead of addStandardLevel (which can be replicated in a one-liner),
there is the incredibly useful addStandardLevelRange call.
* All KgDifficulty capabilities are exposed through Q_PROPERTY, so it's
QML-ready.
Where possible, I tried to retain compatibility to KGameDifficulty, e.g.
in the StandardLevel enum. There are some intentional incompatibilites
though, most notably:
* KGameDifficulty::Configurable has been removed from the StandardLevel
enum. There's only ::Custom.
* setRestartOnChange() has been removed. If you want that behavior, use
setGameRunning(), otherwise just don't.
* The whole localization API has been removed. Iterate over the levels
to retrieve that information if necessary.
Enhance the KgDifficulty API with Albert's suggestions.
Optimization
KDE Base
kwin/blur: consider the valid part of the cache as being opaque
This reduces the repaints in cases where several blur regions are
stacked on top of each other (e.g. oxygen-transparent) and the topmost
layer needs to be updated (e.g. a blurry window is moved).
KDE-PIM
Hold strong references in the FolderCollection object cache.
With the weak reference used before, and nothing really holding longer
living references to these objects, the cache was effectively bypassed,
since for every access new objects were being created. These objects are
needed mostly in the folder proxy models, to check things like whether a
particular folder should be hidden. Keeping effectively all
FolderCollection objects in memory as we now do is not optimal, from a
memory point of view, and could be optimized potentially by caching only
the "should the folder be hidden" information in the proxy models, but
the current state has a very noticeable performance hit, most notably in
the folder selector used in quick move and copy as well as jump. Since
the memory hit even with huge folder lists is bearable, this seems the
better trade off, for the moment.
Speed-up maildir listing and syncing (~40% gain in the resource).
REVIEW: 103947
Multimedia
Simplify and reform device management a bit
Introduce DeviceInfo instead of separate (and identical) classes for
video capture and audio output, merge audio and video device lists
inside the device manager.
Simplify the way the device manager is used by the backend and audio
output. The code should be easier to understand.
All devices other than the default will be marked as advanced.
User Interface
metrics progress
D +- -- .DS_Store
D +- -- Oxygen-Bold/.DS_Store
progress regular
M +- -- .DS_Store
M +- -- Oxygen-Bold/.DS_Store
Other
Development Tools
add an assert to make sure what were re-importing makes sense.
KDE Base
Port from KProcess to QProcess
Disable the advanced feature of "CommonDirNames" for "%d" by default
The main consideration is it is more often confusing than helpful for
average users, especially when this feature was hidden, undocumented and
enabled by default.
The "CommonDirNames" list in the code is now empty by default , instead
of a list of hardcoded common names.
To enable and customize this advanced and potentally confusing feature,
edit $KDEHOME/usr/share/config/konsolerc and add the following lines:
[ProcessInfo]
CommonDirNames=name1,name2,name3...
For konsolepart users, edit the config file of the hosting application.
I'll add related information for this hidden & advanced feature into
handbook later.
FIXED-IN:4.9.0
REVIEW: 103949
Office
implement saving/loading
Utilities
Further changes required to make the QWidget-based MSC work with the new Application
object package invalidation scheme. Application objects inside the ApplicationModel's
internal list weren't being cleared before reload, so MSC was crashing trying to get
data from stale pointers. Additionally, since the QApt Backend's refreshCache()
function used QCoreApplication::processEvents to make it sort of asynchronous, the
ApplicationModel needs to be temporarily cleared so that it doesn't try access package
data in the middle of the APT cache reload. (Which didn't matter before since we were
reloading the entire MSC view)
What happens now during a cache refresh upon the completion of an installation/removal
is that the view momentarily clears itself. Once the refresh is complete all the data
is then re-displayed, without warping the user back to the main window. I think that's
probably the best we'll be able to do, since we can't paint anything requiring
package data during the backend's reload.
I also changed it so that reviews/ratings stuff gets cleared on every cache refresh, as
their package pointers will all be stale and really do have to be reloaded. This new
refresh scheme is really an improvement on the experience since we don't have to refresh
the whole UI, thanks Aleix. :)
Games
Continue implementing new design.
Yes, I know it is a big commit. But there really is not a "clean" way of
doing refactoring...
KGameDifficulty is deprecated now
Port from Phonon to KgSound.
Well, that was really easy.
before shuffling players or tiles, sort them
this makes it easier to reproduce situations because the shuffled
players / tiles no longer depend on previous hands