summaryrefslogtreecommitdiff
authorumopapisdn <umopapisdn>2003-04-13 22:25:35 (UTC)
committer umopapisdn <umopapisdn>2003-04-13 22:25:35 (UTC)
commit053c38bb48ae8e7563293bc029f3c9d029b947f7 (patch) (unidiff)
tree4277c6ba37ceed2233df07bf8ead89b049977f2f
parent1745c6565e18506d5cb5631ae13cfc5fab060fee (diff)
downloadopie-053c38bb48ae8e7563293bc029f3c9d029b947f7.zip
opie-053c38bb48ae8e7563293bc029f3c9d029b947f7.tar.gz
opie-053c38bb48ae8e7563293bc029f3c9d029b947f7.tar.bz2
New Feature: Quick entries now honors the duration selected.
Diffstat (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
@@ -145,70 +145,79 @@ void DateBookDayView::paintFocus( QPainter *, const QRect & )
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