MW

Blog - page 8

Recent Posts

Beware of KDevelop Master and KDELibs 4.5.1 or lower (September 10, 2010)

Hey all,

please don’t use KDevelop master with KDELibs 4.5.1 or lower. Katepart in that version misses a crucial commit that makes KDevelop crash. It is fixed for 4.5.2. In the meantime you have on of the following options:

  1. Build kate from sources
  2. Switch to the stable branches, i.e.: KDevplatform 1.1, KDevelop 4.1, PHP 1.1, …
  3. wait for the 4.5.2 release

bye

continue reading...

Short GSOC 2010 Note (August 22, 2010)

Hey all,

before I go on a short one-week vacation, I wanted to leave you a short note about the outcome of my GSOC, where I tried to revive the Quanta+ brand.

First up, I passed, many thanks to my mentor Andras Mantia. But well, it’s not like I got that for free. In a first estimation I did about 500 commits to Quanta, PHP and KDevplatform in the last three months. So I hope you all agree that I deserve the Google money :)

But lets talk about what I planned to achieve and what I actually achieved:

  • the XML/HTML plugin is working quite well but is still requiring lots of polishing
  • the browser preview plugin is supposedly being worked on by another studen in Brazil, I’m awaiting her first results and will polish it together with her.
  • you still cannot rename tags and automatically rename the close tag as well or similar
  • the multilang branches have imo nice API additions and seem to work reasonably well. At least my test cases of CSS inside HTML worked fine for me

Anyhow, on one hand I’m personally satisfied with what I achieved code wise, esp. looking at the diffs and knowing how many iterations some of the multilang structures required. On the other hand I had hoped to achieve much more. A first alpha release of Quanta is really not visible to me in the near future.

continue reading...

Dr Konqi now with colors (Updated) (August 20, 2010)

Hey there :)

As I announced on the kde-core-devel mailing list, I planned to improve Dr Konqi for a long time, as for me as a developer it is an invaluable tool. Well, yesterday I sat down and implemented the first two things which I wanted for a long time:

Scroll to KCrash

Once the backtrace got loaded, Dr Konqi will automatically scroll to the line that contains [KCrash Handler]. No need to find that manually anymore. Awesome :)

Colors!

Yeah, you should know that I as a KDevelop user and developer am addicted to syntax highlighting. That’s what I did for Dr Konqi as well now:

dr konqi with syntax highlighted backtrace
Dr Konqi with syntax highlighted GDB backtrace

So anyone using KDEBase trunk will now have a shiny Dr Konqi :) Feedback appreciated, esp. whether more or less should be highlighted. I personally found it overly colorful when I also highlighted pointer adresses (ignore the bug in that outdated screenshot). What do you think?

continue reading...

Final days of Quanta GSOC 2010 (August 04, 2010)

Hey everyone,

as the pencils down for this years GSOC is approaching I thought it’s time to write another blog entry to notify the world about my current status.

These past weeks (boy, the time flies…) I’ve mostly spent on hardcore KDevplatform internals. Especially getting multiple languages in a single document working was not easy. I knew it would be the most time consuming and most demanding aspect during these three months, but also by far the most important. I’m confident to say now: I’m nearly there. All projects we put into the KDevelop repository have now a multilang branch in their team clones. And if you look at e.g. the KDevplatform multilang branch or the Quanta multilang branch you hopefully agree that I didn’t slack off too much. I just wasted some time to find the right approach, often by implementing one just to find out it was not practicable.

continue reading...

Spotlight: Kate Scripting (July 27, 2010)

Hey ho everyone.

Dominik asked me to blog about a feature in Kate that is still (sadly!) pretty unknown and seldom used: Kate Scripting. As you should know you can script KatePart completely via JavaScript. As those articles explain, it’s rather simple to write functions and put them into a file to have them reusable. But what for those write-use-throwaway kind of cases, where you simply need to get a job done quickly and don’t want to go through the overhead of writing some full fledged, documented, action-binded, localized script?

Utility Functions and why JavaScript rocks

Note: Neither map nor filter will be shipped with 4.5 to my knowledge, sorry about that. But you can still use the each helper (see below) to achieve the same with a bit more typing…

continue reading...

KDevelop 4.0.1 released (July 21, 2010)

Good news everyone!

