Issue 261
11th November 2012 by KDE Commit-Digest TeamContributors
Jürgen Appel
Marta Rybczynska
This Week...
Statistics
Commits | 2085 by 167 developers |
Open Bugs | 21056 |
Open Wishes | 15761 |
Bugs Opened | 326 in the last 7 days |
Bugs Closed | 466 in the last 7 days |
Commit Summary
Module | Commits |
/trunk/l10n-kde4 |
218
|
/branches/stable |
79
|
/trunk/l10n-support |
44
|
/trunk/www |
30
|
/krita/sketch |
24
|
/trunk/KDE |
23
|
/trunk/extragear |
16
|
/components/mediawelcome |
16
|
/generic/applets |
13
|
/src/package.cpp |
13
|
Files | Developer | Commits |
276
|
Laurent Montel |
97
|
201
|
Aaron J. Seigo |
67
|
174
|
Roman Paholík |
58
|
150
|
Aurélien Gâteau |
52
|
126
|
Marco Martin |
44
|
114
|
Pino Toscano |
39
|
108
|
Burkhard Lück |
36
|
96
|
Christoph Cullmann |
32
|
84
|
Boudewijn Rempt |
30
|
90
|
Sven Brauch |
30
|
Internationalization (i18n) Status
Language | Percentage Complete |
Portuguese (pt) |
100%
|
Estonian (et) |
99%
|
Ukrainian (uk) |
99%
|
Swedish (sv) |
99%
|
Polish (pl) |
97%
|
Dutch (nl) |
96%
|
Spanish (es) |
96%
|
French (fr) |
94%
|
German (de) |
93%
|
Italian (it) |
91%
|
Bug Killers
Person | Bugs Closed |
Jekyll Wu |
160
|
Christoph Feck |
46
|
Christoph Cullmann |
32
|
Milian Wolff |
28
|
Ben Cooksley |
15
|
Laurent Montel |
13
|
Christian Esken |
8
|
Dawit Alemayehu |
7
|
David Edmundson |
7
|
Michael Zanetti |
7
|
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 117 selections this week
Bug Fixes
Accessibility
General bugfixing in the scenario management dialog
Schedule deletion of files instead of deleting them right away. This
cures the problem where the user would delete an active scenario, cancel
the dialog (not saving changes to the list of selected scenarios) which
left Simon in an undefined state.
Correctly track explosion of packed scenarios (compressed hierarchies
when importing Scenarios through ghns): Scenarios can now again be
deleted from within the GHNS dialog.
Scenario files are now also correctly named when importing through GHNS
Development Tools
Do not crash when pasting content to projects view
KDevelop crashed when pasting content in case a file in the project tree
view was selected. This commit fixes this.
BT:
10 0x00007fb588c9dab4 in qt_assert (assertion=0x7fb562700528
"destItem->folder()", file=0x7fb5627005b0
"/home/krf/devel/src/kdevplatform/plugins/projectmanagerview/projectmanagerviewplugin.cpp",
line=679) at /home/krf/devel/src/qt/src/corelib/global/qglobal.cpp:2013
11 0x00007fb5626f1a7f in ProjectManagerViewPlugin::pasteFromContextMenu
(this=<optimized out>) at
/home/krf/devel/src/kdevplatform/plugins/projectmanagerview/projectmanagerviewplugin.cpp:679
12 0x00007fb5626f68d6 in ProjectManagerView::eventFilter
(this=0x7ee6620, obj=0x7ee3a90, event=<optimized out>) at
/home/krf/devel/src/kdevplatform/plugins/projectmanagerview/projectmanagerview.cpp:204
13 0x00007fb588de52d1 in
QCoreApplicationPrivate::sendThroughObjectEventFilters (this=0x916c10,
receiver=0x7ee3a90, event=0x7fff22889d00) at
/home/krf/devel/src/qt/src/corelib/kernel/qcoreapplication.cpp:1056
(...)
REVIEW: 107233
Add VcsJob::JobTy::Unknown and use it by default.
This is OK for e.g. the "git --version" job, as shown in
the valgrind report of the following bug:
Don't cancel the download if the users touces outside the dialog bounds
Fix git fetching so that it actually downloads.
My reading of the git-fetch manpage left me with the idea that adding
the '-t' (for --tag) option would additionally cause all tags to be
fetched from the given repository. The manpage doesn't actually say this
though, and git apparently instead downloads just the tags (and needed
objects), so this change has caused master branches around the
kdesrc-build world to stop updating. :(
The idea behind this had been to ensure that if the 'tag' option were
used in kdesrc-build that git would have the most up-to-date list of
tags available, but I guess we'll just have to go back to
crossing-our-fingers and hoping git already knows about the tag for now.
Don't use nested eventloop to prevent random crashes.
We now use the much more verbose KMessageBox::createKMessageBox
API with the NoExec option to show the job error. This won't use a
nested event loop and thus prevents random crashes.
Added widget resize context menu feature.
Educational
trainer: fix evaluation of accuracy value
Use rounded accuracy values to test whether the user has passed the
lesson. Otherwise he may be told he hasn't passed while seeing his
(rounded) achieved accuracy just met the required value.
Graphics
This patch tries to fix two similar issues:
1. Make sure ThumbnailBarView is scrolled to the right item when
gwenview is started with an image as argument (Bugs 223852 and
309130)
2. Make sure ThumbnailView is scrolled to the right item when
switching from a folder to its parent. (Up till now this only
worked when the folder that you were leaving had a scrollbar.)
REVIEW: 107201
Fix issue where the tiles seemed to be deformed while rotating the page
Also, don't mark rotated pixmaps as dirty since we are already updating
them
KDE Base
fix problem with artificial konsole resizing that kills the content of konsole window
Do not crash when global policy is changed and the Apply button is pressed.
FIXED-IN: 4.9.4
Prevent crashes caused by nested event loops run when renaming inline
When renaming inline and starting a drag or invoking the context menu,
a nested event loop will be run. If the role editor loses focus and
emits roleEditingFinished(), we must prevent that deleteLater() is
called because this would delete the role editor inside a nested event
loop which is run from one of its own functions. We would get a crash
when returning from that event loop otherwise.
FIXED-IN: 4.9.4
Use the standard sizes from KIconLoader, rather than hardcoded sizes.
Fix Bug 217575 - Auto select pasted files doesn't select all files if some have been skipped
REVIEW: 107237
FIXED-IN: 4.9.4
fix regression: read only on save, cleanup the state machine in KateDocument
use now one enum, and not xxx stupid unrelated bools
let console eat shortcuts again
we can't senseful match against QKeySequences of the terminal plugin actions
Do not use a hardcoded size for the buttons in the Information panel
Thanks to Kai Uwe Broulok and Jekyll Wu for the investigation!
FIXED-IN: 4.9.4
Nepomuk KCM: Remove Desktop Query Option
The DesktopQuery option was something that people never really
understood. Very few people can actually write this own queries. Plus,
configuring the default query seems like a super advanced configuration.
MiniMap: Fix drawing for huge documents + nicer slider
Fix top and bottom alignment issues when line add/sub widgets are hidden
fix issue with duplicate line of first line in document
Fix Bug 309760 - Crash while inline-renaming a file and apply change with return-key
FIXED-IN: 4.9.4
Fix typos, remove mention of "signal emission pitfall".
Qt checks the emitter thread since Qt-4.2 (iirc), so this pitfall doesn't
exist anymore. If an object created in the main thread, emits a signal
in a secondary thread, with a slot in the main thread,
the signal emission will be queued.
Make sure the right item is operated on when changing startup type
The problem was the "current" item was sometime not the one you would
have expected when changing the startup type of item A:
* it could be "none"
* it could be the previous "current" item
The fix is a little hacky, but better than none.
FIXED-IN: 4.9.4
fix encrypted media handling
storing clear text path in a member variable is not possible (doesn't
exist in udisks2), instead we have to query for it when needed as it
might change from outside
also fix the icon and description
new toolbox dismissing logic, toolbox follows button
Using a MouseEventListener causes problems passing the pressed event to
the underlying QML views, as our mouseventlistener accepts events but
passed them on to its children, so they still don't arrive at siblings.
So we use a MouseArea, blocking clicks from the Containment while the
toolbox is open, and making the mousearea invisible when the toolbox is
closed.
This commit also contains the logic for placing the toolbox close to the
button. A nice example why I love QML, it can be done cleanly in one
place, with a little bit of very easy javascript. Yay. :)
Make sure m_packageName is always in sync with what we're showing
Otherwise the settings were not stored correctly and it worked with the
wallpaperviewere but if failed when using the actual plasma implementation
fix that disable swap file syncing caused no swap files at all
thanks for reporting this, stupid mistake
some fixes for template interface usage in snippets
still %{selection} inserts one space too much, but at least doesn't eat text :/
remove geometry functions from Applet
size, size hints, transform and zValue
KDE-PIM
Fix a very old bug (Don't remember bug number): When we change
appearence, messagelist menu is empty.
Now regenerate it
Do not send out ITip Cancel message on delete
When an Incidence gets deleted the incidencechanger checks
if a reply should be sent to the organizer and sends it.
The Cancel message that was sent by sendGroupwareMessage
was a false information before in the case that one had
accepted an invitation and later deleted that event.
MERGE: Master ?
Fixes:
kolab/issue4858
Fix Bug 309871 - Kmail shows html formatted from plain text in preview
tooltip
FIXED-IN: 4.9.4
Fix Bug 199764 - Kjots : undo, redo missing under edit menubar
Add more standard action
FIXED-IN: 4.10
Fix reply to html + image (when image has specific size)
Office
Fix: Autosave only triggered on first change.
REVIEW: 107206
Fix crash on inserting what amounts to a new page (either enough text or page break)
Fix filter selection dialog
Of course, when this dialog pops up, it's too late anyway, but that's
no reason to let it be buggy: it used a stringlist and a listwidget.
The list widget's contents got sorted, changing the order. Then the current
item's index was used to index the stringlist, which meant we would return
the wrong mimetype. Store the mimetype as user data in the listwidgetitem
instead.
Distinguish between different filter errors
CreationError was used in four cases:
* couldn't create the filter plugin
* couldn't create the output document
* couldn't cast KoDocument to KisDoc2
* couldn't download the remote file
So to avoid confusion, distinguish between these cases, and even more,
distinguish between the case when the filter entry is inexplicably null
and the case the filter plugin couldn't be instantiated.
Do not write a manifest entry for the "Thumbnails" directory
By § 4.3 of ODF 1.2 Part 3:
"For directories, the manifest file should contain a <manifest:file-entry> element only if a
directory contains a document or a sub document. See 3.1. A directory for administrative or
convenience purposes, such as a directory that contains various unrelated image files, should not
have an entry in the manifest file."
Roundtrip tested with LO 3,5 and Calligra Words
Fix loading a pdf as new layer
Should also fix other import plugins that actually give back progress
info. The problem is that the import catcher didn't set the progress
proxy, and did use the wrong call to load the file into the document.
Make sure we always get a valid pointer to the auxillary frame.
Fixes crashes
Fixed deactivation of the tools when input device is switched
There are lots of things that have to be done when we switch
current canvasData object. That is why I moved all these actions into
switchCanvasData object. The old tool first becomes disconnected from
the tool manager, then the canvasData is switched and a new tool is
connected.
This patch fixes several bugs when the tools was not deactivated
properly when the input device was switched, so their hotkeys were
kept activated. More than that, this fix is needed to be able to
fix bug 298584 properly.
Multimedia
Whole bunch of APG improvements and bugfixes
See ChangeLog for details
Networking Tools
Fix the logviewer showing twice "Previous conversation" and "Next conversation"
Reviewed-by: David Edmundson
Reviewed-by: Dan Vrátil
REVIEW: 107269
FIXED-IN: 0.5.2
Fix handling of links to URLs containing non-embeddable-in-konqueror content.
Example: http link to a .ods file, should launch libreoffice/calligra directly,
rather than launch konqueror which will then use arkpart to show it embedded.
See documentation of invokeBrowser: it's only for known-to-be-HTML links.
Kopete logs importer implementation
KTp::LogsImporter can import AIM, MSN, ICQ, Yahoo, Jabber and
GaduGadu logs from Kopete
REVIEW: 107243
Navigation through history of sent messages in message editor
This implements navigation through history of sent messages
by pressing Up and Down arrow keys like in Konversation.
REVIEW: 106245
FIXED-IN: 0.6.0
fixed, retweets should show original time
Work around KTextEdit bug.
KTextEdit creates a new Sonnet::Highlighter on every FocusInEvent
and then forgets to re-apply the previous set spell checking lan-
guage, so let's "take over" highlighter creation by implementing
the virtual and follow it up by reapplying the language setting
ourselves.
Utilities
Correctly disable buttons in case a remote control is not available.
Make it more obvious when a remote is not available.
Fixes some crash reports when people tried to edit a non existent remote:
Fix crashes because of indexes from wrong model
- GUI events send QModelIndex's from the model of the widget,
which is now a proxy model for filtering
- Map that index to the ProjectModel
- Add a Q_ASSERT to check that the model of indexes is the
ProjectModel in projectItemFromIndex()
Fix ProjectModel child item insert count
- The script item only gets inserted for ScriptedProviders,
but was always included in the number of children to insert
- The number of function nodes inserted into the main script
was wrongly calculated, including all code nodes,
not only functions
Fix reporting of "Used" space in Btrfs partitions.
There are two numbers found by grepping for "bytes used".
It seems that the first one is more important, e.g. we cannot
resize partitions to a smaller size than this number.
Games
Fix bug incorrectly allowing cards to be added to the foundation.
A while back I simplified the add/remove checks in Aces Up, but in
this particular case I did an over-simplification. Before allowing
cards to be dropped on the foundation, we need to first be sure that
they can legally be removed from the tableau.
FIXED-IN:4.9.4
Features
Development Tools
Documentation files for PyKDE and the missing PyQt modules.
This probably needs a bit more work, especially support for
class c(): class d(): pass
a = c.d()
Add a document list context menu button right to main tab bar.
Thanks to André Stein for the initial patch!
Original message:
This request adds a little button to the right of the tab bar.
It activates a context menu which shows (in sorted order) all
currently open documents and opens the selected document upon click.
This is a feature I miss from Visual Studio. I do know that it's
redundant to the Documents view panel but I think it allows a quicker
access to files - especially when a lot files are open in the
IDE. As it is very small button I think it does no harm to users
who don't want to use it.
Adaptions:
- added an icon to the tool button, otherwise it just looked odd
- simplified the code (no STL e.g.)
Open issues:
- push this code somehow into shell or similar, to be able to share
code with the document switcher plugin. Esp. we want to access the
project model to get nice, short paths and icons.
- add the document status icon, but that needs to be updated when the
document is changed
REVIEW: 107170
Correctly build uses for declarations in some corner cases
If the context opened by a node begins after that node does, which is
for example the case for class declarations, then stuff that was being
parsed between the node start and the start of the context was
considered to be in the wrong context. Fixes 309817.
Educational
Make xmlgui usage bette
Acked by Aleix and Marco
REVIEW: 107134
allow to set required accuracy with one more digit precision
Now one can set fractional percent values for the required accuracy
to unlock the next lesson. Sine the difference between 97% and 98%
accuracy actually means one may make only two thirds of the errors
to pass a more fine granual setting is really helpful.
FIXED-IN: 2.0
Modified buildIcons structure
Now the IconBuilder worker thread takes in input a list of books
and emits a signal for each fetched and cached preview.
PreviewRole of the item is updated to store the key of the image
in the cache.
TODO: logic still incomplete, need of a rework in tree model's data
structure.
Improved GPX handling - read/display only
* Add support for cmt, desc and link/url+urlname GPX tags, displayed in the placemark
description
* Add support for type GPX tag, put in placemark role property
* Simplified route display
REVIEW: 103672
training screen: align keyboard with training widget
But only when the keyboard occupies less then 50% of the available area
that way. The aspect ration of the keyboard is fixed so for some window
sizes a properly aligned keyboard would result in an almost completely
obscured training widget.
New dgml tag <vectortile>, with its parser and new GeoScenes
For GSoC 2012 vector tile rendering, a new tag <vectortile> has been
created for the dgml format and the handler for it in the dgml parser.
In te begining it was thought to call it <vectorTile> as some composed
words tags have also camel casing. But through the code this tile is
compared with the backend=vectortile .tolower() tag and it didn't match
vectortile != vectorTile. So for consistency the tag will be
<vectortile>.
Now that there are two possible tiled layers (Image tile layers with
<texture> tag and Vector tile layers with <vectortile> tag)
GeoSceneTexture has been turned to GeoSceneTextureTile which extends a
GeoSceneTiled abstract class. Also a GeoSceneVectorTile class has been
created.
GeoSceneTiled stores all the common data for layers containing tiles
and then GeoSceneTextureTile and GeoSceneVectorTile can manage specific
data related to them. Currently booth have the same dgml structure so
this two classes have no specific attribute but they are needed
afterwards for MarbleMap to know if its a VectorTile or a ImageTile
layer.
REVIEW: 106009
Graphics
New wavelets noise reduction estimation algorithm from Sayantan Datta using OpenCV library, to compute automatically NR settings.
For more details, see this wiki page : http://community.kde.org/Digikam/GSoC2012#Auto_Noise_Reduction
Implement estimate noise GUI handling in editor and BQM Noise Reduction tools
TODO : In Image editor, run Estimate Noise algorithm through DynamicThread class and report progress to status-bar
first version of NREstimate multithreaded using DynamicThread.
TODO : progress management in editor and cancelization
KDE Base
allow fall-through for initial context if user really wants it ;)
enable the timeline provider in the plugin
Allow to disable certain resource types in the background service fetcher
Now one can decide to disable document or music or video fetching in the
automatic service.
This allows to have the fetcher only enabled for videos while no private
data in any docuemnt might be exposed to the internet.
KSystemTrayIcon joins the world of deprecated classes
setMovie is added ot KStatusNotifierLegacyIcon as that was the only
API from KSystemTrayIcon being used.
so from now on, applications should use KStatusNotifierItem or if that
is just too modern and fancy for their old skool ass, then use
QSystemTrayIcon directly
use cstyle indenter for C++11 and C++11/Qt4
Show failed-to-load plugins in plugins kcm config page and make their error messages accessible
Display available Kross interpreter in KCM plugins page
REVIEW: 107280
port swap file notification to message interface
this is awesome ;)
GUI: Kwin appmenu support:
- Add support for application menu button in Kwin
- Add kded appmenu configuration in kcm_style
Remove m_recentlyFinishedRequests from the metadatamover.
The filewatch service calls moveFileMetadata ( oldPath, newPath).
This sticks the metadata move into a queue, like so:
if ( !m_updateQueue.contains( req ) &&
!m_recentlyFinishedRequests.contains( req ) )
m_updateQueue.enqueue( req );
If you move oldPath to newPath twice in fairly quick succession, the
first move will still be in the m_recentlyFinishedRequests, and the metadata move will
not be queued.
git blame tells me that trueg added this check with commit 840dbb6005ead
in 2009, to prevent events received twice from being acted on twice.
However, it means that if an event is repeated quickly, the repeat
will not be acted on, even if it should.
(eg, move A -> B -> A -> B in quick succession)
Nowadays we just use inotifty, which, so far as I know,
cannot deliver the same event twice. and so
we can just remove the list entirely.
In other words: bug 286854 is due to a rogue, no longer needed, workaround.
FIXED-IN: 4.10
REVIEW: 107260
Tags kioslave: Disable copy from file
Disabling copies for now since allowing copies means allowing move
operations. Moving is implemented in kio as copy + delete. When moving
files from file:/ to tags:/ the tags copy operation (this function) is
called, and then the file:/ delete opteration is called, therby deleting
the file.
This needs to be fixed in kio, to not allow moving or automatically
convert a move to a copy operation.
Since we do not want the user to ever loose their files, we're disabling
copy operations
ToolBox bindings for declarative containments
This adds the necessary bits, actions handling, showing / hiding of
toolbox and a hooks for config interface and add widgets.
The interesting bits:
Toolbox separate on the scene
For declarative containments, we add a declarativewidget on top of the
view which loads the "org.kde.toolbox" package. The toolbox can differ
per platform, layout of toolbox and containment can not "leak" into each
other.
ToolBox import
The most important and interesting bit is the list of actions the
ToolBox exposes, it's collected from corona, containment. The latter is
actually problematic, since we don't get access to the actions
internally provided by Containment
(ContainmentPrivate::addDefaultActions).
Containment::setToolBox(AbstractToolBox) being protected, we cannot
register our declarative ToolBoxProxy implementation to the containment,
so we have to wire up settings and addwidgets separately. Sorting of the
actions is "random", and expected to be done by the QML toolbox
implementation, based on objectName strings.
REVIEW:107232
Nepomuk KCM: Allow filtering of files based on mimetype
Added 5 simple options for filtering based on mimetype - Audio, Video,
Images, Documents and Source Code. By default source code is not
indexed.
There is also an advanced option which allows the user to enter their
own custom mimetypes which they want excluded.
Merge branch 'kconfig-for-sources2'
This merge breaks libhomerun ABI!
It makes it simpler to handle configuration for sources, by exposing a
KConfigGroup for them. It also much better handle runners which are not enabled
by default, which is actually the original reason this branch was created.
remove load-save-filters
they are not document and they really have never taken off, we have on plugin for python encoding that nobody knows
interface: remove for KDE5
dh + cullmann acked
ensure margins update in all cases
setElementPrefix does not trigger repaintNeeded() from the svg object;
repaintNeeded() is for internal changes. if you change the svg from your
own application code, the app code needs to react to those changes in its
own time and way.
so margins was never seeing that it was getting changed when setElementPrefix
was called -> pixel imperfections in layouts.
Ship a copy of ScrollArea
ScrollArea does not exist in kde-runtime 4.8, so we have to ship our own
copy of it.
Second part of declarative toolbox bindings
This one adds the ToolBoxProxy class, belongs to
3f5d7444f8a3373befdceffca79744c82899d4e1
REVIEW:107232
KDE-PIM
Provide a visual feedback when removing duplicate emails
REVIEW: 107220
beginnings of a new printkalendar command line tool.
Allow to send message when we try to sign an attachment and we can't do
it. Before it failed directly.
(Time to start to fix encrypt/sign feature in kmail)
Cache KDateTime in SocialFeedItem
SocialFeedItem::postTime() is accessed directly from the model
and it's called a lot, putting the plasmoid through callgrind
shows that creating the KDateTime everyone it's called is quite
expensive, so now it's created just once and the existing
KDateTime is returned.
I also removed the setters for postTimeString and postTimeFormat
and left only one setter for setting them both at once, creating
the KDateTime in that method as it needs both the format and string.
Reviewed-by: Kevin Krammer
REVIEW: 107113
Office
feature: 2 new templates for monthly report are delivered by default
Made the move tool iterational
Now the tool does not create new layers and does not create
numerous undo commands. It works in an iterational way: you move
the node (or selection) as many times as you wish. After the moving
done and you switch the tool (or apply any other action) the move
stroke will be finished and added to your undo history.
Please test it in 'krita-new-move-tool-kazakov' branch.
move all buttons in the paragraph widget to the same row
Use KoBorder to load the borders.
This gains us support of loading double borders. And since ms type borders
was ported to KoBorder in previous commit we retain loading and gain saving for that as well.
Drawback is that we now loose loading parentstyle borders. In the long run this is
correct as tablecellstyle should have inheritance like para and char styles, but for
now we have lost it. Good news is that I've never seen any odf file that uses this in
practice.
- Add capability to copy an investment activity type or detail/description to memo field.
Made the move tool iterational
Now the tool does not create new layers and does not create
numerous undo commands. It works in an iterational way: you move
the node (or selection) as many times as you wish. After the moving
done and you switch the tool (or apply any other action) the move
stroke will be finished and added to your undo history.
Please test it in 'krita-new-move-tool-kazakov' branch.
use flat buttons in the textshape docker
REVIEW:107190
keep aspect ration when inserting artistic text with the text tool
Multimedia
Improve update of effect stack when resizing clip, start implementing merge of analysis data
Hide the imageviewer when the user explicitly shows the video
add Settings category; default index is a property (encapsulation!); better icons
even did some user testing wth them. *gasp*
Busy indicator for backends
don't load all plugins on startup and sort the entries aphabetically.
the startup time difference is significant
Networking Tools
Allow setting the spell checking language per-tab.
Above the input bar context menu item to enable automatic
spell checking is now a submenu to select among the avail-
able dictionaries. The chosen language is remembered for
server, channel and query tabs across application restarts.
Along the way this commit also fixes numerous bugs in
remembering the encoding settings for these tabs across
restarts, as some of the underlying code is shared and
the bugs were discovered during testing.
Utilities
Add support for earlier/later journeys to the applet
- Show "Get Earlier/Later Journeys" actions in the context menu
and as TimetableListItem in the journey list
- New graphics widget TimetableListItem, used to place actions
into a PublicTransportGraphicsWidget, ie. the earlier/later
journeys actions
- Add Flags to JourneyTimetableWidget to enable/disable
the ealier/later journey actions, when the provider does not
support the ProvidesMoreJourneys feature, these actions should
be disabled because they won't work
- Use the new service operations "requestEarlierItems" and
"requestLaterItems" to do the work
Implement service operations to get earlier/later timetable items
- Add service operations "requestEarlierItems"
and "requestLaterItems"
- Add MoreItemsJob, used by the service
- Add MoreItemsDirection enumeration (earlier or later items)
- Add MoreItemsRequest, contains a shared pointer to the request
object used to get the timetable data for which more items
should be requested
- Add AbstractTimetableItemRequest, used for timetable data
requests (eg. DepartureRequest), saves some unused variables
for other requests, eg. the new MoreItemsRequest
- Use getters/setters in AbstractRequest and derivates
instead of using public member variables
- Add TimetableInformation field RequestData, can be used to
store data about the request that is needed eg. to request
earlier/later items
- TODO: Implement earlier/later requests in HAFAS scripts,
use in the applet for journeys
Add filter widget to the projects dock
- Useful when many projects are open
Add an option for keeping the window open after the last session closes.
Add resize support for btrfs.
Improve internationalization.
Before, the English name of the programming language was just appended
to the localized name of the tutorial. Besides not being
internationalized, appending the programming language name prevents a
proper localization in right-to-left languages. Now, the programming
language name and the "Tutorial name (Programming language name)" string
are both internationalized.
Improve themes extraction
Finish the port from QProcess("tar") to KTar
Add feature enumerable ProvidesMoreJourneys
- To be used when earlier/later journeys can be requested
for existing journey data sources
Refactor the un/installing classes
Use KIO for removing directories
Use KTar in some places for uncompressing themes (not everything has been
ported)
Fixed some includes (don't include QtCore and QtGui globally)
Optimization
Development Tools
Optimize: Use QSet for document parse plans instead of QList.
This greatly improves the performance when repeatedly adding
the same document to the background parser, which happens
e.g. due to excessive signals upon pasting multiple lines of code.
REVIEW: 107140
KDE Base
Optimize away XMoveWindow() calls in the common click-and-drag case
This implements an optimization similar to one in compiz which defers updating
the backing X window during a window move until the move is terminated. This
helps alleviate some choppiness when using composite + vsync.
REVIEW: 107256
close filejob when we are done reading
filejobs are opened via KIO::open and apparently need to be closed as well,
otherwise they'll remain scheduled and fill up the scheduler.
filled up scheduler means that the engine will get stuck at some point
because new jobs are not being executed anymore.
Utilities
Load documentation HTML page only when needed
- Load when the documentation dock widget gets shown
for the first time
Other
Development Tools
Don't abort when the internal functions file is not available yet.
This led to confusions in the dependency chain,
as the document was counted as having been parsed once already,
altough the list of missing imports had not been reported yet.
Conflicts:
duchain/contextbuilder.cpp
KDE Base
config page "Cursor & Selection" -> "Text Navigation"
- move option "Allow scrolling past end of document" to navigation tab
- "Auto center cursor (lines):" -> "Auto center cursor:", lines is now suffix in spin box
- selection mode is now combo box: Normal or Persistent