X-Git-Url: http://git.dolda2000.com/gitweb/?a=blobdiff_plain;f=config%2Fdolconf.c;h=cd5c5aa22e2370c9646448819c90fca4cad5900a;hb=c3aa1aa02efefdf138133908df139e373ce5224a;hp=38d1367c733d27eec94181a01a377ee26fd95c98;hpb=97ca763e1e3feafd069ecb75277c0e5425aa1f72;p=doldaconnect.git diff --git a/config/dolconf.c b/config/dolconf.c index 38d1367..cd5c5aa 100644 --- a/config/dolconf.c +++ b/config/dolconf.c @@ -31,6 +31,8 @@ #include #include #include +#include +#include #ifdef HAVE_CONFIG_H #include @@ -69,6 +71,7 @@ void cb_cfw_orport_toggled(GtkWidget *widget, gpointer uudata); void cb_cfw_oraddr_toggled(GtkWidget *widget, gpointer uudata); void cb_cfw_uinet_toggled(GtkWidget *widget, gpointer uudata); void cb_cfw_save_activate(GtkWidget *widget, gpointer uudata); +void cb_cfw_hup_activate(GtkWidget *widget, gpointer uudata); void cb_cfw_quit_activate(GtkWidget *widget, gpointer uudata); void cb_cfw_shareadd_clicked(GtkWidget *widget, gpointer uudata); void cb_cfw_sharerem_clicked(GtkWidget *widget, gpointer uudata); @@ -716,6 +719,29 @@ void cb_cfw_uinet_toggled(GtkWidget *widget, gpointer uudata) gtk_widget_set_sensitive(GTK_WIDGET(cfw_uibox), gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget))); } +void cb_cfw_hup_activate(GtkWidget *widget, gpointer uudata) +{ + int tag; + struct dc_response *resp; + + if(dc_connectsync2(dc_srv_local, DC_LATEST) < 0) { + msgbox(GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, _("Could not connect to server")); + return; + } + if(dc_login(NULL, 1, dc_convnone, NULL) != DC_LOGIN_ERR_SUCCESS) { + dc_disconnect(); + msgbox(GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, _("Could not connect to server")); + return; + } + tag = dc_queuecmd(NULL, NULL, L"hup", NULL); + if((resp = dc_gettaggedrespsync(tag)) != NULL) { + if(resp->code != 200) + msgbox(GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, _("Could not connect to server")); + dc_freeresp(resp); + } + dc_disconnect(); +} + void cb_cfw_save_activate(GtkWidget *widget, gpointer uudata) { struct cfvar *cv; @@ -748,6 +774,7 @@ int main(int argc, char **argv) bindtextdomain(PACKAGE, LOCALEDIR); textdomain(PACKAGE); prepstatic(); + dc_init(); gtk_init(&argc, &argv); state = -1;