And horribly break everything. Need to rewrite a bunch of stuff dealing with inheritance.

This commit is contained in:
Jaime Thomas
2009-01-30 03:59:48 +00:00
parent c0b09f0296
commit 2df38d1710
18 changed files with 450 additions and 307 deletions

View File

@ -31,7 +31,8 @@ enum _Ecdb_Project_Type
ECDB_AUDIO_PROJECT,
ECDB_ERASE_PROJECT,
ECDB_COPY_PROJECT,
ECDB_IMAGE_PROJECT
ECDB_IMAGE_PROJECT,
ECDB_DATA_PROJECT
};
typedef enum _Ecdb_Burn_Result Ecdb_Burn_Result;
@ -84,6 +85,11 @@ struct _Ecdb_Project_Info
Ecore_Event_Handler *ev_handler;
Ecore_Pipe *pipe;
unsigned int type;
/* Every project has these */
Evas_Object *ret;
Evas_Object *begin;
Evas_Object *drive;
};
/* Typecast a pointer to an Ecdb_Source */
@ -110,31 +116,9 @@ struct _Ecdb_Burn_Project
/* Inherit from normal project */
Ecdb_Project proj;
/* Files are important here */
/* The file source */
Ecdb_Source *files;
Evas_Object *capacity;
Evas_Object *speed_combo;
Evas_Object *drive_combo;
Evas_Object *parent;
/* Ids */
char *volume_id;
char *publisher_id;
char *data_preparer_id;
char *system_id;
char *application_id;
char *copywrite_id;
char *abstract_id;
char *biblio_id;
/* iso options */
int iso_level;
unsigned char use_joliet:1;
unsigned char use_rockridge:1;
unsigned char follow_symlinks:1;
unsigned char ignore_hidden:1;
unsigned char ignore_special:1;
unsigned char iso1990:1;
/* burn options */
unsigned char opc:1;
@ -152,14 +136,56 @@ struct _Ecdb_Burn_Project
/* Typecast a pointer to an Ecdb_Burn_Project */
#define ECDB_BURN(proj) ((Ecdb_Burn_Project *) proj)
typedef struct _Ecdb_Image_Project Ecdb_Image_Project;
struct _Ecdb_Image_Project
{
/* Inherit from a burn project */
Ecdb_Burn_Project proj;
Evas_Object *entry;
}
/* Typecast a pointer to an Ecdb_Image_Project */
#define ECDB_IMAGE(proj) ((Ecdb_Image_Project *) proj)
typedef struct _Ecdb_Data_Project Ecdb_Data_Project;
struct _Ecdb_Data_Project
{
/* Inherit from a burn project */
Ecdb_Burn_Project proj;
/* Files are important here */
Evas_Object *capacity;
Evas_Object *settings;
Evas_Object *filelist_swallow;
Ewl_Widget *filelist;
/* iso options */
int iso_level;
unsigned char use_joliet:1;
unsigned char use_rockridge:1;
unsigned char follow_symlinks:1;
unsigned char ignore_hidden:1;
unsigned char ignore_special:1;
unsigned char iso1990:1;
/* Ids */
char *volume_id;
char *publisher_id;
char *data_preparer_id;
char *system_id;
char *application_id;
char *copywrite_id;
char *abstract_id;
char *biblio_id;
}
typedef struct _Ecdb_Audio_Project Ecdb_Audio_Project;
struct _Ecdb_Audio_Project
{
/* Inherit from normal project */
Ecdb_Project proj;
Ecdb_Burn_Project proj;
/* Audio tracks */
Ecdb_Source *tracks;
int num_tracks;
int num_transcode_complete;
};
@ -173,6 +199,9 @@ struct _Ecdb_Erase_Project
/* Inherit from normal project */
Ecdb_Project proj;
/* Add a check widget */
Evas_Object *speed;
/* Speed */
unsigned char quick:1;
unsigned char format:1;