MW

Quanta GSOC midterm evaluation

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.

Some examples for the last part, that also sheds some light on our (== KDevelop team) preferred way of designing the IDE:

First and foremost, dialogs are evil. There, I said it. I doubt I’m the only one here and there are actually many other KDE applications following this mantra. Afaik Aurelien from Gwenview is trying to make it the first app in KDE without any modal dialogs. Go for it dude! What does that mean for Quanta? You might remember that Quanta 3 had lots and lots of dialogs. You could change attributes of HTML tags via dialogs, you could insert code via dialogs. In Quanta 4 this wont be the case, at least I won’t write these dialogs. Instead I concentrate on kickass code completion, which should make these dialogs obsolete.

In my opinion every dialog that created or changed code can be replaced by code completion. And if you use it, it’s much faster to write and change code. You don’t have to grasp a new magic modal dialog and find the attribute you want to change. Instead you simple select it, CTRL + Space for code completion and insert the stuff you want.

existing Quanta 4 features

So much for the design ideas in Quanta4, now lets talk about what we already have now in Quanta4. For the uninitiated, you can find the source code at http://gitorious.org/kdevelop/quanta. You will need KDevplatform, KDevelop-PG-Qt and QJSON to get all plugins built.

Also another note is in place here: Even though I have the GSOC and spent lots of time on Quanta, the features I describe below wouldn’t exist if not for the help and work of others. Most notably Niko Sams (PHP, CSS, Execute Browser, Execute Script, XDebug, Crossfire, …), Ruan Strydom (XML/SGML, PHP formatter) and all the other guys happily hacking away at KDevplatform and it’s core plugins and libraries.

PHP

For those that never heard about the work Niko and me put into the PHP language support plugin for KDevelop, you have quite a lot of catching up to do :) I’m too lazy to reiterate everything, if you are interested, read my blog posts: https://milianw.de/tag/php

But frankly, you should instead just try it out. We released PHP together with KDevelop 4.0 and most distros should package it. I still actively work on it and e.g. just brought in some PHP 5.3 features (namespaces) the other day.

To list just a few things we have:

If you thought Quanta 3 was good for PHP development, try this, really :)

Ah and before I forget that: Niko also wrote a plugin that integrates XDebug: http://nikosams.blogspot.com/2010/02/kdevelop-xdebug-php-debugger.html

CSS

Here I think I can simply link to Nikos blog posts explaining and showing off his CSS language support plugin:

http://nikosams.blogspot.com/2010/01/kdevelopquanta4-css-language-support.html
http://nikosams.blogspot.com/2010/02/css-language-support-update.html

As you can see once again: When using and implementing the tools in KDevelop properly for a language you get insanely good code completion and context sensitive help plus some browsing utilities. Very handy indeed, and once again (imo) better than what we had in Quanta 3.

Once we have proper multi language support in a single file, expect more goodness from my side, I only added more inline previewing, e.g. for colors.

XML

This is by far the largest surprise for me. Ruan Strydom, a South African, announced at one day - out of the blue - that he is working on a XML language support plugin for KDevelop. And he did a quite good job at it. I’ve been helping out there the last weeks and fixed bugs and added a few features, but it’s still mostly his work. It is already quite useful, as it parses the XSD or DTD that is used in your document and based on that offers you context sensitive code completion and context browsing. It also works somewhat for SGML, e.g. HTML and is quite handy.

There is still quite a few things to do here, e.g. report errors about invalid attributes, tags, etc. pp (currently only real XML syntax parse errors are reported).

Snippets and External Scripts

In Quanta 3, custom toolbars and the actions in them where apparently quite popular. In KDevelop and hence Quanta as well, this is currently handled differently, yet the features should be the same, if maybe with a different workflow. See e.g. https://milianw.de/blog/snippets-in-kdevelop-kate on how snippets work, and https://milianw.de/blog/kdevelop-externalscript-plugin for external scripts.

