summaryrefslogtreecommitdiffstats
path: root/src/translators/bibtexexporter.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/translators/bibtexexporter.h')
-rw-r--r--src/translators/bibtexexporter.h63
1 files changed, 63 insertions, 0 deletions
diff --git a/src/translators/bibtexexporter.h b/src/translators/bibtexexporter.h
new file mode 100644
index 0000000..dccfde8
--- /dev/null
+++ b/src/translators/bibtexexporter.h
@@ -0,0 +1,63 @@
+/***************************************************************************
+ copyright : (C) 2003-2006 by Robby Stephenson
+ email : robby@periapsis.org
+ ***************************************************************************/
+
+/***************************************************************************
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of version 2 of the GNU General Public License as *
+ * published by the Free Software Foundation; *
+ * *
+ ***************************************************************************/
+
+#ifndef BIBTEXEXPORTER_H
+#define BIBTEXEXPORTER_H
+
+class QCheckBox;
+class KComboBox;
+
+#include "exporter.h"
+
+namespace Tellico {
+ namespace Export {
+
+/**
+ * The Bibtex exporter shows a list of possible Bibtex fields next to a combobox of all
+ * the current attributes in the collection. I had thought about the reverse - having a list
+ * of all the attributes, with comboboxes for each Bibtex field, but I think this way is more obvious.
+ *
+ * @author Robby Stephenson
+ */
+class BibtexExporter : public Exporter {
+Q_OBJECT
+
+public:
+ BibtexExporter();
+
+ virtual bool exec();
+ virtual QString formatString() const;
+ virtual QString fileFilter() const;
+
+ virtual QWidget* widget(QWidget* parent, const char* name=0);
+ virtual void readOptions(KConfig*);
+ virtual void saveOptions(KConfig*);
+
+private:
+ void writeEntryText(QString& text, const Data::FieldVec& field, const Data::Entry& entry,
+ const QString& type, const QString& key);
+
+ bool m_expandMacros;
+ bool m_packageURL;
+ bool m_skipEmptyKeys;
+
+ QWidget* m_widget;
+ QCheckBox* m_checkExpandMacros;
+ QCheckBox* m_checkPackageURL;
+ QCheckBox* m_checkSkipEmpty;
+ KComboBox* m_cbBibtexStyle;
+};
+
+ } // end namespace
+} // end namespace
+#endif