Adding grid renderflag selection to GTK UI. Also, fixing recently-introduced bug regarding saving vanilla-GTK settings.
parent
fc8ff2ee43
commit
1d99ae5eb6
|
@ -817,12 +817,24 @@ void actionRenderConstellations(GtkToggleAction* action, AppData* app)
|
|||
}
|
||||
|
||||
|
||||
void actionRenderEclipticGrid(GtkToggleAction* action, AppData* app)
|
||||
{
|
||||
setRenderFlag(app, Renderer::ShowEclipticGrid, gtk_toggle_action_get_active(action));
|
||||
}
|
||||
|
||||
|
||||
void actionRenderEclipseShadows(GtkToggleAction* action, AppData* app)
|
||||
{
|
||||
setRenderFlag(app, Renderer::ShowEclipseShadows, gtk_toggle_action_get_active(action));
|
||||
}
|
||||
|
||||
|
||||
void actionRenderGalacticGrid(GtkToggleAction* action, AppData* app)
|
||||
{
|
||||
setRenderFlag(app, Renderer::ShowGalacticGrid, gtk_toggle_action_get_active(action));
|
||||
}
|
||||
|
||||
|
||||
void actionRenderGalaxies(GtkToggleAction* action, AppData* app)
|
||||
{
|
||||
setRenderFlag(app, Renderer::ShowGalaxies, gtk_toggle_action_get_active(action));
|
||||
|
@ -835,6 +847,12 @@ void actionRenderGlobulars(GtkToggleAction* action, AppData* app)
|
|||
}
|
||||
|
||||
|
||||
void actionRenderHorizontalGrid(GtkToggleAction* action, AppData* app)
|
||||
{
|
||||
setRenderFlag(app, Renderer::ShowHorizonGrid, gtk_toggle_action_get_active(action));
|
||||
}
|
||||
|
||||
|
||||
void actionRenderMarkers(GtkToggleAction* action, AppData* app)
|
||||
{
|
||||
setRenderFlag(app, Renderer::ShowMarkers, gtk_toggle_action_get_active(action));
|
||||
|
@ -1276,9 +1294,9 @@ void resyncRenderActions(AppData* app)
|
|||
|
||||
/* Unlike the other interfaces, which go through each menu item and set
|
||||
* the corresponding renderFlag, we go the other way and set the menu
|
||||
* based on the renderFlag. Last one is ShowGlobulars. */
|
||||
* based on the renderFlag. Last one is ShowEcliptic. */
|
||||
|
||||
for (int i = Renderer::ShowStars; i <= Renderer::ShowGlobulars; i *= 2)
|
||||
for (int i = Renderer::ShowStars; i <= Renderer::ShowEcliptic; i *= 2)
|
||||
{
|
||||
switch (i)
|
||||
{
|
||||
|
@ -1303,6 +1321,11 @@ void resyncRenderActions(AppData* app)
|
|||
case Renderer::ShowNebulae: actionName = "RenderNebulae"; break;
|
||||
case Renderer::ShowOpenClusters: actionName = "RenderOpenClusters"; break;
|
||||
case Renderer::ShowGlobulars: actionName = "RenderGlobulars"; break;
|
||||
case Renderer::ShowCloudShadows: actionName = NULL; break; /* Not implemented yet */
|
||||
case Renderer::ShowGalacticGrid: actionName = "RenderGalacticGrid"; break;
|
||||
case Renderer::ShowEclipticGrid: actionName = "RenderEclipticGrid"; break;
|
||||
case Renderer::ShowHorizonGrid: actionName = "RenderHorizontalGrid"; break;
|
||||
case Renderer::ShowEcliptic: actionName = NULL; break; /* Not implemented yet */
|
||||
default: actionName = NULL;
|
||||
}
|
||||
|
||||
|
|
|
@ -79,8 +79,11 @@ void actionRenderCometTails(GtkToggleAction*, AppData*);
|
|||
void actionRenderConstellationBoundaries(GtkToggleAction*, AppData*);
|
||||
void actionRenderConstellations(GtkToggleAction*, AppData*);
|
||||
void actionRenderEclipseShadows(GtkToggleAction*, AppData*);
|
||||
void actionRenderEclipticGrid(GtkToggleAction*, AppData*);
|
||||
void actionRenderGalacticGrid(GtkToggleAction*, AppData*);
|
||||
void actionRenderGalaxies(GtkToggleAction*, AppData*);
|
||||
void actionRenderGlobulars(GtkToggleAction*, AppData*);
|
||||
void actionRenderHorizontalGrid(GtkToggleAction*, AppData*);
|
||||
void actionRenderMarkers(GtkToggleAction*, AppData*);
|
||||
void actionRenderNebulae(GtkToggleAction*, AppData*);
|
||||
void actionRenderNightLights(GtkToggleAction*, AppData*);
|
||||
|
|
|
@ -359,6 +359,36 @@
|
|||
<short>Render globulars.</short>
|
||||
</locale>
|
||||
</schema>
|
||||
<schema>
|
||||
<key>/schemas/apps/celestia/render/gridEcliptic</key>
|
||||
<applyto>/apps/celestia/render/gridEcliptic</applyto>
|
||||
<owner>celestia</owner>
|
||||
<type>bool</type>
|
||||
<default>false</default>
|
||||
<locale name="C">
|
||||
<short>Render ecliptic grid lines.</short>
|
||||
</locale>
|
||||
</schema>
|
||||
<schema>
|
||||
<key>/schemas/apps/celestia/render/gridHorizontal</key>
|
||||
<applyto>/apps/celestia/render/gridHorizontal</applyto>
|
||||
<owner>celestia</owner>
|
||||
<type>bool</type>
|
||||
<default>false</default>
|
||||
<locale name="C">
|
||||
<short>Render horizontal grid lines.</short>
|
||||
</locale>
|
||||
</schema>
|
||||
<schema>
|
||||
<key>/schemas/apps/celestia/render/gridGalactic</key>
|
||||
<applyto>/apps/celestia/render/gridGalactic</applyto>
|
||||
<owner>celestia</owner>
|
||||
<type>bool</type>
|
||||
<default>false</default>
|
||||
<locale name="C">
|
||||
<short>Render galactic grid lines.</short>
|
||||
</locale>
|
||||
</schema>
|
||||
|
||||
|
||||
<!-- LABEL OPTIONS -->
|
||||
|
|
|
@ -41,7 +41,6 @@
|
|||
<separator/>
|
||||
<menu action='ShowObjectsMenu'>
|
||||
<menuitem action='RenderAtmospheres'/>
|
||||
<menuitem action='RenderCelestialGrid'/>
|
||||
<menuitem action='RenderClouds'/>
|
||||
<menuitem action='RenderCometTails'/>
|
||||
<menuitem action='RenderConstellationBoundaries'/>
|
||||
|
@ -56,6 +55,12 @@
|
|||
<menuitem action='RenderRingShadows'/>
|
||||
<menuitem action='RenderStars'/>
|
||||
</menu>
|
||||
<menu action='ShowGridsMenu'>
|
||||
<menuitem action='RenderCelestialGrid'/>
|
||||
<menuitem action='RenderEclipticGrid'/>
|
||||
<menuitem action='RenderGalacticGrid'/>
|
||||
<menuitem action='RenderHorizontalGrid'/>
|
||||
</menu>
|
||||
<menu action='ShowLabelsMenu'>
|
||||
<menuitem action='LabelAsteroids'/>
|
||||
<menuitem action='LabelComets'/>
|
||||
|
|
|
@ -159,7 +159,10 @@ void applySettingsFileMain(AppData* app, GKeyFile* file)
|
|||
getFlag(file, &rf, Renderer::ShowPartialTrajectories, "RenderFlags", "partialTrajectories", &errors);
|
||||
getFlag(file, &rf, Renderer::ShowNebulae, "RenderFlags", "nebulae", &errors);
|
||||
getFlag(file, &rf, Renderer::ShowOpenClusters, "RenderFlags", "openClusters", &errors);
|
||||
getFlag(file, &rf, Renderer::ShowGlobulars, "RenderFlags", "Globulars", &errors);
|
||||
getFlag(file, &rf, Renderer::ShowGlobulars, "RenderFlags", "globulars", &errors);
|
||||
getFlag(file, &rf, Renderer::ShowGalacticGrid, "RenderFlags", "gridGalactic", &errors);
|
||||
getFlag(file, &rf, Renderer::ShowEclipticGrid, "RenderFlags", "gridEcliptic", &errors);
|
||||
getFlag(file, &rf, Renderer::ShowHorizonGrid, "RenderFlags", "gridHorizontal", &errors);
|
||||
|
||||
/* If any flag is missing, use defaults for all. */
|
||||
if (errors > 0)
|
||||
|
@ -261,6 +264,9 @@ void saveSettingsFile(AppData* app)
|
|||
g_key_file_set_boolean(file, "RenderFlags", "nebulae", rf & Renderer::ShowNebulae);
|
||||
g_key_file_set_boolean(file, "RenderFlags", "openClusters", rf & Renderer::ShowOpenClusters);
|
||||
g_key_file_set_boolean(file, "RenderFlags", "globulars", rf & Renderer::ShowGlobulars);
|
||||
g_key_file_set_boolean(file, "RenderFlags", "gridGalactic", rf & Renderer::ShowGalacticGrid);
|
||||
g_key_file_set_boolean(file, "RenderFlags", "gridEcliptic", rf & Renderer::ShowEclipticGrid);
|
||||
g_key_file_set_boolean(file, "RenderFlags", "gridHorizontal", rf & Renderer::ShowHorizonGrid);
|
||||
|
||||
om = app->renderer->getOrbitMask();
|
||||
g_key_file_set_boolean(file, "OrbitMask", "planet", om & Body::Planet);
|
||||
|
|
|
@ -175,6 +175,9 @@ void gcSetRenderFlag(int flag, gboolean state, GConfClient* client)
|
|||
case Renderer::ShowNebulae: gcSetFlag(Render, "nebulae", state, client); break;
|
||||
case Renderer::ShowOpenClusters: gcSetFlag(Render, "openClusters", state, client); break;
|
||||
case Renderer::ShowGlobulars: gcSetFlag(Render, "globulars", state, client); break;
|
||||
case Renderer::ShowGalacticGrid: gcSetFlag(Render, "gridGalactic", state, client); break;
|
||||
case Renderer::ShowEclipticGrid: gcSetFlag(Render, "gridEcliptic", state, client); break;
|
||||
case Renderer::ShowHorizonGrid: gcSetFlag(Render, "gridHorizontal", state, client); break;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -463,6 +466,9 @@ static int readGConfRender(GConfClient* client)
|
|||
rf |= Renderer::ShowNebulae * gconf_client_get_bool(client, "/apps/celestia/render/nebulae", NULL);
|
||||
rf |= Renderer::ShowOpenClusters * gconf_client_get_bool(client, "/apps/celestia/render/openClusters", NULL);
|
||||
rf |= Renderer::ShowGlobulars * gconf_client_get_bool(client, "/apps/celestia/render/globulars", NULL);
|
||||
rf |= Renderer::ShowGalacticGrid * gconf_client_get_bool(client, "/apps/celestia/render/gridGalactic", NULL);
|
||||
rf |= Renderer::ShowEclipticGrid * gconf_client_get_bool(client, "/apps/celestia/render/gridEcliptic", NULL);
|
||||
rf |= Renderer::ShowHorizonGrid * gconf_client_get_bool(client, "/apps/celestia/render/gridHorizontal", NULL);
|
||||
|
||||
return rf;
|
||||
}
|
||||
|
|
|
@ -56,6 +56,7 @@ static const GtkActionEntry actionsPlain[] = {
|
|||
{ "OptionsMenu", NULL, "_Options", NULL, NULL, NULL },
|
||||
{ "ViewOptions", GTK_STOCK_PREFERENCES, "View _Options...", NULL, NULL, G_CALLBACK(actionViewOptions) },
|
||||
{ "ShowObjectsMenu", NULL, "Show Objects", NULL, NULL, NULL },
|
||||
{ "ShowGridsMenu", NULL, "Show Grids", NULL, NULL, NULL },
|
||||
{ "ShowLabelsMenu", NULL, "Show Labels", NULL, NULL, NULL },
|
||||
{ "ShowOrbitsMenu", NULL, "Show Orbits", NULL, NULL, NULL },
|
||||
{ "InfoTextMenu", NULL, "Info Text", NULL, NULL, NULL },
|
||||
|
@ -132,7 +133,6 @@ static const GtkToggleActionEntry actionsRenderFlags[] = {
|
|||
{ "RenderAA", NULL, "Antialiasing", "<control>X", NULL, G_CALLBACK(actionRenderAA), FALSE },
|
||||
{ "RenderAtmospheres", NULL, "Atmospheres", "<control>A", NULL, G_CALLBACK(actionRenderAtmospheres), FALSE },
|
||||
{ "RenderAutoMagnitude", NULL, "Auto Magnitude", "<control>Y", NULL, G_CALLBACK(actionRenderAutoMagnitude), FALSE },
|
||||
{ "RenderCelestialGrid", NULL, "Celestial Grid", "semicolon", NULL, G_CALLBACK(actionRenderCelestialGrid), FALSE },
|
||||
{ "RenderClouds", NULL, "Clouds", "I", NULL, G_CALLBACK(actionRenderClouds), FALSE },
|
||||
{ "RenderCometTails", NULL, "Comet Tails", "<control>T", NULL, G_CALLBACK(actionRenderCometTails), FALSE },
|
||||
{ "RenderConstellationBoundaries", NULL, "Constellation Boundaries", NULL, NULL, G_CALLBACK(actionRenderConstellationBoundaries), FALSE },
|
||||
|
@ -140,6 +140,10 @@ static const GtkToggleActionEntry actionsRenderFlags[] = {
|
|||
{ "RenderEclipseShadows", NULL, "Eclipse Shadows", "<control>E", NULL, G_CALLBACK(actionRenderEclipseShadows), FALSE },
|
||||
{ "RenderGalaxies", NULL, "Galaxies", "U", NULL, G_CALLBACK(actionRenderGalaxies), FALSE },
|
||||
{ "RenderGlobulars", NULL, "Globulars", "<shift>U", NULL, G_CALLBACK(actionRenderGlobulars), FALSE },
|
||||
{ "RenderCelestialGrid", NULL, "Grid: Celestial", "semicolon", NULL, G_CALLBACK(actionRenderCelestialGrid), FALSE },
|
||||
{ "RenderEclipticGrid", NULL, "Grid: Ecliptic", NULL, NULL, G_CALLBACK(actionRenderEclipticGrid), FALSE },
|
||||
{ "RenderGalacticGrid", NULL, "Grid: Galactic", NULL, NULL, G_CALLBACK(actionRenderGalacticGrid), FALSE },
|
||||
{ "RenderHorizontalGrid", NULL, "Grid: Horizontal", NULL, NULL, G_CALLBACK(actionRenderHorizontalGrid), FALSE },
|
||||
{ "RenderMarkers", NULL, "Markers", "<control>M", NULL, G_CALLBACK(actionRenderMarkers), FALSE },
|
||||
{ "RenderNebulae", NULL, "Nebulae", "asciicircum", NULL, G_CALLBACK(actionRenderNebulae), FALSE },
|
||||
{ "RenderNightLights", NULL, "Night Side Lights", "<control>L", NULL, G_CALLBACK(actionRenderNightLights), FALSE },
|
||||
|
|
Loading…
Reference in New Issue