diff --git a/src/gui/Dialog.cxx b/src/gui/Dialog.cxx index 95107b7b3..4ae7e7921 100644 --- a/src/gui/Dialog.cxx +++ b/src/gui/Dialog.cxx @@ -971,10 +971,10 @@ void Dialog::addDefaultsExtraOKCancelBGroup( buttonWidth, buttonHeight, defaultsText, GuiObject::kDefaultsCmd)); wid.push_back(_defaultWidget); - wid.push_back(new ButtonWidget(this, font, HBORDER + buttonWidth + BUTTON_GAP, - _h - buttonHeight - VBORDER, buttonWidth, buttonHeight, - extraText, extraCmd) - ); + addExtraWidget(new ButtonWidget(this, font, HBORDER + buttonWidth + BUTTON_GAP, + _h - buttonHeight - VBORDER, buttonWidth, buttonHeight, + extraText, extraCmd)); + wid.push_back(_extraWidget); addOKCancelBGroup(wid, font, okText, cancelText, focusOKButton, buttonWidth); } diff --git a/src/gui/Dialog.hxx b/src/gui/Dialog.hxx index 022334e47..e291cdacb 100644 --- a/src/gui/Dialog.hxx +++ b/src/gui/Dialog.hxx @@ -76,6 +76,7 @@ class Dialog : public GuiObject void addBGroupToFocusList(const WidgetArray& list) { _buttonGroup = list; } void addTabWidget(TabWidget* w); void addDefaultWidget(Widget* w) { _defaultWidget = w; } + void addExtraWidget(Widget* w) { _extraWidget = w; } void addOKWidget(Widget* w) { _okWidget = w; } void addCancelWidget(Widget* w) { _cancelWidget = w; } void setFocus(Widget* w); @@ -196,6 +197,7 @@ class Dialog : public GuiObject Widget* _focusedWidget{nullptr}; Widget* _dragWidget{nullptr}; Widget* _defaultWidget{nullptr}; + Widget* _extraWidget{nullptr}; Widget* _okWidget{nullptr}; Widget* _cancelWidget{nullptr}; diff --git a/src/gui/GameInfoDialog.cxx b/src/gui/GameInfoDialog.cxx index 113569c0c..90628534c 100644 --- a/src/gui/GameInfoDialog.cxx +++ b/src/gui/GameInfoDialog.cxx @@ -93,6 +93,8 @@ GameInfoDialog::GameInfoDialog( // Add Defaults, OK and Cancel buttons addDefaultsExtraOKCancelBGroup(wid, font, "Save", kSavePressed); + _extraWidget->setToolTip("Save the current ROM's properties in a\n" + "separate file in the default directory."); addBGroupToFocusList(wid); }