I’m happy to announce the availability of our first patch level release for KDevelop 4. You can get it and the related packages from:

http://download.kde.org/download.php?url=stable/kdevelop/4.0.1/src/

This is a bugfix only release and everyone is urged to upgrade as soon as possible. Below you find a list of changes that went into this release.

Users should wait for their distributions to provide packages for them.

Thanks to the KDevelop contributors for making this possible and to the users for giving us valuable feedback.

PS: I hope to release a second patch level release in a month, assuming we find more to fix.

Bye

KDevplatform 1.0.1 Changelog

    * Milian Wolff: don't emit documentJumpPerformed when nothing changed
    * Milian Wolff: prevent infinite loop when url gets saved and triggers loading of new language plugin
    * Milian Wolff: fix ${selection} in snippets
    * Milian Wolff: properly handle manual document switches in context browser toolbar
    * Milian Wolff: fix: make it possible to activate repository in singleclick mode
    * Andras Mantia: Really load (and use as a replace source) the global ui.rc file, not the local one.
    * Milian Wolff: properly add codecompletion to existing documents
    * Mantia Andras: Enable select all/copy in the frame widget.
    * Mantia Andras: Propagate shortcuts setting to all the opened editor views.
    * Andreas Pakulat: Fix accessing of temp-files for windows.
    * Milian Wolff: properly handle unterminated strings in comments, fixes code completion after those
    * Milian Wolff: properly remove watcher to prevent crashes in smartrange dtor
    * Andreas Pakulat: Also set CMAKE_INSTALL_RPATH
    * Andreas Pakulat: Make sure kdevplatform is properly linked
    * Milian Wolff: put snippets completion items at end of list
    * Milian Wolff: fix clearComments for unterminated comments
    * Nicolás Alvarez: Create Class: Refresh move button state when a list item is removed too.
    * Nicolás Alvarez: When moving items in Create Class inheritance list, update selection.
    * Nicolás Alvarez: Update move up/down buttons when selection changes in inheritance list.
    * Milian Wolff: prevent endless recursion
    * Nicolás Alvarez: Change "Stop Jobs" icon from dialog-close to process-stop.
    * Andreas Pakulat: Fix documentation for the .desktop files
    * Milian Wolff: don't go into edit-item mode on doubleclick or single click
    * Niko Sams: Fix crash when closing kdevelop with running debug session
    * Niko Sams: Fix crash that can happen during shutdown with an active debug session
    * Andras Mantia: Avoid calling emitResult() in failed case. internalJobDone() is called anyway, and that calls emitResult(). The problem is: when the error message is shown, the eventLoop is reentered, the job is deleted. The emitResult() call after tries to use the deleted job -> crash. This might be only a workaround, but fixes bug 229557 (and its duplicates), bug 227823, bug 232444, 227584.
    * Milian Wolff: properly escape dot before git folder
    * Andreas Pakulat: End the namespace before the macros.
    * Jonathan Schmidt-Dominé: Fixed syntax-errors in ibrowsableversioncontrol.
    * Milian Wolff: add a \c where appropriate, add missing dot
    * Andreas Pakulat: Add some api dox how to get at plugins and load them properly.
    * Andreas Pakulat: Use the complete url of the active document.
    * Milian Wolff: make snippet invalid when name contains spaces
    * Milian Wolff: allow anything non-space in snippet's code completion model
    * Eike Hein: Meet HIG rules about alignment in forms.
    * Milian Wolff: make QuickOpen look like a proper menu/dropdown
    * Hugo Pereira Da Costa: Fixed setting of maximum height for button and stack so that expander arrow pixmap is not trunkated when small font is used.
    * Hugo Pereira Da Costa: Removed unnecessary calls to "setAutoFillBackground(true)". this allows main window background gradient (if any) to be painted right. (like in e.g. oxygen, bespin). Does not affect other styles.
    * Hugo Pereira Da Costa: Keep vertical size policy unchanged when embedding KLineEdit inside toolbar.
    * Hugo Pereira Da Costa: Rotate back icon so that it is still painted horizontally even for vertical buttons Use option->iconSize to decide which pixmap must be rotated.
    * Hugo Pereira Da Costa: This patch modifies the painting of sidebar vertical toolbuttons so that - the button frame is painted "non-rotated" - only the text is painted rotated. This fixes how buttons shadows are rendered. Screenshot at http://www.flickr.com/photos/hugo-oxygen-icons-org/4584572966/sizes/o/
    * Andreas Pakulat: Increase minor version.
    * Andreas Pakulat: Remove kross from subdirs list
    * Bertjan Broeksema: Port away from deprecated KLibLoader::self to KPluing loader.
    * Bertjan Broeksema: Initialize members in the right order.
    * Bertjan Broeksema: Clean up
    * Bertjan Broeksema: Fix warning and clean up.
    * Bertjan Broeksema: Fix a compile warning related to deprecated hash_map.
    * Bertjan Broeksema: Fix a bunch of trivial compile time warnings.
    * Milian Wolff: fix LGPL file as proposed by TZander
    * Milian Wolff: fix compile when ifDebug is enabled
    * Niko Sams: Debugger: Only switch back to code area if there is an active MainWindow.
    * Volker Krause: build with -pedantic
    * Andreas Pakulat: Don't crash if dynamic_cast fails.
    * Thomas McGuire: Fix progress popups being transparent.

