2020-02-16  Kjell Ahlstedt  <[email protected]>

 3.97.1

2020-02-15  Kjell Ahlstedt  <[email protected]>

 Update for gtk 3.98.0 and gtkmm 3.97.1

 * configure.ac:
 * meson.build: Require gtkmm >= 3.97.1
 * Examples with toolbars: Replace removed Toolbar and *ToolButton
   by Box and *Button.
 * examples/book/update_ui/examplewindow.cc: Replace
   Gtk::Main:events_pending() and iterator() by Glib::MainContext::pending()
   and MainContext::iteration().
 * examples/others/calendar/calendar.cc: Use Gtk::Calendar::set_show_heading()
   etc. instead of the removed Calendar::DisplayOptions.
   Use Glib::DateTime instead of Glib::Date.

2020-02-07  Kjell Ahlstedt  <[email protected]>

 Update some buildapp examples

 Use Gtk::IconTheme::get_for_display() instead of the removed get_default().
 Don't use the removed use-popover property in window.ui.

2020-02-02  Kjell Ahlstedt  <[email protected]>

 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-22  Kjell Ahlstedt  <[email protected]>

 Update drag-and-drop examples

 Use Gtk::DragSource and DropTarget.

2020-01-12  Kjell Ahlstedt  <[email protected]>

 examples: Update to latest gtkmm4 (removed Gtk::Menu, etc.)

 Use Gtk::PopoverMenu and Gtk::PopoverMenuBar instead of the removed
 Gtk::Menu and Gtk::MenuBar.

2020-01-07  Kjell Ahlstedt  <[email protected]>

 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  <[email protected]>

 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-12-14  Kjell Ahlstedt  <[email protected]>

 examples: Replace Glib::Exception by Glib::Error

 Glib::Exception has been removed. See glibmm#23.

2019-11-27  Kjell Ahlstedt  <[email protected]>

 Update description of some gmmproc macros

 The .hg and .ccg files section: Update the description of _CUSTOM_CTOR_CAST
 and _CUSTOM_MOVE_OPERATIONS.

2019-11-25  Daniel Boles  <[email protected]>

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

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

2019-11-25  Daniel Boles  <[email protected]>

 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...

 Close https://gitlab.gnome.org/GNOME/gtkmm-documentation/merge_requests/6

2019-11-25  Daniel Boles  <[email protected]>

 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.

 Close https://gitlab.gnome.org/GNOME/gtkmm-documentation/merge_requests/6

2019-11-25  Daniel Boles  <[email protected]>

 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.

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

2019-11-25  Daniel Boles  <[email protected]>

 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.

 Close https://gitlab.gnome.org/GNOME/gtkmm-documentation/merge_requests/5

2019-11-25  Daniel Boles  <[email protected]>

 Assign to mem from get_widget() in ctor init list,

 because that avoids it pointlessly having a transient value of nullptr.

2019-11-18  Kjell Ahlstedt  <[email protected]>

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

2019-11-14  Kjell Ahlstedt  <[email protected]>

 buildapp: Update description of Gtk::Window::set_application()

 * examples/book/buildapp/step[1,2,4,5]/exampleapplication.cc: Update the
 comment in create_appwindow() that describes Gtk::Application::add_window()
 and Gtk::Window::set_application(). Now they behave the same
 as a result of issue gtkmm#56.

2019-10-09  Kjell Ahlstedt  <[email protected]>

 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  <[email protected]>

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

2019-10-09  Kjell Ahlstedt  <[email protected]>

 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  <[email protected]>

 Makefile.am: Distribute files needed when building with Meson

2019-10-04  Kjell Ahlstedt  <[email protected]>

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

2019-10-01  Kjell Ahlstedt  <[email protected]>

 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  <[email protected]>

 Use glibmm-2.64 instead of glibmm-2.62

 We have changed the ABI name in glibmm.

2019-09-19  Kjell Ahlstedt  <[email protected]>

 examples: Gtk::Label::set_line_wrap() -> set_wrap()

2019-09-03  Kjell Ahlstedt  <[email protected]>

 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  <[email protected]>

 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  <[email protected]>

 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-07-02  Kjell Ahlstedt  <[email protected]>

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

2019-06-27  Kjell Ahlstedt  <[email protected]>

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

 Add a DerivedButton that contains Glib::Property members.

2019-06-23  Kjell Ahlstedt  <[email protected]>

 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-06-11  Kjell Ahlstedt  <[email protected]>

 meson.build: *_DISABLED_DEPRECATED -> *_DISABLE_DEPRECATED

2019-06-04  Kjell Ahlstedt  <[email protected]>

 examples: Update to latest gtkmm4 (Gtk::GestureClick, etc.)

2019-05-22  Kjell Ahlstedt  <[email protected]>

 Builder examples: Remove can_default from the .glade files

2019-05-22  Kjell Ahlstedt  <[email protected]>

 index-in.docbook: Update calls to Gtk::Builder::get_widget()

 and calls to get_widget_derived() and get_object().

2019-05-22  Kjell Ahlstedt  <[email protected]>

 examples: Update calls to Gtk::Builder::get_widget()

 and calls to get_widget_derived() and get_object().

 widget = get_widget<WidgetType>("name") instead of get_widget("name", widget).

2019-05-20  Kjell Ahlstedt  <[email protected]>

 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  <[email protected]>

 Remove obsolete and redundant README and TODO files

2019-05-15  Kjell Ahlstedt  <[email protected]>

 meson.build: "ninja test" builds the example programs

 That's mainly because "ninja dist" shall check that the example programs
 can be built. The dist-warnings and build-dist-examples options are removed.
 It's not safe to try to detect distribution-in-progress the way it was done.

2019-05-12  Kjell Ahlstedt  <[email protected]>

 meson.build: Use gnome.yelp()