These should (hopefully, if not please report) give you all the features you had with user actions in Quanta 3. Putting these actions into toolbars is not there and I frankly don’t see the huge need for it that would make up for the huge time I’d had to spent on it to get that working again.

The future and call for feedback

So as you can see, Quanta is not dead, but got very much revived. I hope to get our beloved webdevelopment IDE up and running next year at latest, if possible with a few first test releases this year. Anyhow, back to GSOC:

It’s currently midterm and I already achieved a lot, in the next weeks I will definitely spent my time in getting proper multi language support in a single file up and running. That would then finally make it possible to have proper context browsing and code completion in e.g. a template that includes CSS, PHP and HTML. Also the inline HTML preview from Quanta 3 is needed to be ported / reimplemented. But I might be missing things, which makes me conclude this overlong blog post with a call to old Quanta 3 users:

What features are you missing above from Quanta 3?

Please write one comment per feature and then do “+1” kind of comments to get a basic vote here. That way I can see on what features I have to concentrate on to get Quanta 4 up and running.

Bye

Comments

Want to comment? Send me an email!

Comment by John Culleton (not verified) (2011-11-25 22:14:00)

How difficult would it be to simply rewrite the current Quanta+ with calls to the new Qt4 taking the place of existing calls to Qt3 etc. I have gone through all kinds of gyrations trying to get Quanta to work on my current system. The one that comes closest is Trinity, but the VPL editor, a standout feature of Quanta+ 3, is missing.

I understand that rewriting the program completely is more satisfying to you. It doesn’t happen to satisfy us at all. We want our Quanta back and care not if it has additional bells an whistles. Integration with other KDE packages is not important either. If Bluefish or Amaya or something else had the feature set of Quanta we wouldn’t bother with it at all. But they don’t.

I have felt for some time that the small handful of useful programs included with KDE (Quanta, Krita, Ksnapshot) were developed as separate programs they could be freed of following all the twists and turns of the increasingly irrational KDE development process. I have already switchted to XFCE instead of the KDE Gui and from KMail to Claws Mail. Others have done the same. I use Firefox, LIbre Office, Inkscape, Gimp, Scribus etc. and ignore most of the stuff beginning with K. Quanta is the only got to have that I can’t have without rebooting Slackware 12.2. And that needs to be fixed, sometime within the current decade.

But apparently the perfect has become the enemy of the useful.

John Culleton Slackware since 1996.

Comment by Milian Wolff (2011-11-26 02:40:00)

How difficult would it be to simply rewrite the current Quanta+ with calls to the new Qt4 taking the place of existing calls to Qt3 etc. I have gone through all kinds of gyrations trying to get Quanta to work on my current system. The one that comes closest is Trinity, but the VPL editor, a standout feature of Quanta+ 3, is missing.

It is lots of work. Sure, people can try to do it, but don’t expect it to be easier than finishing the Quanta+ from KDE4. I think you are missing the most important point here: The problem is not code or how hard it would be, the problem is manpower. There is simply noone that works on this. I’d gladly help anyone who has the time, I simply don’t have it anymore though.

Regarding VPL: Take a look at http://kders.wordpress.com/2010/09/29/on-the-fly-preview-on-quanta-also-… This is a really simple plugin and if someone would spent some more time with it, it could be released already. With some additional work, getting it up to the level of the old VPL plugin shouldn’t be hard at all. Again: It’s just man power and time that is lacking.

I understand that rewriting the program completely is more satisfying to you. It doesn’t happen to satisfy us at all. We want our Quanta back and care not if it has additional bells an whistles. Integration with other KDE packages is not important either. If Bluefish or Amaya or something else had the feature set of Quanta we wouldn’t bother with it at all. But they don’t.

