View | Details | Raw Unified | Return to bug 152046
Collapse All | Expand All

(-)/usr/src/packages/BUILD/gtk+-2.8.10/gtk/gtkfilechooserdefault.c (+9 lines)
Lines 311-316 struct _GtkFileChooserDefault Link Here
311
  guint list_sort_ascending : 1;
311
  guint list_sort_ascending : 1;
312
  guint changing_folder : 1;
312
  guint changing_folder : 1;
313
  guint shortcuts_current_folder_active : 1;
313
  guint shortcuts_current_folder_active : 1;
314
  guint expand_folders : 1;
314
315
315
#if 0
316
#if 0
316
  guint shortcuts_drag_outside : 1;
317
  guint shortcuts_drag_outside : 1;
Lines 956-961 gtk_file_chooser_default_init (GtkFileCh Link Here
956
  impl->pending_select_paths = NULL;
957
  impl->pending_select_paths = NULL;
957
  impl->location_mode = LOCATION_MODE_PATH_BAR;
958
  impl->location_mode = LOCATION_MODE_PATH_BAR;
958
  impl->operation_mode = OPERATION_MODE_BROWSE;
959
  impl->operation_mode = OPERATION_MODE_BROWSE;
960
  impl->expand_folders = FALSE;
959
961
960
  gtk_box_set_spacing (GTK_BOX (impl), 12);
962
  gtk_box_set_spacing (GTK_BOX (impl), 12);
961
963
Lines 4230-4235 expander_changed_cb (GtkExpander Link Here
4230
		     GParamSpec            *pspec,
4232
		     GParamSpec            *pspec,
4231
		     GtkFileChooserDefault *impl)
4233
		     GtkFileChooserDefault *impl)
4232
{
4234
{
4235
  impl->expand_folders = gtk_expander_get_expanded(GTK_EXPANDER (impl->save_expander));
4233
  update_appearance (impl);
4236
  update_appearance (impl);
4234
}
4237
}
4235
4238
Lines 5369-5384 settings_load (GtkFileChooserDefault *im Link Here
5369
  GtkFileChooserSettings *settings;
5372
  GtkFileChooserSettings *settings;
5370
  LocationMode location_mode;
5373
  LocationMode location_mode;
5371
  gboolean show_hidden;
5374
  gboolean show_hidden;
5375
  gboolean expand_folders;
5372
5376
5373
  settings = _gtk_file_chooser_settings_new ();
5377
  settings = _gtk_file_chooser_settings_new ();
5374
5378
5375
  location_mode = _gtk_file_chooser_settings_get_location_mode (settings);
5379
  location_mode = _gtk_file_chooser_settings_get_location_mode (settings);
5376
  show_hidden = _gtk_file_chooser_settings_get_show_hidden (settings);
5380
  show_hidden = _gtk_file_chooser_settings_get_show_hidden (settings);
5381
  expand_folders = _gtk_file_chooser_settings_get_expand_folders (settings);
5377
5382
5378
  g_object_unref (settings);
5383
  g_object_unref (settings);
5379
5384
5380
  location_mode_set (impl, location_mode, TRUE);
5385
  location_mode_set (impl, location_mode, TRUE);
5381
  gtk_file_chooser_set_show_hidden (GTK_FILE_CHOOSER (impl), show_hidden);
5386
  gtk_file_chooser_set_show_hidden (GTK_FILE_CHOOSER (impl), show_hidden);
5387
  impl->expand_folders = expand_folders;
5388
  if (impl->save_expander)
5389
    gtk_expander_set_expanded (GTK_EXPANDER (impl->save_expander), expand_folders);
5382
}
5390
}
5383
5391
5384
static void
5392
static void
Lines 5390-5395 settings_save (GtkFileChooserDefault *im Link Here
5390
5398
5391
  _gtk_file_chooser_settings_set_location_mode (settings, impl->location_mode);
5399
  _gtk_file_chooser_settings_set_location_mode (settings, impl->location_mode);
5392
  _gtk_file_chooser_settings_set_show_hidden (settings, gtk_file_chooser_get_show_hidden (GTK_FILE_CHOOSER (impl)));
5400
  _gtk_file_chooser_settings_set_show_hidden (settings, gtk_file_chooser_get_show_hidden (GTK_FILE_CHOOSER (impl)));
5401
  _gtk_file_chooser_settings_set_expand_folders (settings, impl->expand_folders);
5393
5402
5394
  /* NULL GError */
5403
  /* NULL GError */
5395
  _gtk_file_chooser_settings_save (settings, NULL);
5404
  _gtk_file_chooser_settings_save (settings, NULL);
(-)/usr/src/packages/BUILD/gtk+-2.8.10/gtk/gtkfilechoosersettings.c (-2 / +59 lines)
Lines 41-46 Link Here
41
#define ELEMENT_TOPLEVEL	"gtkfilechooser"
41
#define ELEMENT_TOPLEVEL	"gtkfilechooser"
42
#define ELEMENT_LOCATION	"location"
42
#define ELEMENT_LOCATION	"location"
43
#define ELEMENT_SHOW_HIDDEN     "show_hidden"
43
#define ELEMENT_SHOW_HIDDEN     "show_hidden"
44
#define ELEMENT_EXPAND_FOLDERS  "expand_folders"
44
#define ATTRIBUTE_VERSION       "version"
45
#define ATTRIBUTE_VERSION       "version"
45
#define ATTRIBUTE_MODE		"mode"
46
#define ATTRIBUTE_MODE		"mode"
46
#define ATTRIBUTE_VALUE         "value"
47
#define ATTRIBUTE_VALUE         "value"
Lines 68-73 set_defaults (GtkFileChooserSettings *se Link Here
68
{
69
{
69
  settings->location_mode = LOCATION_MODE_PATH_BAR;
70
  settings->location_mode = LOCATION_MODE_PATH_BAR;
70
  settings->show_hidden = FALSE;
71
  settings->show_hidden = FALSE;
72
  settings->expand_folders = FALSE;
71
}
73
}
72
74
73
typedef enum {
75
typedef enum {
Lines 76-82 typedef enum { Link Here
76
  STATE_ERROR,
78
  STATE_ERROR,
77
  STATE_IN_TOPLEVEL,
79
  STATE_IN_TOPLEVEL,
78
  STATE_IN_LOCATION,
80
  STATE_IN_LOCATION,
79
  STATE_IN_SHOW_HIDDEN
81
  STATE_IN_SHOW_HIDDEN,
82
  STATE_IN_EXPAND_FOLDERS
80
} State;
83
} State;
81
84
82
struct parse_state {
85
struct parse_state {
Lines 270-275 parse_start_element_cb (GMarkupParseCont Link Here
270
			   value_str);
273
			   value_str);
271
	    }
274
	    }
272
	}
275
	}
