Issue 248
12th August 2012 by KDE Commit-Digest TeamContributors
Martin Cigorraga
Danny Allen
This Week...
Statistics
Commits | 2405 by 189 developers |
Open Bugs | 21512 |
Open Wishes | 16917 |
Bugs Opened | 358 in the last 7 days |
Bugs Closed | 486 in the last 7 days |
Commit Summary
Module | Commits |
/trunk/l10n-kde4 |
258
|
/branches/stable |
192
|
/trunk/l10n-support |
61
|
/trunk/www |
42
|
/trunk/kde-common |
23
|
/plasma/declarativeimports |
20
|
/portage/win32libs-sources |
16
|
/akonadi/calendar |
15
|
/alarms/contents |
13
|
/language/codegen |
11
|
Files | Developer | Commits |
393
|
Roman Paholík |
131
|
264
|
Marco Martin |
104
|
234
|
Victor Dodon |
82
|
201
|
Sergio Luis Martins |
69
|
180
|
Gilles Caulier |
66
|
195
|
Albert Astals Cid |
65
|
153
|
Xavier Besnard |
51
|
129
|
Burkhard Lück |
43
|
123
|
Wolfgang Rohdewald |
42
|
117
|
Yuri Chornoivan |
40
|
Internationalization (i18n) Status
Language | Percentage Complete |
Estonian (et) |
98%
|
Dutch (nl) |
96%
|
French (fr) |
96%
|
German (de) |
95%
|
Italian (it) |
91%
|
Danish (da) |
88%
|
Catalan (ca) |
85%
|
Chinese Traditional (zh_TW) |
84%
|
Galician (gl) |
82%
|
British English (en_GB) |
81%
|
Bug Killers
Person | Bugs Closed |
Jarosław Staniek |
156
|
Jekyll Wu |
52
|
Albert Astals Cid |
47
|
Myriam Schweingruber |
26
|
Frank Reininghaus |
15
|
Ben Cooksley |
12
|
Thomas Lübking |
9
|
Milian Wolff |
9
|
Vishesh Handa |
9
|
Christoph Feck |
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 131 selections this week
Bug Fixes
Development Tools
Restore working prev/next output marker behaviour
This was broken during the refactoring when moving the code from kdevelop
into kdevplatform. The shuffling of code apparently led to the wrong
lists size being appended to the set. The original code appended the size
of the actual lines in the model (not the error-items) to the list, which
is the same as the row-number of the newly-inserted item. This was
transformed into adding the size of the error-items-list, which simply
makes no sense. The code using this list actually expects row-numbers for
the model in the set.
Let the OutputView take ownership of the make output delegate.
This is basically the fix for the two bugs below that does not
require any ABI break and can thus be done in the 1.4 branch.
Fix bug in CachegrindLoader
A "fl=..." line provides the filename for following functions
specified. This information got lost if "fi=/fe=" lines
showed up. These specify files related to lines/instructions
of the current function which are different from the file where
the function is defined.
Fix two annoying behaviours of function selection
* switch off autoScroll: otherwise selecting partially
visible function name column resulted in automatic horizonal
scroll, hiding the cost columns
* show tooltip with full function name if truncated in column
Both "worked" correct with Qt3 compat classes...
Educational
add the id key to each entry to make it easier to map the displayed entry to the source. The id is stored under the keyRole. This also fixes book removal, using the new keyRole info to ensure the correct entry is deleted.
Fix loading of documents with data/pointer of type!=0.
Rocs would only display items of type 0 since only those
were added to the scene.
Add script accessor functions for nodes/edges of different types.
Fix and extend node/edge script accessor function of Graph data
structure plugin:
* Fix behavior of GraphStructure::list_nodes():
return nodes of all types
* Fix behavior of GraphStructure::list_edges():
return edges of all types
* Add new method GraphStructure::list_nodes(int type):
return only nodes of specified type
* Add new method GraphStructure::list_edges(int type):
return only edges of specified type
Graphics
new libkipi plugins config widget layout to group tools by categories for a better readablility
FIXED-IN: 3.0.0
Fix crash when a drag contains the url format but doesn't contain any url data for that format
KUrl::List::canDecode( ev->mimeData() ) doesn't mean KUrl::List::fromMimeData( ev->mimeData() ) will not be empty
FIXED-IN: 4.9.1
Fix wrong key name in thumbnails
This prevented Gwenview from sharing thumbnails with Dolphin and other
Thumbnail-spec compliant applications.
Thanks to Benni Hill for pointing this out.
FIXED-IN: 2.9.1
KDE Base
Add a new --skip option to nepomukindexer
to allow skipping of strigi plugins.
Shortly to be used for fixing bug 303670.
Move blur behind setting for dashboard to windowAdded slot
We always want to have blur behind the Dashboard window not
just after the activitation.
FIXED-IN: 4.9.1
REVIEW: 105962
kinotify: Do not store the paths to be added
kinotify used a QQueue<QByteArray> to store all the directories which
need to be added. Since we use QDirIterator, each path is presented as a
QString which is then encoded to its QByteArray (QFile::encodeName).
This results in *large* chunks of memory being allocated, and then
slowly being deallocated.
Instead, we now use a QDirIterator, and do not store all the directories
which need to be added, we simply iterate over them. This way we do not
allocate large amounts of memory.
There is a large performance improvement as well. On my system, with
38829 directories, adding all the watches now takes only about 10 seconds,
instead of about 65.
Patch possible due to massif output provided by Jure Repinc.
Thanks a lot.
tldr: Use DFS instead of BFS -> Less memory consumption
REVIEW: 105892
DIGEST: Fix massive memory leak in Nepomuk File Monitoring Service
Remove reimplementation of functions.
The base class implementations are actually good and without some problems.
Save one pointer's worth of memory by not having m_container.
rect was returning a relative rectangle always.
State was wrongly returning HasInvokeExtension which can lead to crashes.
Add the --skip option introduced in the last commit to
the invocation of nepomukindexer from the file indexing service.
Add a configurable option "exclude plugins" (which defaults to the
SHA1 plugin DigestEventAnalyzer) to allow generic plugins to be excluded.
REVIEW: 105986
FIXED-IN: 4.10
With the buildsystem changes, the plugins are created in this dir, now.
This fixes klibloadertest with Qt4. Still broken in Qt5 though,
due to Q_EXPORT_PLUGIN[2] being broken on purpose there.
Stop preview jobs when closing Dolphin
Patch by Benni Hill. Thanks for the patch!
FIXED-IN: 4.9.1
Properly calculate the offset between multiple screens in FlipSwitch
The code assumed that screens border to each other. That is the height
of the one screen is the y position of the other screen.
FIXED-IN: 4.9.1
REVIEW: 105958
MPRIS2: assume the position is 0 when stopped
MPRIS2 does not require the Seeked() signal to be emitted when stopping
a track. It does, however, require it to be emitted if the position is
not 0 when going from Stopped to Playing (or Paused).
So we should assume the position is 0 when Stopped.
This fixes an issue I noticed with gmusicbrowser, where stopping a track
and starting it again would show the wrong time in the Now Playing
widget.
FIXED-IN: 4.9.1
Make KModifierKeyInfoProvider inherit QObject, rather than QWidget
This makes crashes like the one I'm closing with this report impossible,
even though the root cause might be somehing else, possibly related to
Qt and particular settings of certain styles.
In any case, that class does not need anything from QWidget any more, so
this change would make sense even without the crash.
Thanks to Aurelién Gâteau and David Faure, both for coming up with the
idea to fix it this way in the first place and for explaining why
deriving the class from QWidget did make sense in the past.
FIXED-IN: 4.9.1
REVIEW: 105920
Verify QVariant is valid before casting to Client*
If the ClientModel does not contain any Clients, which can
happen if there is no desktop window, accessing the data of a
ModelIndex returns an invalid QVariant. Because of that it
needs to be ensured that the QVariant is valid before trying to
cast it to a Client Pointer.
FIXED-IN: 4.9.1
REVIEW: 105935
use virtual screen size when desktop is resized
QDesktopWidget::screenGeometry() fails if there's a panning or overlapping screen setup
REVIEW: 105974
FIXED-IN: 4.9.1
KDE-PIM
Fix Quit not working in system tray icon context menu
Office
fix regression when loading vector shapes generated by OO/LO/MSO
In the commit 9efb4e33f2729080b1f1f24bb18970499a21f2b9 unfortunately a regression was
introduced so that loading of vector shapes generated by OO/LO/MSO and our filters no
longer work. Unfortunately this commit is also in the 2.5 release. This can be seen
e.g. with the following documents:
sundaram.fedorapeople.org%2Fpresentations%2Ffedora-fail-learn.odp
jeffcoweb.jeffco.k12.co.us%2Fhigh%2Fchatfield%2Fdepartments%2Fbusiness%2Fbanking_finance%2Funit_Plan_Budget.odp
drwho.virtadpt.net%2Ffiles%2FNOVALUG-Tor.odp
but much much more of our test documents are effected. There is also a crash in the
last document due to which I noticed the problem and started investigating.
The problem is that our filters and the other apps create mimetypes that se no longer
load with the above mentioned commit.
This patch fixes the filter to use the new mimetypes when converting files and adding
other mimetypes that are written be e.g. OO or guessed by the mimetype guesser of some
of the files.
Additionally fixed by this patch is to not load the first child element twice as when
the first loading failed it makes no sense to try it a second time.
It also fixes a problem that the formula shape and the chart shape tried to load every
embedded document even if it had the wrong mimetype.
REVIEW: 105873
(cherry picked from commit 4687aaf3dc93038f368f39b091ab75a40f899a07)
Don't mirror an image with a width of one pixel or less
Since there's nothing to mirror then. This happens when a layer is empty,
for instance because it's just been created.
Fix bug with adding fields when importing bibtex
The Bibtex importer was not properly adding new fields when reading
Bibtex files. Be sure to properly merge all fields. A test case is
included.
FIXED-IN: 2.3.7
Fix mixup of canvas and document resource
When investigating the reason for crash for bug 304674 I found out that a very a bug had sneeked in during some refactor of the KoDocumentResourceProvider and KoCanvasResourceProvider. The problem there was that the canvas resource current page had changed and that triggered a repaint which resulted in a crash (Crash fixed by a better fix). However the reason there was a repaint was that the signal for changing the current page resource triggered in KoPathTool::resourceChanged the trigger for HandleRadius as both resource providers did trigger the same slot with oververlapping resources :-(. Seems like this was not the only place where this was done. I have fixed that by adding a second slot for the documentResourceChanged and now the different slots are used for the different resources to no longer mix stuff there. I tried my best to find all occurrences of the problem.
Will wait one week before I backport to 2.5 as asked by boemann.
REVIEW: 105896
Fix misplaced validation tip in tableview; show invalid data warnings
Table View:
*Fixed misplaced 'Date/Time data error' validation popup in tableview
*Show warning when invalid date values in tables and forms are rejected
*Clicking validation popup editor is focus again allowing to correct the value
*Use new message widget for validation popups
REVIEW:105906
introduce koIcon
* fixes for the wrong usage of K/QIcon vs. pixmap (from incomplete Qt3->Qt4 porting):
Q/KIcon does not have a real size, it's more kind of a factory for whatever
pixmap size it is asked for, so just loading a certain icon pixmap and setting that
to a KIcon/QIcon is useless, as the widget which takes the icon might request a
different size. So e.g. passing a SmallIcon("icon-foo") to a button which takes a
QIcon can result in badly scaled icons instead of loading the most perfect size
match from the icon-set.
* removes lots of unneeded includes, usually kiconloader.h
* makes the API consistent for some classes, with
"iconName" for a QString-based icon name and
"icon" for a KIcon/QIcon type property
* use consistently "IconSize" everywhere instead of "KIconLoader::global()->currentSize"
* removes unused "KPrFactory::iconLoader()"
* adds a simple script tools/iconcheck/iconcheck.py to find iconnames without existing icons
REVIEW: 105289
Multimedia
add ruby flag to support utf8 queries
This bug was reported by Dimitrios. Thank you very much!
Prevent crash in case of non-working sql collection
Add some validity checks for the case where a collection is
non-initialized.
FIXED-IN: 2.6
Fix master channel selection via kmix main window issue and fix no global master found issue.
Fixes the issue where changing the master control in the KMix main
window doesn't change the master control in tray.
It also solves a problem with the dock icon appearing blank due to the
mixer not able to find any global master. The device id returns
something like "alsa_output.pci-0000_04_00.0.analog-surround-51" for 5.1
and "alsa_output.pci-0000_04_00.0.analog-stereo" for analog stereo and
hence the issue.
Patch by Prasad Murthy.
REVIEW: 105422
fix opengl surface painting
with opengl as viewport qpainter refuses to draw the same qimage twice
so we create a new image for every paint call, which is cheap because
all the data is in the plane QBA anyway
now gwenview should be working as expected
add missing qreal()
on ARM qreal != double so a qbound with qreal,double,qreal will on
arm be a qbound on float,double,float which defeats the exercise
of making them qreal to begin with.
Fix crash when closing Amarok with running CoverFetcher
childBarFinished was called with invalid m_progressDetailsWidget
However also the m_progressMap needs protection. The CompoundProgressBar
needs to be thread safe.
Tests: Change is verified by me to fix the problem.
REVIEW: 105942
FIXED-IN: 2.7
Fix some more playlist related problems.
The assumption was that a playlist always contains valid tracks.
However that does not seem to be the case.
Scenario: Tracks are deleted from collection but not from playlist.
So, when handling playlist tracks, make sure that there is an actual
track object behind it.
FIXED-IN: 2.6
Networking Tools
Fix size after download calculation in FileSelectDlg when file already exists
Fix the tab preview ratio. We want the web page ratio, not the window ratio.
Fix as per review request
* Drop enableHoldButton, hold button now enabled via setStatus
* d->holdAction transitioned from KToggleAction to KAction
* Rename operationFinished to holdOperationFinished
* Make sure strings are translated in the ui
* Better debug string
* Better strings for the ui
* Treat Tp::LocalHoldStateReasonResourceNotAvailable for call unholding
as a uknown error.
Utilities
fix bug in calculating total number of files over network
This function seems not to work properly due to problems in interaction
with KIO, but this is still definitely a bug.
Fixes -Wunused-value warning.
Other
Clarify some docstrings, rename remInstalled
remInstalled did not do any removal but just returned the package
Features
Development Tools
Nepomuk: Add a simple application called nepomuk-test
The application does nothing, but it sets up everything required to
start writing a simple application in Nepomuk.
QCachegrind: allow building both with Qt4 and Qt5
This also fixes a bug with the custom, KDE-compatible
moc generation: do not just use "moc", but $$QMAKE_MOC.
This went wrong whenever a non-default Qt4 installation
was used.
Add a simple app that shows the kcm-widget for testing purposes
This is a prototype-like app showing the config widget, its purpose is
to make it easier to test ui-changes in the widget on some dummy project
without going through kdevelop.
Educational
start rewriting the maxima backend
start initial work on a new maxima backend. It makes better use of the
hooks provided by maxima to structure its output and make parsing easier.
It also drops the need for a second maxima process to do the conversion
of output to latex code. Instead the display2d function of maxima is
modified to also deliver the TeX-ified version of the output.
Setting up the maxima session and basic interaction is already working.
Graphics
Pre-render nearby tiles
Pre-render tiles that are nearby the current viewport and also the last
tiles of the previous page and the first tiles of the next page.
make it possible to pause the background manager
Read my words: I will regret this feature over and over again :-)
add new method to extract kipi-plugins version from common kipiplugins.desktop file
Print libkipi and kipi-plugins version on plugins config widget
CC
KDE Base
Allow disabling cover, artist and album display
Add a configuration panel that allows users to prevent album covers,
album name and/or artist name being displayed.
FIXED-IN: 4.10
Focus-tracking for widgets in Dolphin View now works.
Added the calls to updateAccessibility, for DragDrop & Focus scenarios
Add support for music files and MusicBrainz python fetcher
Parse music files via TagLib, existing nepomuk info (filename analyzer currently missing)
MusicBrainz plugin added, but seems to use outdated python module. needs a better solution
Add the "Send Signals" menus from KDE 3.5
This reintroduces the "Send Signals" from KDE 3.5.
SIGSTOP/CONT/HUP/INT/TERM/KILL/USR1/USR2
Patch by Kasper Laudrup
FIXED-IN: 4.10
Backup: Implement Simple Backup of Nepomuk
Modified the BackupGenerationJob to simply query for all the statements
it wishes to save (all graphs but nrl:DiscardableInstanceBase), which is
then serialized into a file and gzipped. The statements are serialized
into the standard NQuads format.
Add support for GRUB2 submenus.
Properly parse the 'submenu' directive in GRUB's configuration file
and provide the user with an appropriate menu interface when choosing
which entry to reboot into.
Limitations: Internally we make use of the " >> " separator (hardcoded
in both kdm and ksmserver). An occurence of the separator in a menu
title (be it menuentry or submenu) will baffle our parser. Moreover,
we only support multi-line statements: one-liners, although supported
by GRUB, will fail to be parsed. Lastly, only up to 5 nesting levels
are supported. The above limits are more than enough for all but a
handful of cases.
CC
REVIEW: 105563
all plugin manager functions for interfaces implemented ;)
KDE-PIM
Support the new database upgrading state of the Akonadi server.
This allows us to show a wait screen when the Akonadi server is performing
a database upgrade that might take a bit longer.
Port to IncidenceChanger.
Advantages:
- Invitation stuff now comes for free.
- Redo/Undo of incidences changed my the editor is now supported.
- Transparent handling of recurring incidences planed for the future.
Office
Add the new Behind composite Op
Add support for proper drag-and-drop for moving the panel.
Add new auto feather and growth options to Fill Contiguous Selection tool
Multimedia
* Some progress on the bin (user can switch between icon view and tree view)
* Add improved seeking marker to monitor ruler (same as Shotcut)
Networking Tools
Run backlog through message processor
Message now supports construction from both Tp::Message and
Tpl::Message, this is now used by the message processor.
LogManager is updated to run messages through the message processor
REVIEW: 105943
Implement basic substitution plugin
As a plugin this is quite reasonable. However, there's currently
no graphical way of configuring this as of yet.
I'll probably build a KCM for it sometime soon.
Implement Bugzilla Filter
I tried to use the bugzilla API to show some useful information,
but KIO doesn't let me do any of network requests synchronously.
So, for now this is going to be just embed a link to the bugzilla
page. I'll come back and make it nice when I have an asynchronous
plugin system.
Implement Latex plugin
BAM! That's right, all in one commit!
(Well, I stole a significant chunk of the code from Kopete)
Utilities
Muon Software Center now supports KNSBackend \o/
Add a popup MarbleWidget to StopLineEdit
- The popup functionality is implemented in PopupHandler
- PublicTransportLayer is used to show positions of suggested stops
in a MarbleWidget, it also shows some selected stop names
in annotations and allows to hover/select stops
- PublicTransportMapWidget derives from MarbleWidget and uses
PublicTransportLayer, provides additional functions/signals,
implements the hovering
- The use of Marble can be disabled completely at compile time using
the BUILD_MARBLE_MAP cmake option
- Add coordinates to the Stop class and a boolean
hasValidCoordinates, the map can only show stops when this is true
- Add comparison operator to Stop for automatic sorting of stops
to a good order for drawing (in the QMap)
TODO: There is currently no provider in GIT that supports this,
I'll commit one soon.
Actions support for author list.
This allows the user to create, modify and delete authors using the keyboard,
the context menu or the create/remove buttons in the authors dialog.
Optimization
Development Tools
Greatly improve usability of the project filter.
* Hide directories which don't contain any of the filtered items
* Show how many items were hidden in each directory through a "... X filtered" entry
* By clicking that entry, allow expanding and unexpanding the filtered items
Disable the "OK" button of the review board export-dialog if no repository is selected.
Otherwise the user could submit the dialog which would lead to a crash
when we try to read the repository.
When a job gets deleted, ensure we update the runcontroller.
This can happen when a job gets deleted, i.e. via QObject inheritance.
Then apparently it does *not* emit finished() and thus we could end up
with invalid pointers in the RunController leading to strange crashes
in e.g. dynamic_cast.
Get rid of BuildItemBuilderJob in Project Manager View plugin.
The whole and only purpose of that class is to convert KDevelop::BuildItem to
KDevelop::ProjectBaseItem*.
Refactor ProjectManagerViewPlugin slightly in order to separate
targets collection and job creation into different functions, and
incorporate the mentioned conversion into one of the functions.
This allows us to remove that class completely.
REVIEW: 106459
Simplify the code that loads the main dashboard item.
Use a Loader instead of hacking it around.
Improve usability of the ReviewBoard plugin
Remember the various dialog fields. Now the only that won't be remembered
is the password, we should use KWallet there, but we can do that another day :).
Educational
explicitly pass a GeoSceneTexture to TileLoader::scaledLowerLevelTile()
Passing a GeoSceneTexture to scaledLowerLevelTile() makes findTextureLayer() superfluous, which in turn makes m_textureLayers superfluous, which in turn makes setTextureLayers() superfluous.
Simplify add data/pointer type dialogs.
When adding a new type just focus the name edit,
instead of having a line edit just for pre-setting its name.
Remove QWidgets as layout elements (use layouts instead).
Set buddies in the ui files.
optimize memory usage during parsing
previously the code consisted of lots of str+=char like constructs,
causing a lot of memory allocation. Replace constructs like the above
with doing calculations with indexes and using QStringRef for temporary
objects.
Graphics
improve error message when no scanner dialog plugin was found
FIXED-IN: 4.10
* Access Photivos ID mapping file
* Map Original DocumentID to the file
* Show some XmpMM details
* Add class XmpIDMap
* Tidy up class XmpInfo
Signed-off-by: Dominic Lyons
KDE Base
Make the brightness OSD adjust its size to the used DPIs.
This makes the OSD look nice on high resolution screens (e.g Retina Displays) and aligns it with the Volume OSD.
Fix Warning messages when closing About popup
There is a too agressive check in KWidgetItemDelegateEventListener that complains about
"User of KWidgetItemDelegate should not delete widgets created by createItemWidgets!"
when closing an about dialog.
I tried making it less agressive but since i could not, i'm just deleting things in a different order in the destruction of KAboutApplicationDialog so that the warning is not triggered and our users get angry
REVIEW: 105627
FIXED-IN: 4.9.1
Accessibility: Implement rect for cells and view.
Remove comparison of QAccessibleInterfaces - these are pointers that get
instantiated again and again, so they cannot be compared. Use the object()
function in QAI instead for comparison.
Remove outdated options from TabBoxConfig
Since the QML port the LayoutMode had been hardcoded to vertical
layout making it a completely useless code-path.
MinWidth/Height are nowadays completely controlled by the QML
theme. They were not read anywhere except in the kcm, but there
not even bound to a ui element.
The selectedItemLayoutName is also not used anymore with the
new themes.
Start to replace parts of the wmi backend with a new faster backend
The Wmi interface is to slow to be used in the way solid needs it.
For now I'll try to replace the Storage part.
delay expired cyclical items, kill normal ones
Skip this test with Qt4, it got broken by the port to Qt5 native event filters.
Can't have it both ways :-)
NepomukServer: When disabling Nepomuk do not call quit()
Calling quit() results in the application quitting immediately without
properly shutting down all the services. Instead, we wait till all the
services have shut down and then quit.
Reviewed By: Sebastian Trueg
Use a saner check for multimedia files in infopanel.
Don't rely on the reported supported mimetypes from Phonon,
Phonon supports more than just video and audio, but if it is
video or audio there's a very good chance Phonon supports it.
(If the mime type isn't in the list returned by Phonon there's
still a good chance it supports it, because mime types are stupid.)
Effects can provide support information through properties
The supportInformation is extended to also read the properties
on all effects. In addition each effect can be queried just for
itself through D-Bus, e.g.:
qdbus org.kde.kwin /KWin supportInformationForEffect kwin4_effect_blur
All effects are extended to provide their configured and read
settings through properties. In some cases also important
runtime information is exposed.
REVIEW: 105977
FIXED-IN: 4.9.1
Improve accessible interface.
Instead of re-implementing isValid, use the much better existing implementation
in QAccessibleWidget. Also make use of the "object" variable.
Reduce opacity of the ListItem's background decoration on hovering.
It improves the GUI feedback when using the components with a mouse.
REVIEW: 105939
ResourceWatcher: add *count() methods for resources, properties and types
These count methods are faster than returning the full list and then
counting the number of items in the list.
This also fixes an infinite loop where a temporary Resource is created
when querying for the number of resources being watched. The temporary
Resource is deleted, which results in ResourceData::resetAll being
callled which again called ResourceWatcher::resources(), and the cycle
countinues.
REVIEW: 105927
Use a better icon for recently accessed items in the Places Panel
The problem with the icon "package_utility_time" that has been used
before was that it is not available on all distros. The new icon
"actions/chronometer" should be available on every KDE install.
Thanks to Elias Probst for suggesting the new icon - I'm not that
familiar with the icons provided by KDE myself.
FIXED-IN: 4.9.1
This makes K_EXPORT_PLUGIN work with Qt5 again.
In other words, we provide more backwards compatibility than Qt5 does
itself (where Q_EXPORT_PLUGIN just breaks compilation)...
I'm not actually sure why Qt5 does that, it's easy to support to old
macro for compatibility, as proven here (the unittests pass, i.e. the
loading actually works).
This doesn't prevent porting our plugins (and loader, for incremental
migration) to "pure qt5 plugins" though, of course.
,
auto-deletion only triggered by manager
the auto-deletion timer shall only be started from one single place, which is
the notificationmanager, which starts the timer only if there is user activity on the desktop so that a notification
which arrives while the user is not at his desk does not get deleted unseen.
We agreed on reducing the timeout to 10 minutes
REVIEW: 105893
Fix some ProgressBar visual glitches
Make sure the visualization takes all the available space
Update the visualization elements whenever the background and the value change
REVIEW: 105966
handle project loading more automatic
instead of loading projects manually, kate will search the best matching project for a opened file by walking up and looking for a .kateproject file
this is very nice, as you don't need to care for your project files but kate will just auto open the right ones
still bit rough, as the toolview doesn't scale well
R +0 -0 .kateproject [from: kate.kateproject - 100% similarity]
a central place to enable/disable mouseover
and eventually other things
this in the future should become something that can change dynamically in theme, but for now can already avoid quite some code duplication
KDE-PIM
Remove KCalPrefs dependency.
Some of the util methods of KCalPrefs are now in utils_p.h, they
will go away soon because we can use KPIMIdentities directly.
Split invitation handler into two.
InvitationHandler is huge and I only want to export a small part
of the API.
InvitationHandler and InvitationHandlerHelper.
InvitationHandler will be called by KMail to process invitations
and will be public API with only one method.
InvitationHandlerHelper is private and will be used by
IncidenceChanger to send invitations whenever we modify, create
or delete incidence. It has lots of methods and we don't know how
to expose them with a clean API yet, so it stays private.
Office
Add support for templates in table.
LO saves a invalid ODF attribute text:style-name for table:table-template element, so created a workaround for that while loading
REVIEW: 105771
Make marble, ICU and SQLite optional
Once the textshape starts using calligradb,
it'll have to be disabled if we cannot build
calligradb because of a missing icu, but there
is no reason to stop people from building the
other parts of calligra.
The previous way of disabling was done with a
IF(CREATIVEONLY) block, but that hides the variables
and makes everything fail in creativeonly mode.
Pretty heavy overhaul of the panel layouting code.
It is now based on a whole bunch of drop areas that anchor objects to
them. This allows us to rearrange collapsed panels and have a far nicer
way of expanding panels.
Improve breaking into chapters.
- Also break for <h>, not just <p>, with fo:break-before
- Propagate this attribute up the inheritance chain.
Show the QML files in Qt Creator (and visual studio if needed)
"Hack" described in a couple of places - makes CMake know about the
files, but ignore them for any practical purposes except for listing
the actual files.
Multimedia
simplify ticking logic
upon further review of the qtphonon documentation it is not really
clear how ticking is supposed to behave precisely, however it seems
to be closest when time stamps are not duplicated, so timer ticking is
out of the question as that can potentially do that since we have no
control over VLC's time stamp resolution (and I also found no way to
actually get any value of the resolution thus actually rendering us
partially incompatible with the documentation's requirements \o/).
Instead of time ticking we simply take whatever VLC gives us and check
the delta to the last tick we emitted if it is >interval we emit a new tick
otherwise we ignore the time change.
Improvements to browser layouts, error handling for music model.
Patch by Fabian Riethmayer
Welcome to Plasma and KDE dev :)
REVIEW: 105816
common-kdegames-init / end define svn2git rules common for
all games. Using this greatly reduces the size of the game
specific rules.
Networking Tools
* Split updateTabBar() into two separate methods
- updateTabBarVisibility(): used to react only on "alwaysShowTabBar" settings
- updateAddTabButton(): used to react only on tabbar changes
* Improve handling of the add tab button. updateAddTabButton() is now called on any
tab layout changed instead of being called in any function which manipulate tabs.
* Use a tab height computed with KTabBar instead of the add tab button height with a magical number.
It fixes some issues with the Bespin theme.
Always show the complete interface list instead of using scrollbar.
The number of interfaces are usually low so there is not much harm
in showing them all.
Don't remove and insert a temp presence, but only update it if it exists
Inserting the temp presence first and then removing it afterwards causes indexes shift, which in turn can cause problems, like accidental "now playing..." presence being selected and activated and then being deactivated right away when the old temp presence was removed and indexes were shifted again.
This is a clearer approach, which only updates the temp presence if it is already being used.
Reviewed-by: David Edmundson
Use ximagesink as a fallback option when xvimagesink is not available
When the necessary drivers are not available, xvimagesink cannot be used
which causes ktp-call-ui to fail. By using ximagesink we use software
rendering to render the video. But, ximagesink does not support hardware
videoscaling, hence we must insert a videoscale element into the
pipeline.
Implementt Youtube Filter
Currently, it embeds it using HTML5. This won't work with the chat
plasmoid, but it appears to ignore it gracefully, so I'll let it be.
And besides, I think it's better that way, because giving a preview
of a video that you can't play would probably only strive to anger
users.
Handle connection states and print a service message when it changes
Until now we print "Connected" and "Connection closed" strings when the channel is connected or invalidated. This patch watches for channel connection and prints the corresponding presence as a service message, ie. "You are now offline" and "You are now marked as %1" instead of those "Connected"/"Connection closed" strings.
Reviewed-by: David Edmundson
FIXED-IN: 0.5
Don't allow the awful mobile style touch scrolling on the plasmoid base
Async wallet usage, using wallet-utils from common internals
Also fix some pointless code when deleting accounts which used to proxy via a model.
This should hopefully fix the crash when removing accounts
REVIEW: 105926
User Interface
Using Nepomuk Core (aka Nepomuk 2) instead of old one
Based on Marco's 'Nepomuk2 port of Kactivities'
REVIEW:105790
Pushed a few header fixes as well
Utilities
Some improvements to ApplicationUpdates:
- Assign m_aptBackend in ApplicationUpdates::setBackend(), before it just always remained null.
- Only listen for QApt signals when the update starts. Due to design deficiencies in LibQApt it can be dangerous to listen for signals when we aren't expecting them.
- On that note, don't handle worker events or errors at all. The ApplicationBackend already handles errors/events, so we'll just be stepping over ApplicationBackend when it tries to handle them.
A combination of the last two items was causing a crash in muon-installer when commits finished, even though muon-installer wasn't directly using ApplicationUpdates. :P
Use package origin as the cursory check when checking for extras.ubuntu.com packages.
The check using controlField is very expensive as behind the scenes it has to iterate through all the package's metadata.
This improves startup performance in MSC and Muon Discover by 10%
Other
Development Tools
Protect access of QAbstractItemDelegate pointer using a QWeakPointer.
The standard output view allows plugins to provide delegates and
also allows them to keep the ownership of them. While powerful, this
seems to be buggy and can lead to crashes in some cases.
Now we should properly detect the cases where we try to access an
invalid item delegate and output a warning instead of crashing.
It would still be interesting to know which plugin is responsible
for this bug.
Let the OutputView take ownership of a job's model and delegate.
This is required to ensure proper functionality of the views
when e.g. a plugin gets unloaded. Previously, this would trigger
crashes due to access of invalid model or delegate pointers.
Now the view will stay functioning even if e.g. the MakeBuilder
gets plugin gets unloaded after a project was compiled, or even
if you close a project while it is being built.
It is still safe to access both, the model and the delegate,
from inside a job as long as the job is running. When a view
gets closed, the job gets cancelled anyways.
Sadly, this is an ABI break and thus cannot be backported to
the KDevplatform 1.4 branch...
KDE Base
initart commit for the Chrome plugin
Add program to test signals
TestLibrary: Write a Data Generator
It can be used to push false data into Nepomuk for the purpose of
testing. The API might not be the most brilliant in the world, but it
works, and it can always be changed.
KDE-PIM
making a lot of progress now. almost links for day printing
Indicate on D-Bus when performing database updates.
This will allow clients to show a wait screen while this happens. While
didn't really have long-running database upgrades so far, this is a
prerequisite to finally merge the part table optimization branch.
Office
restore one of the testing patches
R +0 -0 portage/kdeapps/calligra/0001-make-it-possible-to-find-openjpeg-on-windows.patch [from: portage/testing/calligra/0001-make-it-possible-to-find-openjpeg-on-windows.patch - 100% similarity]
restore one of the testing patches
R +0 -0 portage/kdeapps/calligra/0001-make-it-possible-to-find-openjpeg-on-windows.patch [from: portage/testing/calligra/0001-make-it-possible-to-find-openjpeg-on-windows.patch - 100% similarity]
Multimedia
Add basic support for loading video clips in project
User Interface
add a cmake config file for kdewin
this makes it possible to search for kdewin without using a FindKDEWin.cmake script
Tools are still missing, but they haven't been provided by the old find script as well.