Right, and I want a pizza and world peace. Again: I’m didn’t help with rewriting Quanta+ for the sake of rewriting it. This effort was started in order to try to fix the sorry state of Quanta3 in KDE 3: It was unmaintained and had a large code base that made fixing bugs hard, lets not even start with adding features. Think about it: Sharing code between Quanta+ and KDevelop just makes sense as it greatly simplifies the maintenance effort. And the superior architecture of KDevplatform also makes new features possible, which can be seen in the outstanding PHP support we have there. It is lightyears advanced compared to what Quanta+ from KDE3 ever had to offer.

I have felt for some time that the small handful of useful programs included with KDE (Quanta, Krita, Ksnapshot) were developed as separate programs they could be freed of following all the twists and turns of the increasingly irrational KDE development process. I have already switchted to XFCE instead of the KDE Gui and from KMail to Claws Mail. Others have done the same. I use Firefox, LIbre Office, Inkscape, Gimp, Scribus etc. and ignore most of the stuff beginning with K. Quanta is the only got to have that I can’t have without rebooting Slackware 12.2. And that needs to be fixed, sometime within the current decade.

Right, use what you like, that’s the good part about FOSS. But don’t get emotional about bugs in software. If you want something improved, then either step up to improve it or pay someone to improve it for you. Don’t expect others to do it for you, just because you complain on some random blog…

Have a nice weekend

Comment by Anonymous (not verified) (2011-08-08 11:30:00)

This is the best KDE news since years. For me Quanta was the most useful KDE app besides the KDEPIM suite. Let it rock!!! Thank you very, very much for the work. And thanks to the Quanta+ team at a whole. :)

Comment by Damiano (not verified) (2010-09-26 19:23:00)

I am currently moving to Ubuntu amd I an trying to decide between Quanta Plus and Kmpozer… At the moment I am more in favor of Quanta and I am VERY happy to hear that it is still being worked on !

One great thing that I am misisng from windoze is th possibility of replace HTML txt on the fly when a page is saved. This is mainly used to embed the save data in the HTML when the document is saved. The way it used to work on the old system is by using a comment tag like <!— insert-date-magic-word—>20010 10 10<!— end of date placeholder—>

So far I cannot find such a useful feature… Any chance it will be in quanta4 ?

Thanks for the great work !, Damiano

Comment by jay (not verified) (2010-07-15 15:02:00)

Let me mediate our thoughts and feelings to you:

We LOVE YOU ;) . All of You guys working on kdev.

Kdevelop/Quanta already left all competition miles behind. It’s an incredible development platform/IDE.

It saves hours of time on writing and debugging.

Thank You ! :)

Comment by Dan (not verified) (2010-07-12 16:32:00)

Milian, I am delighted you are doing this! (Though, I guess I will have to figure out how to use Git in order to install from source… ;-) )

Will there be configurable keyboard shortcuts for tag insertion? For instance, in Quanta 3.5, I can highlight some text, type control-p and have paragraph tags appear around it. I think all the other features I care about have already been addressed…

Thanks!

Comment by Milian Wolff (2010-07-12 17:17:00)

You can use snippets for that (though you probably need Kate from 4.5 since I needed to fix a few things in there):

Snippet contents:

    <p>${selection}</p>

Then simply assing Ctrl + p as a shortcut for that snippet.

Comment by Alex (not verified) (2010-07-11 12:38:00)

