2021-02-23  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  4.0.1

2021-02-08  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Update the others/dnd example program

2021-01-21  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  docs/tutorial/C/figures: Remove unused figures, update some figures

2021-01-21  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  tools/make_screenshots: Update and translate to Python

  Replace the Perl and shell scripts by a Python script.
  Update the list of example programs to run.

2021-01-21  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Update Assistant example program

2021-01-13  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Update Builder ui files and AboutDialog example

  * examples/book/builder/basic/basic.glade:
  * examples/book/builder/derived/derived.glade:
  * examples/book/menus/main_menu/examplewindow.cc:
  * examples/book/menus_and_toolbars/toolbar.glade:
  * examples/book/printing/advanced/examplewindow.cc:
  * examples/book/printing/simple/examplewindow.cc: Remove <requires>
  elements. They make it difficult to use either e.g. gtk 3.98 or 4.0.
  You have to choose one major version or the other.
  * examples/book/dialogs/aboutdialog/examplewindow.cc:
  Simplify the call to set_logo().

2021-01-13  Daniel Mustieles  <daniel.mustieles@gmail.com>

  Update Spanish translation

2021-01-12  CCTV-1  <script.tar.gz@gmail.com>

  update the translation of the modified text.

2021-01-12  CCTV-1  <script.tar.gz@gmail.com>

  translate appendix G.

2021-01-10  CCTV-1  <script.tar.gz@gmail.com>

  translate appendix F.

2021-01-09  CCTV-1  <script.tar.gz@gmail.com>

  translate appendix E.

2021-01-09  CCTV-1  <script.tar.gz@gmail.com>

  translate appendix D.

2021-01-09  CCTV-1  <script.tar.gz@gmail.com>

  translate appendix C.

2021-01-08  CCTV-1  <script.tar.gz@gmail.com>

  translate appendix B.

2021-01-08  CCTV-1  <script.tar.gz@gmail.com>

  translate appendix A.

2021-01-08  CCTV-1  <script.tar.gz@gmail.com>

  translate chapter 30.

2021-01-08  CCTV-1  <script.tar.gz@gmail.com>

  translate chapter 29.

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

  "The .hg and .ccg files" section: Don't mention removed classes

  Update the examples in this section to show gtkmm4 rather than gtkmm3.
  
  Update names of enum constants in the "Printing" chapter.

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

  Avoid a translation problem with <programlisting>

  * docs/tutorial/C/index-in.docbook:
  Avoid <programlisting> elements within <para> elements.
  In some situations (not quite clear exactly which situations)
  the translation tools (itstool and friends) can't create translated
  index.docbook files if a <programlisting> element occurs in
  a <para> element. See MR !11

2021-01-07  CCTV-1  <script.tar.gz@gmail.com>

  translate chapter 28.

2021-01-06  CCTV-1  <script.tar.gz@gmail.com>

  translate chapter 27.

2021-01-06  CCTV-1  <script.tar.gz@gmail.com>

  translate chapter 26.

2021-01-05  CCTV-1  <script.tar.gz@gmail.com>

  translate chapter 25.

2021-01-04  CCTV-1  <script.tar.gz@gmail.com>

  translate chapter 24.

2021-01-04  CCTV-1  <script.tar.gz@gmail.com>

  translate chapter 23.

2021-01-04  CCTV-1  <script.tar.gz@gmail.com>

  translate chapter 22.

2021-01-04  CCTV-1  <script.tar.gz@gmail.com>

  translate chapter 21.

2021-01-03  CCTV-1  <script.tar.gz@gmail.com>

  translate chapter 20.

2021-01-02  CCTV-1  <script.tar.gz@gmail.com>

  translate chapter 19.

2021-01-02  CCTV-1  <script.tar.gz@gmail.com>

  translate chapter 18.

2021-01-02  CCTV-1  <script.tar.gz@gmail.com>

  translate chapter 17.

2021-01-01  CCTV-1  <script.tar.gz@gmail.com>

  translate chapter 16.

2020-12-31  CCTV-1  <script.tar.gz@gmail.com>

  translate chapter 15.

2020-12-31  CCTV-1  <script.tar.gz@gmail.com>

  translate chapter 14.

2020-12-30  CCTV-1  <script.tar.gz@gmail.com>

  translate chapter 13.