continue reading...

Quanta GSOC midterm evaluation (July 08, 2010)

Hey there!

Midterm evaluations for GSOC are coming up and Andris Mantia, my mentor I finally met at Akademy, asked be to blog about what we already have in Quanta. Because there is a lot and most of you are not aware of that. And to be honest it’s actually too much to put into a single blog post, so I hope to do more of a series of blog posts showing off some features.

Quanta 4 is not Quanta 3

Anyhow, I fear that a disclaimer is in place, for all of you who are desperately looking forward a KDE4 version of Quanta. The thing is, I cannot, nor do I want to, port Quanta from KDE3 times as-is to KDE4. Instead I build on top of the KDevplatform that is also used for KDevelop and KTechlab. By sharing the basic code it gets much easier to maintain Quanta in the future. This decision brings two things with it:

  1. We get an awesome library to built new stuff on top, making things like the new PHP which is already much more advanced than anything from KDE3, actually plugin possible.
  2. We don’t have all features from Quanta 3 or if we have, they might look and work differently. This also means that you won’t be able to take your Quanta 3 workflow without changes over to Quanta 4.

continue reading...

Massif Visualizer - now with user interaction (July 08, 2010)

Just a quick status update: Massif Visualizer now reacts on user input. Meaning: You can click on the graph and the corresponding item in the treeview gets selected and vice versa. It’s a bit buggy since KDChart is not reliable on what it reports, but it works quite well already.

Furthermore the colors should be better now, peaks are labeled (better readable on bright color schemes, I’m afraid to say…), legend is shown, …

Now lets see how I can make the treeview more useful!

continue reading...

KDevelop 4 talk at 12:15 today! (July 04, 2010)

Hey everyone!

Apparently “Application Integration from KDE Finance Group” is not taking place, instead Aleix and me will fill the gap and talk about KDevelop 4. We haven’t got any slides and only prepared roughly yesterday, but we decided just to show KDevelop 4 in action. Lets hope that there will be something in there for any interested KDE developer.

I’ll definitely show some assistants again, since apparently many people still ignore them even though they are imo one of the best features we have.

So come to room I at 12:15 :)

PS: Short note regarding KDevelop at Akademy: I’m pleasantly surprised again to see so many KDevelop users around. You all rock!

continue reading...

KDevelop PHP Advancements: Namespaces and Error Recovery (June 24, 2010)

Hi there,

just a quicky before I head off to bed and go on a short vacation the next few days:

PHP support in KDevelop now has support for the first PHP 5.3 feature, namely namespaces. I’m still convinced that the syntax sucks pretty bad in PHP’s implementation of namespaces but well, my hands are tight and I had to support it. Anyhow, with PHP master you shouldn’t get syntax errors anymore when using namespaces, but instead proper code completion, syntax highlighting and context information… Well, full blown DUChain integration :)

Furthermore I just introduced the first few error recoveries in PHP that should make the situation a bit better when you work on a broken file. Up until now any parse error resulted in a file with no advanced PHP features at all until you fixed that parse error. Now it should at least skip parse errors in code segments between braces (classes, functions, conditionals, namespaces, …). It can be much improved of course, and I’ll do just that next week.

continue reading...