Oh, and another thing: There’s one thing I find really confusing in the current Kdevelop 4 PHP plugin: Within a function, each variable gets a different color. That certainly looks cool, but is really awkward to work with. :(

At least for me, this feature is not helpful, because I usually have the variables in a certain scope in mind, and I memorize their relations within the function by the name and not by the (randomly assigned) color. With the random colors, related variables names look different, while rather unrelated ones sometimes look similar. This causes a classical Stroop effect (cf. http://en.wikipedia.org/wiki/Stroop_effect, http://images.google.com/images?q=stroop+colors), and I find it very irritating. YMMV. ;)

I liked the old Quanta and new Kate behavior better, where variables simply have one color – much better to read, in my opinion. It would be nice to have the option to turn this off.

Comment by Milian Wolff (2010-07-11 15:31:00)

Go to kdevelop settings -> language support and turn down the “local color intensity” to null.

Btw. many people love this feature and that’s why it’s enabled by default. It helps you differentiate between different local variables easily. If you really don’t get acquainted with it, simply turn it off though.

Comment by Alex (not verified) (2010-07-22 21:34:00)

Found it, thanks! I understand that you’ll leave it on, but it’s great that I can turn it off. That’s what I love about KDE. :)

Comment by Alex (not verified) (2010-07-11 12:29:00)

I always liked the tag toolbars in Quanta 3. I did not only use them for creating tags and attributes, but also for a case as the following:

  • Imagine you have a HTML template part like <p>Enter a comment</p>
  • In order to have “Enter a comment” multilingual in WordPress, you would write <p><?php _e('Enter a comment', 'mytheme') ?></p>

In my Quanta 3 installations, I have created a custom toolbar with a couple actions that would create the <?php _e(' part as start “tag” and the ', 'mytheme') ?> part as closing tag. A similar tag would do the same in PHP generated output, e.g. for i18n’ing a snippet embedded it single-quoted output, this would be '.__(' and ', 'mytheme').' tags.

I’m currently using Kdevelop 4 on Gentoo, which already comes with basic PHP/HTML support. But I really miss the tag toolbars.

(I do however like a bunch of the new features, and I love you guys for developing a decent KDE4 webdev IDE. :))

P.S: After seeing the Preview, I’m afraid my comment will be mostly borked. I hope, you get the idea anyway.

Comment by Milian Wolff (2010-07-11 15:13:00)

Maybe I misunderstand you, in which case please clarify. Anyhow, why not use snippets now do achieve this:

    <?php _e('${cursor}', 'mytheme'); ?>

and

    '.__('${cursor}', 'mytheme').'

assign a shortcut to it and you are set. As I said, having a clickable action icon in a toolbar won’t happen so soon probably… But snippets also work with code completion so it should be fine. The former you could put into a repository that only shows up in HTML, the latter only when inside PHP.

Comment by Alex (not verified) (2010-07-22 21:49:00)

Yes the snippets would do. However, it would be a bit unfortunate if they only worked with keyboard shortcuts. I have quite a lot of these “tags”, and I don’t want to waste/redefine a bunch of shortcuts. ;)

Now I’ll have to find out how those snippets work. I just found your other post about snippets in Kate, looks like a good starting point.

Comment by Steini (not verified) (2010-07-10 09:06:00)

Hi,

I tried to build quanta, but it failed:

[ 1%] Building CXX object src/CMakeFiles/quanta.dir/main.o /home/adweso/MakeIt/quanta/src/main.cpp: In function ‘int main(int, char**)’:
/home/adweso/MakeIt/quanta/src/main.cpp:189: error: no matching function for call to ‘KDevelop::Core::initialize(KSplashScreen & amp;, KDevelop::Core::Setup, QString&)’ /usr/include/kdevplatform/shell/core.h:56: note: candidates are: static bool KDevelop::Core::initialize(KSplashScreen, KDevelop::Core::Setup)

I have kdevplatform 1.0.0 installed. Is it too old ? Do I need a recent developer version ?

greetinx

Steini

Comment by Josep Febrer (not verified) (2010-07-10 12:41:00)

Yes, it already happened to me, you need to get a more recent kdevplatform from git to be able to build Quanta, you can get it from here:

git clone git://gitorious.org/kdevelop/kdevplatform.git

Comment by Milian Wolff (2010-07-10 12:12:00)

Yes you need KDevplatform master (means also KDevelop master and PHP master…).

Comment by Luca (not verified) (2010-07-09 19:43:00)

