Skip to content

Commit

Permalink
menu * Misc->Colors display colors
Browse files Browse the repository at this point in the history
  • Loading branch information
Garux committed Jan 20, 2025
1 parent 59c0d22 commit de4ba78
Show file tree
Hide file tree
Showing 3 changed files with 41 additions and 26 deletions.
1 change: 1 addition & 0 deletions docs/changelog-custom.txt
Original file line number Diff line number Diff line change
Expand Up @@ -355,6 +355,7 @@ menus...
* Brush->AutoCaulk Selected (F4); camera must be there, where legit player respawn could be, i.e. close to selection and not inside of a brush
* Misc->Colors->Themes->Adwaita Dark color theme
* view->filter->sky: Q3 shader based skies (skyParms keyword)
* Misc->Colors display colors

misc...
* removed note to save before going to preferences, project settings
Expand Down
64 changes: 39 additions & 25 deletions radiant/colors.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -193,6 +193,7 @@ class ChooseColour
{
GetColourCallback m_get;
SetColourCallback m_set;
QAction *m_action = nullptr;
public:
ChooseColour( const GetColourCallback& get, const SetColourCallback& set )
: m_get( get ), m_set( set ){
Expand All @@ -202,6 +203,19 @@ class ChooseColour
m_get( colour );
color_dialog( MainFrame_getWindow(), colour );
m_set( colour );
updateIcon();
}
void setAction( QAction *action ){
m_action = action;
updateIcon();
}
void updateIcon(){
Vector3 colour;
m_get( colour );

QPixmap pixmap( QSize( 64, 64 ) ); // using larger pixmap, it gets downscaled
pixmap.fill( QColor::fromRgbF( colour[0], colour[1], colour[2] ) );
m_action->setIcon( QIcon( pixmap ) );
}
};

