Issue 260
4th November 2012 by KDE Commit-Digest TeamContributors
Jürgen Appel
This Week...
Statistics
Commits | 2348 by 184 developers |
Open Bugs | 21193 |
Open Wishes | 15762 |
Bugs Opened | 354 in the last 7 days |
Bugs Closed | 385 in the last 7 days |
Commit Summary
Module | Commits |
/trunk/l10n-kde4 |
303
|
/branches/stable |
99
|
/part/view |
38
|
/trunk/l10n-support |
35
|
/krita/sketch |
28
|
/trunk/www |
17
|
/part/document |
17
|
/generic/applets |
15
|
/plugins/quickopen |
15
|
/cmake/modules |
14
|
Files | Developer | Commits |
393
|
Christoph Cullmann |
131
|
282
|
Roman Paholík |
94
|
270
|
Milian Wolff |
92
|
168
|
Laurent Montel |
68
|
162
|
Marco Martin |
56
|
165
|
Burkhard Lück |
55
|
129
|
Pino Toscano |
44
|
102
|
Sayak Banerjee |
40
|
111
|
Dominik Haumann |
37
|
102
|
Jarosław Staniek |
34
|
Internationalization (i18n) Status
Language | Percentage Complete |
Ukrainian (uk) |
100%
|
Portuguese (pt) |
100%
|
Estonian (et) |
99%
|
Swedish (sv) |
99%
|
Polish (pl) |
97%
|
Dutch (nl) |
96%
|
Spanish (es) |
96%
|
French (fr) |
95%
|
German (de) |
93%
|
Italian (it) |
91%
|
Bug Killers
Person | Bugs Closed |
Christoph Cullmann |
162
|
Jekyll Wu |
56
|
Myriam Schweingruber |
19
|
Ben Cooksley |
14
|
Christoph Feck |
13
|
Frank Reininghaus |
9
|
Martin Gräßlin |
9
|
David Solbach |
8
|
mehrdad momeny gmail com |
8
|
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 110 selections this week
Bug Fixes
Development Tools
Don't generate double template identifiers for specializations during
code completion.
TODO: It would be nice to have the cursor at the first required template
parameter in specializations.
Ensure that registerToolView returns the existing tool view if possible.
This partially reverts 9efeb310a84f48a5015599aa24d02cbe29aa16aa but the
changed hunk in registerToolView there does not look correct anyways.
New tests where added that try to assert the proper behavior.
Note: Constness of ToolViewData is now ensured for the OutputWidget.
This further shows that we should refactor out its views member and
move it to the stnadard output view.
Thanks to David Narváez for showing this broken behavior.
REVIEW: 107126
Never try to run a DVcsJob on a non-existing folder/file.
I esp. hit this in GitPlugin::isVersionController somehow
Call ::repaint explicitly on the QSplashScreen after showing it.
This ensures that we actually see the configured pixmap instead of
an ugly grey rectangle. The reason is apparently that at this stage
we do not have an event loop running. See also QSplashScreen::repaint
documentation:
> This overrides QWidget::repaint(). It differs from the standard repaint
> function in that it also calls QApplication::flush() to ensure the
> updates are displayed, even when there is no event loop present.
Skip varibles when parsing Makefile for targets.
When parsing Makefiles for targets skip assignments of form "VARIABLE := value"
REVIEW: 106951
Restore editor config on load.
Educational
fix visibility when list view is clipped
Graphics
Fix crash when searching backwards
When searching backwards end is not actually words.end but words.begin (since the loop goes backwards) hence we can't pass end to stringLengthAdaptedWithHyphen
I've now renamed end to loop_end to make it a bit more clear.
FIXED-IN: 4.9.4
KDE Base
kwin/glx: Avoid MSAA configs in initBufferConfigs()
It appears that we're accidentally choosing an MSAA config with the
Intel driver in Mesa 9.0. So change the algorithm to take the values
of GLX_SAMPLES and GLX_SAMPLE_BUFFERS into account.
Found by Kenneth Graunke.
fix magic scrolling bug, reset timer on leave event
Default to the new snippets code from part and avoid duplicated functionality.
Some functions still need porting, therefore keeping code around.
This closes the following bugs, as these dialogs and the plugin are no longer used:
oxygenlistmodel: Added "contains" method to generic model, to check index validity better.
oxygenexceptionlistwidget: better check index validity in "edit" method. Also update buttons status after removing items, since
apparently selectionChanged signal is not sent by Qt.
fix up Mode name translation
remember right mode, once set by user
stupid, somehow the bool got never set :/
Fix Bug 153984 - Clicking cancel on the authentication dialog for fish/sftp/ftp kioslave gets dolphin stuck on "Loading folder"
REVIEW: 107116
use QELapsedTimer to measure animation delay
QElapsedTimer uses a monotic clock on all relevant systems
and is thus invarant against date/time changes (while the
bug was likely caused by daybreaks)
REVIEW: 107250
FIXED-IN: 4.10
use monitc clock
This should hopefully fix #309093. I think a similar behaviour in wrapLine could also be needed.
The the cause of the crash was:
1: if (......) {
2: ......;
3: ......;
4: } else if { ....
5: .....
If the text from infront of the first if to just infront of the second if got deleted a line unwrapping action took place
The kate buffer just kept the { of line 1 and removed the information about the } { in line 4 during unwrapping, without
triggering a tree update.
1: if { ....
2: .....
When doing highlighting again it found again that the new block had a single { in the new line 1, therefore it triggered a
column only update within the folding tree. The tree on the other hand thought that it still had two region changes in the
now new line 1 and tried to update all columns as being told by the buffer, but the information it got from the highlighting
system containd only one opening region -> access to an elemnt in the vector that was out of bounds -> assert/crash
Now unwrapping just joins the region changes of the involved lines and the tree checks if the lenghtes of the vectors
matche, so it should always do a complete update of the meta information if needed
minimap: Draw line modification markers in the minimap if len(document) < 50k.
This works in an extra step, and will thus always display markers even
if there's an unfortunate lineksip.
The length of the document is limited to 50k for performance reaons,
since every line must be queried.
even better fix: no session restore for pure clients
don't leave quick tiling for FS windows
REVIEW: 107317
fix that indentation mode is forgot on save if user did set it
dont force trim on left, works like wanted, files are trimmed from the right
Keep our SIP files in our namespace.
We don't really want to own SIP files long term, so keep things we
do have local to our namespace. That way, we don't clash with the real
thing when it is present.
FileIndexingQueue: Only process the queue if there are some elements
There are some cases when an processNext() gets called even though there
are no more elements. It's better to have an extra check instead of of
crashing.
try to make the highlightingModeAt both faster and more safe
range checks + use QHash and no wrong loops where one used to compare wrong end iterator :/
Programmer's word left/right
Navigation: CTRL+META+Left/Right
Selection: SHIFT+CTRL+META+Left/Right
This features is like the normal word Navigation, except that it handles a fixed set of separators (highlighting independent)
" ' ` - _ and it also navigates within CamelCaseWords
Somehow related to bug 46503
Fix Bug 279333 - Panels can be moved even if locked
FIXED-IN: 4.9.3
REVIEW: 107135
ensure we write diff files in UTF-8, no matter what original encoding
then pass the diff output 1:1 to kompare or whatever
fix problem with massive amounts of dialogs or notifications killing plasma and co.
still not optimal, as no nice notification in kate, but that is no regression, the other dialogs didn't hint to kate either
this avoids freeze of session
Fix: addition/removing tasks (id may be wrong)
KDE-PIM
Fix "Loading.../Loading..." in caption
Escape HTML-unsafe characters in Contacts XML serializer
FIXED-IN: 0.4.4
Fix Bug 309394 - configure mail in kontact
FIXED-IN: 4.9.3
Fix change detection when using keyboard digits.
KTimeComboBox::timeChanged() is only emitted when using mouse
or when using up/down arrow.
When changing the time with other keys than up/down, like the
[0-9] keys, timeEdited() is emitted instead.
Not sure I understand the difference between the changed and edited
concepts. Might be a bug?
Prevent KOrganizer from ignoring reminders that trigger during downtime
Wait for all collections to be populated before performing checks for reminders. Avoids the situation where KOrganizer thinks it has already checked for outstanding reminders in all collections even though it only looked at an uninitialized, empty list of collections.
FIXED-IN: 4.10
REVIEW: 106824
DIGEST: Makes KOrganizer reminders work reliably again for people who do not have KDE running 24/7. This was broken since the switch to Akonadi.
Office
Fixed a bug in storing the filter configuration in filter-based layers
The storage of the filter configuration in now implemented in
KisNodeFilterInterface and is done by means of external shared pointers
(QSharedPointer). This makes the use of this configuration thread safe.
This patch also fixes various memory leaks in
KisLayerManager and KisMaskManager.
Fixed a bug in storing the filter configuration in filter-based layers
The storage of the filter configuration in now implemented in
KisNodeFilterInterface and is done by means of external shared pointers
(QSharedPointer). This makes the use of this configuration thread safe.
This patch also fixes various memory leaks in
KisLayerManager and KisMaskManager.
Fixed two memory leaks
1) In Vc implementation of KisCircleMaskGenerator
2) In KisSliderSpinBox
Fix for Text Editor stripping out rich text formatting in Kexi Forms
REVIEW:107120
FIXED-IN:2.5.4
Multimedia
Fix intro movie in dvd wizard
Networking Tools
Make sure stats get updated properly during data check
guard QWaitCondtion::wakeAll() call with mutex lock/unlock to prevent
deadlock
(cherry picked from commit 0099e4313d7545edc450de4408958869819fd5fb)
Update combo box values in rakia plugin
FIXED-IN: 0.5.2
[ #16349 ] Implement multi-tip support and move the concrete implementation to the widgets folder
Utilities
Ignore Krazy2 qclasses issues.
No Qt classes with a specific KDE subclass are really being used (except
in the tests). The objects may be stored as a pointer to a Qt class for
broader compatibility, but the objects are actually created from KDE
subclasses, or subclasses of those KDE subclasses.
The Qt classes are used in the tests, though, as they provide the
minimum API needed by the tested classes. There is no need for KDE
subclasses there.
FIXED: [ 309159 ] Crash in video files preview on F3
remove unnecessary code that possibly
- causes infinite recursion
- uses an invalid KUrl object
Fixed bug where key modifiers would not be displayed correctly.
Fixed a bug where key modifiers would not be displayed as valid shortcut
combination because KDE's global shortcut lookup method can not handle
these "invalid" shortcuts.
Don't crash if there's no fallback theme
For example, LXAppearance defines no fallback theme
Fix Krazy2 i18ncheckarg issues (ambiguous names).
The strings are not extracted from tests, and their context, besides the
role and subcue, does not affect the returned strings when using the
default translation (the one used in the tests). However, the context
was clarified anyway, as i18ncheckarg does not seem to support
"krazy:exclude" or "krazy:excludeall" markers.
Features
Development Tools
Refactor TestProjectController and TestProject to be closer to reality.
This allows us to purge DummyProject and centralize some code. Furthermore
the TestProjectController now no longer sets up a BuildSetModel since
we do not want to test that anyways.
Finally, and this was the main intention, we can now rebase the QuickOpen
unit test to operate on the actual ProjectFileItem* like it would do
in reality. This hopefully allows me to test some optimization ideas I have.
Note: I've also cleaned up some CMakeLists.txt files while at it.
Refactor for performance: QuickOpenDataProvider::data should just return a single item.
The data function was completely overdesigned, it was only ever being called
to return a single item. Thus, we can get rid of lots of code duplication
and actually safe some time since we don't need the added indirection through
the QList.
Make it possible to plug custom actions into the 'Open With' from other extensions.
This is the foundation to move the 'Open as Byte Array' action from Okteta
into that menu. Yay!
Calligra uses kactivities now
Close all windows before quitting the application in the signal handler.
This is much nicer visually, and makes CTRL + C a nice way for me to
quit KDevleop. If this is not done, the main window is potentially shown
for some time until e.g. jobs or such have finished running.
Give the patch-review a much needed workover
* Fix broken patch-review when committing/reviewing a subdirectory with git
* Don't forget the checked and unchecked files when updating the patch
* Make the order of automatically opened documents consistent with the file-list
* Make the 'next hunk' and 'previous hunk' file-local again, their changed behavior was very annoying
* Correctly jump to the first changed hunk on automatically opened documents
* Add 'next file' and 'previous file' actions, which respect the selection
* Don't change the cursor position for documents which are already open
* Make the file-list selectable again, this highlights the currently active document, it's very useful!
* Make the context-menu in the file-list work
* Add 'select all' and 'deselect all' actions to the file-list context menu
Add a plasmoid from changing the project branch from the dashboard
The interesting thing about this one is that it's implemented in QML, so
from now we know how to add elements in QML to the dashboard.
Move the BranchesListModel to a separate class
Useful in case we want to use it somewhere else, or just like to see
cleaner code.
Add icons to project files in quick open.
We do this only for the quick open items which are displayed.
And there also using the fast hash map of the central project model,
which is pretty fast. The added usability is definitely worth it.
Add a TestPluginController one can use to disable all plugins.
This should probably become an option to TestCore and the default
for all unit tests.
Educational
always create an empty bookmark document upon construction
Establishing the invariant that a document is always around avoids null pointer issues. In addition, creating an empty document upon construction should be indistinguishable from outside (compared to the previous approach where a document is created on demand).
training screen: show hint when user is stuck
When the the user has entered a wrong character or is a the end of the
line and then did three key presses not changing the situation we show
to him the key has to press directly under the current line of the
lesson text.
This is especially useful when the keyboard layout visualization is
disabled in the settings.
Adapt assign values tool to new properties framework.
Interface now allows the user to select the property that shall be changed,
as well as the type of the data elements/pointers.
Fetched previews and custom delegate
During the population of the model, add the
preview of the book as a special user role. To be changed in future
to use a cache, which is a better solution.
Custom delegate class created (for now it does nothing, just
replicates the behaviour of QStyledItemDelegate).
Signed-off-by: Riccardo Bellini
home screen: implement way to display course descriptions
Behind the course title label there is a new button to toggle the
visibility of a new box under the title line containing the course
description. By default the box is hidden because course descriptions
can be quite long.
training-screen: resizeable training widget
Previously we used fixed font-size for the lesson text and layed the
widget out accoardingly to that. Now we set width of paper sheet and
adapt the font size instead. With that the hardest part of the smart
resizing feature for the training screen is done.
Graphics
Some changes to FacebookJobs, list below
* move the url creation into baseclass
* use class variable for the url
* remove constructors without path
KDE Base
let konsole not eat half of all shortcuts
one step closer: show messages in view
todo:
- use KTextEditor::Message::setView() to set sender View
- KateView: delete Message from QHash
- KateMessageWidget: maybe remove deleteLater(), instead emit
signal and delete in KateView.
- Propagate deletion to KateDocument, somehow...
done:
- use KTextEditor::Message::setDocument() to set receiving Document
Scroll Bar Minimap: represent character blackness as opacity
This draws blocks in the minimap in a more opaque color if the character
has a higher blackness, e.g. a "-" will appear darker than an "A".
allow the user to hard set encoding via encoding menu
if the user chooses an encoding there, the triggered reload of the document will use exactly that one
if an error occurs (e.g. file not in that encoding, warning will be shown in editing area but file will be loaded as good as possible with this encoding)
ToolBox uses powermanagement engine for lock + logout
Has a few layout issues, but basically seems to work.
Extended/Completed Frank's commit 7ca682fe903d6abfc44e2f26878e19ddc48b5633.
* Implemented Rename-Inline-Option in Settings Dialog
* Re-enable renaming items with the rename dialog in Folderview-Panel
REVIEW: 107072
Add Mini-Map width map the whole document options to the dialogs
(Width works not mapping the whole document is a ToDo)
and # Please enter the commit message for your changes. Lines starting
Clock unsynced resizes
For clients w/o XSYNC support, limit resizes to 30Hz
to take pointless load from client and X11
REVIEW: 107087
docs: add missing ids (follow-up/fix)
This commit partially replay some changes introduced with commit:
9bc6f4bb90e8f663af20a31e1370e645b9beb3f4
That commit was applied to the KDE/4.9 branch which was then merged
into master, but part of the changes have been hidden during the
merge, maybe because of a cherry-picked commit in master which
reverted some change on the same files.
don't autohide if the UI is interacted with
hover counts as a temporary interaction; unhovering will autohide
clicked counts as a permanent interaction; it will prevent autohide
this is in the "only aseigo notices it" category of functionality
as i seem to have to get this fixed after every major revamp/rewrite
of this component. :/
add initial message interface
todo: document and implement in KateDocument
for KDE5: move to KTextEditor
Convert file content to local encoding before uploading text file
"share" dataengine will load file with local8bit instead of QString
default option (Latin1).
REVIEW: 107044
only remove trailing spaces after cursor
This commit is dedicated to Milian, since he seems to have a spasm
in his left hand, such that he presses CTRL+S all the time (this
disease seems to be very widespread). The story is like this:
If you remove trailing spaces on save (either of all or only of
modified lines), and the cursor position is in the trailing spaces,
then the cursor jumps to the last character. The workaround is
that only trailing spaces after the cursor position are removed.
This might leave trailing spaces in the saved document, so be
careful with your cursor navigation.
Be warned: All bug reports for this will be assigned to you.
Port all uses of AppletContainer to org.kde.plasma.containments
this class has been moved from MobileComponents to kde-runtime master.
REVIEW:107165
immediately save immutability and geometry settings when setting
this prevents them getting nuked when also writing to the config with writeConfig
which in turn triggers a config reload (without those values!) later on
Ship preconfigured Normal + Printing
Have a KDE schema to fallback to KDE color schema without any problems
Printing has NO black background ;)
File Index Scheduler: Emit indexing started/ended signals
This is required for the stupid nepomuk controller.
Make C++11 syntax really w/o Qt4
disable replace/replace all if document is read-only, like we anyway replace the replace action in the menu
Beginning of a new GDB UI.
first scripting commands contribution since LONG ;)
thanks for patch to Alan Prescott
may more contributions arrive ;)
Add an "Icon Size" submenu to the context menu of the Places Panel
FIXED-IN: 4.10.0
move systemd inhibition initialization to a slot
and call it on resume. It looks like the filedescriptor
goes away when you suspend so we need to recreate it.
inline display that a file is still loading
threshold: show it after one second, if still not done, to avoid ugly flicker
no dialogs, no focus loss ;)
KDE-PIM
Enable the "select an application" feature and this time it works.
(now fixed for real)
Now that grantlee 0.3 was released (with my patchs) we can use
it for generated improve plain text when we send html email
Apply patch from Frank Steinmetzger
- less ugly spacing in the layout (the text widgets are flush with the
Close button)
- don't used fixed font for the entire dialogue, but just for the text
widgets
- don't display the tab widgets in Release mode, because they're not
needed at all
REVIEW: 107147
Office
Add the progress proxy work to KisSketchView and the new DocumentManager
had done a bunch of work when the code was differently organised, but
with the new structure (which is much simpler to follow as well, nicely)
this is where it goes.
A couple of interaction fixes to the slider
- Slider is bigger by default
- Handle touch area now 4px bigger than handle visual on all sides
- Tap-to-set slider value directly on the tray, not the handle
Multimedia
Implement analysis load / save
Networking Tools
support vertical panels
Go passive if there is no network interface available.
FIXED-IN: 0.9.0.6
Utilities
Allow drag'n dropping more than one file from Ark to other programs
(like Dolphin).
Do not show packages that exist but that are not installed and not downloadable.
This can happen if app-install-data is not kept in sync with package removals from a Debian archive.
Optimization
Development Tools
Clean up some Global KDevelop settings pages
The Background parser and the code completion pages were slightly
reorganized towards better usability.
Coded with Sven Brauch
Speed up test initialization.
Apparently its much faster to be explicit, as usual ;-)
I.e. instead of letting the KUrl ctor guess what the string
arg is, use the explicit addPath method instead.
Could we use that somewhere in our codebase?
Optimize for repeated calls to setFilter.
We want filtering in quickopen to be as fast as possible. Thus
minimize the required conversions esp. get rid of the IndexedString
alltogether. Instead, we reuse (and implicitly share) the key value
of our sorting map now. This is now a QString which makes things
a tad bit slower at insert/remove yet pays off for non-ascii paths
and esp. during filtering as no conversions are required there anymore
then.
Benchmarks show that the add/remove test regresses about 50%, but
is still quite fast. Filtering and data() though got much faster which
is what I aimed at.
Optimize: Do lazy-loaded icon name lookup for project files.
This greatly improves the performance when loading big projects.
Where before we updated the icon as soon as the file was created,
i.e. its URL being set, we now only query for a proper icon when
we are asked for it in ProjectFileItem::iconName.
Since the icon name lookup is quite expensive (potential mimetype
lookup, mutex, ...) this saves a lot of work! Trying it out on the
project model performance test app, I am happy to report a drastic
performance increase of factor ~2.5:
Before patch:
init core 286
create model 0
init model 2179
set model 0
addBigTree 2098
addBigTree 2113
After patch:
init core 276
create model 0
init model 816
set model 0
addBigTree 705
addBigTree 735
This is also usually the case in a real KDevelop session, as you usually don't
have the full project tree expanded. We will now load the icons only for
visible files.
Set a proper minimum size for the config dialog.
The default minimum size is huge, and doesn't really make sense:
The dialog is still perfectly usable (and much prettier) if you make it
~150 pixels less wide.
TODO: Why does the KDE dialog set such a huge minimum size in the
first place?
KDE Base
minimap: Do not force highlighting updates if the document is very large
If the document is larger than 7500 lines, don't force highlighting updates
when redrawing the minimap as this is potentially very slow.
For an example, a 13k lines python file needs an additional 1.3 seconds
to open on my notebook if the whole highlighting is being updated.
another roundup of speedups in the device enumeration
using introspection instead of the specialized GetManagedObjects
DBUS method (aka dump everything) which is ~30% slower
Reduce default numer of running background processes to 1
There is still a problem with several running processes when they downlaod the same poster/banner/cover file.
KIO::copy complains after downloading, that a file already existed.
This must either also chack if a temporary file from a different running download already exist before the start
or fail silently when the temp file is copied in order to avoid the unecessary popup dialog.
KDE-PIM
Optimize Contact Search Job Queries
Some of the contact search job queries are pathological, and would
result in virtuoso consuming a lot of cpu for large amounts of time.
I've optimized the queries by doing the following -
* Not adding a "?r a nco:Contact" term. This is unnecessary as it
results in an extra property being matched. Considering that Nepomuk
data almost always follows the ontologies (the exception is legacy
data), just using properties which have a domain of nco:Contact should
guarantee the correct results.
* Avoid unions - Virtuoso cannot optimize the unions that well. Instead
we use a FILTER(?p in (..)) instead.
* Avoding regex based search - Regex based search will always be
terribly slow. It literally applies the regular expression on each
candidate in order to filter them out. It's a lot better to use the
full text index. This is done using 'bif:contains'. We do loose a
little bit of accuracy, and we cannot match word boundaries. But I
think have a good user experience trumps a little bit of accuracy.
REVIEW: 107065
Other
Development Tools
Make it possible to define the TestProject url and use that in the quickopen test.
The test is also further extended.