Lines 211-238
Link Here
|
211 |
mg_prog = glade_xml_get_widget (glade,"mg_prog"); |
211 |
mg_prog = glade_xml_get_widget (glade,"mg_prog"); |
212 |
yl_prog = glade_xml_get_widget (glade,"yl_prog"); |
212 |
yl_prog = glade_xml_get_widget (glade,"yl_prog"); |
213 |
get_ink_level (pref_bus, pref_port, &level); |
213 |
get_ink_level (pref_bus, pref_port, &level); |
|
|
214 |
if (level.status != RESPONSE_VALID) { |
215 |
inkblot_error_dialog ( INKBLOT_ERROR_INVALID_RESPONSE ); |
216 |
exit(1); |
217 |
} |
214 |
/* if no colour level reported, but individual reservoirs |
218 |
/* if no colour level reported, but individual reservoirs |
215 |
* available, report an average */ |
219 |
* available, report an average (emulates cartridge with 3 inks) */ |
216 |
if (level.color == 0 && (level.cyan || level.magenta || level.yellow)) { |
220 |
if (level.levels[CARTRIDGE_COLOR][INDEX_LEVEL] == 0 && (level.levels[CARTRIDGE_CYAN][INDEX_LEVEL] || level.levels[CARTRIDGE_MAGENTA][INDEX_LEVEL] || level.levels[CARTRIDGE_YELLOW][INDEX_LEVEL])) { |
217 |
level.color = ( level.cyan + level.magenta + level.yellow ) / 3; |
221 |
level.levels[CARTRIDGE_COLOR][INDEX_LEVEL] = ( level.levels[CARTRIDGE_CYAN][INDEX_LEVEL] + level.levels[CARTRIDGE_MAGENTA][INDEX_LEVEL] + level.levels[CARTRIDGE_YELLOW][INDEX_LEVEL] ) / 3; |
218 |
} |
222 |
} |
219 |
black = g_strdup_printf("%d%%",level.black); |
223 |
black = g_strdup_printf("%d%%",level.levels[CARTRIDGE_BLACK][INDEX_LEVEL]); |
220 |
color = g_strdup_printf("%d%%",level.color); |
224 |
color = g_strdup_printf("%d%%",level.levels[CARTRIDGE_COLOR][INDEX_LEVEL]); |
221 |
cyan = g_strdup_printf("%d%%",level.cyan); |
225 |
cyan = g_strdup_printf("%d%%",level.levels[CARTRIDGE_CYAN][INDEX_LEVEL]); |
222 |
magenta = g_strdup_printf("%d%%",level.magenta); |
226 |
magenta = g_strdup_printf("%d%%",level.levels[CARTRIDGE_MAGENTA][INDEX_LEVEL]); |
223 |
yellow = g_strdup_printf("%d%%",level.yellow); |
227 |
yellow = g_strdup_printf("%d%%",level.levels[CARTRIDGE_YELLOW][INDEX_LEVEL]); |
224 |
gtk_label_set_text(GTK_LABEL(b_label),black); |
228 |
gtk_label_set_text(GTK_LABEL(b_label),black); |
225 |
gtk_label_set_text(GTK_LABEL(c_label),color); |
229 |
gtk_label_set_text(GTK_LABEL(c_label),color); |
226 |
gtk_label_set_text(GTK_LABEL(cy_label),cyan); |
230 |
gtk_label_set_text(GTK_LABEL(cy_label),cyan); |
227 |
gtk_label_set_text(GTK_LABEL(mg_label),magenta); |
231 |
gtk_label_set_text(GTK_LABEL(mg_label),magenta); |
228 |
gtk_label_set_text(GTK_LABEL(yl_label),yellow); |
232 |
gtk_label_set_text(GTK_LABEL(yl_label),yellow); |
229 |
gtk_progress_set_value(GTK_PROGRESS(b_prog),level.black); |
233 |
gtk_progress_set_value(GTK_PROGRESS(b_prog),level.levels[CARTRIDGE_BLACK][INDEX_LEVEL]); |
230 |
gtk_progress_set_value(GTK_PROGRESS(c_prog),level.color); |
234 |
gtk_progress_set_value(GTK_PROGRESS(c_prog),level.levels[CARTRIDGE_COLOR][INDEX_LEVEL]); |
231 |
gtk_progress_set_value(GTK_PROGRESS(cy_prog),level.cyan); |
235 |
gtk_progress_set_value(GTK_PROGRESS(cy_prog),level.levels[CARTRIDGE_CYAN][INDEX_LEVEL]); |
232 |
gtk_progress_set_value(GTK_PROGRESS(mg_prog),level.magenta); |
236 |
gtk_progress_set_value(GTK_PROGRESS(mg_prog),level.levels[CARTRIDGE_MAGENTA][INDEX_LEVEL]); |
233 |
gtk_progress_set_value(GTK_PROGRESS(yl_prog),level.yellow); |
237 |
gtk_progress_set_value(GTK_PROGRESS(yl_prog),level.levels[CARTRIDGE_YELLOW][INDEX_LEVEL]); |
234 |
gtk_window_set_title(GTK_WINDOW(dialog),level.model); |
238 |
gtk_window_set_title(GTK_WINDOW(dialog),level.model); |
235 |
if (level.cyan || level.magenta || level.yellow) { |
239 |
if (level.levels[CARTRIDGE_CYAN][INDEX_LEVEL] || level.levels[CARTRIDGE_MAGENTA][INDEX_LEVEL] || level.levels[CARTRIDGE_YELLOW][INDEX_LEVEL]) { |
236 |
gtk_widget_set_sensitive(expander,TRUE); |
240 |
gtk_widget_set_sensitive(expander,TRUE); |
237 |
} else { |
241 |
} else { |
238 |
gtk_widget_set_sensitive(expander,FALSE); |
242 |
gtk_widget_set_sensitive(expander,FALSE); |
Lines 258-270
Link Here
|
258 |
gint result; |
262 |
gint result; |
259 |
result = get_ink_level (pref_bus, pref_port, &level); |
263 |
result = get_ink_level (pref_bus, pref_port, &level); |
260 |
if (result < 0) return INKBLOT_ERROR; |
264 |
if (result < 0) return INKBLOT_ERROR; |
261 |
color = level.color; |
265 |
color = level.levels[CARTRIDGE_COLOR][INDEX_LEVEL]; |
262 |
/* if no colour level reported, but individual reservoirs |
266 |
/* if no colour level reported, but individual reservoirs |
263 |
* available, report an average */ |
267 |
* available, report an average */ |
264 |
if (color == 0 && (level.cyan || level.magenta || level.yellow)) { |
268 |
if (color == 0 && (level.levels[CARTRIDGE_CYAN][INDEX_LEVEL] || level.levels[CARTRIDGE_MAGENTA][INDEX_LEVEL] || level.levels[CARTRIDGE_YELLOW][INDEX_LEVEL])) { |
265 |
color = ( level.cyan + level.magenta + level.yellow ) / 3; |
269 |
color = ( level.levels[CARTRIDGE_CYAN][INDEX_LEVEL] + level.levels[CARTRIDGE_MAGENTA][INDEX_LEVEL] + level.levels[CARTRIDGE_YELLOW][INDEX_LEVEL] ) / 3; |
266 |
} |
270 |
} |
267 |
black = level.black; |
271 |
black = level.levels[CARTRIDGE_BLACK][INDEX_LEVEL]; |
268 |
total = color+black/2; |
272 |
total = color+black/2; |
269 |
if (total>66) return INKBLOT_OK; |
273 |
if (total>66) return INKBLOT_OK; |
270 |
if (total>33) return INKBLOT_WARN; |
274 |
if (total>33) return INKBLOT_WARN; |
Lines 310-321
Link Here
|
310 |
buttons = GTK_BUTTONS_CLOSE; |
314 |
buttons = GTK_BUTTONS_CLOSE; |
311 |
type = GTK_MESSAGE_WARNING; |
315 |
type = GTK_MESSAGE_WARNING; |
312 |
break; |
316 |
break; |
313 |
case INKBLOT_ERROR_GLADE: |
317 |
case INKBLOT_ERROR_GLADE: |
314 |
message = g_strdup (_("Inkblot was not installed correctly\n" |
318 |
message = g_strdup (_("Inkblot was not installed correctly\n" |
315 |
"and the inkblot.glade file could not " |
319 |
"and the inkblot.glade file could not " |
316 |
"be found.")); |
320 |
"be found.")); |
317 |
type = GTK_MESSAGE_ERROR; |
321 |
type = GTK_MESSAGE_ERROR; |
318 |
buttons = GTK_BUTTONS_CLOSE; |
322 |
buttons = GTK_BUTTONS_CLOSE; |
|
|
323 |
case INKBLOT_ERROR_INVALID_RESPONSE: |
324 |
message = g_strdup (_("Inkblot got an invalid response from " |
325 |
"the printer.\n\n" |
326 |
"Please check your printer and check the " |
327 |
"libinklevel homepage if your printer is " |
328 |
"supported.")); |
329 |
type = GTK_MESSAGE_ERROR; |
330 |
buttons = GTK_BUTTONS_CLOSE; |
319 |
default: |
331 |
default: |
320 |
message = g_strdup (_("An unexpected error occurred.")); |
332 |
message = g_strdup (_("An unexpected error occurred.")); |
321 |
buttons = GTK_BUTTONS_CLOSE; |
333 |
buttons = GTK_BUTTONS_CLOSE; |