diff options
author | Thorbjørn Lindeijer <bjorn@lindeijer.nl> | 2024-10-29 16:19:55 +0100 |
---|---|---|
committer | Thorbjørn Lindeijer <bjorn@lindeijer.nl> | 2024-10-29 17:16:37 +0100 |
commit | 6cd8881f1b11c99f8e72735017e743c50094e922 (patch) | |
tree | 7f6726d2ed01fe39b78c4e2eb6cc4561c6e0db80 /src/gui/setup_players.cpp | |
parent | 93ad5ec32de124dfa0c054acfd1f2a378cb9ca75 (diff) | |
download | mana-6cd8881f1b11c99f8e72735017e743c50094e922.tar.gz mana-6cd8881f1b11c99f8e72735017e743c50094e922.tar.bz2 mana-6cd8881f1b11c99f8e72735017e743c50094e922.tar.xz mana-6cd8881f1b11c99f8e72735017e743c50094e922.zip |
Turned the PlayerRelation struct into an enum class
Less code to achieve the same thing (strong type and namespaced values).
The permissions related values have been moved to a PlayerPermissions
struct, which is also a bit less confusing.
Diffstat (limited to 'src/gui/setup_players.cpp')
-rw-r--r-- | src/gui/setup_players.cpp | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/src/gui/setup_players.cpp b/src/gui/setup_players.cpp index 89c588c0..a771d7ae 100644 --- a/src/gui/setup_players.cpp +++ b/src/gui/setup_players.cpp @@ -56,7 +56,7 @@ static const char *table_titles[COLUMNS_NR] = N_("Relation") }; -static const char *RELATION_NAMES[PlayerRelation::RELATIONS_NR] = +static const char *RELATION_NAMES[RELATIONS_NR] = { N_("Neutral"), N_("Friend"), @@ -71,7 +71,7 @@ public: int getNumberOfElements() override { - return PlayerRelation::RELATIONS_NR; + return RELATIONS_NR; } std::string getElementAt(int i) override @@ -135,7 +135,7 @@ public: mWidgets.push_back(widget); gcn::DropDown *choicebox = new DropDown(mListModel); - choicebox->setSelected(player_relations.getRelation(name)); + choicebox->setSelected(static_cast<int>(player_relations.getRelation(name))); mWidgets.push_back(choicebox); } @@ -147,8 +147,8 @@ public: auto *choicebox = static_cast<gcn::DropDown *>( getElementAt(row, RELATION_CHOICE_COLUMN)); player_relations.setRelation(getPlayerAt(row), - static_cast<PlayerRelation::Relation>( - choicebox->getSelected())); + static_cast<PlayerRelation>( + choicebox->getSelected())); } @@ -212,9 +212,9 @@ Setup_Players::Setup_Players(): mPlayerTitleTable(new GuiTable(mPlayerTableTitleModel)), mPlayerScrollArea(new ScrollArea(mPlayerTable)), mDefaultTrading(new CheckBox(_("Allow trading"), - player_relations.getDefault() & PlayerRelation::TRADE)), + player_relations.getDefault() & PlayerPermissions::TRADE)), mDefaultWhisper(new CheckBox(_("Allow whispers"), - player_relations.getDefault() & PlayerRelation::WHISPER)), + player_relations.getDefault() & PlayerPermissions::WHISPER)), mDeleteButton(new Button(_("Delete"), ACTION_DELETE, this)), mWhisperTab(config.getBoolValue("whispertab")), mWhisperTabCheckBox(new CheckBox(_("Put all whispers in tabs"), mWhisperTab)), @@ -316,13 +316,13 @@ void Setup_Players::apply() player_relations.store(); unsigned int old_default_relations = player_relations.getDefault() & - ~(PlayerRelation::TRADE | - PlayerRelation::WHISPER); + ~(PlayerPermissions::TRADE | + PlayerPermissions::WHISPER); player_relations.setDefault(old_default_relations | (mDefaultTrading->isSelected() ? - PlayerRelation::TRADE : 0) + PlayerPermissions::TRADE : 0) | (mDefaultWhisper->isSelected() ? - PlayerRelation::WHISPER : 0)); + PlayerPermissions::WHISPER : 0)); config.setValue("whispertab", mWhisperTab); bool showGender = config.getBoolValue("showgender"); @@ -398,7 +398,7 @@ void Setup_Players::playerRelationsUpdated() { mPlayerTableModel->playerRelationsUpdated(); mDefaultTrading->setSelected( - player_relations.getDefault() & PlayerRelation::TRADE); + player_relations.getDefault() & PlayerPermissions::TRADE); mDefaultWhisper->setSelected( - player_relations.getDefault() & PlayerRelation::WHISPER); + player_relations.getDefault() & PlayerPermissions::WHISPER); } |