Fix a couple bugs, and now errors are displayed to progress text.

This commit is contained in:
Jaime Thomas 2008-11-05 17:02:35 +00:00
parent b8402b716e
commit e863acb6b5
3 changed files with 15 additions and 5 deletions

View File

@ -10,8 +10,6 @@ ecdb_aquire_drive_info(void)
struct burn_drive_info *drives_current; struct burn_drive_info *drives_current;
struct burn_speed_descriptor *speeds; struct burn_speed_descriptor *speeds;
ecdb_burn_init();
ret = 0; ret = 0;
if (em->drives) if (em->drives)
ecore_list_destroy(em->drives); ecore_list_destroy(em->drives);
@ -75,7 +73,6 @@ ecdb_aquire_drive_info(void)
} }
burn_drive_info_free(drives_current); burn_drive_info_free(drives_current);
burn_finish();
return TRUE; return TRUE;
} }

View File

@ -38,7 +38,6 @@ void
ecdb_erase_project_destroy(Ecdb_Erase_Project *proj) ecdb_erase_project_destroy(Ecdb_Erase_Project *proj)
{ {
ecdb_project_destroy(ECDB_PROJECT(proj)); ecdb_project_destroy(ECDB_PROJECT(proj));
free(proj);
} }
int int
@ -90,6 +89,11 @@ static void
ecdb_erase_progress_handler(void *data, void *buffer, int nbyte) ecdb_erase_progress_handler(void *data, void *buffer, int nbyte)
{ {
BurnProgress *p = buffer; BurnProgress *p = buffer;
Evas_Object *swallow;
char buf[1024];
printf("Sector %d of %d\n", p->sector, p->sectors); swallow = evas_object_name_find(ecore_evas_get(em->main_win_ee),
"erase_page");
snprintf(buf, sizeof(buf), "%d/%d", p->sector, p->sectors);
edje_object_part_text_set(swallow, "progress_text", buf);
} }

View File

@ -363,17 +363,26 @@ ecdb_cb_erase_page_buttons_clicked(void *data, Evas_Object *o,
int speed; int speed;
Ecdb_Erase_Project *proj; Ecdb_Erase_Project *proj;
proj = ecdb_erase_project_new(); proj = ecdb_erase_project_new();
char buf[1024];
snprintf(buf, sizeof(buf), "Commencing...");
edje_object_part_text_set(swallow, "progress_text", buf);
if (!ecdb_aquire_drive(ECDB_PROJECT(proj), 0)) if (!ecdb_aquire_drive(ECDB_PROJECT(proj), 0))
{ {
printf("Couldn't grab drive!\n"); printf("Couldn't grab drive!\n");
ecdb_erase_project_destroy(proj); ecdb_erase_project_destroy(proj);
snprintf(buf, sizeof(buf), "Couldn't grab drive!");
edje_object_part_text_set(swallow, "progress_text", buf);
return;
} }
if (!ecdb_erase_disc(proj)) if (!ecdb_erase_disc(proj))
{ {
printf("Couldn't begin burn!\n"); printf("Couldn't begin burn!\n");
ecdb_erase_project_destroy(proj); ecdb_erase_project_destroy(proj);
snprintf(buf, sizeof(buf), "Disc not erasable!");
edje_object_part_text_set(swallow, "progress_text", buf);
return;
} }
proj->quick = speed; proj->quick = speed;