12th August 2012by KDE Commit-Digest Team
|Commits||2405 by 189 developers|
|Bugs Opened||358 in the last 7 days|
|Bugs Closed||486 in the last 7 days|
|Sergio Luis Martins||
|Albert Astals Cid||
Internationalization (i18n) Status
|Chinese Traditional (zh_TW)||
|British English (en_GB)||
|Albert Astals Cid||
There are 131 selections this week
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...
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.
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
* 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
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 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.
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
new libkipi plugins config widget layout to group tools by categories for a better readablility
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.
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
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.
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.
use virtual screen size when desktop is resized
QDesktopWidget::screenGeometry() fails if there's a panning or overlapping screen setup
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
DIGEST: Fix massive memory leak in Nepomuk File Monitoring Service
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.
Move blur behind setting for dashboard to windowAdded slot
We always want to have blur behind the Dashboard window not
just after the activitation.
Add a new --skip option to nepomukindexer
to allow skipping of strigi plugins.
Shortly to be used for fixing bug 303670.
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 being broken on purpose there.
Stop preview jobs when closing Dolphin
Patch by Benni Hill. Thanks for the patch!
Fix Quit not working in system tray icon context menu
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
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.
Fix misplaced validation tip in tableview; show invalid data warnings
*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
* 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
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:
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.
(cherry picked from commit 4687aaf3dc93038f368f39b091ab75a40f899a07)
add ruby flag to support utf8 queries
This bug was reported by Dimitrios. Thank you very much!
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.
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.
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.
Prevent crash in case of non-working sql collection
Add some validity checks for the case where a collection is
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.
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
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.
Fix the tab preview ratio. We want the web page ratio, not the window ratio.
Fix size after download calculation in FileSelectDlg when file already exists
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.
Clarify some docstrings, rename remInstalled
remInstalled did not do any removal but just returned the package
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.
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.
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.
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.
add new method to extract kipi-plugins version from common kipiplugins.desktop file
Print libkipi and kipi-plugins version on plugins config widget
make it possible to pause the background manager
Read my words: I will regret this feature over and over again :-)
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.
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.
Focus-tracking for widgets in Dolphin View now works.
Added the calls to updateAccessibility, for DragDrop & Focus scenarios
all plugin manager functions for interfaces implemented ;)
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
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.
Port to IncidenceChanger.
- 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.
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.
Add support for proper drag-and-drop for moving the panel.
Add the new Behind composite Op
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
Implement Latex plugin
BAM! That's right, all in one commit!
(Well, I stole a significant chunk of the code from Kopete)
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.
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.
Muon Software Center now supports KNSBackend \o/
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
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.
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
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 :).
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
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.
improve error message when no scanner dialog plugin was found
* 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
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
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]
delay expired cyclical items, kill normal ones
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.
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
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
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.
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.
Improve accessible interface.
Instead of re-implementing isValid, use the much better existing implementation
in QAccessibleWidget. Also make use of the "object" variable.
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.)
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
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
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.
Improve breaking into chapters.
- Also break for <h>, not just <p>, with fo:break-before
- Propagate this attribute up the inheritance chain.
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.
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
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.
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.
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.
common-kdegames-init / end define svn2git rules common for
all games. Using this greatly reduces the size of the game
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
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
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
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
Don't allow the awful mobile style touch scrolling on the plasmoid base
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.
* 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.
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%
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...
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.
Add program to test signals
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.
making a lot of progress now. almost links for day printing
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]
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.