~ubuntu-branches/ubuntu/hardy/avidemux/hardy

« back to all changes in this revision

Viewing changes to avidemux/ADM_dialog/DIA_jobs.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Daniel T Chen
  • Date: 2006-12-15 17:13:20 UTC
  • mfrom: (1.1.6 upstream)
  • Revision ID: james.westby@ubuntu.com-20061215171320-w79pvpehxx2fr217
Tags: 1:2.3.0-0.0ubuntu1
* Merge from debian-multimedia.org, remaining Ubuntu change:
  - desktop file,
  - no support for ccache and make -j.
* Closes Ubuntu: #69614.

Show diffs side-by-side

added added

removed removed

Lines of Context:
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")};
26
26
 
27
27
 
28
28
typedef enum JOB_STATUS
34
34
        STATUS_RUNNING
35
35
};
36
36
 
 
37
 
 
38
typedef struct ADM_Job_Descriptor
 
39
{
 
40
  JOB_STATUS  status;
 
41
  ADM_date    startDate;
 
42
  ADM_date    endDate;
 
43
};
 
44
 
37
45
typedef enum 
38
46
{
39
47
        COMMAND_DELETE_ALL=1,
49
57
        GtkListStore *store;
50
58
        uint32_t  nb;
51
59
        char      **name;
52
 
        JOB_STATUS *status;
 
60
        ADM_Job_Descriptor *status;
53
61
}JobsDescriptor;
54
62
 
55
63
static JobsDescriptor jobs;
58
66
{
59
67
GtkListStore *store;
60
68
 
61
 
GtkTreeViewColumn *column,*column2;
 
69
GtkTreeViewColumn *column,*column2,*column3;
62
70
GtkCellRenderer *renderer;
63
71
 
64
72
        int ret=0;
71
79
        gtk_register_dialog(dialog);
72
80
        
73
81
        
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);
75
83
        
76
84
        // initialize our job structure
77
85
        jobs.dialog=dialog;
78
86
        jobs.nb=nb;
79
87
        jobs.name=name;
80
 
        jobs.status=new JOB_STATUS[nb];
 
88
        jobs.status=new ADM_Job_Descriptor[nb];
81
89
        jobs.store=store;
82
 
        memset(jobs.status,0,jobs.nb*sizeof(JOB_STATUS));
 
90
        memset(jobs.status,0,jobs.nb*sizeof(ADM_Job_Descriptor));
83
91
 
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)));
87
95
        // Add columns
88
96
 
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,
92
100
                                                      NULL);
93
101
        gtk_tree_view_append_column (GTK_TREE_VIEW (WID(treeview1)), column);
94
 
#if 0
95
 
        column2 = gtk_tree_view_column_new_with_attributes ("Status", renderer,
 
102
 
 
103
        column2 = gtk_tree_view_column_new_with_attributes (_("Started at"), renderer,
96
104
                                                      "markup", (GdkModifierType) 1,
97
105
                                                      NULL);
98
106
        gtk_tree_view_append_column (GTK_TREE_VIEW (WID(treeview1)), column2);
99
 
#endif
 
107
        column3 = gtk_tree_view_column_new_with_attributes (_("Finished at"), renderer,
 
108
            "markup", (GdkModifierType) 2,
 
109
            NULL);
 
110
        gtk_tree_view_append_column (GTK_TREE_VIEW (WID(treeview1)), column3);
 
111
 
100
112
        //
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:
120
132
                                         running=0;break;
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 ?")))
123
135
                                        {
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;
125
137
                                        }
126
138
                                        break;
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;
131
143
                                        updateStatus();
132
144
                                        GUI_Quiet();
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));
 
149
                                        updateStatus();
135
150
                                        GUI_Verbose();
136
151
                                        break;
137
152
                        case COMMAND_RUN_ALL: 
138
153
                                        GUI_Quiet();
139
154
                                        for(int i=0;i<jobs.nb;i++)
140
155
                                        {
141
 
                                                if(jobs.status[i]==STATUS_DELETED) continue;
142
 
                                                if(jobs.status[i]==STATUS_SUCCEED) continue;
143
 
                                                jobs.status[i]=STATUS_RUNNING;
144
 
                                                updateStatus();
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));
 
160
                                          updateStatus();
 
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));
147
164
 
148
165
                                        }
 
166
                                        updateStatus();
149
167
                                        GUI_Verbose();
150
168
                                        break;
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])))
155
173
                                        {
156
 
                                                jobs.status[sel]=STATUS_DELETED;
 
174
                                                jobs.status[sel].status=STATUS_DELETED;
157
175
                                        }
158
176
                                        break;
159
177
 
160
178
                        
161
179
                        default:
162
180
                                printf("Event:%d\n",event); 
163
 
                                GUI_Alert("Unknown event");break;
 
181
                                GUI_Alert(_("Unknown event"));break;
164
182
                }
165
183
                
166
184
        }
170
188
        // Now delete the "deleted" jobs
171
189
        for(int i=0;i<jobs.nb;i++)
172
190
        {
173
 
                if(jobs.status[i]==STATUS_DELETED)
 
191
                if(jobs.status[i].status==STATUS_DELETED)
174
192
                {
175
193
                        unlink(jobs.name[i]);
176
194
                }
193
211
{
194
212
GtkTreeIter iter;
195
213
char *str;
 
214
ADM_date  *date;
 
215
char str1[200],str2[200],str3[200];
 
216
 
196
217
        gtk_list_store_clear (jobs.store);
197
218
        for (uint32_t i = 0; i < jobs.nb; i++)
198
219
        {
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]));
 
223
 
 
224
                date=&(jobs.status[i].startDate);
 
225
                sprintf(str2,"%02d:%02d:%02d",date->hours,
 
226
                                          date->minutes,
 
227
                                          date->seconds);
 
228
 
 
229
                date=&(jobs.status[i].endDate);
 
230
                sprintf(str3,"%02d:%02d:%02d",date->hours,
 
231
                        date->minutes,
 
232
                        date->seconds);
203
233
 
204
234
                gtk_list_store_append (jobs.store, &iter);
205
 
                gtk_list_store_set (jobs.store, &iter, 0,str,-1);
206
 
 
207
 
                g_free(str);
 
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);
 
238
                
208
239
        }
209
240
}
210
241
//*************************************