Andre Poenitz wrote:
On Thu, Sep 06, 2007 at 09:03:01AM +0200, Abdelrazak Younes wrote:
Andre Poenitz wrote:

The About dialog does not control anything. It just displays stuff.
Arguably the stuff should come even from the kernel, not some "fat
controller", but in the end the fact remains: Nothing is "controlled".
In this particular case you are definitely right. But, you are introducing "src/version.h" in qt4/. I think we should try hard to not add additional header dependencies to the core if our stated goal is to have core dll. So I propose that you move the new static method to "src/support/". I am talking about these:

+static QString credits()
+static QString copyright()
+static QString license()
+static QString disclaimer()
+static QString version()

We have a religiuos problem here as we are/were not supposed to use
QString in support.

That's not true anymore as we do us it now.


On the other hand we are allowed to use support/* in
the concrete frontend, and we already do that all over the place. (Not
that I like that and that it has to stay like that, but that was the
mode of operation in the last few years.) Sure, using more of QtCore
like QString in src/support would help,

We actually do use QString for a number of things already in src/support/, please look it up.

but I do not really want to
fight _that_ only loosely related battle _now_.

Less of a battle that what you are doing now ;-)


Right now I want reasonable compile times and code size. Reasonable as
in "comparable to other C++ projects in the 100-200 kLOC range".

I think most of the hardcoded strings should be put in "char const *" in "version.h" and version.h shout be moved to src/frontend.

char const * might be a solution for this particular case, but it is not
in general when one needs to transport real objects. And I don't really
like the (non-existing) semantics. Information about the encoding
is passed only implicitly using char *.

[Andre explanation]

Andre, I fully agree with you but still, please try to keep "source" separation between the core and the GUI: this means that frontend/ is the "source" interface. The core should just expose a clear set of functions and the GUI should use that.

Note that I did not really move anything from src/* to
src/frontends/qt4/*. All the strings in the current GuiAbout dialog
already lived soemewehe under src/frontends/*

I know but I would prefer that the string definition stays in src/frontends/.

Abdel.

Reply via email to