diff --git a/src/toolbar_gui.cpp b/src/toolbar_gui.cpp index f1d1ceba88..5771ae6a11 100644 --- a/src/toolbar_gui.cpp +++ b/src/toolbar_gui.cpp @@ -1339,7 +1339,7 @@ public: */ bool IsButton(WidgetType type) const { - return type == WWT_IMGBTN || type == WWT_IMGBTN_2 || type == WWT_PUSHIMGBTN; + return type == WWT_IMGBTN || type == WWT_IMGBTN_2 || type == WWT_PUSHIMGBTN || type == WWT_PUSHTXTBTN || type == WWT_TEXTBTN; } void SetupSmallestSize(Window *w, bool init_array) @@ -1482,6 +1482,19 @@ public: class NWidgetMainToolbarContainer : public NWidgetToolbarContainer { /* virtual */ const byte *GetButtonArrangement(uint &width, uint &arrangable_count, uint &button_count, uint &spacer_count) const { +#ifdef __ANDROID__ + + static const byte arrange_android[] = { + 0, 1, 2, 4, 5, 6, 7, 8, 9, 14, 21, 22, 23, 24, 25, 19, 20, 29, 30, 31, 32, + 0, 1, 3, 4, 5, 6, 7, 12, 15, 16, 17, 18, 26, 27, 28, 19, 20, 29, 30, 31, 32, + }; + + button_count = arrangable_count = lengthof(arrange_android) / 2; + spacer_count = this->spacers; + return &arrange_android[((_toolbar_mode == TB_LOWER) ? button_count : 0)]; + +#else + static const uint SMALLEST_ARRANGEMENT = 14; static const uint BIGGEST_ARRANGEMENT = 20; static const byte arrange14[] = { @@ -1516,17 +1529,6 @@ class NWidgetMainToolbarContainer : public NWidgetToolbarContainer { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28 }; -#ifdef __ANDROID__ - static const byte arrange_android[] = { - 0, 1, 2, 4, 5, 6, 7, 8, 9, 14, 21, 22, 23, 24, 25, 19, 20, 29, 30, 31, 32, - 0, 1, 3, 4, 5, 6, 7, 12, 15, 16, 17, 18, 26, 27, 28, 19, 20, 29, 30, 31, 32, - }; - - button_count = arrangable_count = lengthof(arrange_android) / 2; - spacer_count = this->spacers; - return &arrange_android[((_toolbar_mode == TB_LOWER) ? button_count : 0)]; -#else - /* If at least BIGGEST_ARRANGEMENT fit, just spread all the buttons nicely */ uint full_buttons = max(CeilDiv(width, this->smallest_x), SMALLEST_ARRANGEMENT); @@ -1542,16 +1544,9 @@ class NWidgetMainToolbarContainer : public NWidgetToolbarContainer { button_count = arrangable_count = full_buttons; spacer_count = this->spacers; return arrangements[full_buttons - SMALLEST_ARRANGEMENT] + ((_toolbar_mode == TB_LOWER) ? full_buttons : 0); + #endif } - public: - int getWidgetCount() const - { - int count = 0; - for (NWidgetBase *child_wid = this->head; child_wid != NULL; child_wid = child_wid->next) - count++; - return count; - } }; /** Container for the scenario editor's toolbar */ @@ -1938,9 +1933,9 @@ static NWidgetBase *MakeMainToolbar(int *biggest_index) } hor->Add(new NWidgetSpacer(0, 0)); - hor->Add(new NWidgetLeaf(WWT_PUSHTXTBTN, COLOUR_GREY, WID_TN_CTRL, STR_TABLET_CTRL, STR_TABLET_CTRL_TOOLTIP)); - hor->Add(new NWidgetLeaf(WWT_PUSHTXTBTN, COLOUR_GREY, WID_TN_SHIFT, STR_TABLET_SHIFT, STR_TABLET_SHIFT_TOOLTIP)); - hor->Add(new NWidgetLeaf(WWT_TEXTBTN, COLOUR_GREY, WID_TN_DELETE, STR_TABLET_CLOSE, STR_TABLET_CLOSE_TOOLTIP)); + hor->Add(new NWidgetLeaf(WWT_TEXTBTN, COLOUR_GREY, WID_TN_CTRL, STR_TABLET_CTRL, STR_TABLET_CTRL_TOOLTIP)); + hor->Add(new NWidgetLeaf(WWT_TEXTBTN, COLOUR_GREY, WID_TN_SHIFT, STR_TABLET_SHIFT, STR_TABLET_SHIFT_TOOLTIP)); + hor->Add(new NWidgetLeaf(WWT_PUSHTXTBTN, COLOUR_GREY, WID_TN_DELETE, STR_TABLET_CLOSE, STR_TABLET_CLOSE_TOOLTIP)); *biggest_index = max(*biggest_index, WID_TN_DELETE); return hor; diff --git a/todo.txt b/todo.txt index c0bb672060..d45e8e25c0 100644 --- a/todo.txt +++ b/todo.txt @@ -1,4 +1,3 @@ -- Move 'mobile' toolbar buttons to the main toolbar - Fix NewGRF dialog - Fix Advanced Settings dialog - Fix Online Content dialog