20#include "kexiguimsghandler.h"
23#include <kexidb/utils.h>
24#include <kexiutils/utils.h>
26#include <tdemessagebox.h>
27#include <kdialogbase.h>
29KexiGUIMessageHandler::KexiGUIMessageHandler(TQWidget *parent)
30:
KexiDB::MessageHandler(parent)
34KexiGUIMessageHandler::~KexiGUIMessageHandler()
45 showErrorMessage(_msg);
50 showErrorMessage(_msg, details);
55KexiGUIMessageHandler::showErrorMessage(
const TQString &title,
const TQString &details)
57 showMessage(Error, title, details);
61KexiGUIMessageHandler::showSorryMessage(
const TQString &title,
const TQString &details)
63 showMessage(Sorry, title, details);
66void KexiGUIMessageHandler::showErrorMessage(
const TQString &msg,
const TQString &details,
71 showErrorMessage(_msg, details);
74 TQString _details(details);
76 showErrorMessage(_msg, _details);
82 showErrorMessage(
"", status);
86KexiGUIMessageHandler::showErrorMessage(
const TQString &message,
Kexi::ObjectStatus *status)
88 if (status && status->error()) {
89 TQString msg(message);
90 if (msg.isEmpty() || msg==status->message) {
91 msg = status->message;
92 status->message = status->description;
93 status->description =
"";
96 if (!status->message.isEmpty()) {
97 if (status->description.isEmpty()) {
98 desc = status->message;
100 msg += (TQString(
"<br><br>") + status->message);
101 desc = status->description;
104 showErrorMessage(msg, desc, status->dbObject());
107 showErrorMessage(message);
109 status->clearStatus();
113KexiGUIMessageHandler::showMessage(MessageType type,
114 const TQString &title,
const TQString &details,
const TQString& dontShowAgainName)
116 if (!m_enableMessages)
124 msg = i18n(
"Unknown error");
125 msg =
"<qt><p>"+msg+
"</p>";
126 if (!details.isEmpty()) {
129 KMessageBox::detailedError(m_messageHandlerParentWidget, msg, details);
132 showWarningContinueMessage(title, details, dontShowAgainName);
135 KMessageBox::detailedSorry(m_messageHandlerParentWidget, msg, details);
139 KMessageBox::messageBox(m_messageHandlerParentWidget,
140 type==Error ? KMessageBox::Error : KMessageBox::Sorry, msg);
144void KexiGUIMessageHandler::showWarningContinueMessage(
const TQString &title,
const TQString &details,
145 const TQString& dontShowAgainName)
147 if (!KMessageBox::shouldBeShownContinue(dontShowAgainName))
149 KDialogBase *dialog =
new KDialogBase(
150 i18n(
"Warning"), KDialogBase::Yes, KDialogBase::Yes, KDialogBase::No,
151 m_messageHandlerParentWidget,
"warningContinue",
true,
true, KStdGuiItem::cont() );
152 bool checkboxResult =
false;
153 KMessageBox::createKMessageBox(dialog, TQMessageBox::Warning,
154 title + (details.isEmpty() ? TQString() : (TQString(
"\n")+details)), TQStringList(),
155 dontShowAgainName.isEmpty() ? TQString() : i18n(
"Do not show this message again"),
158 KMessageBox::saveDontShowAgainContinue(dontShowAgainName);
161int KexiGUIMessageHandler::askQuestion(
const TQString& message,
162 KMessageBox::DialogType dlgType, KMessageBox::ButtonCode defaultResult,
163 const KGuiItem &buttonYes,
164 const KGuiItem &buttonNo,
165 const TQString &dontShowAskAgainName,
168 Q_UNUSED(defaultResult);
169 if (KMessageBox::WarningContinueCancel == dlgType)
170 return KMessageBox::warningContinueCancel(m_messageHandlerParentWidget,
171 message, TQString(), buttonYes, dontShowAskAgainName, options);
173 return KMessageBox::messageBox(m_messageHandlerParentWidget,
174 dlgType, message, TQString(), buttonYes, buttonNo, dontShowAskAgainName, options);
High-level database connectivity library with database backend drivers.
KEXI_DB_EXPORT void getHTMLErrorMesage(Object *obj, TQString &msg, TQString &details)
KEXIUTILS_EXPORT void removeWaitCursor()