Dolda2000 GitWeb
/
doldaconnect.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
d25a21f
)
Display transfer doneage in dsh.
author
Fredrik Tolf
<fredrik@dolda2000.com>
Fri, 31 Aug 2007 01:36:19 +0000
(
03:36
+0200)
committer
Fredrik Tolf
<fredrik@dolda2000.com>
Fri, 31 Aug 2007 01:36:19 +0000
(
03:36
+0200)
clients/gui-shell/dsh.c
patch
|
blob
|
blame
|
history
diff --git
a/clients/gui-shell/dsh.c
b/clients/gui-shell/dsh.c
index
41291e9
..
e5310cd
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,10
+215,16
@@
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;
}
}
buf = NULL;
@@
-226,9
+232,10
@@
void updatetooltip(void)
bprintf(buf, "Transfers: %i", t);
if(t > 0)
bprintf(buf, " (%i/%i)", i, a);
bprintf(buf, "Transfers: %i", t);
if(t > 0)
bprintf(buf, " (%i/%i)", i, a);
- if(st != -1) {
+ if(bt > 0)
+ bprintf(buf, ", %.1f%%", (double)bc / (double)bt);
+ 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);