2020-12-14  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  3.24.1

2020-12-14  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Refer to README files for building with Meson

  and suggest filing GitLab issues and merge requests.

2020-10-22  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Autotools build: Distribute docs/tutorial/insert_example_code.py

  Should have been done when Meson build dropped the dependence on Perl.

2020-10-22  Chun-wei Fan  <fanchunwei@src.gnome.org>

  Update the "gtkmm and Win32" appendix

  Links in the patch added by Kjell Ahlstedt.
  Fixes #4

2020-09-18  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Meson build: Drop dependence on Perl

  * tools/tutorial/insert_example_code.py: New Python file, equivalent to
  the insert_example_code.pl Perl file.
  
  The Perl file is still used when building with Autotools.

2020-09-08  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Meson build: Exclude some git-tracked files from tarballs

  and use 'with' in Python code when files are opened.

2020-08-17  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Describe how to build a multi-threaded program

  Fixes #12

2020-08-06  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  input example: Don't include build/config.h

  The configuration with Autotools or Meson sets the compiler
  option -DDONT_HAVE_MKFIFO=1, if mkfifo() does not exist.
  Meson does not create build/config.h.
  This makes life easier for those who build with their own
  Makefile or CMake file or whatever.
  Fixes #11

2020-07-09  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Describe how the mm-common/skeletonmm project is built with Meson

  Appendix G. Wrapping C Libraries with gmmproc: Describe how the
  skeletonmm project is built with Meson (was Autotools).

2020-03-31  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Meson build: Set default value of the 'warnings' option to 'min'

  And add 'dist-warnings' with default value 'fatal'. It's used when a
  tarball is tested by 'ninja dist' or 'meson dist'.

2020-03-24  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Link to glibmm 2.64

2020-02-02  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  examples/meson.build: Don't use the bash command

  The bash command may not be available, e.g. in Windows.
  Use python instead of bash in 'ninja examples'.

2020-01-07  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Add examples/book/treeview/custom_treemodel

  See https://mail.gnome.org/archives/gtkmm-list/2019-December/msg00014.html
  Fixes #9 (Danny van Elsen)

2020-01-07  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Change git.gnome.org to gitlab.gnome.org

  * docs/tutorial/C/index-in.docbook: Change URLs.
  * docs/tutorial/insert_example_code.pl: Don't add url_examples_branchsuffix.
  The branch is not a suffix in gitlab, it's included in url_examples_base.

2019-11-25  Daniel Boles  <dboles.src@gmail.com>

  book/menus/popup/examplewindow: new => unique_ptr

  https://gitlab.gnome.org/GNOME/gtkmm-documentation/merge_requests/7#note_655543

2019-11-25  Daniel Boles  <dboles.src@gmail.com>

  Redo odd wording @ RadioBut.set_group(get_group())

  constness isn't the issue here; rather it is the value class of the
  argument of set_group(). That method needs an lvalue reference as it
  modifies the Group by adding the RadioButton to it. That's why we can't
  `rb2.set_group( rb1.get_group() )`. But we can store the Group returned
  by get_group() in a variable and then pass that to set_group() calls.
  Not that there is much reason to, given join_group(), but it works fine.
  
  Then I got carried away and added a program listing showing it
  working... which, while mostly superfluous, does provide a nice
  opportunity to explain briefly that RadioButtonGroup is a handle type,
  meaning that it can be declared automatically and discarded by RAII
  without worrying about thusly releasing the RadioButtons from itself.
  That then informs readers for the next example that creates a new Group.
  
  This is the first use of either "lvalue" or "rvalue" in the docbook!
  That's either a good thing or a slippery, slippery slope to start on...
  
  https://gitlab.gnome.org/GNOME/gtkmm-documentation/merge_requests/6

2019-11-25  Daniel Boles  <dboles.src@gmail.com>

  Drop pointless/confusing class around RadioButtons

  The 2nd example seems to have been trying to be like the 1st, which put
  the 3 RadioButtons in a subclass of Window, for no real reason since
  they were never then added to said Window... but the 2nd omitted to
  declare its members and instead declared new local variables in the
  constructor with m_ prefixes, which were managed unlike the 1st example!
  
  Just drop all of that. There's no clear reason to use a containing class
  here. By not doing so, we can present both examples in a comparable way.
  
  https://gitlab.gnome.org/GNOME/gtkmm-documentation/merge_requests/6

