summaryrefslogtreecommitdiff
path: root/core/pim
Unidiff
Diffstat (limited to 'core/pim') (more/less context) (ignore whitespace changes)
-rw-r--r--core/pim/datebook/datebookday.cpp19
1 files changed, 14 insertions, 5 deletions
diff --git a/core/pim/datebook/datebookday.cpp b/core/pim/datebook/datebookday.cpp
index 0a40ea9..e212807 100644
--- a/core/pim/datebook/datebookday.cpp
+++ b/core/pim/datebook/datebookday.cpp
@@ -129,102 +129,111 @@ void DateBookDayView::paintCell( QPainter *p, int, int, const QRect &cr, bool )
129 int x2 = w - 1; 129 int x2 = w - 1;
130 int y2 = h - 1; 130 int y2 = h - 1;
131 QPen pen( p->pen() ); 131 QPen pen( p->pen() );
132 p->setPen( colorGroup().dark() ); 132 p->setPen( colorGroup().dark() );
133 p->drawLine( x2, 0, x2, y2 ); 133 p->drawLine( x2, 0, x2, y2 );
134 p->drawLine( 0, y2, x2, y2 ); 134 p->drawLine( 0, y2, x2, y2 );
135 135
136 p->setPen( colorGroup().midlight() ); 136 p->setPen( colorGroup().midlight() );
137 p->drawLine( 0, y2 - h/2, x2, y2 - h/2); 137 p->drawLine( 0, y2 - h/2, x2, y2 - h/2);
138 138
139 p->setPen( pen ); 139 p->setPen( pen );
140 } 140 }
141} 141}
142 142
143void DateBookDayView::paintFocus( QPainter *, const QRect & ) 143void DateBookDayView::paintFocus( QPainter *, const QRect & )
144{ 144{
145} 145}
146 146
147void DateBookDayView::resizeEvent( QResizeEvent *e ) 147void DateBookDayView::resizeEvent( QResizeEvent *e )
148{ 148{
149 QTable::resizeEvent( e ); 149 QTable::resizeEvent( e );
150 columnWidthChanged( 0 ); 150 columnWidthChanged( 0 );
151 emit sigColWidthChanged(); 151 emit sigColWidthChanged();
152} 152}
153 153
154void DateBookDayView::keyPressEvent( QKeyEvent *e ) 154void DateBookDayView::keyPressEvent( QKeyEvent *e )
155{ 155{
156 QString txt = e->text(); 156 QString txt = e->text();
157 if ( !txt.isNull() && txt[0] > ' ' && e->key() < 0x1000 ) { 157 if ( !txt.isNull() && txt[0] > ' ' && e->key() < 0x1000 ) {
158 // we this is some sort of thing we know about... 158 // we this is some sort of thing we know about...
159 e->accept(); 159 e->accept();
160 emit sigCapturedKey( txt ); 160 emit sigCapturedKey( txt );
161 } else { 161 } else {
162 // I don't know what this key is, do you? 162 // I don't know what this key is, do you?
163 e->ignore(); 163 e->ignore();
164 } 164 }
165} 165}
166 166
167void DateBookDayView::setRowStyle( int style ) 167void DateBookDayView::setRowStyle( int style )
168{ 168{
169 if (style<0) style = 0; 169 if (style<0) style = 0;
170 170
171 for (int i=0; i<numRows(); i++) 171 for (int i=0; i<numRows(); i++)
172 setRowHeight(i, style*10+20); 172 setRowHeight(i, style*10+20);
173} 173}
174 174
175void DateBookDayView::contentsMouseReleaseEvent( QMouseEvent *e ) 175void DateBookDayView::contentsMouseReleaseEvent( QMouseEvent *e )
176{ 176{
177 int y=e->y(); 177 int sh=99,eh=-1;
178 int diff=y%(this->rowHeight(0)); 178
179 int hour=y/this->rowHeight(0); 179 for(int i=0;i<this->numSelections();i++) {
180 quickLineEdit=new DateBookDayViewQuickLineEdit(QDateTime(currDate,QTime(hour,0,0,0)),QDateTime(currDate,QTime(hour,59,0,0)),this->viewport(),"quickedit"); 180 QTableSelection sel = this->selection( i );
181 sh = QMIN(sh,sel.topRow());
182 eh = QMAX(sh,sel.bottomRow()+1);
183 }
184 if (sh > 23 || eh < 1) {
185 sh=8;
186 eh=9;
187 }
188
189 quickLineEdit=new DateBookDayViewQuickLineEdit(QDateTime(currDate,QTime(sh,0,0,0)),QDateTime(currDate,QTime(eh,0,0,0)),this->viewport(),"quickedit");
181 quickLineEdit->setGeometry(0,0,this->columnWidth(0)-1,this->rowHeight(0)); 190 quickLineEdit->setGeometry(0,0,this->columnWidth(0)-1,this->rowHeight(0));
182 this->moveChild(quickLineEdit,0,y-diff); 191 this->moveChild(quickLineEdit,0,sh*this->rowHeight(0));
183 quickLineEdit->setFocus(); 192 quickLineEdit->setFocus();
184 quickLineEdit->show(); 193 quickLineEdit->show();
185} 194}
186 195
187//=========================================================================== 196//===========================================================================
188 197
189DateBookDayViewQuickLineEdit::DateBookDayViewQuickLineEdit(const QDateTime &start, const QDateTime &end,QWidget * parent, const char *name=0) : QLineEdit(parent,name) 198DateBookDayViewQuickLineEdit::DateBookDayViewQuickLineEdit(const QDateTime &start, const QDateTime &end,QWidget * parent, const char *name=0) : QLineEdit(parent,name)
190{ 199{
191 active=1; 200 active=1;
192 quickEvent.setStart(start); 201 quickEvent.setStart(start);
193 quickEvent.setEnd(end); 202 quickEvent.setEnd(end);
194 connect(this,SIGNAL(returnPressed()),this,SLOT(slotReturnPressed())); 203 connect(this,SIGNAL(returnPressed()),this,SLOT(slotReturnPressed()));
195} 204}
196 205
197void DateBookDayViewQuickLineEdit::slotReturnPressed() 206void DateBookDayViewQuickLineEdit::slotReturnPressed()
198{ 207{
199 if(active && (!this->text().isEmpty())) {// Fix to avoid having this event beeing added multiple times. 208 if(active && (!this->text().isEmpty())) {// Fix to avoid having this event beeing added multiple times.
200 quickEvent.setDescription(this->text()); 209 quickEvent.setDescription(this->text());
201 connect(this,SIGNAL(insertEvent(const Event &)),this->topLevelWidget(),SLOT(insertEvent(const Event &))); 210 connect(this,SIGNAL(insertEvent(const Event &)),this->topLevelWidget(),SLOT(insertEvent(const Event &)));
202 emit(insertEvent(quickEvent)); 211 emit(insertEvent(quickEvent));
203 active=0; 212 active=0;
204 } 213 }
205 this->close(true);// Close and also delete this widget 214 this->close(true);// Close and also delete this widget
206} 215}
207 216
208void DateBookDayViewQuickLineEdit::focusOutEvent ( QFocusEvent * e ) 217void DateBookDayViewQuickLineEdit::focusOutEvent ( QFocusEvent * e )
209{ 218{
210 slotReturnPressed(); // Reuse code to add event and close this widget. 219 slotReturnPressed(); // Reuse code to add event and close this widget.
211} 220}
212 221
213//=========================================================================== 222//===========================================================================
214 223
215DateBookDay::DateBookDay( bool ampm, bool startOnMonday, DateBookDB *newDb, QWidget *parent, const char *name ) 224DateBookDay::DateBookDay( bool ampm, bool startOnMonday, DateBookDB *newDb, QWidget *parent, const char *name )
216 : QVBox( parent, name ), currDate( QDate::currentDate() ), db( newDb ), startTime( 0 ) 225 : QVBox( parent, name ), currDate( QDate::currentDate() ), db( newDb ), startTime( 0 )
217{ 226{
218 widgetList.setAutoDelete( true ); 227 widgetList.setAutoDelete( true );
219 header = new DateBookDayHeader( startOnMonday, this, "day header" ); 228 header = new DateBookDayHeader( startOnMonday, this, "day header" );
220 header->setDate( currDate.year(), currDate.month(), currDate.day() ); 229 header->setDate( currDate.year(), currDate.month(), currDate.day() );
221 view = new DateBookDayView( ampm, this, "day view" ); 230 view = new DateBookDayView( ampm, this, "day view" );
222 231
223 connect( header, SIGNAL( dateChanged( int, int, int ) ), this, SLOT( dateChanged( int, int, int ) ) ); 232 connect( header, SIGNAL( dateChanged( int, int, int ) ), this, SLOT( dateChanged( int, int, int ) ) );
224 connect( header, SIGNAL( dateChanged( int, int, int ) ), view, SLOT( slotDateChanged( int, int, int ) ) ); 233 connect( header, SIGNAL( dateChanged( int, int, int ) ), view, SLOT( slotDateChanged( int, int, int ) ) );
225 connect( view, SIGNAL( sigColWidthChanged() ), this, SLOT( slotColWidthChanged() ) ); 234 connect( view, SIGNAL( sigColWidthChanged() ), this, SLOT( slotColWidthChanged() ) );
226 connect( qApp, SIGNAL(weekChanged(bool)), this, SLOT(slotWeekChanged(bool)) ); 235 connect( qApp, SIGNAL(weekChanged(bool)), this, SLOT(slotWeekChanged(bool)) );
227 connect( view, SIGNAL(sigCapturedKey(const QString &)), this, SIGNAL(sigNewEvent(const QString&)) ); 236 connect( view, SIGNAL(sigCapturedKey(const QString &)), this, SIGNAL(sigNewEvent(const QString&)) );
228 237
229 QTimer *timer = new QTimer( this ); 238 QTimer *timer = new QTimer( this );
230 239