summaryrefslogtreecommitdiff
path: root/glib
Commit message (Collapse)AuthorAgeFilesLines
* Glib, Gio: Add missing #includesKjell Ahlstedt2020-03-186-0/+8
| | | | Fixes #69
* Change the ABI to glibmm-2.66Kjell Ahlstedt2020-03-171-2/+2
| | | | | | | | | So we can use the 2.64 version numbers for stable releases in the glibmm-2.4 ABI series. We don't need to release a stable ABI-parallel glibmm until we need to release gtkmm 4.0, and that won't happen until GTK 4.0.0 happens. We've done similar ABI name changes several times before.
* glib/glibmm-uninstalled.pc.in: Require sigc++-3.0Kjell Ahlstedt2020-03-171-1/+1
|
* Glib, Gio: Regenerate docs.xml and .defs filesKjell Ahlstedt2020-03-174-81/+844
|
* glibmm/objectbase.h: Mark _gobject_cppinstance_already_deleted()Chun-wei Fan2020-03-121-0/+1
| | | | | ...with GLIBMM_API. This is needed for building gtkmm, with Visual Studio.
* glib/glibmmconfig.h.[in|meson]: Clean up MSVC bitsChun-wei Fan2020-03-102-46/+0
| | | | | | | | | | | From https://gitlab.gnome.org/GNOME/glibmm/-/merge_requests/29#note_734668, it was noted by Kjell that we will always have thread_local, so there is really no GLIBMM_CAN_USE_THREAD_LOCAL in the code, so we can drop that. Also drop the Visual Studio 2013 compatibility bits, since we need Visual Studio 2017 to build glibmm master (C++17 branch), so they won't be relevant.
* meson: Do not allow static MSVC-style buildsChun-wei Fan2020-03-091-1/+10
| | | | | The Visual Studio build files never really supported static builds, so disallow that for now, until we can make sure that is tested better.
* glibmm: Update glibmmconfig.h.[in|meson] for MSVCChun-wei Fan2020-03-093-0/+27
| | | | | | | | | | | Visual Studio 2015 or later has thread_local, so make sure that it is enabled. Also update for Visual Studio 2017+ as the compiler does allow static members to be initialized inline to std::string::npos (GLIBMM_HAVE_ALLOWS_STATIC_INLINE_NPOS), but use a work around for pre-Visual Studio 2015 so that we do not get a linker error as GLIBMM_HAVE_ALLOWS_STATIC_INLINE_NPOS is not supported.
* build: Do not use gendef.exe for glibmmChun-wei Fan2020-03-073-58/+29
| | | | | | | | | | | Clean up the build files a bit and update the glibmmconfig.h.[in|meson] so that we use __declspec(dllexport) when GLIBMM_BUILD is defined (i.e. during the build of glibmm) on Visual Studio. Also, for the meson builds, disable warnings 4251 and 4275 as they all relate to building DLLs regarding symbol export, which is harmless as we know clearly that we are indeed building DLLs in our case, and we have already set GLIBMM_API appropriately
* glib/src: Decorate classes and methods with GLIBMM_APIChun-wei Fan2020-03-0727-91/+162
| | | | | | This prepares for us to export symbols using compiler directives, so that we can eventually retire gendef.exe. This also makes the scripts place GLIBMM_API as appropriate for the generated Glib:Error classes and the wrap() method.
* glib/glibmm/*.h: Mark classes and methods with GLIBMM_APIChun-wei Fan2020-03-0528-68/+118
| | | | | This prepares the code to use __declspec(dllexport) to export all symbols, so that we can eventually bid farewell to gendf.exe
* 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.
* glib/glibmm/meson.build: Use glibmm-int rule for all buildsChun-wei Fan2020-03-021-36/+35
| | | | | | | | Let builds from release tarballs and GIT checkouts build the glibmm-int static library, and link the final .so/.dll from the objects that form glibmm-int static .lib. By doing so we can build glibmm 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-013-0/+601
| | | | | | glibmm can be built with either Autotools or Meson. See MR !27
* Prepare existing files for building with MesonKjell Ahlstedt2020-03-011-0/+8
| | | | | | | | * examples/network/resolver.cc: Don't include config.h. It's not used. * glib/glibmm/ustring.cc: Check if GLIBMM_SIZEOF_WCHAR_T is defined. * tools/generate_wrap_init.pl.in: * tools/gmmproc.in: Change '\@' to '\ @'. Meson's configure_file() removes a backslash immediately before an at-sign.
* Variant: Avoid . to not split an intro doc commentDaniel Boles2020-01-051-1/+1
| | | | | | Doxygen interprets the first . to mean the end of the introductory blurb, so that resulted in this sentence suddenly ending after the "i." in "i.e." in the short version and having a line break there in the long
* Glib::Binding: Keep a binding alive even without a RefPtrKjell Ahlstedt2019-12-152-32/+6
| | | | | | | | A binding between properties can remain even after all RefPtr<Binding>s are gone. This is similar to how Gtk::Widget::set_controller() works in gtkmm4. Fixes #62, see !21
* Derive Glib::Error from std::exception, remove Glib::ExceptionKjell Ahlstedt2019-12-146-84/+6
| | | | | | Glib::Error::what() returns const char* (was Glib::ustring). It overrides std::exception::what() that returns const char* and is noexcept. Fixes #23
* Use Glib::UStringView with Glib::ustring::compare()Thomas Holder2019-11-302-155/+115
| | | | | | | | and with the comparison operators, operator==(), etc. Add the glibmm_ustring_compare test case. https://gitlab.gnome.org/GNOME/glibmm/issues/64 https://gitlab.gnome.org/GNOME/glibmm/issues/65
* Glib::Regex: Use UStringViewThomas Holder2019-11-212-44/+44
| | | | Fixes #66
* Glib: Replace StringView with StdStringView and UStringViewKjell Ahlstedt2019-11-201-26/+59
| | | | | | StdStringView and UStringView force users to be explicit (by using c_str()) when using a std::string where a Glib::ustring is recommended or vice versa. See issue #64
* Merge branch 'wip/gvalue_assert' into 'master'Kjell Ahlstedt2019-11-201-0/+10
|\ | | | | | | | | Glib: Adding static check for template parameter See merge request GNOME/glibmm!23
| * Update value_custom.hPavlo Solntsev2019-11-181-4/+4
| |
| * Glib: Adding static check for template parameterPavlo Solntsev2019-11-171-0/+10
| | | | | | | | | | To meet requirements for the passed type, compile type check for the passed type was added.
* | Avoid unnecessary conversions between std::string and Glib::ustringKjell Ahlstedt2019-11-181-1/+1
|/ | | | | A few implicit conversions in tests/ have been kept. They are probably deliberate, to test implicit conversion. Inspired by issue #65
* Merge branch 'fix-ustring-insert' into 'master'Kjell Ahlstedt2019-11-161-1/+2
|\ | | | | | | | | fix ustring::insert(iterator, In, In) See merge request GNOME/glibmm!19
| * fix ustring::insert(iterator, In, In)Thomas Holder2019-11-141-1/+2
| |
* | Glib::Binding: get_source() and get_target() return ObjectBase*Kjell Ahlstedt2019-11-151-4/+5
| | | | | | | | Fixes #63
* | Glib::Binding: Explain why SlotTransform takes GValue*Kjell Ahlstedt2019-11-151-0/+10
| | | | | | | | Fixes #61
* | Binding: Use std::optional instead of out-ref+boolDaniel Boles2019-11-091-6/+9
| | | | | | | | | | | | The pattern of returning a boolean to indicate whether an output reference was set is messy and error-prone. C++17 adds std::optional, which exists precisely to indicate that a result is available or not.
* | Binding: no point to set target value if got falseDaniel Boles2019-11-091-4/+6
| | | | | | | | | | | | | | | | | | If we return false, GBinding ignores target GValue, so there’s no point setting it. Besides, if the transform function returned false, that says they couldn't calculate a target value, so they shouldn’t assign to `to` I default-construct primitive `T_to`s in case anyone *was* reading those for some daft reason, so they get a zero-initialised value instead of UB
* | Binding: Move SlotTypeTransform up and document itDaniel Boles2019-11-091-22/+27
| | | | | | | | | | | | | | | | | | | | | | This is more maintainable than all the arguments to all the overloads of bind_property() manually repeating the signature in their documentation, plus more user-friendly as we document it, users can use the typedef, &c Note: My next thought was we can just take SlotTypeTransforms in the argument list, instead of totally arbitrary functors, so the conversion would be done at call site instead of via extra code in the body. But I didn't get that working yet, and it should be a separate commit anyway.
* | Binding: Better explain purpose of SlotTransform,Daniel Boles2019-11-091-1/+6
|/ | | | and use better formatting for it too.
* Binding: Fix using outdated enums in documentationDaniel Boles2019-11-091-3/+3
| | | | They are not Glib::BINDING_* anymore, but rather Glib::Binding::Flags::*
* Glib::ustring_Iterator: Explicitly declare copy assignmentKjell Ahlstedt2019-11-031-0/+1
| | | | | | | | | | | This disables a warning from g++ 9.2 (abbreviated here): In member function ‘bool Glib::ustring::validate(Glib::ustring::iterator&)’: error: implicitly-declared ..... is deprecated [-Werror=deprecated-copy] 1206 | first_invalid = iterator(string_.begin() + (valid_end - pdata)); note: because ..... has user-provided ..... 972 | inline ustring_Iterator<T>::ustring_Iterator( const ustring_Iterator<std::string::iterator>& other)
* Merge branch 'spell' into 'master'Kjell Ahlstedt2019-10-241-1/+1
|\ | | | | | | | | Correct spelling of spawn_async_with_pipes() in doc comment See merge request GNOME/glibmm!16
| * Correct spelling of spawn_async_with_pipes() in doc commentMike Fleetwood2019-10-231-1/+1
| |
* | Add Glib::canonicalize_filename()Kjell Ahlstedt2019-10-232-0/+32
| | | | | | | | Fixes #59
* | Glib: Replace BasicStringView with non-template StringViewKjell Ahlstedt2019-10-231-16/+20
|/ | | | | | | | A call to path_get_dirname(StdStringView filename) with a Glib::ustring fails if StdStringView does not have a constructor that takes a const Glib::ustring&. StdStringView and UStringView are now aliases of StringView, whose names show which data type is preferred. See issue #34
* Glib: Add BasicStringView, StdStringView, UStringViewKjell Ahlstedt2019-10-233-214/+79
| | | | | | and use them in build_filename() and other functions in miscutils.hg. Fixes #34
* glib/src/miscutil.hg: Remove obsolete descriptionsKjell Ahlstedt2019-10-191-6/+3
| | | | | These should have been removed when Glib::ArrayHandle was replaced by std::vector.
* Glib::MainContext: Add push/pop/get_thread_default()Kjell Ahlstedt2019-10-072-4/+92
| | | | See issue #56
* Glib::get_host_name(): Return a Glib::ustringKjell Ahlstedt2019-10-072-8/+7
| | | | g_get_host_name() returns a UTF-8 string.
* Merge branch 'get_host_name' into 'master'Kjell Ahlstedt2019-10-072-0/+25
|\ | | | | | | | | | | | | Add Glib::get_host_name() Closes #58 See merge request GNOME/glibmm!15
| * Add Glib::get_host_name()scx2019-09-232-0/+25
| | | | | | | | | | | | | | Wraps g_get_host_name() from glib. Return a name for the machine. Closes GNOME/glibmm#58
* | Add Glib::get_user_runtime_dir()scx2019-09-222-0/+15
|/ | | | | | | Wraps g_get_user_runtime_dir() from glib. Returns a directory that is unique to the current user on the local system. Closes GNOME/glibmm#57
* Change the ABI to glibmm-2.64Kjell Ahlstedt2019-09-181-2/+2
| | | | | | | | | So we can use the 2.62 version numbers for stable releases in the glibmm-2.4 ABI series. We don't need to release a stable ABI-parallel glibmm until we need to release gtkmm 4.0, and that won't happen until GTK 4.0.0 happens. We've done similar ABI name changes several times before.
* Glib::ustring documentation: Minor fixKjell Ahlstedt2019-09-181-2/+2
|
* Remove Glib::TimeValKjell Ahlstedt2019-08-138-408/+21
| | | | | | | | | | | | | | | | | | GTimeVal has been deprecated in glib. Remove its wrapping in glibmm. * examples/dbus/server_without_bus.cc: * examples/dbus/session_bus_service.cc: Replace TimeVal by DateTime. * gio/src/fileinfo.[ccg|hg]: Remove [set_]modification_time(). Add set/get_modification_date_time(). * glib/glibmm.h: * glib/glibmm/filelist.am: Remove timeval. * glib/glibmm/timeval.[cc|h]: Removed files. * glib/src/date.[ccg|hg]: Remove set_time(const GTimeVal& timeval). * glib/src/datetime.[ccg|hg]: Remove create_now_local/utc(const TimeVal& tv) and to_timeval(). Add create_from_iso8601(), format_iso8601() and operator bool(). * tools/m4/convert_glib.m4: * tools/m4/convert_gio.m4: Remove conversions for GTimeVal.
* Glib, Gio: Regenerate docs.xml and .defs filesKjell Ahlstedt2019-08-132-4/+106
|