26th February 2012by KDE Commit-Digest Team
|Commits||2856 by 180 developers|
|Bugs Opened||402 in the last 7 days|
|Bugs Closed||423 in the last 7 days|
||Jonathan Michael Thomas||
Internationalization (i18n) Status
|Brazilian Portuguese (pt_BR)||
|Low Saxon (nds)||
|Chinese Traditional (zh_TW)||
|yue liu mail com||
There are 111 selections this week
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.
Don't crash when re-opening kdevelop if a deleted file was open before. Also unsplit the views when necessary.
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.
-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.
reduce catapult effect during kinetic spinning in some cases
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
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.
(cherry picked from commit 48e804dbe4dd4bebc362e722c69df6e797605437)
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.
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.
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.
Make KFileWidget provide default filename even when the protocol does not
Don't show tooltips when dragging to another Dolphin window
properly handle the m_showPreviews setting in configChanged() and configAccepted()
Fix Bug 133252 - Auto expire: Mark messages read on moving to the archive folder during expire run
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
Backport of 036983b5f47fec7da5778f68f0fe655b82e3a634 and
Save to-do templates as Todos
Save journal templates as Journals
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).
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.
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.
Fix the list number saving in Arabic/Kannada etc.
return focus to canvas afer inserting special character
Now that the shapedelete commands are child commands we shouldn't handle them seperately
This also fixes
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.
Wake up our condition variable if we finish within three seconds, which would otherwise hold up emission of finished()
Hook the urlChanged Signal to History Actions Update
This catches navigation to named anchors
Fix "Last Used label resets to Never after a minute".
Thanks to David Narváez for pointing this problem out.
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.
Show first 4 characters of search timeline name over the timeline icon
If the user manually clicks the package name column header, sort alphabetically even if we are showing relevancy-based quicksearch results.
Ensure to not try to mark uninstalled packages for reinstallation.
FIXED-IN:1.2.4, 1.3.0, 1.4
Properly display reviews ratings. oops!
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.
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
This commit brings the branch to par with trunk and completes delivery of
promises made at
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
c++11 support: add parser-support for alias-declaration
TODO: duchain integration
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).
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.
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).
basic filtering implemented in sal search box
"lenses" equivalent (Unity), is intention
awesome, implemented displaying of devices
initial add of youtube runner
Added support for the new HtmlExtension settings interface (HtmlSettingsInterface).
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...
Automatically set the uri when using SimpleResourceGraph::operator
It's more intuitive this way. One can do stuff like -
graph[someUri].setProperty( NIE::url(), url() );
Instead of -
graph[someUri].setUri( someUri );
graph[someUri].setProperty( NIE::url(), url() );
an almost working breadcrumb
Support declarative KWin scripts
For this the Script class is slightly refactored to have a common
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
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.
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.
add duckduckgo runner
Expose new exportResources method in DBus.
basic implementation now of contentpane
mostly delegate changes
Add public Holidays for Indonesia
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.
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
Start of saving
* Save the shape scene itself (but not the attributes yet)
* Save lightsources
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
Parse and store lightsources for the 3D scene.
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.
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.
Add notifications about contact's status message change in chat.
Thanks to Igor Poboiko for this patch.
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.
Make it possible to login against ubuntu SSO and get the credentials
Add a debugger to TimetableMate
- New debugger class, derived from QScriptEngineAgent
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
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
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.
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).
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.
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.
M +- -- .DS_Store
M +- -- Oxygen-Bold/.DS_Store
add an assert to make sure what were re-importing makes sense.
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:
For konsolepart users, edit the config file of the hosting application.
I'll add related information for this hidden & advanced feature into
Port from KProcess to QProcess
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. :)
Continue implementing new design.
Yes, I know it is a big commit. But there really is not a "clean" way of