276
      else if (EQ (element_name, ELEMENT_EXPAND_FOLDERS))
277
	{
278
	  const char *value_str;
279
280
	  state->state = STATE_IN_EXPAND_FOLDERS;
281
282
	  value_str = get_attribute_value (attribute_names, attribute_values, ATTRIBUTE_VALUE);
283
284
	  if (!value_str)
285
	    set_missing_attribute_error (state, line, col, ATTRIBUTE_VALUE, error);
286
	  else if (EQ (value_str, VALUE_TRUE))
287
	    state->settings->expand_folders = TRUE;
288
	  else if (EQ (value_str, VALUE_FALSE))
289
	    state->settings->expand_folders = FALSE;
290
	  else
291
	    {
292
	      state->state = STATE_ERROR;
293
	      g_set_error (error,
294
			   G_MARKUP_ERROR,
295
			   G_MARKUP_ERROR_INVALID_CONTENT,
296
			   _("Line %d, column %d: expected \"%s\" or \"%s\", but found \"%s\" instead"),
297
			   line,
298
			   col,
299
			   VALUE_FALSE,
300
			   VALUE_TRUE,
301
			   value_str);
302
	    }
303
	}
273
      else
304
      else
274
	set_unexpected_element_error (state, line, col, element_name, error);
305
	set_unexpected_element_error (state, line, col, element_name, error);
275
306
Lines 335-340 parse_end_element_cb (GMarkupParseContex Link Here
335
366
336
      break;
367
      break;
337
368
369
    case STATE_IN_EXPAND_FOLDERS:
370
      if (EQ (element_name, ELEMENT_EXPAND_FOLDERS))
371
	state->state = STATE_IN_TOPLEVEL;
372
      else
373
	set_unexpected_element_end_error (state, line, col, ELEMENT_EXPAND_FOLDERS, element_name, error);
374
375
      break;
376
338
    default:
377
    default:
339
      g_assert_not_reached ();
378
      g_assert_not_reached ();
340
    }
379
    }
Lines 455-465 _gtk_file_chooser_settings_set_show_hidd Link Here
455
  settings->show_hidden = show_hidden ? TRUE : FALSE;
494
  settings->show_hidden = show_hidden ? TRUE : FALSE;
