static const int PASSWORD_MIN_SIZE = 6;
static const int LOGIN_MIN_SIZE = 4;
+static GtkWidget *the_assistant=NULL;
static GdkPixbuf *ok;
static GdkPixbuf *notok;
linphone_account_creator_set_username(creator, gtk_entry_get_text(username));
if (g_regex_match_simple("^[a-zA-Z]+[a-zA-Z0-9.\\-_]{3,}$", gtk_entry_get_text(username), 0, 0)) {
+#if !GLIB_CHECK_VERSION(2, 31, 0)
g_thread_create(check_username_availability, (void*)w, FALSE, NULL);
+#else
+ g_thread_new(NULL, check_username_availability, w);
+#endif
}
else {
if (gtk_entry_get_text_length(username) < LOGIN_MIN_SIZE) {
}
static void linphone_gtk_assistant_closed(GtkWidget *w){
- gtk_widget_destroy(w);
+ linphone_gtk_close_assistant();
}
static void linphone_gtk_assistant_prepare(GtkWidget *assistant, GtkWidget *page){
return (LinphoneAccountCreator*)g_object_get_data(G_OBJECT(w),"creator");
}
-GtkWidget * linphone_gtk_create_assistant(void){
- GtkWidget *w=gtk_assistant_new();
+void linphone_gtk_close_assistant(void){
+ if(the_assistant==NULL)
+ return;
+ gtk_widget_destroy(the_assistant);
+ the_assistant = NULL;
+}
+
+void linphone_gtk_show_assistant(void){
+ if(the_assistant!=NULL)
+ return;
+ GtkWidget *w=the_assistant=gtk_assistant_new();
gtk_window_set_resizable (GTK_WINDOW(w), FALSE);
ok = create_pixbuf(linphone_gtk_get_ui_config("ok","ok.png"));
notok = create_pixbuf(linphone_gtk_get_ui_config("notok","notok.png"));
- g_thread_init (NULL);
- gdk_threads_init ();
-
GtkWidget *p1=create_intro();
GtkWidget *p2=create_setup_signin_choice();
GtkWidget *p31=create_account_informations_page();
g_signal_connect(G_OBJECT(w),"prepare",(GCallback)linphone_gtk_assistant_prepare,NULL);
gtk_widget_show(w);
-
- return w;
}
+