Commit graph

229 commits

Author SHA1 Message Date
Vadim Zeitlin
6586afb0a5 Use XDG-compliant location by default in wxFileConfig
Still use the traditional dot file if it already exists, but prefer
using the new location otherwise, i.e. for the new program installation.

Add wxCONFIG_USE_HOME to allow forcing the use of the old location if
really necessary.

Also use the new style as default "old style" of MigrateLocalFile() so
that calling it even when using XDG layout in wxStandardPaths still
works as expected.
2024-01-08 00:43:26 +01:00
Vadim Zeitlin
486865b446 Add wxFileConfig::MigrateLocalFile()
This can be useful for the existing applications switching to using
XDG-compliant config files location as they can just call this function
on startup to keep using the existing file.
2024-01-04 03:23:37 +01:00
Vadim Zeitlin
b90747d61a Use const references to wxStandardPaths in wxFileConfig code
No real changes, just minor cleanup.
2024-01-02 02:21:25 +01:00
Vadim Zeitlin
3093d7ad4f Add wxCONFIG_USE_XDG to use with wxFileConfig
Using this style allows to tell wxFileConfig to use XDG-compliant
location for the user configuration file, even when not using XDG file
layout for wxStandardPaths, which can be convenient when modifying the
existing application using wxStandardPaths for other files locations
too.

And using it in combination with wxCONFIG_USE_SUBDIR allows to put the
config file in a XDG-compliant subdirectory, which wasn't easily
possible at all before.
2024-01-02 02:18:45 +01:00
Vadim Zeitlin
92b901f971 Remove unnecessary wxUnusedVar() from wxFileConfig code
No real changes, just don't use wxUnusedVar() for a parameter which is
actually used.
2024-01-02 00:50:39 +01:00
Vadim Zeitlin
e43f913313 Remove all blank "Modified by:" lines from top comment blocks
Having this line is not useful at all as it doesn't contain any
information and shouldn't be filled in the future as git-shortlog can
provide the information about people who changed the given file more
more reliably than consulting the comments in any case.

Keep the non-blank lines for historical purposes.
2023-10-22 01:22:48 +02:00
Vadim Zeitlin
5f45e697bd Don't use wxWxCharBuffer any more
We still provide this #define, but there is no reason to use it inside
the library itself, so replace it with the more clear wxWCharBuffer.

No real changes.
2022-10-28 21:17:52 +01:00
Vadim Zeitlin
4519d8e08a Remove wxUSE_UNICODE checks as they're always true now
Also remove all code guarded by "#if !wxUSE_UNICODE".
2022-10-27 19:43:30 +02:00
Vadim Zeitlin
4f4c5fcfdf Use nullptr instead of NULL in the code and documentation
This is a combination of running clang-tidy with modernize-use-nullptr
check for some ports (GTK, X11, OSX) and manual changes to the ports for
which it couldn't be used easily (MSW, DFB) and also manually updating
the docs.

Also replace NULL with null or nullptr in the comments as this is more
consistent with the use of nullptr in the code and makes it simpler to
grep for the remaining occurrences of NULL itself.

And also use null in the assert messages.

Only a few occurrences of "NULL" are still left in non-C files, mostly
corresponding to unclear comments or string output which it might not be
safe to change.
2022-10-18 01:25:25 +02:00
Vadim Zeitlin
f31a745909 Remove unnecessary c_str() from wx var arg functions arguments
Using c_str() for arguments to wxString::Printf(), Format() and
wxLogXXX() is useless since wx 2.9 days, so simply remove them.

No real changes, this is just a (long due) cleanup.
2021-07-04 15:08:13 +01:00
Vadim Zeitlin
776c3e5b73 Don't make wxConfig::Do{Read,Write}LongLong() pure virtual
These functions, added in the recent fce8780297 (Add 64-bit integers
support to wxConfig, 2021-03-09) break compilation of existing code
defining classes inheriting from wxConfig, and we can avoid it by using
strings for storing long long values by default -- as this is what
wxFileConfig is doing, and wxRegConfig provides its own overridden
version anyhow.
2021-03-25 14:06:12 +01:00
Vadim Zeitlin
fce8780297 Add 64-bit integers support to wxConfig
Serialize them to strings in wxFileConfig, just as we always did for
long, but use wxRegKey support for storing them directly to the registry
in wxRegConfig.
2021-03-13 15:14:58 +01:00
PB
caab5dda00 Resolve removal of the rest of BCC-affected
Make changes based on feedback provided by vadz.
2020-10-14 20:11:58 +02:00
PB
f57f214122 Remove BCC-specific hdrstop pragma from everywhere 2020-10-12 21:58:37 +02:00
Paul Cornett
d6c6fe78bb Fix read of uninitialized variable in wxFileConfig dtor 2019-10-29 11:17:06 -07:00
Igor Korot
c525784f77 Allow disabling saving wxFileConfig data when it is destroyed
This can be useful to avoid saving the changes performed by the user if
this turns out to be undesirable, for whatever reason.