2020-12-30  CCTV-1  <script.tar.gz@gmail.com>

  translate chapter 12.

2020-12-30  CCTV-1  <script.tar.gz@gmail.com>

  fix typo and format file.

2020-12-30  CCTV-1  <script.tar.gz@gmail.com>

  translate chapter 11 and update some translation.

2020-12-29  CCTV-1  <script.tar.gz@gmail.com>

  translate chapter 10

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

  Meson build: Don't require gtkmm unconditionally

  Require gtkmm and giomm only if build-examples=true
  or a tarball is being built.

2020-12-27  CCTV-1  <script.tar.gz@gmail.com>

  format file

2020-12-27  CCTV-1  <script.tar.gz@gmail.com>

  translate chapter 9,fix merge error.

2020-12-24  CCTV-1  <script.tar.gz@gmail.com>

  fix invalid control sequence

2020-12-24  CCTV-1  <script.tar.gz@gmail.com>

  translate some chapter and fix syntax error.

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

  Update the Working with gtkmm's Source Code appendix

  Remove a dead link. Update some jhbuild info. Mention gnome-build-meta.

2020-12-23  CCTV-1  <script.tar.gz@gmail.com>

  update existing simplified chinese translation

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

  4.0.0

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

  Change GTK+ to GTK

  and add a note that not everything has been updated to gtkmm4.

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-12-11  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Use glibmm-2.68 instead of glibmm-2.66

  We have changed the ABI name in glibmm.

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

  Remove the FileChooserButton example

  Gtk::FileChooserButton has been removed from gtkmm.

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

  docs/tutorial/Makefile.am: Modify for Infrastructure/damned-lies

  * docs/tutorial/Makefile.am: Include help-files.am.
  * docs/tutorial/help-files.am: New file.
  
  A better fix for suiting damned-lies. Depends on a recent patch in
  damned-lies. See Infrastructure/damned-lies#58

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

  docs/tutorial/Makefile.am: Try to adapt to Infrastructure/damned-lies

  Infrastructure/damned-lies is confused by gtkmm-documentation's
  HELP_FILES = index.docbook, where the specified file is not stored
  in the git repo. Try to make it create a .pot file from the existing
  index-in.docbook.
  
  This is a crazy workaround for an old bug. Even if it works now,
  it may fail after even the slightest modification of
  Infrastructure/damned-lies/stats/utils.py.
  See Infrastructure/damned-lies#58 and gtkmm-documentation#13

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

  Improve the builder examples

  Read the .glade file in a Gio::Application::signal_activate() handler.

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

  Use Gtk::Application::make_window_and_run()

  and other necessary changes after recent changes in gtk and gtkmm.

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-09-03  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Update after Gtk::RadioButton has been removed

  The RadioButton class has been removed. CheckButtons and ToggleButtons
  act as radio buttons, if they make up a group.
  Update example programs and the Buttons chapter.

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

  Remove description of Gtk::Container

  Gtk::Container has been removed. Describe that most container widgets
  now derive directly from Gtk::Widget. Gtk::Container::add() has been
  replaced by Gtk::Box::append() and other methods.

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-08-05  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  entry/completion example: Remove actions

  and other changes due to changes in gtk and gtkmm.
  
  * configure.ac:
  * meson.build: Don't disable deprecated atkmm API. Gtkmm does not
  depend on atkmm any more.
  * examples/book/buildapp/step[5-9]/prefs.ui: Rename some
  Gtk::GridLayout properties.
  * examples/book/entry/completion/examplewindow.[cc|h]: Remove actions.
  Gtk::EntryCompletion does not handle actions.
  * examples/others/cellrenderercustom/cellrendererpopup.cc:
  Don't use the removed Gdk::Display::get_default_group().

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

  Update the Building applications chapter

  Update similarly to the description in docs/reference/gtk/getting_started.md
  in the GTK module. Update the figures.

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-07-08  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  The .hg and .ccg files section: Remove description of CHILD_PROPERTY

  There are no child properties in gtk4 and gtkmm4.

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

  index-in.docbook: Don't try to show removed app_menu.ui file

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

  Fix clipboard example programs

  and some other example programs.
  
  * examples/book/buildapp/step9/exampleappwindow.cc:
  * examples/book/buildapp/step9/window.ui: Show window icon.
  * examples/book/buttons/radiobutton/radiobuttons.cc: Only one pressed
  button when the program starts up.
  * examples/book/clipboard/ideal/examplewindow.[cc|h]:
  * examples/book/clipboard/simple/examplewindow.[cc|h]: Store copied text
  until someone has a chance to paste it.
  * examples/book/treeview/filter_modify/examplewindow.cc: Fix some TODO
  comments.

