Basic openoffice.org control, and listening for new presentation documents, still...
[kworship.git] / unipresent / kpresenter1 / UpKpr1Slide.cpp
blob784e3fcd0568956c902053d49f450afe6c8165ca
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 UpKpr1Slide.cpp
22 * @brief KPresenter 1 presentation slide.
23 * @author James Hogan <james@albanarts.com>
26 #include "UpKpr1Slide.h"
27 #include "UpKpr1Presentation.h"
29 #include <QTemporaryFile>
32 * Constructors + destructor
35 /// Primary constructor.
36 UpKpr1Slide::UpKpr1Slide(UpKpr1Presentation* presentation, const UpKpr1SlideDcop& dcop, int index)
37 : UpSlide(presentation)
38 , m_presentation(presentation)
39 , m_dcop(dcop)
40 , m_index(index)
41 , m_title()
42 , m_outline()
43 , m_preview()
47 /// Destructor.
48 UpKpr1Slide::~UpKpr1Slide()
53 * Main interface
56 QString UpKpr1Slide::title()
58 if (m_title.isNull())
60 m_title = m_dcop.title();
62 return m_title;
65 QString UpKpr1Slide::outline()
67 if (m_outline.isNull())
69 m_outline = m_dcop.textObjectsContents().join("\n");
71 return m_outline;
74 QPixmap UpKpr1Slide::preview()
76 if (m_preview.isNull())
78 UpKpr1ViewDcop view = m_presentation->dcopView();
79 QTemporaryFile previewFile;
80 previewFile.open();
82 bool error;
83 QString page;
84 page.setNum(m_index+1);
85 view.eval(&error, QStringList() << "exportPage(int,int,int,QString,QString,int,int)"
86 << page // Page number
87 << "1024" // Width
88 << "768" // Height
89 << previewFile.fileName() // Filename
90 << "PPM" // Format
91 << "50" // Quality
92 << "0" // Verbose
95 if (!error)
97 m_preview.load(previewFile.fileName());
98 m_preview = m_preview.scaledToHeight(125, Qt::SmoothTransformation);
101 return m_preview;
104 #include "UpKpr1Slide.moc"