1 // QtMessageBox.cxx - Qt5 implementation of MessageBox
3 // Written by Rebecca Palmer, started November 2015.
5 // Copyright (C) 2015 Rebecca Palmer <rebecca_palmer@zoho.com>
7 // This program is free software; you can redistribute it and/or
8 // modify it under the terms of the GNU General Public License as
9 // published by the Free Software Foundation; either version 2 of the
10 // License, or (at your option) any later version.
12 // This program is distributed in the hope that it will be useful, but
13 // WITHOUT ANY WARRANTY; without even the implied warranty of
14 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 // General Public License for more details.
17 // You should have received a copy of the GNU General Public License
18 // along with this program; if not, write to the Free Software
19 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
21 #include "MessageBox.hxx"
22 #include "QtLauncher.hxx"
25 #include <QMessageBox>
28 flightgear::MessageBoxResult
29 QtMessageBox(const std::string& caption,
30 const std::string& msg,
31 const std::string& moreText,
35 static char fakeargv0[] = "fgfs";
36 static char * fakeargv[2] = {fakeargv0, 0};
37 // This does nothing if it has already been run, so the fake argc/argv
38 // are only used if an error box is triggered in early startup
39 flightgear::initApp(fakeargc, fakeargv);
41 msgBox.setWindowTitle(QString::fromStdString(caption));
42 msgBox.setText(QString::fromStdString(msg));
43 msgBox.setInformativeText(QString::fromStdString(moreText));
45 msgBox.setIcon(QMessageBox::Critical);
47 msgBox.setIcon(QMessageBox::Warning);
50 return flightgear::MSG_BOX_OK;