22
22
static void updateStatus(void);
23
23
static int getSelection(GtkWidget *dialog);
24
24
extern bool parseECMAScript(const char *name);
25
static const char *StringStatus[]={"Ready","Succeeded","Failed","Deleted","Running"};
25
static const char *StringStatus[]={_("Ready"),_("Succeeded"),_("Failed"),_("Deleted"),_("Running")};
28
28
typedef enum JOB_STATUS
71
79
gtk_register_dialog(dialog);
74
store=gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_STRING);
82
store=gtk_list_store_new (3, G_TYPE_STRING, G_TYPE_STRING,G_TYPE_STRING);
76
84
// initialize our job structure
77
85
jobs.dialog=dialog;
80
jobs.status=new JOB_STATUS[nb];
88
jobs.status=new ADM_Job_Descriptor[nb];
82
memset(jobs.status,0,jobs.nb*sizeof(JOB_STATUS));
90
memset(jobs.status,0,jobs.nb*sizeof(ADM_Job_Descriptor));
84
92
gtk_tree_view_set_model(GTK_TREE_VIEW(WID(treeview1)),GTK_TREE_MODEL (store));
85
93
gtk_tree_view_columns_autosize(GTK_TREE_VIEW(WID(treeview1)));
89
97
renderer = gtk_cell_renderer_text_new ();
90
column = gtk_tree_view_column_new_with_attributes ("Name", renderer,
98
column = gtk_tree_view_column_new_with_attributes (_(" Job Name "), renderer,
91
99
"markup", (GdkModifierType) 0,
93
101
gtk_tree_view_append_column (GTK_TREE_VIEW (WID(treeview1)), column);
95
column2 = gtk_tree_view_column_new_with_attributes ("Status", renderer,
103
column2 = gtk_tree_view_column_new_with_attributes (_("Started at"), renderer,
96
104
"markup", (GdkModifierType) 1,
98
106
gtk_tree_view_append_column (GTK_TREE_VIEW (WID(treeview1)), column2);
107
column3 = gtk_tree_view_column_new_with_attributes (_("Finished at"), renderer,
108
"markup", (GdkModifierType) 2,
110
gtk_tree_view_append_column (GTK_TREE_VIEW (WID(treeview1)), column3);
101
113
#define ASSOCIATE(x,y) gtk_dialog_add_action_widget (GTK_DIALOG (dialog), WID(x),y)
102
114
ASSOCIATE(buttonDelete,COMMAND_DELETE);
119
131
case GTK_RESPONSE_DELETE_EVENT:
121
133
case COMMAND_DELETE_ALL:
122
if(GUI_Confirmation_HIG("Sure!","Delete ALL jobs","Are you sure you want to delete all jobs ?"))
134
if(GUI_Confirmation_HIG(_("Sure!"),_("Delete ALL jobs"),_("Are you sure you want to delete all jobs ?")))
124
for(int i=0;i<jobs.nb;i++) jobs.status[i]=STATUS_DELETED;
136
for(int i=0;i<jobs.nb;i++) jobs.status[i].status=STATUS_DELETED;
127
139
case COMMAND_RUN:
128
140
sel=getSelection(jobs.dialog);
129
141
if(sel>=jobs.nb) break;
130
jobs.status[sel]=STATUS_RUNNING;
142
jobs.status[sel].status=STATUS_RUNNING;
133
if(parseECMAScript(jobs.name[sel])) jobs.status[sel]=STATUS_SUCCEED;
134
else jobs.status[sel]=STATUS_FAILED;
145
TLK_getDate(&(jobs.status[sel].startDate));
146
if(parseECMAScript(jobs.name[sel])) jobs.status[sel].status=STATUS_SUCCEED;
147
else jobs.status[sel].status=STATUS_FAILED;
148
TLK_getDate(&(jobs.status[sel].endDate));
137
152
case COMMAND_RUN_ALL:
139
154
for(int i=0;i<jobs.nb;i++)
141
if(jobs.status[i]==STATUS_DELETED) continue;
142
if(jobs.status[i]==STATUS_SUCCEED) continue;
143
jobs.status[i]=STATUS_RUNNING;
145
if(parseECMAScript(jobs.name[i])) jobs.status[i]=STATUS_SUCCEED;
146
else jobs.status[i]=STATUS_FAILED;
156
if(jobs.status[i].status==STATUS_DELETED) continue;
157
if(jobs.status[i].status==STATUS_SUCCEED) continue;
158
jobs.status[i].status=STATUS_RUNNING;
159
TLK_getDate(&(jobs.status[i].startDate));
161
if(parseECMAScript(jobs.name[i])) jobs.status[i].status=STATUS_SUCCEED;
162
else jobs.status[i].status=STATUS_FAILED;
163
TLK_getDate(&(jobs.status[i].endDate));
151
169
case COMMAND_DELETE:
152
170
sel=getSelection(jobs.dialog);
153
171
if(sel>=jobs.nb) break;
154
if(GUI_Confirmation_HIG("Sure!","Delete job","Are you sure you want to delete %s job ?",GetFileName(jobs.name[sel])))
172
if(GUI_Confirmation_HIG(_("Sure!"),_("Delete job"),_("Are you sure you want to delete %s job ?"),GetFileName(jobs.name[sel])))
156
jobs.status[sel]=STATUS_DELETED;
174
jobs.status[sel].status=STATUS_DELETED;
162
180
printf("Event:%d\n",event);
163
GUI_Alert("Unknown event");break;
181
GUI_Alert(_("Unknown event"));break;
194
212
GtkTreeIter iter;
215
char str1[200],str2[200],str3[200];
196
217
gtk_list_store_clear (jobs.store);
197
218
for (uint32_t i = 0; i < jobs.nb; i++)
199
str = g_strconcat("<span weight=\"heavy\">",
200
GetFileName(jobs.name[i]), "</span>\n",
201
"<span size=\"smaller\" style=\"oblique\" >",
202
StringStatus[jobs.status[i]], "</span> ",NULL);
220
sprintf(str1,"<span weight=\"heavy\"> %s </span>\n"
221
"<span size=\"smaller\" style=\"oblique\" > %s </span> "
222
,GetFileName(jobs.name[i]),_(StringStatus[jobs.status[i].status]));
224
date=&(jobs.status[i].startDate);
225
sprintf(str2,"%02d:%02d:%02d",date->hours,
229
date=&(jobs.status[i].endDate);
230
sprintf(str3,"%02d:%02d:%02d",date->hours,
204
234
gtk_list_store_append (jobs.store, &iter);
205
gtk_list_store_set (jobs.store, &iter, 0,str,-1);
235
gtk_list_store_set (jobs.store, &iter, 0,str1,1,str2,2,str3,-1);
236
printf("Start : %s\n",str2);
237
printf("End : %s\n",str3);
210
241
//*************************************