Truncate very long tags.
authorfredrik <fredrik@959494ce-11ee-0310-bf91-de5d638817bd>
Mon, 8 Jan 2007 02:44:37 +0000 (02:44 +0000)
committerfredrik <fredrik@959494ce-11ee-0310-bf91-de5d638817bd>
Mon, 8 Jan 2007 02:44:37 +0000 (02:44 +0000)
git-svn-id: svn+ssh://svn.dolda2000.com/srv/svn/repos/src/doldaconnect@808 959494ce-11ee-0310-bf91-de5d638817bd

clients/gnome-trans-applet/dolcon-trans-applet.c

index b73b46e..ab31d3c 100644 (file)
@@ -99,6 +99,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 +131,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;
     }