|
|
| |
/***************************************************************/ | /***************************************************************/ |
| |
struct GtkCellRendererProgress{ |
struct GtkCellRendererProgressd4x{ |
GtkCellRenderer parent; | GtkCellRenderer parent; |
gfloat percent; | gfloat percent; |
tDownload *dwn; | tDownload *dwn; |
}; | }; |
| |
struct GtkCellRendererProgressClass{ |
struct GtkCellRendererProgressd4xClass{ |
GtkCellRendererClass parent_class; | GtkCellRendererClass parent_class; |
}; | }; |
| |
GtkType gtk_cell_renderer_progress_get_type (void); |
//GtkType gtk_cell_renderer_progress_get_type (void); |
GtkCellRenderer *gtk_cell_renderer_progress_new (void); |
//GtkCellRenderer *gtk_cell_renderer_progress_new (void); |
| |
static void gtk_cell_renderer_progress_init (GtkCellRendererProgress *cellpixbuf){ |
static void gtk_cell_renderer_progress_init (GtkCellRendererProgressd4x *cellpixbuf){ |
}; | }; |
| |
static void | static void |
|
|
guint param_id, | guint param_id, |
const GValue *value, | const GValue *value, |
GParamSpec *pspec){ | GParamSpec *pspec){ |
GtkCellRendererProgress *renderer = (GtkCellRendererProgress *)object; |
GtkCellRendererProgressd4x *renderer = (GtkCellRendererProgressd4x *)object; |
switch (param_id){ | switch (param_id){ |
case 1: | case 1: |
renderer->percent=g_value_get_float(value); | renderer->percent=g_value_get_float(value); |
|
|
GdkRectangle *expose_area, | GdkRectangle *expose_area, |
GtkCellRendererState flags){ | GtkCellRendererState flags){ |
char tmpc[100]; | char tmpc[100]; |
float p=((GtkCellRendererProgress*)cell)->percent; |
float p=((GtkCellRendererProgressd4x*)cell)->percent; |
| |
if (p>99.0 && p<100.0) | if (p>99.0 && p<100.0) |
sprintf(tmpc,"%.1f",p); | sprintf(tmpc,"%.1f",p); |
|
|
switch (CFG.PROGRESS_MODE){ | switch (CFG.PROGRESS_MODE){ |
case 2:{ | case 2:{ |
if (p<=0) break; | if (p<=0) break; |
tDownload *temp=((GtkCellRendererProgress*)cell)->dwn;; |
tDownload *temp=((GtkCellRendererProgressd4x*)cell)->dwn;; |
if (temp && temp->segments && temp->finfo.size>0){ | if (temp && temp->segments && temp->finfo.size>0){ |
temp->segments->lock_public(); | temp->segments->lock_public(); |
tSegment *tmp=temp->segments->get_first(); | tSegment *tmp=temp->segments->get_first(); |
|
|
}; | }; |
| |
| |
static void gtk_cell_renderer_progress_class_init (GtkCellRendererProgressClass *klass){ |
static void gtk_cell_renderer_progress_class_init (GtkCellRendererProgressd4xClass *klass){ |
GObjectClass *object_class = G_OBJECT_CLASS (klass); | GObjectClass *object_class = G_OBJECT_CLASS (klass); |
GtkCellRendererClass *cell_class = GTK_CELL_RENDERER_CLASS (klass); | GtkCellRendererClass *cell_class = GTK_CELL_RENDERER_CLASS (klass); |
| |
|
|
{ | { |
static const GTypeInfo cell_progress_info = | static const GTypeInfo cell_progress_info = |
{ | { |
sizeof (GtkCellRendererProgressClass), |
sizeof (GtkCellRendererProgressd4xClass), |
NULL, /* base_init */ | NULL, /* base_init */ |
NULL, /* base_finalize */ | NULL, /* base_finalize */ |
(GClassInitFunc) gtk_cell_renderer_progress_class_init, | (GClassInitFunc) gtk_cell_renderer_progress_class_init, |
NULL, /* class_finalize */ | NULL, /* class_finalize */ |
NULL, /* class_data */ | NULL, /* class_data */ |
sizeof (GtkCellRendererProgress), |
sizeof (GtkCellRendererProgressd4x), |
0, /* n_preallocs */ | 0, /* n_preallocs */ |
(GInstanceInitFunc) gtk_cell_renderer_progress_init, | (GInstanceInitFunc) gtk_cell_renderer_progress_init, |
}; | }; |
| |
cell_progress_type = g_type_register_static (GTK_TYPE_CELL_RENDERER, | cell_progress_type = g_type_register_static (GTK_TYPE_CELL_RENDERER, |
"GtkCellRendererProgress", |
"GtkCellRendererProgressd4x", |
&cell_progress_info, | &cell_progress_info, |
GTypeFlags(0)); | GTypeFlags(0)); |
} | } |