From dee00be204a1b9672e81b969e36666ad77116c7c Mon Sep 17 00:00:00 2001 From: Garux Date: Thu, 5 Oct 2023 20:16:38 +0600 Subject: [PATCH] adjust preferences dialog.spinners decimals closes #152 --- radiant/brushmodule.cpp | 7 ++++--- radiant/camwindow.cpp | 5 +++-- radiant/dialog.cpp | 8 ++++---- radiant/dialog.h | 4 ++-- radiant/entity.cpp | 4 ++-- radiant/modelwindow.cpp | 2 +- radiant/preferences.h | 8 ++++---- 7 files changed, 20 insertions(+), 18 deletions(-) diff --git a/radiant/brushmodule.cpp b/radiant/brushmodule.cpp index 7bb8749b..f05835d9 100644 --- a/radiant/brushmodule.cpp +++ b/radiant/brushmodule.cpp @@ -91,10 +91,11 @@ void Brush_constructPreferences( PreferencesPage& page ){ FaceExportSnapPlanesCaller() ); page.appendSpinner( - "Default texture scale", - g_texdef_default_scale, + "Default texture scale", + g_texdef_default_scale, 0.0625, - 64 + 64, + 4 ); if ( g_multipleBrushTypes ) { const char* names[] = { BrushType_getName( g_brushTypes[0] ), BrushType_getName( g_brushTypes[1] ), BrushType_getName( g_brushTypes[2] ) }; diff --git a/radiant/camwindow.cpp b/radiant/camwindow.cpp index 92e3ea46..813f5890 100644 --- a/radiant/camwindow.cpp +++ b/radiant/camwindow.cpp @@ -2455,9 +2455,10 @@ void Camera_constructPreferences( PreferencesPage& page ){ StringArrayRange( strafe_mode ) ); - page.appendSpinner( "Field Of View", 1.0, 175.0, + page.appendSpinner( "Field Of View", 1.0, 175.0, FloatImportCallback( fieldOfViewImportCaller() ), - FloatExportCallback( FloatExportCaller( camera_t::fieldOfView ) ) + FloatExportCallback( FloatExportCaller( camera_t::fieldOfView ) ), + 0 ); } void Camera_constructPage( PreferenceGroup& group ){ diff --git a/radiant/dialog.cpp b/radiant/dialog.cpp index 509cbb2a..57f8e9ee 100644 --- a/radiant/dialog.cpp +++ b/radiant/dialog.cpp @@ -515,14 +515,14 @@ QWidget* Dialog::addSpinner( QGridLayout* grid, const char* name, int& data, int return addSpinner( grid, name, lower, upper, IntImportCallback( IntImportCaller( data ) ), IntExportCallback( IntExportCaller( data ) ) ); } -QWidget* Dialog::addSpinner( QGridLayout* grid, const char* name, double lower, double upper, const FloatImportCallback& importViewer, const FloatExportCallback& exportViewer ){ - auto spin = new DoubleSpinBox( lower, upper ); +QWidget* Dialog::addSpinner( QGridLayout* grid, const char* name, double lower, double upper, const FloatImportCallback& importViewer, const FloatExportCallback& exportViewer, int decimals ){ + auto spin = new DoubleSpinBox( lower, upper, 0, decimals ); spin->setStepType( QAbstractSpinBox::StepType::AdaptiveDecimalStepType ); AddFloatSpinnerData( *spin, importViewer, exportViewer ); DialogGrid_packRow( grid, spin, new SpinBoxLabel( name, spin ) ); return spin; } -QWidget* Dialog::addSpinner( QGridLayout* grid, const char* name, float& data, double lower, double upper ){ - return addSpinner( grid, name, lower, upper, FloatImportCallback( FloatImportCaller( data ) ), FloatExportCallback( FloatExportCaller( data ) ) ); +QWidget* Dialog::addSpinner( QGridLayout* grid, const char* name, float& data, double lower, double upper, int decimals ){ + return addSpinner( grid, name, lower, upper, FloatImportCallback( FloatImportCaller( data ) ), FloatExportCallback( FloatExportCaller( data ) ), decimals ); } diff --git a/radiant/dialog.h b/radiant/dialog.h index dc87346b..19f680ad 100644 --- a/radiant/dialog.h +++ b/radiant/dialog.h @@ -153,8 +153,8 @@ public: void addPathEntry( QGridLayout *grid, const char* name, CopiedString& data, bool directory ); QWidget* addSpinner( QGridLayout *grid, const char* name, int& data, int lower, int upper ); QWidget* addSpinner( QGridLayout *grid, const char* name, int lower, int upper, const IntImportCallback& importCallback, const IntExportCallback& exportCallback ); - QWidget* addSpinner( QGridLayout *grid, const char* name, double lower, double upper, const FloatImportCallback& importCallback, const FloatExportCallback& exportCallback ); - QWidget* addSpinner( QGridLayout* grid, const char* name, float& data, double lower, double upper ); + QWidget* addSpinner( QGridLayout *grid, const char* name, double lower, double upper, const FloatImportCallback& importCallback, const FloatExportCallback& exportCallback, int decimals ); + QWidget* addSpinner( QGridLayout* grid, const char* name, float& data, double lower, double upper, int decimals ); protected: diff --git a/radiant/entity.cpp b/radiant/entity.cpp index 94fa6977..add34167 100644 --- a/radiant/entity.cpp +++ b/radiant/entity.cpp @@ -666,11 +666,11 @@ typedef ReferenceCaller1 Folders void ModelBrowser_constructPage( PreferenceGroup& group ){ PreferencesPage page( group.createPage( "Model Browser", "Model Browser Preferences" ) ); - page.appendSpinner( "Model View Size", 16.0, 8192.0, + page.appendSpinner( "Model View Size", 16, 8192, IntImportCallback( CellSizeImportCaller( g_ModelBrowser.m_cellSize ) ), IntExportCallback( IntExportCaller( g_ModelBrowser.m_cellSize ) ) ); page.appendEntry( "List of *folderToLoad/depth*", diff --git a/radiant/preferences.h b/radiant/preferences.h index 79cdb1cb..54ab9592 100644 --- a/radiant/preferences.h +++ b/radiant/preferences.h @@ -93,11 +93,11 @@ public: QWidget* appendSpinner( const char* name, int lower, int upper, const IntImportCallback& importCallback, const IntExportCallback& exportCallback ){ return m_dialog.addSpinner( m_grid, name, lower, upper, importCallback, exportCallback ); } - QWidget* appendSpinner( const char* name, double lower, double upper, const FloatImportCallback& importCallback, const FloatExportCallback& exportCallback ){ - return m_dialog.addSpinner( m_grid, name, lower, upper, importCallback, exportCallback ); + QWidget* appendSpinner( const char* name, double lower, double upper, const FloatImportCallback& importCallback, const FloatExportCallback& exportCallback, int decimals = 2 ){ + return m_dialog.addSpinner( m_grid, name, lower, upper, importCallback, exportCallback, decimals ); } - QWidget* appendSpinner( const char* name, float& data, double lower, double upper ){ - return m_dialog.addSpinner( m_grid, name, data, lower, upper ); + QWidget* appendSpinner( const char* name, float& data, double lower, double upper, int decimals = 2 ){ + return m_dialog.addSpinner( m_grid, name, data, lower, upper, decimals ); } };