1- //
2- //
3-
41#include " ShipFlagsDialogModel.h"
52
63#include < object/object.h>
@@ -13,81 +10,82 @@ static const Ship::Ship_Flags player_start_hidden_flags[] = {
1310 Ship::Ship_Flags::Reinforcement,
1411 Ship::Ship_Flags::Kill_before_mission,
1512};
16- int ShipFlagsDialogModel::tristate_set (int val, int cur_state)
13+
14+ int ShipFlagsDialogModel::tristateSet (int val, int curState)
1715{
18- // cur_state uses Qt::CheckState encoding (0=Unchecked, 1=PartiallyChecked, 2=Checked)
19- if (cur_state == Qt::PartiallyChecked)
16+ // curState uses Qt::CheckState encoding (0=Unchecked, 1=PartiallyChecked, 2=Checked)
17+ if (curState == Qt::PartiallyChecked)
2018 return Qt::PartiallyChecked;
21- bool cur_bool = (cur_state == Qt::Checked);
19+ bool cur_bool = (curState == Qt::Checked);
2220 if (static_cast <bool >(val) != cur_bool)
2321 return Qt::PartiallyChecked;
24- return cur_state ;
22+ return curState ;
2523}
26- std::pair<SCP_string, int >* ShipFlagsDialogModel::getFlag (const SCP_string& flag_name)
27- {
2824
29- for (auto & flag : flags) {
30- if (!stricmp (flag_name.c_str (), flag.first .c_str ())) {
25+ std::pair<SCP_string, int >* ShipFlagsDialogModel::getFlag (const SCP_string& flagName)
26+ {
27+ for (auto & flag : _flags) {
28+ if (!stricmp (flagName.c_str (), flag.first .c_str ())) {
3129 return &flag;
3230 }
3331 }
3432 // Only assert if the name isn't a known flag at all; it may have been legitimately filtered out for ship starts
3533 bool known = false ;
3634 for (size_t i = 0 ; i < Num_Parse_ship_flags && !known; ++i)
37- known = !stricmp (flag_name .c_str (), Parse_ship_flags[i].name );
35+ known = !stricmp (flagName .c_str (), Parse_ship_flags[i].name );
3836 for (size_t i = 0 ; i < Num_Parse_ship_ai_flags && !known; ++i)
39- known = !stricmp (flag_name .c_str (), Parse_ship_ai_flags[i].name );
37+ known = !stricmp (flagName .c_str (), Parse_ship_ai_flags[i].name );
4038 for (size_t i = 0 ; i < Num_Parse_ship_object_flags && !known; ++i)
41- known = !stricmp (flag_name .c_str (), Parse_ship_object_flags[i].name );
42- Assertion (known, " Illegal flag name \" %s\" " , flag_name .c_str ());
39+ known = !stricmp (flagName .c_str (), Parse_ship_object_flags[i].name );
40+ Assertion (known, " Illegal flag name \" %s\" " , flagName .c_str ());
4341 return nullptr ;
4442}
4543
46- void ShipFlagsDialogModel::setFlag (const SCP_string& flag_name , int value )
44+ void ShipFlagsDialogModel::setFlag (const SCP_string& flagName , int state )
4745{
48- for (auto & flag : flags ) {
49- if (!stricmp (flag_name .c_str (), flag.first .c_str ())) {
50- flag.second = value ;
46+ for (auto & flag : _flags ) {
47+ if (!stricmp (flagName .c_str (), flag.first .c_str ())) {
48+ flag.second = state ;
5149 set_modified ();
5250 }
5351 }
5452}
5553
56- void ShipFlagsDialogModel::setDestroyTime (int value )
54+ void ShipFlagsDialogModel::setDestroyTime (int destroyTime )
5755{
58- modify (destroytime, value );
56+ modify (_destroyTime, destroyTime );
5957}
6058
6159int ShipFlagsDialogModel::getDestroyTime () const
6260{
63- return destroytime ;
61+ return _destroyTime ;
6462}
6563
66- void ShipFlagsDialogModel::setEscortPriority (int value )
64+ void ShipFlagsDialogModel::setEscortPriority (int priority )
6765{
68- modify (escortp, value );
66+ modify (_escortPriority, priority );
6967}
7068
7169int ShipFlagsDialogModel::getEscortPriority () const
7270{
73- return escortp ;
71+ return _escortPriority ;
7472}
7573
76- void ShipFlagsDialogModel::setKamikazeDamage (int value )
74+ void ShipFlagsDialogModel::setKamikazeDamage (int damage )
7775{
78- modify (kamikazed, value );
76+ modify (_kamikazeDamage, damage );
7977}
8078
8179int ShipFlagsDialogModel::getKamikazeDamage () const
8280{
83- return kamikazed ;
81+ return _kamikazeDamage ;
8482}
8583
86- void ShipFlagsDialogModel::update_ship ( const int shipnum )
84+ void ShipFlagsDialogModel::updateShip ( int shipNum )
8785{
88- ship* shipp = &Ships[shipnum ];
86+ ship* shipp = &Ships[shipNum ];
8987 object* objp = &Objects[shipp->objnum ];
90- for (const auto & [name, checked] : flags ) {
88+ for (const auto & [name, checked] : _flags ) {
9189 // PartiallyChecked means mixed selection — leave each ship's flag as-is
9290 if (checked == Qt::PartiallyChecked)
9391 continue ;
@@ -145,10 +143,11 @@ void ShipFlagsDialogModel::update_ship(const int shipnum)
145143 }
146144 }
147145 }
148- Ai_info[shipp->ai_index ].kamikaze_damage = kamikazed ;
149- shipp->escort_priority = escortp ;
150- shipp->final_death_time = destroytime ;
146+ Ai_info[shipp->ai_index ].kamikaze_damage = _kamikazeDamage ;
147+ shipp->escort_priority = _escortPriority ;
148+ shipp->final_death_time = _destroyTime ;
151149}
150+
152151ShipFlagsDialogModel::ShipFlagsDialogModel (QObject* parent, EditorViewport* viewport)
153152 : AbstractDialogModel(parent, viewport)
154153{
@@ -163,7 +162,7 @@ bool ShipFlagsDialogModel::apply()
163162 while (objp != END_OF_LIST (&obj_used_list)) {
164163 if ((objp->type == OBJ_START ) || (objp->type == OBJ_SHIP )) {
165164 if (objp->flags [Object::Object_Flags::Marked]) {
166- update_ship (objp->instance );
165+ updateShip (objp->instance );
167166 }
168167 }
169168 objp = GET_NEXT (objp);
@@ -176,7 +175,7 @@ void ShipFlagsDialogModel::reject() {}
176175
177176const SCP_vector<std::pair<SCP_string, int >>& ShipFlagsDialogModel::getFlagsList ()
178177{
179- return flags ;
178+ return _flags ;
180179}
181180
182181SCP_vector<std::pair<SCP_string, SCP_string>> ShipFlagsDialogModel::getShipFlagDescriptions ()
@@ -262,9 +261,9 @@ void ShipFlagsDialogModel::initializeData()
262261 if (objp->flags [Object::Object_Flags::Marked]) {
263262 shipp = &Ships[objp->instance ];
264263 if (first) {
265- kamikazed = Ai_info[shipp->ai_index ].kamikaze_damage ;
266- escortp = shipp->escort_priority ;
267- destroytime = shipp->final_death_time ;
264+ _kamikazeDamage = Ai_info[shipp->ai_index ].kamikaze_damage ;
265+ _escortPriority = shipp->escort_priority ;
266+ _destroyTime = shipp->final_death_time ;
268267 for (size_t i = 0 ; i < Num_Parse_ship_flags; i++) {
269268 auto flagDef = Parse_ship_flags[i];
270269
@@ -290,12 +289,12 @@ void ShipFlagsDialogModel::initializeData()
290289 if (hidden) continue ;
291290 }
292291 bool checked = shipp->flags [flagDef.def ];
293- flags .emplace_back (flagDef.name , checked ? Qt::Checked : Qt::Unchecked);
292+ _flags .emplace_back (flagDef.name , checked ? Qt::Checked : Qt::Unchecked);
294293 }
295294 for (size_t i = 0 ; i < Num_Parse_ship_ai_flags; i++) {
296295 auto flagDef = Parse_ship_ai_flags[i];
297296 bool checked = Ai_info[shipp->ai_index ].ai_flags [flagDef.def ];
298- flags .emplace_back (flagDef.name , checked ? Qt::Checked : Qt::Unchecked);
297+ _flags .emplace_back (flagDef.name , checked ? Qt::Checked : Qt::Unchecked);
299298 }
300299 for (size_t i = 0 ; i < Num_Parse_ship_object_flags; i++) {
301300 auto flagDef = Parse_ship_object_flags[i];
@@ -305,7 +304,7 @@ void ShipFlagsDialogModel::initializeData()
305304 } else {
306305 checked = objp->flags [flagDef.def ];
307306 }
308- flags .emplace_back (flagDef.name , checked ? Qt::Checked : Qt::Unchecked);
307+ _flags .emplace_back (flagDef.name , checked ? Qt::Checked : Qt::Unchecked);
309308 }
310309 first = 0 ;
311310 } else {
@@ -333,12 +332,12 @@ void ShipFlagsDialogModel::initializeData()
333332 if (hidden) continue ;
334333 }
335334 bool checked = shipp->flags [flagDef.def ];
336- getFlag (flagDef.name )->second = tristate_set (checked, getFlag (flagDef.name )->second );
335+ getFlag (flagDef.name )->second = tristateSet (checked, getFlag (flagDef.name )->second );
337336 }
338337 for (size_t i = 0 ; i < Num_Parse_ship_ai_flags; i++) {
339338 auto flagDef = Parse_ship_ai_flags[i];
340339 bool checked = Ai_info[shipp->ai_index ].ai_flags [flagDef.def ];
341- getFlag (flagDef.name )->second = tristate_set (checked, getFlag (flagDef.name )->second );
340+ getFlag (flagDef.name )->second = tristateSet (checked, getFlag (flagDef.name )->second );
342341 }
343342 for (size_t i = 0 ; i < Num_Parse_ship_object_flags; i++) {
344343 auto flagDef = Parse_ship_object_flags[i];
@@ -352,15 +351,17 @@ void ShipFlagsDialogModel::initializeData()
352351 } else {
353352 checked = objp->flags [flagDef.def ];
354353 }
355- getFlag (flagDef.name )->second = tristate_set (checked, getFlag (flagDef.name )->second );
354+ getFlag (flagDef.name )->second = tristateSet (checked, getFlag (flagDef.name )->second );
356355 }
357356 }
358357 }
359358 }
360359
361360 objp = GET_NEXT (objp);
362361 }
362+ _modified = false ;
363363 modelChanged ();
364364 _modified = false ;
365365}
366+
366367} // namespace fso::fred::dialogs
0 commit comments