1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117
|
/* This file is part of the KDE project
* Copyright (C) 2011 Smit Patel <smitpatel24@gmail.com>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public License
* along with this library; see the file COPYING.LIB. If not, write to
* the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301, USA.
*/
#ifndef KOODFBIBLIOGRAPHYCONFIGURATION_H
#define KOODFBIBLIOGRAPHYCONFIGURATION_H
#include <QString>
#include <QMetaType>
#include <QObject>
#include "KoXmlReader.h"
#include "koodf_export.h"
class KoXmlWriter;
// TODO: add namespacing prefix
typedef QPair<QString, Qt::SortOrder> SortKeyPair;
/**
* load and save the bibliography-configuration element from the text: namespace.
* • Prefix
* • Suffix
* • Numbered entries
* • Sort by position
* • Sort algorithm
*/
class KOODF_EXPORT KoOdfBibliographyConfiguration : public QObject
{
Q_OBJECT
public:
KoOdfBibliographyConfiguration();
~KoOdfBibliographyConfiguration() override;
KoOdfBibliographyConfiguration(const KoOdfBibliographyConfiguration &other);
KoOdfBibliographyConfiguration &operator=(const KoOdfBibliographyConfiguration &other);
static const QList<QString> bibTypes;
static const QList<QString> bibDataFields;
/**
* load the bibliography-configuration element
*/
void loadOdf(const KoXmlElement &element);
/**
* save the bibliography-configuration element
*/
void saveOdf(KoXmlWriter * writer) const;
/**
* Sort by position
* If text:sort-by-position attribute is true then bibliography entries or citations will be
* sorted according to their position in document.
*/
bool sortByPosition() const;
void setSortByPosition(bool enable);
/**
* Numbered entries
* If text:numbered-entries attribute is true then bibliography entries or citations will be numbered.
*/
bool numberedEntries() const;
void setNumberedEntries(bool enable);
/**
* Prefix
* The text:prefix attribute specifies prefix of bibliography entry or citation(text:bibliography-mark)
*/
QString prefix() const;
void setPrefix(const QString &prefixValue);
/**
* Suffix
* The text:suffix attribute specifies suffix of bibliography entry or citation(text:bibliography-mark)
*/
QString suffix() const;
void setSuffix(const QString &suffixValue);
/**
* Sort algorithm
* The text:sort-algorithm attribute specifies sorting algorithm for bibliography entry
*/
QString sortAlgorithm() const;
void setSortAlgorithm(const QString &algorithm);
/**
* Sort Keys
* The text:sort-key attribute specifies sort key for bibliography entry
*/
QVector<SortKeyPair> sortKeys() const;
void setSortKeys(const QVector<SortKeyPair> &sortKeys);
private:
class Private;
Private * const d;
};
Q_DECLARE_METATYPE(KoOdfBibliographyConfiguration*)
#endif // KOODFBIBLIOGRAPHYCONFIGURATION_H
|