refactoring slidehelper in cpp to make it clear it's a helper class

This commit is contained in:
Chris Cochrun 2023-11-17 06:27:03 -06:00
parent 85136ddb94
commit 036505b8cb
3 changed files with 32 additions and 27 deletions

View file

@ -1,4 +1,4 @@
#include "slideobject.h"
#include "slidehelper.h"
#include "serviceitemmodel.h"
#include "slidemodel.h"
@ -6,13 +6,13 @@
#include <QDebug>
// using namespace PoDoFo;
SlideObject::SlideObject(QObject *parent)
SlideHelper::SlideHelper(QObject *parent)
: Slide{parent}
{
qDebug() << "Initializing slide";
}
SlideObject::SlideObject(const QString &text, const QString &audio,
SlideHelper::SlideHelper(const QString &text, const QString &audio,
const QString &imageBackground,
const QString &videoBackground,
const QString &horizontalTextAlignment,
@ -40,33 +40,33 @@ SlideObject::SlideObject(const QString &text, const QString &audio,
qDebug() << "Initializing slide with defaults";
}
bool SlideObject::isPlaying() const
bool SlideHelper::isPlaying() const
{
return m_isPlaying;
}
int SlideObject::slideIndex() const
int SlideHelper::slideIndex() const
{
return m_slideIndex;
}
int SlideObject::slideSize() const
int SlideHelper::slideSize() const
{
return m_slideSize;
}
bool SlideObject::loop() const
bool SlideHelper::loop() const
{
return m_loop;
}
void SlideObject::chngSlide(QVariantMap item, int index, SlideObj *slideObj) {
void SlideHelper::chngSlide(QVariantMap item, int index, SlideObject *slideObject) {
// qDebug() << "Here is the pointer to the slideObj" << slideObj;
// qDebug() << "Here is the item" << item;
slideObj->changeSlide(item, index);
slideObject->changeSlide(item, index);
}
void SlideObject::changeSlide(QVariantMap item, int index)
void SlideHelper::changeSlide(QVariantMap item, int index)
{
// QVariantMap serviceItem = serviceItemModel->getItem(item.value("serviceItemId").toInt());
if (item.value("text").toString() != text())
@ -104,7 +104,7 @@ void SlideObject::changeSlide(QVariantMap item, int index)
// emit slideSizeChanged(m_slideSize);
}
bool SlideObject::next(QVariantMap nextItem, SlideModel *slideModel)
bool SlideHelper::next(QVariantMap nextItem, SlideModel *slideModel)
{
// QVariantMap serviceItem = serviceItemModel->getItem(nextItem.value("serviceItemId").toInt());
setText(nextItem.value("text").toString());
@ -129,7 +129,7 @@ bool SlideObject::next(QVariantMap nextItem, SlideModel *slideModel)
return false;
}
bool SlideObject::previous(QVariantMap prevItem, SlideModel *slideModel)
bool SlideHelper::previous(QVariantMap prevItem, SlideModel *slideModel)
{
// QVariantMap serviceItem = serviceItemModel->getItem(prevItem.value("serviceItemId").toInt());
setText(prevItem.value("text").toString());
@ -153,10 +153,10 @@ bool SlideObject::previous(QVariantMap prevItem, SlideModel *slideModel)
return false;
}
bool SlideObject::changeSlideIndex(int index)
bool SlideHelper::changeSlideIndex(int index)
{
qDebug() << "Starting to change slide index.";
qDebug() << "SlideObject Index: " << slideIndex() << " SlideObject Size: " << slideSize();
qDebug() << "SlideHelper Index: " << slideIndex() << " SlideHelper Size: " << slideSize();
// QStringList text = serviceItemId().value("text").toStringList();
if (index > slideSize() - 1 || index < 0) {
qDebug() << "index is invalid: " << index;
@ -185,25 +185,25 @@ bool SlideObject::changeSlideIndex(int index)
return false;
}
void SlideObject::play()
void SlideHelper::play()
{
m_isPlaying = true;
emit isPlayingChanged(m_isPlaying);
}
void SlideObject::setLoop(bool loop)
void SlideHelper::setLoop(bool loop)
{
m_loop = loop;
emit loopChanged(m_loop);
}
void SlideObject::pause()
void SlideHelper::pause()
{
m_isPlaying = false;
emit isPlayingChanged(m_isPlaying);
}
void SlideObject::playPause()
void SlideHelper::playPause()
{
m_isPlaying = !m_isPlaying;
emit isPlayingChanged(m_isPlaying);

View file

@ -8,9 +8,9 @@
#include <qqml.h>
#include <QObject>
#include <qobject.h>
#include "cxx-qt-gen/slide_obj.cxxqt.h"
#include "cxx-qt-gen/slide_object.cxxqt.h"
class SlideObject : public Slide
class SlideHelper : public Slide
{
Q_OBJECT
Q_PROPERTY(bool isPlaying READ isPlaying NOTIFY isPlayingChanged)
@ -20,8 +20,8 @@ class SlideObject : public Slide
// QML_ELEMENT
public:
explicit SlideObject(QObject *parent = nullptr);
SlideObject(const QString &text, const QString &audio,
explicit SlideHelper(QObject *parent = nullptr);
SlideHelper(const QString &text, const QString &audio,
const QString &imageBackground, const QString &videoBackground,
const QString &horizontalTextAlignment, const QString &verticalTextAlignment,
const QString &font, const int &fontSize, const int &imageCount,
@ -34,7 +34,7 @@ public:
bool loop() const;
Q_INVOKABLE void changeSlide(QVariantMap item, int index);
Q_INVOKABLE void chngSlide(QVariantMap item, int index, SlideObj *slideObj);
Q_INVOKABLE void chngSlide(QVariantMap item, int index, SlideObject *slideObject);
Q_INVOKABLE void play();
Q_INVOKABLE void pause();
Q_INVOKABLE void playPause();

View file

@ -45,12 +45,12 @@
#include "cpp/imagesqlmodel.h"
#include "cpp/presentationsqlmodel.h"
#include "cpp/filemanager.h"
#include "cpp/slideobject.h"
#include "cpp/slidehelper.h"
// RUST
#include "cxx-qt-gen/service_thing.cxxqt.h"
#include "cxx-qt-gen/file_helper.cxxqt.h"
#include "cxx-qt-gen/slide_obj.cxxqt.h"
#include "cxx-qt-gen/slide_object.cxxqt.h"
#include "cxx-qt-gen/slide_model.cxxqt.h"
#include "cxx-qt-gen/service_item_model.cxxqt.h"
#include "cxx-qt-gen/settings.cxxqt.h"
@ -152,7 +152,7 @@ int main(int argc, char *argv[])
// QScopedPointer<QQuickView> preswin(new QQuickView);
QScopedPointer<ServiceItemMod> serviceItemModel(new ServiceItemMod);
QScopedPointer<ServiceItemModel> serviceItemC(new ServiceItemModel);
QScopedPointer<SlideObj> slideobject(new SlideObj);
QScopedPointer<SlideObject> slideobject(new SlideObject);
Settings *settings = new Settings;
settings->setup();
@ -232,7 +232,7 @@ int main(int argc, char *argv[])
qmlRegisterType<FileHelper>("org.presenter", 1, 0, "FileHelper");
qmlRegisterType<Ytdl>("org.presenter", 1, 0, "Ytdl");
qmlRegisterType<ServiceThing>("org.presenter", 1, 0, "ServiceThing");
qmlRegisterType<SlideObject>("org.presenter", 1, 0, "SlideHelper");
qmlRegisterType<SlideHelper>("org.presenter", 1, 0, "SlideHelper");
qmlRegisterSingletonInstance("org.presenter", 1, 0,
"ServiceItemModel", serviceItemModel.get());
qmlRegisterSingletonInstance("org.presenter", 1, 0,
@ -244,6 +244,11 @@ int main(int argc, char *argv[])
qmlRegisterSingletonInstance("org.presenter", 1, 0, "PresWindow", PresWindow);
qmlRegisterSingletonInstance("org.presenter", 1, 0, "RSettings", settings);
// qmlRegisterSingletonInstance("org.presenter", 1, 0, "PresWindow", preswin.get());
// This is the same slideobject, however to enusre that the PresWindow can have it
// we need to set it as a separate context so that it can change it's slides too.
// This is because SlideObject singleton is started before the window is shown
// thus it doesn't exist in this window's context. So we set it here.
PresWindow->rootContext()->setContextProperty("SlideObj", slideobject.get());
PresWindow->setTitle("presentation-window");