|
| This Week... |
|
Trolltech-sponsored development continues on Phonon backends. Support for saving to remote URL's in Gwenview. A "Now Playing" data engine and applet, and the train clock returns in Plasma. "Switch Tabs on Hover" can now be disabled, and other refinements in Kickoff for KDE 4.0. Work on a debugger (with a SpeedCrunch-inspired interface) for KHTML. Work to support the most recent release of the Flash (version 9) multimedia plugin in Konqueror. SOCKS support in KTorrent. Device handling fixes in KPilot. More work on music services in Amarok 2.0. Further work on the KChart Flake shape in KOffice. More panorama work, amongst other developments in KOffice. Support for the Bonjour protocol in Kopete. Initial import and development of a MS Cabinet format archive reader. The temporarily-named Video Player, formerly-known-as-Codeine, has been finally renamed to Dragon Player.
|
Kévin Ottens recently did a talk at the FOSS.in 2007 conference titled "KDE/ISI Student Projects: The real story of a few students near Toulouse". Here is a summary of his talk:
|
Shakespeare says it all...
Two households, both alike in dignity, In fair Toulouse, where we lay our scene, From ancient grudge break to new mutiny, Where student blood makes academic hands unclean. et caetera
Wait! This time, it has a Happy End(tm) - this time we have Konqui instead of Mercutio!
Introduction KDE 4 is coming. It will be the next major version of the KDE project, but all this is only possible thanks to its contributors. Many of them started contributing in their free time while still being students. We can get even more students contributing by proposing student projects in universities. I therefore present a collaboration experiment conducted last year near Toulouse, France with the IUP ISI at the Paul Sabatier University.
The ISI is a "Professional Institute" (with the IUP quality label), performing software engineering with a strong focus on project management, development processes, quality assurance, and distributed and real-time systems.
The goals of the KDE/ISI collaboration are to enable students to apply what they learn in class to a dynamic, real-world project, learn new techniques and technologies by themselves, and to experience project management and client relationships "for real".
The collaboration is organised as a group of 6 month projects, with professors acting as the client team, and students acting as the development team. In our first year of the experiment, we proposed projects close to the usual topics: KPlato for project management, and Umbrello for UML modeling. To assist the students, we installed a machine with NX so that they can test applications without needing to install another operating system (some students still don't run Linux!), and so that they do not need to deploy the unstable software on their work computer.
Problems and solutions The obvious potential problems of the experiment include:
- Deployment of the development platform
- No communication with the community
- Troubles tracking community progress:
- We began shortly after the "BIC monday" policy within KDE development
- Visibility of the work done
To mitigate these potential problems, we:
- Gave technical support during the first weeks (deployment)
- Allocated KDE mentors before the students started:
- Jonathan Riddell (Umbrello)
- Thomas Zander & Will Stephenson (KPlato)
- Pushed them to contact sysadmin for KDE SVN accounts
- Let them choose how to work:
- 3.5 vs trunk?
- In a specific branch or not?
- Tracked the commit logs
 |  | | Umbrello and KPlato defences (evaluation session) | |
Work officially done in the first year of the experiment:
- KPlato
- More views (tasks per resource, metrics and graphs)
- PERT support (view, editor, critical path)
- Umbrello
- Migrated to a sane undo/redo framework
- Added support for some UML 2.0 primitives:
- Sequence diagram
- Activity diagram
"Hidden work" (after the official end of the projects):
- Umbrello branch merged back on trunk
- KPlato architecture improvements proposals
How did it work? What worked well:
- Interaction with the community
- Students were shy but felt welcomed
- Slowly improved their communication
- Unexpected idea: two Hacking Sessions on Saturdays
- February and March, the last two months
- Formed a core team, it's now monthly!
Areas for improvement:
- Project management
- Not easy to be process-driven inside the community
- Professor team should be more pro-active in this area
- Visibility of third year students work
 |  | | February and March hacking groups | |
In the second year of the KDE/ISI collaboration, we modified the rules of the system. The current situation at the IUP ISI is that students can propose as many projects as they want, covering any domain that they want (eg. instant messaging, multimedia, etc).
Some of the students who participated in the first year of the experiment are still active in KDE, and many of them found nice internships thanks to their projects: some of them even spread Free Software at their internship!
In the second year of the collaboration, we also have less constraints on the projects, and with the success of the first year, we can now have more groups (4 teams, a +100% raise!). We have more manpower, thanks to awareness in the KDE community and because students from the first year are willing to help.
Learning from past mistakes
- Reduce the load on people to allow better scalability
- Ensure more visibility of student work
- Avoid the client confusion experienced
- Professors acted as client, but they didn't have the required "user knowledge"
- Revised organisation
- One project manager, who
- Receives a report from the client at each iteration
- Discusses the documents and project progress during meetings
- Proposes ways to improve the project management
- Technical support
- Two people per project
- A group available for daily concerns (mostly on IRC)
- Available on site once a week
- Proposes ways to improve application design and code production
 | | Communication processes within the collaboration | |
This year, we first introduced all the potential projects to the students, and then let them form teams of four students and choose the project they wanted - this gave them experience in conflict resolution! The projects chosen by the teams (see photo below) are:
 | | Teams in the second year of the KDE/ISI collaboration | |
Toward Free and Open Source World Domination?
Spread outside the IUP ISI?- In discussion with a local engineering school for a similar scheme
- Need to adapt depending on the type of school, their schedule, etc.
Spread outside Toulouse?- In my opinion, we must spread these kind of schemes
- Probably needs to be adapted depending on the culture
- People willing to replicate in India and other countries?
An important consideration is that, though all that I introduced above is a collaboration with the KDE project, the general ideas can probably be used in other projects. Pick your favorite project - it's all Free Software!
Advice to get you started
- Build trust
- Both with students and professors
- Give the professors guarantees on how to track progress
- Even if they don't use them
- Be flexible and committed
- Be ready to give up on the type of applications chosen
- At least the first year
- With success, you can ask for more
- Be ready to feel alone when supporting the students on the technical side
- At least the first year
- With success, you can get more help thanks to new blood
Summary
The Idea
- Setup Free Software projects as part of a course of study
- Have groups of students working on a common project
The Outcome
- Students get a better chance to have an interesting internship/job thanks to Qt & KDE skills
- More people working on Free Software applications during the project span (6 months!)
- Addiction: Fresh blood enter the project community!
Thanks
- To the professors of the IUP ISI, Toulouse for their support of new ideas and for allowing this idea to grow.
- To the adventurous students for the nice work done (and congrats on your diploma!)
How to help
- Spread the idea to universities near to you
- Try to set it up in other universities
- Feel free to ask for advice or information!
- If needed I can also discuss with your professor/staff, etc.
|
|
It seems no one really noticed, but the buzz rankings of the statistics section of each Digest have been frozen for the last several months (until I was able to move the processing to a different machine). This week I finally had time to do it, and i'm very slightly surprised at the rankings - I must find the secret of Tobias Hunger's power (or adjust the algorithm for "realism")! Also added are the "pillars of KDE 4", such as Plasma and Solid - as you might have guessed, Amarok has finally been dethroned at the top of the "programs" table! See the complete rankings here.
|
Not too long ago, someone wrote a comment saying that the best way to earn money in Open Source is through donations. I chuckled to myself: since i've had my little, unobtrusive "Make a Donation" button on the left of every Digest page (it's been months), i've received a total of 3 donations. Part of the reason for this is surely that I have never actively promoted it, and that is because I don't do the Digest for monetary gain - and this will continue to be the case for as long as I produce the Digest. However, this week i'm going to do a little experiment!
The laptop I use (my only computer) to produce the Digest is now 4 years old, and it's starting to show its age. This week i'm having a donation drive - I call it "lets-get-dannya-a-new-laptop", and for those with extra money they just don't know what to do with, the solution is right here: I go into this with no expectations: I already have most of the money towards this goal. And this is really for people with disposable income and who are not already significant contributors to KDE - KDE contributors are already honourary contributors to an even more important goal. For those who can't/don't want to donate, there are other ways to show your appreciation - maybe leave a comment at the Dot, or email me.
Or do all three. Or do neither. Whatever you do, continue enjoying the Digest each week, just as I enjoy bringing it to you!
|
|
| Statistics |
|
| Contents |
|
|
Bug Fixes |
Features |
Optimise |
Security |
Other |
|
Accessibility |
|
|
|
|
|
|
Development Tools |
|
|
|
|
|
|
Educational |
|
|
|
|
|
|
Graphics |
|
|
|
|
|
|
KDE-Base |
|
|
|
|
|
|
KDE-PIM |
|
|
|
|
|
|
Office |
|
|
|
|
|
|
Konqueror |
|
|
|
|
|
|
Multimedia |
|
|
|
|
|
|
Networking Tools |
|
|
|
|
|
|
User Interface |
|
|
|
|
|
|
Utilities |
|
|
|
|
|
|
Games |
|
|
|
|
|
|
Other |
|
|
|
|
|
|
|
Bug Fixes |
|
|
|
KDE-Base |
|
Peter Penz committed changes in /trunk/KDE/kdebase/apps/dolphin/src:
|
fixes for the terminal panel: * assure that the correct directory is entered when reopening the terminal * let the terminal be focused also when reopening it |
|
|
|
|
|
|
Thomas Zander committed changes in /trunk/KDE/kdebase/apps/konsole/src:
|
|
This makes sure that if you create a new tab it will always inherit the current dir, unless the profile you use (either the default using 'new tab' or using a profile specifically) has a directory set. In which case it will go to that dir. |
|
|
|
|
|
|
Robert Knight committed changes in /trunk/KDE/kdebase/apps/konsole/src:
|
Fix the long standing limitation where multiple views on the same terminal session had to be the same size - the size of the smallest view. This means that it is now possible, for example, to have a large view on a session for browsing and examining output and a smaller view on the same session for input.
The underlying terminal does not support the concept of multiple windows, so the size reported to terminal applications is still that of the smallest view. Full-screen applications such as vim and emacs will therefore be the size of the smallest view on all views.
* Add a method in ScreenWindow to set the size of the window (in lines, the number of columns is still ifxed). * Call this method in TerminalDisplay to set the window size when the widget is resized or when the screen window of a display is initially set. * Fix ScreenWindow::getImage() and ScreenWindow::getLineProperties() so that they do not attempt to retrieve information about lines beyond the end of the screen. * Fix ScreenWindow::getLineProperties() to always return result vector of size windowColumns(), though the number of elements copied from the screen may be less. |
|
|
|
|
|
|
David Faure committed changes in /trunk/KDE/kdelibs/kdeui/util:
|
Fix KCursor autohide feature for scrollareas like KTextEdit: the widget gets key events, the viewport gets mouse events, so we need an event filter on each one. |
|
|
|
|
|
|
|
|
Albert Astals Cid committed changes in /trunk/KDE/kdebase/runtime/kcontrol/locale:
|
allow the languages that don't have systemsettings translations to set the language too.
we need to mantain our own language list instead of using KLocale's because KLocale does not add a language if there is no translation for the current application so it would not be posible to set a language which has no systemsettings/kcontrol module translation
Patch idea suggested by Chusslove tested and approved by him too |
|
|
|
|
|
|
Maksim Orlovich committed changes in /trunk/KDE/kdelibs/khtml/ecma/debugger:
|
- Properly update line numbers in the backtrace data structure all the time, not just when we're entering a context (so if one stops in the middle of something, the lines are actually correct)
- Make the callstack display actually usable, and let is jump around the code. It doesn't change the context for the variable display. Maybe it should. Maybe it shouldn't. Not sure. But it sounds too much like a feature, so at this point I'll take "no" as the answer. |
|
|
|
|
|
|
|
|
KDE-PIM |
|
Kevin Krammer committed a change to /trunk/KDE/kdepim/kmail/kmcomposewin.cpp:
|
- Fix signal/slot connection for on-demand spell checking. - Forward toggling of continuous spellchecking mode to the editor widget, which unfortunately doesn't work when it is in RichText format input mode. |
|
|
|
|
|
|
Jason vanRijn Kasper committed changes in /branches/KDE/3.5/kdepim/kpilot/lib:
|
- Woot! Fixing major breakage for funky usb devices. pulled back some removed code from KDE 3.5.6's kpilot for usb workaround code and fit it into the new threaded model. This fixes syncing for me on my Palm Treo 700p. - Reformatting and cleaning up kpilotdevicelink.cc. - New Private.h to hold the bits of kpilotdevicelink.cc that should not be exposed via kpilotdevicelink.h. Also, DeviceCommThread extends QObject and QThread, so we need to have automoc run on it. - Switching from using QCustomEvent to using QEvent for device tickle thread to match what is done in kpilotdevicelink. |
|
|
|
|
|
|
Jason vanRijn Kasper committed changes in /trunk/KDE/kdepim/kpilot/lib:
|
- Bringing changes over from kde3 branch. - This fixes the Treo 700p (and other devices) by bringing back the pre-device-comm-thread approach, while still maintaining the fixes I brought in with the non-GUI thread for device comm.
Namely, we still use a thread to do all the low-leve comm work, but instead of looping, we allow 2 paths: 1) a timer fires, which means we couldn't re-establish comm, or 2) a QSocketNotifier tells us that there's data available on the HotSync port. |
|
|
|
|
|
|
Thomas McGuire committed changes in /trunk/KDE/kdepim/kontact/plugins:
|
Fix some D-Bus calls to the groupware interface. Untested. Once the groupware D-Bus stuff has been properly ported, we can use an auto-generated interface for this, so these kind of errors don't happen again. |
|
|
|
|
|
|
Thomas McGuire committed changes in /trunk/KDE/kdepim:
|
Use qint64 instead of size_t for the folder size calculation, otherwise folders >2GB won't show up correctly on 32 Bit systems.
I hope I found all places were the conversion was necessary. I couldn't really test this, as i don't have a 64 Bit system, but I should work. |
|
|
|
|
|
|
|
|
Networking Tools |
|
Joris Guisson committed changes in /trunk/extragear/network/ktorrent:
|
Finished settings dialog revamp : - DHT and encryption now are on the BitTorrent settings page - Stats plugin settings have been splitted into two pages
This results in a smaller config dialog, and so 152492 is fixed |
|
|
|
|
|
|
|
|
Office |
|
Boudewijn Rempt committed changes in /trunk/koffice/krita/ui:
|
|
Fix loading of .kra images (the imagename was set in the info block and then reset when an empty info block was loaded later on) |
|
|
|
|
|
|
|
|
|
|
Features |
|
|
|
Dmitry Suzdalev committed changes in /branches/work/kbugbuster-dimsuz/gui:
|
Moved signals for starting bug query out of server list model to main window - query is started when query item gets selected.
Actually I guess backend API takes some shape, so I can start documenting classes and putting up some kind of DESIGN document with description of how they're connected |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Rafael Fernández López committed changes in /trunk/KDE/kdebase/apps:
|
|
Now the konsole part is autodestructed when no tabs do exist. This makes the desired effect on dolphin when typing "exit" on the terminal, the dock will be hidden. |
|
|
|
|
|
|
|
|
Luboš Luňák committed changes in /branches/KDE/3.5/kdebase/nsplugins:
|
Support for XEmbed-based plugins and Glib2-based eventloop. Should make the most recent Flash work, if you get sufficiently lucky and don't run into any of the load of its bugs.
Latest kdelibs/kdeui/qxembed.* needed as well. |
|
|
|
|
|
|
Maksim Orlovich committed changes in /trunk/KDE/kdelibs/khtml/ecma:
|
Simplify the pausing of CPU guard when blocked in debugger. The pause/restore API in KJS::Interpreter is too subtle to use sanely in this context. Instead, merely ignore timeouts when blocked, and restart timers when unblocked.
This should eventually be replaced by a proper modality manager, so thinks like alert() work right, too, but I need to think it over some more. It is quite crucial, though, since there are quite some event looprecursion issues ATM. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
KDE-PIM |
|
Thomas McGuire committed changes in /trunk/KDE/kdepim:
|
Some D-Bus work in KMail:
- Remove the existing org.kde.kmail.kmail/kmailpart/mailcomposer.xml files, and let them be generated at build time instead. This is done by extracting the slots and signals marked with Q_SCRIPTABLE. I had to adjust the CMake files of all users of the XML files to use the one from the build directory now.
Currently, the XML files are also installed. I am not sure if this is a good idea, as that implies we have to keep some sort of compatibility.
- Fix incorrect D-Bus path and method call in the summary view. Now the generated interface is used instead. Checking the accounts with the sync actions works again now.
- Some DCOP->D-Bus renamings in comments
- Some style fixes around D-Bus related lines
The D-Bus test of KMail and the Kontact KMail summary still work. This needs the new FindQt4.cmake from kdelibs. This probably needs a clean build.
I did not touch the groupware interface or the SMIME security config page (which talks to Kleopatra). This is left for KDAB to fix, but it would be nice to contact me before. |
|
|
|
|
|
|
|
|
|
|
Ian Monroe committed changes in /trunk/playground/multimedia/videoplayer/src/app:
|
|
VideoWindow's context menu now works correctly, in both full screen mode and normal. The full screen toolbar doesn't work right, which isn't surprising given all the wacky stuff it does, its likely Qt3 dependent. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Tejas Dinkar committed changes in /trunk/playground/network/kopete/protocols/bonjour:
|
Added Facility To Compare Incoming Connections To Hostnames Of Contacts
FIXME: This Currently Shows only how many contacts are at given host. We have to read the first few bytes of the stream to get the username I'll have to start using libiris after this, I guess |
|
|
|
|
|
|
Office |
|
Johannes Simon committed changes in /trunk/koffice/kchart/shape:
|
Interface changes in the legend tool: * removed third tab ("Labels") which only contained the font entry. Unified title and label font properties to go along with the ODF standard and to simplify things. * Changed tab order of legend type tool from data-type to type-data. After adding a diagram the user usually wants to change the type first. * support for showing/hiding legend frame * Unified/simplified legend tool widget layout |
|
|
|
|
|
|
Johannes Simon committed changes in /trunk/koffice/kchart/shape:
|
* Added a tool to select and modify datasets of the diagram. Now that selecting is implemented, dataset properties editing is to follow. Note: For diagram types other than bar diagrams, this is still somewhat buggy. Only works for cartesian diagrams atm. * Added ChartShape::repaint() along the way that doesn't update the entire KDChart::Chart. So it should theoretically be faster than ::update() |
|
|
|
|
|
|
|
|
Boudewijn Rempt committed a change to /trunk/koffice/krita/image/kis_gradient_painter.cc:
|
Start of making the anti-aliasing of the gradient painter colorspace independent. It's still buggy and slow, and parts of it should be going into the colorspaces (distance calculation and averaging), but at least this code compiles again. |
|
|
|
|
|
|
Cyrille Berger committed changes in /trunk/koffice/krita/plugins/viewplugins/panorama:
|
lot of changes that can be summarize in "able to stich more than two images" (modulo a bug in the initialization of the optimization)
In more details : - matching algorithms based on "groups match", faster and better results - improvement in the harris detection, remove the threshold (or more like use a smaller value... like 0.0) on cornerness, this increase the number of interest point, and split the layer in zones to increase the distribution on the image - introduction of the notion of models which are in charge of feeding the optimizer, and then output the transformation that can be feed to the blender - plus countless of changes to remove the limitation to two images |
|
|
|
|
|
|
|
|
|
|
Dag Andersen committed changes in /trunk/koffice/kplato/libs:
|
|
Change the Calendar/day viewsChange the Calendar/day views&models to something more promissing.models to something more promising. |
|
|
|
|
|
|
Johannes Simon committed changes in /trunk/koffice/kchart/shape:
|
More work on the new unified Chart Tool: * axes titles are now editable * diagram grid can now be shown/hidden * gap between bars and datasets can be changed * legend can be shown/hidden |
|
|
|
|
|
|
|
|
|
|
Utilities |
|
Brad Hards committed changes in /trunk/playground/libs/kcabinet:
|
Initial checkin of MS Cabinet file format archive reader
This class subclasses KArchive, and will (in the future :-) allow access to file that are archived in the "Cabinet" file format.
That format is documented, and there are other readers (e.g. cabextract) that handle it.
This still has a long way to go. I'm still struggling with the headers, and haven't yet done any of the decompression stuff. |
|
|
|
|
|
|
Brad Hards committed changes in /trunk/playground/libs/kcabinet:
|
Implement reading of non-compressed files.
I've temporarily borrowed a copy of KLimitedIODevice (from kdelibs/kio/kio), because it isn't public. This won't matter if KCabinet gets merged into kdelibs, but might require some harder thinking if not. |
|
|
|
|
|
|
Brad Hards committed changes in /trunk/playground/libs/kcabinet:
|
Add support for reserved data sections. At this stage we just throw them away, but if they were needed for anything, it wouldn't be hard to make it available.
Also add support for cases where the data is in more than one CFDATA block. We don't yet handle cases where a single file is spread over more than one block. |
|
|
|
|
|
|
Brad Hards committed changes in /trunk/playground/libs/kcabinet:
|
Add support for cabinet files containing compressed data.
This only works for MSZIP format compressed files (using the very handy KFilterDev decompressor, which implements the deflate algorithm).
This change uses code from the KZip file entry class. |
|
|
|
|
|
|
Optimise |
|
|
|
Kevin Kofler committed changes in /trunk/KDE/kdesdk/kompare/libdiff2:
|
put the levenstein table on the stack, not the heap, and hence only allocate mem for it when needed, rather than having 65k*(number of files) allocated all the time.
(forward-port rev 444219 by je4d from 3.5 branch) |
|
|
|
|
|
|
David Nolden committed changes in /trunk/KDE/kdevplatform:
|
Profiling has shown that DocumentRange was one of the biggest remaining memory-hogs, especially on 64-bit systems KTextEditor::Range takes much more memory than the actual content because the data is split across multiple separately allocated blocks.
Also, it is inefficient to copy around, and DocumentRanges maintain a hierarchy that isn't needed at all, but also takes a lot of memory.
Solution: Create efficient self-contained classes SimpleRange and SimpleCursor, that are used for each duchain object. Stop using DocumentRange in DocumentRangeObject. Instead, now each duchain object has one permanently stored SimpleRange, and a SmartRange pointer that is only nonzero when the document is loaded and has a smart-range.
The SimpleRange and the SmartRange are synchronized on access.
Result: - No more thread-unsafe range access in DocumentRangeObject::textRange() - Significantly less memory consumption - More efficient serializability because the SimpleRange is embedded in the shared d-pointer.
By the way the duchain initializations were cleaned up a little, and some yet unnoticed bugs there fixed. |
|
|
|
|
|
|
Educational |
|
Jason Harris committed a change to /trunk/KDE/kdeedu/kstars/kstars/dms.cpp:
|
Committing optimization fix for dms::setFromString(), as submitted by Andrew Buck and improved by Luciano Montanaro.
Thanks for the submission, Andrew. I'm having trouble understanding how kstars could be spending so much time in this function. I don't see that it is called by any inner loops. I noticed that you patched against the 3.5.x version of the code (which is why you didn't find QString::stripWhiteSpace() in the Qt docs; that function is called trimmed() in Qt-4.x). But even in that version, I only see the following calls to setFromString():
KStarsData::processCustomDataLine() [used when initializing custom catalogs] KStarsData::executeScript() [used when parsing a KStars DCOP script]
dmsBox::createDms(), which in turn is called by FocusDialog and LocationDialog, in functions that should only be used when those dialogs are opened.
Do your gprof results indicate the calling sequence that led to execution of setFromString() ?
thanks again, and welcome to kstars development! :) |
|
|
|
|
|
|
KDE-Base |
|
Aaron J. Seigo committed changes in /trunk/KDE/kdebase/workspace/plasma/applets/tasks:
|
significantly compress update events: never repaint an item or relayout a task group more than 5 times per second.
note that we do an initial paint immediately no matter what to avoid appearing slow in the common case.
should protect us against insane applications. |
|
|
|
|
|
|
Aaron J. Seigo committed a change to /trunk/KDE/kdebase/workspace/plasma/applets/tasks/tasks.cpp:
|
* another obvious possible optimization ... i remember when gimp used to reset its window title on mouse movement resulting in a title update per pixel moved over in a document window ..... even though the title didn't actually change content. protect against such insane apps as well.
* if we don't have a group, call updateGeometry immediately (should be useful if we ever allow "bare" tasks, e.g. on the desktop) |
|
|
|
|
|
|
|
|
Other |
|
Development Tools |
|
Andreas Pakulat committed changes in /trunk/KDE/kdevplatform/language/duchain:
|
YEEEHA! Shared dpointer implementation for most of duchain (I'm going for the typesystem next).
Lesson learned: DUChain is _really_ picky about properly initialized member variables and right order of doing things. |
|
|
|
|
|
|
Hamish Rodda committed a change to /trunk/KDE/kdevelop/languages/cpp/cppparsejob.cpp:
|
Calculate include paths while still in main thread. This finally allows me to parse the entirety of kdevplatform and kdevelop, with all their included headers!
By using the main thread we avoid many race conditions, including with KConfig and KUrl.
I'm starting to think we may need a dedicated thread-safe api for kdevelop, or an auditing of which methods are thread safe... |
|
|
|
|
|
|
David Nolden committed changes in /trunk/KDE/kdevplatform:
|
Completely change the way forward-declarations work. Statically resolving them while building the du-chain simply is incompatible with re-using pre-compiled du-chains.
So make forward-declarations dynamically resolvable, using a given top-context as visibility hint.
In Declaration: Make the behavior of "internalContext" simpler, and add virtual convenience-functions "logicalInternalContext" and "logicalDeclaration" that resolve everything on the way. |
|
|
|
|
|
|
KDE-Base |
|
Peter Penz committed a change to /trunk/KDE/kdebase/apps/dolphin/src/dolphinviewcontainer.cpp:
|
Only browse through zip and tar files if they are local (otherwise a cryptic error message will occur).
We really must make this behavior configurable in KDE 4.1 - I'd suggest that per default no browsing through zip and tar is done (with an option turning this on again) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Robert Knight committed changes in /trunk/KDE/kdebase/apps/konsole/src:
|
|
Remove dead code, including the non-functional scroll lock code. Scroll lock support will be re-implemented in the terminal display widget post KDE 4.0 if there is a demand for it. |
|
|
|
|
|
|
Aaron J. Seigo committed a change to /trunk/KDE/kdebase/workspace/kcontrol/CMakeLists.txt:
|
don't make the background kcm and it doesn't actually affect the background anymore. kdm stlil relies on the code there, though, so it can't simply be removed yet.
the currnet background dialog in plasma will get pulled out and made into a new kcm. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Urs Wolfer committed a change to /trunk/KDE/kdelibs/kdeui/icons/kiconloader.cpp:
|
Show debug warning if a broken icon has been requested.
Discussed on kde-code-devel.
Note: ifndef NDEBUG does not work yet. It will make sense as soon as this define works again. If you compile in debug mode, warnings will be shown for every broken icon at every request. In release mode, warnings will only be shown once; after the 'unknown' icon will be in cache. |
|
|
|
|
|
|
|
|
Thomas McGuire committed changes in /trunk/KDE/kdepim/kmail:
|
- Automatically lighten the KMail system tray icon if the unread count is displayed. - Change a few colors to use KColorScheme
Patch by Jakob Petsovits, thanks! |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Cyrille Berger committed changes in /trunk/koffice/filters/krita:
|
|
add initial experimental untested and unconnected to a mimetype filter for OpenRaster (long-term) Archive file format but with only saving implemented |
|
|
|
|
|
|
Other |
|
Patrick Spendrin committed changes in /trunk/kdesupport/kdewin-installer:
|
adding kdewin-menubuilder: This program is for internal use only. Integration into windows emerge.py and kdewin-installer will follow. See kdewin-menubuilder --help for help.
The menubuilder isn't ready yet, I am still searching for a solution about the Categories (maybe I can use them for the folder structure?). |
|
|
|
|
|
|
|