mirror of
https://bitbucket.org/smil3y/kde-extraapps.git
synced 2025-02-23 18:32:53 +00:00
gwenview: port to the new KCalendarWidget class
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
This commit is contained in:
parent
81d53fe5a3
commit
94a4442bd9
1 changed files with 21 additions and 17 deletions
|
@ -22,11 +22,12 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Cambridge, MA 02110-1301, USA
|
||||||
#include "moc_datewidget.cpp"
|
#include "moc_datewidget.cpp"
|
||||||
|
|
||||||
// Qt
|
// Qt
|
||||||
#include <QtCore/qdatetime.h>
|
#include <QDateTime>
|
||||||
#include <QHBoxLayout>
|
#include <QHBoxLayout>
|
||||||
|
#include <QFrame>
|
||||||
|
|
||||||
// KDE
|
// KDE
|
||||||
#include <KDatePicker>
|
#include <KCalendarWidget>
|
||||||
#include <KDebug>
|
#include <KDebug>
|
||||||
#include <KIconLoader>
|
#include <KIconLoader>
|
||||||
#include <KLocale>
|
#include <KLocale>
|
||||||
|
@ -42,23 +43,25 @@ struct DateWidgetPrivate
|
||||||
DateWidget* q;
|
DateWidget* q;
|
||||||
|
|
||||||
QDate mDate;
|
QDate mDate;
|
||||||
KDatePicker* mDatePicker;
|
QFrame* mCalendarFrame;
|
||||||
|
KCalendarWidget* mCalendarWidget;
|
||||||
StatusBarToolButton* mPreviousButton;
|
StatusBarToolButton* mPreviousButton;
|
||||||
StatusBarToolButton* mDateButton;
|
StatusBarToolButton* mDateButton;
|
||||||
StatusBarToolButton* mNextButton;
|
StatusBarToolButton* mNextButton;
|
||||||
|
|
||||||
void setupDatePicker()
|
void setupDatePicker()
|
||||||
{
|
{
|
||||||
mDatePicker = new KDatePicker;
|
mCalendarFrame = new QFrame();
|
||||||
|
mCalendarWidget = new KCalendarWidget(mCalendarFrame);
|
||||||
/* Use Qt::Tool instead of Qt::Window so that the bubble does not appear in the task bar */
|
/* Use Qt::Tool instead of Qt::Window so that the bubble does not appear in the task bar */
|
||||||
//mDatePicker->setWindowFlags(Qt::Tool | Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint);
|
//mCalendarFrame->setWindowFlags(Qt::Tool | Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint);
|
||||||
mDatePicker->setWindowFlags(Qt::Popup);
|
mCalendarFrame->setWindowFlags(Qt::Popup);
|
||||||
mDatePicker->hide();
|
mCalendarFrame->hide();
|
||||||
mDatePicker->setFrameStyle(QFrame::StyledPanel | QFrame::Raised);
|
mCalendarFrame->setFrameStyle(QFrame::StyledPanel | QFrame::Raised);
|
||||||
|
|
||||||
QObject::connect(mDatePicker, SIGNAL(dateEntered(QDate)),
|
QObject::connect(mCalendarWidget, SIGNAL(clicked(QDate)),
|
||||||
q, SLOT(slotDatePickerModified(QDate)));
|
q, SLOT(slotDatePickerModified(QDate)));
|
||||||
QObject::connect(mDatePicker, SIGNAL(dateSelected(QDate)),
|
QObject::connect(mCalendarWidget, SIGNAL(activated(QDate)),
|
||||||
q, SLOT(slotDatePickerModified(QDate)));
|
q, SLOT(slotDatePickerModified(QDate)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -108,7 +111,7 @@ DateWidget::DateWidget(QWidget* parent)
|
||||||
|
|
||||||
DateWidget::~DateWidget()
|
DateWidget::~DateWidget()
|
||||||
{
|
{
|
||||||
delete d->mDatePicker;
|
delete d->mCalendarFrame;
|
||||||
delete d;
|
delete d;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -119,16 +122,17 @@ QDate DateWidget::date() const
|
||||||
|
|
||||||
void DateWidget::showDatePicker()
|
void DateWidget::showDatePicker()
|
||||||
{
|
{
|
||||||
d->mDatePicker->setDate(d->mDate);
|
d->mCalendarWidget->setSelectedDate(d->mDate);
|
||||||
d->mDatePicker->adjustSize();
|
d->mCalendarWidget->adjustSize();
|
||||||
const QPoint pos = mapToGlobal(QPoint(0, -d->mDatePicker->height()));
|
d->mCalendarFrame->adjustSize();
|
||||||
d->mDatePicker->move(pos);
|
const QPoint pos = mapToGlobal(QPoint(0, -d->mCalendarFrame->height()));
|
||||||
d->mDatePicker->show();
|
d->mCalendarFrame->move(pos);
|
||||||
|
d->mCalendarFrame->show();
|
||||||
}
|
}
|
||||||
|
|
||||||
void DateWidget::slotDatePickerModified(const QDate& date)
|
void DateWidget::slotDatePickerModified(const QDate& date)
|
||||||
{
|
{
|
||||||
d->mDatePicker->hide();
|
d->mCalendarFrame->hide();
|
||||||
d->mDate = date;
|
d->mDate = date;
|
||||||
emit dateChanged(date);
|
emit dateChanged(date);
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue