Author: mir3x
Date: Tue Aug  2 16:57:50 2016
New Revision: 33421

URL: http://svn.gna.org/viewcvs/freeciv?rev=33421&view=rev
Log:
Qt client - disabled multiplayer menu for observers.

See bug #24895


Modified:
    trunk/client/gui-qt/menu.cpp
    trunk/client/gui-qt/menu.h

Modified: trunk/client/gui-qt/menu.cpp
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/client/gui-qt/menu.cpp?rev=33421&r1=33420&r2=33421&view=diff
==============================================================================
--- trunk/client/gui-qt/menu.cpp        (original)
+++ trunk/client/gui-qt/menu.cpp        Tue Aug  2 16:57:50 2016
@@ -1463,33 +1463,33 @@
   menu_list.insertMulti(ORDER_TRADEROUTE, act);
   connect(act, SIGNAL(triggered()), this, SLOT(slot_build_road()));
 
-  menu = this->addMenu(_("Multiplayer"));
-  act = menu->addAction(_("Delayed Goto"));
+  multiplayer_menu = this->addMenu(_("Multiplayer"));
+  act = multiplayer_menu->addAction(_("Delayed Goto"));
   act->setShortcut(QKeySequence(tr("z")));
   connect(act, SIGNAL(triggered()), this, SLOT(slot_delayed_goto()));
-  act = menu->addAction(_("Delayed Orders Execute"));
+  act = multiplayer_menu->addAction(_("Delayed Orders Execute"));
   act->setShortcut(QKeySequence(tr("ctrl+z")));
   connect(act, SIGNAL(triggered()), this, SLOT(slot_execute_orders()));
-  act = menu->addAction(_("Clear Orders"));
+  act = multiplayer_menu->addAction(_("Clear Orders"));
   act->setShortcut(QKeySequence(tr("ctrl+shift+c")));
   connect(act, SIGNAL(triggered()), this, SLOT(slot_orders_clear()));
-  act = menu->addAction(_("Add all cities to trade planning"));
+  act = multiplayer_menu->addAction(_("Add all cities to trade planning"));
   connect(act, SIGNAL(triggered()), this, SLOT(slot_trade_add_all()));
-  act = menu->addAction(_("Calculate trade planning"));
+  act = multiplayer_menu->addAction(_("Calculate trade planning"));
   connect(act, SIGNAL(triggered()), this, SLOT(slot_calculate()));
-  act = menu->addAction(_("Add/Remove City"));
+  act = multiplayer_menu->addAction(_("Add/Remove City"));
   act->setShortcut(QKeySequence(tr("ctrl+t")));
   connect(act, SIGNAL(triggered()), this, SLOT(slot_trade_city()));
-  act = menu->addAction(_("Clear Trade Planning"));
+  act = multiplayer_menu->addAction(_("Clear Trade Planning"));
   connect(act, SIGNAL(triggered()), this, SLOT(slot_clear_trade()));
-  act = menu->addAction(_("Set/Unset rally point"));
+  act = multiplayer_menu->addAction(_("Set/Unset rally point"));
   act->setShortcut(QKeySequence(tr("shift+s")));
   connect(act, SIGNAL(triggered()), this, SLOT(slot_rally()));
-  act = menu->addAction(_("Quick Airlift"));
+  act = multiplayer_menu->addAction(_("Quick Airlift"));
   act->setShortcut(QKeySequence(tr("ctrl+y")));
   connect(act, SIGNAL(triggered()), this, SLOT(slot_quickairlift()));
   airlift_type = new QActionGroup(this);
-  airlift_menu = menu->addMenu(_("Unit type for quickairlifting"));
+  airlift_menu = multiplayer_menu->addMenu(_("Unit type for quickairlifting"));
 
   /* Civilization menu */
   menu = this->addMenu(_("Civilization"));
@@ -1682,6 +1682,9 @@
   QAction *act;
 
   airlift_menu->clear();
+  if (client_is_observer()) {
+    return;
+  }
   unit_type_iterate(utype) {
     utype_id = utype_index(utype);
 
@@ -1732,6 +1735,12 @@
   /** Disable first all sensitive menus */
   foreach(QAction * a, menu_list) {
     a->setEnabled(false);
+  }
+
+  if (client_is_observer()) {
+    multiplayer_menu->setDisabled(true);
+  } else {
+    multiplayer_menu->setDisabled(false);
   }
 
   /* Non unit menus */

Modified: trunk/client/gui-qt/menu.h
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/client/gui-qt/menu.h?rev=33421&r1=33420&r2=33421&view=diff
==============================================================================
--- trunk/client/gui-qt/menu.h  (original)
+++ trunk/client/gui-qt/menu.h  Tue Aug  2 16:57:50 2016
@@ -302,6 +302,7 @@
   QMenu *menu;
   QMenu *filter_menu;
   QMenu *airlift_menu;
+  QMenu *multiplayer_menu;
   QActionGroup *filter_act;
   QActionGroup *filter_any;
   QActionGroup *airlift_type;


_______________________________________________
Freeciv-commits mailing list
Freeciv-commits@gna.org
https://mail.gna.org/listinfo/freeciv-commits

Reply via email to