Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
|
|
this way we actually get the same shared pointer and thus does not
require a sync() call on the config object to get the right values
REVIEW:120283
|
|
|
|
gcc 4.5 doesn't support "#pragma GCC diagnostic" inside functions.
Apparently it also doesn't support "#pragma GCC diagnostic push/pop",
but it doesn't fail for that, so meh.
|
|
gcc 4.5 doesn't have nullptr.
|
|
|
|
|
|
Add a class description to KConfigBase so that KConfig::sync can link to
KConfigBase::sync. Also makes KConfigBase easier to find and understand.
|
|
|
|
|
|
This is needed so doxygen includes the far more useful documentation on
the contained methods.
|
|
This is duplicate information.
|
|
and remove Links from README.md
|
|
Switch to using QT_TRANSLATE_NOOP3 so that context information can be
given for actions, allowing the translators to do better translations.
BUG: 337979
FIXED-IN: 5.2.0
REVIEW: 119577
|
|
|
|
|
|
KConfig fails building because QBasicAtomicInt is being treated as an int.
REVIEW: 119417
|
|
using Qt-standard QT_TRANSLATE_NOOP instead of a fake I18N_NOOP2
|
|
like all the other Qt-based modules do
|
|
|
|
|
|
Previously the warning "Invalid escape sequence "\;"." would appear and
"\;" was replaced with just the backslash as is done for all
unrecognized escape sequences. Keep both characters so that
readXdgListEntry() works with values containing semicolons
REVIEW: 119074
|
|
|
|
|
|
|
|
|
|
|
|
This enables the mainConfig optimization in all threads,
and ensures the user warning only happens in the main thread.
The test-mode-enabled logic is only really useful in the main thread,
but it's simpler to just do it in all threads.
REVIEW: 118985
|
|
Visual C++ 2010 throws an internal compiler error trying to compile
kconfigtest, since 5f4dc2973f. I couldn't figure out a non-intrusive
code tweak that would work around the ICE, so I had to skip compiling
this particular initialization code on this particular compiler version,
and skip running the test that relies on it (testEnums).
The dummy=42 entry is so that the config group isn't empty,
which makes testGroupCopyTo and testReparent still run and pass,
so we don't need to skip them.
REVIEW:118852
|
|
- QLocale::QLocale::Austria
+ QLocale::Austria
I'm surprised this worked in gcc in the CI...
|
|
|
|
|
|
... by having a different list of shareable objects per thread.
REVIEW: 118739
|
|
NAME_PREFIX now only changes the test name, not the target name.
|
|
This fixes a regression introduced in
988f09bb051dca0437ecec431ee44ed5b4a560d8.
The mentioned commit ensures that if the locale is e.g. "de_DE" the
entry "de" will be used. But this breaks if there is a translation
for another country. E.g. for "de_CH" it would also pick the "de"
entry.
This change now operates on both just the language code and the locale.
If an entry with the language code is present it will be picked. If
another entry with the exact locale is found it will be overwritten.
Modifiers are not supported as this is currently missing in QLocale.
REVIEW: 118692
|
|
Yet another awesome application of the Qt implicit sharing trick.
Since config files often contain only few different keys and even
value strings, we can share them. This reduces memory consumption
and also speeds up parsing, as we do not have to allocate the
duplicated strings, but can simply reuse the previous values.
The most extreme case for this of my knowledge, is KatePart:
katesyntaxhighlightingrc has more than 20k lines which triggered
nearly 30k allocations on startup. With this patch applied, this
value goes down dramatically. I added a simple static counter for
the cache hit/miss ratio, which resulted in 5442 cache misses compared
to 43624 cache hits across all KConfig files parsed by kwrite.
REVIEW: 118587
This is a forward-port of b8aaeff128233cfaecf67899168887572589dde8.
|
|
Before, these kind of read-only operations did a lot of allocations:
1) allocate a list of all sub groups
2) for the above, also allocate a sub-group match key
3) iterate over sub groups, allocate a list of all keys in there
and then finally check whether that list is non-empty
All of the above is now done without a single allocation, by simply
iterating over the list of entries.
Note: The whole list was iterated even before in allSubGroups. Now
we still do that, but check for non-empty keys in the group or
sub group directly. Much more efficient.
Note2: While at it, allSubGroups is also optimized to not require the
allocation of the subgroup match key.
REVIEW: 118586
forward-port of commit eaffd50adfd7fcbeafadb0248904176808b4499d
|
|
forward-port of commit 416559cdb86f9cacf4ea4ed7530cbbbdb427302f
|
|
Some tests are testing underlying components, these should be tested
before testing the components that depend on them.
REVIEW: 118680
|
|
|
|
The underlying KConfig used QLocale::name() for getting the locale
aware part. But this returns "de_DE" while the desktop files store
"de".
In addition it constructs a QLocale object instead of using the
system locale. This has the advantage that the usage of
QLocale::setDafault() gets honored by KConfig.
REVIEW: 118564
|
|
- use Q_NULLPTR instead of 0 or NULL
- simplify some foreach loops
- use QStringLiteral in a few places
- added a few consts
REVIEW: 118666
|
|
The underlying KConfig used QLocale::name() for getting the locale
aware part. But this returns "de_DE" while the desktop files store
"de".
In addition it constructs a QLocale object instead of using the
system locale. This has the advantage that the usage of
QLocale::setDafault() gets honored by KConfig.
REVIEW: 118564
|
|
kreadconfig only needs to print help when a key is not given or when extra
text is on the end of the command line.
BUG: 335806
|
|
|
|
|