[Qt-creator] projectexplorer foldernavigationwidget extraction

Petr Vaněk petr at yarpen.cz
Sat Jan 3 12:28:27 CET 2015


On 02/01/15 23:43, André Pönitz wrote:
> On Fri, Jan 02, 2015 at 09:30:24AM +0100, Petr Vanek wrote:
>> hi all,
>>
>> I'm working on some customizations of QtCreator to implement an IDE for
>> Qore language [1] and potentially Qorus Integration Server [2] too.
>>
>> The idea is to take QtCreator, disable most of C++ related plugins and
>> redistribute it as a new binary/bundle. The goal is achievable due
>> QtCreator's API etc.
>>
>> For now I'd like to have a FolderNavigationWidget stuff
>> (plugins/projectexplorer) moved into standalone plugin because
>> projectexplorer is one of "too bound to c++" plugins.
>> Also I created some improvements for "file system browser" like
>> bookmarks etc. in my own version of the widget.
>>
>> So here comes my proposal:
>>      - to take FolderNavigationWidget stuff from the project explorere
>>      - to create new plugin for this functionality (loaded by default)
>> without projectexplorer dependency
>>      - potentially apply functionality addons
>>
>> I also offer to do it myself, I just don't know how the QtCreator
>> community works and what's the correct approach to raise a change
like this.
>>
>> Thanks,
>> Petr Vanek
>>
>> [1]: http://www.qore.org
>> [2]: http://www.qoretechnologies.com
>
> Starting discussion here on the list is a good first step. The next one
> would be to put separate patches addressing the individual points on
> codereview.qt-project.org. You can postpone this after you see some rough
> consensus on the direction in the discussion here, but often it's
easier to
> discuss actual code directly.

yes, it's usually so. But some new projects are using fancy new
workflows for contributors etc.
BTW here is my OSS contribution list summarized to introduce myself a
little bit more:
http://yarpen.cz/en:opensource

>
>
> My personal take on the issues you raise:
>
> In general, acceptance of your ideas will depend on how much enthusiasm
> you show to make your modifications useful for others, or at the very
> least on how much everyone else is (not) impacted by them.

Yes, for sure. I found lot of 3rd party plugins on github/sf.net
providing support for additional languages or extended functionality.
And I'm ready to keep the Qore/Qorus plugin in open but separate
repository because I fully understand that this area is not important
for most of QtCreator users at all. That's obvious ;)
On the other side QtCreator seems to be important enough to become
"Eclipse platform done right" (just a joke of course) - that some of its
usage can grow over C/C++ IDE which is primary goal now.

I believe that proposed change(s) - mine about foldernavigationwidget,
Hermann's about more abstract specialization can affect only QtCreator
developers but not end users definitely. If it will be done right.

More follows below in next paragraphs.
>
>
> Adding support for a new language in a plugin is fine, and that's the
> preferred method to do it. A possible way to get started with that
> is to copy from the GLSL plugin which has not-so-complicated
> implementations of the usual goodies (syntax highlighter, indenter,
> hover handler, completion, ...).

Thanks for hints. I already have something as "a technology demo" to
show the Qore team (slightly outdated screenshots):
https://www.dropbox.com/s/e2a8qcbqhfcwpec/Screenshot%202014-11-15%2022.21.52.png?dl=0
https://www.dropbox.com/s/vfxc132q6n3c7de/Screenshot%202014-11-15%2022.22.07.png?dl=0
https://www.dropbox.com/s/1cxcvgn3f9axwxo/Screenshot%202014-11-15%2022.22.21.png?dl=0

>
>
> On the other hand, splitting out individual widgets from the project
> explorer has impact on everyone else. "It will be useful for my product".
> is unlikely to be enough justification. If there's functionality in
> projectexplorer that belongs to cppeditor (or elsewhere), moving those
> piece to where they belongs should be fine. But if all you need
> is FolderNavigationWidget without the rest of projectexplorer, then
> you could simply copy to that to your language support plugin.

It can affect QtCreator devs for sure. But I believe that copying the
source code is not a good way to go due increased maintenance etc.

Correct me if I'm wrong but if I move some widgets out of
projectexplorer into eg. new plugin (or into core plugin) and the plugin
will be a part of the official repository/releases with autoloading set
on, then the end user cannot see any difference, right?

Also the file system browser does not looks project related to me. And I
can imagine lots of usage where there is no "project" required - simple
scripts, independent plaintext files editing, editing files over
webdav... Again - I understand that QtCreator is C/C++ IDE *now* but I
can really see the potential to become an universal platform for IDEs.

Maybe Hermann can share summary of his patches/changes to show his
problem domain as well.


So conclusion finally ;)

- it's a chance to make QtCreator more open (from the technical point of
view) if somebody can help me to analyze projectexplorer and core and
cppeditor plugins in terms of what belongs where.
- I'll definitely accept any of the QtCreator "board" decision
- I offer to make the changes on my own and post it to review/acceptance
process


thanks,
petr


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/qt-creator/attachments/20150103/cdda17fc/attachment.html>


More information about the Qt-creator mailing list