Warning, file /office/skrooge/skgbasegui/skgdateedit.cpp was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001 /*************************************************************************** 0002 * SPDX-FileCopyrightText: 2022 S. MANKOWSKI stephane@mankowski.fr 0003 * SPDX-FileCopyrightText: 2022 G. DE BURE support@mankowski.fr 0004 * SPDX-License-Identifier: GPL-3.0-or-later 0005 ***************************************************************************/ 0006 /** @file 0007 * A date editor with more features. 0008 * 0009 * @author Stephane MANKOWSKI / Guillaume DE BURE 0010 */ 0011 #include "skgdateedit.h" 0012 0013 #include <kdatevalidator.h> 0014 #include <qlineedit.h> 0015 0016 #include <klocalizedstring.h> 0017 0018 SKGDateEdit::SKGDateEdit(QWidget* iParent, const char* name) 0019 : KPIM::KDateEdit(iParent), m_mode(CURRENT) 0020 { 0021 setObjectName(name); 0022 setMode(CURRENT); 0023 setToolTip(i18n("Date of the transaction\nup or down to add or remove one day\nCTRL + up or CTRL + down to add or remove one month")); 0024 } 0025 0026 SKGDateEdit::~SKGDateEdit() 0027 = default; 0028 0029 SKGDateEdit::Mode SKGDateEdit::mode() const 0030 { 0031 return m_mode; 0032 } 0033 0034 void SKGDateEdit::setMode(Mode iMode) 0035 { 0036 if (iMode != m_mode) { 0037 m_mode = iMode; 0038 0039 auto* val = qobject_cast<KPIM::KDateValidator*>(const_cast<QValidator*>(validator())); 0040 val->setFixupBehavior(m_mode == CURRENT ? KPIM::KDateValidator::FixupCurrent : m_mode == NEXT ? KPIM::KDateValidator::FixupForward : KPIM::KDateValidator::FixupBackward); 0041 0042 emit modeChanged(); 0043 } 0044 } 0045 0046