17th November 2013by KDE Commit-Digest Team
|Commits||2245 by 165 developers|
|Bugs Opened||283 in the last 7 days|
|Bugs Closed||260 in the last 7 days|
|Aaron J. Seigo||
|Aleix Pol Gonzalez||
Internationalization (i18n) Status
|jorissteyn gmail com||
There are 74 selections this week
Fix spell check for dictionaries without country code
Fix Bug 243503 - Lokalize shows over 100% compatibility
Fix selectedItem / currentItem mixup
Fix crash loading XMI
Do assign parent when loading XMI. Commit 1bfad17 regressed the loading of (for
example) RefactoringAssistant.xmi. This fix makes loadFromXmi() only determine
a new parent when pasting (so, when not loading a file) like it was before.
Fix copy/paste of folders
Copying folders in the tree view now works as described. Nested folders and
pasting to other instances of Umbrello work fine as well.
Ideally, when copying a folder, the XMI clip only contains the UML:Package node
and all child items are contained and loaded from Namespace.ownedElements. But,
loadFromXMI() does not support that. This fix makes a paste operation ignore
ownedElements completely and uses the "flat" list of all children to create the
Restore drag&drop in the tree view
This change allows moving items in the tree view into other items. For example:
move diagrams and classes to folders, move operations to other classes, etc.
It's also possible to copy/paste items by holding ctrl while dragging.
Check search result size before insert it.
Really fix all file templates
Fix crash when copying widget
Fix regression introduced in 9e630ca
Parsing a broken/non-existing KML document returns a null
GeoDocument, so we need to recreate a bookmark document in order
to prevent crashes later on.
(cherry picked from commit 7603ee9e386ed7a6e638bdf5cf7a450b04a752b4)
Do not add plugins' directory into PYTHONPATH to avoid module names
clash. Add 'katepate_' prefix to all .desktop files installed (also
to avoid possible names conflict). Partucular plugins' .desktop file
now contain Python module name instead of .py filename. Added support
for directory based plugins.
fix shortcut available check
and bypass idempotent shortcut setting
Correctly position output identifiers on rotated screens
[kwin] Do not filter out button release events for moving clients
The QWidget of the window decoration is otherwise still thinking that
the button is pressed and waits for a release. Thus the next click on
the decoration doesn't trigger the move mode.
clamp timeline time for highlighted desktop
Fixed Mozilla bookmark import
Replace the current selection (if any) in Visual Mode when pasting.
Use dedicated slots for handling exactly the actions they should handle
Previously, all actions in the header context menu were handled by the
same method slotHeaderContextMenuTriggered(), even actions in submenus
which was clearly not intended. For example, selecting sorting
By Date/Time of Most Recent in Subtree in the Sorting submenu did also
enable the Sender column (because the action for showing/hiding the
Sender column had the same index set as user data as the action for
sorting By Date/Time of Most Recent in Subtree). Usage of dedicated
slots attached to the actions' signals instead of a single slot
attached to the menu's triggered() signal (which is also emitted for
actions in submenus) fixes this.
Add UI hints and prevent saving a configuration which definitely is not going to work
v2: Check more fields -- thanks to Caspar for review.
Don't trigger a collection sync in the resource in the find unindexed items job.
This indirectly fixes the huge memory usage of the mixedmaildir resource,
because it was loading all the indexes for all the folders. Now it
only loads stuff on demand, as intended, when the user clicks on a folder.
Fix the outline of the tools that do not provide one
If we cannot establish a profileName, do not create a colorspace
fix text to columns
Fixed Expression Error status in Scilab backend
Fix the cursor of all the non-brush tools
The cursor/outline switching code has been moved to KisToolFreehand,
which means that the settings will be applied to it only. The rest of
the tools will show its default cursor.
OrganizeCollectionDialog: hide complex options behind a button
In commit 7c780bf5, Ralf addressed bug 283361 by only showing the preview
table when the screen is large enough, which I believe went too far.
This is a bit different approach, the file scheme and other options are
hidden behind the Options button when the dialog is shown, making it much
more cleaner. The rationale is that the user usually sets up the options
once, not every time (and beginner users may be happy with the default
schema right away).
Fix sound glitch with "fade-out on pause" with GStreamer.
This is really just an ugly workaround for an issue with
(Phonon-)GStreamer. Essentially there is no way to flush the audio
buffers, so that implementing fade-out in combination with pausing
becomes a bit of a gamble.
Please test, as I cannot reproduce the sound glitch on my system!
use backend_version define as option for automoc + debug API target
otherwise classes may get moced with the wrong interface version setup.
also imported API target debug from VLC to make it obvious in the cmake
output what API target will be used.
New levels by Frank Uebbing
Add shape() reimplementation for drawing interface widgets.
Support nesting of class in class
GUI support was removed in 4.11.3 for no valid reason. This commit adds it back
and also works with drag/drop operations.
Additional fix: don't lose stereotype of package when nested in class.
Respect general sync activation status
filter the list of maps
using KListWidgetSearchLine it is just adding the class to the vertical
layout. thanks to Albert for telling me about this class.
Save/Load variables working in Scilab backend
qgraphicsview handles the map and divisions
Using addPixmap to a QGraphicsView, just let the view handle the zoom,
moves.... Just handling all the view events to move the division
Improve the Auto Select user interface and the scan previewer
Move the autoselect controls to an AutoSelectBar below the preview
image, only displayed when auto select is turned on. Move the
scanner background combo box, along with the previously hidden
dust size slider and a new margin slider to a new AutoSelectDialog
accessed from the bar.
Add an application action (in the scan toolbar by default) to
turn on auto selection and show the bar, along with an icon
for it (currently a bit crude).
Change the threshold and dust size sliders to a KScanSlider to
provide a spin box for the value. Fix KScanSlider (and other
similar controls) being able to take keyboard focus in this
dialogue and elsewhere.
Centralise the auto selection constants (apart from the config
keys which are only used by Previewer) in a new AutoSelectData
namespace and header file.
Also move the scan size display and file size indicator to the
application status bar, eliminating the waste of horizontal space
caused by it alongside the preview area.
Centralise all status bar handling and item display in a new class
StatusBarManager, instead of being split between Kooka and KookaView.
Gallery image and scan area each have their own status bar indicators,
implement min/max sizes for panel length in the scripting
should be forward ported to plasma2's panel system
Add support for X-Python-Dependencies property of a kate/pate plugins'
.desktop file w/ a simple list of dependencies. "Simple" means this
list may contain only module/package names, cuz checker just tries to
import given name. If failed to load, the plugin gets disabled w/ appropriate
tooltip text in a plugins manager page.
Delay calendar initialization in digital clock
We use a Loader now to encapsulate the whole Calendar shebang, saving
hugely in startup time. Also, as the calendar is really only loaded
on-demand, it won't use any memory if you don't use it. This also means
that we can prevent Akonadi from autostarting on login, at least as far
as the Calendar is concered.
Unrelated: CompactRepresentation is now called DigitalClock.qml, as
that's exactly what it is.
DIGEST: lazy loading of Plasma Calendar
R +8 -2 plasma/generic/applets/digital-clock/contents/ui/DigitalClock.qml [from: plasma/generic/applets/digital-clock/contents/ui/CompactRepresentation.qml - 093% similarity]
Add support for adding outputs
New intel driver adds virtual outputs, it starts with VIRUTAL1, when
it is activated when it creates VIRTUAL2 and so on.
This patch only adds "outputAdded", outputRemoved will come after.
* Search installed Python plugins via trader
* Introduce `Kate/PythonPlugin` service type and .desktop files for plugins
* Make plugins management look-n-feel of C++ plugins management
* Enabled plugins now are per session (stored under "Enabled Plugins" key of the pate
config group), so it is possible to have different plugins in different sessions
(just like C++ plugins).
* Introduce per session configuration storage for python plugins (in addition to
a "global" one)
* Provide little more details if pate engine failed to load
... a lot of internal refactorings also have been done.
Add a generic cloning method that works for workstations and laptops
the new cloneOutputs method adds extra checks like making sure the
picked resolution is not bigger than the bigger allowed resolution.
Update the Places Panel entries when switching the language
Before this commit, we stored the translated "Places" in
.kde4/share/apps/kfileplaces/bookmarks.xml. This was not intentional -
it only happened because
PlacesItem::updateBookmarkForRole(const QByteArray& role) always stored
the translated text (returned by PlacesItem::text()) in the KBookmark.
This is be fixed by first checking if the text() is equal to the
translation of the text that is already stored in the KBookmark, and
not updating it in that case.
Note that we have to make sure that all "Places"-related use the same
context "KFile System Bookmarks" to make that work.
Thanks to Burkhard Lück and Albert Astals Cid for helping to fix this
New Calendar Applet
Very basic applet that shows the calendar view. It uses the
org.kde.plasma.calendar import in plasma-framework.
Huzzah for code sharing!
Implemented copy from device to local file system !
The only thing not working is setting the size of the file, but
the transfer itself works !
Big change to support synchronize resources.
Continue to implement merge contacts
continue to implement kiosk support
Added syntax highlighting for RScriptExtension
Various improvements to the crop tool
Patch by Michael Martini. Thanks!
In addition a new decoration type has been added called crosshair. In
summary two new checkboxes have been added. One that allows the user to
either limit the crop to the current image size or grow the crop selection
beyond the image boundaries. The second checkbox enables center growing /
symmetric resizing of the crop bounds.
Rewrite the device mirroring code
This patch does effectively three things:
1) Implements new mirroring algorithm, which
+ doesn't have rounding bugs of the previous one
+ works 4-5 times faster that the previous one
+ is the same for Horizontal and Vertical mirroring
2) Ports mirroring to the Strokes Framework (implements
3) Fixes exact bounds cache reset in KisPaintDevice
Added syntax highlighting for OctaveScriptExtension
Hide price fields depending on the attribute value 'HidePrices'.
This allows to create documents like notes of delivery which do
not display a price but only articles.
Allow right click to show menus on the media items
Let the chat notifications timeout instead of being persistent
Reviewed-By: David Edmundson
Implement creating of messages with basic arguments
Make getting of messages asynchronous
Make "current standings" dialogue dockable.
The dialogue "current standings" is replaced by a dockable widget. This way
the player is able to see the standings all the time without the need to
open/close the dialogue at the beginning of each turn.
The dockable widget can also be made floating, so it can be used almost the
same as the modal dialogue before.
add draw color and fill color functions
Single characters made QChar instead of QString
Making single characters as QChar when they are added to a QString.
Adding single characters to a QString is faster if the characters are
QChars and not QStrings.
Same holds for arguments to QString::startsWith(), QString::endsWith(),
QString::remove() and QString::section()
Changes made to in these function calls as well
KConfigXT performance fix: no need to reparse when nothing to save
Somehow I forgot to commit this after review 103166 was approved
(for KDE/4.7, in 2011 !!!). Not sure why it was "marked as submitted",
I couldn't find this commit in any branches.
Closing a kmail composer window takes a very long time, because it's calling
writeConfig() on 7 kconfigskeleton objects (see KMKernel::slotSyncConfig), and
each of them calls KConfig::sync() [that's ok, it doesn't do anything if there's
no change to save, i.e. no dirty entry] followed by readConfig(), which calls
KConfig::reparseConfiguration(). That's a lot of config file parsing, for a
case where *nothing has changed*.
Looking into the history of the kconfigskeleton code didn't help finding out
why writeConfig calls readConfig, this was added by Waldo in the initial
code in 2003.
A real sync() with dirty entries triggers a reparsing (to merge changes on-disk
with changes in memory), so it makes sense to propagate the changes from KConfig
to the KConfigSkeleton member variables after a sync. But not when sync does
nothing at all.
Use update-during-copy-and-just-swap-tables approach to update PartTable
We create a PartTable_new with the new layout, populate
PartTypeTable, then we copy all data from PartTable to
PartTable_new and we modify the data on flight using
'INSERT INTO ... SELECT FROM ...' and then we just
rename PartTable_new to PartTable and drop the old one
This speeds up migration on MySQL by 50% as it avoids
copying the entire table twice for ALTER TABLE and also
works on SQLite
Save memory by never holding two copies of the items.
Instead we modify the items "in place" in the result list.
OrganizeCollectionDialog: further improve usability
* Remember dialog size
* Make the preview sortable
* Factor out common track paths of both preview and original to the
header to save horizontal space
* Prevent edits to the preview
* Don't repaint the table when you only toggle overwrite mode
Small optimization for loading contact's icon
Reviewed-by: David Edmundson
Port Locale systemsettings module
This is a basic port, it builds and seems to basically function.
There's still a lot of KDE4Support stuff in there, and the
calendarsystem is disabled for now, as that part of the API changed a
bit. One issue I've seen is that the Plasma clock doesn't seem to pick
up the time format change, will need further investigation, possibly a
fix in Plasma.
Still, one more step towards a working desktop. :)
DIGEST:Port Locale Systemsettings module
Port KTimeZoned to Qt5/KF5
Originally I wanted to port KTimeZoned 1:1 to Qt5/KF5, but then I found
out that all the stuff KTZD was doing was added in QTimeZone, that
includes reading correct system files/env variables to obtain the
timezone and returning the proper system zone (KTZD did all this by
itself). It also doesn't need to parse the timezone files itself or
watch for their changes as QTimeZone objects are not stored.
So now it's just a thin module watching /etc/timezone (used by Debian-
based distros) and /etc/localtime (used by eg. Fedora or Suse, but also
by Debian in conjunction with /etc/timezone) for changes and if it
detects a change, it checks if the new timezone is really different and
if it is, it sends out a DBus signal "timeZoneChange". I changed it from
"configChanged" as I think "timeZoneChanged" makes way more sense.
Besides that it also watches the timezone database and emits signal
"timeZoneDatabaseUpdated" in case the database itself is changed.
Remove <QtDBus/QtDBus> includes.
QtDBus/QtDBus includes QtCore/QtCore, i.e. all of QtCore.
We don't want that, it slows down compilation and muddies include dependencies.
This meant adding lots of includes from QtCore and QtDBus manually.
Bring back drkonqi
Reporting is deactivated as that requires kxmlrpcclient. Also tests
are currently disabled, otherwise it works just fine and provides us
a good looking backtrace on crash.
Begin refactoring Source, major clean up
Initial cleanup round for Source
Remove ifdef blocks about abstractmediastream
Horde of build fixes including fixes for AbstractMediaStream
Put prefix for SourcePrivate members
Virtual destructor for Source
Reorder Source copy constructor, remove friends
Device name from string to byte array
Rename (rhs) parameter to (other)
Reorganize includes for Source
Replace DiscType with Source::DeviceType
Add SourceControl skeleton code
Standardize header guards for Source related headers