Expand Down Expand Up @@ -261,12 +275,12 @@ class ColoursMenu
{
public:
ChooseColour m_textureback;
ChooseColour m_cameraback;
ChooseColour m_xyback;
ChooseColour m_gridmajor;
ChooseColour m_gridminor;
ChooseColour m_gridtext;
ChooseColour m_gridblock;
ChooseColour m_cameraback;
ChooseColour m_brush;
ChooseColour m_selectedbrush;
ChooseColour m_selectedbrush3d;
Expand All @@ -275,12 +289,12 @@ class ColoursMenu

ColoursMenu() :
m_textureback( TextureBrowserColourGetCaller(), TextureBrowserColourSetCaller() ),
m_cameraback( ColourGetCaller( g_camwindow_globals.color_cameraback ), ColourSetCaller( g_camwindow_globals.color_cameraback ) ),
m_xyback( ColourGetCaller( g_xywindow_globals.color_gridback ), ColourSetCaller( g_xywindow_globals.color_gridback ) ),
m_gridmajor( ColourGetCaller( g_xywindow_globals.color_gridmajor ), ColourSetCaller( g_xywindow_globals.color_gridmajor ) ),
m_gridminor( ColourGetCaller( g_xywindow_globals.color_gridminor ), ColourSetCaller( g_xywindow_globals.color_gridminor ) ),
m_gridtext( ColourGetCaller( g_xywindow_globals.color_gridtext ), ColourSetCaller( g_xywindow_globals.color_gridtext ) ),
m_gridblock( ColourGetCaller( g_xywindow_globals.color_gridblock ), ColourSetCaller( g_xywindow_globals.color_gridblock ) ),
m_cameraback( ColourGetCaller( g_camwindow_globals.color_cameraback ), ColourSetCaller( g_camwindow_globals.color_cameraback ) ),
m_brush( ColourGetCaller( g_xywindow_globals.color_brushes ), BrushColourSetCaller() ),
m_selectedbrush( ColourGetCaller( g_xywindow_globals.color_selbrushes ), SelectedBrushColourSetCaller() ),
m_selectedbrush3d( ColourGetCaller( g_camwindow_globals.color_selbrushes3d ), SelectedBrush3dColourSetCaller() ),
Expand Down Expand Up @@ -315,18 +329,18 @@ void create_colours_menu( QMenu *menu ){

menu->addSeparator();

create_menu_item_with_mnemonic( menu, "&Texture Background...", "ChooseTextureBackgroundColor" );
create_menu_item_with_mnemonic( menu, "Camera Background...", "ChooseCameraBackgroundColor" );
create_menu_item_with_mnemonic( menu, "Grid Background...", "ChooseGridBackgroundColor" );
create_menu_item_with_mnemonic( menu, "Grid Major...", "ChooseGridMajorColor" );
create_menu_item_with_mnemonic( menu, "Grid Minor...", "ChooseGridMinorColor" );
create_menu_item_with_mnemonic( menu, "Grid Text...", "ChooseGridTextColor" );
create_menu_item_with_mnemonic( menu, "Grid Block...", "ChooseGridBlockColor" );
create_menu_item_with_mnemonic( menu, "Default Brush (2D)...", "ChooseBrushColor" );
create_menu_item_with_mnemonic( menu, "Selected Brush and Sizing (2D)...", "ChooseSelectedBrushColor" );
create_menu_item_with_mnemonic( menu, "Selected Brush (Camera)...", "ChooseCameraSelectedBrushColor" );
create_menu_item_with_mnemonic( menu, "Clipper...", "ChooseClipperColor" );
create_menu_item_with_mnemonic( menu, "Active View Name and Outline...", "ChooseOrthoViewNameColor" );
g_ColoursMenu.m_textureback .setAction( create_menu_item_with_mnemonic( menu, "&Texture Background..." , "ChooseTextureBackgroundColor" ) );
g_ColoursMenu.m_cameraback .setAction( create_menu_item_with_mnemonic( menu, "Camera Background..." , "ChooseCameraBackgroundColor" ) );
g_ColoursMenu.m_xyback .setAction( create_menu_item_with_mnemonic( menu, "Grid Background..." , "ChooseGridBackgroundColor" ) );
g_ColoursMenu.m_gridmajor .setAction( create_menu_item_with_mnemonic( menu, "Grid Major..." , "ChooseGridMajorColor" ) );
g_ColoursMenu.m_gridminor .setAction( create_menu_item_with_mnemonic( menu, "Grid Minor..." , "ChooseGridMinorColor" ) );
g_ColoursMenu.m_gridtext .setAction( create_menu_item_with_mnemonic( menu, "Grid Text..." , "ChooseGridTextColor" ) );
g_ColoursMenu.m_gridblock .setAction( create_menu_item_with_mnemonic( menu, "Grid Block..." , "ChooseGridBlockColor" ) );
g_ColoursMenu.m_brush .setAction( create_menu_item_with_mnemonic( menu, "Default Brush (2D)..." , "ChooseBrushColor" ) );
g_ColoursMenu.m_selectedbrush .setAction( create_menu_item_with_mnemonic( menu, "Selected Brush and Sizing (2D)...", "ChooseSelectedBrushColor" ) );
g_ColoursMenu.m_selectedbrush3d.setAction( create_menu_item_with_mnemonic( menu, "Selected Brush (Camera)..." , "ChooseCameraSelectedBrushColor" ) );
g_ColoursMenu.m_clipper .setAction( create_menu_item_with_mnemonic( menu, "Clipper..." , "ChooseClipperColor" ) );
g_ColoursMenu.m_viewname .setAction( create_menu_item_with_mnemonic( menu, "Active View Name and Outline..." , "ChooseOrthoViewNameColor" ) );
}

void Colors_registerCommands(){
Expand All @@ -336,16 +350,16 @@ void Colors_registerCommands(){
GlobalCommands_insert( "ColorSchemeYdnar", FreeCaller<ColorScheme_Ydnar>() );
GlobalCommands_insert( "ColorSchemeBlender", FreeCaller<ColorScheme_Blender>() );
GlobalCommands_insert( "ColorSchemeAdwaitaDark", FreeCaller<ColorScheme_AdwaitaDark>() );
GlobalCommands_insert( "ChooseTextureBackgroundColor", makeCallback( g_ColoursMenu.m_textureback ) );
GlobalCommands_insert( "ChooseGridBackgroundColor", makeCallback( g_ColoursMenu.m_xyback ) );
GlobalCommands_insert( "ChooseGridMajorColor", makeCallback( g_ColoursMenu.m_gridmajor ) );
GlobalCommands_insert( "ChooseGridMinorColor", makeCallback( g_ColoursMenu.m_gridminor ) );
GlobalCommands_insert( "ChooseGridTextColor", makeCallback( g_ColoursMenu.m_gridtext ) );
GlobalCommands_insert( "ChooseGridBlockColor", makeCallback( g_ColoursMenu.m_gridblock ) );
GlobalCommands_insert( "ChooseBrushColor", makeCallback( g_ColoursMenu.m_brush ) );
GlobalCommands_insert( "ChooseCameraBackgroundColor", makeCallback( g_ColoursMenu.m_cameraback ) );
GlobalCommands_insert( "ChooseSelectedBrushColor", makeCallback( g_ColoursMenu.m_selectedbrush ) );
GlobalCommands_insert( "ChooseTextureBackgroundColor" , makeCallback( g_ColoursMenu.m_textureback ) );
GlobalCommands_insert( "ChooseCameraBackgroundColor" , makeCallback( g_ColoursMenu.m_cameraback ) );
GlobalCommands_insert( "ChooseGridBackgroundColor" , makeCallback( g_ColoursMenu.m_xyback ) );
GlobalCommands_insert( "ChooseGridMajorColor" , makeCallback( g_ColoursMenu.m_gridmajor ) );
GlobalCommands_insert( "ChooseGridMinorColor" , makeCallback( g_ColoursMenu.m_gridminor ) );
GlobalCommands_insert( "ChooseGridTextColor" , makeCallback( g_ColoursMenu.m_gridtext ) );
GlobalCommands_insert( "ChooseGridBlockColor" , makeCallback( g_ColoursMenu.m_gridblock ) );
GlobalCommands_insert( "ChooseBrushColor" , makeCallback( g_ColoursMenu.m_brush ) );
GlobalCommands_insert( "ChooseSelectedBrushColor" , makeCallback( g_ColoursMenu.m_selectedbrush ) );
GlobalCommands_insert( "ChooseCameraSelectedBrushColor", makeCallback( g_ColoursMenu.m_selectedbrush3d ) );
GlobalCommands_insert( "ChooseClipperColor", makeCallback( g_ColoursMenu.m_clipper ) );
GlobalCommands_insert( "ChooseOrthoViewNameColor", makeCallback( g_ColoursMenu.m_viewname ) );
GlobalCommands_insert( "ChooseClipperColor" , makeCallback( g_ColoursMenu.m_clipper ) );
GlobalCommands_insert( "ChooseOrthoViewNameColor" , makeCallback( g_ColoursMenu.m_viewname ) );
}
2 changes: 1 addition & 1 deletion radiant/gtkmisc.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,7 @@ bool color_dialog( QWidget *parent, Vector3& color, const char* title ){

if( clr.isValid() )
color = Vector3( clr.redF(), clr.greenF(), clr.blueF() );
return clr.isValid();
return clr.isValid(); // invalid color if the user cancels the dialog
}

bool OpenGLFont_dialog( QWidget *parent, const char* font, const int size, CopiedString &newfont, int &newsize ){
Expand Down

0 comments on commit de4ba78

Please sign in to comment.