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