diff --git a/docs/changelog-custom.txt b/docs/changelog-custom.txt index e8063e3a..4b315235 100644 --- a/docs/changelog-custom.txt +++ b/docs/changelog-custom.txt @@ -360,6 +360,7 @@ menus... * Misc->Colors->Viewports Theme: load from .json presets stored in install/themes/_colors/ * add Blender Lighter and Green viewports themes by Julius * Misc->Colors: add CameraIcon, AxisX, AxisY, AxisZ controls + * Misc->Colors: add Model Browser Background control misc... * removed note to save before going to preferences, project settings diff --git a/radiant/colors.cpp b/radiant/colors.cpp index 8abbdbee..1a5cdc57 100644 --- a/radiant/colors.cpp +++ b/radiant/colors.cpp @@ -28,6 +28,7 @@ #include "xywindow.h" #include "camwindow.h" #include "texwindow.h" +#include "modelwindow.h" #include "render.h" #include "mainframe.h" #include "brushmodule.h" @@ -145,9 +146,14 @@ Vector3 TextureBrowserColour_get(){ return TextureBrowser_getBackgroundColour(); } +Vector3 ModelBrowserColour_get(){ + return ModelBrowser_getBackgroundColour(); +} + std::array g_ColoursMenu{ ChooseColour( makeCallbackF ( TextureBrowserColour_get ) , makeCallbackF( TextureBrowser_setBackgroundColour ) , "Texture Browser Background..." , "ColorTexBroBackground" ), + ChooseColour( makeCallbackF ( ModelBrowserColour_get ) , makeCallbackF( ModelBrowser_setBackgroundColour ) , "Model Browser Background..." , "ColorModBroBackground" ), ChooseColour( ColourGetCaller( g_camwindow_globals.color_cameraback ) , ColourSetCaller( g_camwindow_globals.color_cameraback ), "Camera Background..." , "ColorCameraBackground" ), ChooseColour( ColourGetCaller( g_xywindow_globals.color_gridback ) , ColourSetCaller( g_xywindow_globals.color_gridback ) , "Grid Background..." , "ColorGridBackground" ), ChooseColour( ColourGetCaller( g_xywindow_globals.color_gridmajor ) , ColourSetCaller( g_xywindow_globals.color_gridmajor ) , "Grid Major..." , "ColorGridMajor" ), diff --git a/radiant/modelwindow.cpp b/radiant/modelwindow.cpp index 75eb5d47..a237e890 100644 --- a/radiant/modelwindow.cpp +++ b/radiant/modelwindow.cpp @@ -540,6 +540,7 @@ class ModelBrowser : public scene::Instantiable::Observer } const int m_MSAA = 8; + Vector3 m_background_color = Vector3( .25f ); QWidget* m_parent = nullptr; QOpenGLWidget* m_gl_widget = nullptr; @@ -766,7 +767,9 @@ void ModelBrowser_render(){ gl().glDepthMask( GL_TRUE ); gl().glPolygonMode( GL_FRONT_AND_BACK, GL_FILL ); - gl().glClearColor( .25f, .25f, .25f, 0 ); + gl().glClearColor( g_ModelBrowser.m_background_color[0], + g_ModelBrowser.m_background_color[1], + g_ModelBrowser.m_background_color[2], 0 ); gl().glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT ); const unsigned int globalstate = RENDER_DEPTHTEST @@ -857,7 +860,9 @@ void ModelBrowser_render(){ } { // brighter background squares - gl().glColor4f( 0.3f, 0.3f, 0.3f, 1.f ); + gl().glColor4f( g_ModelBrowser.m_background_color[0] + .05f, + g_ModelBrowser.m_background_color[1] + .05f, + g_ModelBrowser.m_background_color[2] + .05f, 1.f ); gl().glDepthMask( GL_FALSE ); gl().glPolygonMode( GL_FRONT_AND_BACK, GL_FILL ); gl().glDisable( GL_CULL_FACE ); @@ -1322,6 +1327,16 @@ void ModelBrowser_destroyWindow(){ } +const Vector3& ModelBrowser_getBackgroundColour(){ + return g_ModelBrowser.m_background_color; +} + +void ModelBrowser_setBackgroundColour( const Vector3& colour ){ + g_ModelBrowser.m_background_color = colour; + g_ModelBrowser.queueDraw(); +} + + #include "preferencesystem.h" #include "preferences.h" #include "stringio.h" @@ -1361,6 +1376,7 @@ void ModelBrowser_registerPreferencesPage(){ void ModelBrowser_Construct(){ GlobalPreferenceSystem().registerPreference( "ModelBrowserFolders", CopiedStringImportStringCaller( g_ModelBrowser.m_prefFoldersToLoad ), CopiedStringExportStringCaller( g_ModelBrowser.m_prefFoldersToLoad ) ); GlobalPreferenceSystem().registerPreference( "ModelBrowserCellSize", IntImportStringCaller( g_ModelBrowser.m_cellSize ), IntExportStringCaller( g_ModelBrowser.m_cellSize ) ); + GlobalPreferenceSystem().registerPreference( "ColorModBroBackground", Vector3ImportStringCaller( g_ModelBrowser.m_background_color ), Vector3ExportStringCaller( g_ModelBrowser.m_background_color ) ); ModelBrowser_registerPreferencesPage(); diff --git a/radiant/modelwindow.h b/radiant/modelwindow.h index 23f30a42..f86e5cfc 100644 --- a/radiant/modelwindow.h +++ b/radiant/modelwindow.h @@ -30,3 +30,9 @@ class QWidget* ModelBrowser_constructWindow( QWidget* toplevel ); void ModelBrowser_destroyWindow(); void ModelBrowser_flushReferences(); + +template class BasicVector3; +typedef BasicVector3 Vector3; + +const Vector3& ModelBrowser_getBackgroundColour(); +void ModelBrowser_setBackgroundColour( const Vector3& colour ); diff --git a/radiant/xywindow.cpp b/radiant/xywindow.cpp index d63772c9..c60135de 100644 --- a/radiant/xywindow.cpp +++ b/radiant/xywindow.cpp @@ -1813,8 +1813,8 @@ void XYWnd::XY_Draw(){ // gl().glViewport( 0, 0, m_nWidth, m_nHeight ); gl().glClearColor( g_xywindow_globals.color_gridback[0], - g_xywindow_globals.color_gridback[1], - g_xywindow_globals.color_gridback[2], 0 ); + g_xywindow_globals.color_gridback[1], + g_xywindow_globals.color_gridback[2], 0 ); gl().glClear( GL_COLOR_BUFFER_BIT ); diff --git a/setup/data/tools/themes/_colors/Adwaita Dark.json b/setup/data/tools/themes/_colors/Adwaita Dark.json index 4004b20a..0a257b51 100644 --- a/setup/data/tools/themes/_colors/Adwaita Dark.json +++ b/setup/data/tools/themes/_colors/Adwaita Dark.json @@ -1,6 +1,7 @@ /* color scheme to fit the GTK Adwaita Dark theme */ { "ColorTexBroBackground": [0.25, 0.25, 0.25], + "ColorModBroBackground": [0.25, 0.25, 0.25], "ColorCameraBackground": [0.25, 0.25, 0.25], "ColorGridBackground" : [0.25, 0.25, 0.25], "ColorGridMajor" : [0.14, 0.15, 0.15], diff --git a/setup/data/tools/themes/_colors/Black and Green.json b/setup/data/tools/themes/_colors/Black and Green.json index 60cc95dc..7d8bde49 100644 --- a/setup/data/tools/themes/_colors/Black and Green.json +++ b/setup/data/tools/themes/_colors/Black and Green.json @@ -1,5 +1,6 @@ { "ColorTexBroBackground": [0.25, 0.25, 0.25], + "ColorModBroBackground": [0.25, 0.25, 0.25], "ColorCameraBackground": [0.25, 0.25, 0.25], "ColorGridBackground" : [0.0, 0.0, 0.0], "ColorGridMajor" : [0.3, 0.5, 0.5], diff --git a/setup/data/tools/themes/_colors/Blender Dark.json b/setup/data/tools/themes/_colors/Blender Dark.json index 17d5705d..a67f5aaa 100644 --- a/setup/data/tools/themes/_colors/Blender Dark.json +++ b/setup/data/tools/themes/_colors/Blender Dark.json @@ -1,5 +1,6 @@ { "ColorTexBroBackground": [0.25, 0.25, 0.25], + "ColorModBroBackground": [0.25, 0.25, 0.25], "ColorCameraBackground": [0.25, 0.25, 0.25], "ColorGridBackground" : [0.225803, 0.225803, 0.225803], "ColorGridMajor" : [0.301960, 0.301960, 0.301960], diff --git a/setup/data/tools/themes/_colors/Blender Lighter.json b/setup/data/tools/themes/_colors/Blender Lighter.json index ec230f42..0b07ff30 100644 --- a/setup/data/tools/themes/_colors/Blender Lighter.json +++ b/setup/data/tools/themes/_colors/Blender Lighter.json @@ -1,6 +1,7 @@ /* Blender2 Color Scheme: LIGHTER background, BLACK grid & WHITE brushes */ { "ColorTexBroBackground": [0.239215, 0.239215, 0.239215], + "ColorModBroBackground": [0.239215, 0.239215, 0.239215], "ColorCameraBackground": [0.239215, 0.239215, 0.239215], "ColorGridBackground" : [0.290196, 0.290196, 0.290196], "ColorGridMajor" : [0.156862, 0.156862, 0.156862], diff --git a/setup/data/tools/themes/_colors/Green.json b/setup/data/tools/themes/_colors/Green.json index 533fd8be..39374a01 100644 --- a/setup/data/tools/themes/_colors/Green.json +++ b/setup/data/tools/themes/_colors/Green.json @@ -1,6 +1,7 @@ /* Green Color Scheme: GREEN background, GREEN grid & WHITE brushes */ { "ColorTexBroBackground": [0.239215, 0.239215, 0.239215], + "ColorModBroBackground": [0.239215, 0.239215, 0.239215], "ColorCameraBackground": [0.239215, 0.239215, 0.239215], "ColorGridBackground" : [0.094117, 0.317647, 0.274509], "ColorGridMajor" : [0.223529, 0.450980, 0.407843], diff --git a/setup/data/tools/themes/_colors/Maya.Max.Lightwave Emulation.json b/setup/data/tools/themes/_colors/Maya.Max.Lightwave Emulation.json index be13909d..10eb89ea 100644 --- a/setup/data/tools/themes/_colors/Maya.Max.Lightwave Emulation.json +++ b/setup/data/tools/themes/_colors/Maya.Max.Lightwave Emulation.json @@ -1,6 +1,7 @@ /* ydnar: to emulate maya/max/lightwave color schemes */ { "ColorTexBroBackground": [0.25, 0.25, 0.25], + "ColorModBroBackground": [0.25, 0.25, 0.25], "ColorCameraBackground": [0.25, 0.25, 0.25], "ColorGridBackground" : [0.77, 0.77, 0.77], "ColorGridMajor" : [0.89, 0.89, 0.89], diff --git a/setup/data/tools/themes/_colors/Q3Radiant Original.json b/setup/data/tools/themes/_colors/Q3Radiant Original.json index 6375ffe9..fcfd631f 100644 --- a/setup/data/tools/themes/_colors/Q3Radiant Original.json +++ b/setup/data/tools/themes/_colors/Q3Radiant Original.json @@ -1,5 +1,6 @@ { "ColorTexBroBackground": [0.25, 0.25, 0.25], + "ColorModBroBackground": [0.25, 0.25, 0.25], "ColorCameraBackground": [0.25, 0.25, 0.25], "ColorGridBackground" : [1.0, 1.0, 1.0], "ColorGridMajor" : [0.5, 0.5, 0.5], diff --git a/setup/data/tools/themes/_colors/QE4 Original.json b/setup/data/tools/themes/_colors/QE4 Original.json index 54f16641..ebe75e5d 100644 --- a/setup/data/tools/themes/_colors/QE4 Original.json +++ b/setup/data/tools/themes/_colors/QE4 Original.json @@ -1,5 +1,6 @@ { "ColorTexBroBackground": [0.25, 0.25, 0.25], + "ColorModBroBackground": [0.25, 0.25, 0.25], "ColorCameraBackground": [0.25, 0.25, 0.25], "ColorGridBackground" : [1.0, 1.0, 1.0], "ColorGridMajor" : [0.5, 0.5, 0.5],