It would be great to have, but long and maybe hard to implement, a “firebug-like” editing: you can modify CSS on the fly during the preview and, something with firebug of course you can’t, make the changes permanent. With all features of firebug, such as underline divs where your mouse is pointing. I know this isn’t a urgent feature, but a killer one from my point of view sure. Maybe one day… However, thanks for your work! I hope to see Quanta 4 ready for production use soon :)

Comment by Milian Wolff (2010-07-09 21:22:00)

you can already save changes from within firebug, of course it doesn’t work well with html changes in generated files.

Comment by Ovocean (not verified) (2010-07-09 16:43:00)

I actually miss a few features from Dreamweaver :

1) Search and replace had a square text box for the search string instead of a single field, thus could use a multiple- lines search or replace string. Perhaps this feature request should be directed to the Kate dev team ?

2) There was a button to select the parent block. For example, I have two nested divs, if I put my cursor inside the child one and hit the button, it selects the child div from the beginning of the opening tag to the end of the closing tag, then if I hit the button again it selects the parent div. It also worked for PHP with { } blocks.

Comment by Milian Wolff (2010-07-09 21:21:00)

1) please report to kate but afaik it already is reported, maybe poke Bernhard to make it work :)

2) cool idea, I’ll add such a ‘select context’ action to kdevelop, should be rather easy.

Comment by uetsah (not verified) (2010-07-09 17:37:00)

2) +1

Comment by iberlynx (not verified) (2010-07-09 16:29:00)

Hey, thank you for this, I was begining to loose hope for the comeback of quanta, the best webpage creator ever, on any platform.

I used to use the WYSIWYG alot to get things started, think of creating intricate designs with tables within tables, of course this should probably be superseeded by XHTML with CSS, but I think we should remember that most web developpers start as designers not coders.

What would be cool was some kind of integration with krita or karbon to allow the creation of beatifully designed web- pages, as the dreamweaver integration with fireworks in windows.

Comment by Milian Wolff (2010-07-09 21:20:00)

sorry but those are definitely features that I won’t spent any time on.

Comment by uetsah (not verified) (2010-07-09 15:08:00)

Another idea:

What about having a context-aware version of Kate’s text completion? I.e. when the cursor is inside a CSS “font-face:” attribute, the completion popup will show all values (in this case font names) that were previously used in such a context.

Comment by Milian Wolff (2010-07-09 21:19:00)

as andras said, already implemented.

Comment by Andras Mantia (not verified) (2010-07-09 18:10:00)

Of course, the completion IS context aware. :)

Comment by uetsah (not verified) (2010-07-09 14:26:00)

What I would love to see is a decent interactive color picker for HTML and CSS color attributes, which can be quickly activated from code completion. Maybe even full kcolorchooser integration…

Comment by Milian Wolff (2010-07-09 21:18:00)

good idea :)

Comment by Elvis Stansvik (not verified) (2010-07-09 14:40:00)

+1

Comment by trevor (not verified) (2010-07-09 11:34:00)

I am delighted to hear that this app is still under development. IMHO it is THE BEST of its kind for any platform - certainly the best for Linux. Massive thanks to all concerned.

From my own point of view, I am not too concerned about WYSIWYG functionality. Give me a split window so that I can preview the results of my code and I will be happy!

To whom should we send donations?

Comment by David Mills (not verified) (2010-07-09 09:26:00)

OK, just compiling from git now to see what it looks like :)

Apart from the upload profiles that were missing from kdevelop (thanks :) ) The only thing I can think of would be a zen-coding, but I heard that kwrite is getting that already.

David

Comment by rastos (not verified) (2010-07-09 08:51:00)

Sounds great. I don’t know whether I should wait for my distro to provide new version, or I should build it myself ;-) One question though: does Quanta replace the matching tag when a tag is changed? I.e. if I have “<div>text</div>” and I change “<div>” to “” does the matching “</div>” get automatically changed to “” ?

Comment by Anonymous (not verified) (2010-08-05 16:21:00)

1

Comment by Elvis Stansvik (not verified) (2010-07-09 14:40:00)

+1

