Merge lp:~widelands-dev/widelands/economy-target-profiles into lp:widelands

Proposed by Benedikt Straub
Status: Merged
Merged at revision: 9179
Proposed branch: lp:~widelands-dev/widelands/economy-target-profiles
Merge into: lp:widelands
Diff against target: 75 lines (+10/-8)
2 files modified
src/wui/economy_options_window.cc (+10/-7)
src/wui/economy_options_window.h (+0/-1)
To merge this branch: bzr merge lp:~widelands-dev/widelands/economy-target-profiles
Reviewer Review Type Date Requested Status
GunChleoc Approve
Review via email: mp+371251@code.launchpad.net

Commit message

Forbid changing economy targets by spectators

Description of the change

Added some missing checks for can_act and got rid of an unused variable.
It is still allowed to save another player´s targets to disk though as this does not affect the game.

To post a comment you must log in.
Revision history for this message
GunChleoc (gunchleoc) wrote :

LGTM :)

Do we want to disable the save button too?

Revision history for this message
Benedikt Straub (nordfriese) wrote :

It cannot affect the game, so this isn´t necessary. But perhaps one might want to save some clever economy settings of another player for future use in own games, so why not allow it?

Revision history for this message
GunChleoc (gunchleoc) wrote :

OK, let's have it then :)

@bunnybot merge

review: Approve
Revision history for this message
bunnybot (widelandsofficial) wrote :

Continuous integration builds have changed state:

Travis build 5320. State: passed. Details: https://travis-ci.org/widelands/widelands/builds/571293137.
Appveyor build 5092. State: success. Details: https://ci.appveyor.com/project/widelands-dev/widelands/build/_widelands_dev_widelands_economy_target_profiles-5092.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'src/wui/economy_options_window.cc'
--- src/wui/economy_options_window.cc 2019-08-10 16:38:15 +0000
+++ src/wui/economy_options_window.cc 2019-08-13 11:25:16 +0000
@@ -76,6 +76,7 @@
76 b->sigclicked.connect([this] { change_target(-10); });76 b->sigclicked.connect([this] { change_target(-10); });
77 buttons->add(b);77 buttons->add(b);
78 b->set_repeating(true);78 b->set_repeating(true);
79 b->set_enabled(can_act);
79 buttons->add_space(8);80 buttons->add_space(8);
80 b = new UI::Button(buttons, "decrease_target", 0, 0, 44, 28, UI::ButtonStyle::kWuiSecondary,81 b = new UI::Button(buttons, "decrease_target", 0, 0, 44, 28, UI::ButtonStyle::kWuiSecondary,
81 g_gr->images().get("images/ui_basic/scrollbar_down.png"),82 g_gr->images().get("images/ui_basic/scrollbar_down.png"),
@@ -83,6 +84,7 @@
83 b->sigclicked.connect([this] { change_target(-1); });84 b->sigclicked.connect([this] { change_target(-1); });
84 buttons->add(b);85 buttons->add(b);
85 b->set_repeating(true);86 b->set_repeating(true);
87 b->set_enabled(can_act);
86 buttons->add_space(24);88 buttons->add_space(24);
8789
88 b = new UI::Button(buttons, "increase_target", 0, 0, 44, 28, UI::ButtonStyle::kWuiSecondary,90 b = new UI::Button(buttons, "increase_target", 0, 0, 44, 28, UI::ButtonStyle::kWuiSecondary,
@@ -90,6 +92,7 @@
90 b->sigclicked.connect([this] { change_target(1); });92 b->sigclicked.connect([this] { change_target(1); });
91 buttons->add(b);93 buttons->add(b);
92 b->set_repeating(true);94 b->set_repeating(true);
95 b->set_enabled(can_act);
93 buttons->add_space(8);96 buttons->add_space(8);
94 b = new UI::Button(buttons, "increase_target_fast", 0, 0, 44, 28, UI::ButtonStyle::kWuiSecondary,97 b = new UI::Button(buttons, "increase_target_fast", 0, 0, 44, 28, UI::ButtonStyle::kWuiSecondary,
95 g_gr->images().get("images/ui_basic/scrollbar_up_fast.png"),98 g_gr->images().get("images/ui_basic/scrollbar_up_fast.png"),
@@ -97,11 +100,16 @@
97 b->sigclicked.connect([this] { change_target(10); });100 b->sigclicked.connect([this] { change_target(10); });
98 buttons->add(b);101 buttons->add(b);
99 b->set_repeating(true);102 b->set_repeating(true);
103 b->set_enabled(can_act);
100104
101 dropdown_.set_tooltip(_("Profile to apply to the selected items"));105 dropdown_.set_tooltip(_("Profile to apply to the selected items"));
102 dropdown_box_.set_size(40, 20); // Prevent assert failures106 dropdown_box_.set_size(40, 20); // Prevent assert failures
103 dropdown_box_.add(&dropdown_, UI::Box::Resizing::kFullSize);107 dropdown_box_.add(&dropdown_, UI::Box::Resizing::kFullSize);
104 dropdown_.selected.connect([this] { reset_target(); });108 if (can_act) {
109 dropdown_.selected.connect([this] { reset_target(); });
110 } else {
111 dropdown_.set_enabled(false);
112 }
105113
106 b = new UI::Button(&dropdown_box_, "save_targets", 0, 0, 34, 34, UI::ButtonStyle::kWuiMenu,114 b = new UI::Button(&dropdown_box_, "save_targets", 0, 0, 34, 34, UI::ButtonStyle::kWuiMenu,
107 g_gr->images().get("images/wui/menus/save_game.png"),115 g_gr->images().get("images/wui/menus/save_game.png"),
@@ -239,16 +247,11 @@
239 serial_(serial),247 serial_(serial),
240 player_(player),248 player_(player),
241 type_(type),249 type_(type),
242 can_act_(can_act),250 display_(this, 0, 0, serial_, player_, type_, can_act),
243 display_(this, 0, 0, serial_, player_, type_, can_act_),
244 economy_options_window_(eco_window) {251 economy_options_window_(eco_window) {
245 add(&display_, UI::Box::Resizing::kFullSize);252 add(&display_, UI::Box::Resizing::kFullSize);
246253
247 display_.set_hgap(AbstractWaresDisplay::calc_hgap(display_.get_extent().w, min_w));254 display_.set_hgap(AbstractWaresDisplay::calc_hgap(display_.get_extent().w, min_w));
248
249 if (!can_act_) {
250 return;
251 }
252}255}
253256
254void EconomyOptionsWindow::EconomyOptionsPanel::set_economy(Widelands::Serial serial) {257void EconomyOptionsWindow::EconomyOptionsPanel::set_economy(Widelands::Serial serial) {
255258
=== modified file 'src/wui/economy_options_window.h'
--- src/wui/economy_options_window.h 2019-05-14 18:08:22 +0000
+++ src/wui/economy_options_window.h 2019-08-13 11:25:16 +0000
@@ -117,7 +117,6 @@
117 Widelands::Serial serial_;117 Widelands::Serial serial_;
118 Widelands::Player* player_;118 Widelands::Player* player_;
119 Widelands::WareWorker type_;119 Widelands::WareWorker type_;
120 bool can_act_;
121 TargetWaresDisplay display_;120 TargetWaresDisplay display_;
122 EconomyOptionsWindow* economy_options_window_;121 EconomyOptionsWindow* economy_options_window_;
123 };122 };

Subscribers

People subscribed via source and target branches

to status/vote changes: