You've already forked android_translation_layer
mirror of
https://gitlab.com/android_translation_layer/android_translation_layer.git
synced 2025-10-27 11:48:10 -07:00
replace deprecated GtkDialog with GtkWindow
This commit is contained in:
@@ -6,9 +6,9 @@
|
||||
|
||||
JNIEXPORT void JNICALL Java_android_app_AlertDialog_nativeSetMessage(JNIEnv *env, jobject this, jlong ptr, jstring message)
|
||||
{
|
||||
GtkDialog *dialog = GTK_DIALOG(_PTR(ptr));
|
||||
GtkWindow *dialog = GTK_WINDOW(_PTR(ptr));
|
||||
const char* nativeMessage = (*env)->GetStringUTFChars(env, message, NULL);
|
||||
GtkWidget *content_area = gtk_dialog_get_content_area(GTK_DIALOG(dialog));
|
||||
GtkWidget *content_area = gtk_window_get_child(dialog);
|
||||
GtkWidget *label = gtk_label_new(nativeMessage);
|
||||
gtk_label_set_wrap(GTK_LABEL(label), TRUE);
|
||||
gtk_box_append(GTK_BOX(content_area), label);
|
||||
@@ -16,9 +16,12 @@ JNIEXPORT void JNICALL Java_android_app_AlertDialog_nativeSetMessage(JNIEnv *env
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL Java_android_app_AlertDialog_nativeSetButton(JNIEnv *env, jobject this, jlong ptr, jint id, jstring text) {
|
||||
GtkDialog *dialog = GTK_DIALOG(_PTR(ptr));
|
||||
GtkWindow *dialog = GTK_WINDOW(_PTR(ptr));
|
||||
GtkWidget *content_area = gtk_window_get_child(dialog);
|
||||
const char* nativeText = (*env)->GetStringUTFChars(env, text, NULL);
|
||||
gtk_dialog_add_button(dialog, nativeText, id);
|
||||
GtkWidget *button = gtk_button_new_with_label(nativeText);
|
||||
g_signal_connect_swapped(button, "clicked", G_CALLBACK(gtk_window_destroy), dialog);
|
||||
gtk_box_append(GTK_BOX(content_area), button);
|
||||
(*env)->ReleaseStringUTFChars(env, text, nativeText);
|
||||
}
|
||||
|
||||
@@ -62,7 +65,7 @@ static void activate_cb(GtkListView *list, guint position, struct click_callback
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL Java_android_app_AlertDialog_nativeSetItems(JNIEnv *env, jobject this, jlong ptr, jobjectArray items, jobject on_click) {
|
||||
GtkDialog *dialog = GTK_DIALOG(_PTR(ptr));
|
||||
GtkWindow *dialog = GTK_WINDOW(_PTR(ptr));
|
||||
|
||||
GListStore *store = g_list_store_new(list_entry_get_type());
|
||||
int stringCount = (*env)->GetArrayLength(env, items);
|
||||
@@ -78,7 +81,7 @@ JNIEXPORT void JNICALL Java_android_app_AlertDialog_nativeSetItems(JNIEnv *env,
|
||||
GtkWidget *list = gtk_list_view_new(GTK_SELECTION_MODEL(gtk_single_selection_new(G_LIST_MODEL(store))), factory);
|
||||
gtk_list_view_set_single_click_activate(GTK_LIST_VIEW(list), TRUE);
|
||||
|
||||
GtkWidget *content_area = gtk_dialog_get_content_area(GTK_DIALOG(dialog));
|
||||
GtkWidget *content_area = gtk_window_get_child(dialog);
|
||||
gtk_box_append(GTK_BOX(content_area), list);
|
||||
|
||||
JavaVM *jvm;
|
||||
|
||||
@@ -16,8 +16,9 @@ static gboolean on_close_request(GtkWidget *dialog, jobject jobj)
|
||||
|
||||
JNIEXPORT jlong JNICALL Java_android_app_Dialog_nativeInit(JNIEnv *env, jobject this)
|
||||
{
|
||||
GtkWidget *dialog = gtk_dialog_new();
|
||||
GtkWidget *dialog = gtk_window_new();
|
||||
gtk_window_set_default_size(GTK_WINDOW(dialog), 500, 500);
|
||||
gtk_window_set_child(GTK_WINDOW(dialog), gtk_box_new(GTK_ORIENTATION_VERTICAL, 1));
|
||||
g_signal_connect_swapped(dialog, "response", G_CALLBACK(gtk_window_destroy), dialog);
|
||||
g_signal_connect(GTK_WINDOW(dialog), "close-request", G_CALLBACK(on_close_request), _REF(this));
|
||||
return _INTPTR(g_object_ref(dialog));
|
||||
@@ -32,11 +33,10 @@ JNIEXPORT void JNICALL Java_android_app_Dialog_nativeSetTitle(JNIEnv *env, jobje
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL Java_android_app_Dialog_nativeSetContentView(JNIEnv *env, jobject this, jlong ptr, jlong widget_ptr) {
|
||||
GtkDialog *dialog = GTK_DIALOG(_PTR(ptr));
|
||||
GtkWindow *dialog = GTK_WINDOW(_PTR(ptr));
|
||||
GtkWidget *widget = GTK_WIDGET(_PTR(widget_ptr));
|
||||
|
||||
GtkWidget *content_area = gtk_dialog_get_content_area(dialog);
|
||||
gtk_box_append(GTK_BOX(content_area), gtk_widget_get_parent(widget));
|
||||
gtk_window_set_child(dialog, gtk_widget_get_parent(widget));
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL Java_android_app_Dialog_nativeShow(JNIEnv *env, jobject this, jlong ptr)
|
||||
|
||||
Reference in New Issue
Block a user