summaryrefslogtreecommitdiffabout
path: root/korganizer/koagenda.cpp
authorzautrix <zautrix>2005-01-29 16:41:15 (UTC)
committer zautrix <zautrix>2005-01-29 16:41:15 (UTC)
commit41baa2e15a1ec5e14750297e0a21020c9e53d953 (patch) (unidiff)
tree2a1a1ae20928d4f2dc3ac73e9be82f04563b3604 /korganizer/koagenda.cpp
parentc6548bb194a5e73b9b72505c2e952ef6346dec46 (diff)
downloadkdepimpi-41baa2e15a1ec5e14750297e0a21020c9e53d953.zip
kdepimpi-41baa2e15a1ec5e14750297e0a21020c9e53d953.tar.gz
kdepimpi-41baa2e15a1ec5e14750297e0a21020c9e53d953.tar.bz2
fix
Diffstat (limited to 'korganizer/koagenda.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/koagenda.cpp59
1 files changed, 32 insertions, 27 deletions
diff --git a/korganizer/koagenda.cpp b/korganizer/koagenda.cpp
index 73ee5cb..0eeacb3 100644
--- a/korganizer/koagenda.cpp
+++ b/korganizer/koagenda.cpp
@@ -147,122 +147,120 @@ void MarcusBains::updateLocation(bool recalculate)
147 // the -2 below is there because there is a bug in this program 147 // the -2 below is there because there is a bug in this program
148 // somewhere, where the last column of this widget is a few pixels 148 // somewhere, where the last column of this widget is a few pixels
149 // narrower than the other columns. 149 // narrower than the other columns.
150 int offs = (today==agenda->columns()-1) ? -4 : 0; 150 int offs = (today==agenda->columns()-1) ? -4 : 0;
151 agenda->moveChild(mTimeBox, 151 agenda->moveChild(mTimeBox,
152 x+agenda->gridSpacingX()-mTimeBox->width()+offs-1, 152 x+agenda->gridSpacingX()-mTimeBox->width()+offs-1,
153 y-mTimeBox->height()); 153 y-mTimeBox->height());
154 154
155 mTimeBox->raise(); 155 mTimeBox->raise();
156 //mTimeBox->setAutoMask(true); 156 //mTimeBox->setAutoMask(true);
157 minutes->start(5000,true); 157 minutes->start(5000,true);
158} 158}
159 159
160 160
161//////////////////////////////////////////////////////////////////////////// 161////////////////////////////////////////////////////////////////////////////
162 162
163 163
164/* 164/*
165 Create an agenda widget with rows rows and columns columns. 165 Create an agenda widget with rows rows and columns columns.
166*/ 166*/
167KOAgenda::KOAgenda(int columns,int rows,int rowSize,QWidget *parent, 167KOAgenda::KOAgenda(int columns,int rows,int rowSize,QWidget *parent,
168 const char *name,WFlags f) : 168 const char *name,WFlags f) :
169 QScrollView(parent,name,f) 169 QScrollView(parent,name,f)
170{ 170{
171 mNewItemPopup = new QPopupMenu( this ); 171
172 connect ( mNewItemPopup, SIGNAL (activated ( int ) ), this, SLOT ( newItem(int)) );
173 QString pathString = "";
174 if ( !KOPrefs::instance()->mToolBarMiniIcons ) {
175 if ( QApplication::desktop()->width() < 480 )
176 pathString += "icons16/";
177 } else
178 pathString += "iconsmini/";
179
180 mNewItemPopup->insertItem ( SmallIcon( pathString +"newevent" ), i18n("New Event..."), 1 );
181 mNewItemPopup->insertItem ( SmallIcon( pathString +"newtodo" ), i18n("New Todo..."),2 );
182 172
183 mColumns = columns; 173 mColumns = columns;
184 mRows = rows; 174 mRows = rows;
185 mGridSpacingY = rowSize; 175 mGridSpacingY = rowSize;
186 mAllDayMode = false; 176 mAllDayMode = false;
187#ifndef DESKTOP_VERSION 177#ifndef DESKTOP_VERSION
188 QPEApplication::setStylusOperation( viewport(), QPEApplication::RightOnHold ); 178 QPEApplication::setStylusOperation( viewport(), QPEApplication::RightOnHold );
189#endif 179#endif
190 mHolidayMask = 0; 180 mHolidayMask = 0;
191 init(); 181 init();
192} 182}
193 183
194/* 184/*
195 Create an agenda widget with columns columns and one row. This is used for 185 Create an agenda widget with columns columns and one row. This is used for
196 all-day events. 186 all-day events.
197*/ 187*/
198KOAgenda::KOAgenda(int columns,QWidget *parent,const char *name,WFlags f) : 188KOAgenda::KOAgenda(int columns,QWidget *parent,const char *name,WFlags f) :
199 QScrollView(parent,name,f) 189 QScrollView(parent,name,f)
200{ 190{
201 mNewItemPopup = new QPopupMenu( this );
202 connect ( mNewItemPopup, SIGNAL (activated ( int ) ), this, SLOT ( newItem(int)) );
203 QString pathString = "";
204 if ( !KOPrefs::instance()->mToolBarMiniIcons ) {
205 if ( QApplication::desktop()->width() < 480 )
206 pathString += "icons16/";
207 } else
208 pathString += "iconsmini/";
209 mNewItemPopup->insertItem ( SmallIcon( pathString +"newevent" ), i18n("New Event..."),1 );
210 mNewItemPopup->insertItem ( SmallIcon( pathString +"newtodo" ), i18n("New Todo..."),2 );
211 blockResize = false; 191 blockResize = false;
212 mColumns = columns; 192 mColumns = columns;
213 mRows = 1; 193 mRows = 1;
214 //qDebug("aaaaaaaaaaaaaaaaaaldays %d ", KOPrefs::instance()->mAllDaySize); 194 //qDebug("aaaaaaaaaaaaaaaaaaldays %d ", KOPrefs::instance()->mAllDaySize);
215 mGridSpacingY = KOPrefs::instance()->mAllDaySize; 195 mGridSpacingY = KOPrefs::instance()->mAllDaySize;
216 mAllDayMode = true; 196 mAllDayMode = true;
217#ifndef DESKTOP_VERSION 197#ifndef DESKTOP_VERSION
218 QPEApplication::setStylusOperation( viewport(), QPEApplication::RightOnHold ); 198 QPEApplication::setStylusOperation( viewport(), QPEApplication::RightOnHold );
219#endif 199#endif
220 mHolidayMask = 0; 200 mHolidayMask = 0;
221 init(); 201 init();
222} 202}
223 203
224 204
225KOAgenda::~KOAgenda() 205KOAgenda::~KOAgenda()
226{ 206{
227 if(mMarcusBains) delete mMarcusBains; 207 if(mMarcusBains) delete mMarcusBains;
228 208
229} 209}
230 210
231Incidence *KOAgenda::selectedIncidence() const 211Incidence *KOAgenda::selectedIncidence() const
232{ 212{
233 return (mSelectedItem ? mSelectedItem->incidence() : 0); 213 return (mSelectedItem ? mSelectedItem->incidence() : 0);
234} 214}
235 215
236 216
237QDate KOAgenda::selectedIncidenceDate() const 217QDate KOAgenda::selectedIncidenceDate() const
238{ 218{
239 return (mSelectedItem ? mSelectedItem->itemDate() : QDate()); 219 return (mSelectedItem ? mSelectedItem->itemDate() : QDate());
240} 220}
241 221
242 222
243void KOAgenda::init() 223void KOAgenda::init()
244{ 224{
225 mNewItemPopup = new QPopupMenu( this );
226 connect ( mNewItemPopup, SIGNAL (activated ( int ) ), this, SLOT ( newItem(int)) );
227 QString pathString = "";
228 if ( !KOPrefs::instance()->mToolBarMiniIcons ) {
229 if ( QApplication::desktop()->width() < 480 )
230 pathString += "icons16/";
231 } else
232 pathString += "iconsmini/";
233
234 mNewItemPopup->insertItem ( SmallIcon( pathString +"newevent" ), i18n("New Event..."), 1 );
235 mNewItemPopup->insertItem ( SmallIcon( pathString +"newtodo" ), i18n("New Todo..."),2 );
236 mNewItemPopup->insertSeparator ( );
237 mNewItemPopup->insertItem ( SmallIcon( pathString +"day" ), i18n("Day view"),3 );
238 mNewItemPopup->insertItem ( SmallIcon( pathString +"xdays" ), i18n("Next days"),8 );
239 mNewItemPopup->insertItem ( SmallIcon( pathString +"week" ), i18n("Next week"),4 );
240 mNewItemPopup->insertItem ( SmallIcon( pathString +"week" ), i18n("Next two weeks"),5 );
241 mNewItemPopup->insertItem ( SmallIcon( pathString +"month" ), i18n("Next month"),6 );
242 mNewItemPopup->insertItem ( SmallIcon( pathString +"journal" ), i18n("Journal view"),7 );
245#ifndef _WIN32_ 243#ifndef _WIN32_
246 int wflags = viewport()-> getWFlags() |WRepaintNoErase;//WResizeNoErase 244 int wflags = viewport()-> getWFlags() |WRepaintNoErase;//WResizeNoErase
247 viewport()->setWFlags ( wflags); 245 viewport()->setWFlags ( wflags);
248#endif 246#endif
249 mGridSpacingX = 80; 247 mGridSpacingX = 80;
250 mResizeBorderWidth = 8; 248 mResizeBorderWidth = 8;
251 mScrollBorderWidth = 8; 249 mScrollBorderWidth = 8;
252 mScrollDelay = 30; 250 mScrollDelay = 30;
253 mScrollOffset = 10; 251 mScrollOffset = 10;
254 mPaintPixmap.resize( 20,20); 252 mPaintPixmap.resize( 20,20);
255 //enableClipper(true); 253 //enableClipper(true);
256 254
257 // Grab key strokes for keyboard navigation of agenda. Seems to have no 255 // Grab key strokes for keyboard navigation of agenda. Seems to have no
258 // effect. Has to be fixed. 256 // effect. Has to be fixed.
259 setFocusPolicy(WheelFocus); 257 setFocusPolicy(WheelFocus);
260 258
261 connect(&mScrollUpTimer,SIGNAL(timeout()),SLOT(scrollUp())); 259 connect(&mScrollUpTimer,SIGNAL(timeout()),SLOT(scrollUp()));
262 connect(&mScrollDownTimer,SIGNAL(timeout()),SLOT(scrollDown())); 260 connect(&mScrollDownTimer,SIGNAL(timeout()),SLOT(scrollDown()));
263 connect(&mResizeTimer,SIGNAL(timeout()),SLOT(finishResize())); 261 connect(&mResizeTimer,SIGNAL(timeout()),SLOT(finishResize()));
264 262
265 mStartCellX = 0; 263 mStartCellX = 0;
266 mStartCellY = 0; 264 mStartCellY = 0;
267 mCurrentCellX = 0; 265 mCurrentCellX = 0;
268 mCurrentCellY = 0; 266 mCurrentCellY = 0;
@@ -541,55 +539,62 @@ bool KOAgenda::eventFilter_mouse(QObject *object, QMouseEvent *me)
541 int x,y; 539 int x,y;
542 viewportToContents(viewportPos.x(),viewportPos.y(),x,y); 540 viewportToContents(viewportPos.x(),viewportPos.y(),x,y);
543 int gx,gy; 541 int gx,gy;
544 contentsToGrid(x,y,gx,gy); 542 contentsToGrid(x,y,gx,gy);
545 emit newEventSignal(gx,gy); 543 emit newEventSignal(gx,gy);
546 } else { 544 } else {
547 KOAgendaItem *doubleClickedItem = (KOAgendaItem *)object; 545 KOAgendaItem *doubleClickedItem = (KOAgendaItem *)object;
548 selectItem(doubleClickedItem); 546 selectItem(doubleClickedItem);
549 if ( KOPrefs::instance()->mEditOnDoubleClick ) 547 if ( KOPrefs::instance()->mEditOnDoubleClick )
550 emit editIncidenceSignal(doubleClickedItem->incidence()); 548 emit editIncidenceSignal(doubleClickedItem->incidence());
551 else 549 else
552 emit showIncidenceSignal(doubleClickedItem->incidence()); 550 emit showIncidenceSignal(doubleClickedItem->incidence());
553 } 551 }
554 break; 552 break;
555 553
556 default: 554 default:
557 break; 555 break;
558 } 556 }
559 557
560 return true; 558 return true;
561} 559}
562 560
563void KOAgenda::newItem( int item ) 561void KOAgenda::newItem( int item )
564{ 562{
565 qDebug("new %d ", item);
566 if ( item == 1 ) { //new event 563 if ( item == 1 ) { //new event
567 newEventSignal(mStartCellX ,mStartCellY ); 564 newEventSignal(mStartCellX ,mStartCellY );
568 } 565 } else
569 if ( item == 2 ) { //new event 566 if ( item == 2 ) { //new event
570 newTodoSignal(mStartCellX ,mStartCellY ); 567 newTodoSignal(mStartCellX ,mStartCellY );
571 } 568 } else
569 {
570 QDate day = mSelectedDates[mStartCellX];
571 emit showDateView( item, day );
572 // 3Day view
573 // 4Week view
574 // 5Month view
575 // 6Journal view
576 }
572} 577}
573void KOAgenda::startSelectAction(QPoint viewportPos) 578void KOAgenda::startSelectAction(QPoint viewportPos)
574{ 579{
575 //emit newStartSelectSignal(); 580 //emit newStartSelectSignal();
576 581
577 mActionType = SELECT; 582 mActionType = SELECT;
578 583
579 int x,y; 584 int x,y;
580 viewportToContents(viewportPos.x(),viewportPos.y(),x,y); 585 viewportToContents(viewportPos.x(),viewportPos.y(),x,y);
581 int gx,gy; 586 int gx,gy;
582 contentsToGrid(x,y,gx,gy); 587 contentsToGrid(x,y,gx,gy);
583 588
584 mStartCellX = gx; 589 mStartCellX = gx;
585 mStartCellY = gy; 590 mStartCellY = gy;
586 mCurrentCellX = gx; 591 mCurrentCellX = gx;
587 mCurrentCellY = gy; 592 mCurrentCellY = gy;
588 593
589 // Store coordinates of old selection 594 // Store coordinates of old selection
590 int selectionX = mSelectionCellX * mGridSpacingX; 595 int selectionX = mSelectionCellX * mGridSpacingX;
591 int selectionYTop = mSelectionYTop; 596 int selectionYTop = mSelectionYTop;
592 int selectionHeight = mSelectionHeight; 597 int selectionHeight = mSelectionHeight;
593 598
594 // Store new selection 599 // Store new selection
595 mSelectionCellX = gx; 600 mSelectionCellX = gx;