#endif
#include "dolcon.h"
#include "hublist.h"
-#include "progressbar.h"
#define TRHISTSIZE 10
{
int i;
double b;
- char *sd;
static char ret[64];
+ static char pfx[] = {'k', 'M', 'G', 'T'};
b = bytes;
- for(i = 0; (b >= 1024) && (i < 4); i++)
+ for(i = 0; (b >= 1024) && (i < sizeof(pfx)); i++)
b /= 1024;
if(i == 0)
- sd = "B";
- else if(i == 1)
- sd = "kiB";
- else if(i == 2)
- sd = "MiB";
- else if(i == 3)
- sd = "GiB";
+ snprintf(ret, 64, "%.1f B", b);
else
- sd = "TiB";
- snprintf(ret, 64, "%.1f %s", b, sd);
+ snprintf(ret, 64, "%.1f %ciB", b, pfx[i - 1]);
return(ret);
}
+void progressfunc(GtkTreeViewColumn *col, GtkCellRenderer *rend, GtkTreeModel *model, GtkTreeIter *iter, gpointer data)
+{
+ int totalc, curc;
+ int total, cur;
+ char buf[64];
+
+ totalc = (GPOINTER_TO_INT(data) & 0xff00) >> 8;
+ curc = GPOINTER_TO_INT(data) & 0xff;
+ gtk_tree_model_get(model, iter, totalc, &total, curc, &cur, -1);
+ if(total < 1)
+ g_object_set(rend, "value", GINT_TO_POINTER(0), NULL);
+ else
+ g_object_set(rend, "value", GINT_TO_POINTER((int)(((double)cur / (double)total) * 100)), NULL);
+ if(cur < 0) {
+ g_object_set(rend, "text", "", NULL);
+ } else {
+ snprintf(buf, 64, "%'i", cur);
+ g_object_set(rend, "text", buf, NULL);
+ }
+}
+
void percentagefunc(GtkTreeViewColumn *col, GtkCellRenderer *rend, GtkTreeModel *model, GtkTreeIter *iter, gpointer data)
{
int colnum;
ksquerytag = dc_queuecmd(NULL, NULL, L"filtercmd", L"userspeeda", L"%a", users, NULL);
dc_freewcsarr(users);
}
+ updatewrite();
return(TRUE);
}
lsrestag = dc_queuecmd(NULL, NULL, L"filtercmd", L"lsres", NULL);
gtk_widget_set_sensitive(reslist_reload, FALSE);
}
+ updatewrite();
}
void dcconnect(char *host)
gtk_list_store_clear(reslist);
lsrestag = dc_queuecmd(NULL, NULL, L"filtercmd", L"lsres", NULL);
gtk_widget_set_sensitive(reslist_reload, FALSE);
+ updatewrite();
}
int rmres(char *id)
textdomain(PACKAGE);
gtk_init(&argc, &argv);
connlocal = 0;
- while((c = getopt(argc, argv, "lh")) != -1) {
+ while((c = getopt(argc, argv, "lhV")) != -1) {
switch(c) {
case 'l':
connlocal = 1;
break;
case 'h':
- printf("usage: dolcon [-hl]\n");
+ printf("usage: dolcon [-hlV]\n");
printf("\t-h\tDisplay this help message\n");
printf("\t-l\tConnect to the locally running daemon\n");
+ printf("\t-V\tDisplay version info and exit\n");
+ exit(0);
+ case 'V':
+ printf("%s", RELEASEINFO);
exit(0);
default:
- fprintf(stderr, "usage: dolcon [-hl]\n");
+ fprintf(stderr, "usage: dolcon [-hlV]\n");
exit(1);
}
}