summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/koagenda.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/korganizer/koagenda.cpp b/korganizer/koagenda.cpp
index d9d1283..1d4d6de 100644
--- a/korganizer/koagenda.cpp
+++ b/korganizer/koagenda.cpp
@@ -718,275 +718,275 @@ bool KOAgenda::eventFilter_mouse(QObject *object, QMouseEvent *me)
718} 718}
719 719
720void KOAgenda::newItem( int item ) 720void KOAgenda::newItem( int item )
721{ 721{
722 if ( item == 1 ) { //new event 722 if ( item == 1 ) { //new event
723 newEventSignal(mStartCellX ,mStartCellY ); 723 newEventSignal(mStartCellX ,mStartCellY );
724 } else 724 } else
725 if ( item == 2 ) { //new event 725 if ( item == 2 ) { //new event
726 newTodoSignal(mStartCellX ,mStartCellY ); 726 newTodoSignal(mStartCellX ,mStartCellY );
727 } else 727 } else
728 { 728 {
729 emit showDateView( item, mStartCellX ); 729 emit showDateView( item, mStartCellX );
730 // 3Day view 730 // 3Day view
731 // 4Week view 731 // 4Week view
732 // 5Month view 732 // 5Month view
733 // 6Journal view 733 // 6Journal view
734 } 734 }
735} 735}
736void KOAgenda::slotClearSelection() 736void KOAgenda::slotClearSelection()
737{ 737{
738 if (mSelectionHeight) { 738 if (mSelectionHeight) {
739 int selectionX = mSelectionCellX * mGridSpacingX; 739 int selectionX = mSelectionCellX * mGridSpacingX;
740 int top = mSelectionYTop - 2 *mGridSpacingY; 740 int top = mSelectionYTop - 2 *mGridSpacingY;
741 int hei = mSelectionHeight + 4 *mGridSpacingY; 741 int hei = mSelectionHeight + 4 *mGridSpacingY;
742 clearSelection(); 742 clearSelection();
743 repaintContents( selectionX, top, 743 repaintContents( selectionX, top,
744 mGridSpacingX, hei ,false ); 744 mGridSpacingX, hei ,false );
745 } 745 }
746 746
747} 747}
748void KOAgenda::startSelectAction(QPoint viewportPos) 748void KOAgenda::startSelectAction(QPoint viewportPos)
749{ 749{
750 750
751 emit signalClearSelection(); 751 emit signalClearSelection();
752 slotClearSelection(); 752 slotClearSelection();
753 753
754 mActionType = SELECT; 754 mActionType = SELECT;
755 755
756 int x,y; 756 int x,y;
757 viewportToContents(viewportPos.x(),viewportPos.y(),x,y); 757 viewportToContents(viewportPos.x(),viewportPos.y(),x,y);
758 int gx,gy; 758 int gx,gy;
759 contentsToGrid(x,y,gx,gy); 759 contentsToGrid(x,y,gx,gy);
760 760
761 mStartCellX = gx; 761 mStartCellX = gx;
762 mStartCellY = gy; 762 mStartCellY = gy;
763 mCurrentCellX = gx; 763 mCurrentCellX = gx;
764 mCurrentCellY = gy; 764 mCurrentCellY = gy;
765 765
766 // Store new selection 766 // Store new selection
767 mSelectionCellX = gx; 767 mSelectionCellX = gx;
768 mSelectionYTop = gy * mGridSpacingY; 768 mSelectionYTop = gy * mGridSpacingY;
769 mSelectionHeight = mGridSpacingY; 769 mSelectionHeight = mGridSpacingY;
770 770
771 // Paint new selection 771 // Paint new selection
772 repaintContents( mSelectionCellX * mGridSpacingX+1, mSelectionYTop, 772 repaintContents( mSelectionCellX * mGridSpacingX+1, mSelectionYTop,
773 mGridSpacingX-1, mSelectionHeight ); 773 mGridSpacingX-1, mSelectionHeight );
774} 774}
775 775
776void KOAgenda::performSelectAction(QPoint viewportPos) 776void KOAgenda::performSelectAction(QPoint viewportPos)
777{ 777{
778 int x,y; 778 int x,y;
779 viewportToContents(viewportPos.x(),viewportPos.y(),x,y); 779 viewportToContents(viewportPos.x(),viewportPos.y(),x,y);
780 int gx,gy; 780 int gx,gy;
781 contentsToGrid(x,y,gx,gy); 781 contentsToGrid(x,y,gx,gy);
782 782
783 QPoint clipperPos = clipper()-> 783 QPoint clipperPos = clipper()->
784 mapFromGlobal(viewport()->mapToGlobal(viewportPos)); 784 mapFromGlobal(viewport()->mapToGlobal(viewportPos));
785 785
786 // Scroll if cursor was moved to upper or lower end of agenda. 786 // Scroll if cursor was moved to upper or lower end of agenda.
787 if (clipperPos.y() < mScrollBorderWidth) { 787 if (clipperPos.y() < mScrollBorderWidth) {
788 mScrollUpTimer.start(mScrollDelay); 788 mScrollUpTimer.start(mScrollDelay);
789 } else if (visibleHeight() - clipperPos.y() < 789 } else if (visibleHeight() - clipperPos.y() <
790 mScrollBorderWidth) { 790 mScrollBorderWidth) {
791 mScrollDownTimer.start(mScrollDelay); 791 mScrollDownTimer.start(mScrollDelay);
792 } else { 792 } else {
793 mScrollUpTimer.stop(); 793 mScrollUpTimer.stop();
794 mScrollDownTimer.stop(); 794 mScrollDownTimer.stop();
795 } 795 }
796 796
797 if ( gy > mCurrentCellY ) { 797 if ( gy > mCurrentCellY ) {
798 mSelectionHeight = ( gy + 1 ) * mGridSpacingY - mSelectionYTop; 798 mSelectionHeight = ( gy + 1 ) * mGridSpacingY - mSelectionYTop;
799 799
800 800
801 repaintContents( (KOGlobals::self()->reverseLayout() ? 801 repaintContents( (KOGlobals::self()->reverseLayout() ?
802 mColumns - 1 - mSelectionCellX : mSelectionCellX) * 802 mColumns - 1 - mSelectionCellX : mSelectionCellX) *
803 mGridSpacingX, mSelectionYTop, 803 mGridSpacingX, mSelectionYTop,
804 mGridSpacingX, mSelectionHeight , false); 804 mGridSpacingX, mSelectionHeight , false);
805 805
806 mCurrentCellY = gy; 806 mCurrentCellY = gy;
807 } else if ( gy < mCurrentCellY ) { 807 } else if ( gy < mCurrentCellY ) {
808 if ( gy >= mStartCellY ) { 808 if ( gy >= mStartCellY ) {
809 int selectionHeight = mSelectionHeight; 809 int selectionHeight = mSelectionHeight;
810 mSelectionHeight = ( gy + 1 ) * mGridSpacingY - mSelectionYTop; 810 mSelectionHeight = ( gy + 1 ) * mGridSpacingY - mSelectionYTop;
811 811
812 repaintContents( (KOGlobals::self()->reverseLayout() ? 812 repaintContents( (KOGlobals::self()->reverseLayout() ?
813 mColumns - 1 - mSelectionCellX : mSelectionCellX) * 813 mColumns - 1 - mSelectionCellX : mSelectionCellX) *
814 mGridSpacingX, mSelectionYTop, 814 mGridSpacingX, mSelectionYTop,
815 mGridSpacingX, selectionHeight,false ); 815 mGridSpacingX, selectionHeight,false );
816 816
817 mCurrentCellY = gy; 817 mCurrentCellY = gy;
818 } else { 818 } else {
819 } 819 }
820 } 820 }
821} 821}
822 822
823void KOAgenda::endSelectAction( bool emitNewEvent ) 823void KOAgenda::endSelectAction( bool emitNewEvent )
824{ 824{
825 mActionType = NOP; 825 mActionType = NOP;
826 mScrollUpTimer.stop(); 826 mScrollUpTimer.stop();
827 mScrollDownTimer.stop(); 827 mScrollDownTimer.stop();
828 828
829 emit newTimeSpanSignal(mStartCellX,mStartCellY,mCurrentCellX,mCurrentCellY); 829 emit newTimeSpanSignal(mStartCellX,mStartCellY,mCurrentCellX,mCurrentCellY);
830 if ( emitNewEvent && mStartCellY < mCurrentCellY ) { 830 if ( emitNewEvent && mStartCellY < mCurrentCellY ) {
831 emit newEventSignal(mStartCellX,mStartCellY,mCurrentCellX,mCurrentCellY); 831 emit newEventSignal(mStartCellX,mStartCellY,mCurrentCellX,mCurrentCellY);
832 } 832 }
833} 833}
834 834
835void KOAgenda::startItemAction(QPoint viewportPos) 835void KOAgenda::startItemAction(QPoint viewportPos)
836{ 836{
837 int x,y; 837 int x,y;
838 viewportToContents(viewportPos.x(),viewportPos.y(),x,y); 838 viewportToContents(viewportPos.x(),viewportPos.y(),x,y);
839 int gx,gy; 839 int gx,gy;
840 contentsToGrid(x,y,gx,gy); 840 contentsToGrid(x,y,gx,gy);
841 841
842 mStartCellX = gx; 842 mStartCellX = gx;
843 mStartCellY = gy; 843 mStartCellY = gy;
844 mCurrentCellX = gx; 844 mCurrentCellX = gx;
845 mCurrentCellY = gy; 845 mCurrentCellY = gy;
846 bool allowResize = ( mActionItem->incidence()->typeID() != todoID );
846 847
847 if (mAllDayMode) { 848 if (mAllDayMode) {
848 int gridDistanceX = (x - gx * mGridSpacingX); 849 int gridDistanceX = (x - gx * mGridSpacingX);
849 if (gridDistanceX < mResizeBorderWidth && 850 if ( allowResize && gridDistanceX < mResizeBorderWidth &&
850 mActionItem->cellX() == mCurrentCellX) { 851 mActionItem->cellX() == mCurrentCellX) {
851 mActionType = RESIZELEFT; 852 mActionType = RESIZELEFT;
852 setCursor(sizeHorCursor); 853 setCursor(sizeHorCursor);
853 } else if ((mGridSpacingX - gridDistanceX) < mResizeBorderWidth && 854 } else if ( allowResize && (mGridSpacingX - gridDistanceX) < mResizeBorderWidth &&
854 mActionItem->cellXWidth() == mCurrentCellX) { 855 mActionItem->cellXWidth() == mCurrentCellX) {
855 mActionType = RESIZERIGHT; 856 mActionType = RESIZERIGHT;
856 setCursor(sizeHorCursor); 857 setCursor(sizeHorCursor);
857 } else { 858 } else {
858 mActionType = MOVE; 859 mActionType = MOVE;
859 mActionItem->startMove(); 860 mActionItem->startMove();
860 setCursor(sizeAllCursor); 861 setCursor(sizeAllCursor);
861 } 862 }
862 } else { 863 } else {
863 int gridDistanceY = (y - gy * mGridSpacingY); 864 int gridDistanceY = (y - gy * mGridSpacingY);
864 bool allowResize = ( mActionItem->incidence()->typeID() != todoID );
865 if (allowResize && gridDistanceY < mResizeBorderWidth && 865 if (allowResize && gridDistanceY < mResizeBorderWidth &&
866 mActionItem->cellYTop() == mCurrentCellY && 866 mActionItem->cellYTop() == mCurrentCellY &&
867 !mActionItem->firstMultiItem()) { 867 !mActionItem->firstMultiItem()) {
868 mActionType = RESIZETOP; 868 mActionType = RESIZETOP;
869 setCursor(sizeVerCursor); 869 setCursor(sizeVerCursor);
870 } else if (allowResize &&(mGridSpacingY - gridDistanceY) < mResizeBorderWidth && 870 } else if (allowResize &&(mGridSpacingY - gridDistanceY) < mResizeBorderWidth &&
871 mActionItem->cellYBottom() == mCurrentCellY && 871 mActionItem->cellYBottom() == mCurrentCellY &&
872 !mActionItem->lastMultiItem()) { 872 !mActionItem->lastMultiItem()) {
873 mActionType = RESIZEBOTTOM; 873 mActionType = RESIZEBOTTOM;
874 setCursor(sizeVerCursor); 874 setCursor(sizeVerCursor);
875 } else { 875 } else {
876 mActionType = MOVE; 876 mActionType = MOVE;
877 mActionItem->startMove(); 877 mActionItem->startMove();
878 setCursor(sizeAllCursor); 878 setCursor(sizeAllCursor);
879 } 879 }
880 } 880 }
881} 881}
882 882
883void KOAgenda::performItemAction(QPoint viewportPos) 883void KOAgenda::performItemAction(QPoint viewportPos)
884{ 884{
885// kdDebug() << "viewportPos: " << viewportPos.x() << "," << viewportPos.y() << endl; 885// kdDebug() << "viewportPos: " << viewportPos.x() << "," << viewportPos.y() << endl;
886// QPoint point = viewport()->mapToGlobal(viewportPos); 886// QPoint point = viewport()->mapToGlobal(viewportPos);
887// kdDebug() << "Global: " << point.x() << "," << point.y() << endl; 887// kdDebug() << "Global: " << point.x() << "," << point.y() << endl;
888// point = clipper()->mapFromGlobal(point); 888// point = clipper()->mapFromGlobal(point);
889// kdDebug() << "clipper: " << point.x() << "," << point.y() << endl; 889// kdDebug() << "clipper: " << point.x() << "," << point.y() << endl;
890// kdDebug() << "visible height: " << visibleHeight() << endl; 890// kdDebug() << "visible height: " << visibleHeight() << endl;
891 int x,y; 891 int x,y;
892 viewportToContents(viewportPos.x(),viewportPos.y(),x,y); 892 viewportToContents(viewportPos.x(),viewportPos.y(),x,y);
893// kdDebug() << "contents: " << x << "," << y << "\n" << endl; 893// kdDebug() << "contents: " << x << "," << y << "\n" << endl;
894 int gx,gy; 894 int gx,gy;
895 contentsToGrid(x,y,gx,gy); 895 contentsToGrid(x,y,gx,gy);
896 QPoint clipperPos = clipper()-> 896 QPoint clipperPos = clipper()->
897 mapFromGlobal(viewport()->mapToGlobal(viewportPos)); 897 mapFromGlobal(viewport()->mapToGlobal(viewportPos));
898 898
899 // Cursor left active agenda area. 899 // Cursor left active agenda area.
900 // This starts a drag. 900 // This starts a drag.
901 if ( /*clipperPos.y() < 0 || clipperPos.y() > visibleHeight() ||*/ 901 if ( /*clipperPos.y() < 0 || clipperPos.y() > visibleHeight() ||*/
902 clipperPos.x() < 0 || clipperPos.x() > visibleWidth() ) { 902 clipperPos.x() < 0 || clipperPos.x() > visibleWidth() ) {
903 if ( mActionType == MOVE ) { 903 if ( mActionType == MOVE ) {
904 mScrollUpTimer.stop(); 904 mScrollUpTimer.stop();
905 mScrollDownTimer.stop(); 905 mScrollDownTimer.stop();
906 mActionItem->resetMove(); 906 mActionItem->resetMove();
907 placeSubCells( mActionItem ); 907 placeSubCells( mActionItem );
908 // emit startDragSignal( mActionItem->incidence() ); 908 // emit startDragSignal( mActionItem->incidence() );
909 setCursor( arrowCursor ); 909 setCursor( arrowCursor );
910 mActionItem = 0; 910 mActionItem = 0;
911 mActionType = NOP; 911 mActionType = NOP;
912 mItemMoved = 0; 912 mItemMoved = 0;
913 return; 913 return;
914 } 914 }
915 } else { 915 } else {
916 switch ( mActionType ) { 916 switch ( mActionType ) {
917 case MOVE: 917 case MOVE:
918 setCursor( sizeAllCursor ); 918 setCursor( sizeAllCursor );
919 break; 919 break;
920 case RESIZETOP: 920 case RESIZETOP:
921 case RESIZEBOTTOM: 921 case RESIZEBOTTOM:
922 setCursor( sizeVerCursor ); 922 setCursor( sizeVerCursor );
923 break; 923 break;
924 case RESIZELEFT: 924 case RESIZELEFT:
925 case RESIZERIGHT: 925 case RESIZERIGHT:
926 setCursor( sizeHorCursor ); 926 setCursor( sizeHorCursor );
927 break; 927 break;
928 default: 928 default:
929 setCursor( arrowCursor ); 929 setCursor( arrowCursor );
930 } 930 }
931 } 931 }
932 932
933 // Scroll if item was moved to upper or lower end of agenda. 933 // Scroll if item was moved to upper or lower end of agenda.
934 if (clipperPos.y() < mScrollBorderWidth) { 934 if (clipperPos.y() < mScrollBorderWidth) {
935 mScrollUpTimer.start(mScrollDelay); 935 mScrollUpTimer.start(mScrollDelay);
936 } else if (visibleHeight() - clipperPos.y() < 936 } else if (visibleHeight() - clipperPos.y() <
937 mScrollBorderWidth) { 937 mScrollBorderWidth) {
938 mScrollDownTimer.start(mScrollDelay); 938 mScrollDownTimer.start(mScrollDelay);
939 } else { 939 } else {
940 mScrollUpTimer.stop(); 940 mScrollUpTimer.stop();
941 mScrollDownTimer.stop(); 941 mScrollDownTimer.stop();
942 } 942 }
943 943
944 // Move or resize item if necessary 944 // Move or resize item if necessary
945 if (mCurrentCellX != gx || mCurrentCellY != gy) { 945 if (mCurrentCellX != gx || mCurrentCellY != gy) {
946 mItemMoved = true; 946 mItemMoved = true;
947 mActionItem->raise(); 947 mActionItem->raise();
948 if (mActionType == MOVE) { 948 if (mActionType == MOVE) {
949 // Move all items belonging to a multi item 949 // Move all items belonging to a multi item
950 KOAgendaItem *moveItem = mActionItem->firstMultiItem(); 950 KOAgendaItem *moveItem = mActionItem->firstMultiItem();
951 bool isMultiItem = (moveItem || mActionItem->lastMultiItem()); 951 bool isMultiItem = (moveItem || mActionItem->lastMultiItem());
952 if (!moveItem) moveItem = mActionItem; 952 if (!moveItem) moveItem = mActionItem;
953 while (moveItem) { 953 while (moveItem) {
954 int dy; 954 int dy;
955 if (isMultiItem) dy = 0; 955 if (isMultiItem) dy = 0;
956 else dy = gy - mCurrentCellY; 956 else dy = gy - mCurrentCellY;
957 moveItem->moveRelative(gx - mCurrentCellX,dy); 957 moveItem->moveRelative(gx - mCurrentCellX,dy);
958 int x,y; 958 int x,y;
959 gridToContents(moveItem->cellX(),moveItem->cellYTop(),x,y); 959 gridToContents(moveItem->cellX(),moveItem->cellYTop(),x,y);
960 int diff = moveItem->resizeMe(mGridSpacingX, mGridSpacingX* moveItem->cellWidth(), 960 int diff = moveItem->resizeMe(mGridSpacingX, mGridSpacingX* moveItem->cellWidth(),
961 mGridSpacingY * moveItem->cellHeight()); 961 mGridSpacingY * moveItem->cellHeight());
962 moveItem->raise(); 962 moveItem->raise();
963 moveChild(moveItem,x+diff,y); 963 moveChild(moveItem,x+diff,y);
964 moveItem = moveItem->nextMultiItem(); 964 moveItem = moveItem->nextMultiItem();
965 } 965 }
966 } else if (mActionType == RESIZETOP) { 966 } else if (mActionType == RESIZETOP) {
967 if (mCurrentCellY <= mActionItem->cellYBottom()) { 967 if (mCurrentCellY <= mActionItem->cellYBottom()) {
968 mActionItem->expandTop(gy - mCurrentCellY); 968 mActionItem->expandTop(gy - mCurrentCellY);
969 mActionItem->resize(mActionItem->width(), 969 mActionItem->resize(mActionItem->width(),
970 mGridSpacingY * mActionItem->cellHeight()); 970 mGridSpacingY * mActionItem->cellHeight());
971 int x,y; 971 int x,y;
972 gridToContents(mCurrentCellX,mActionItem->cellYTop(),x,y); 972 gridToContents(mCurrentCellX,mActionItem->cellYTop(),x,y);
973 //moveChild(mActionItem,childX(mActionItem),y); 973 //moveChild(mActionItem,childX(mActionItem),y);
974 QScrollView::moveChild( mActionItem,childX(mActionItem),y ); 974 QScrollView::moveChild( mActionItem,childX(mActionItem),y );
975 } 975 }
976 } else if (mActionType == RESIZEBOTTOM) { 976 } else if (mActionType == RESIZEBOTTOM) {
977 if (mCurrentCellY >= mActionItem->cellYTop()) { 977 if (mCurrentCellY >= mActionItem->cellYTop()) {
978 mActionItem->expandBottom(gy - mCurrentCellY); 978 mActionItem->expandBottom(gy - mCurrentCellY);
979 mActionItem->resize(mActionItem->width(), 979 mActionItem->resize(mActionItem->width(),
980 mGridSpacingY * mActionItem->cellHeight()); 980 mGridSpacingY * mActionItem->cellHeight());
981 } 981 }
982 } else if (mActionType == RESIZELEFT) { 982 } else if (mActionType == RESIZELEFT) {
983 if (mCurrentCellX <= mActionItem->cellXWidth()) { 983 if (mCurrentCellX <= mActionItem->cellXWidth()) {
984 mActionItem->expandLeft(gx - mCurrentCellX); 984 mActionItem->expandLeft(gx - mCurrentCellX);
985 int diff = mActionItem->resizeMe(mGridSpacingX , 985 int diff = mActionItem->resizeMe(mGridSpacingX ,
986 mGridSpacingX * mActionItem->cellWidth(), 986 mGridSpacingX * mActionItem->cellWidth(),
987 mActionItem->height()); 987 mActionItem->height());
988 int x,y; 988 int x,y;
989 gridToContents(mActionItem->cellX(),mActionItem->cellYTop(),x,y); 989 gridToContents(mActionItem->cellX(),mActionItem->cellYTop(),x,y);
990 moveChild(mActionItem,x+diff,childY(mActionItem)); 990 moveChild(mActionItem,x+diff,childY(mActionItem));
991 } 991 }
992 } else if (mActionType == RESIZERIGHT) { 992 } else if (mActionType == RESIZERIGHT) {