Author: cazfi
Date: Fri May 12 19:58:25 2017
New Revision: 35528

URL: http://svn.gna.org/viewcvs/freeciv?rev=35528&view=rev
Log:
Add editing of effect requirements

See hrm Feature #659223

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

Modified: trunk/tools/ruledit/effect_edit.cpp
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/tools/ruledit/effect_edit.cpp?rev=35528&r1=35527&r2=35528&view=diff
==============================================================================
--- trunk/tools/ruledit/effect_edit.cpp (original)
+++ trunk/tools/ruledit/effect_edit.cpp Fri May 12 19:58:25 2017
@@ -29,6 +29,7 @@
 #include "effects.h"
 
 // ruledit
+#include "req_edit.h"
 #include "ruledit.h"
 #include "validity.h"
 
@@ -44,6 +45,7 @@
   QGridLayout *effect_edit_layout = new QGridLayout();
   QHBoxLayout *active_layout = new QHBoxLayout();
   QPushButton *close_button;
+  QPushButton *reqs_button;
   QMenu *menu;
   QLabel *lbl;
   enum effect_type eff;
@@ -51,6 +53,7 @@
   ui = ui_in;
   selected = nullptr;
   filter = *filter_in;
+  name = target;
 
   list_widget = new QListWidget(this);
   effects = effect_list_new();
@@ -74,9 +77,13 @@
 
   main_layout->addLayout(active_layout);
 
+  reqs_button = new QPushButton(QString::fromUtf8(R__("Requirements")), this);
+  connect(reqs_button, SIGNAL(pressed()), this, SLOT(edit_reqs()));
+  effect_edit_layout->addWidget(reqs_button, 0, 0);
+
   close_button = new QPushButton(QString::fromUtf8(R__("Close")), this);
   connect(close_button, SIGNAL(pressed()), this, SLOT(close_now()));
-  effect_edit_layout->addWidget(close_button, 0, 0);
+  effect_edit_layout->addWidget(close_button, 1, 0);
 
   refresh();
 
@@ -141,7 +148,7 @@
   QListWidgetItem *item;
 
   fc_snprintf(buf, sizeof(buf), _("Effect #%d: %s"),
-              data->num, effect_type_name(peffect->type));
+              data->num + 1, effect_type_name(peffect->type));
 
   item = new QListWidgetItem(QString::fromUtf8(buf));
   list_widget->insertItem(data->num++, item);
@@ -171,6 +178,7 @@
 
     if (item != nullptr && item->isSelected()) {
       selected = peffect;
+      selected_nbr = i;
       fill_active();
       return;
     }
@@ -201,3 +209,21 @@
 
   refresh();
 }
+
+/**************************************************************************
+  User wants to edit requirements
+**************************************************************************/
+void effect_edit::edit_reqs()
+{
+  if (selected != nullptr) {
+    char buf[128];
+    req_edit *redit;
+
+    fc_snprintf(buf, sizeof(buf), R__("%s effect #%d"), name.toUtf8().data(),
+                selected_nbr);
+
+    redit = new req_edit(ui, QString::fromUtf8(buf), &selected->reqs);
+
+    redit->show();
+  }
+}

Modified: trunk/tools/ruledit/effect_edit.h
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/tools/ruledit/effect_edit.h?rev=35528&r1=35527&r2=35528&view=diff
==============================================================================
--- trunk/tools/ruledit/effect_edit.h   (original)
+++ trunk/tools/ruledit/effect_edit.h   Fri May 12 19:58:25 2017
@@ -51,17 +51,20 @@
   private:
     ruledit_gui *ui;
 
+    QString name;
     QListWidget *list_widget;
     struct universal filter;
     struct effect_list *effects;
 
     struct effect *selected;
+    int selected_nbr;
 
     QToolButton *edit_type_button;
 
   private slots:
     void select_effect();
     void fill_active();
+    void edit_reqs();
     void close_now();
 
     void effect_type_menu(QAction *action);


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

Reply via email to