Qt Celestia

Discussion forum for Celestia developers; topics may only be started by members of the developers group, but anyone can post replies.
Topic author
chris
Site Admin
Posts: 4211
Joined: 28.01.2002
With us: 22 years 9 months
Location: Seattle, Washington, USA

Qt Celestia

Post #1by chris » 12.12.2007, 01:32

A first step toward a unified UI . . .

The rather unimpressive image below shows Celestia running on Windows using the Qt cross-platform UI toolkit. The keyboard and mouse functions work as in the other versions of Celestia, but there's no extra UI at the moment because this is an early experiment. Having Christophe's KDE version of Celestia as a starting point was a time saver.

Image

--Chris

ElChristou
Developer
Posts: 3776
Joined: 04.02.2005
With us: 19 years 9 months

Post #2by ElChristou » 12.12.2007, 02:00

One of the problem of the unified UI will be to take in account from the beginning the length of text fields, buttons and others stuff to avoid problems with certain languages (much longer terms than English)...
Image

Christophe
Developer
Posts: 944
Joined: 18.07.2002
With us: 22 years 4 months
Location: Lyon (France)

Post #3by Christophe » 12.12.2007, 12:10

Good to know you're working on this Chris. I haven't much time to devote to it myself.

Regarding the relative length of text in various languages, that's only a problem when using a somewhat crude toolkit like the MFC (it is showing its age) that does no layouting.

Qt like all "modern" toolkits does the layouting: widget sizes are automaticaly adjusted and dialogs can be freely resized.

Qt goes even as far as providing a --reverse switch that reverses the layout for right to left languages:

Image

And that's with 0 additional line of code.
Christophe

ElChristou
Developer
Posts: 3776
Joined: 04.02.2005
With us: 19 years 9 months

Post #4by ElChristou » 12.12.2007, 14:25

Christophe wrote:...
Qt like all "modern" toolkits does the layouting: widget sizes are automaticaly adjusted and dialogs can be freely resized.

Qt goes even as far as providing a --reverse switch that reverses the layout for right to left languages:...


Great!

Now looking at your above screen, something that's pop to my mind are the difference between the several existing UI depending on the platforms; here I fear some tensions related to the habits of the several populations of Celestia users...
How to handle that? Shall we do an extensive comparison to keep only the best of each platform?
Image

Avatar
Cham M
Posts: 4324
Joined: 14.01.2004
Age: 60
With us: 20 years 10 months
Location: Montreal

Post #5by Cham » 12.12.2007, 16:55

Be cautious with Qt and the full screen mode at start. Stellarium is having a problem because of this.
"Well! I've often seen a cat without a grin", thought Alice; "but a grin without a cat! It's the most curious thing I ever saw in all my life!"

Christophe
Developer
Posts: 944
Joined: 18.07.2002
With us: 22 years 4 months
Location: Lyon (France)

Post #6by Christophe » 12.12.2007, 17:28

I think the problem Stellarium is having is that Qt doesn't provide a way to change the video resolution when going fullscreen. That is in effect a regression compared to the previous versions which were using SDL.

Celestia will indeed face the same issue when switching to Qt under Windows. The Linux version doesn't offer the option to specify the resolution, I'm not sure if that's available under OSX either - so it's mainly a Windows issue.

As Matthew Gates very well put it on is blog the advantages of switching far outweigh the drawback of this minor regression.
Christophe

Avatar
dirkpitt
Developer
Posts: 674
Joined: 24.10.2004
With us: 20 years

Post #7by dirkpitt » 12.12.2007, 17:29

I'm confused - so the KDE version of Celestia is already using Qt?
Would it just be a simple recompile on say, Mac OS X (assuming I had Qt)?

Christophe
Developer
Posts: 944
Joined: 18.07.2002
With us: 22 years 4 months
Location: Lyon (France)

Post #8by Christophe » 12.12.2007, 17:50

KDE itself uses Qt, the current version, KDE3, is based on Qt3 which is not available under the GPL for Windows.

