Author: cazfi
Date: Thu Sep 15 09:11:00 2016
New Revision: 33805

URL: http://svn.gna.org/viewcvs/freeciv?rev=33805&view=rev
Log:
Added functionality for editing requirement 'present' value.

See patch #7649

Modified:
    trunk/tools/ruledit/req_edit.cpp
    trunk/tools/ruledit/req_edit.h

Modified: trunk/tools/ruledit/req_edit.cpp
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/tools/ruledit/req_edit.cpp?rev=33805&r1=33804&r2=33805&view=diff
==============================================================================
--- trunk/tools/ruledit/req_edit.cpp    (original)
+++ trunk/tools/ruledit/req_edit.cpp    Thu Sep 15 09:11:00 2016
@@ -106,6 +106,16 @@
   } req_range_iterate_end;
   active_layout->addWidget(edit_range_button, 6, 0);
 
+  edit_present_button = new QToolButton();
+  menu = new QMenu();
+  edit_present_button->setToolButtonStyle(Qt::ToolButtonTextOnly);
+  edit_present_button->setPopupMode(QToolButton::MenuButtonPopup);
+  connect(menu, SIGNAL(triggered(QAction *)), this, 
SLOT(req_present_menu(QAction *)));
+  edit_present_button->setMenu(menu);
+  menu->addAction("Allows");
+  menu->addAction("Prevents");
+  active_layout->addWidget(edit_present_button, 7, 0);
+
   main_layout->addLayout(active_layout);
 
   add_button = new QPushButton(QString::fromUtf8(R__("Add Requirement")), 
this);
@@ -238,6 +248,11 @@
     edit_value_nbr_field->setVisible(false);
     universal_kind_values(&selected->source, universal_value_cb, &data);
     edit_range_button->setText(req_range_name(selected->range));
+    if (selected->present) {
+      edit_present_button->setText("Allows");
+    } else {
+      edit_present_button->setText("Prevents");
+    }
   }
 }
 
@@ -267,6 +282,22 @@
 
   if (selected != nullptr) {
     selected->range = range;
+  }
+
+  refresh();
+}
+
+/**************************************************************************
+  User selected 'present' value for the requirement.
+**************************************************************************/
+void req_edit::req_present_menu(QAction *action)
+{
+  if (selected != nullptr) {
+    if (action->text() == "Prevents") {
+      selected->present = FALSE;
+    } else {
+      selected->present = TRUE;
+    }
   }
 
   refresh();

Modified: trunk/tools/ruledit/req_edit.h
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/tools/ruledit/req_edit.h?rev=33805&r1=33804&r2=33805&view=diff
==============================================================================
--- trunk/tools/ruledit/req_edit.h      (original)
+++ trunk/tools/ruledit/req_edit.h      Thu Sep 15 09:11:00 2016
@@ -48,6 +48,7 @@
     QMenu *edit_value_enum_menu;
     QLineEdit *edit_value_nbr_field;
     QToolButton *edit_range_button;
+    QToolButton *edit_present_button;
 
   private slots:
     void select_req();
@@ -58,6 +59,7 @@
 
     void req_type_menu(QAction *action);
     void req_range_menu(QAction *action);
+    void req_present_menu(QAction *action);
     void univ_value_enum_menu(QAction *action);
     void univ_value_edit();
 };


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

Reply via email to