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)
|
void actionRenderEclipseShadows(GtkToggleAction* action, AppData* app)
|
||||||
{
|
{
|
||||||
setRenderFlag(app, Renderer::ShowEclipseShadows, gtk_toggle_action_get_active(action));
|
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)
|
void actionRenderGalaxies(GtkToggleAction* action, AppData* app)
|
||||||
{
|
{
|
||||||
setRenderFlag(app, Renderer::ShowGalaxies, gtk_toggle_action_get_active(action));
|
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)
|
void actionRenderMarkers(GtkToggleAction* action, AppData* app)
|
||||||
{
|
{
|
||||||
setRenderFlag(app, Renderer::ShowMarkers, gtk_toggle_action_get_active(action));
|
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
|
/* Unlike the other interfaces, which go through each menu item and set
|
||||||
* the corresponding renderFlag, we go the other way and set the menu
|
* 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)
|
switch (i)
|
||||||
{
|
{
|
||||||
|
@ -1303,6 +1321,11 @@ void resyncRenderActions(AppData* app)
|
||||||
case Renderer::ShowNebulae: actionName = "RenderNebulae"; break;
|
case Renderer::ShowNebulae: actionName = "RenderNebulae"; break;
|
||||||
case Renderer::ShowOpenClusters: actionName = "RenderOpenClusters"; break;
|
case Renderer::ShowOpenClusters: actionName = "RenderOpenClusters"; break;
|
||||||
case Renderer::ShowGlobulars: actionName = "RenderGlobulars"; 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;
|
default: actionName = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -79,8 +79,11 @@ void actionRenderCometTails(GtkToggleAction*, AppData*);
|
||||||
void actionRenderConstellationBoundaries(GtkToggleAction*, AppData*);
|
void actionRenderConstellationBoundaries(GtkToggleAction*, AppData*);
|
||||||
void actionRenderConstellations(GtkToggleAction*, AppData*);
|
void actionRenderConstellations(GtkToggleAction*, AppData*);
|
||||||
void actionRenderEclipseShadows(GtkToggleAction*, AppData*);
|
void actionRenderEclipseShadows(GtkToggleAction*, AppData*);
|
||||||
|
void actionRenderEclipticGrid(GtkToggleAction*, AppData*);
|
||||||
|
void actionRenderGalacticGrid(GtkToggleAction*, AppData*);
|
||||||
void actionRenderGalaxies(GtkToggleAction*, AppData*);
|
void actionRenderGalaxies(GtkToggleAction*, AppData*);
|
||||||
void actionRenderGlobulars(GtkToggleAction*, AppData*);
|
void actionRenderGlobulars(GtkToggleAction*, AppData*);
|
||||||
|
void actionRenderHorizontalGrid(GtkToggleAction*, AppData*);
|
||||||
void actionRenderMarkers(GtkToggleAction*, AppData*);
|
void actionRenderMarkers(GtkToggleAction*, AppData*);
|
||||||
void actionRenderNebulae(GtkToggleAction*, AppData*);
|
void actionRenderNebulae(GtkToggleAction*, AppData*);
|
||||||
void actionRenderNightLights(GtkToggleAction*, AppData*);
|
void actionRenderNightLights(GtkToggleAction*, AppData*);
|
||||||
|
|
|
@ -359,6 +359,36 @@
|
||||||
<short>Render globulars.</short>
|
<short>Render globulars.</short>
|
||||||
</locale>
|
</locale>
|
||||||
</schema>
|
</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 -->
|
<!-- LABEL OPTIONS -->
|
||||||
|
|
|
@ -41,7 +41,6 @@
|
||||||
<separator/>
|
<separator/>
|
||||||
<menu action='ShowObjectsMenu'>
|
<menu action='ShowObjectsMenu'>
|
||||||
<menuitem action='RenderAtmospheres'/>
|
<menuitem action='RenderAtmospheres'/>
|
||||||
<menuitem action='RenderCelestialGrid'/>
|
|
||||||
<menuitem action='RenderClouds'/>
|
<menuitem action='RenderClouds'/>
|
||||||
<menuitem action='RenderCometTails'/>
|
<menuitem action='RenderCometTails'/>
|
||||||
<menuitem action='RenderConstellationBoundaries'/>
|
<menuitem action='RenderConstellationBoundaries'/>
|
||||||
|
@ -56,6 +55,12 @@
|
||||||
<menuitem action='RenderRingShadows'/>
|
<menuitem action='RenderRingShadows'/>
|
||||||
<menuitem action='RenderStars'/>
|
<menuitem action='RenderStars'/>
|
||||||
</menu>
|
</menu>
|
||||||
|
<menu action='ShowGridsMenu'>
|
||||||
|
<menuitem action='RenderCelestialGrid'/>
|
||||||
|
<menuitem action='RenderEclipticGrid'/>
|
||||||
|
<menuitem action='RenderGalacticGrid'/>
|
||||||
|
<menuitem action='RenderHorizontalGrid'/>
|
||||||
|
</menu>
|
||||||
<menu action='ShowLabelsMenu'>
|
<menu action='ShowLabelsMenu'>
|
||||||
<menuitem action='LabelAsteroids'/>
|
<menuitem action='LabelAsteroids'/>
|
||||||
<menuitem action='LabelComets'/>
|
<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::ShowPartialTrajectories, "RenderFlags", "partialTrajectories", &errors);
|
||||||
getFlag(file, &rf, Renderer::ShowNebulae, "RenderFlags", "nebulae", &errors);
|
getFlag(file, &rf, Renderer::ShowNebulae, "RenderFlags", "nebulae", &errors);
|
||||||
getFlag(file, &rf, Renderer::ShowOpenClusters, "RenderFlags", "openClusters", &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 any flag is missing, use defaults for all. */
|
||||||
if (errors > 0)
|
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", "nebulae", rf & Renderer::ShowNebulae);
|
||||||
g_key_file_set_boolean(file, "RenderFlags", "openClusters", rf & Renderer::ShowOpenClusters);
|
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", "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();
|
om = app->renderer->getOrbitMask();
|
||||||
g_key_file_set_boolean(file, "OrbitMask", "planet", om & Body::Planet);
|
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::ShowNebulae: gcSetFlag(Render, "nebulae", state, client); break;
|
||||||
case Renderer::ShowOpenClusters: gcSetFlag(Render, "openClusters", state, client); break;
|
case Renderer::ShowOpenClusters: gcSetFlag(Render, "openClusters", state, client); break;
|
||||||
case Renderer::ShowGlobulars: gcSetFlag(Render, "globulars", 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::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::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::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;
|
return rf;
|
||||||
}
|
}
|
||||||
|
|
|
@ -56,6 +56,7 @@ static const GtkActionEntry actionsPlain[] = {
|
||||||
{ "OptionsMenu", NULL, "_Options", NULL, NULL, NULL },
|
{ "OptionsMenu", NULL, "_Options", NULL, NULL, NULL },
|
||||||
{ "ViewOptions", GTK_STOCK_PREFERENCES, "View _Options...", NULL, NULL, G_CALLBACK(actionViewOptions) },
|
{ "ViewOptions", GTK_STOCK_PREFERENCES, "View _Options...", NULL, NULL, G_CALLBACK(actionViewOptions) },
|
||||||
{ "ShowObjectsMenu", NULL, "Show Objects", NULL, NULL, NULL },
|
{ "ShowObjectsMenu", NULL, "Show Objects", NULL, NULL, NULL },
|
||||||
|
{ "ShowGridsMenu", NULL, "Show Grids", NULL, NULL, NULL },
|
||||||
{ "ShowLabelsMenu", NULL, "Show Labels", NULL, NULL, NULL },
|
{ "ShowLabelsMenu", NULL, "Show Labels", NULL, NULL, NULL },
|
||||||
{ "ShowOrbitsMenu", NULL, "Show Orbits", NULL, NULL, NULL },
|
{ "ShowOrbitsMenu", NULL, "Show Orbits", NULL, NULL, NULL },
|
||||||
{ "InfoTextMenu", NULL, "Info Text", 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 },
|
{ "RenderAA", NULL, "Antialiasing", "<control>X", NULL, G_CALLBACK(actionRenderAA), FALSE },
|
||||||
{ "RenderAtmospheres", NULL, "Atmospheres", "<control>A", NULL, G_CALLBACK(actionRenderAtmospheres), FALSE },
|
{ "RenderAtmospheres", NULL, "Atmospheres", "<control>A", NULL, G_CALLBACK(actionRenderAtmospheres), FALSE },
|
||||||
{ "RenderAutoMagnitude", NULL, "Auto Magnitude", "<control>Y", NULL, G_CALLBACK(actionRenderAutoMagnitude), 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 },
|
{ "RenderClouds", NULL, "Clouds", "I", NULL, G_CALLBACK(actionRenderClouds), FALSE },
|
||||||
{ "RenderCometTails", NULL, "Comet Tails", "<control>T", NULL, G_CALLBACK(actionRenderCometTails), FALSE },
|
{ "RenderCometTails", NULL, "Comet Tails", "<control>T", NULL, G_CALLBACK(actionRenderCometTails), FALSE },
|
||||||
{ "RenderConstellationBoundaries", NULL, "Constellation Boundaries", NULL, NULL, G_CALLBACK(actionRenderConstellationBoundaries), 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 },
|
{ "RenderEclipseShadows", NULL, "Eclipse Shadows", "<control>E", NULL, G_CALLBACK(actionRenderEclipseShadows), FALSE },
|
||||||
{ "RenderGalaxies", NULL, "Galaxies", "U", NULL, G_CALLBACK(actionRenderGalaxies), FALSE },
|
{ "RenderGalaxies", NULL, "Galaxies", "U", NULL, G_CALLBACK(actionRenderGalaxies), FALSE },
|
||||||
{ "RenderGlobulars", NULL, "Globulars", "<shift>U", NULL, G_CALLBACK(actionRenderGlobulars), 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 },
|
{ "RenderMarkers", NULL, "Markers", "<control>M", NULL, G_CALLBACK(actionRenderMarkers), FALSE },
|
||||||
{ "RenderNebulae", NULL, "Nebulae", "asciicircum", NULL, G_CALLBACK(actionRenderNebulae), FALSE },
|
{ "RenderNebulae", NULL, "Nebulae", "asciicircum", NULL, G_CALLBACK(actionRenderNebulae), FALSE },
|
||||||
{ "RenderNightLights", NULL, "Night Side Lights", "<control>L", NULL, G_CALLBACK(actionRenderNightLights), FALSE },
|
{ "RenderNightLights", NULL, "Night Side Lights", "<control>L", NULL, G_CALLBACK(actionRenderNightLights), FALSE },
|
||||||
|
|
Loading…
Reference in New Issue