diff options
Diffstat (limited to 'src/entrymerger.h')
-rw-r--r-- | src/entrymerger.h | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/src/entrymerger.h b/src/entrymerger.h new file mode 100644 index 0000000..46e23ca --- /dev/null +++ b/src/entrymerger.h @@ -0,0 +1,52 @@ +/*************************************************************************** + copyright : (C) 2007 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 TELLICO_ENTRYMERGER_H +#define TELLICO_ENTRYMERGER_H + +#include "datavectors.h" + +#include <qobject.h> + +namespace Tellico { + +/** + * @author Robby Stephenson + */ +class EntryMerger : public QObject { +Q_OBJECT +public: + EntryMerger(Data::EntryVec entries, QObject* parent); + +public slots: + void slotCancel(); + +private slots: + void slotStartNext(); + void slotCleanup(); + +private: + // if a clean merge is possible + bool cleanMerge(Data::EntryPtr entry1, Data::EntryPtr entry2) const; + bool askUser(Data::EntryPtr entry1, Data::EntryPtr entry2); + + Data::EntryVec m_entriesToCheck; + Data::EntryVec m_entriesToRemove; + Data::EntryVec m_entriesLeft; + int m_origCount; + bool m_cancelled; +}; + +} // end namespace + +#endif |