author | zautrix <zautrix> | 2005-02-06 01:23:43 (UTC) |
---|---|---|
committer | zautrix <zautrix> | 2005-02-06 01:23:43 (UTC) |
commit | 118f5aab05c9ace5612d5c4fd69e7c5a59bed67b (patch) (unidiff) | |
tree | e097f3fecb6e2ae692b91ac29e58e6d5a51154c8 /korganizer/navigatorbar.cpp | |
parent | 659f07aa44f44aebb74c83e7319021cfeb87f275 (diff) | |
download | kdepimpi-118f5aab05c9ace5612d5c4fd69e7c5a59bed67b.zip kdepimpi-118f5aab05c9ace5612d5c4fd69e7c5a59bed67b.tar.gz kdepimpi-118f5aab05c9ace5612d5c4fd69e7c5a59bed67b.tar.bz2 |
better week choose
-rw-r--r-- | korganizer/navigatorbar.cpp | 37 |
1 files changed, 1 insertions, 36 deletions
diff --git a/korganizer/navigatorbar.cpp b/korganizer/navigatorbar.cpp index 24de01f..657f98d 100644 --- a/korganizer/navigatorbar.cpp +++ b/korganizer/navigatorbar.cpp | |||
@@ -51,154 +51,119 @@ | |||
51 | 51 | ||
52 | NavigatorBar::NavigatorBar( const QDate & date, QWidget *parent, const char *name ) | 52 | NavigatorBar::NavigatorBar( const QDate & date, QWidget *parent, const char *name ) |
53 | : QWidget( parent, name ) | 53 | : QWidget( parent, name ) |
54 | { | 54 | { |
55 | QBoxLayout *topLayout = new QHBoxLayout( this ); | 55 | QBoxLayout *topLayout = new QHBoxLayout( this ); |
56 | 56 | ||
57 | // Set up the control buttons and date label | 57 | // Set up the control buttons and date label |
58 | mCtrlFrame = new QFrame( this ); | 58 | mCtrlFrame = new QFrame( this ); |
59 | mCtrlFrame->setFrameStyle(QFrame::Panel|QFrame::Raised); | 59 | mCtrlFrame->setFrameStyle(QFrame::Panel|QFrame::Raised); |
60 | mCtrlFrame->setLineWidth(1); | 60 | mCtrlFrame->setLineWidth(1); |
61 | 61 | ||
62 | topLayout->addWidget( mCtrlFrame ); | 62 | topLayout->addWidget( mCtrlFrame ); |
63 | 63 | ||
64 | QFont tfont = font(); | 64 | QFont tfont = font(); |
65 | if ( QApplication::desktop()->width() >= 480 ) | 65 | if ( QApplication::desktop()->width() >= 480 ) |
66 | tfont.setPointSize(tfont.pointSize()+2); | 66 | tfont.setPointSize(tfont.pointSize()+2); |
67 | tfont.setBold(true); | 67 | tfont.setBold(true); |
68 | 68 | ||
69 | bool isRTL = KOGlobals::self()->reverseLayout(); | 69 | bool isRTL = KOGlobals::self()->reverseLayout(); |
70 | #ifndef DESKTOP_VERSION | 70 | #ifndef DESKTOP_VERSION |
71 | bool isDesktop = false; | 71 | bool isDesktop = false; |
72 | #else | 72 | #else |
73 | bool isDesktop = true; | 73 | bool isDesktop = true; |
74 | #endif | 74 | #endif |
75 | bool insertWeek = (QString ( name ) == QString("useBigPixmaps")) ; | 75 | if ( QString ( name ) == QString("useBigPixmaps") && QApplication::desktop()->width() > 320 ) |
76 | if ( insertWeek && QApplication::desktop()->width() > 320 ) | ||
77 | isDesktop = true; | 76 | isDesktop = true; |
78 | // Create backward navigation buttons | 77 | // Create backward navigation buttons |
79 | mPrevYear = new QPushButton( mCtrlFrame ); | 78 | mPrevYear = new QPushButton( mCtrlFrame ); |
80 | mPrevYear->setPixmap( SmallIcon( isDesktop ? "2leftarrowB" : "2leftarrow" ) ); | 79 | mPrevYear->setPixmap( SmallIcon( isDesktop ? "2leftarrowB" : "2leftarrow" ) ); |
81 | QToolTip::add( mPrevYear, i18n("Previous Year") ); | 80 | QToolTip::add( mPrevYear, i18n("Previous Year") ); |
82 | 81 | ||
83 | mPrevMonth = new QPushButton( mCtrlFrame ); | 82 | mPrevMonth = new QPushButton( mCtrlFrame ); |
84 | mPrevMonth->setPixmap( SmallIcon( isDesktop ? "1leftarrowB" : "1leftarrow") ); | 83 | mPrevMonth->setPixmap( SmallIcon( isDesktop ? "1leftarrowB" : "1leftarrow") ); |
85 | QToolTip::add( mPrevMonth, i18n("Previous Month") ); | 84 | QToolTip::add( mPrevMonth, i18n("Previous Month") ); |
86 | 85 | ||
87 | // Create forward navigation buttons | 86 | // Create forward navigation buttons |
88 | mNextMonth = new QPushButton( mCtrlFrame ); | 87 | mNextMonth = new QPushButton( mCtrlFrame ); |
89 | mNextMonth->setPixmap( SmallIcon( isDesktop ? "1rightarrowB" : "1rightarrow") ); | 88 | mNextMonth->setPixmap( SmallIcon( isDesktop ? "1rightarrowB" : "1rightarrow") ); |
90 | QToolTip::add( mNextMonth, i18n("Next Month") ); | 89 | QToolTip::add( mNextMonth, i18n("Next Month") ); |
91 | 90 | ||
92 | QPushButton * selWeek = 0; | ||
93 | if ( insertWeek ) { | ||
94 | selWeek = new QPushButton( mCtrlFrame ); | ||
95 | QToolTip::add( selWeek, i18n("Select Week") ); | ||
96 | selWeek->setFocusPolicy(NoFocus); | ||
97 | } | ||
98 | |||
99 | mNextYear = new QPushButton( mCtrlFrame ); | 91 | mNextYear = new QPushButton( mCtrlFrame ); |
100 | mNextYear->setPixmap( SmallIcon( isDesktop ? "2rightarrowB": "2rightarrow") ); | 92 | mNextYear->setPixmap( SmallIcon( isDesktop ? "2rightarrowB": "2rightarrow") ); |
101 | QToolTip::add( mNextYear, i18n("Next Year") ); | 93 | QToolTip::add( mNextYear, i18n("Next Year") ); |
102 | mSelectMonth = new QPushButton( mCtrlFrame ); | 94 | mSelectMonth = new QPushButton( mCtrlFrame ); |
103 | // Create month name label | 95 | // Create month name label |
104 | //selectMonth->setFont( tfont ); | 96 | //selectMonth->setFont( tfont ); |
105 | // selectMonth->setAlignment( AlignCenter ); | 97 | // selectMonth->setAlignment( AlignCenter ); |
106 | //mDateLabel = new QLabel( selectMonth ); | 98 | //mDateLabel = new QLabel( selectMonth ); |
107 | //mDateLabel->setFont( tfont ); | 99 | //mDateLabel->setFont( tfont ); |
108 | //mDateLabel->setAlignment( AlignCenter ); | 100 | //mDateLabel->setAlignment( AlignCenter ); |
109 | if ( QString ( name ) == QString("useBigPixmaps") ) { | 101 | if ( QString ( name ) == QString("useBigPixmaps") ) { |
110 | mNextMonth->setFlat( true); | 102 | mNextMonth->setFlat( true); |
111 | mNextYear->setFlat( true); | 103 | mNextYear->setFlat( true); |
112 | mSelectMonth->setFlat( true); | 104 | mSelectMonth->setFlat( true); |
113 | mPrevYear->setFlat( true); | 105 | mPrevYear->setFlat( true); |
114 | mPrevMonth->setFlat( true); | 106 | mPrevMonth->setFlat( true); |
115 | if ( insertWeek ) | ||
116 | selWeek->setFlat( true); | ||
117 | } | 107 | } |
118 | mSelectMonth->setFont( tfont ); | 108 | mSelectMonth->setFont( tfont ); |
119 | // Set minimum width to width of widest month name label | 109 | // Set minimum width to width of widest month name label |
120 | int i; | 110 | int i; |
121 | int maxwidth = 0; | 111 | int maxwidth = 0; |
122 | QFontMetrics fm ( mSelectMonth->font() ); | 112 | QFontMetrics fm ( mSelectMonth->font() ); |
123 | int width = fm.width("September '00" ); | 113 | int width = fm.width("September '00" ); |
124 | // for( i = 1; i <= KOGlobals::self()->calendarSystem()->monthsInYear(date); | 114 | // for( i = 1; i <= KOGlobals::self()->calendarSystem()->monthsInYear(date); |
125 | // ++i ) { | 115 | // ++i ) { |
126 | // //int width = fm.width( KOGlobals::self()->calendarSystem()->monthName(i, | 116 | // //int width = fm.width( KOGlobals::self()->calendarSystem()->monthName(i, |
127 | // // KOGlobals::self()->calendarSystem()->year(date) ) + " 2000" ); | 117 | // // KOGlobals::self()->calendarSystem()->year(date) ) + " 2000" ); |
128 | // int width = fm.width("September 2000" ); | 118 | // int width = fm.width("September 2000" ); |
129 | // if ( width > maxwidth ) maxwidth = width; | 119 | // if ( width > maxwidth ) maxwidth = width; |
130 | // } | 120 | // } |
131 | maxwidth = width+2; | 121 | maxwidth = width+2; |
132 | int size = fm.height()+2; | 122 | int size = fm.height()+2; |
133 | if ( QApplication::desktop()->width() >= 480 ) { | 123 | if ( QApplication::desktop()->width() >= 480 ) { |
134 | size += 6; | 124 | size += 6; |
135 | maxwidth+= 6; | 125 | maxwidth+= 6; |
136 | } | 126 | } |
137 | 127 | ||
138 | if ( insertWeek ) { | ||
139 | QPopupMenu * wpo = new QPopupMenu (this); | ||
140 | QPopupMenu * all = new QPopupMenu (this); | ||
141 | //wpo->insertItem( i18n("W#"), 0 ); | ||
142 | int first = 1; | ||
143 | for ( i = 1; i < 50; ++i ) { | ||
144 | if ( !(i%10) ) { | ||
145 | all->insertItem( i18n("Select week %1-%2" ).arg(first).arg( i-1) ,wpo ); | ||
146 | connect( wpo, SIGNAL( activated(int) ), SIGNAL( selectWeek ( int ) ) ); | ||
147 | first = i; | ||
148 | wpo = new QPopupMenu (this); | ||
149 | } | ||
150 | wpo->insertItem( QString::number(i), i ); | ||
151 | } | ||
152 | for ( i = 50; i < 53; ++i ) { | ||
153 | wpo->insertItem( QString::number(i), i); | ||
154 | } | ||
155 | all->insertItem( i18n("Select week %1-%2" ).arg(first).arg( i-1) ,wpo ); | ||
156 | selWeek->setPopup( all ); | ||
157 | selWeek->setFixedWidth( (size/5)*4 ); | ||
158 | selWeek->setFixedHeight( size ); | ||
159 | connect( wpo, SIGNAL( activated(int) ), SIGNAL( selectWeek ( int ) ) ); | ||
160 | } | ||
161 | mSelectMonth->setFixedWidth( maxwidth ); | 128 | mSelectMonth->setFixedWidth( maxwidth ); |
162 | mSelectMonth->setFixedHeight( size ); | 129 | mSelectMonth->setFixedHeight( size ); |
163 | mPrevYear->setFixedHeight( size ); | 130 | mPrevYear->setFixedHeight( size ); |
164 | mPrevMonth->setFixedHeight( size ); | 131 | mPrevMonth->setFixedHeight( size ); |
165 | mNextMonth->setFixedHeight( size ); | 132 | mNextMonth->setFixedHeight( size ); |
166 | mNextYear->setFixedHeight ( size ); | 133 | mNextYear->setFixedHeight ( size ); |
167 | // set up control frame layout | 134 | // set up control frame layout |
168 | QBoxLayout *ctrlLayout = new QHBoxLayout( mCtrlFrame, 1 ); | 135 | QBoxLayout *ctrlLayout = new QHBoxLayout( mCtrlFrame, 1 ); |
169 | ctrlLayout->addWidget( mPrevYear, 3 ); | 136 | ctrlLayout->addWidget( mPrevYear, 3 ); |
170 | ctrlLayout->addWidget( mPrevMonth, 3 ); | 137 | ctrlLayout->addWidget( mPrevMonth, 3 ); |
171 | //ctrlLayout->addStretch( 1 ); | 138 | //ctrlLayout->addStretch( 1 ); |
172 | // ctrlLayout->addSpacing( 1 ); | 139 | // ctrlLayout->addSpacing( 1 ); |
173 | // ctrlLayout->addWidget( mDateLabel ); | 140 | // ctrlLayout->addWidget( mDateLabel ); |
174 | ctrlLayout->addWidget( mSelectMonth ); | 141 | ctrlLayout->addWidget( mSelectMonth ); |
175 | // ctrlLayout->addSpacing( 1 ); | 142 | // ctrlLayout->addSpacing( 1 ); |
176 | // ctrlLayout->addStretch( 1 ); | 143 | // ctrlLayout->addStretch( 1 ); |
177 | ctrlLayout->addWidget( mNextMonth, 3 ); | 144 | ctrlLayout->addWidget( mNextMonth, 3 ); |
178 | ctrlLayout->addWidget( mNextYear, 3 ); | 145 | ctrlLayout->addWidget( mNextYear, 3 ); |
179 | if ( insertWeek ) | ||
180 | ctrlLayout->addWidget( selWeek ); | ||
181 | 146 | ||
182 | connect( mPrevYear, SIGNAL( clicked() ), SIGNAL( goPrevYear() ) ); | 147 | connect( mPrevYear, SIGNAL( clicked() ), SIGNAL( goPrevYear() ) ); |
183 | connect( mPrevMonth, SIGNAL( clicked() ), SIGNAL( goPrevMonth() ) ); | 148 | connect( mPrevMonth, SIGNAL( clicked() ), SIGNAL( goPrevMonth() ) ); |
184 | connect( mNextMonth, SIGNAL( clicked() ), SIGNAL( goNextMonth() ) ); | 149 | connect( mNextMonth, SIGNAL( clicked() ), SIGNAL( goNextMonth() ) ); |
185 | connect( mNextYear, SIGNAL( clicked() ), SIGNAL( goNextYear() ) ); | 150 | connect( mNextYear, SIGNAL( clicked() ), SIGNAL( goNextYear() ) ); |
186 | connect( mSelectMonth, SIGNAL( clicked() ),SLOT( selectMonth() ) ); | 151 | connect( mSelectMonth, SIGNAL( clicked() ),SLOT( selectMonth() ) ); |
187 | mPrevYear->setFocusPolicy(NoFocus); | 152 | mPrevYear->setFocusPolicy(NoFocus); |
188 | mPrevMonth->setFocusPolicy(NoFocus); | 153 | mPrevMonth->setFocusPolicy(NoFocus); |
189 | mNextMonth->setFocusPolicy(NoFocus); | 154 | mNextMonth->setFocusPolicy(NoFocus); |
190 | mNextYear->setFocusPolicy(NoFocus); | 155 | mNextYear->setFocusPolicy(NoFocus); |
191 | mSelectMonth->setFocusPolicy(NoFocus); | 156 | mSelectMonth->setFocusPolicy(NoFocus); |
192 | 157 | ||
193 | } | 158 | } |
194 | 159 | ||
195 | NavigatorBar::~NavigatorBar() | 160 | NavigatorBar::~NavigatorBar() |
196 | { | 161 | { |
197 | } | 162 | } |
198 | 163 | ||
199 | void NavigatorBar::selectMonth() | 164 | void NavigatorBar::selectMonth() |
200 | { | 165 | { |
201 | 166 | ||
202 | int month; | 167 | int month; |
203 | KPopupFrame* popup = new KPopupFrame(this); | 168 | KPopupFrame* popup = new KPopupFrame(this); |
204 | int size = 12; | 169 | int size = 12; |