Salome HOME
updated copyright message
[modules/shaper.git] / src / XGUI / XGUI_ErrorDialog.cpp
index 75df206519032f8ebc2100f37246b8dc0c51f0e5..b1f6e1ec745c1845a2bb274122cc6f393260cd5c 100644 (file)
@@ -1,11 +1,22 @@
-// Copyright (C) 2014-20xx CEA/DEN, EDF R&D -->
+// Copyright (C) 2014-2023  CEA/DEN, EDF R&D
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
 
-/*
- * XGUI_ErrorDialog.cpp
- *
- *  Created on: Apr 28, 2014
- *      Author: sbh
- */
 #include <XGUI_ErrorDialog.h>
 
 #include <ModuleBase_Tools.h>
 #include <QLabel>
 #include <QVBoxLayout>
 #include <QTextEdit>
+#include <QTextCodec>
 
 XGUI_ErrorDialog::XGUI_ErrorDialog(QWidget* parent)
-    : QDialog(parent)
+    : QDialog(parent, Qt::CustomizeWindowHint | Qt::WindowTitleHint |
+      Qt::WindowSystemMenuHint | Qt::WindowCloseButtonHint)
 {
   QVBoxLayout* aDlgLay = new QVBoxLayout(this);
   setWindowTitle(tr("Application errors"));
@@ -59,12 +72,13 @@ void XGUI_ErrorDialog::clear()
 
 void XGUI_ErrorDialog::addError(std::shared_ptr<Events_InfoMessage> theMsg)
 {
-  std::string aError = Config_Translator::translate(theMsg);
-  myErrors.append(aError.c_str());
+  std::string aError = Config_Translator::translate(*theMsg);
+  std::string aCodec = Config_Translator::codec(*theMsg);
+  QString aMsg = QTextCodec::codecForName(aCodec.c_str())->toUnicode(aError.c_str());
+  myErrors.append(aMsg);
   refresh();
   if (!isVisible()) {
     show();
-    raise();
     ModuleBase_Tools::activateWindow(this, "XGUI_ErrorDialog::addError");
   }
 }