The current (released) version of Qt, Qt4, is now available under the GPL on all platforms. Qt4 is not source compatible with Qt3.

KDE4, due to be released in January will be available on all platforms, and theoritically at least, the current KDE version of Celestia could be ported to it and made to work on all platforms. That's the goal I'm pursuing but it's kind of a long shot. KDE4 probably won't be end-user ready until 4.1 sometime in Q3 2008, and the kdelibs won't 'just work' under Windows for even longer.

So starting a brand new front end based solely on Qt4 without waiting for KDE4 is a good option too, especially since we plan to use Qt not only for the front-end but also for core stuff like threading and net access.
Christophe

ElChristou
Developer
Posts: 3776
Joined: 04.02.2005
With us: 19 years 9 months

Post #9by ElChristou » 12.12.2007, 23:55

ElChristou wrote:...Now looking at your above screen, something that's pop to my mind are the difference between the several existing UI depending on the platforms; here I fear some tensions related to the habits of the several populations of Celestia users...
How to handle that? Shall we do an extensive comparison to keep only the best of each platform?


bump
Image

Topic author
chris
Site Admin
Posts: 4211
Joined: 28.01.2002
With us: 22 years 9 months
Location: Seattle, Washington, USA

Post #10by chris » 13.12.2007, 00:20

ElChristou wrote:Now looking at your above screen, something that's pop to my mind are the difference between the several existing UI depending on the platforms; here I fear some tensions related to the habits of the several populations of Celestia users...
How to handle that? Shall we do an extensive comparison to keep only the best of each platform?


Yes, I think that's exactly what we should do. There's no element of the Windows UI that I'm especially attached to. Christophe, DW, and Pat have generally done a better job with the user interface on non-Windows platforms than I have on Windows, so I'm happy to adopt their ideas. It will also be a good time to have to reevaluate what the UI should look like. The UI has evolved somewhat haphazardly over time. Some features are no longer necessary (like the 'Tour Guide' feature on Windows, made obsolete by scripts), while others need further enhancement.

One very important thing to do is improve the Celestial Browser. This is already an important feature, and it will become more important as it provides a means to interact with invisible objects (reference points, or objects marked as hidden by some sort of show/hide toggle.)

--Chris

ElChristou
Developer
Posts: 3776
Joined: 04.02.2005
With us: 19 years 9 months

Post #11by ElChristou » 13.12.2007, 00:28

chris wrote:...One very important thing to do is improve the Celestial Browser. This is already an important feature, and it will become more important as it provides a means to interact with invisible objects (reference points, or objects marked as hidden by some sort of show/hide toggle.)


Yep, there is something to dig here; for example, what I'd like to see is a feature to mark/unmark whole classes; IMO this kind of feature could be integrated to the browser...
Image

Topic author
chris
Site Admin
Posts: 4211
Joined: 28.01.2002
With us: 22 years 9 months
Location: Seattle, Washington, USA

Post #12by chris » 13.12.2007, 00:30

ElChristou wrote:
chris wrote:...One very important thing to do is improve the Celestial Browser. This is already an important feature, and it will become more important as it provides a means to interact with invisible objects (reference points, or objects marked as hidden by some sort of show/hide toggle.)

Yep, there is something to dig here; for example, what I'd like to see is a feature to mark/unmark whole classes; IMO this kind of feature could be integrated to the browser...


Yes, this would be very useful, and is exactly the sort of feature that has been hampered by Celestia having four different UIs to develop for.

--Chris

ElChristou
Developer
Posts: 3776
Joined: 04.02.2005
With us: 19 years 9 months

Post #13by ElChristou » 13.12.2007, 13:56

What also would be quite terrible would be something like this (sorry for the big picture, and yes, the list is fake, this is just a mokup):

Image
Image

Christophe
Developer
Posts: 944
Joined: 18.07.2002
With us: 22 years 4 months
Location: Lyon (France)