456
}
495
}
457
496
497
gboolean
498
_gtk_file_chooser_settings_get_expand_folders (GtkFileChooserSettings *settings)
499
{
500
  ensure_settings_read (settings);
501
  return settings->expand_folders;
502
}
503
504
void
505
_gtk_file_chooser_settings_set_expand_folders (GtkFileChooserSettings *settings,
506
					       gboolean expand_folders)
507
{
508
  settings->expand_folders = expand_folders ? TRUE : FALSE;
509
}
510
458
static char *
511
static char *
459
settings_to_markup (GtkFileChooserSettings *settings)
512
settings_to_markup (GtkFileChooserSettings *settings)
460
{
513
{
461
  const char *location_mode_str;
514
  const char *location_mode_str;
462
  const char *show_hidden_str;
515
  const char *show_hidden_str;
516
  const char *expand_folders_str;
463
517
464
  if (settings->location_mode == LOCATION_MODE_PATH_BAR)
518
  if (settings->location_mode == LOCATION_MODE_PATH_BAR)
465
    location_mode_str = MODE_PATH_BAR;
519
    location_mode_str = MODE_PATH_BAR;
Lines 472-485 settings_to_markup (GtkFileChooserSettin Link Here
472
    }
526
    }
473
527
474
  show_hidden_str = settings->show_hidden ? VALUE_TRUE : VALUE_FALSE;
528
  show_hidden_str = settings->show_hidden ? VALUE_TRUE : VALUE_FALSE;
529
  expand_folders_str = settings->expand_folders ? VALUE_TRUE : VALUE_FALSE;
475
530
476
  return g_strdup_printf
531
  return g_strdup_printf
477
    ("<" ELEMENT_TOPLEVEL ">\n"						/* <gtkfilechooser>               */
532
    ("<" ELEMENT_TOPLEVEL ">\n"						/* <gtkfilechooser>               */
478
     "  <" ELEMENT_LOCATION " " ATTRIBUTE_MODE "=\"%s\"/>\n"		/*   <location mode="path-bar"/>  */
533
     "  <" ELEMENT_LOCATION " " ATTRIBUTE_MODE "=\"%s\"/>\n"		/*   <location mode="path-bar"/>  */
479
     "  <" ELEMENT_SHOW_HIDDEN " " ATTRIBUTE_VALUE "=\"%s\"/>\n"	/*   <show_hidden value="false"/> */
534
     "  <" ELEMENT_SHOW_HIDDEN " " ATTRIBUTE_VALUE "=\"%s\"/>\n"	/*   <show_hidden value="false"/> */
535
     "  <" ELEMENT_EXPAND_FOLDERS " " ATTRIBUTE_VALUE "=\"%s\"/>\n"	/*   <expand_folders value="false"/> */
480
     "</" ELEMENT_TOPLEVEL ">\n",					/* </gtkfilechooser>              */
536
     "</" ELEMENT_TOPLEVEL ">\n",					/* </gtkfilechooser>              */
481
     location_mode_str,
537
     location_mode_str,
482
     show_hidden_str);
538
     show_hidden_str,
539
     expand_folders_str);
483
}
540
}
484
541
485
gboolean
542
gboolean
(-)/usr/src/packages/BUILD/gtk+-2.8.10/gtk/gtkfilechoosersettings.h (+6 lines)
Lines 42-47 struct _GtkFileChooserSettings Link Here
42
  guint settings_read : 1;
42
  guint settings_read : 1;
43
43
44
  guint show_hidden : 1;
44
  guint show_hidden : 1;
45
46
  guint expand_folders : 1;
45
};
47
};
46
48
47
struct _GtkFileChooserSettingsClass
49
struct _GtkFileChooserSettingsClass
Lines 61-66 gboolean _gtk_file_chooser_settings_get_ Link Here
61
void     _gtk_file_chooser_settings_set_show_hidden (GtkFileChooserSettings *settings,
63
void     _gtk_file_chooser_settings_set_show_hidden (GtkFileChooserSettings *settings,
62
						     gboolean                show_hidden);
64
						     gboolean                show_hidden);
63
65
66
gboolean _gtk_file_chooser_settings_get_expand_folders (GtkFileChooserSettings *settings);
67
void     _gtk_file_chooser_settings_set_expand_folders (GtkFileChooserSettings *settings,
68
							gboolean                expand_folders);
69
64
gboolean _gtk_file_chooser_settings_save (GtkFileChooserSettings *settings,
70
gboolean _gtk_file_chooser_settings_save (GtkFileChooserSettings *settings,
65
					  GError                **error);
71
					  GError                **error);
66
72

Return to bug 152046