File indexing completed on 2025-02-09 04:28:32
0001 /* 0002 This file is part of the KTextTemplate library 0003 0004 SPDX-FileCopyrightText: 2009, 2010 Stephen Kelly <steveire@gmail.com> 0005 0006 SPDX-License-Identifier: LGPL-2.1-or-later 0007 0008 */ 0009 0010 #ifndef DEFAULTFILTERS_H 0011 #define DEFAULTFILTERS_H 0012 0013 #include "datetime.h" 0014 #include "integers.h" 0015 #include "lists.h" 0016 #include "logic.h" 0017 #include "misc.h" 0018 #include "stringfilters.h" 0019 0020 #include "taglibraryinterface.h" 0021 0022 using namespace KTextTemplate; 0023 0024 class DefaultFiltersLibrary : public QObject, public TagLibraryInterface 0025 { 0026 Q_OBJECT 0027 Q_INTERFACES(KTextTemplate::TagLibraryInterface) 0028 Q_PLUGIN_METADATA(IID "org.kde.KTextTemplate.TagLibraryInterface") 0029 public: 0030 DefaultFiltersLibrary(QObject *parent = {}) 0031 : QObject(parent) 0032 { 0033 } 0034 0035 QHash<QString, Filter *> filters(const QString &name = {}) override 0036 { 0037 Q_UNUSED(name); 0038 0039 QHash<QString, Filter *> filters; 0040 0041 filters.insert(QStringLiteral("add"), new AddFilter()); 0042 filters.insert(QStringLiteral("addslashes"), new AddSlashesFilter()); 0043 filters.insert(QStringLiteral("capfirst"), new CapFirstFilter()); 0044 filters.insert(QStringLiteral("center"), new CenterFilter()); 0045 filters.insert(QStringLiteral("cut"), new CutFilter()); 0046 filters.insert(QStringLiteral("date"), new DateFilter()); 0047 filters.insert(QStringLiteral("default"), new DefaultFilter()); 0048 filters.insert(QStringLiteral("default_if_none"), new DefaultIfNoneFilter()); 0049 filters.insert(QStringLiteral("dictsort"), new DictSortFilter()); 0050 filters.insert(QStringLiteral("divisibleby"), new DivisibleByFilter()); 0051 filters.insert(QStringLiteral("escape"), new EscapeFilter()); 0052 filters.insert(QStringLiteral("escapejs"), new EscapeJsFilter()); 0053 filters.insert(QStringLiteral("first"), new FirstFilter()); 0054 filters.insert(QStringLiteral("fix_ampersands"), new FixAmpersandsFilter()); 0055 filters.insert(QStringLiteral("floatformat"), new FloatFormatFilter()); 0056 filters.insert(QStringLiteral("filesizeformat"), new FileSizeFormatFilter()); 0057 filters.insert(QStringLiteral("force_escape"), new ForceEscapeFilter()); 0058 filters.insert(QStringLiteral("get_digit"), new GetDigitFilter()); 0059 filters.insert(QStringLiteral("join"), new JoinFilter()); 0060 filters.insert(QStringLiteral("last"), new LastFilter()); 0061 filters.insert(QStringLiteral("length"), new LengthFilter()); 0062 filters.insert(QStringLiteral("length_is"), new LengthIsFilter()); 0063 filters.insert(QStringLiteral("linebreaks"), new LineBreaksFilter()); 0064 filters.insert(QStringLiteral("linebreaksbr"), new LineBreaksBrFilter()); 0065 filters.insert(QStringLiteral("linenumbers"), new LineNumbersFilter()); 0066 filters.insert(QStringLiteral("ljust"), new LJustFilter()); 0067 filters.insert(QStringLiteral("lower"), new LowerFilter()); 0068 filters.insert(QStringLiteral("make_list"), new MakeListFilter()); 0069 filters.insert(QStringLiteral("random"), new RandomFilter()); 0070 filters.insert(QStringLiteral("removetags"), new RemoveTagsFilter()); 0071 filters.insert(QStringLiteral("rjust"), new RJustFilter()); 0072 filters.insert(QStringLiteral("safe"), new SafeFilter()); 0073 filters.insert(QStringLiteral("safeseq"), new SafeSequenceFilter()); 0074 filters.insert(QStringLiteral("slice"), new SliceFilter()); 0075 filters.insert(QStringLiteral("slugify"), new SlugifyFilter()); 0076 filters.insert(QStringLiteral("stringformat"), new StringFormatFilter()); 0077 filters.insert(QStringLiteral("striptags"), new StripTagsFilter()); 0078 filters.insert(QStringLiteral("time"), new TimeFilter()); 0079 filters.insert(QStringLiteral("timesince"), new TimeSinceFilter()); 0080 filters.insert(QStringLiteral("timeuntil"), new TimeUntilFilter()); 0081 filters.insert(QStringLiteral("title"), new TitleFilter()); 0082 filters.insert(QStringLiteral("truncatewords"), new TruncateWordsFilter()); 0083 filters.insert(QStringLiteral("unordered_list"), new UnorderedListFilter()); 0084 filters.insert(QStringLiteral("upper"), new UpperFilter()); 0085 filters.insert(QStringLiteral("wordcount"), new WordCountFilter()); 0086 filters.insert(QStringLiteral("wordwrap"), new WordWrapFilter()); 0087 filters.insert(QStringLiteral("yesno"), new YesNoFilter()); 0088 filters.insert(QStringLiteral("truncatechars"), new TruncateCharsFilter()); 0089 0090 return filters; 0091 } 0092 }; 0093 0094 #endif