2019-11-25  Daniel Boles  <dboles.src@gmail.com>

  docb: Don't recommend `new` for an in-class member

  Instead, recommend an std::unique_ptr, which will destroy it via RAII,
  rather than requiring that the user remember to `delete` it and have to
  define a non-trivial destructor just to do that, which is just busywork.
  
  https://gitlab.gnome.org/GNOME/gtkmm-documentation/merge_requests/7

2019-11-25  Daniel Boles  <dboles.src@gmail.com>

  Builder: Using derived widgets: Update for glibmm…

  …2.62, which as of Kjell’s simply epic recent commits, now supports us
  setting custom properties of gtkmm-derived widgets in .ui files for
  Builder. Also, slightly elaborate the bit about why you would want to!
  
  I also be optimistic here and presume that such properties could be made
  editable in Glade by using a custom catalog and property classes,
  though my Glade-fu is weak, so I can only hope I'm inferring that right.
  
  https://gitlab.gnome.org/GNOME/gtkmm-documentation/merge_requests/5

2019-11-18  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Make conversions between std::string and Glib::ustring explicit

2019-10-09  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  docs/tutorial/insert_example_code.pl: Add an error message

  Print a message to stderr when a file can't be opened.

2019-10-09  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  examples/book/buildapp/step1/install-cmd.py: Minor improvement

2019-10-09  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  examples/book/buildapp: exampleapp.desktop -> exampleapp.desktop.in

  step1/exampleapp.desktop was renamed to exampleapp.desktop.in in the
  previous commit, but the filename was not changed everywhere.

2019-10-04  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Makefile.am: Distribute files needed when building with Meson

2019-10-04  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  examples/book/buildapp: Replace shell script with Python script

2019-10-02  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  tools/meson_aux: Replace shell scripts with Python scripts

  Python scripts can be used on all operating systems where Meson
  can be used. Shell scripts are restricted to Unix-like systems.

2019-09-19  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Gtk::Builder chapter: Describe combination with Glib::Property

2019-09-19  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  builder/derived example: Show Gtk::Builder combined with Glib::Property

  Add a DerivedButton that contains Glib::Property members.

2019-09-19  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Application example: Use Gio::Application::add_option_group()

  * examples/book/application/command_line_handling/exampleapplication.[cc|h]:
  Add some options that demonstrate the use of
  Gio::Application::add_option_group().
  
  See issue glibmm#46

2019-09-03  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  meson.build: Several minor improvements

  Use the / operator instead of join_paths().
  Directory paths for installation are relative to {prefix} instead of absolute.
  Don't call meson.add_dist_script(), if it's a subproject.
  Use MESON_DIST_ROOT in extra-dist-cmd.sh.

2019-08-20  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  tools/meson_aux: Use short options for some commands

  Posix does not support long options for the cp, rm and mkdir commands.
  See mm-common!1

2019-08-15  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Shell scripts: Don't hard-code the path of bash

  bash isn't always installed in /bin. Scripts which don't require bash
  to work are converted to use sh, while scripts requiring bash features
  are changed to use PATH to find bash.
  
  See the mm-common!1 MR.

2019-06-11  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  meson.build: *_DISABLED_DEPRECATED -> *_DISABLE_DEPRECATED

2019-05-20  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  README files: meson is the recommended build system

  * examples/book/buildapp/README:
  * README: meson, not autotools, is now the recommended build system.

2019-05-17  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Add meson.build files and auxiliary scripts for meson builds

  New files copied from git's master branch and modified where necessary.
  See the README file for instructions how to use it.

2019-05-17  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Remove obsolete and redundant README and TODO files

2019-04-14  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  buildapp examples: Add meson.build files

  * examples/book/buildapp/README: Describe how to build with meson and ninja.
  * examples/book/buildapp/step1/install-cmd.sh:
  * examples/book/buildapp/step[1-9]/meson.build: New files

2019-03-19  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  custom_widget example: Use Glib::ExtraClassInit

  Add MyExtraInit that calls gtk_widget_class_set_css_name() in the class init
  function and calls gtk_widget_set_has_window() in the instance init function.
  See glibmm#33