From d5bd11b08e4c49a22b40834c0607e3c9927aecd1 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Sat, 19 Oct 2013 12:44:17 +0300 Subject: move virtual member calls from textdialog constructor into postInit. --- src/gui/popups/popupmenu.cpp | 2 ++ src/gui/widgets/tabs/setup_video.cpp | 1 + src/gui/windows/charselectdialog.cpp | 1 + src/gui/windows/socialwindow.cpp | 4 ++++ src/gui/windows/textdialog.cpp | 7 +++++-- src/gui/windows/textdialog.h | 2 ++ 6 files changed, 15 insertions(+), 2 deletions(-) (limited to 'src/gui') diff --git a/src/gui/popups/popupmenu.cpp b/src/gui/popups/popupmenu.cpp index daee76630..67310deef 100644 --- a/src/gui/popups/popupmenu.cpp +++ b/src/gui/popups/popupmenu.cpp @@ -1329,6 +1329,7 @@ void PopupMenu::handleLink(const std::string &link, mDialog = new TextDialog(_("Rename map sign "), // TRANSLATORS: number of chars in string should be near original _("Name: ")); + mDialog->postInit(); mRenameListener.setDialog(mDialog); mDialog->setText(mMapItem->getComment()); mDialog->setActionEventId("ok"); @@ -1354,6 +1355,7 @@ void PopupMenu::handleLink(const std::string &link, _("Player comment "), // TRANSLATORS: number of chars in string should be near original _("Comment: ")); + dialog->postInit(); mPlayerListener.setDialog(dialog); mPlayerListener.setNick(mNick); mPlayerListener.setType(mType); diff --git a/src/gui/widgets/tabs/setup_video.cpp b/src/gui/widgets/tabs/setup_video.cpp index 884416be1..7ce063746 100644 --- a/src/gui/widgets/tabs/setup_video.cpp +++ b/src/gui/widgets/tabs/setup_video.cpp @@ -463,6 +463,7 @@ void Setup_Video::action(const gcn::ActionEvent &event) _("Custom resolution (example: 1024x768)"), // TRANSLATORS: resolution question dialog _("Enter new resolution: ")); + mDialog->postInit(); mDialog->setActionEventId("videomode"); mDialog->addActionListener(this); return; diff --git a/src/gui/windows/charselectdialog.cpp b/src/gui/windows/charselectdialog.cpp index d99b973b3..763ddebd7 100644 --- a/src/gui/windows/charselectdialog.cpp +++ b/src/gui/windows/charselectdialog.cpp @@ -432,6 +432,7 @@ void CharSelectDialog::askPasswordForDeletion(const int index) // TRANSLATORS: char deletion question. _("Enter password for deleting character"), _("Enter password:"), this, true); + mDeleteDialog->postInit(); mDeleteDialog->setActionEventId("try delete character"); mDeleteDialog->addActionListener(this); } diff --git a/src/gui/windows/socialwindow.cpp b/src/gui/windows/socialwindow.cpp index 3e00ee4ff..97f0211d8 100644 --- a/src/gui/windows/socialwindow.cpp +++ b/src/gui/windows/socialwindow.cpp @@ -252,6 +252,7 @@ public: // TRANSLATORS: guild invite message strprintf(_("Who would you like to invite to guild %s?"), mGuild->getName().c_str()), socialWindow); + mInviteDialog->postInit(); mInviteDialog->setActionEventId("do invite"); mInviteDialog->addActionListener(this); } @@ -453,6 +454,7 @@ public: // TRANSLATORS: party invite message strprintf(_("Who would you like to invite to party %s?"), mParty->getName().c_str()), socialWindow); + mInviteDialog->postInit(); mInviteDialog->setActionEventId("do invite"); mInviteDialog->addActionListener(this); } @@ -1609,6 +1611,7 @@ void SocialWindow::showGuildCreate() mGuildCreateDialog = new TextDialog(_("Guild Name"), // TRANSLATORS: guild creation message _("Choose your guild's name."), this); + mGuildCreateDialog->postInit(); mGuildCreateDialog->setActionEventId("create guild"); mGuildCreateDialog->addActionListener(this); } @@ -1721,6 +1724,7 @@ void SocialWindow::showPartyCreate() mPartyCreateDialog = new TextDialog(_("Party Name"), // TRANSLATORS: party creation message _("Choose your party's name."), this); + mPartyCreateDialog->postInit(); mPartyCreateDialog->setActionEventId("create party"); mPartyCreateDialog->addActionListener(this); } diff --git a/src/gui/windows/textdialog.cpp b/src/gui/windows/textdialog.cpp index 3f62cef08..92cfa46d2 100644 --- a/src/gui/windows/textdialog.cpp +++ b/src/gui/windows/textdialog.cpp @@ -78,7 +78,10 @@ TextDialog::TextDialog(const std::string &title, const std::string &msg, { reflowLayout(static_cast(textLabel->getWidth() + 20)); } +} +void TextDialog::postInit() +{ if (getParent()) { setLocationRelativeTo(getParent()); @@ -86,9 +89,9 @@ TextDialog::TextDialog(const std::string &title, const std::string &msg, } setVisible(true); requestModalFocus(); - if (isPassword) + if (mPasswordField) mPasswordField->requestFocus(); - else + else if (mTextField) mTextField->requestFocus(); instances++; diff --git a/src/gui/windows/textdialog.h b/src/gui/windows/textdialog.h index f3f4612de..c783c6ed2 100644 --- a/src/gui/windows/textdialog.h +++ b/src/gui/windows/textdialog.h @@ -51,6 +51,8 @@ public: ~TextDialog(); + void postInit() override; + /** * Called when receiving actions from the widgets. */ -- cgit v1.2.3-70-g09d2