Post #14by Christophe » 13.12.2007, 14:16

Here is what it looks like on KDE:

Image

Mainly an improved version of the Windows one with the solar system browser merged in. Right clicking on an object opens up its popup dialog as shown above.

Adding filtering options and global marking options as you suggest would be a nice addition.
Christophe

ElChristou
Developer
Posts: 3776
Joined: 04.02.2005
With us: 19 years 9 months

Post #15by ElChristou » 13.12.2007, 14:51

Christophe wrote:Here is what it looks like on KDE:

...

Mainly an improved version of the Windows one with the solar system browser merged in. Right clicking on an object opens up its popup dialog as shown above.

Adding filtering options and global marking options as you suggest would be a nice addition.


8O Definitively the KDE UI is the most advanced...

Just 2 quick comments:

- why doubling the info listed in the columns in the contextual menu?
- if a all in one browser is done, then it would be nice to see the type of planets like the type of stars (telluric, gas giant)...

Now, I agree the solar system browser has it is in osX don't make much sense because you find the whole tree under Sol in the Star browser. Now if the Sol entry was eliminated from the Star browser then yes the Solar System browser would gain legitimacy...
Image

Christophe
Developer
Posts: 944
Joined: 18.07.2002
With us: 22 years 4 months
Location: Lyon (France)

Post #16by Christophe » 13.12.2007, 15:11

ElChristou wrote:- why doubling the info listed in the columns in the contextual menu?
It's the same popup menu that's used in the main window.

ElChristou wrote:- if a all in one browser is done, then it would be nice to see the type of planets like the type of stars (telluric, gas giant)...
That would be nice yes, but we don't currently have that information. For now the type displayed here can be planet, asteroid, moon, comet or spaceship.
Christophe

ElChristou
Developer
Posts: 3776
Joined: 04.02.2005
With us: 19 years 9 months

Post #17by ElChristou » 13.12.2007, 16:11

Christophe wrote:
ElChristou wrote:- why doubling the info listed in the columns in the contextual menu?
It's the same popup menu that's used in the main window.

Ah ok, then to avoid doubling the info (not necessary) and because the layout for a search query give some blank space in the panel, the actual osX (and Windows?) buttons could be used this way:

Image

The red squares near the mark options are supposed to call a color picker... (possible?)


Christophe wrote:
ElChristou wrote:- if a all in one browser is done, then it would be nice to see the type of planets like the type of stars (telluric, gas giant)...
That would be nice yes, but we don't currently have that information. For now the type displayed here can be planet, asteroid, moon, comet or spaceship.


Yep, too bad because having a "poor" "planet" is really not up to the detailed type for stars...
Image

ElChristou
Developer
Posts: 3776
Joined: 04.02.2005
With us: 19 years 9 months

Post #18by ElChristou » 13.12.2007, 22:31

Just tested a Windows version, there is a slider to filter the number of hits; this feature seems not bad, so I wonder what was the reason to not use it under KDE...
Image

ajtribick
Developer
Posts: 1855
Joined: 11.08.2003
With us: 21 years 3 months

Post #19by ajtribick » 13.12.2007, 22:54

In all this talk of KDE, are there any on the devteam who use GNOME?

Christophe
Developer
Posts: 944
Joined: 18.07.2002
With us: 22 years 4 months
Location: Lyon (France)

Post #20by Christophe » 13.12.2007, 23:21

ElChristou wrote:Just tested a Windows version, there is a slider to filter the number of hits; this feature seems not bad, so I wonder what was the reason to not use it under KDE...

It's just that when I "copied" it the slider wasn't there. Anyway, I'm not sure it's that usefull, 100 or 500 stars, we could just as well display all 500 by default.

chaos syndrome wrote:In all this talk of KDE, are there any on the devteam who use GNOME?


The GTK/Gnome frontend is maintained by Pat. He hasn't submitted anything since about a year but he is still active on the mailing list.
Christophe


Return to “Ideas & News”