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.

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.

