generic: port to the new KCalendarWidget class

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
This commit is contained in:
Ivailo Monev 2023-07-23 05:52:55 +03:00
parent e7f77354da
commit 84fc233313
6 changed files with 30 additions and 26 deletions

View file

@ -78,7 +78,7 @@
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="KDatePicker" name="cal">
<widget class="KCalendarWidget" name="cal">
<property name="whatsThis">
<string>Here you can change the system date's day of the month, month and year.</string>
</property>
@ -191,9 +191,9 @@
<header>kseparator.h</header>
</customwidget>
<customwidget>
<class>KDatePicker</class>
<extends>QFrame</extends>
<header>kdatepicker.h</header>
<class>KCalendarWidget</class>
<extends>QCalendarWidget</extends>
<header>kcalendarwidget.h</header>
</customwidget>
</customwidgets>
<connections/>

View file

@ -106,7 +106,9 @@ Dtime::Dtime(QWidget * parent)
timeEdit->setWhatsThis( wtstr );
connect( timeEdit, SIGNAL(timeChanged(QTime)), SLOT(set_time()) );
connect( cal, SIGNAL(dateChanged(QDate)), SLOT(changeDate(QDate)));
cal->setContentsMargins(2, 2, 2, 2);
connect( cal, SIGNAL(activated(QDate)), SLOT(changeDate(QDate)));
connect( cal, SIGNAL(clicked(QDate)), SLOT(changeDate(QDate)));
connect( &internalTimer, SIGNAL(timeout()), SLOT(timeout()) );
@ -193,7 +195,7 @@ oceania.pool.ntp.org")).split(',', QString::SkipEmptyParts));
// Reset to the current date and time
time = QTime::currentTime();
date = QDate::currentDate();
cal->setDate(date);
cal->setSelectedDate(date);
// start internal timer
internalTimer.start( 1000 );

View file

@ -20,7 +20,6 @@
// Own
#include "widgets.h"
#include <kdatepicker.h>
// Qt
#include <QtCore/QFile>
@ -40,6 +39,7 @@
#include <kcmdlineargs.h>
#include <ktextedit.h>
#include <kvbox.h>
#include <kcalendarwidget.h>
// Local
#include "klistboxdialog.h"
@ -356,14 +356,15 @@ bool Widgets::calendar( QWidget *parent, const QString &title, const QString &te
QLabel label (vbox);
label.setText (text);
KDatePicker dateWidget( vbox );
KCalendarWidget dateWidget( vbox );
dateWidget.setContentsMargins(2, 2, 2, 2);
dateWidget.setFocus();
handleXGeometry(&dlg);
const bool retcode = (dlg.exec() == QDialog::Accepted);
if (retcode)
result = dateWidget.date();
result = dateWidget.selectedDate();
return retcode;
}

View file

@ -20,15 +20,15 @@
#include "moc_kdatecombo.cpp"
#include <QtCore/QTimer>
#include <QTimer>
//Added by qt3to4:
#include <QtGui/qevent.h>
#include <QtCore/QEvent>
#include <QEvent>
#include <QWidgetAction>
#include <kglobal.h>
#include <klocale.h>
#include <kdatepicker.h>
#include <kdatetable.h>
#include <kcalendarwidget.h>
#include <kdebug.h>
KDateCombo::KDateCombo(QWidget *parent) : KComboBox(parent)
@ -49,16 +49,18 @@ KDateCombo::KDateCombo(const QDate & date, QWidget *parent) : KComboBox(parent)
void KDateCombo::initObject(const QDate & date)
{
setValidator(0);
popupFrame = new KPopupFrame(this);
popupFrame = new QMenu(this);
popupFrame->installEventFilter(this);
datePicker = new KDatePicker(date, popupFrame);
datePicker = new KCalendarWidget(date, popupFrame);
datePicker->setMinimumSize(datePicker->sizeHint());
datePicker->installEventFilter(this);
popupFrame->setMainWidget(datePicker);
QWidgetAction* popupAction = new QWidgetAction(popupFrame);
popupAction->setDefaultWidget(datePicker);
popupFrame->addAction(popupAction);
setDate(date);
connect(datePicker, SIGNAL(dateSelected(QDate)), this, SLOT(dateEnteredEvent(QDate)));
connect(datePicker, SIGNAL(dateEntered(QDate)), this, SLOT(dateEnteredEvent(QDate)));
connect(datePicker, SIGNAL(activated(QDate)), this, SLOT(dateEnteredEvent(QDate)));
connect(datePicker, SIGNAL(clicked(QDate)), this, SLOT(dateEnteredEvent(QDate)));
}
KDateCombo::~KDateCombo()
@ -98,7 +100,7 @@ void KDateCombo::dateEnteredEvent(const QDate &newDate)
{
QDate tempDate = newDate;
if (!tempDate.isValid())
tempDate = datePicker->date();
tempDate = datePicker->selectedDate();
popupFrame->hide();
setDate(tempDate);
}
@ -111,7 +113,7 @@ void KDateCombo::mousePressEvent (QMouseEvent * e)
{
QDate tempDate;
getDate(& tempDate);
datePicker->setDate(tempDate);
datePicker->setSelectedDate(tempDate);
popupFrame->popup(mapToGlobal(QPoint(0, height())));
}
}

View file

@ -20,7 +20,8 @@
#define KDATECOMBO_H
#include <QWidget>
#include <QtCore/qdatetime.h>
#include <QDateTime>
#include <QMenu>
#include <kcombobox.h>
@ -28,8 +29,7 @@
*@author Beppe Grimaldi
*/
class KDatePicker;
class KPopupFrame;
class KCalendarWidget;
class KDateCombo : public KComboBox {
Q_OBJECT
@ -43,8 +43,8 @@ public:
bool setDate(const QDate & newDate);
private:
KPopupFrame * popupFrame;
KDatePicker * datePicker;
QMenu * popupFrame;
KCalendarWidget * datePicker;
void initObject(const QDate & date);

View file

@ -38,7 +38,6 @@
#include <KColorScheme>
#include <KConfigDialog>
#include <KConfigGroup>
#include <KDatePicker>
#include <KMenu>
#include <KDebug>
#include <KDialog>