Issue 180
24th April 2011 by Vladislav BlantonContributors
Jaka Kranjc
Shafqat Bhuiyan
Marta Rybczynska
Beat Wolf
Vladislav Blanton
Paulo Dias
Frederik Schwarzer
This Week...
Statistics
Commits | 1885 by 194 developers |
Open Bugs | 24007 |
Open Wishes | 17473 |
Bugs Opened | 422 in the last 7 days |
Bugs Closed | 353 in the last 7 days |
Commit Summary
Module | Commits |
/trunk/l10n-kde4 |
127
|
/branches/stable |
72
|
/trunk/www |
46
|
/trunk/KDE |
43
|
/trunk/l10n-support |
29
|
/branches/trinity |
26
|
/kstyles/oxygen |
25
|
/trunk/kdesupport |
24
|
/kio/kio |
19
|
/extragear/kphotoalbum-rules |
16
|
Files | Developer | Commits |
994
|
Hugo Pereira Da Costa |
99
|
207
|
Lamarque Souza |
62
|
201
|
Gilles Caulier |
61
|
323
|
Robin Appelman |
58
|
230
|
Laszlo Papp |
49
|
81
|
Nicolás Alvarez |
48
|
70
|
Aaron J. Seigo |
47
|
144
|
Marco Martin |
43
|
277
|
C. Boemann |
40
|
80
|
Sebastian Kügler |
33
|
Internationalization (i18n) Status
Language | Percentage Complete |
Ukrainian (uk) |
99%
|
Brazilian Portuguese (pt_BR) |
99%
|
Swedish (sv) |
98%
|
Spanish (es) |
95%
|
Estonian (et) |
94%
|
French (fr) |
94%
|
British English (en_GB) |
93%
|
Dutch (nl) |
93%
|
German (de) |
92%
|
Low Saxon (nds) |
90%
|
Bug Killers
Person | Bugs Closed |
Christophe Giboudeaux |
44
|
Myriam Schweingruber |
38
|
Christoph Feck |
36
|
lamarque gmail com |
16
|
Thomas Lübking |
12
|
dpalacio orbitalibre org |
9
|
Kurt Hindenburg |
8
|
Inge Wallin |
8
|
Frank Reininghaus |
8
|
Dawit Alemayehu |
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 118 selections this week
Bug Fixes
Development Tools
Fixed lexer-crash, some minor changes
fixed: turn oktetacore to ${oktetacore_LIB} also in linked-lib list for kbytesedit
Thanks for reporting with a proper patch to Alexandr Akulich
Educational
add unit and spectrum type settings.
spectrum wavelength units can now be nanometers or angstroms.
fix AbsorptionSpectrum colors.
Graphics
Add blacklist for nonsense values in Exif.Image.ImageDescription (Sony cameras)
Fix a regression introduced by the ability-to-exclude-tags patch, and make some stuff work (again):
- use a special "add exclude" mode only enabled in models that need it. Fixes regression 267421
(partial check state treated as fully checked)
- albumDecorationRole is overridden by derived classes, so there is no sense in doing the overlay
painting in this method in the parent class. Provide a tool method which is called from the children,
now the + or - is visible.
Use improved scroll position hint to preserve scroll position across resize operations.
As we use topmost left, try to position that one on the top again.
KDE Base
Fix month names appearing multiple times
Patch by Sergey Ivanov, thanks!
FIXED-IN: 4.6.3
Read extra rules
Fix filtering layouts/variants by language
Add colour settings for active/inactive title bar blend colours
These are still used by KDE2 and some other window decorations.
Use "Secondary" instead of "Blend" as suggested in review.
Also reorder the items so that the 3 "Active" settings come
together, followed by the 3 "Inactive" settings.
REVIEW:100821
FIXED_IN:4.7.0
GUI:
I18N:
popup in the correct place when viewFor is hidden
when item is in an hidden Dialog, try to find the parent applet and position the popup there.
this fixes the devicenotifier popup placement
Really wait until the slave filesystem is really mounted
When you first attempt to mount an encrypted container and provide
the passphrase, udisks doesn't correctly wait for mount completion.
Fix this so that dolphin points the mounted slave filesystem instead
of the Home directory.
REVIEW:101160
FIXED-IN:4.6.3
don't do anything if there is nothing to do
this prevents re-loading the wallpaper, particularly bad for slideshows
REVIEW:101159
Delay the call to matchSessionEnded on hiding
The default interface hides the dialog before running
the match; some runners (most notably the activities runner)
need to be prepped in order to successfully run the match.
Therefore we delay the matchSessionEnded call until next event cycle
so that the runner gets down only after running the match.
To ensure the ftp ioslave can be put on hold and reused, always emit mime-type
before starting to read data from the socket.
REVIEW:101149
Implement pasting of data with storedPut rather than moving a tempfile.
This fixes the wrong permissions on the created file, and will make it
possible to fix undo too (not done yet).
Had to deprecate methods that return a CopyJob pointer, but the main
method pasteClipboard is unchanged.
Old QT_NO_MIMECLIPBOARD code removed, unmaintainable and wrong.
FIXED-IN: 4.7
Fix crash
Fixed most of the issue related to login.
FIXED-IN: 4.7
REVIEW: 101173
Fixed decompression of HTTP documents that were compressed using "deflate-http".
(cherry picked from commit 3b563e079e37612c527806ef60f5e0f687fd6238)
Validate/check logarry in lanczos filter
this will *probably* fix the mysterious __cxa_rethrow bug
we still need validation from someone encountering the bug
Fix Date Parser to use correct year for month name
Fixes bug that doesn't get triggered currently, but new changes coming
does. Was calculating year to use if year not yet parsed, just wasn't
actually using it. Up to now that was fine as the monthName() function
didn't care, but next change does a validity check and it was failing.
Add some checks to Solid's Wicd backend to prevent crash.
FIXED-IN: 4.6.3
Fix adding a task to smart list
Fix adding a task to smart list if it is currently selected (add to default list in this case).
Call setupOverlay also from GLES backend
This fixes my issue that mouse events are eaten on R600G.
I am a little bit surprised that it worked at all with nouveau.
Now my issues are fixed and finally, finally my primary system uses
the free driver stack (though only GLES).
KDE-PIM
Recover from unknown UID after APPEND or COPY.
Currently, if unable to determine the UID of a message after an APPEND or
COPY command, we abort the task and leave the Akonadi item with an empty
RID. During the next sync, the message we added to the server is discovered
and downloaded, duplicating it locally. Items with empty RIDs are protected
against deletion during a sync, since they are assumed to not be on the
server yet. This is a safety feature, but gets in to the way of automatic
recovery here.
So, this patch fixes this by assigning an arbitrary random RID in this
case. Note that this only happens if all UID detection attempts fail, not
if e.g. the actual APPEND or COPY failed. Assuming that those commands
report errors correctly, this should be safe.
REVIEW: 101147
Obey user defined quote colors
Try to recover from UIDNEXT mismatch.
In case the IMAP resource ends up with an mismatch in current and last seen
UIDNEXT values, it tries to recover from that with a full re-download. With
online IMAP that's not too bad, but for the offline case this can be a huge
problem. This patch tries to do the recovery in a less drastic way, given
some conditions are met.
The assumption is that this case can happen because of an equal amount of
emails being added and deleted while we were not looking. Then the message
count check passes (we still have the same amount locally and remotely),
but the UIDNEXT check fails. Given UIDs are strictly ascending, the
maximum amount of changed messages is (newUidnext - oldUidnext). So,
instead of downloading everything, we now only download that many messages,
since download is done by sequence number, we are guaranteed to get the
newest ones and thus we cover all new messages. Deletion of the old ones is
done by the subsequent flag fetch step, just as in the normal case.
Thiago's problem shown in bug 259151 is slightly different, there we do the
same modification locally and remotely but fail to obtain the new UID due
to the server not supporting UIDPLUS and the message-id being non-unique.
However, this should work with the above approach as well.
REVIEW: 101142
Use encodeRFC2047Sentence() to properly encode mailboxes.
Office
Fixed bugs 260099, 264143 and issues in list rendering.
Fixes the following problems in list rendering
1)The type of list item was not shown in the paragraph docker(SimpleParagraphWidget).
2)Takes into account the font-size percent while loading and saving lists.
3) Prefixes and suffixes are now displayed for bulleted lists.
: Modifying transactions with spaces in their amounts causes them to be reset to 0
Fix a lot of table layout and drawing issues, mostly related to page breaking.
Fix Crash is observed while opening the attached ppt file.
This makes sure that pages are always deleting there layers and children of them what fixes a crash in the textlayout-branch.
Also I merged the both ctor's together, introduced a KoShapeContainer::removeAllShapes method and improved the documentation.
fix info variable with document information
Fixing InfoVariable plugin to insert essential document information (Author Name, Document Title and Document Subject) into documents.
Patch by Sriram
CCMAIL: "Sri Ram"
Firx crash as we shouldn't access without checking
Fixed crash caused by Qt ending the layout process of one block ehen you start
it on another block.
If yo later come back and try to contine the layout of the first block it is
no longer possible. We needed that in tables where we do columns in parallel.
Solution: create a restartLayout method that essentially recreates the layout by
quickly copying the old lines and leaves the layoutprocess so we can continue.
fixed stock charts, the kchart part is a bit hacky, but a
clean solution is not possible without a greater rewrite
of kchart
Notify about balanceChanged only for accounts which have not been deleted. Otherwise an exception will be thrown while accessing the and already deleted account from the cache to emit the balanceChanged signal.
This happens when deleting categories and reassigning transactions to other categories.
Found while trying to reproduce
Display the correct account name. The wrong account name was displayed since by the time the error message was displayed d->m_selectedAccount was already set to another account because the view received the objectRemoved signal.
Found while trying to reproduce
Multimedia
Set directory mode for renamer's "music folder".
ÎιÏÏÎ³Î¿Ï ÎÏ
λάÏÎ±Ï submitted this patch for the JuK file renamer to use the proper
"directory mode" of KFileDialog for the music folder selection in the File
Renamer configuration.
It's *much* appreciated -- this represents the first non-Michael Pyne
contribution to JuK since about 8 months ago (and the one before that was 20
months ago).
I will backport to 4.6.3.
"fix" subtitle control in dragon player
It actually is more of a patch for the problem as the libphonon design is heavily flawed in that it exposes MediaController specific descriptors to the world also via the backend. Now as the Backend is a singleton but the MC is not, there is a bit of a scope problem... The present solution thus introduces a global overlord master subtitle manager where each MC needs to store its subtitles. Additionally libvlc seems broken as it reports completely bogus SPU ids \o/
The code at hand needs refactoring && bugfixing && cleanup && documentation && *whine*
Networking Tools
Fix crash when stopping NetworkManager-0.8.2.
Fix a crash when there is no account set and user tries to set avatar. Now it warns the user with KMessageBox and asks to open Accounts KCM
Reviewed by: David Edmundson
Ask on application quit if pending changes should be saved
Various fixes for adhoc support.
Thanks Ilia Kats for this patch.
REVIEW: 101158
Try to fix side effects of comit
c05ac96ee4f9fecde5ba5e6c44d062bc3715f476 (Move height setup of all
connection widgets to ActivatedItem constructor. Now all connection
widgets have the same height and do not change it when toggling the
"Show More" button)
Fix macaddress showing up if not set, introduced with
aae4ef730cdd4314be1a7ac043b1be59868b74aa.
Resizing the QByteArray gives us 6 uninitialized elements, which can be
converted to a string. This results in a completely unrelated mac
address showing up on all connection which are restricted to "Any".
Thanks Ilia Kats for fixing that.
REVIEW: 101161
Fix "last seen" property when quitting kopete.
The contact list was saved too early so the "last seen" property was written to the contact list in the main memory.
But this change was not written to the disk.
REVIEW: 6526
REVIEWBOARD: https://svn.reviewboard.kde.org/r/6526/
Fix bug causing running time to be wrong when pausing torrents
Fix crash in search plugin
User Interface
Fix the painting artifact of expired tasks item
Fix the text overlap when task item of expired tasks is painted (due date and task title are overlapped).
Fix groupbox label size adjustment
- register groupbox label to dedicated engine
- only resize at registration if size is large enough
- resize at size-allocate otherwise
- never resize labels twice.
Do not render window background in case a custom texture is attached to a palette.
Utilities
Fix the problem that dead keys are sometimes treated as 'alive'.
Work around a potential Qt bug which can result in dead keys being treated as
'alive' in some circumstances (probably when 'setFocus' is called when the
widget hasn't been shown yet)
Other
Even more fixes on user management. Any designers here that want to make it good looking?
now my uppercase Wikileaks folder is correctly sorted below pr0n, like it should be
Features
Development Tools
Instead of using QScriptEngine::newQObject() use custom QScriptClasses.
This allows accessing children using parent[0] and makes everything more flexible.
From my testing it seems the speed is just about unchanged and there shouldn't be any regressions.
Educational
Add getdirection command
The getdirection command was requested by a user on the KTurtle mailinglist.
It makes sense to me to add it as counterpart of the direction command.
FEATURE:
FIXED-IN: 4.7.0
3D Scene
Graphics
Rewrite the KScanOption/KScanDevice/KScanOptSet classes
This is for a cleaner API and to finally eliminate the global
data of KScanDevice. A KScanOption now remembers the KScanDevice
that it belongs to, so that it can perform SANE operations.
Only the KScanDevice may construct a KScanOption, all other callers
must obtain (and optionally create) one via KScanDevice::getOption().
There is only a single instance of a KScanOption object for a given
scanner parameter.
Since without the global data there can now be more than one
KScanDevice, this is no longer a singleton class and one can be
constructed in the usual way (although Kooka only ever creates
one at a time).
The 'apply' operation is performed by the KScanOption instead of
KScanDevice, so the KScanOption now has 4 orthogonal operations 'set',
'apply', 'reload' and 'get'.
A KScanOptSet stores only the name-value pair of the options, not
the complete KScanOption object. There is therefore no need for
KScanOption to have a copy constructor or assignment operator, which
in turn means that it does not need the hack for maintaining common
gamma table values.
These 3 classes, plus ScanParams, now have complete API documentation.
Squashed commit of the following:
commit 4a5fe08946b761b8f90dc725384dfa1c20217c4b
Author: Jonathan Marten
Date: Wed Mar 9 09:03:10 2011 +0000
M +1 -1 kooka/formatdialog.cpp
M +1 -1 kooka/kookaview.cpp
M +8 -12 kooka/photocopyprintdialogpage.cpp
M +12 -8 kooka/scanparamsdialog.cpp
M +255 -412 libkscan/kscandevice.cpp
M +338 -245 libkscan/kscandevice.h
M +1 -1 libkscan/kscandoc.h
M +148 -142 libkscan/kscanoption.cpp
M +318 -77 libkscan/kscanoption.h
M +76 -137 libkscan/kscanoptset.cpp
M +132 -53 libkscan/kscanoptset.h
M +113 -114 libkscan/scanparams.cpp
M +162 -42 libkscan/scanparams.h
http://commits.kde.org/kooka/402ff8ef566106b2c019983909217e28dfab3420
KDE Base
re-add button config ui to the layout
Proper "All files" option when using mime types as filters
Patch by Thomas Fischer.
If the developer adds a mimetype 'all/allfiles' to his/her list of mime
types for filtering in e.g. KFileDialog::getOpenUrl's second parameter,
setMimeFilter recognizes the request for an "all files" filter option
and adds it to the list of options in the combobox.
REVIEW: 101075
Add session support for keyboard layouts
FIXED_IN: 4.7.0
Take into account RightToLeft environments, and adapt two things:
* Visual rect for items, that need to start from the very right and flow to the left.
* Binary search to find items fast. The search needed to be adapted to reflect this new case.
Following changes on drawers that need to be adapted on this kind of environments.
Add option to qalculate to show the result in different bases
Add the option to qalculate to show the result in binary, octal, decimal
and hexadecimal at the same time.
This only works if the result is an integer.
REVIEW:100533
Provide GRUB2 support in KDM.
Allows for rebooting once in one of the entries of GRUB2 and then
automatically reverts to the default one.
Makes use of grub-reboot and therefore requires 'GRUB_DEFAULT=saved'
to be set in /etc/default/grub (so that /boot/grub/grub.cfg contains
'set default="${saved_entry}"'). If not set, no reboot list appears.
Performs proper GRUB un-escaping, as described in GRUB's manual:
Set an initial resolution when creating a splash image.
Splash images in GRUB are best shown when they are the same resolution
with the one that GRUB runs. So suggest this resolution (user may always
change it).
KCalendarSystem - Narrow Month/Day Name Support
Add support for Narrow Name format for Month and Week Day Names. This
can be obtained either using the standard monthName() and weekDayName()
functions with the new KCalendarSystem enum values, or using the
formatDate variant with the KLocale::NarrowName enum.
Note that the Narrow Name is not unique and so can only be used for
display and not input.
Clean up the month and weekday i18n calls to use a standard context
format, and tweak a few of the names used. Hopefully not too much
work for the translators.
FEATURE:
added dedicated hint so that widget style can tell the decoration whether to
use a window pixmap or not.
FEATURE: allow setting of priority with X-KDE-Priority in the .desktop file
Change air-mobile and oxygen-mobile's wallpapers
Let's change the default wallpapers between the themes
so when we use oxygen-mobile as the default theme, we also
get HorosGreen as the wallpaper.
Signed-off-by: Artur Duque de Souza
Allow the SVG icons used in a desktop theme to be customized
This adds a further item "Icons" to the list of things that can
be customized via the "Desktop Theme - Details" dialogue. This
corresponds to the "icons" subdirectory of the theme, which holds
SVG icons used in the system tray.
REVIEW:101175
I18N:
GUI:
Office
Added a dynamic sensor for "Tangential Pressure" (the wheel on an airbrush device/pen).
Startup
*Assistant Framework added for the Modern Menu
*"New blank database" assistant implemented; reused previous code
feature: Formula is autorized in splitted amount (must start by =)
Improve encoding guessing
The code is inspired by the kate encoding guessing test
Docx filter: Improved handling of predefined table styles.
Multimedia
QML Welcome screen
Prefer growisofs to wodim for DVD/BluRay burning.
K3b 2 defaults to cdrecord for all burning tasks, including DVDs and BluRay
discs. Unfortunately, it also does this when cdrecord is actually wodim. This
is a bad idea, because wodim's DVD burning code is not the "ProDVD" code in
Jörg Schilling's current cdrecord releases, but a much older, buggier and
basically unmaintained DVD patch. We cannot ship the ProDVD code in wodim
because of licensing conflicts: That code was never released under the GPL, it
was relicensed directly from its original proprietary license to the CDDL. But
wodim is GPLed, and cannot be relicensed to the CDDL, in fact this was the
whole reason for the fork: Jörg Schilling's cdrecord distributes mixed CDDL and
GPL code linked together. So the DVD code in wodim is based on an ancient
experimental community-contributed DVD support patch for cdrecord (from the
times where ProDVD was entirely proprietary). So it's a bad idea to use wodim
for DVDs. As for BluRay discs, those aren't currently supported by wodim at
all; K3b should detect this, but still, it's better to explicitly default to
growisofs there too, in case wodim grows some experimental BluRay support.
One concrete known issue with wodim's DVD burning code is that it fails to burn
dual-layer DVD+Rs: https://bugzilla.redhat.com/show_bug.cgi?id=610976 . But
chances are there are many more DVD burning bugs in wodim, which are unlikely
to get fixed promptly.
Growisofs, on the other hand, is designed specifically for DVDs and BluRay
disks, doesn't have licensing issues and has been used successfully for DVDs
for years (in fact, K3b 1 always used growisofs for DVDs).
This patch makes K3b default to growisofs for all DVD or BluRay burning tasks
if cdrecord is actually wodim.
REVIEW: 101208
Add zeitgeist support through Phonon
Prefer growisofs to wodim for DVD/BluRay burning.
K3b 2 defaults to cdrecord for all burning tasks, including DVDs and BluRay
discs. Unfortunately, it also does this when cdrecord is actually wodim. This
is a bad idea, because wodim's DVD burning code is not the "ProDVD" code in
Jörg Schilling's current cdrecord releases, but a much older, buggier and
basically unmaintained DVD patch. We cannot ship the ProDVD code in wodim
because of licensing conflicts: That code was never released under the GPL, it
was relicensed directly from its original proprietary license to the CDDL. But
wodim is GPLed, and cannot be relicensed to the CDDL, in fact this was the
whole reason for the fork: Jörg Schilling's cdrecord distributes mixed CDDL and
GPL code linked together. So the DVD code in wodim is based on an ancient
experimental community-contributed DVD support patch for cdrecord (from the
times where ProDVD was entirely proprietary). So it's a bad idea to use wodim
for DVDs. As for BluRay discs, those aren't currently supported by wodim at
all; K3b should detect this, but still, it's better to explicitly default to
growisofs there too, in case wodim grows some experimental BluRay support.
One concrete known issue with wodim's DVD burning code is that it fails to burn
dual-layer DVD+Rs: https://bugzilla.redhat.com/show_bug.cgi?id=610976 . But
chances are there are many more DVD burning bugs in wodim, which are unlikely
to get fixed promptly.
Growisofs, on the other hand, is designed specifically for DVDs and BluRay
disks, doesn't have licensing issues and has been used successfully for DVDs
for years (in fact, K3b 1 always used growisofs for DVDs).
This patch makes K3b default to growisofs for all DVD or BluRay burning tasks
if cdrecord is actually wodim.
REVIEW: 101208
Change icon to "muted" in OSD when volume level reaches zero
Networking Tools
Shutdown plugin revamp:
- Show shutdown plugin's config dialog when no rules are present and the enable button is pressed
- Improve tooltip of shutdown plugin enable action
- Make it possible to wait for several events before activating the shutdown action
add IPv6 support to network management
REVIEW: 101117
Implement bluetooth tethering support. Use
$KDEDIR/lib/kde4/libexec/networkmanagement_configshell to create a
bluetooth connection like this:
networkmanagement_configshell create -type bluetooth --specific-args
00:11:22:33:44:55,rfcomm0
This command will block until the org.bluez.Device.Connect method for
00:11:22:33:44:55 is executed. After that, it will detect the modem
device from ModemManager (using rfcomm0) and create the bluetooth connection.
Change 00:11:22:33:44:55 to your cell phone's bluetooth hardware address
and rfcomm0 to the string returned by org.bluez.Device.Connect.
Once the connection is created NetworkManager will detect it and enable
the /org/freedesktop/NetworkManager/Devices/<device sequence number> path.
The bluetooth connection and
/org/freedesktop/NetworkManager/Devices/<device sequence number> are not
listed in Plasma NM main window. I will fix that in soon.
The connection is listed in the connection editor, you can change it to
autoconnect or not for instance.
Provides close button for tabs in chat windows.
FIXED-IN: 4.6.3
Basic i18n support for the media script.
I've decided not to i18n-ify the channel announce, since it's
technically all user-configurable strings - plus it's hell not
to make it hard on translators. So, the various info and error
messages only for now.
Plus the list of available players in the help blurb is now
sorted alphabetically.
User Interface
Add task editor to edit name,tags and due-date of tasks. Priority and completed is currently not possible, as well as adding tasks.
To make the task editor possible, I splitted the qml-file in multiple files and organized the different pages via a hidden tabbar.
Blend outline pixel with glow, when needed.
more work on 32x32
Add a google talk specific profile UI.
Utilities
Add a KDirWatch to the 'ManageCompletionFiles' dialog.
Also, move the code for locating all the *.cwl files into the code completion
manager.
Patch by Libor Bukata, committed with some modifications.
Add the possibility to copy tables from the clipboard into the tabular wizard.
Patch by Felix Mauch, committed with some small modifications.
Other
Add a settings dialog
Zanshin doesn't really have any user visible settings. Still it's
actually useful to be able to add/delete/configure Akonadi resources
from the application so add a configuration dialog doing just that.
public link sharing also works for folders now
porting of media player to new code base wip
show modified date for folders
Optimization
Development Tools
major overhaul of the details in here
* make tools smaller
* only use popup menus; the ovelrays just didn't work out in practice; my bad
* fewer slots
* show which is select with checkboxes
* allow configuring the wallpaper
Educational
Optimize the calculation of the closest point on the route.
Make use of the bounding box of each route segment as a quick estimate
of the minimum distance to a given point (current location). Cache the
last visited segment as an educated guess for the segment with the
smallest distance. Only calculate the distance to all points of a
segment if its minimal distance is smaller than the guessed minimum
distance. In the average case only one segment has to be fully
evaluated to determine the smallest distance.
Reduces the cpu consumption by about 9% (callgrind, large routes).
StackedTileLoader: also use expired tiles from cache (rather than throwing them away and loading them from disk again)
When an outdated tile is read from disk, new data is requested from the internet. As long as this data is not available, it does not make sense to re-read the tile from disk. Since the tile is updated in the cache as soon as the new data is available, there is neither a need for erasing expired tiles from the cache, nor to reload the tile from disk.
Deviate a bit from the QtMobility API for better performance.
Allow a vector-like access to route segments from the route as an
addition to the linked-list. Use const references instead of copies.
Saves about 8% runtime (callgrind, large routes).
PlacemarkLayout: tile level caching of Placemarks
More popular placemarks get to high-level "tile level", less popular go to low-level ones.
For a given BBox, calculating the "Tile pyramid" and getting placemarks from those TileIds provides a small subset of placemarks that should get rendered.
Some figures: we have currently c.a. 22000 placemarks, and most BBox provides an 10ish TileIds Pyramid, leading so c.a. 400 placemarks.
The scalability of filtering placemarks sounds quite obvious.
Tweaking level, placemark popIdx, and radius to level is TODO:
- radius to level table (used to determine at which radius which level should be used),
- popIdx to level (used to seed placemarks to level according to their PopIdx)
- filtering the first 300 placemarks to display (should stay untouched)
RB: 6604
RevBy: Torsten Rahn
KDE Base
Simplify [GRUB & Linux] resolution picking UI.
Instead of multiple radiobuttons and textboxes, use only 2 comboboxes.
Custom entries may still be entered using the "Custom..." combobox item.
zero cache misses in my test set
- we need to be more strict about the requested source, otherwise the
nameing of the cached files changes due to re-conversion to QUrl,
which might add slashes, etc. So store the source separately, and thus
make sure one source always corresponds to one cached file.
This implements the second part of the caching, where we're currently
going through a .png file read from disk, so we can reference these
pictures in the QML code.
Needs cleanup, which follows in the next commit.
Increase intuitiveness of KFileDialog filtering.
This patch attempts to improve the usefulness and usability of
KFileDialog's filter field when in Opening mode.
Firstly, if the filter text isn't:
* the display name of one of the filters passed to the dialog or
* one or more space separated mimetype specifiers (containing a '/') or
* one or more space separated file globs (containing '*', '?' or '['),
we convert the text to a glob by prepending and appending asterisks.
This lets the user enter a piece of text (without having to know any
glob patterns) and see only the files whose names contain that text,
much the same as they would when filtering in Dolphin.
Secondly, the filtering updates on the fly as the filter text is typed.
Previously, the filtering updated only when Return was pressed, which
differs from the behaviour of most of KDE's other filter boxes. The old
behaviour is especially confusing when one clicks the small clear button
embedded in the combobox, because it clears the box, but the filtering
is unchanged until the user goes to the keyboard to press Return.
REVIEW:101013
FIXED-IN:4.7
DIGEST:
KDE-PIM
Call i18n 60 times, instead of 5000.
2x speedup when checking/unchecking collections.
CalendarView::updateView() was being called twice when checking
a calendar.
It was getting a bit slow lots of items.
Don't iterate 1000 times looking for the id, use an hash instead.
Noticeable performance improvement while changing months in
monthview.
Don't call reloadTodos() when to-do view isn't visible.
Noticeable performance improvement.
User Interface
Added contrast pixel to sunken buttons, removed unused 'shade' parameter, and fixed cache
key (consistently with oxygen-qt)
Other
User management works, now we need some usability expert ...
Other
Educational
Move ego position updates into Route classes.
Have Route related classes take the ego position and cache calculations
appropriately for efficient access. Further RoutingModel trim down.
Graphics
Add options, pages and make target to build API documentation
Squashed commit of the following:
commit ccaf0bafe0910e9ef1a893715db836a9432daaed
Author: Jonathan Marten
Date: Thu Feb 10 15:39:31 2011 +0000
M +22 -1 CMakeLists.txt
A +17 -0 Mainpage.dox [License: UNKNOWN] *
A +13 -0 libkscan/Mainpage.dox [License: UNKNOWN] *
The files marked with a * at the end have a non valid license. Please read: http://techbase.kde.org/Policies/Licensing_Policy and use the headers which are listed at that page.
http://commits.kde.org/kooka/52b71d901ca99cc7027d6d599bbc2a8bc8feb9b4
KDE Base
Update ISO 3166 Entities spreadsheet
Update the spreadsheet to the latest version of ISO 3166-1 Country
Codes, add various extra data fields for other code systems (IDD, IMO,
etc), and add various name forms including from iso-codes.
This is preparation for a move to an xml file format to support the
Country Codes in KDE which will split the l10n files into separate files
for code data, name translations, and locale settings. This should
improve our Codes support while decreasing the installed runtime
footprint.
M +- -- l10n/entities.ods
consistent capitalization
Move the api.kde.org search box HTML to a separate file.
Hardcoding that much of HTML code in a shell script was very ugly, and
was even more so due to the amount of escaping that needed to be done
(and there was no way we could use single quotes inside the string, so
the generated inline JavaScript code was also wrong).
The searchbox code now lives in api_searchbox.html, which means it is
easier for projects to customize them as well.
Office
Rename kpresenter to calligrastage
Rename Service types of page effects and shapeanimations
Rename comments
Rename config group
Rename camke variables
Other
the installation form layout is still not completely done but at least the CSS looks better