From a88d005220997d4c66d3a97ae8fd857a7dd3c307 Mon Sep 17 00:00:00 2001
From: Andrei Karas <akaras@inbox.ru>
Date: Fri, 8 Jul 2011 03:25:29 +0300
Subject: Show players statuses near nicks.

---
 src/gui/setup_players.cpp | 14 ++++++++++++++
 src/gui/setup_players.h   |  5 ++++-
 2 files changed, 18 insertions(+), 1 deletion(-)

(limited to 'src/gui')

diff --git a/src/gui/setup_players.cpp b/src/gui/setup_players.cpp
index 407eca42a..67ec053ea 100644
--- a/src/gui/setup_players.cpp
+++ b/src/gui/setup_players.cpp
@@ -261,6 +261,7 @@ Setup_Players::Setup_Players():
     mSecureTrades(config.getBoolValue("securetrades")),
     mUnsecureChars(config.getStringValue("unsecureChars")),
     mVisibleNamesEnabled(config.getBoolValue("visiblenames")),
+    mShowPlayersStatus(config.getBoolValue("showPlayersStatus")),
     mEditDialog(0)
 {
     setName(_("Players"));
@@ -337,6 +338,11 @@ Setup_Players::Setup_Players():
     mVisibleNamesCheckBox->setActionEventId("visiblenames");
     mVisibleNamesCheckBox->addActionListener(this);
 
+    mShowPlayersStatusCheckBox = new CheckBox(_("Show statuses"),
+        mShowPlayersStatus);
+    mShowPlayersStatusCheckBox->setActionEventId("showPlayersStatus");
+    mShowPlayersStatusCheckBox->addActionListener(this);
+
     reset();
 
     // Do the layout
@@ -357,6 +363,7 @@ Setup_Players::Setup_Players():
     place(3, 8, mSecureTradesCheckBox, 3);
     place(3, 9, mUnsecureCharsLabel, 3);
     place(3, 10, mUnsecureCharsField, 2);
+    place(3, 11, mShowPlayersStatusCheckBox, 2);
     place(5, 10, mUnsecureCharsButton, 1);
     place(0, 9, mWhisperTabCheckBox, 3).setPadding(4);
     place(0, 10, mTargetDeadCheckBox, 3).setPadding(4);
@@ -415,6 +422,7 @@ void Setup_Players::apply()
     config.setValue("securetrades", mSecureTrades);
     config.setValue("unsecureChars", mUnsecureCharsField->getText());
     config.setValue("visiblenames", mVisibleNamesEnabled);
+    config.setValue("showPlayersStatus", mShowPlayersStatus);
 
     if (actorSpriteManager)
         actorSpriteManager->updatePlayerNames();
@@ -441,6 +449,8 @@ void Setup_Players::cancel()
     mUnsecureCharsField->setText(mUnsecureChars);
     mVisibleNamesEnabled = config.getBoolValue("visiblenames");
     mVisibleNamesCheckBox->setSelected(mVisibleNamesEnabled);
+    mShowPlayersStatus = config.getBoolValue("showPlayersStatus");
+    mShowPlayersStatusCheckBox->setSelected(mShowPlayersStatus);
 }
 
 void Setup_Players::action(const gcn::ActionEvent &event)
@@ -526,6 +536,10 @@ void Setup_Players::action(const gcn::ActionEvent &event)
     {
         mVisibleNamesEnabled = mVisibleNamesCheckBox->isSelected();
     }
+    else if (event.getId() == "showPlayersStatus")
+    {
+        mShowPlayersStatus = mShowPlayersStatusCheckBox->isSelected();
+    }
 }
 
 void Setup_Players::updatedPlayer(const std::string &name A_UNUSED)
diff --git a/src/gui/setup_players.h b/src/gui/setup_players.h
index 83709d7bd..9f35d1600 100644
--- a/src/gui/setup_players.h
+++ b/src/gui/setup_players.h
@@ -99,10 +99,13 @@ private:
     gcn::TextField *mUnsecureCharsField;
     gcn::Button *mUnsecureCharsButton;
     std::string mUnsecureChars;
-    bool mVisibleNamesEnabled;
 
+    bool mVisibleNamesEnabled;
     gcn::CheckBox *mVisibleNamesCheckBox;
 
+    bool mShowPlayersStatus;
+    gcn::CheckBox *mShowPlayersStatusCheckBox;
+
     EditDialog *mEditDialog;
 };
 
-- 
cgit v1.2.3-70-g09d2