Simplified lyrics storage into a string instead of complex verses
[kworship.git] / kworship / songdb / KwSongdbLyricsLayout.cpp
blobe067b5e5a30abeab72c1fddd3234a56410a675b6
1 /***************************************************************************
2 * This file is part of KWorship. *
3 * Copyright 2008 James Hogan <james@albanarts.com> *
4 * *
5 * KWorship is free software: you can redistribute it and/or modify *
6 * it under the terms of the GNU General Public License as published by *
7 * the Free Software Foundation, either version 2 of the License, or *
8 * (at your option) any later version. *
9 * *
10 * KWorship is distributed in the hope that it will be useful, *
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
13 * GNU General Public License for more details. *
14 * *
15 * You should have received a copy of the GNU General Public License *
16 * along with KWorship. If not, write to the Free Software Foundation, *
17 * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
18 ***************************************************************************/
20 /**
21 * @file KwSongdbLyricsLayout.cpp
22 * @brief Manipulates a layout of lyrics.
23 * @author James Hogan <james@albanarts.com>
26 #include "KwSongdbLyricsLayout.h"
28 #include "compiler.h"
31 * Constructors + destructor
34 /// Primary constructor.
35 KwSongdbLyricsLayout::KwSongdbLyricsLayout(const KwSongdbLyrics& lyrics)
36 : m_lyrics(lyrics)
37 , m_pageCache(lyrics.plainVerses())
41 /// Destructor.
42 KwSongdbLyricsLayout::~KwSongdbLyricsLayout()
47 * Pagination
50 /// Get the number of pages.
51 int KwSongdbLyricsLayout::numPages() const
53 return m_pageCache.size();
56 /// Get the plain text content of a page.
57 QString KwSongdbLyricsLayout::pageContent(int page) const
59 if (likely(page > 0 && page < m_pageCache.size()))
61 return m_pageCache[page];
63 else
65 return QString();