Qmake problems [was: Project file list support for the grepview part]

Andreas Pakulat apaku at gmx.de
Thu Oct 19 21:47:46 UTC 2006


On 19.10.06 14:35:59, Kris Wong wrote:
> On a separate note, there is a bug (actually 2) in the new qmake stuff

Maybe next time post this separate note as a separate mail, I wouldn't
have read this at all if teatime hadn't pointed me to it.

> that is causing issues with this feature, as well as anything else that
> calls allFiles on the project.  I have seen this cause a problem on the
> Quick Open dialog, and it looks like it may be affecting valgrind and
> some other features.  TrollProjectWidget::allFiles is returning multiple
> strings for each individual file, 1 for each scope that the file appears
> in. 

That needs to be fixed.

> In addition, the scope name is present in the file path, which
> means the path is invalid for any file not in the top level scope.
> Removing the code that prepends the QMakeScopeItem::relativePath to the
> item fixes the second issue, but there is still the issue that the files
> appear multiple times in the file list.

That'll be fixed too.

> When a user clicks on a scope
> below the top level scope, all files from any parent scopes are visible
> along with the files in the current scope.  I would imagine this is the
> root of the problem

No its not, I know the root already.

> and this seems to be less intuitive for the user than only showing the
> files that in current scope.  I was a bit thrown off by it myself when
> I first noticed it.

Well, this is the only way to represent the logic that scopes are used
for: Enabling/Disabling certain source files in case the scope is active
(for example only compile directx-stuff on windows). I need a way to
disable source files that may be listed in the parent scope, however I
found the old way of doing this un-intuitive and too complex. Now the Ui
behaves essentially the same as qmake: Inside a certain scope the value
of the SOURCES variable is the value of the SOURCES variable from the
parent scope up to the point where this scope begins +/- the new values
(or only the new ones if = is used). 

I did however change the Ui a bit to not remove disabled files, but
display them as disabled list items. This is now the same excluding
subproject inside a scope works.

Thanks for your input.

Andreas

-- 
Everything that you know is wrong, but you can be straightened out.




More information about the KDevelop-devel mailing list