Comment by uetsah (not verified) (2010-07-09 14:18:00)

+1

Comment by Milian Wolff (2010-07-09 10:03:00)

not yet, but I definitely plan to work on that.

Comment by Abadonna (not verified) (2010-07-09 02:52:00)

Great job! One thing I need is file synchronisation between local PC and remote server. Quanta 3 was perfect to update my website. Especially when I had to deal with many files. So +1 for file synchronisation.

Thanks a lot!

Comment by Niko (not verified) (2010-07-09 08:22:00)

You mean upload profiles? There is already a Quanta4 plugin for exactly that, milian just forgot to write about it :D

Comment by Milian Wolff (2010-07-09 10:01:00)

Indeed I did, Niko’s plugin should fulfil your needs.

Comment by tanghus (not verified) (2010-07-09 00:48:00)

It’s been alooong time since I used Quanta but AFAIRC it was easy to add support for e.g. ZPT. I hope this possibility for easily extending Quanta will come back again

Comment by Milian Wolff (2010-07-09 10:00:00)

what is ZPT, could you elaborate? Also what you mean with “adding support”?

Comment by Marbux (not verified) (2010-07-09 00:31:00)

Support for UTF-8 (without BOM) character encoding and HTML Tidy integration are mission-critical for me. These don’t have to be done the way they were done, but hopefully with similar quality and ease of use.

Comment by Milian Wolff (2010-07-09 00:46:00)

Kate (esp. with the fixes in KDE 4.5) got proper support for UTF-8, so no problem there. I only use utf8 everywhere and it works like a charm.

Regarding tidy: Good point, I have to bring back some kind of plugin for that. What exactly did you use it for, and how did you use it? We already have an “external scripts” plugin that could run e.g. tidy on your current .html file and replace the contents with what Tidy gives you, is that all you need?

Comment by Henry B (not verified) (2010-07-09 00:11:00)

The main thing I miss from Quanta 3 is the ability to edit files across a sftp kio slave. If that still works then I’m happy.

Comment by Milian Wolff (2010-07-09 00:44:00)

Yes, that should still work.

Comment by Rowland Barkley (not verified) (2010-07-09 00:06:00)

I’m excited at the work you are doing with Quanta! The only two programs I need to work in KDE 4 are Quanta and Basket, then I can do everything I want under Linux.

Comment by Milian Wolff (2010-07-09 00:44:00)

Are you aware that Basket got a new maintainer and apparently a KDE 4 release is in the making? :) Good times!

Comment by Peter (not verified) (2010-07-09 00:01:00)

What I’m most interested in is Docbook support.

Comment by Milian Wolff (2010-07-09 00:32:00)

XML language support already does that, as it just parses the DTD. You should get proper code completion and all that even now.

Comment by uetsah (not verified) (2010-07-09 14:57:00)

Where does it get the DTD from? Does it automatically download dtd’s from <!DOCTYPE> tags? Does it automatically parse “xmlns” attributes? Or is there a way to manually associate dtd files with mime types?

What I would be interested in is code completion for SVG and SMIL.

Comment by Milian Wolff (2010-07-09 21:17:00)

yeah it automatically downloads that stuff from the doctype and xmlns afaik.

Comment by Billie Walsh (not verified) (2010-07-08 23:45:00)

I’m old fashioned. I create my pages in simple HTML. Not to much for fancy bells and whistles. The one feature I miss most is spell check. Sometimes my fingers become disconnected from my brain and I do things like “teh” or “memebrs”. I don’t do a lot of image maps but it was nice when kimagemap was integrated. Cutting the markup from one file and pasting into Quanta works ok, but the integration was nice. I like having the “Edit Tag Dialog” box open for certain tags when I click the button. I also would like to have a simple way to add custom buttons for some special custom tags that I use frequently. Saves time editing the standard dialog popup.

Quanta+ 3 is still the best editor out there. All I really ask is that you don’t screw it up. *<]:oD

