diff --git a/Common/DefaultOptions.h b/Common/DefaultOptions.h index 4fc98a964c5070ac8be8c78efed005ffdb184770..2fc15bd402eb060a517cb43747f4dc730d524517 100644 --- a/Common/DefaultOptions.h +++ b/Common/DefaultOptions.h @@ -556,6 +556,8 @@ StringXNumber GeneralOptions_Number[] = { "Polygon offset factor (offset = factor * DZ + r * units)" }, { F|O, "PolygonOffsetUnits" , opt_general_polygon_offset_units , 1. , "Polygon offset units (offset = factor * DZ + r * units)" }, + { F|O, "ProgressMeterStep" , opt_general_progress_meter_step , 20. , + "Increment (in percent) of the progress meter bar" }, { F|O, "QuadricSubdivisions" , opt_general_quadric_subdivisions, 6. , "Number of subdivisions used to draw points or lines as spheres or cylinders" }, diff --git a/Common/GmshMessage.cpp b/Common/GmshMessage.cpp index 9e6ec77266fb76899e70e5ca0bf00ae7352b6820..e31a3029e8cb0db723dec378ddf3e854cf8d7ddd 100644 --- a/Common/GmshMessage.cpp +++ b/Common/GmshMessage.cpp @@ -447,7 +447,8 @@ void Msg::Debug(const char *fmt, ...) void Msg::ProgressMeter(int n, int N, bool log, const char *fmt, ...) { - if(_commRank || _verbosity < 4) return; + if(_commRank || _verbosity < 4 || + _progressMeterStep <= 0 || _progressMeterStep >= 100) return; double percent = 100. * (double)n/(double)N; diff --git a/Common/GmshMessage.h b/Common/GmshMessage.h index 2ddd4f0bd86011ef12282a183e1d249eb6ab4133..629fe3716cdd86c950117f3a6c0589d3ea40fe7b 100644 --- a/Common/GmshMessage.h +++ b/Common/GmshMessage.h @@ -70,7 +70,8 @@ class Msg { static void StatusBar(int num, bool log, const char *fmt, ...); static void Debug(const char *fmt, ...); static void ProgressMeter(int n, int N, bool log, const char *fmt, ...); - static void SetProgressMeterStep(int step){ _progressMeterStep = (step > 0) ? step : 1; } + static void SetProgressMeterStep(int step){ _progressMeterStep = step; } + static int GetProgressMeterStep(){ return _progressMeterStep; } static void ResetProgressMeter(){ if(!_commRank) _progressMeterCurrent = 0; } static double &Timer(std::string str){ return _timers[str]; } static void PrintTimers(); diff --git a/Common/OpenFile.h b/Common/OpenFile.h index abecb416b891eb2a9a99c80284b224479dd4c0fe..e0060625a09a748688bb302f8972bef840a8c12f 100644 --- a/Common/OpenFile.h +++ b/Common/OpenFile.h @@ -8,8 +8,8 @@ #include <string> -int ParseFile(const std::string & fileName, bool close, bool warnIfMissing=false); -void ParseString(const std::string & str); +int ParseFile(const std::string &fileName, bool close, bool warnIfMissing=false); +void ParseString(const std::string &str); void OpenProject(const std::string &filename); void OpenProjectMacFinder(const char *fileName); int MergeFile(const std::string &fileName, bool warnIfMissing=false); diff --git a/Common/Options.cpp b/Common/Options.cpp index 09991224f11e6d11dfff805a90dddc8ebbd4d126..7c10d9e7bbc0a654385493551ded8a4cb4908f69 100644 --- a/Common/Options.cpp +++ b/Common/Options.cpp @@ -2363,6 +2363,14 @@ double opt_general_verbosity(OPT_ARGS_NUM) return Msg::GetVerbosity(); } +double opt_general_progress_meter_step(OPT_ARGS_NUM) +{ + if(action & GMSH_SET){ + Msg::SetProgressMeterStep((int)val); + } + return Msg::GetProgressMeterStep(); +} + double opt_general_nopopup(OPT_ARGS_NUM) { if(action & GMSH_SET) diff --git a/Common/Options.h b/Common/Options.h index 782a6c2acaa8b2bafc68e8b2686e96ce1cf1220b..6663634df9c78230df90abf5b92f4d2c2d878328 100644 --- a/Common/Options.h +++ b/Common/Options.h @@ -168,6 +168,7 @@ double opt_general_background_gradient(OPT_ARGS_NUM); double opt_general_background_image_position0(OPT_ARGS_NUM); double opt_general_background_image_position1(OPT_ARGS_NUM); double opt_general_verbosity(OPT_ARGS_NUM); +double opt_general_progress_meter_step(OPT_ARGS_NUM); double opt_general_nopopup(OPT_ARGS_NUM); double opt_general_non_modal_windows(OPT_ARGS_NUM); double opt_general_terminal(OPT_ARGS_NUM);