Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 769341 | Differences between
and this patch

Collapse All | Expand All

(-)a/src/uigtk2.ml (-29 / +45 lines)
Lines 544-549 let rate2str v = Link Here
544
      " "
544
      " "
545
  end
545
  end
546
546
547
let mib = 1024. *. 1024.
548
let kib2str v =
549
  if v > 100_000_000. then
550
    Format.sprintf "%.0f MiB" (v /. mib)
551
  else if v > 1_000_000. then
552
    Format.sprintf "%.1f MiB" (v /. mib)
553
  else if v > 1024. then
554
    Format.sprintf "%.1f KiB" (v /. 1024.)
555
  else
556
    Format.sprintf "%.0f B" v
557
547
let statistics () =
558
let statistics () =
548
  let title = "Statistics" in
559
  let title = "Statistics" in
549
  let t = GWindow.dialog ~title () in
560
  let t = GWindow.dialog ~title () in
Lines 558-579 let statistics () = Link Here
558
  let reception = new stats 320 50 in
569
  let reception = new stats 320 50 in
559
  t#vbox#pack ~expand:false ~padding:4 (reception :> GObj.widget);
570
  t#vbox#pack ~expand:false ~padding:4 (reception :> GObj.widget);
560
571
561
  let lst =
572
  let cols = new GTree.column_list in
562
    GList.clist
573
  let c_1 = cols#add Gobject.Data.string in
563
      ~packing:(t#vbox#add)
574
  let c_client = cols#add Gobject.Data.string in
564
      ~titles_active:false
575
  let c_server = cols#add Gobject.Data.string in
565
      ~titles:[""; "Client"; "Server"; "Total"] ()
576
  let c_total = cols#add Gobject.Data.string in
566
  in
577
  let lst = GTree.list_store cols in
567
  lst#set_column ~auto_resize:true 0;
578
  let l = GTree.view ~model:lst ~enable_search:false ~packing:(t#vbox#add) () in
568
  lst#set_column ~auto_resize:true ~justification:`RIGHT 1;
579
  l#selection#set_mode `NONE;
569
  lst#set_column ~auto_resize:true ~justification:`RIGHT 2;
580
  ignore (l#append_column (GTree.view_column ~title:""
570
  lst#set_column ~auto_resize:true ~justification:`RIGHT 3;
581
    ~renderer:(GTree.cell_renderer_text [], ["text", c_1]) ()));
571
  ignore (lst#append ["Reception rate"]);
582
  ignore (l#append_column (GTree.view_column ~title:"Client"
572
  ignore (lst#append ["Data received"]);
583
    ~renderer:(GTree.cell_renderer_text [`XALIGN 1.0], ["text", c_client]) ()));
573
  ignore (lst#append ["File data written"]);
584
  ignore (l#append_column (GTree.view_column ~title:"Server"
574
  for r = 0 to 2 do
585
    ~renderer:(GTree.cell_renderer_text [`XALIGN 1.0], ["text", c_server]) ()));
575
    lst#set_row ~selectable:false r
586
  ignore (l#append_column (GTree.view_column ~title:"Total"
576
  done;
587
    ~renderer:(GTree.cell_renderer_text [`XALIGN 1.0], ["text", c_total]) ()));
588
  let rate_row = lst#append () in
589
  ignore (lst#set rate_row c_1 "Reception rate");
590
  let receive_row = lst#append () in
591
  ignore (lst#set receive_row c_1 "Data received");
592
  let data_row = lst#append () in
593
  ignore (lst#set data_row c_1 "File data written");
577
594
578
  ignore (t#event#connect#map ~callback:(fun _ ->
595
  ignore (t#event#connect#map ~callback:(fun _ ->
579
    emission#activate true;
596
    emission#activate true;
Lines 596-614 let statistics () = Link Here
596
  let stopCounter = ref 0 in
613
  let stopCounter = ref 0 in
597
614
598
  let updateTable () =
615
  let updateTable () =
599
    let kib2str v = Format.sprintf "%.0f B" v in
616
    let row = rate_row in
600
    lst#set_cell ~text:(rate2str !receiveRate2) 0 1;
617
    lst#set ~row ~column:c_client (rate2str !receiveRate2);
601
    lst#set_cell ~text:(rate2str !emitRate2) 0 2;
618
    lst#set ~row ~column:c_server (rate2str !emitRate2);
602
    lst#set_cell ~text:
619
    lst#set ~row ~column:c_total (rate2str (!receiveRate2 +. !emitRate2));
603
      (rate2str (!receiveRate2 +. !emitRate2)) 0 3;
620
    let row = receive_row in
604
    lst#set_cell ~text:(kib2str !receivedBytes) 1 1;
621
    lst#set ~row ~column:c_client (kib2str !receivedBytes);
605
    lst#set_cell ~text:(kib2str !emittedBytes) 1 2;
622
    lst#set ~row ~column:c_server (kib2str !emittedBytes);
606
    lst#set_cell ~text:
623
    lst#set ~row ~column:c_total (kib2str (!receivedBytes +. !emittedBytes));
607
      (kib2str (!receivedBytes +. !emittedBytes)) 1 3;
624
    let row = data_row in
608
    lst#set_cell ~text:(kib2str !clientWritten) 2 1;
625
    lst#set ~row ~column:c_client (kib2str !clientWritten);
609
    lst#set_cell ~text:(kib2str !serverWritten) 2 2;
626
    lst#set ~row ~column:c_server (kib2str !serverWritten);
610
    lst#set_cell ~text:
627
    lst#set ~row ~column:c_total (kib2str (!clientWritten +. !serverWritten))
611
      (kib2str (!clientWritten +. !serverWritten)) 2 3
612
  in
628
  in
613
  let timeout _ =
629
  let timeout _ =
614
    emitRate :=
630
    emitRate :=

Return to bug 769341