From: Jason Harris Date: Mon, 13 Mar 2006 02:53:53 +0000 (+0000) Subject: Commiting Albert's patch to make ExtDate widgets work in Qt designer. X-Git-Tag: v3.80.2~146 X-Git-Url: https://git.rmz.fi/?a=commitdiff_plain;h=1c6078fa529b69b17fe117180628083a851c7d7a;p=libqmvoc.git Commiting Albert's patch to make ExtDate widgets work in Qt designer. Also fixing compile error in ExtDateTime that I introduced last night. Thanks Albert! CCMAIL: kde-edu@kde.org svn path=/trunk/KDE/kdeedu/libkdeedu/; revision=518081 --- diff --git a/extdate/extdatetime.cpp b/extdate/extdatetime.cpp index 1201c78..bb4412c 100644 --- a/extdate/extdatetime.cpp +++ b/extdate/extdatetime.cpp @@ -64,6 +64,9 @@ QString ExtDate::m_longDayNames[7] = { i18n("Friday"), i18n("Saturday"), i18n("Sunday") }; +ExtDate::ExtDate() : m_jd(INVALID_DAY), m_year(0), m_month(0), m_day(0) +{} + ExtDate::ExtDate( int y, int m, int d) { if ( !isValid(y,m,d) ) { @@ -591,8 +594,9 @@ int ExtDate::dayOfYear(int y, int m, int d) \sa ExtDate QTime ExtDateTimeEdit */ -ExtDateTime::ExtDateTime() { - ExtDateTime( ExtDate(), QTime() ); +ExtDateTime::ExtDateTime() + : d( ExtDate() ), t( QTime() ) +{ } ExtDateTime::ExtDateTime( const ExtDate &date ) diff --git a/extdate/extdatetime.h b/extdate/extdatetime.h index de281c3..bf3f4ee 100644 --- a/extdate/extdatetime.h +++ b/extdate/extdatetime.h @@ -64,7 +64,7 @@ class KDE_EXPORT ExtDate *@short Default constructor *Create an invalid date */ - ExtDate() : m_jd(INVALID_DAY), m_year(0), m_month(0), m_day(0) {} + ExtDate(); /** *@short Constructor *Create an ExtDate for the specified calendar date diff --git a/extdate/extdatetimeedit.cpp b/extdate/extdatetimeedit.cpp index 47d0e10..b80ab7e 100644 --- a/extdate/extdatetimeedit.cpp +++ b/extdate/extdatetimeedit.cpp @@ -28,8 +28,28 @@ #include "extdatetimeedit.h" -ExtDateEdit::ExtDateEdit( const ExtDate &d, QWidget *parent ) -: QSpinBox( parent ), ActiveField(0), m_Date(d) { +ExtDateEdit::ExtDateEdit( const ExtDate &d, QWidget *parent ) +: QSpinBox( parent ) { + init (d); +} + +ExtDateEdit::ExtDateEdit( int jd, QWidget *parent ) + : QSpinBox( parent ) { + ExtDate ed(jd); + init( ed ); +} + +ExtDateEdit::ExtDateEdit( QWidget *p ) + : QSpinBox( p ) { + init( ExtDate::currentDate() ); +} + +ExtDateEdit::~ExtDateEdit() { +} + +void ExtDateEdit::init( const ExtDate &d ) { + ActiveField = 0; + m_Date = d; setRange( -20000000, 20000000 ); //range of Julian Days //Set the date format to be the Locale's short date format, except: @@ -50,19 +70,6 @@ ExtDateEdit::ExtDateEdit( const ExtDate &d, QWidget *parent ) highlightActiveField(); } -ExtDateEdit::ExtDateEdit( int jd, QWidget *parent ) { - ExtDate ed(jd); - ExtDateEdit( ed, parent ); -} - -ExtDateEdit::ExtDateEdit( QWidget *p ) { - ExtDate ed = ExtDate::currentDate(); - ExtDateEdit( ed, p ); -} - -ExtDateEdit::~ExtDateEdit() { -} - QString ExtDateEdit::simpleDateFormat() { //Convert the KDE date format string (e.g., "%Y-%m-%d") to one //that accurately represents the number of digits in each date @@ -203,27 +210,31 @@ void ExtDateEdit::focusInEvent( QFocusEvent *e ) { ExtDateTimeEdit::ExtDateTimeEdit( const ExtDateTime &dt, QWidget *parent ) : QFrame( parent ) { - QHBoxLayout *hlay = new QHBoxLayout( this ); - m_DateEdit = new ExtDateEdit( dt.date(), this ); - m_TimeEdit = new QTimeEdit( dt.time(), this ); - - hlay->addWidget( m_DateEdit ); - hlay->addWidget( m_TimeEdit ); + init( dt ); } -ExtDateTimeEdit::ExtDateTimeEdit( const ExtDate &date, const QTime &time, QWidget *parent ) { - ExtDateTime dt( date, time ); - ExtDateTimeEdit( dt, parent ); +ExtDateTimeEdit::ExtDateTimeEdit( const ExtDate &date, const QTime &time, QWidget *parent ) +: QFrame( parent ) { + init( ExtDateTime( date, time ) ); } -ExtDateTimeEdit::ExtDateTimeEdit( QWidget *p ) { - ExtDateTime edt = ExtDateTime::currentDateTime(); - ExtDateTimeEdit( edt, p ); +ExtDateTimeEdit::ExtDateTimeEdit( QWidget *p ) +: QFrame( p ) { + init( ExtDateTime::currentDateTime() ); } ExtDateTimeEdit::~ExtDateTimeEdit() { } +void ExtDateTimeEdit::init( const ExtDateTime &dt ) { + QHBoxLayout *hlay = new QHBoxLayout( this ); + m_DateEdit = new ExtDateEdit( dt.date(), this ); + m_TimeEdit = new QTimeEdit( dt.time(), this ); + + hlay->addWidget( m_DateEdit ); + hlay->addWidget( m_TimeEdit ); +} + edLineEdit::edLineEdit( QWidget *parent ) : QLineEdit( parent ) { edParent = (ExtDateEdit*)parent; } diff --git a/extdate/extdatetimeedit.h b/extdate/extdatetimeedit.h index 209525d..ae257c6 100644 --- a/extdate/extdatetimeedit.h +++ b/extdate/extdatetimeedit.h @@ -220,6 +220,8 @@ class ExtDateEdit : public QSpinBox { QString simpleDateFormat(); private: + void init( const ExtDate &d ); + uchar ActiveField; // 0==day; 1==month; 2==year ExtDate m_Date; QString m_DateFormat; @@ -309,6 +311,8 @@ class ExtDateTimeEdit : public QFrame { dt.time() ); } private: + void init( const ExtDateTime &dt ); + QTimeEdit *m_TimeEdit; ExtDateEdit *m_DateEdit; }; diff --git a/widgets/Makefile.am b/widgets/Makefile.am index 063129d..06a9147 100644 --- a/widgets/Makefile.am +++ b/widgets/Makefile.am @@ -1,4 +1,4 @@ -INCLUDES = -I$(srcdir)/../kdeeduplot $(all_includes) +INCLUDES = -I$(srcdir)/../kdeeduplot $(all_includes) -I$(srcdir)/../extdate AM_CXXFLAGS = -DQT_PLUGIN #KDE_CXXFLAGS = -UQT3_SUPPORT @@ -7,7 +7,7 @@ METASOURCES = AUTO kde_widget_LTLIBRARIES = kdeeduwidgets.la kdeeduwidgets_la_LDFLAGS = $(KDE_PLUGIN) -module $(all_libraries) -kdeeduwidgets_la_LIBADD = $(LIB_KIO) ../kdeeduplot/libkdeeduplot.la +kdeeduwidgets_la_LIBADD = $(LIB_KIO) ../kdeeduplot/libkdeeduplot.la ../extdate/libextdate.la kdeeduwidgets_la_SOURCES = kdeeduwidgets.cpp kdeeduwidgets.cpp: $(srcdir)/kdeedu.widgets diff --git a/widgets/kdeedu.widgets b/widgets/kdeedu.widgets index e2a2263..9c55e10 100644 --- a/widgets/kdeedu.widgets +++ b/widgets/kdeedu.widgets @@ -5,6 +5,25 @@ Includes=kinstance.h [KPlotWidget] ToolTip=A plot widget (KDE-Edu) -WhatsThis=A widget that allows you to plot simple stuff +WhatsThis=A widget for easily making 2-dimensional plots Group=Plot (KDE-Edu) ConstructorArgs=(0.0, 1.0, 0.0, 1.0, parent) + +[ExtDateEdit] +ToolTip=spinbox-based extended date editor (KDE-Edu) +WhatsThis=Allows the user to specify an extended date +Group=Date and Time (KDE-Edu) +ConstructorArgs=(parent) +IncludeFile=extdatetimeedit.h + +[ExtDateTimeEdit] +ToolTip=spinbox-based extended date/time editor (KDE-Edu) +WhatsThis=Allows the user to specify an extended date and a time +Group=Date and Time (KDE-Edu) +ConstructorArgs=(parent) + +[ExtDatePicker] +ToolTip=calendar-based extended date selector (KDE-Edu) +WhatsThis=Allows the user to specify an extended date using a calendar +Group=Date and Time (KDE-Edu) +ConstructorArgs=(parent)