1 /*************************************************************************** 2 * SPDX-FileCopyrightText: 2021 S. MANKOWSKI stephane@mankowski.fr 3 * SPDX-FileCopyrightText: 2021 G. DE BURE support@mankowski.fr 4 * SPDX-License-Identifier: GPL-3.0-or-later 5 ***************************************************************************/ 6 /** @file 7 * A date editor with more features. 8 * 9 * @author Stephane MANKOWSKI / Guillaume DE BURE 10 */ 11 #include "skgdateedit.h" 12 13 #include <kdatevalidator.h> 14 #include <qlineedit.h> 15 16 #include <klocalizedstring.h> 17 SKGDateEdit(QWidget * iParent,const char * name)18SKGDateEdit::SKGDateEdit(QWidget* iParent, const char* name) 19 : KPIM::KDateEdit(iParent), m_mode(CURRENT) 20 { 21 setObjectName(name); 22 setMode(CURRENT); 23 setToolTip(i18n("Date of the operation\nup or down to add or remove one day\nCTRL + up or CTRL + down to add or remove one month")); 24 } 25 26 SKGDateEdit::~SKGDateEdit() 27 = default; 28 mode() const29SKGDateEdit::Mode SKGDateEdit::mode() const 30 { 31 return m_mode; 32 } 33 setMode(Mode iMode)34void SKGDateEdit::setMode(Mode iMode) 35 { 36 if (iMode != m_mode) { 37 m_mode = iMode; 38 39 auto* val = qobject_cast<KPIM::KDateValidator*>(const_cast<QValidator*>(validator())); 40 val->setFixupBehavior(m_mode == CURRENT ? KPIM::KDateValidator::FixupCurrent : m_mode == NEXT ? KPIM::KDateValidator::FixupForward : KPIM::KDateValidator::FixupBackward); 41 42 emit modeChanged(); 43 } 44 } 45 46 47