summaryrefslogtreecommitdiffstats
path: root/src/UiGuiErrorMessage.cpp
diff options
context:
space:
mode:
authorMichele Calgaro <michele.calgaro@yahoo.it>2022-07-10 00:23:24 +0900
committerMichele Calgaro <michele.calgaro@yahoo.it>2022-07-10 00:23:24 +0900
commit5bb4d4359a52e9caf331f6001b953dc553df64df (patch)
tree0e0ef61d88a17bf3fd53ee7bc32d3ec4b765b545 /src/UiGuiErrorMessage.cpp
downloaduniversal-indent-gui-tqt-5bb4d4359a52e9caf331f6001b953dc553df64df.tar.gz
universal-indent-gui-tqt-5bb4d4359a52e9caf331f6001b953dc553df64df.zip
Initial import of UniversalIndentGUI 1.2.0 from Debian snapshot
(https://snapshot.debian.org/package/universalindentgui/1.2.0-1.1). The code is available under GPL2 licence. Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
Diffstat (limited to 'src/UiGuiErrorMessage.cpp')
-rwxr-xr-xsrc/UiGuiErrorMessage.cpp87
1 files changed, 87 insertions, 0 deletions
diff --git a/src/UiGuiErrorMessage.cpp b/src/UiGuiErrorMessage.cpp
new file mode 100755
index 0000000..424a709
--- /dev/null
+++ b/src/UiGuiErrorMessage.cpp
@@ -0,0 +1,87 @@
+/***************************************************************************
+ * Copyright (C) 2006-2012 by Thomas Schweitzer *
+ * thomas-schweitzer(at)arcor.de *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License version 2.0 as *
+ * published by the Free Software Foundation. *
+ * *
+ * This program 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 General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program in the file LICENSE.GPL; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
+ ***************************************************************************/
+
+#include "UiGuiErrorMessage.h"
+
+#include <QCheckBox>
+
+/*!
+ \class UiGuiErrorMessage
+ \ingroup grp_Dialogs
+ \brief UiGuiErrorMessage is a child of QErrorMessage. But QErrorMessages
+ "Do not show again" didn't work with my strings, so this is my own, working
+ implementation of it.
+*/
+
+
+/*!
+ \brief Initializes the dialog.
+
+ Retrieves the object pointer to the \a _showAgainCheckBox check box, sets the dialogs
+ modality and for a working translation sets the check box text.
+ */
+UiGuiErrorMessage::UiGuiErrorMessage(QWidget *parent) : QErrorMessage(parent) {
+ _showAgainCheckBox = findChild<QCheckBox *>();
+ setWindowModality( Qt::ApplicationModal );
+ _showAgainCheckBox->setText( tr("Show this message again") );
+}
+
+
+/*!
+ \brief Just a lazy nothin doin destructive destructor.
+ */
+UiGuiErrorMessage::~UiGuiErrorMessage(void) {
+}
+
+
+/*!
+ \brief Shows an error \a message in a dialog box with \a title.
+
+ The shown \a message is added to a list, if not already in there. If it is
+ already in that list and "Show this message again" is not checked, that
+ message will not be shown.
+ */
+void UiGuiErrorMessage::showMessage( const QString &title, const QString &message ) {
+ bool showAgain = true;
+
+ if ( _showAgainCheckBox != 0 ) {
+ showAgain = _showAgainCheckBox->isChecked();
+ }
+
+ setWindowTitle(title);
+
+ if ( !_errorMessageList.contains(message) ) {
+ _errorMessageList << message;
+ if ( _showAgainCheckBox != 0 ) {
+ _showAgainCheckBox->setChecked(true);
+ }
+ QErrorMessage::showMessage( message );
+ }
+ else if ( showAgain ) {
+ QErrorMessage::showMessage( message );
+ }
+}
+
+
+/*!
+ \brief For convinience, for showing a dialog box with the default title "UniversalIndentGUI".
+ */
+void UiGuiErrorMessage::showMessage( const QString &message ) {
+ showMessage( "UniversalIndentGUI", message );
+}