2020-05-30  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  examples/book/buildapp: Update Makefile.am and Makefile.example

  Should have been done in the previous commit when app_menu.ui files
  were removed.

2020-05-29  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  examples: Don't use application menus

  Application menus have been removed from gtk and gtkmm.
  Use window menus (menubars).
  
  * examples/book/buildapp: Remove all app_menu.ui and move the menu items
  to gears_menu.ui. (Move from application menu to window menu.)
  * examples/book/application: Rename app_and_win_menus to menubar.
  * examples/book/menus/main_menu/exampleapplication.cc:
  Use ApplicationWindow::set_show_menubar().

2020-05-26  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  example programs: Use Glib::make_refptr_for_instance() in create()

  create() methods that return a Glib::RefPtr must use
  Glib::make_refptr_for_instance().

2020-05-26  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  examples/others/*: Update some examples after Gtk::Container was removed

  This commit fixes example programs in examples/others/*.
  All these programs can be compiled and linked with the latest gtkmm and a
  gtk from May 22. They are not guarateed to work.

2020-05-26  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  examples/book/[o-z]*: Update some examples after Gtk::Container was removed

  This commit fixes example programs in examples/book/[o-z]*.
  (Actually there are programs only in the interval [p-u].)
  All these programs can be compiled and linked with the latest gtkmm and a
  gtk from May 22. A few programs do not work fully.

2020-05-26  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  examples/book/[e-n]*: Update some examples after Gtk::Container was removed

  This commit fixes example programs in examples/book/[e-n]*,
  i.e. subdirectories with names beginning with e through n, inclusive.
  All these programs can be compiled and linked with the latest gtkmm and a
  gtk from May 22. A few programs does not work fully.

2020-05-26  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  examples/book/[cd]*: Update some examples after Gtk::Container was removed

  Gtk::Bin, Gtk::Container and Gtk::Dialog::run() have been removed.
  This removal affects most example programs. This commit fixes
  example programs in examples/book/[cd]*, i.e. subdirectories with names
  beginning with c or d.
  Some of these examples contain dialogs. Modal dialogs became more
  complicated when gtk_dialog_run() and Gtk::Dialog::run() were removed.

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

  examples/book/[ab]*: Update some examples after Gtk::Container was removed

  Gtk::Bin, Gtk::Container and Gtk::Dialog::run() have been removed.
  This huge removal affects most example programs. This commit fixes
  example programs in examples/book/[ab]*, i.e. subdirectories with names
  beginning with a or b.

2020-04-27  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  examples: Update for latest gtkmm4 (remove Gtk::ShadowType, etc.)

  * examples/book/label/examplewindow.cc: Label::set_pattern() is replaced
  by Pango markup to get underlined text.
  * examples/book/popover/examplewindow.[cc|h]: The ToggleButton has been
  replaced by a MenuButton. gtk_get_current_event() has been removed in gtk,
  which made it more difficult to decide where to show a Popover when
  a day is selected.
  
  Minor changes in several other example programs.

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

  Keyboard events example: Update a ModifierType mask

  Gdk::ModifierType::MOD1_MASK has been renamed to ALT_MASK.

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>

  Use glibmm-2.66 instead of glibmm-2.64

  We have changed the ABI name in glibmm.

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

  examples: Update for latest gtkmm4 (remove property_margin(), etc.)

  * examples/book/drag_and_drop/dndwindow.[cc|h]:
  * examples/others/dnd/dndwindow.[cc|h]: Drag-and-drop has been modified
  in gtk and gtkmm. These DnD examples can now be compiled, but they don't
  fully work. Neither does tests/testdnd.c in gtk.
  
  Widget::property_margin() and property_expand() have been removed.
  It affects many .ui files and ui_info strings.

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

  examples: Update for latest gtkmm4 (no Gdk::EventButton, etc.)

  * examples/book/buttons/filechooserbutton/examplewindow.cc:
  Don't use removed Gtk::FileChooser::set_local_only().
  * examples/book/dialogs/filechooserdialog/examplewindow.cc:
  * examples/book/dialogs/filechoosernative/examplewindow.cc:
  * examples/book/recent_files/examplewindow.cc:
  Use FileChooser::get_file() instead of removed get_filename().
  * examples/book/drag_and_drop/dndwindow.[cc|h]:
  Use Gtk::DragSource::signal_prepare() instead of removed
  Gdk::ContentProvider::create() with callback function.
  * examples/book/infobar/examplewindow.cc: Use Gtk::Container::add()
  instead of removed Gtk::InfoBar::get_content_area().
  * examples/book/popover/examplewindow.cc: Don't cast the Gdk::Event to a
  subclass. Gdk::Event does not have subclasses now.
  * examples/book/treeview/drag_and_drop/treemodel_dnd.[cc|h]:
  Gtk::TreeDragDest::row_drop_possible_vfunc() has got a changed signature
  (Glib::ValueBase& instead of Gtk::SelectionData&).
  * examples/others/cellrenderercustom/cellrendererpopup.cc:
  * examples/others/cellrenderercustom/popupentry.cc:
  * examples/others/dnd/dndwindow.cc: The Gtk::Window ctor has no
  WindowType argument.

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

  3.97.1

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

  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  <kjellahlstedt@gmail.com>

  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  <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-22  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Update drag-and-drop examples

  Use Gtk::DragSource and DropTarget.

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

  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  <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-12-14  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

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

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

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

  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  <dboles.src@gmail.com>

  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  <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...
  
  Close 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.
  
  Close 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.
  
  Close 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.
  
  Close https://gitlab.gnome.org/GNOME/gtkmm-documentation/merge_requests/5

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

  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  <kjellahlstedt@gmail.com>

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

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

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

  Use glibmm-2.64 instead of glibmm-2.62

  We have changed the ABI name in glibmm.

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

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

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-07-02  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

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

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

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

  Add a DerivedButton that contains Glib::Property members.

2019-06-23  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-06-11  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  meson.build: *_DISABLED_DEPRECATED -> *_DISABLE_DEPRECATED

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

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

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

  Builder examples: Remove can_default from the .glade files

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

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

  and calls to get_widget_derived() and get_object().

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

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

  Remove obsolete and redundant README and TODO files

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

  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  <kjellahlstedt@gmail.com>

  meson.build: Use gnome.yelp()

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

  3.95.1

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

  examples: Use Gtk::Window::set_default_widget()

  Use Gtk::Window::set_default_widget() instead of the deleted
  Gtk::Widget::set_can_default() and grab_default().

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

  meson.build: Build PDF file with dblatex

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

  Remove ChangeLog.pre-3-8-0

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

  Update the meson.build files and the auxiliary scripts

  meson+ninja can now validate XML files and build a PDF file.

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

  examples: Don't use removed Gdk::Surface::invalidate_rect()

  Use Gtk::Widget::queue_draw() instead of Gdk::Surface::invalidate_rect().
  Use Gtk::CssSection::get_[start|end]_location() instead of
  get_[start|end]_[line|position]().
  Use Gtk::Widget::get_parent()+get_surface() instead of get_parent_surface().
  The replaced methods have been removed from gtkmm4.

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

  index-in.docbook: Add some <keycap> tags

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

  index-in.docbook: Fix some validation errors

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

  Add meson.build files and auxiliary scripts for meson builds

  This is experimental and incomplete, but hopefully useful.
  See the README file for instructions how to use it.

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-04-12  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  examples: Update .ui files

  and .glade files, and .cc files with ui strings.

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

  examples: Update for the latest gtkmm-4

  * examples/book/searchbar/examplewindow.[cc|h]:
  Use Gtk::SearchBar::set_key_capture_widget() instead of the removed
  Gtk::SearchBar::handle_event().
  * examples/others/cellrenderercustom/cellrendererpopup.cc:
  * examples/others/cellrenderercustom/popupentry.cc: Don't call the removed
  Gtk::Window::move().

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

  Use glibmm-2.62 instead of glibmm-2.60

  We have changed the ABI name in glibmm.

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

  examples: Update for the latest gtkmm-4

  * examples/book/assistant/exampleassistant.cc:
  Gtk::Assistant::PageType -> Gtk::AssistantPage::Type.
  * examples/book/combobox/entry_complex/examplewindow.[cc|h]:
  * examples/book/combobox/entry_text/examplewindow.[cc|h]:
  * examples/book/headerbar/examplewindow.[cc|h]:
  * examples/others/cellrenderercustom/popupentry.cc:
  Gtk::Entry::signal_activate() has been removed.
  * examples/book/custom/custom_widget/mywidget.cc: Use Gtk::Widget::
  register_surface() instead of the removed Gdk::Surface::set_user_data().

2019-03-07  Piotr Drąg  <piotrdrag@gmail.com>

  Fix broken XML tags in Czech help translation

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

  Update Multiple-Item Containers section

  Gtk::Box::pack_start(), pack_end() and Gtk::ButtonBox have been removed.
  Minor updates of other parts of the tutorial due to the removal of
  pack_start() and pack_end().

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

  examples: Use Gtk::Box instead of Gtk::ButtonBox

  And remove the ButtonBox example.

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

  Update the book/buildapp examples

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

  examples: Use Gtk::Container::add() instead of Gtk::Box::pack_start()

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

  Appendix G: Update the description of _WRAP_ENUM

  Add description of the gtype_func and CONV_TO_INT arguments.

2018-12-16  Andre Klapper  <a9016009@gmx.de>

  Comment invalid <category> in DOAP file to pass git pre-receive hook

2018-11-25  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Update the keyboard_events/propagation example

  Show what happens in the three event propagation phases.
  Event propagation in gtk+4 is different from event propagation in gtk+3.

2018-11-22  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Update the "Changes in gtkmm-4.0 and glibmm-2.60" chapter

2018-11-20  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Update custom and treeview_popup examples

  * examples/book/custom/custom_container/mycontainer.[cc|h]:
  * examples/book/custom/custom_widget/mywidget.[cc|h]: on_size_allocate() now
  takes two ints instead of one Gtk::Allocation.
  * examples/book/treeview/popup/treeview_withpopup.[cc|h]: Replace on_event()
  by a Gtk::GestureMultiPress instance.

2018-11-13  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Fix the listmodel example

  MyObject::create() must call Glib::make_refptr_for_instance().

2018-11-10  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Replace most Gtk::manage() calls with Gtk::make_managed()

2018-11-08  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Create only .tar.xz tarballs

  * configure.ac: This is what ftp.gnome.org wants, so this avoids
  it doing any repackaging. This is what gtkmm does.

2018-11-08  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Use glibmm-2.60 instead of glibmm-2.58

  We have changed the ABI name in glibmm.

2018-11-08  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Avoid '<' and '>' in code snippets in the docbook file

  Use &lt; and &gt; except in CDATA sections.

2018-11-07  Daniel Boles  <dboles.src@gmail.com>

  Use auto more, removing lots of verbose type noise

2018-11-07  Daniel Boles  <dboles.src@gmail.com>

  Document the new make_managed() & prefer to use it

  This performs creation and manage()ment in a single step and therefore
  avoids the user having to write the discouraged new operator, looks more
  like Standard C++ things like make_shared(), etc. So, move our examples
  to it, and elaborate on why it is preferable to manage() or new/delete.
  
  https://gitlab.gnome.org/GNOME/gtkmm/issues/33

2018-10-27  Daniel Boles  <dboles.src@gmail.com>

  Clarify that user sometimes must delete if managed

  container.ccg remembers whether the object was originally un-floated by
  Gtk::manage() and, if so, restores that state during Container.remove(),
  with the result that the removed widget is *not* deleted, as it would be
  in GTK+, but instead it is re-floated and requires the user to deal with
  (e.g. to add it to some other container or to finally call delete on it)
  
  This is documented in container.hg but nowhere that I can see in our
  tutorial, and I think it is worth mentioning here, since it is not
  completely intuitive: users might otherwise think that the fact manage()
  delegates lifetime management to the Container means they get back the
  same behaviour of C widgets, i.e. that remove() would cause destruction,
  but of course that is not the case, and we might thus encourage leaks.
  
  So mention that manage() only relieves the user of the burden of calling
  delete if they add the widget to a parent and do not remove it later, in
  both the Memory Management section and the part about deleting wrappers.

2018-10-26  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  configure.ac: Update bug report address

2018-08-25  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Update the others/dnd example

2018-07-30  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Update the Drag and Drop chapter and the Clipboard chapter

2018-07-24  Daniel Mustieles  <daniel.mustieles.contractor@bbva.com>

  Updated Spanish translation

2018-07-03  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Gdk::DragContext has been split into Gdk::Drag and Gdk::Drop

2018-05-31  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Fix a broken link to www.gtkmm.org

  Fixes #2

2018-05-29  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Replace signal_key_press_event() by Gtk::EventControllerKey

2018-05-24  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Update calls to Gtk::Snapshot::append_cairo()

  The 'name' parameter has been dropped from append_cairo().

2018-05-15  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Update the DrawingArea Widget chapter

2018-05-08  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Update the Custom Widgets chapter

2018-04-19  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  custom_widget example: Don't use Gtk::WidgetCustomSnapshot

  WidgetCustomSnapshot has been removed. snapshot_vfunc() is now
  a member of Gtk::Widget.

2018-04-17  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Update custom container, custom widget and advanced printing examples

  Update for the latest gtk+4 and gtkmm-4 changes, such as removed
  Gtk::WidgetCustomDraw, Widget::set_realized(), Widget::get_clip() and
  Gdk::Surface::create_similar_image_surface(),
  modified Widget::signal_size_allocate().

2018-04-16  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Require C++17

  Because libsigc++-3.0 (and therefore gtkmm-4.0) now requires C++17.
  Require glibmm-2.58 >= 2.57.1 and gtkmm-4.0 >= 3.93.0

2018-04-04  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Update for the latest gtk+4 and gtkmm4 (Gdk::Surface etc.)

  Gdk::Window has been renamed. It's now called Gdk::Surface.
  Gtk::Snapshot is now a ref counted Glib::Object.
  Gdk::Texture implements the Gdk::Paintable interface.

2018-04-02  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Use glibmm-2.58 instead of glibmm-2.56

  We have changed the ABI name in glibmm.

2018-02-19  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Update the RefPtr appendix

  Glib::RefPtr is now an alias for std::shared_ptr.

2018-02-19  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Fix a doubly-defined section id

  The previous commit introduced a section id, which was already used.

2018-02-08  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Update RecentFiles example, remove ToolPalette example

  The Gtk::RecentChooser interface and classes that implemented that
  interface have been removed. Use FileChooserDialog to show the list of
  recently used files.
  
  Gtk::ToolPalette has been removed. Remove the ToolPalette example.
  
  * docs/tutorial/C/index-in.docbook: Update the Recently Used Documents
  chapter. Remove the ToolPalette chapter.

2018-01-22  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Don't use the deprecated Gtk::Widget::signal_event()

  * examples/book/combobox/entry_complex/examplewindow.[cc|h]:
  * examples/book/combobox/entry_text/examplewindow.[cc|h]:
  Use Gtk::Widget::property_has_focus()::signal_changed() to see lost
  keyboard focus.
  * examples/book/menus/popup/examplewindow.[cc|h]:
  * examples/others/cellrenderercustom/cellrendererlist.[cc|h]:
  * examples/others/cellrenderercustom/cellrendererpopup.[cc|h]:
  Use Gtk::GestureMultiPress::signal_pressed() or signal_released() to see
  mouse button press or release.

2018-01-19  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Adapt to latest versions of gtk+ and gtkmm (event signals)

  Most event signals have been removed. Use Widget::signal_event() instead.
  GtkWidget::event and signal_event() are deprecated. They may soon be
  replaced by something else.

2018-01-15  Daniel Boles  <dboles.src@gmail.com>

  Fix typo in my recent ColumnRecord commit

  Thanks to Kjell for pointing this out.
  
  https://bugzilla.gnome.org/show_bug.cgi?id=792482#c10

2018-01-14  Daniel Boles  <dboles.src@gmail.com>

  Fix 2 typos of slot_callbback => slot_callback

2018-01-14  Daniel Boles  <dboles.src@gmail.com>

  Don’t write main() without a return type

  Yikes! That’s not C++.

2018-01-14  Daniel Boles  <dboles.src@gmail.com>

  Clarify: ColumnRecords can be static *singletons*

  Sharing these between models is highly desirable as it can avoid a lot
  of work and waste. So, take the para warning about not making static
  ColumnRecords, and reword it to explain why you probably wanted a static
  one and what the real solution is.
  
  https://bugzilla.gnome.org/show_bug.cgi?id=792482

2018-01-12  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Update many example programs, Gdk::Event is ref counted

  Gdk::Event and its subclasses are reference counted.

2018-01-12  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Remove the PlacesSidebar example

  Gtk::PlacesSidebar has been removed. GdkPlacesSidebar is no longer
  public API.

2018-01-12  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Update ToolPalette example

  Gtk::IconTheme::load_icon() now returns a constant pixbuf.

2017-12-29  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Update the giomm/monitor_directory example

2017-12-27  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Adapt to latest versions of gtk+ and gtkmm (Clipboard, DnD)

  Many changes in clipboard and drag-and-drop.
  Gtk::FontButton::set/get/property_font_name() are gone.
  Use Gtk::FontChooser::set/get/property_font() instead.
  Gtk::HeaderBar::set/get/property_show_close_button() have been renamed to
  set/get/property_show_title_buttons().
  Added some #undef GTKMM_DISABLE_DEPRECATED until we know what to use
  instead of deprecated event signals.

2017-11-24  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Use Gdk::ContentFormats instead of Gtk::TargetList

  Gtk::TargetEntry and Gtk::TargetList have been replaced by
  Gdk::ContentFormats and Gtk::ContentFormatsBuilder.
  Class Gtk::IconSize has been removed, and enum BuiltinIconSize has been
  renamed to IconSize.

2017-11-15  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Add description of voidreturn parameter in _WRAP_METHOD_DOCS_ONLY

  Bug 787978

2017-11-15  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Clarify when the user shall delete the wrap() result

  There are situations when the user is responsible for deleting
  the wrap() result. Bug 788646

2017-11-15  Daniel Boles  <dboles.src@gmail.com>

  Mixing C & C++: Clarify ownership of wrap() result

  Make it clear that wrap() returns a pointer to an instance owned by
  glibmm, so users should not try to delete it. Also mention the effect on
  refcount, i.e. nothing if (!take_copy). Finally, show the C++ instance
  actually being used (though a better example would show more advantage).
  
  While here, I split the long paragraphs for readability & to help git, &
  add some missing <classname>/<function> tags for readability/semantics.
  
  https://bugzilla.gnome.org/show_bug.cgi?id=788646

2017-11-13  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Window icons and AboutDialog logos are Gdk::Texture

  They were recently changed from Gdk::Pixbuf to Cairo::Surface.
  Now they have become Gdk::Texture.

2017-11-03  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Adapt to latest versions of gtk+ and gtkmm

  Window icons and AboutDialog logos are cairo surfaces.
  Gdk::Screen is gone. It's replaced by Gdk::Display.

2017-11-01  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Fix buildapp/Makefile.am and buildapp/README

  * examples/book/buildapp/Makefile.am: Fix the build of resources.c in
  steps 8 and 9.
  * examples/book/buildapp/README: Describe how to make the application
  find the saved preferences.

2017-10-24  Mario Blättermann  <mario.blaettermann@gmail.com>

  Update German translation

2017-10-17  Marek Cernocky  <marek_cernocky@conel.cz>

  Fixed Czech translation

2017-10-14  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Adapt to some Gdk::Event& (and subclasses) parameters as const&

  Bug 135978

2017-10-14  Marek Cernocky  <marek_cernocky@conel.cz>

  Updated Czech translation

2017-10-08  Marek Cernocky  <marek_cernocky@conel.cz>

  Updated Czech translation

2017-10-06  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Adapt to latest version of Gdk::Event and its subclasses

  Gdk::Event and its subclasses have been modified because GdkEvent and
  its subclasses are now opaque structs, accessible only via gtk+ functions.

2017-09-29  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Update description of the errthrow parameter in _WRAP_METHOD

  In _WRAP_METHOD[_DOCS_ONLY], the errthrow parameter can now contain an
  optional list of exceptions. Bug 787979

2017-09-21  Marek Cernocky  <marek_cernocky@conel.cz>

  Czech translation

