Dolda2000 GitWeb
/
doldaconnect.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Updated dolcon.apspec.
[doldaconnect.git]
/
clients
/
gui-shell
/
dsh.c
diff --git
a/clients/gui-shell/dsh.c
b/clients/gui-shell/dsh.c
index
41291e9
..
332e0df
100644
(file)
--- a/
clients/gui-shell/dsh.c
+++ b/
clients/gui-shell/dsh.c
@@
-200,12
+200,12
@@
void updatetooltip(void)
{
struct dc_transfer *tr;
struct trinfo *tri;
{
struct dc_transfer *tr;
struct trinfo *tri;
- int t, i, a, st;
+ int t, i, a, st
, bc, bt
;
char *buf;
size_t bufsize, bufdata;
t = i = a = 0;
char *buf;
size_t bufsize, bufdata;
t = i = a = 0;
- st = -1;
+ st =
bc = bt =
-1;
for(tr = dc_transfers; tr != NULL; tr = tr->next) {
if(tr->dir != DC_TRNSD_DOWN)
continue;
for(tr = dc_transfers; tr != NULL; tr = tr->next) {
if(tr->dir != DC_TRNSD_DOWN)
continue;
@@
-215,20
+215,27
@@
void updatetooltip(void)
i++;
else if((tr->state == DC_TRNS_HS) || (tr->state == DC_TRNS_MAIN))
a++;
i++;
else if((tr->state == DC_TRNS_HS) || (tr->state == DC_TRNS_MAIN))
a++;
- if((tr->state == DC_TRNS_MAIN) && (tri->speed != -1)) {
- if(st == -1)
- st = 0;
- st += tri->speed;
+ if((tr->state == DC_TRNS_MAIN)) {
+ if(bt == -1)
+ bc = bt = 0;
+ bc += tr->curpos;
+ bt += tr->size;
+ if(tri->speed != -1) {
+ if(st == -1)
+ st = 0;
+ st += tri->speed;
+ }
}
}
buf = NULL;
bufsize = bufdata = 0;
}
}
buf = NULL;
bufsize = bufdata = 0;
- bprintf(buf, "
Transfers: %i"
, t);
+ bprintf(buf, "
%s: %i", _("Transfers")
, t);
if(t > 0)
bprintf(buf, " (%i/%i)", i, a);
if(t > 0)
bprintf(buf, " (%i/%i)", i, a);
- if(st != -1) {
+ if(bt > 0)
+ bprintf(buf, ", %.1f%%", ((double)bc / (double)bt) * 100.0);
+ if(st != -1)
bprintf(buf, ", %s/s", bytes2si(st));
bprintf(buf, ", %s/s", bytes2si(st));
- }
addtobuf(buf, 0);
gtk_status_icon_set_tooltip(tray, buf);
free(buf);
addtobuf(buf, 0);
gtk_status_icon_set_tooltip(tray, buf);
free(buf);