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. 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, but I do not really want to fight _that_ only loosely related battle _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/* Andre'