summaryrefslogtreecommitdiff
path: root/gio/giomm
Commit message (Collapse)AuthorAgeFilesLines
* Add Gio::BytesIconKjell Ahlstedt2022-12-021-0/+1
| | | | | | | | | | | | | * gio/giomm.h: * gio/giomm/meson.build: * gio/src/filelist.am: Add BytesIcon. * glib/src/bytes.[ccg|hg]: Add Glib::Value specialization. Required by _WRAP_PROPERTY in bytesicon.hg. * tools/extra_defs_gen/generate_defs_gio.cc: Add G_TYPE_BYTES_ICON. * gio/src/gio_signals.defs: Add BytesIcon property. * gio/src/bytesicon.[ccg|hg]: New files. Fixes #107
* Add Gio::AppInfoMonitorKjell Ahlstedt2022-02-161-1/+2
| | | | Fixes #97
* meson.build: Specify 'check' option in run_command()Kjell Ahlstedt2022-02-141-2/+3
| | | | | | The default value will be changed in future Meson releases. Don't use deprecated python3.path() and execute(..., gui_app: ...).
* Declare some copy assignment operators deleted (=delete)Kjell Ahlstedt2021-08-271-1/+1
| | | | | | | | Avoid warnings from the clang++ compiler. It's deprecated in C++ to implicitly declare a copy constructor, if there is a user-defined copy assignment operator. Instead of declaring copy assignment operators private without implementation, declare them deleted.
* Don't mark the Glib::Source class with GLIBMM_APIChun-wei Fan2021-05-071-7/+7
| | | | | | | Instead, mark the individual members with GLIBMM_API so that we avoid having the code tied to a particular STL and compiler version. Update the classes that derive from Glib::Source accordingly as well
* Subprojects can use meson.add_dist_script() if meson.version() >= 0.58.0Kjell Ahlstedt2021-05-051-3/+2
| | | | | | | | | | | * meson.build: * docs/reference/meson.build: * gio/giomm/meson.build: * glib/glibmm/meson.build: Call add_dist_script() in a subproject, if meson.version() >= 0.58.0. * tools/build_scripts/handle-built-files.py: Use MESON_PROJECT_DIST_ROOT if it exists, else MESON_DIST_ROOT. It exists if meson.version() >= 0.58.0.
* Meson build: No implicit_include_directoriesKjell Ahlstedt2021-03-261-0/+2
| | | | | | | It shall not be possible to find a glibmm header file with #include <xxx.h> instead of #include <glibmm/xxx.h>. Not fully fixed until https://github.com/mesonbuild/meson/issues/8562 has been fixed.
* Meson build: Make it possible to use glibmm as a subprojectKjell Ahlstedt2021-03-121-4/+4
| | | | glib and sigc++ can be subprojects of glibmm.
* Meson build: Use relative paths to untracked/Kjell Ahlstedt2021-02-241-2/+3
| | | | | | | The paths to the source code in untracked/ shall be relative to the meson.build file, when library files are built from a tarball. With absolute paths Meson may generate too long file names. See gtkmm!61
* Meson build: Fix versioning on macOSKjell Ahlstedt2020-09-301-1/+4
| | | | See https://github.com/libsigcplusplus/libsigcplusplus/pull/65
* Rewrite Gio::Tls[Client,Server]ConnectionImplKjell Ahlstedt2020-08-124-84/+57
| | | | | | | | | | | TlsConnection_Class::wrap_new() can wrap a C object in a TlsConnection, TlsClientConnectionImpl or TlsServerConnectionImpl depending on which interface, if any, the C object implements. No need for special wrap*() functions in Tls[Client,Server]Connection or SocketClient::signal_event(). This is similar to Gdk::DeviceWithPad.
* Gio::Tls[Client,Server]ConnectionImpl: Improve the wrap*() functionsKjell Ahlstedt2020-08-022-12/+18
| | | | | | Make Glib::wrap_tls_[client,server]_connection_impl() do like other wrap() functions for ref-counted objects when they are given a nullptr: return an empty RefPtr.
* Gio: Add Tls[Client,Server]ConnectionImplKjell Ahlstedt2020-07-306-2/+247
| | | | | | | | | | Restructure Tls[Client,Server]Connection. They are interfaces. Now they derive only from Glib::Interface, like all interfaces shall do. Tls[Client,Server]ConnectionImpl don't correspond to C classes. They can wrap any C object that derives from GTlsConnection and implements GTls[Client,Server]Connection. Such C classes in GLib are not public. They can't be wrapped in the usual way.
* Meson/Visual Studio builds: Include toolset version by defaultChun-wei Fan2020-06-181-3/+3
| | | | | | | | | | | | | | | | | | This makes the built DLL and .lib's contain the toolset version if the build is carried out using Visual Studio 2017 or later, unless the 'msvc14x-parallel-installable' option is set to be false during configuration. The reasoning behind this change is that there are subtle problems when, for instance, one tries to link to a Visual Studio 2017-built glibmm when building gtkmm and libxml++ with Visual Studio 2019. This is unfortunate as Microsoft did try hard to make interoperating between binaries built with Visual Studio 2015, 2017 and 2019 as easy as possible in terms of ABI and API, but unfortunately this hits the corner cases where this compatibility does not work. As the name suggests, this attempts to make Visual Studio 2017 and 2019 builds share a single set of underlying C DLLs easier, while avoiding breakages caused by such subtle differences.
* Glib, Gio: Add missing #includesKjell Ahlstedt2020-03-181-0/+2
| | | | Fixes #69
* Visual Studio builds: build giomm without gendefChun-wei Fan2020-03-071-44/+20
| | | | | | Make sure that we are defining GIOMM_API as __declspec(dllexport) when building giomm and so stop the use of gendef.exe. We are now ready to drop gendef from the glibmm sources.
* gio/giomm/*.h: Mark classes and functions with GIOMM_APIChun-wei Fan2020-03-075-3/+22
| | | | | This prepares the build to use compiler directives to export symbols, in our bid to drop gendef.exe.
* gio/giomm/meson.build: Silence a warning from MesonKjell Ahlstedt2020-03-031-1/+0
| | | | static_library() can't take a version: argument.
* Meson build: Add some dependencies when generating source filesKjell Ahlstedt2020-03-021-2/+3
| | | | | wrap_init.cc shall be rebuilt when generate_wrap_init.pl has been rebuilt. Generated .h and .cc files shall be rebuilt when gmmproc has been rebuilt.
* gio/giomm/meson.build: Use giomm-int rule for all buildsChun-wei Fan2020-03-021-35/+35
| | | | | | | | | Like the previous commit, let builds from release tarballs and GIT checkouts build the giomm-int static library, and link the final .so/.dll from the objects that form giomm-int static .lib. By doing so we can build giomm with the import libraries for Visual Studio builds with gendef, as well as linking in the version resource for all Windows builds.
* Add support for building glibmm with MesonKjell Ahlstedt2020-03-011-0/+418
| | | | | | glibmm can be built with either Autotools or Meson. See MR !27
* Glib::init(), Gio::init(): Improve the documentationKjell Ahlstedt2019-07-091-1/+10
| | | | See issue #49
* Use {} for function arguments initialisationTapasweni Pathak2019-01-131-4/+4
| | | | Closes https://gitlab.gnome.org/GNOME/glibmm/issues/20.
* Fix reference documentation generationChun-wei Fan2018-09-101-1/+1
| | | | | | | | | * docs/Makefile.am: Include the filelist.gmake.am files if applicable * glib/glibmm/filelist.gmake.am: * gio/src/filelist.gmake.am: * gio/giomm/filelist.gmake.am: Include filelist.am relative from $(top_srcdir) as we are including the filelist.gmake.am's from docs/ as well.
* glibmm, giomm: Split out GNU automake items from filelist.amChun-wei Fan2018-09-073-3/+7
| | | | | | This enables the filelist.am files to be shared with the NMake Makefiles, so that any addition/removal to the sources can be reflected in the Visual Studio build files as well.
* Avoid compiler warnings from function pointer conversionsKjell Ahlstedt2018-08-311-3/+3
| | | | | | | | | | | | | | gcc8 -Wextra prints a warning when a single reinterpret_cast is used for conversion between different types of function pointers. The previous fix with a union in Glib::bitwise_equivalent_cast<>() is not standard C++. Rename the function to Glib::function_pointer_cast<>(), and use two reinterpret_casts as recommended in gcc's documentation. * glib/src/optiongroup.ccg: Use a reinterpret_cast to convert from a function pointer to void*. That's possible now. It's "conditionally supported", starting with C++11. See https://github.com/libsigcplusplus/libsigcplusplus/issues/8
* Avoid compiler warnings from function pointer conversionsKjell Ahlstedt2018-07-171-3/+4
| | | | | | | | | | | | gcc8 -Wextra prints a warning when reinterpret_cast is used for conversion between different types of function pointers. Avoid that by adding Glib::bitwise_equivalent_cast<>() with a union with members of the two types of function pointers. * glib/src/optiongroup.ccg: Use Glib::bitwise_equivalent_cast<>() to convert from a function pointer to void*. See https://github.com/libsigcplusplus/libsigcplusplus/issues/1
* Revert "Avoid compiler warnings from function pointer conversions"Kjell Ahlstedt2018-07-171-22/+4
| | | | | | This reverts commit fa85bd1161d5d914095d1a3f9b620da294c9af79. This can be done in a better way by keeping the union in a template function.
* Avoid compiler warnings from function pointer conversionsKjell Ahlstedt2018-07-131-4/+22
| | | | | | | | gcc8 -Wextra prints a warning when reinterpret_cast is used for conversion between different types of function pointers. Avoid that by instead using a union with members of the two types of function pointers. See https://github.com/libsigcplusplus/libsigcplusplus/issues/1
* Install giomm/slot_async.hKjell Ahlstedt2018-07-024-4/+20
| | | | Gio::SignalProxy_async_callback() is required in gtkmm.
* Update the Free Software Foundation address in copyright noticesKjell Ahlstedt2017-08-307-24/+7
| | | | Bug 786824
* Add and use make_refptr_for_instance().Murray Cumming2017-04-061-2/+2
| | | | This will make it easier to change the underlying RefPtr type.
* Socket: Avoid creating a RefPtr to this.Murray Cumming2017-04-052-0/+33
| | | | | | | By adding a private SocketSource constructor (and create()), accessible via a friend declaration, that takes the raw GSocket. See https://bugzilla.gnome.org/show_bug.cgi?id=755037#c20
* Replace remaining uses of Glib::ListHandle<> with std::vector.Murray Cumming2017-03-202-4/+3
| | | | | | Using Glib::ListHandler<>::list_to_array() and Glib::ListHandler<>::list_to_vector() instead, and only in the implementation instead of in the API.
* Use std::vector<> instead of Glib::StringArrayHandle.Murray Cumming2017-03-172-3/+4
| | | | | | Using Glib::ArrayHandler<>::vector_to_array() and Glib::ArrayHandler<>::array_to_vector() instead, and only in the implementatoin instead of in the API.
* sigc3: .h/.cc files: Use slot/signal<R(Args...)> syntax.Murray Cumming2016-11-142-3/+3
|
* C++11: .h/.cc files: Replace typedefs with using.Murray Cumming2016-03-311-1/+1
|
* Re-run clang-format on some files.Murray Cumming2016-02-261-1/+2
| | | | | I need to make a subsequent commit to fix the now-unaligned trailing comments.
* Run clang-format on gio .cc files.Murray Cumming2016-02-264-66/+84
|
* Run clang-format on gio .h files.Murray Cumming2016-02-265-22/+16
|
* C++11: Replace virtual keyword with override keyword on destructors.Murray Cumming2015-12-241-1/+1
| | | | This ensures that the base class is really virtual.
* Gio: Use of nullptr instead of 0.Murray Cumming2015-11-201-1/+1
|
* More use of nullptr instead of 0.Murray Cumming2015-11-201-3/+3
|
* Make destructors explicitly noexcept.Murray Cumming2015-08-312-2/+2
| | | | | Destructors are already noexcept, but this makes that even clearer. This might be foolish.
* docs: Include unused headers in reference documentationDaniel Elstner2015-08-261-0/+2
| | | | | | | | | | | * glib/glibmm/filelist.am (glibmm_files_all_h): New variable that holds all header files, even those which are not included in the build. * gio/giomm/filelist.am (giomm_files_all_h): ditto. * docs/Makefile.am (doc_input): Make Doxygen parse all public header files, including those which are unused in the current build configuration. This ensures that the documentation covers all platforms.
* C++11: examples/tests: More use of auto.Murray Cumming2015-07-153-4/+4
|
* Gio::SignalSocket docs: Add an empty line after @newinKjell Ahlstedt2015-03-191-0/+1
| | | | | | * gio/giomm/socketsource.h: Add an empty line after @newin where it's needed in order to avoid bad side effects in the documentation. Doxygen assumes that @newin is followed by a paragraph that describes what is new.
* Add Gio:SocketSource, SignalSocket and Socket::create_source()Kjell Ahlstedt2014-05-153-2/+218
| | | | | | | | | | | * .gitignore: Add !gio/giomm/socketsource.[cc|h]. * gio/giomm.h: * gio/giomm/filelist.am: Add socketsource.h. * gio/giomm/socketsource.[cc|h]: New files. SocketSource and SignalSocket. * gio/src/socket.[ccg|hg]: Add create_source(). Remove many trailing blanks in socket.hg. * glib/glibmm/main.[cc|h]: Add functions required when a class derived from Source is defined in another file. Bug #725281.
* win32: Surround content_type_get_symbolic_icon() with ifdefs.Giuseppe Penone2014-03-052-0/+4
| | | | | This matches a similar ifdeffing in the underlying C header, because ths function is apparently not useful on win32.
* Gio::content_type_*(): Improve documentationKjell Ahlstedt2013-11-131-11/+25
| | | | | | | * gio/giomm/contenttype.h: Add @defgroup giommContentType. Useful as a link target from Gtk::AppChooser, similar to a link from GtkAppChooser:content-type to GContentType. See gtk+ bug #650012. Several minor fixes in content_type_*() docs.