48 Qt::WindowModality windowModality,
51 Q_UNUSED(windowFlags);
52 Q_UNUSED(windowModality);
54 QSharedPointer<QMessageDialogOptions> opt = options();
58 if (!opt->checkBoxLabel().isNull())
61 m_javaMessageDialog.callMethod<
void>(
"setStandardIcon",
"(I)V", opt->standardIcon());
63 QString str = htmlText(opt->windowTitle());
65 m_javaMessageDialog.callMethod<
void>(
"setTile",
"(Ljava/lang/String;)V",
66 QJniObject::fromString(str).object());
69 str = htmlText(opt->text());
71 m_javaMessageDialog.callMethod<
void>(
"setText",
"(Ljava/lang/String;)V",
72 QJniObject::fromString(str).object());
75 str = htmlText(opt->informativeText());
77 m_javaMessageDialog.callMethod<
void>(
"setInformativeText",
"(Ljava/lang/String;)V",
78 QJniObject::fromString(str).object());
81 str = htmlText(opt->detailedText());
83 m_javaMessageDialog.callMethod<
void>(
"setDetailedText",
"(Ljava/lang/String;)V",
84 QJniObject::fromString(str).object());
87 const int *currentLayout = buttonLayout(Qt::Horizontal, AndroidLayout);
88 while (*currentLayout != QPlatformDialogHelper::EOL) {
89 const int role = (*currentLayout & ~QPlatformDialogHelper::Reverse);
90 addButtons(opt,
static_cast<ButtonRole>(role));
94 m_javaMessageDialog.callMethod<
void>(
"show",
"(J)V", jlong(
static_cast<QObject*>(
this)));
129 if (m_loop.isRunning())
136 const StandardButton standardButton =
static_cast<StandardButton>(buttonID);
137 ButtonRole role = QPlatformDialogHelper::buttonRole(standardButton);
138 if (buttonID > QPlatformDialogHelper::LastButton) {
140 const QMessageDialogOptions::CustomButton *custom = options()->customButton(buttonID);
145 emit clicked(standardButton, role);
168 const char QtMessageHandlerHelperClassName[] =
"org/qtproject/qt/android/QtMessageDialogHelper";
169 jclass clazz = env.findClass(QtMessageHandlerHelperClassName);
172 , QtMessageHandlerHelperClassName);
175 g_messageDialogHelperClass =
static_cast<jclass>(env->NewGlobalRef(clazz));
177 if (!env.registerNativeMethods(
"org/qtproject/qt/android/QtNativeDialogHelper",
179 __android_log_print(ANDROID_LOG_FATAL,
"Qt",
"RegisterNatives failed");