Get rid of the antique separate page setup menu item and dialog.
Started with a patch from Bilal Akhtar but massively changed it, and
fixed some undiscovered bugs on the way.
to silence valgrind
==12105== Conditional jump or move depends on uninitialised value(s)
==12105== at 0x6B069C: gimp_data_set_folder_tags (gimp/app/core/gimpdata.c:885)
==12105== by 0x6B155E: gimp_data_factory_load_data (gimp/app/core/gimpdatafactory.c:922)
==12105== by 0x64F34D0: gimp_datafiles_read_directories (gimp/libgimpbase/gimpdatafiles.c:155)
==12105== by 0x6B1293: gimp_data_factory_data_load (gimp/app/core/gimpdatafactory.c:354)
==12105== by 0x6B1E1C: gimp_data_factory_data_init (gimp/app/core/gimpdatafactory.c:239)
==12105== by 0x6871D2: gimp_restore (gimp/app/core/gimp.c:952)
==12105== by 0x47EABA: app_run (gimp/app/app.c:217)
==12105== by 0x47E64D: main (gimp/app/main.c:440)
==12105== Uninitialised value was created by a stack allocation
==12105== at 0x6B1190: gimp_data_factory_data_load (gimp/app/core/gimpdatafactory.c:319)
One possible way to decrease the incompatibilities
between letter spacing in a tagged gtk_text_buffer
and in an equivalent pango_layout
Remove also a valgrind reported invalid write in
gimptextbuffer.c
GimpData: add gimp_data_set_folder_tags() and remove the tag logic
from gimp_data_set_filename(). The function gets the toplevel data
directory passed so it knows where to stop assigning tags.
GimpDataFactory: when loading data, keep track of the currently
processed data hierachy's toplevel directory, and pass it to above new
function. Also make sure obsolete files don't get folder-tagged.
no matter how editing was started (double click, keyboard activate, F2).
Connect to "editing-started" of the name cell and set the object's
real name directly on the GtkCellEditable, instead of trying to hack
around in the tree store before the actual editing starts.