mirror of
https://gitlab.linphone.org/BC/public/linphone-iphone.git
synced 2026-01-20 04:28:10 +00:00
97 lines
3.6 KiB
C
97 lines
3.6 KiB
C
/*
|
|
linphone, gtk-glade interface.
|
|
Copyright (C) 2008 Simon MORLAT (simon.morlat@linphone.org)
|
|
|
|
This program is free software; you can redistribute it and/or
|
|
modify it under the terms of the GNU General Public License
|
|
as published by the Free Software Foundation; either version 2
|
|
of the License, or (at your option) any later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with this program; if not, write to the Free Software
|
|
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
*/
|
|
|
|
#include "linphone.h"
|
|
#include "linphone/lpconfig.h"
|
|
|
|
|
|
void linphone_gtk_set_configuration_uri(void){
|
|
GtkWidget *w=linphone_gtk_create_window("config-uri", linphone_gtk_get_main_window());
|
|
GtkWidget *entry=linphone_gtk_get_widget(w,"uri_entry");
|
|
const char *uri=linphone_core_get_provisioning_uri(linphone_gtk_get_core());
|
|
if (uri) gtk_entry_set_text(GTK_ENTRY(entry),uri);
|
|
gtk_widget_show(w);
|
|
}
|
|
|
|
void linphone_gtk_config_uri_changed(GtkWidget *button){
|
|
GtkWidget *w=gtk_widget_get_toplevel(button);
|
|
GtkWidget *entry=linphone_gtk_get_widget(w,"uri_entry");
|
|
const char *uri=gtk_entry_get_text(GTK_ENTRY(entry));
|
|
|
|
if (uri && (strlen(uri)==0 || strcmp(uri,"https://")==0)) uri=NULL;
|
|
|
|
if(linphone_core_set_provisioning_uri(linphone_gtk_get_core(),uri) == 0) {
|
|
gtk_widget_destroy(w);
|
|
if (uri){
|
|
#ifndef _WIN32
|
|
linphone_gtk_schedule_restart();
|
|
gtk_main_quit();
|
|
#else
|
|
GtkWidget *dialog = gtk_message_dialog_new(GTK_WINDOW(linphone_gtk_get_main_window()),
|
|
GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT,
|
|
GTK_MESSAGE_INFO,
|
|
GTK_BUTTONS_OK,
|
|
_("Remote provisioning URI successfully set. Please restart Linphone in order to load the new remote settings"));
|
|
g_signal_connect_swapped(G_OBJECT(dialog), "response", G_CALLBACK(gtk_widget_destroy), dialog);
|
|
gtk_widget_show(dialog);
|
|
#endif
|
|
}
|
|
} else {
|
|
GtkWidget *dialog = gtk_message_dialog_new(GTK_WINDOW(w),
|
|
GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT,
|
|
GTK_MESSAGE_ERROR,
|
|
GTK_BUTTONS_OK,
|
|
_("Invalid remote provisioning URI"));
|
|
g_signal_connect_swapped(G_OBJECT(dialog), "response", G_CALLBACK(gtk_widget_destroy), dialog);
|
|
gtk_widget_show(dialog);
|
|
}
|
|
}
|
|
|
|
void linphone_gtk_config_uri_cancel(GtkWidget *button){
|
|
GtkWidget *w=gtk_widget_get_toplevel(button);
|
|
gtk_widget_destroy(w);
|
|
}
|
|
|
|
GtkWidget * linphone_gtk_show_config_fetching(void){
|
|
LinphoneCore *lc=linphone_gtk_get_core();
|
|
GtkWidget *w=linphone_gtk_create_window("provisioning-fetch", linphone_gtk_get_main_window());
|
|
g_message("Fetching started");
|
|
gtk_message_dialog_format_secondary_text(GTK_MESSAGE_DIALOG(w),_("fetching from %s"),linphone_core_get_provisioning_uri(lc));
|
|
#if GTK_CHECK_VERSION(2,20,0)
|
|
{
|
|
GtkWidget *spinner=gtk_spinner_new();
|
|
gtk_message_dialog_set_image(GTK_MESSAGE_DIALOG(w),spinner);
|
|
}
|
|
#endif
|
|
gtk_widget_show(w);
|
|
return w;
|
|
}
|
|
|
|
void linphone_gtk_close_config_fetching(GtkWidget *w, LinphoneConfiguringState state){
|
|
LinphoneCore *lc=linphone_gtk_get_core();
|
|
gtk_widget_destroy(w);
|
|
g_message("Fetching finished");
|
|
if (state==LinphoneConfiguringFailed){
|
|
GtkWidget *msg=gtk_message_dialog_new(NULL,0,GTK_MESSAGE_ERROR,GTK_BUTTONS_CLOSE,_("Downloading of remote configuration from %s failed."),
|
|
linphone_core_get_provisioning_uri(lc));
|
|
g_signal_connect(G_OBJECT(msg),"response",(GCallback)gtk_widget_destroy,NULL);
|
|
gtk_widget_show(msg);
|
|
}
|
|
}
|
|
|