Closes https://github.com/wxWidgets/wxWidgets/pull/1451

Closes #13788.
2019-08-04 19:15:39 +02:00
Paul Cornett
fe1737d399 Reduce the scope of some local variables 2019-04-05 10:44:02 -07:00
Vadim Zeitlin
5cf9fcbb1a Add wxStandardPaths::ConfigFileConv enum for clarity and safety
Use an enum instead of type-unsafe "int" for the second parameter of the
recently added wxStandardPaths::MakeConfigFileName().

This also avoids unnatural dependency of wxStandardPaths on
wxCONFIG_USE_SUBDIR constant defined in a higher level wxFileConfig class.

No real changes, but just make things a bit more robust and hopefully more
clear.
2017-03-09 17:53:14 +01:00
Martin Koegler
8d5d00db9d Implement MakeConfigFileName 2017-03-08 22:29:55 +01:00
Andy Robinson
75e254fce7 Fix format specifiers used for size_t values in wxFileConfig
Fix assert failures when reporting errors in config files under 64 bit systems
where "%d" can't be used to output a "size_t" value.

Closes #17630.
2016-08-19 22:44:23 +02:00
Tobias Taschner
5ba67c67e4 Remove wxOSX/Carbon support.
Cocoa has been the default toolkit in wxWidgets for a long time. There is really no good reason to use Carbon in 2016 and this removes a lot of unused and unmaintained code.
2016-02-01 13:48:48 +01:00
Dimitri Schoolwerth
8f8d58d193 Use wx-prefixed macros throughout the repository.
Change {DECLARE,IMPLEMENT}_*CLASS and {DECLARE,BEGIN,END}_EVENT_TABLE
occurrences to use the wx-prefixed version of the macros.
2015-04-23 22:00:35 +04:00
Vadim Zeitlin
01f9accd19 Remove wxPM, wxWidgets port to OS/2.
This port is not used and is not being worked on, so remove it to reduce the
amount of the code which needs to be updated for every global change.

Also remove tests for VisualAge compiler which isn't used since ages.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76533 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-15 23:56:58 +00:00
Stefan Csomor
f18d7097da adding wxFALLTHROUGH where until now we had comments, allows for code-analysis support
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76399 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-04-26 17:36:32 +00:00
Paul Cornett
d86715a3a3 remove unused macro definition
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76290 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-04-06 19:27:58 +00:00
Vadim Zeitlin
3f66f6a5b3 Remove all lines containing cvs/svn "$Id$" keyword.
This keyword is not expanded by Git which means it's not replaced with the
correct revision value in the releases made using git-based scripts and it's
confusing to have lines with unexpanded "$Id$" in the released files. As
expanding them with Git is not that simple (it could be done with git archive
and export-subst attribute) and there are not many benefits in having them in
the first place, just remove all these lines.

If nothing else, this will make an eventual transition to Git simpler.

Closes #14487.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74602 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-26 16:02:46 +00:00
Vadim Zeitlin
a610eb7369 Fix crash in wxFileConfig when deleting last entry of the root group.
This resulted in keeping a dangling pointer to the group line in
wxFileConfigGroup and any attempt to use it after this resulted in a crash.
Fix this by explicitly resetting the last line in this case.

Also add a unit test for this scenario.

Closes #14243.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71311 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-04-28 22:25:19 +00:00
Vadim Zeitlin
d98a58c543 Use __WINDOWS__ for OS kind checks and reserve __WXMSW__ for GUI toolkit.
This change prepares the way for using wxGTK under Windows as this would
still define __WINDOWS__ but use __WXGTK__ instead of __WXMSW__.

Closes #14064.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70796 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-03-04 00:29:31 +00:00
Vadim Zeitlin
8709d9472b Allow using '(' and ')' in wxFileConfig entry names unescaped.
There is no real reason to escape the parentheses in the key entries, they're
not special.

