File indexing completed on 2025-03-09 03:52:06
0001 /* ============================================================ 0002 * 0003 * This file is a part of digiKam project 0004 * https://www.digikam.org 0005 * 0006 * Date : 2008-09-09 0007 * Description : a presentation tool. 0008 * 0009 * SPDX-FileCopyrightText: 2008 by Valerio Fuoglio <valerio dot fuoglio at gmail dot com> 0010 * SPDX-FileCopyrightText: 2012-2024 by Gilles Caulier <caulier dot gilles at gmail dot com> 0011 * 0012 * SPDX-License-Identifier: GPL-2.0-or-later 0013 * 0014 * ============================================================ */ 0015 0016 #include "presentation_advpage.h" 0017 0018 // Local includes 0019 0020 #include "digikam_config.h" 0021 #include "presentationcontainer.h" 0022 #include "presentationwidget.h" 0023 0024 #ifdef HAVE_OPENGL 0025 # include "presentationgl.h" 0026 # include "presentationkb.h" 0027 #endif 0028 0029 using namespace Digikam; 0030 0031 namespace DigikamGenericPresentationPlugin 0032 { 0033 0034 PresentationAdvPage::PresentationAdvPage(QWidget* const parent, 0035 PresentationContainer* const sharedData) 0036 : QWidget(parent) 0037 { 0038 setupUi(this); 0039 0040 m_sharedData = sharedData; 0041 0042 connect(m_useMillisecondsCheckBox, SIGNAL(toggled(bool)), 0043 this, SLOT(slotUseMillisecondsToggled())); 0044 0045 #ifdef HAVE_OPENGL 0046 0047 m_openGlFullScale->setEnabled(true); 0048 0049 #else 0050 0051 m_openGlFullScale->setEnabled(false); 0052 0053 #endif 0054 0055 } 0056 0057 PresentationAdvPage::~PresentationAdvPage() 0058 { 0059 } 0060 0061 void PresentationAdvPage::readSettings() 0062 { 0063 m_enableMouseWheelCheckBox->setChecked(m_sharedData->enableMouseWheel); 0064 m_useMillisecondsCheckBox->setChecked(m_sharedData->useMilliseconds); 0065 m_kbDisableFadeCheckBox->setChecked(m_sharedData->kbDisableFadeInOut); 0066 m_kbDisableCrossfadeCheckBox->setChecked(m_sharedData->kbDisableCrossFade); 0067 m_enableKenBurnsSameSpeed->setChecked(m_sharedData->kbEnableSameSpeed); 0068 m_openGlFullScale->setChecked(m_sharedData->openGlFullScale); 0069 m_openGlFullScale->setEnabled(m_sharedData->opengl); 0070 m_useMillisecondsCheckBox->setEnabled(!m_sharedData->offAutoDelay); // MilliSeconds Checkbox in advanced page off when AutoDelay is On 0071 0072 slotUseMillisecondsToggled(); 0073 } 0074 0075 void PresentationAdvPage::saveSettings() 0076 { 0077 0078 #ifdef HAVE_OPENGL 0079 0080 m_sharedData->openGlFullScale = m_openGlFullScale->isChecked(); 0081 0082 #endif 0083 0084 m_sharedData->useMilliseconds = m_useMillisecondsCheckBox->isChecked(); 0085 m_sharedData->enableMouseWheel = m_enableMouseWheelCheckBox->isChecked(); 0086 m_sharedData->kbDisableFadeInOut = m_kbDisableFadeCheckBox->isChecked(); 0087 m_sharedData->kbDisableCrossFade = m_kbDisableCrossfadeCheckBox->isChecked(); 0088 m_sharedData->kbEnableSameSpeed = m_enableKenBurnsSameSpeed->isChecked(); 0089 } 0090 0091 void PresentationAdvPage::slotUseMillisecondsToggled() 0092 { 0093 m_sharedData->useMilliseconds = m_useMillisecondsCheckBox->isChecked(); 0094 0095 Q_EMIT useMillisecondsToggled(); 0096 } 0097 0098 } // namespace DigikamGenericPresentationPlugin 0099 0100 #include "moc_presentation_advpage.cpp"