Comment by Milian Wolff (2010-07-09 00:36:00)

Even now, Kate supports inline spell checking and it should “just work”.

Image Maps are really too oldschool for me to spent time on that I’m afraid.

And regarding custom tag buttons: Having a clickable icon in the toolbar will be done eventually but it requires lots of complicated KDELibs work to get right. Of course the old Quanta 3 style (which was quite hacky) could be done for now, but lets see how much time I have for that at the end. For now you can click snippets (or assign a shortcut to them).

And regarding the screwing up: That’s why I ask for feedback…

Comment by Gallaecio (not verified) (2010-07-09 03:55:00)

About spellchecking, please, try to avoid it to analize tags. In Kate, if I write <p>Any text, bla, bla, bla.</p>, it tries to spellcheck the tags too.

Comment by Milian Wolff (2010-07-09 10:15:00)

I will fix that, thanks for notifying me. In future please report such bugs to http://bugs.kde.org, thanks.

Comment by Anonymous (not verified) (2010-07-09 14:11:00)

There already are at least three open bug reports there about this: #80865 and #170181 (targeted at Kate), and #47065 (targeted at KDevelop). So if this you were to implement this in a generic way, I guess you’d make a lot of people happy… ;-)

Comment by Milian Wolff (2010-07-09 21:17:00)

I’ve just fixed that for html, xml and dtd so it should work.

bye

Comment by codegrunt (not verified) (2010-07-08 23:36:00)

I have to admit I am little nervous as to what a Quanta without “dialogues” will be like. As long as we have had GUIs, applications have had dialogues so that is a lot of learned behaviour and expectations to be tossing out the window (will simple actions like search and replace become a pain to do?) I would love to see a screenshot showing what this looks like in practice.

Also “autocomplete” is a feature that a lot of users will turn off by default in most applications (Open Office for example). Hopefully it is not obtrusive in Quanta 4 and hitting enter does not become overly dangerous because of it. Please test the autocomplete on old krufty PHP code to make sure it does not fall over and also cases with a large number of includes (something that can quickly bring Quanta 3 to its knees).

That said, I am very happy that Quanta has come back from the abyss and am anxious to try out the new version when it is ready (I use Quanta 3 every work day).

Cheers

Comment by Milian Wolff (2010-07-09 00:43:00)

I’ve not said that Quanta won’t come with any dialogs, settings and all that are of course still done that way. And if you have never used Kate from KDE4 - it does not use a dialog for the search and replace but instead a bar at the bottom of the editor. Just try it out, it is much better than the modal dialog in my opinion.

Anyhow, I’m more speaking about the dialogs from Q3 that one could use to add/remove/change attributes in e.g. a <img/> tag. Instead of having a dialog popup, you do this now (and note, that Auto Completion is not Auto Correction you have in e.g. Open Office, this is really not comparable!):

    <html>
    <body>
    <!-- press ctrl + space to request code completion, select <img> item, press return to execute it -->
    <img src="" />
    <!-- imagine cursor is in the src attr, again code completion and a file dialog pops up where you can select the image or similar -->
    <img src="foo.png" />
    <!-- place the cursor in before the /> and request code completion again, list of available attributes pops up -->
    <img src="foo.png" alt="" />
    </body>
    </html>

That is much faster and does not interrupt the workflow when you work on tags. You simply add attributes on the fly and remove them. I see that I have to do a screencast for that…

Comment by codegrunt (not verified) (2010-07-09 05:50:00)

Thanks for the response.

The benefit of the modal dialogue is that I can place it where I need to (close to where I am going to have to look, click and type). For “prompt on replace” for example this is handy since I can place the dialogue right in the middle of the page which makes “replace” or “next” a lot faster to get through. Having to glance down to the bottom of the page and back again makes it easy to lose your place, is slower and gets tiring on the eyes. So for me personally at least, the modal dialogue is the better option. This is not an issue as much in read only applications since I can ignore the bottom dialogue and only use F3 type keyboard shortcuts (like in Firefox).

