mirror of
https://gitlab.linphone.org/BC/public/linphone-iphone.git
synced 2026-01-20 12:38:09 +00:00
Add a new function to load view from UI fils
This commit is contained in:
parent
1ef7f7fabc
commit
e6c50db150
2 changed files with 33 additions and 0 deletions
|
|
@ -99,6 +99,7 @@ LINPHONE_PUBLIC void linphone_gtk_destroy_window(GtkWidget *window);
|
|||
LINPHONE_PUBLIC GtkWidget *linphone_gtk_create_window(const char *window_name, GtkWidget *parent);
|
||||
LINPHONE_PUBLIC GtkWidget *linphone_gtk_get_widget(GtkWidget *window, const char *name);
|
||||
LINPHONE_PUBLIC GtkWidget *linphone_gtk_create_widget(const char *filename, const char *widget_name);
|
||||
LINPHONE_PUBLIC GtkWidget *linphone_gtk_create_widget_2(const char *filename, const char *widget_name);
|
||||
|
||||
const char *linphone_gtk_message_storage_get_db_file(const char *filename);
|
||||
LINPHONE_PUBLIC void linphone_gtk_show_assistant(GtkWidget* parent);
|
||||
|
|
|
|||
32
gtk/main.c
32
gtk/main.c
|
|
@ -441,6 +441,38 @@ GtkWidget *linphone_gtk_create_widget(const char *filename, const char *widget_n
|
|||
return w;
|
||||
}
|
||||
|
||||
GtkWidget *linphone_gtk_create_widget_2(const char *filename, const char *widget_name) {
|
||||
char path[2048];
|
||||
GtkWidget *w = NULL;
|
||||
GtkBuilder *builder = gtk_builder_new();
|
||||
GError *error = NULL;
|
||||
GObject *obj;
|
||||
|
||||
if(get_ui_file(filename, path, sizeof(path)) == -1) goto end;
|
||||
|
||||
gtk_builder_set_translation_domain(builder, GETTEXT_PACKAGE);
|
||||
|
||||
if(gtk_builder_add_from_file(builder, path, &error) == 0) {
|
||||
g_error("Couldn't load builder file: %s", error->message);
|
||||
g_error_free(error);
|
||||
goto end;
|
||||
}
|
||||
|
||||
obj = gtk_builder_get_object(builder, widget_name);
|
||||
if(obj == NULL) {
|
||||
g_error("'%s' widget not found", widget_name);
|
||||
goto end;
|
||||
}
|
||||
|
||||
w = GTK_WIDGET(obj);
|
||||
g_object_set_data_full(obj, "builder", builder, g_object_unref);
|
||||
gtk_widget_unparent(w);
|
||||
|
||||
|
||||
end:
|
||||
return w;
|
||||
}
|
||||
|
||||
static void entry_unmapped(GtkWidget *widget){
|
||||
ms_message("%s is unmapped, calling unrealize to workaround chinese bug.",G_OBJECT_TYPE_NAME(widget));
|
||||
gtk_widget_unrealize(widget);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue