2026-06-30  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  4.14.0

2026-06-30  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Small fix of description of mmgir

2026-04-23  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  "Generating the .defs files" section: Describe mmgir

  See MR glibmm!71

2026-04-08  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Autotools build: Build Serbian translation

2026-03-28  Марко Костић  <marko.m.kostic@gmail.com>

  Update Serbian translation

2026-03-28  Марко Костић  <marko.m.kostic@gmail.com>

  Add Serbian translation

2025-12-22  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  examples/others/dnd: Avoid a segfault in on_image_drag_leave()

  The drop parameter is an empty RefPtr if the data has been dropped.

2025-12-22  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Talk about closing a window instead of hiding it

  Often Gtk::Application::make_window_and_run() + Gtk::Window::close()
  is a good way of showing and deleting a window.

2025-12-22  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  examples/book/[s-z]*, examples/others/*: Exit apps with close()

2025-12-22  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  examples/book/[c-r]*: Exit apps with close()

2025-12-19  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  examples/book/[ab]*: Exit apps with close() or remove_window()

  Usually set_visible(false) is not the best way of exiting an app.
  It does not work if set_remove_on_hide(false) has been called.
  For a managed window, not created by Builder, Window::close() is a good choice.
  This includes windows created with Application::make_window_and_run().
  In other cases, Window::unset_application() or Application::remove_window()
  can be used.

2025-12-05  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Toolbar example: Exit the app with unset_application()

  instead of set_visible(false). It works if set_remove_on_hide(false)
  has been called. See gtkmm#166.

2025-09-22  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Meson build: Use SPDX expression for license

  This is the recommended format.
  See https://gitlab.freedesktop.org/cairo/cairomm/-/merge_requests/33
  
  * meson.build: Set the license to the GNU Free Documentation License,
    which is what COPYING and index-in.docbook say.

2025-09-22  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Meson build: Use the Python installation that Meson uses

  See glibmm!67

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

  Add the examples/book/glarea program

  * examples/Makefile.am:
  * examples/book/meson.build: Add book/glarea example program.
  * examples/book/glarea/*: New files.
  
  The GLArea program is built only by Meson (not by Autotools)
  and only if epoxy and glm are installed.
  This program was provided by Petr Talla in issue #30.
  
  Fixes #30

2025-07-08  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  book/i18n example: Show how the program can set the locale

  * docs/tutorial/C/figures/i18n.png:
  * docs/tutorial/C/index-in.docbook: Small updates.
  * examples/book/i18n/examplewindow.[cc|h]:
  * examples/book/i18n/main.cc: Show how to set the locale, specified
  in a configuration file.
  
  Fixes #25

2025-05-25  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Remove obsolete FSF (Free Software Foundation) address in example programs

2025-05-21  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Add the "GNU Free Documentation License" appendix

  and update COPYING and COPYING.examples.

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

  Add others/webkit example

  Fixes #26 (sort of)

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

  Chapter 3. Basics: Use consistent file name

  Replace simple.cc by base.cc. That's what the file is called
  in examples/book/base.
  Fixes #29

2025-02-27  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Meson build: Don't use alias_target() when the examples can't be built

  alias_target() requires at least one dependency.

2025-02-26  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Update "The .hg and .ccg files" section

  Describe the declaration-prefix argument in the _CLASS_* macros and
  the decl_prefix argument in _WRAP_ENUM and _WRAP_GERROR.

2025-02-26  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Meson build: Use alias_target() for the "examples" target

2025-02-13  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Meson build: Add install_tag keyword argument, require meson >= 0.60

2025-01-30  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Meson build: Copy stylesheets, figures and icons to the build directory

  The html files can then be viewed correctly formatted without installing.

2025-01-30  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Meson build: Require meson version >= 0.58

  Remove the can_add_dist_script variable.

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

  CI: Update for the new release-service component

  citemplates/release-service is necessary when making a release.
  See https://handbook.gnome.org/maintainers/making-a-release.html

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

  sl.po: Remove an extraneous line

2025-01-06  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Drawing Curved Lines: Make some lines dashed

  Fixes #28

2025-01-06  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Add the C++ Resources section

  and avoid line-breaks in "C++" (like this: C+
  +).
  Update the link to Frequently Asked Questions, which have been copied from
  wiki.gnome.org to gtkmm.gnome.org and updated.

2024-12-26  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Update links for building gtkmm on Windows

  See #27

2024-12-26  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Update the Internationalization and Localization chapter

  * docs/tutorial/C/index-in.docbook:
  TextView chapter:
  Add links to the i18n example and to the TextView demo in gtkmm.
  I18n chapter:
  Update or remove obsolete links.
  Add an example program, inspired by Petr Talla's program in issue #25.
  * docs/tutorial/Makefile.am:
  * docs/tutorial/meson.build: Add figures/i18n.png.
  * examples/Makefile.am:
  * examples/book/meson.build: Add book/i18n example program.
  * docs/tutorial/C/figures/i18n.png:
  * examples/book/i18n/*.[h|cc]: New files.
  
  Fixes #25

2024-12-21  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Update the two Hello World figures

2024-12-18  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Replace gtkmm.org by gtkmm.gnome.org

2024-12-12  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  examples/others/exception: Use Gtk::make_managed()

  and make the conn_handler1 and conn_handler2 connections member data,
  so they still exist when they are used in signal handlers.

2024-11-12  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  RefPtr appendix: Make it clear that widgets don't use RefPtr

  Some Discourse entries show that it was not clear enough.
  https://discourse.gnome.org/t/glib-make-refptr-for-instance/24871
  https://discourse.gnome.org/t/instantiating-a-scrollable-gtk-grid/24980

2024-11-04  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  4.12.0

2024-10-28  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Makefile.am: Distribute new docs/tutorial/ files

  Distribute book.xsl, highlight.js/highlight.min.css and
  highlight.js/highlight.min.js.
  These files are used only when building with meson.

2024-10-27  sid  <sidtosh4@gmail.com>

  docbook: Remove newline after <code> which displays empty space on top of code snippets

  There were 130 instances. Replaced with emacs macros.

2024-10-27  sid  <sidtosh4@gmail.com>

  Fix the following hint messages while building pdf

  code: default template used in programlisting or screen
  function: default template used in programlisting or screen

2024-10-27  sid  <sidtosh4@gmail.com>

  Remove '\n' which displays empty space on top of example code

  Some code snippets (not included example files) still start on a new
  line in docbook. This is addressed in a subsequent commit.

2024-10-25  sid  <sidtosh4@gmail.com>

  docbook: Fix RELAX NG error (identified with jing)

  'xmllint' is pretty useless at reporting RELAX-NG errors, as it gives
  unrelated error hints and line numbers as below:
  
  docs/tutorial/index.docbook:10426: element para: Relax-NG validity error : Did not expect element para there
  docs/tutorial/index.docbook:10433: element section: Relax-NG validity error : Did not expect element section there
  docs/tutorial/index.docbook:10433: element section: Relax-NG validity error : Element chapter has extra content: section
  docs/tutorial/index.docbook:44: element info: Relax-NG validity error : Element book has extra content: info
  docs/tutorial/index.docbook fails to validate
  
  Refer https://github.com/NixOS/nixpkgs/issues/4966 for more details.
  
  With 'jing', the error was correctly identified as invalid use of
  &gtkmm; within <code> tag.
  
  $ jing https://docbook.org/xml/5.0/rng/docbook.rng docs/tutorial/index.docbook
  index.docbook:10504:40: error: element "application" not allowed here; expected the element end-tag, text or element "alt", "anchor", "annotation" ...

2024-10-25  sid  <sidtosh4@gmail.com>

  docbook: Add <code> tag after <pre> so highlight.js works for code snippets

  E.g:
  
  <pre>
    <code>
      actual code
    </code>
  </pre>
  
  The <pre> tags will be generated when <programlisting> is converted to HTML.
  
  Actual changes:
  
  - Substitute <programlisting> with <programlisting><code>
  - Substitute </programlisting> with </code></programlisting>

2024-10-25  sid  <sidtosh4@gmail.com>

  Add <code> tag after <pre> so highlight.js works for example code from files

  E.g:
  
  <pre>
    <code>
      actual code
    </code>
  </pre>
  
  The <pre> tags will be generated when <programlisting> is converted to HTML.

2024-10-25  sid  <sidtosh4@gmail.com>

  Add highlight.js support for all generated HTML files

  This commit adds the following code in the '<head>' tag of all
  generated HTML files, as shown below:
  
  --- a/chapter-basics.html
  +++ b/chapter-basics.html
  @@ -1,5 +1,12 @@
   <html>
   <head>
   <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  +  <link rel="stylesheet" href="highlight.min.css">
  +  <script src="highlight.min.js"></script>
  +  <script>
  +    hljs.configure({languages: ['cpp']});
  +    hljs.highlightAll();
  +  </script>
   <title>Chapter 3. Basics</title>
   <link rel="stylesheet" type="text/css" href="style.css">

2024-10-25  sid  <sidtosh4@gmail.com>

  Improve code visual parameters so it's not too small and crowded.

2024-10-25  sid  <sidtosh4@gmail.com>

  Add support for code syntax highlighting through highlight.js

  Adds highlight.js v11.9.0.
  
  I've evaluated the following 3 C++ highlighting CSS styles:
  
  - default.min.css (default C++ style provided by highlight.js)
  - intellij-light.min.css (intellij C++ style)
  - stackoverflow-light.min.css (stackoverflow C++ style)
  
  After a few tries in various pages, I settled upon intellij style, as
  it looked good and wasn't distracting (as with stackoverflow style
  sometimes with too much orange), and not too passive colors (as with
  default.min.css).
  
  So, the current 'highlight.min.css' is actually 'intellij-light.min.css'.
  
  Please feel free to modify in needed.

2024-08-23  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Add example and description of mouse events

  * docs/tutorial/C/index-in.docbook: Add Mouse Events section.
  * Rename docs/tutorial/C/figures/keyboardevents_simple.png -> events_simple.png
  * Rename docs/tutorial/C/figures/keyboardevents_propagation.png -> events_propagation.png
  * docs/tutorial/C/figures/events_mouse.png: New file.
  * docs/tutorial/Makefile.am:
  * docs/tutorial/meson.build:
  * examples/Makefile.am:
  * examples/book/meson.build: Rename and add files and directories.
  * Rename examples/book/keyboard_events -> events
  * Rename examples/book/events/simple -> keyboard_simple
  * Rename examples/book/events/propagation -> keyboard_propagation
  * examples/book/events/mouse/*: New example.
  
  Part of the new example program has been provided by Petr Talla.
  Fixes #23

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

  Don't refer to developer.gnome.org

  Require python3 >= 3.7. That's what Meson requires.

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

  Remove link to developer-old.gnome.org

  The glib-compile-resources command is not described there nowadays.
  Fixes #21

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

  CI: Don't allow the validation to fail

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

  Avoid <programlisting> elements within <para> elements

  In some situations the translation tools (itstool and friends)
  can't create translated index.docbook files if a <programlisting> element
  occurs in a <para> element. See !11
  
  A <programlisting> in a <para> can behave differently depending on which
  version of libxml2 is used. (itstool calls functions in libxml2.)
  Don't put any <programlisting> in a <para>.

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

  CI: Allow the validation to fail

  Allow the validation to fail until we have been able to figure out what's
  wrong with the Chinese translation. It does not fail in Ubuntu 24.04.
  Probably depends on which version of itstool is used.

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

  Examples: Use Gtk::SearchEntry2 if gtkmm-4.0 >= 4.13.2

  Affects examples book/buildapp/step6, step7, step8, step9 and book/searchbar.

2024-05-20  Dawid Chemloul  <lahouari.dc@gmail.com>

  Connected on_unbind_list_item to factory signal_unbind

2024-03-18  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  4.10.1

2023-12-11  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  meson.build: Don't fail if warning_level=everything

2023-11-01  Daniel Boles  <dboles.src@gmail.com>

  custom_container/mycontainer.cc: Tidy up measure()

  * Move `dummy_*_baseline` to point of use, renamed to `ignore`.
  * Avoid unneeded `height_per_child`; just divide `for_size` in-place.
  * Deduplicate two loops, one for each possible `Orientation`.
  * Use `std::max()`, instead of reinventing it.
  * Donʼt redundantly count nvis_children manually, in one of those loops!

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

  Add the PrintDialog section, show the PrintDialog example

  The PrintDialog section is rudimentary.

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

  Add printing/print_dialog example

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

  printing/advanced example: Don't use deprecated API

2023-07-24  Federico Gallo Herosa  <federico.gallo.herosa@gmail.com>

  Fix Ch13-Menus and Toolbars. Replace mention of non-existing class Gtk::EventControllerClick for Gtk::GestureClick

2023-07-12  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Remove AUTHORS and add general information to README.md

  See gtkmm#140

2023-07-12  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Update gtkmm-documentation.doap

2023-07-07  carvilsi  <carvilsi.mail.list@gmail.com>

  small improvement on togglebutton example

2023-06-28  Daniel Boles  <dboles.src@gmail.com>

  docbook: Add modest credit for myself in the intro

2023-06-27  Daniel Boles  <dboles.src@gmail.com>

  Add notes re widget destructor behaviour vs gtkmm3

  And move the glibmm reference link from its own line to the one above,
  & drop some blank lines within sections to make their boundaries clear

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

  Examples: Replace some sigc::mem_fun()s by lambda expressions

  See #10

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

  Examples: Replace most sigc::ptr_fun()s by lambda expressions

  See #10

2023-05-25  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Mention Cambalache instead of Glade

  Glade can't be used with gtk4/gtkmm4. Rename .glade files to .ui.
  Fixes #18

2023-05-25  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Rename .glade files to .ui

  Affects these examples/book directories:
  builder/basic, builder/derived, menus_and_toolbars
  See #18

2023-04-03  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  custom_css_name example: Add extern "C" and a comment

2023-03-16  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Fixes in "ListView, GridView, ColumnView" and "Event signals"

  * ListView, GridView, ColumnView: Add a link to "List Widget Overview"
  in docs.gtk.org.
  * Event signals: Add a call to set_propagation_phase() in the code
  snippet. Explain why it's needed.
  https://discourse.gnome.org/t/intermittent-gtk-gestureclick-signals-on-mac-m1-ventura/14393

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

  4.10.0

2023-03-05  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Add the "ListView, GridView, ColumnView" chapter

2023-03-05  Anders Jonsson  <anders.jonsson@norsjovallen.se>

  index-in.docbook: String fixes

  * Use American spelling
  * Typo fix
  * Split two words that were written together

2023-02-27  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Move some programs in examples/book/

  flowbox -> listbox_flowbox/flowbox
  listbox -> listbox_flowbox/listbox
  listmodel -> listbox_flowbox/listmodel
  gridview -> listmodelviews/gridview
  columnview_listview/* -> listmodelviews/*
  
  listbox_flowbox/ contains programs with ListBox and FlowBox.
  listmodelviews/ contains programs with GridView, ListView and ColumnView.

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

  Add 5 ColumnView and 2 ListView examples

  * examples/book/columnview_listview/list_columnview/
  * examples/book/columnview_listview/list_listview/
  * examples/book/columnview_listview/tree_columnview/
  * examples/book/columnview_listview/tree_listview/
  * examples/book/columnview_listview/editable_cells/
  * examples/book/columnview_listview/filter/
  * examples/book/columnview_listview/sort/

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

  treeview/editable_cells example: Small fixes

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

  Remove the book/buttons/volumebutton example

  * README.md: meson -> meson setup
  * docs/tutorial/C/index-in.docbook: Note that VolumeButton is deprecated.
  * examples/book/buttons/scalebutton/examplewindow.cc: Make it even more
  similar to VolumeButton.
  * examples/Makefile.am:
  * examples/book/meson.build: Remove book/buttons/volumebutton.
  * examples/book/buttons/volumebutton/*: Remove.
  * examples/book/dropdown/search_font/examplewindow.cc: Change a comment.

2023-02-13  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Add "The DropDown Widget" chapter

2023-02-11  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  index-in.docbook: More information about deprecated classes

  * docs/tutorial/C/index-in.docbook: Add more information about
  deprecated classes.
  * examples/book/printing/advanced/examplewindow.[cc|h]:
  * examples/book/printing/simple/examplewindow.[cc|h]:
  Use Label instead of deprecated Statusbar.
  * examples/Makefile.am:
  * examples/others/meson.build: Remove others/statusbar.
  * examples/others/statusbar/statusbar.cc: Remove.

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

  Custom CSS Names section and example: Show custom CSS class

2023-02-05  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Add 4 DropDown examples

  * examples/book/dropdown/complex/:
  * examples/book/dropdown/search_font/:
  * examples/book/dropdown/search_string/:
  * examples/book/dropdown/string/: New example programs.
  The DropDown widgets in these examples behave almost identically to
  the ones in the DropDown demo in gtkmm. The difference is that there
  is only one DropDown in each program.

2023-01-27  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Infobar example: Don't use deprecated Gtk::InfoBar

2023-01-26  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Move a <programlisting> out of <para>

  Trying to please itstool. See !11

2023-01-26  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Use Gtk::Window instead of Gtk::Dialog

  in examples/book/builder/basic, examples/book/builder/derived
  and examples/book/scrolledwindow.

2023-01-25  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Replace most Dialog examples, update the Dialogs chapter

  In examples/book/dialogs:
    messagedialog -> alertdialog
    colorchooserdialog -> colordialog
    filechooserdialog -> filedialog
    fontchooserdialog -> fontdialog
    simple -> windowdialog

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

  CI: Copy, don't move, from /usr/share/doc/gtkmm-4.0/tutorial

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

  Replace the IconView example by a GridView example

  * docs/tutorial/C/index-in.docbook: Add the "Deprecations in gtkmm 4.10"
  section. Update some links.
  * examples/Makefile.am:
  * examples/book/meson.build: Replace book/iconview/ by book/gridview/.
  * examples/book/iconview/*: Remove.
  * examples/book/gridview/*: Add.

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

  Printing examples: Don't use deprecated API

  * examples/book/printing/simple/: MessageDialog -> AlertDialog.
  * examples/book/printing/advanced/: MessageDialog -> AlertDialog,
  FontButton -> FontDialogButton.

2023-01-17  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  examples/book/recent_files etc.: Don't use deprecated API

  * docs/tutorial/C/index-in.docbook: Update the FileChooser section.
  * examples/book/buildapp/step5/exampleappprefs.[cc|h]:
  Use the Gio::Settings::find() overloads with mapping functions,
  if available.
  * examples/book/headerbar/examplewindow.[cc|h]: Use AlertDialog
  instead of MessageDialog.
  * examples/book/listbox/examplewindow.cc:
  * examples/book/range_widgets/examplewindow.cc: Use std::array.
  * examples/book/recent_files/examplewindow.[cc|h]: Use FileDialog
  instead of FileChooserDialog.

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

  examples/book/buildapp: Don't use deprecated API

  Replace Dialog -> Window, FontButton -> FontDialogButton,
  ComboBoxText -> DropDown + StringList

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

  examples/others: Remove arrow, cellrenderercustom, treemodelcustom, idle

  Gtk::Arrow was deprecated in gtkmm3, does not exist in gtkmm4.
  CellRenderers and TreeModels are deprecated since gtk/gtkmm 4.10.
  others/idle is similar to book/idle. No reason to keep both.

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

  configure.am, meson.build: Require gtkmm >= 4.9.2

2023-01-10  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Set warnings=max when testing a dist tarball

  Many example programs use API which is deprecated in gtk/gtkmm 4.10.
  It's no longer possible to build them with warnings=fatal.

2023-01-04  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  meson.build: Simplify lookup of python command

  See libsigcplusplus PR#83

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

  Update the others/window example

2022-12-22  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  4.0.3

2022-12-22  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Use set_visible() instead of show() and hide()

  Gtk::Widget::show() and hide() are deprecated since gtkmm 4.10.

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

  others/calendar: Don't use deprecated API if gtkmm >= 4.9.0

2022-12-12  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  ListBox, range widgets examples: Don't use deprecated ComboBox

  Use DropDown and StringList instead of ComboBox and ComboBoxText.

2022-12-11  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Paned, Popover, Revealer examples: Don't use deprecated API

  * examples/book/paned/messageslist.[cc|h]: Use ListView and StringList
  instead of TreeView and ListStore.
  * examples/book/popover/examplewindow.[cc|h]:
  * examples/book/revealer/examplewindow.cc|h]: Use DropDown and StringList
  instead of ComboBoxText.

2022-12-11  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Add the Custom CSS Names section

  and update the Custom Widgets section.

2022-12-11  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Add custom/custom_css_name example

  and modify custom/custom_widget example.
  Don't read style information from Gtk::StyleContext. It's deprecated.

2022-12-11  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  SearchBar, ActionBar examples: Don't use deprecated StyleContext

2022-10-24  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Update the "Contributing" chapter

  Change gtkmm-list to Discourse.
  The gtkmm-list will soon be closed for new contributions.

2022-10-10  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Update some links

  Avoid links to developer.gnome.org, where possible.
  Link to gnome.pages.gitlab.gnome.org/[glibmm,gtkmm,jhbuild].

2022-09-13  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Convert README to README.md

2022-09-13  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  TreeView DnD section: Drag-and-drop available since gtk 4.8.0

2022-08-14  Anders Jonsson  <anders.jonsson@norsjovallen.se>

  Typo and spacing fixes

2022-08-04  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  ComboBox and custom container examples: GTKMM_CHECK_VERSION(4,7,1)

  Gtk::Entry::signal_activate() and Gtk::Widget::signal_destroy() are
  available in gtkmm >= 4.7.1.

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

  Update the Custom Containers section

  Mention that the container must unparent its children.
  Also update the figure in the section.

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

  Update the custom container example

  If Widget::signal_destroy() exists, connect to it and create a managed
  custom container.

2022-08-01  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Update the custom container example

  Make it more similar to a GtkBox, using get_first_child(), insert_at_end()
  and similar Widget methods. It can have more than two children.

2022-07-17  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Update the Custom Widgets chapter

2022-07-17  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Update the Keyboard Events chapter

  Also update the figures in the chapter.

2022-07-17  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Keyboard event propagation example: Use in-class initializers

  and other minor changes.

2022-07-16  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Update appendixes A, B, F, G

  A. The RefPtr smartpointer
  B. Signals
  F. Working with gtkmm's Source Code
  G. Wrapping C Libraries with gmmproc

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

  Buildapp examples: Use in-class initializers

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

  Update chapters 19, 22, 23, 24, 28, 29

  19. Printing
  22. Timeouts, I/O and Idle Functions
  23. Memory management
  24. Glade and Gtk::Builder
  28. Recommended Techniques
  29. Building applications

2022-07-12  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Dialog examples: Small updates

  ColorChooserDialog, FileChooserDialog, FileChooserNative,
  FontChooserDialog, MessageDialog:
  Use std::make_unique. Print value of response_id if an unexpected
  button is clicked.

2022-07-12  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Update the "Dialogs" chapter

2022-07-11  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Menu examples: Use the templated Gtk::Builder::get_object<>()

  * examples/book/menus/main_menu/exampleapplication.cc:
  * examples/book/menus/popup/examplewindow.cc:
  * examples/book/menus_and_toolbars/examplewindow.cc:
  Use m_refBuilder->get_object<Gio::Menu>("menu"). That's what
  the tutorial describes.

2022-07-11  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Update chapters 11, 13, 14

  11. Combo Boxes
  13. Menus and Toolbars
  14. Adjustments

2022-07-11  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Update "The TreeView widget" chapter

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

  Update chapters 7 and 8

  7. Range Widgets
  8. Miscellaneous Widgets

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

  ComboBox examples: Use Gtk::EventcontrollerFocus

  * examples/book/combobox/entry_complex/examplewindow.[cc|h]:
  * examples/book/combobox/entry_text/examplewindow.[cc|h]:
  Use Gtk::EventcontrollerFocus::signal_leave() to be informed when the
  keyboard focus leaves the Entry widget. Use Gtk::Entry::signal_activate()
  if it exists, i.e. if gtkmm >= 4.8.0.

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

  Update the "Drag and Drop" chapter

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

  CI: Use Fedora 36

  and don't install just to build translations.
  It's not necessary now that gnome.yelp() is not used.

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

  meson.build: Avoid configuration warnings

2022-05-04  Bernhard M. Wiedemann  <bwiedemann@suse.de>

  Sort input file list

  so that `gtkmm-tutorial/index.docbook` builds in a reproducible way
  in spite of indeterministic filesystem readdir order
  and http://bugs.python.org/issue30461
  
  This PR was done while working on reproducible builds for openSUSE.

2022-03-28  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  application/menubar example: Make the keyboard shortcuts work

  and avoid the Gtk-CRITICAL message:
  gtk_widget_child_focus: assertion 'GTK_IS_WIDGET (widget)' failed
  by adding a child widget to the ExampleWindow.

2022-03-23  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  4.0.2

2022-03-23  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Update README

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

  Meson build: Add allow-network-access option

  If false, xmllint and xsltproc are not allowed to fetch files
  over the network, and gtkmm-documentation requires the docbook5-xml
  and docbook-xsl packages (Ubuntu names, can have other names in
  other distros).

2022-02-22  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Meson build: Don't use gnome.yelp()

  In Meson >= 0.61.0, gnome.yelp() can't be used on a generated
  XML file. See https://github.com/mesonbuild/meson/issues/10017

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

  CI: Install meson == 0.56.0

  The latest version of gnome.yelp() does not work with a generated
  XML input file (index.docbook, generated from index-in.docbook).

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

  CI: Install meson >= 0.56.0

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

  meson.build: Specify 'check' option in run_command()

  The default value will be changed in future Meson releases.
  
  Don't use deprecated python3.path() and execute(..., gui_app: ...).
  Let import('python').find_installation() always find the python
  installation used to run Meson.

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

  CI: Install docbook-style-xsl

  If docbook-style-xsl is installed, the xsltproc command reads stylesheets
  from local files instead of http://docbook.sourceforge.net.
  Faster and safer. Reading from docbook.sourceforge.net sometimes fails.

2021-11-26  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  "The .hg and .ccg files" section: Describe 'ignore_deprecations'

  ignore_deprecations is a new optional argument in _WRAP_METHOD().

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

  index-in.docbook: Recommend Meson instead of Autotools

  Modify
    2.2 "Installation", "Unix and Linux"
    3.2 "Basics", "Headers and Linking"
    25.1 "Internationalization and Localization", "Preparing your project"
    28 "Recommended Techniques"
  Describe building with Meson more, and building with Autotools less.

2021-09-27  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  docs/tutorial, Meson config: Check if xmllint can be used

2021-09-24  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  CI: Install the docbook5-schemas when validating

  Necessary after the upgrade to DocBook 5.0.

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

  Upgrade from DocBook 4.5 to DocBook 5.0

2021-09-15  DarkTrick  <notebook22312@gmail.com>

  PO-files: added: why `fuzzy` tag appears.

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

  CI: Run ninja install

  Translations are built only when the tutorial is installed.
  All documentation files are copied to one directory when the
  tutorial is installed, making it easy to move all necessary files
  to the public/ directory.

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

  CI: Fix the deploy stage

  See !13

2021-08-01  Emmanuele Bassi  <ebassi@gnome.org>

  Add a CI pipeline for building, validating, and publishing

  We run the build using Meson, split into three stages:
  
   - validation
   - build
   - deployment
  
  The validation phase runs the build with -Dvalidation=true; the build
  phase runs the build with just the HTML generation and without
  translations, for the moment; the deployment phase takes the build
  artifacts and publishes them on the GitLab pages space for the project.

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

  Python scripts: Specify file encoding

  The default file encoding is platform dependent in Python.
  Better specify encoding when text files are read or written.

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

  fix:some translations could not merge .

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

  fix some error(from msgfmt).

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

  translate changes.

2021-06-20  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Update the Basics chapter

  Fixes #15

2021-05-27  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Main menu example: Make the keyboard shortcuts work

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

  Subprojects can use meson.add_dist_script() if meson.version() >= 0.58.0

  * meson.build: Call add_dist_script() in a subproject, if
  meson.version() >= 0.58.0.
  * tools/meson_aux/extra-dist-cmd.py: Use MESON_PROJECT_DIST_ROOT if it
  exists, else MESON_DIST_ROOT. It exists if meson.version() >= 0.58.0.

2021-03-17  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  index-in.docbook: Update the link to the DTD file

  Fixes #14

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.