Any situation where I need to do something directly associated with where my cursor is, a modal dialogue is probably going to make life easier.

As to auto-completion, I was referring mainly to the Open Office’s abysmal spreadsheet auto-completion which makes it impossible if enabled to do quick data entry since hitting return will often cause an previously typed but unwanted value to be entered.

One other hidden benefit of the modal approach for tag insertion is that it acts as a make shift dictionary. You may not always know what you want to insert and being able to browse a selection of tags can occasionally be useful.

To be honest though I don’t use auto-completion myself so I as long as I have solid project management (a decent file tree with file system controls), syntax highlighting (PHP, Javascript, CSS, etc.) and the ability to run a script through PHP with the “-l” flag and display the errors I will likely be satisfied. Integrated sftp support and some sort of revision control option would be extra candy.

Cheers

Comment by uetsah (not verified) (2010-07-09 14:47:00)

Any situation where I need to do something directly associated with where my cursor is, a modal dialogue is probably going to make life easier.

An inline completion popup is by definition always directly above/below the cursor position, as opposed to a modal dialog which could open up anywhere on the screen and would first have to be dragged to the cursor position. So this is actually an argument for Milian’s new dialog-less tag/argument/image/etc.-insertion, rather than an argument against it.

Note that KDevelop4’s (and therefore Quanta4’s) inline completion is much more than “automatic syntax completion”, it is a very useful tool that can be triggered manually to get information/insert stuff quickly. You should try it…

Comment by uetsah (not verified) (2010-07-09 14:36:00)

The benefit of the modal dialogue is that I can place it where I need to (close to where I am going to have to look, click and type). For “prompt on replace” for example this is handy since I can place the dialogue right in the middle of the page which makes “replace” or “next” a lot faster to get through. Having to glance down to the bottom of the page and back again makes it easy to lose your place, is slower and gets tiring on the eyes.

For this specific use-case, you could move the mouse above the “replace” button in Kate’s search & replace bar, and then keep one finger on the left mouse button and one finger on the F3 key. That way, you can always keep your eyes on the currently highlighted text without having to look down to the search/replace bar at all.

All in all, I think once you actually try it and get used to it for a while, you’ll start to see the huge benefits of non-modal-dialog approaches to find/replace and many other features…

Comment by Milian Wolff (2010-07-09 10:14:00)

Well, you seem to have 100% different opinion and preferences than me ;-) It’s a pity though, since the Kate editor simply took the way of the firefox-like search bar and you won’t be able to use a modal dialog there. Maybe you should try it out and see whether it’s really as bad as you think?

Anyhow, the code completion should work fine, I use it all the time and seldom if ever hit the case where I accidentally execute something that should not be done. And I do remember how often I was bit by that in OOo calc, so it should be fine in Quanta :)

Regarding tag browsing: You can do that with code completion! By executing ctrl + space shortcut, you force code completion. When your cursor is inside a tag, it will show you all possible attributes of that tag and let you execute it.

And to the last point: That would mean that KDevelop 4.0 would already fulfil your needs. You won’t need the php -l runs, as the language support plugin does all that and a bit more directly inside the editor, on the fly. And you get all the syntax highlighting you know (and hopefully love) from Kate. In PHP it’s even some more sematic highlighting on top of that. We have sftp support and SVN + CVS integration, Git will come eventually as well (currently being worked on by Aleix).

Comment by Edward (not verified) (2010-07-08 22:55:00)

Wow. Excellent work so far! I used to work quite a bit with Quanta3 so I have been more than excited to read about your work. I wouldn’t worry too much about the dialog changes. The way I see it, it probably won’t be that much different than getting used to all of the other UI changes that accompanied the move from KDE3 to KDE4.

I’ll be building sometime this weekend so I can hopefully start testing and providing feedback.

Thanks!!

Published on July 08, 2010.