Subversion Repositories Filer-Free

Rev

Rev 47 | Rev 49 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 47 Rev 48
Line 174... Line 174...
174
                }
174
                }
175
                break;
175
                break;
176
        case 1: /* object */
176
        case 1: /* object */
177
                switch (block.items[1])
177
                switch (block.items[1])
178
                {
178
                {
-
 
179
                case 1: /* rename */
-
 
180
                        switch (block.items[2])
-
 
181
                        {
-
 
182
                        case 0:
-
 
183
                                if (_object&&strlen(_rename_leafname))
-
 
184
                                {
-
 
185
                                        const size_t max_pathname=255;
-
 
186
                                        size_t max_leafname=
-
 
187
                                                max_pathname-strlen(_owner->pathname())-1;
-
 
188
                                        if (max_leafname>max_pathname) max_leafname=0;
-
 
189
                                        if ((strlen(_object->name)<=max_leafname)&&
-
 
190
                                                (strlen(_rename_leafname)<=max_leafname))
-
 
191
                                        {
-
 
192
                                                static char src_pathname[max_pathname+1];
-
 
193
                                                static char dst_pathname[max_pathname+1];
-
 
194
                                                sprintf(src_pathname,"%s.%s",_owner->pathname(),
-
 
195
                                                        _object->name);
-
 
196
                                                sprintf(dst_pathname,"%s.%s",_owner->pathname(),
-
 
197
                                                        _rename_leafname);
-
 
198
                                                osfscontrol_rename(src_pathname,dst_pathname);
-
 
199
                                        }
-
 
200
                                }
-
 
201
                                break;
-
 
202
                        }
-
 
203
                        break;
179
                case 2: /* delete */
204
                case 2: /* delete */
180
                        {
205
                        {
181
                                wimp_t handle=_owner->begin_filer_action();
206
                                wimp_t handle=_owner->begin_filer_action();
182
                                xfileractionsendstartoperation_delete(handle,
207
                                xfileractionsendstartoperation_delete(handle,
183
                                        _owner->options().flags()|fileraction_RECURSE);
208
                                        _owner->options().flags()|fileraction_RECURSE);
Line 190... Line 215...
190
                                        _owner->options().flags()|fileraction_RECURSE);
215
                                        _owner->options().flags()|fileraction_RECURSE);
191
                        }
216
                        }
192
                        break;
217
                        break;
193
                case 6: /* info */
218
                case 6: /* info */
194
                        break;
219
                        break;
195
                }
-
 
196
                case 9: /* stamp */
220
                case 9: /* stamp */
197
                        {
221
                        {
198
                                wimp_t handle=_owner->begin_filer_action();
222
                                wimp_t handle=_owner->begin_filer_action();
199
                                xfileractionsendstartoperation_stamp(handle,
223
                                xfileractionsendstartoperation_stamp(handle,
200
                                        _owner->options().flags()|fileraction_RECURSE);
224
                                        _owner->options().flags()|fileraction_RECURSE);
201
                        }
225
                        }
202
                        break;
226
                        break;
-
 
227
                }
203
                break;
228
                break;
204
        case 2: /* select all */
229
        case 2: /* select all */
205
                _owner->select_all(1);
230
                _owner->select_all(1);
206
                break;
231
                break;
207
        case 3: /* clear selection */
232
        case 3: /* clear selection */