Closes #13584.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70184 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-29 22:11:11 +00:00
Dimitri Schoolwerth
4c51a665c6 Fixed various typos.
Applied patch by snowleopard2 fixing a bunch of typos such as misspellings and double words in the documentation. Combined the patch with some local queued typos waiting to be committed as well as adding new typo fixes inspired by the patch.

Function names with American spelling were not changed nor was third-party code touched. The only code changes involve some changes in strings that are translated ("Can not" -> "Cannot").

Closes #13063 (again).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67280 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-22 14:17:38 +00:00
Vadim Zeitlin
d89b7c194d Correct a print format specifier mismatch in wxFileConfig::Parse().
Pass an int and not a size_t to a %d.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65209 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-08-08 11:35:49 +00:00
Vadim Zeitlin
975fb32b5c Don't crash when input is empty in wxFileConfig(wxInputStream) ctor.
Fix crash due to dereferencing a NULL pointer when the input buffer in
wxFileConfig ctor is empty.

Closes #11636.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63228 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-23 13:22:14 +00:00
Vadim Zeitlin
a57bfed905 No real changes, just remove the ugly CONST_CAST macro.
Use const_cast<> directly, we don't support compilers which don't have it any
more. And CONST_CAST macro conflicts with a macro with the same name (and
similar purpose) defined in Symbian headers.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62640 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-11-14 16:11:09 +00:00
Vadim Zeitlin
9a83f86094 Globally replace _T() with wxT().
Standardize on using a single macro across all wxWidgets sources and solve the name clash with Sun CC standard headers (see #10660).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61508 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-07-23 20:30:22 +00:00
Vadim Zeitlin
d8a7829312 move virtual GetPath() implementation out of line to work around an apparent Fedora g++ 4.x bug (see #10791)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60643 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-05-15 18:02:41 +00:00
Václav Slavík
6df09f32fd added length to wx(Scoped)CharBuffer to improve handling of embedded NULs
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59927 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-29 20:58:39 +00:00
Vadim Zeitlin
c0c133e13b add wx-prefixed and semicolon-requiring versions of DECLARE_NO_{COPY,ASSIGN}_CLASS macros
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58757 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-08 11:45:59 +00:00
Vadim Zeitlin
5c33522fca replace wx_{const,static,reinterpret}_cast with their standard C++ equivalents
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56644 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-02 02:39:52 +00:00
Stefan Csomor
26eef30437 OSX regrouping
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54814 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-29 19:47:40 +00:00
Stefan Csomor
bba0174ac7 adjusting endif comment to new #if
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54562 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-09 06:49:50 +00:00
Stefan Csomor
0cd1c6e304 make sure mac pref files remain visible and named as before
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54522 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-07 13:17:29 +00:00
Stefan Csomor
fe844054e8 cleaning up common OSX code
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52377 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-03-07 16:56:04 +00:00
Vadim Zeitlin
b0bcc78732 remove leading dots from .ini/.conf in AddConfFileExtIfNeeded() as this results in double dots in the resulting file name
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52313 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-03-04 12:14:40 +00:00
Vadim Zeitlin
9d55bfef2c don't use 8 bit characters in sources, this results in level 1 warning with VC8 (patch 1841741)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50458 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-12-03 22:09:26 +00:00
Vadim Zeitlin
9534d0dfdc reverted the change of r32940 which worked around a bug due to associating a dummy line with the root group, it's no longer necessary now that the root group line is always NULL
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@49477 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-10-26 22:53:26 +00:00
Vadim Zeitlin
9a7b779828 fix bug with adding entries to a root group containing only subgroups (as shown by new AddToExistingRoot() unit test)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@49476 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-10-26 22:50:26 +00:00
Vadim Zeitlin
d20d5ee858 no need to use ToAscii() explicitly in wxBase64Decode() call after r49095
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@49097 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-10-09 00:00:31 +00:00
Vadim Zeitlin
e86882e38d fix bug with deleting and recreating entries in wxFileConfig (patch 1796866)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48776 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-09-19 00:41:55 +00:00
Vadim Zeitlin
bf6d45ebf6 don't overwrite the existing local file if we failed to open it but it does exist
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48404 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-08-26 20:40:33 +00:00
Vadim Zeitlin
8ca1a013e4 corrected off by 1 error in cMB2WC() call (thanks valgrind)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47691 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-07-24 00:36:22 +00:00