finch/libgnt/gntfilesel.c

changeset 31294
73607ab89c6f
parent 28630
8e98598f5948
child 33649
1d643f401252
equal deleted inserted replaced
31293:169eeb43b52c 31294:73607ab89c6f
243 local_read_fn(const char *path, GList **files, GError **error) 243 local_read_fn(const char *path, GList **files, GError **error)
244 { 244 {
245 GDir *dir; 245 GDir *dir;
246 GntFile *file; 246 GntFile *file;
247 const char *str; 247 const char *str;
248 248
249 dir = g_dir_open(path, 0, error); 249 dir = g_dir_open(path, 0, error);
250 if (dir == NULL || (error && *error)) { 250 if (dir == NULL || (error && *error)) {
251 return FALSE; 251 return FALSE;
252 } 252 }
253 253
313 files = NULL; 313 files = NULL;
314 if (sel->read_fn) 314 if (sel->read_fn)
315 success = sel->read_fn(sel->current, &files, err); 315 success = sel->read_fn(sel->current, &files, err);
316 else 316 else
317 success = local_read_fn(sel->current, &files, err); 317 success = local_read_fn(sel->current, &files, err);
318 318
319 if (!success || *err) { 319 if (!success || *err) {
320 gnt_warning("error opening location %s (%s)", 320 gnt_warning("error opening location %s (%s)",
321 sel->current, *err ? (*err)->message : "reason unknown"); 321 sel->current, *err ? (*err)->message : "reason unknown");
322 return FALSE; 322 return FALSE;
323 } 323 }
354 char *str = g_strdup(gnt_tree_get_selection_data(tree)); 354 char *str = g_strdup(gnt_tree_get_selection_data(tree));
355 char *path, *dir; 355 char *path, *dir;
356 356
357 if (!str) 357 if (!str)
358 return TRUE; 358 return TRUE;
359 359
360 path = g_build_filename(sel->current, str, NULL); 360 path = g_build_filename(sel->current, str, NULL);
361 dir = g_path_get_basename(sel->current); 361 dir = g_path_get_basename(sel->current);
362 if (!gnt_file_sel_set_current_location(sel, path)) { 362 if (!gnt_file_sel_set_current_location(sel, path)) {
363 gnt_tree_set_selected(tree, str); 363 gnt_tree_set_selected(tree, str);
364 } else if (strcmp(str, "..") == 0) { 364 } else if (strcmp(str, "..") == 0) {
595 orig_map = kl->map; 595 orig_map = kl->map;
596 kl->map = gnt_file_sel_map; 596 kl->map = gnt_file_sel_map;
597 orig_size_request = kl->size_request; 597 orig_size_request = kl->size_request;
598 kl->size_request = gnt_file_sel_size_request; 598 kl->size_request = gnt_file_sel_size_request;
599 599
600 signals[SIG_FILE_SELECTED] = 600 signals[SIG_FILE_SELECTED] =
601 g_signal_new("file_selected", 601 g_signal_new("file_selected",
602 G_TYPE_FROM_CLASS(klass), 602 G_TYPE_FROM_CLASS(klass),
603 G_SIGNAL_RUN_LAST, 603 G_SIGNAL_RUN_LAST,
604 G_STRUCT_OFFSET(GntFileSelClass, file_selected), 604 G_STRUCT_OFFSET(GntFileSelClass, file_selected),
605 NULL, NULL, 605 NULL, NULL,

mercurial