X-Git-Url: http://dolda2000.com/gitweb/?a=blobdiff_plain;f=clients%2Fgnome-trans-applet%2Fdolcon-trans-applet.c;h=049556077d446bc1125b89cbe427c9d6000cbd28;hb=0a5f2058f370ab06a3471f6757cf1e2fc5c24a81;hp=b73b46ed51af0affb27c89862497ed4fa5ce26ed;hpb=d55bc1dfaeb0f28e02d74e65270b24a7ffa5fd0c;p=doldaconnect.git diff --git a/clients/gnome-trans-applet/dolcon-trans-applet.c b/clients/gnome-trans-applet/dolcon-trans-applet.c index b73b46e..0495560 100644 --- a/clients/gnome-trans-applet/dolcon-trans-applet.c +++ b/clients/gnome-trans-applet/dolcon-trans-applet.c @@ -1,6 +1,6 @@ /* * Dolda Connect - Modular multiuser Direct Connect-style client - * Copyright (C) 2005 Fredrik Tolf (fredrik@dolda2000.com) + * Copyright (C) 2005 Fredrik Tolf * * 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 @@ -59,7 +59,7 @@ static void cancel_transfer(BonoboUIComponent *uic, struct appletdata *data, con static BonoboUIVerb ctxtmenuverbs[] = { BONOBO_UI_VERB("dca_pref", run_pref_dialog), - BONOBO_UI_VERB("dca_cancel", cancel_transfer), + BONOBO_UI_VERB("dca_cancel", (void (*)(BonoboUIComponent*, gpointer, const char *))cancel_transfer), BONOBO_UI_VERB_END }; @@ -75,8 +75,10 @@ static gboolean updatetip(struct appletdata *data) time_t now; char buf[256]; - if(data->curdisplay == NULL) + if(data->curdisplay == NULL) { + gtk_tooltips_set_tip(data->tips, GTK_WIDGET(data->applet), _("No transfer selected"), NULL); return(TRUE); + } now = time(NULL); if(data->curdisplay->cmptime == 0) { @@ -99,6 +101,7 @@ static gboolean updatetip(struct appletdata *data) static void update(struct appletdata *data) { char buf[256]; + size_t l; switch(data->conduit->state) { @@ -130,7 +133,15 @@ static void update(struct appletdata *data) gtk_progress_bar_set_fraction(data->pbar, 0); gtk_progress_bar_set_text(data->pbar, _("Initializing")); } - gtk_label_set_text(data->label, data->curdisplay->tag); + if((l = strlen(data->curdisplay->tag)) > 50) { + memcpy(buf, data->curdisplay->tag, 20); + memcpy(buf + 20, "...", 3); + memcpy(buf + 23 , data->curdisplay->tag + l - 20, 20); + buf[43] = 0; + gtk_label_set_text(data->label, buf); + } else { + gtk_label_set_text(data->label, data->curdisplay->tag); + } } break; }