summaryrefslogtreecommitdiffabout
authorzautrix <zautrix>2005-03-20 14:04:37 (UTC)
committer zautrix <zautrix>2005-03-20 14:04:37 (UTC)
commit69d75020eea5f95b9f5d77d97ed85ec8869d32db (patch) (unidiff)
tree378b920b9392e7ed4472597e586154d7b99b0645
parent289dd44f4f23d92c45d8f28c867a14a980fd5dde (diff)
downloadkdepimpi-69d75020eea5f95b9f5d77d97ed85ec8869d32db.zip
kdepimpi-69d75020eea5f95b9f5d77d97ed85ec8869d32db.tar.gz
kdepimpi-69d75020eea5f95b9f5d77d97ed85ec8869d32db.tar.bz2
layout fixes
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/calendarview.cpp76
-rw-r--r--korganizer/calendarview.h2
-rw-r--r--korganizer/datenavigatorcontainer.cpp36
-rw-r--r--korganizer/kdatenavigator.cpp40
-rw-r--r--korganizer/kdatenavigator.h8
-rw-r--r--korganizer/kodaymatrix.cpp11
-rw-r--r--korganizer/kodaymatrix.h1
-rw-r--r--korganizer/navigatorbar.cpp67
-rw-r--r--korganizer/navigatorbar.h1
9 files changed, 184 insertions, 58 deletions
diff --git a/korganizer/calendarview.cpp b/korganizer/calendarview.cpp
index 3ce123c..ab59d00 100644
--- a/korganizer/calendarview.cpp
+++ b/korganizer/calendarview.cpp
@@ -297,21 +297,25 @@ void CalendarView::init()
297 mLeftFrame = mLeftSplitter; 297 mLeftFrame = mLeftSplitter;
298#else 298#else
299 QWidget *mainBox = new QWidget( this ); 299 //QWidget *mainBox = new QWidget( this );
300 //QWidget *leftFrame = new QWidget( mainBox ); 300 //QWidget *leftFrame = new QWidget( mainBox );
301 QBoxLayout * mainBoxLayout; 301 //QBoxLayout * mainBoxLayout;
302 if ( KOPrefs::instance()->mVerticalScreen ) { 302 if ( KOPrefs::instance()->mVerticalScreen ) {
303 mainBoxLayout = new QVBoxLayout(mainBox); 303 //mainBoxLayout = new QVBoxLayout(mainBox);
304 //leftFrameLayout = new QHBoxLayout(leftFrame ); 304 //leftFrameLayout = new QHBoxLayout(leftFrame );
305 mLeftFrame = new KDGanttMinimizeSplitter( Qt::Horizontal, mainBox);; 305 mMainFrame = new KDGanttMinimizeSplitter( Qt::Vertical, this );
306 mLeftFrame->setMinimizeDirection ( KDGanttMinimizeSplitter::Left ); 306 mMainFrame->setMinimizeDirection ( KDGanttMinimizeSplitter::Up );
307 mLeftFrame = new KDGanttMinimizeSplitter( Qt::Horizontal, mMainFrame);;
308 mLeftFrame->setMinimizeDirection ( KDGanttMinimizeSplitter::Right );
307 } else { 309 } else {
308 mainBoxLayout = new QHBoxLayout(mainBox); 310 //mainBoxLayout = new QHBoxLayout(mainBox);
309 //leftFrameLayout = new QVBoxLayout(leftFrame ); 311 //leftFrameLayout = new QVBoxLayout(leftFrame );
310 mLeftFrame = new KDGanttMinimizeSplitter( Qt::Vertical, mainBox);; 312 mMainFrame = new KDGanttMinimizeSplitter( Qt::Horizontal, this);
313 mMainFrame->setMinimizeDirection ( KDGanttMinimizeSplitter::Left);
314 mLeftFrame = new KDGanttMinimizeSplitter( Qt::Vertical, mMainFrame);
311 mLeftFrame->setMinimizeDirection ( KDGanttMinimizeSplitter::Up ); 315 mLeftFrame->setMinimizeDirection ( KDGanttMinimizeSplitter::Up );
312 } 316 }
313 //QBoxLayout * leftFrameLayout; 317 //QBoxLayout * leftFrameLayout;
314 topLayout->addWidget( mainBox ); 318 topLayout->addWidget( mMainFrame );
315 mainBoxLayout->addWidget (mLeftFrame); 319 //mainBoxLayout->addWidget (mLeftFrame);
316 mDateNavigator = new DateNavigatorContainer( mLeftFrame, 320 mDateNavigator = new DateNavigatorContainer( mLeftFrame,
317 "CalendarView::DateNavigator" ); 321 "CalendarView::DateNavigator" );
@@ -337,6 +341,6 @@ void CalendarView::init()
337#endif 341#endif
338 mFilterView->hide(); 342 mFilterView->hide();
339 QWidget *rightBox = new QWidget( mainBox ); 343 QWidget *rightBox = new QWidget( mMainFrame );
340 mainBoxLayout->addWidget ( rightBox, 10 ); 344 //mainBoxLayout->addWidget ( rightBox, 10 );
341 QBoxLayout *rightLayout = new QVBoxLayout( rightBox ); 345 QBoxLayout *rightLayout = new QVBoxLayout( rightBox );
342 mRightFrame = new QWidgetStack( rightBox ); 346 mRightFrame = new QWidgetStack( rightBox );
@@ -345,11 +349,11 @@ void CalendarView::init()
345 //mLeftFrame = (QWidget *)leftFrame; 349 //mLeftFrame = (QWidget *)leftFrame;
346 if ( KOPrefs::instance()->mVerticalScreen ) { 350 if ( KOPrefs::instance()->mVerticalScreen ) {
347 mDateNavigator->setFixedHeight( mDateNavigator->sizeHint().height() ); 351 //mDateNavigator->setFixedHeight( mDateNavigator->sizeHint().height() );
348 //mDateNavigator->setMinimumWidth( mDateNavigator->sizeHint().width() ); 352 //mDateNavigator->setMinimumWidth( mDateNavigator->sizeHint().width() );
349 mTodoList->setFixedHeight( mDateNavigator->sizeHint().height() ); 353 //mTodoList->setFixedHeight( mDateNavigator->sizeHint().height() );
350 //leftFrame->setFixedHeight( mDateNavigator->sizeHint().height() ); 354 //leftFrame->setFixedHeight( mDateNavigator->sizeHint().height() );
351 } else { 355 } else {
352 mDateNavigator->setFixedWidth( mDateNavigator->sizeHint().width() ); 356 //mDateNavigator->setFixedWidth( mDateNavigator->sizeHint().width() );
353 mTodoList->setFixedWidth( mDateNavigator->sizeHint().width() ); 357 //mTodoList->setFixedWidth( mDateNavigator->sizeHint().width() );
354 //leftFrame->setFixedWidth( mDateNavigator->sizeHint().width() ); 358 //leftFrame->setFixedWidth( mDateNavigator->sizeHint().width() );
355 } 359 }
@@ -1836,9 +1840,9 @@ void CalendarView::readSettings()
1836 if ( !resetval ){// i.e. sizes.count() == 3 1840 if ( !resetval ){// i.e. sizes.count() == 3
1837 if ( KOPrefs::instance()->mVerticalScreen ) { 1841 if ( KOPrefs::instance()->mVerticalScreen ) {
1838 if ( sizes[0] < mDateNavigator->sizeHint().width()+1 ) 1842 if ( sizes[0] < mDateNavigator->sizeHint().width()+1 )
1839 resetval = mDateNavigator->sizeHint().width()+2; 1843 resetval = mDateNavigator->sizeHint().width()+2;
1840 } else { 1844 } else {
1841 if ( sizes[0] < mDateNavigator->sizeHint().height()+1 ) 1845 if ( sizes[0] < mDateNavigator->sizeHint().height()+1 )
1842 resetval = mDateNavigator->sizeHint().height()+2; 1846 resetval = mDateNavigator->sizeHint().height()+2;
1843 } 1847 }
1844 } 1848 }
@@ -1857,4 +1861,35 @@ void CalendarView::readSettings()
1857 } 1861 }
1858 mLeftFrame->setSizes(sizes); 1862 mLeftFrame->setSizes(sizes);
1863 sizes = config->readIntListEntry("Main Splitter Frame");
1864 if (sizes.count() != 3) {
1865 if ( !KOPrefs::instance()->mVerticalScreen ) {
1866 resetval = mDateNavigator->sizeHint().width()+2;
1867 } else {
1868 resetval = mDateNavigator->sizeHint().height()+2;
1869 }
1870 }
1871 if ( !resetval ){// i.e. sizes.count() == 3
1872 if ( !KOPrefs::instance()->mVerticalScreen ) {
1873 if ( sizes[0] < mDateNavigator->sizeHint().width()+1 )
1874 resetval = mDateNavigator->sizeHint().width()+2;
1875 } else {
1876 if ( sizes[0] < mDateNavigator->sizeHint().height()+1 )
1877 resetval = mDateNavigator->sizeHint().height()+2;
1878 }
1879 }
1880 if ( resetval ) {
1881 sizes.clear();
1882 if ( !KOPrefs::instance()->mVerticalScreen ) {
1883 maxVal = QApplication::desktop()->width() -10;
1884 } else {
1885 maxVal = QApplication::desktop()->height()-10;
1886 }
1887 sizes << resetval;
1888 if ( maxVal < resetval + resetval)
1889 resetval = maxVal - resetval;
1890 sizes << resetval;
1891 }
1892 mMainFrame->setSizes(sizes);
1893
1859 if ( dateCount == 5 ) mNavigator->selectWorkWeek(); 1894 if ( dateCount == 5 ) mNavigator->selectWorkWeek();
1860 else if ( dateCount == 7 ) mNavigator->selectWeek(); 1895 else if ( dateCount == 7 ) mNavigator->selectWeek();
@@ -1929,5 +1964,6 @@ void CalendarView::writeSettings()
1929 QValueList<int> listINT = mLeftFrame->sizes(); 1964 QValueList<int> listINT = mLeftFrame->sizes();
1930 config->writeEntry("Left Splitter Frame",listINT); 1965 config->writeEntry("Left Splitter Frame",listINT);
1931 1966 listINT = mMainFrame->sizes();
1967 config->writeEntry("Main Splitter Frame",listINT);
1932#ifdef DESKTOP_VERSION 1968#ifdef DESKTOP_VERSION
1933 config->setGroup("WidgetLayout"); 1969 config->setGroup("WidgetLayout");
diff --git a/korganizer/calendarview.h b/korganizer/calendarview.h
index fac9a9e..16e671f 100644
--- a/korganizer/calendarview.h
+++ b/korganizer/calendarview.h
@@ -532,5 +532,5 @@ class CalendarView : public KOrg::CalendarViewBase, public KCal::Calendar::Obser
532 QSplitter *mPanner; 532 QSplitter *mPanner;
533 QSplitter *mLeftSplitter; 533 QSplitter *mLeftSplitter;
534 KDGanttMinimizeSplitter *mLeftFrame; 534 KDGanttMinimizeSplitter *mLeftFrame, *mMainFrame;
535 QWidgetStack *mRightFrame; 535 QWidgetStack *mRightFrame;
536 536
diff --git a/korganizer/datenavigatorcontainer.cpp b/korganizer/datenavigatorcontainer.cpp
index b9bd1b9..3358ecf 100644
--- a/korganizer/datenavigatorcontainer.cpp
+++ b/korganizer/datenavigatorcontainer.cpp
@@ -34,4 +34,5 @@
34 34
35#include "datenavigatorcontainer.h" 35#include "datenavigatorcontainer.h"
36#include "koprefs.h"
36 37
37DateNavigatorContainer::DateNavigatorContainer( QWidget *parent, 38DateNavigatorContainer::DateNavigatorContainer( QWidget *parent,
@@ -168,10 +169,31 @@ void DateNavigatorContainer::resizeEvent( QResizeEvent * e )
168 //qDebug(" wattdatt %d new %d %d ", size().width() ,e->size().width() , minSize.width() ); 169 //qDebug(" wattdatt %d new %d %d ", size().width() ,e->size().width() , minSize.width() );
169 //qDebug("COUNT %d %d %d %d ", verticalCount, horizontalCount , mVerticalCount, mHorizontalCount ); 170 //qDebug("COUNT %d %d %d %d ", verticalCount, horizontalCount , mVerticalCount, mHorizontalCount );
171 bool fontchange = false;
172 QFont fo;
170 if ( horizontalCount != mHorizontalCount || 173 if ( horizontalCount != mHorizontalCount ||
171 verticalCount != mVerticalCount ) { 174 verticalCount != mVerticalCount ) {
172 uint count = horizontalCount * verticalCount; 175 uint count = horizontalCount * verticalCount;
173 if ( count == 0 ) { 176 if ( count == 0 ) {
174 mNavigatorView->resize( minSize ); 177 bool ok;
175 return; 178 fo = mNavigatorView->yourFontHint( size() , &ok);
179 //mNavigatorView->resize( size() );
180 //if ( ! ok )
181 // return;
182 minSize = mNavigatorView->sizeHint();
183 verticalCount = size().height() / minSize.height();
184 horizontalCount = size().width() / minSize.width();
185 if ( horizontalCount == 0 )
186 horizontalCount = 1;
187 if ( verticalCount == 0 )
188 verticalCount = 1;
189 fontchange = true;
190 count = horizontalCount * verticalCount;
191 } else {
192 if ( mNavigatorView->fontChanged() ) {
193 fontchange = true;
194 fo = KOPrefs::instance()->mDateNavigatorFont;
195 mNavigatorView->changeFont( fo );
196 mNavigatorView->unsetFontChanged();
197 }
176 } 198 }
177 199
@@ -189,9 +211,15 @@ void DateNavigatorContainer::resizeEvent( QResizeEvent * e )
189 mExtraViews.removeLast(); 211 mExtraViews.removeLast();
190 } 212 }
191 213 if ( fontchange ) {
214 //mNavigatorView->changeFont( fo );
215 uint i;
216 for( i = 0; i < mExtraViews.count(); ++i ) {
217 KDateNavigator *view = mExtraViews.at( i );
218 view->changeFont( fo );
219 }
220 }
192 mHorizontalCount = horizontalCount; 221 mHorizontalCount = horizontalCount;
193 mVerticalCount = verticalCount; 222 mVerticalCount = verticalCount;
194 } 223 }
195
196 int height = size().height() / verticalCount; 224 int height = size().height() / verticalCount;
197 int width = size().width() / horizontalCount; 225 int width = size().width() / horizontalCount;
diff --git a/korganizer/kdatenavigator.cpp b/korganizer/kdatenavigator.cpp
index b097dc1..92a0ac2 100644
--- a/korganizer/kdatenavigator.cpp
+++ b/korganizer/kdatenavigator.cpp
@@ -117,4 +117,44 @@ KDateNavigator::KDateNavigator( QWidget *parent, const char *name )
117 enableRollover(FollowMonth); 117 enableRollover(FollowMonth);
118 mySizeHint = sizeHint(); 118 mySizeHint = sizeHint();
119 mFontChanged = false;
120}
121void KDateNavigator::changeFont ( QFont fo )
122{
123 setFont( fo );
124 mNavigatorBar->resetFont( fo );
125}
126QFont KDateNavigator::yourFontHint( QSize si , bool *b)
127{
128 QFont fo = KOPrefs::instance()->mDateNavigatorFont;
129 *b = false;
130 int fontPoint = fo.pointSize();
131 while ( fontPoint > 5 ) {
132 --fontPoint;
133 fo.setPointSize( fontPoint );
134 setFont( fo );
135 mFontChanged = true;
136 mNavigatorBar->resetFont( fo );
137 QSize sh = sizeHint();
138 //qDebug("fp %d %d %d %d %d", fontPoint, si.width() , sh.width() , si.height() , sh.height() );
139 if ( si.width() > sh.width() && si.height() > sh.height()) {
140 *b = true;
141 //qDebug("fooooooooooooooooooooooouuuuund ");
142 break;
143 }
144 }
145 //qDebug("returnnnnnnnnnnnnnnnnnnn %d", fo.pointSize() );
146 return fo;
147}
148QSize KDateNavigator::sizeHint() const
149{
150 QFontMetrics fm ( font() );
151 QSize day = daymatrix->sizeHint();
152 QSize nav = mNavigatorBar->sizeHint();
153 int wid = fm.width( "30") + day.width()+3;
154 int hei = fm.height() +day.height()+nav.height()+2;
155 if ( wid < nav.width() )
156 wid = nav.width() ;
157 //qDebug("KDateNavigator+++++++++++++ %d %d", wid , hei);
158 return QSize ( wid, hei );
119} 159}
120void KDateNavigator::slotMonthSelected( int m ) 160void KDateNavigator::slotMonthSelected( int m )
diff --git a/korganizer/kdatenavigator.h b/korganizer/kdatenavigator.h
index 292e71c..3177687 100644
--- a/korganizer/kdatenavigator.h
+++ b/korganizer/kdatenavigator.h
@@ -66,5 +66,10 @@ class KDateNavigator: public QFrame
66 void setMonthSignalOffset ( int off ) { mMonthSignalOffset = off;} 66 void setMonthSignalOffset ( int off ) { mMonthSignalOffset = off;}
67 QSize yourSizeHint() { return mySizeHint; } 67 QSize yourSizeHint() { return mySizeHint; }
68 KODayMatrix *dayMatrix() { return daymatrix ;} 68 QFont yourFontHint( QSize , bool * b);
69 bool fontChanged() {return mFontChanged; }
70 void unsetFontChanged() { mFontChanged = false; }
71 KODayMatrix *dayMatrix() { return daymatrix ;}
72 QSize sizeHint() const;
73 void changeFont ( QFont fo );
69 public slots: 74 public slots:
70 void selectDates( const KCal::DateList & ); 75 void selectDates( const KCal::DateList & );
@@ -118,4 +123,5 @@ class KDateNavigator: public QFrame
118 private: 123 private:
119 QSize mySizeHint; 124 QSize mySizeHint;
125 bool mFontChanged;
120 int mMonthSignalOffset; 126 int mMonthSignalOffset;
121 NavigatorBar *mNavigatorBar; 127 NavigatorBar *mNavigatorBar;
diff --git a/korganizer/kodaymatrix.cpp b/korganizer/kodaymatrix.cpp
index 619ae39..9181936 100644
--- a/korganizer/kodaymatrix.cpp
+++ b/korganizer/kodaymatrix.cpp
@@ -797,2 +797,13 @@ void KODayMatrix::resizeEvent(QResizeEvent *)
797 daysize.setWidth(sz.width() / 7); 797 daysize.setWidth(sz.width() / 7);
798} 798}
799
800QSize KODayMatrix::sizeHint() const
801{
802
803 QFontMetrics fm ( font() );
804 int wid = fm.width( "30") *7+7;
805 int hei = fm.height() * 6+4;
806 //qDebug("KODayMatrix::sizeHint()********************* %d %d", wid , hei);
807 return QSize ( wid, hei );
808
809}
diff --git a/korganizer/kodaymatrix.h b/korganizer/kodaymatrix.h
index c049942..39946de 100644
--- a/korganizer/kodaymatrix.h
+++ b/korganizer/kodaymatrix.h
@@ -171,4 +171,5 @@ public:
171 bool isEndOfMonth() const { return today>=27; } ; 171 bool isEndOfMonth() const { return today>=27; } ;
172 QString getWhatsThisText( QPoint ) ; 172 QString getWhatsThisText( QPoint ) ;
173 QSize sizeHint() const;
173 174
174public slots: 175public slots:
diff --git a/korganizer/navigatorbar.cpp b/korganizer/navigatorbar.cpp
index 27d4d17..4a51bba 100644
--- a/korganizer/navigatorbar.cpp
+++ b/korganizer/navigatorbar.cpp
@@ -63,8 +63,5 @@ NavigatorBar::NavigatorBar( const QDate & date, QWidget *parent, const char *nam
63 topLayout->addWidget( mCtrlFrame ); 63 topLayout->addWidget( mCtrlFrame );
64 64
65 QFont tfont = font(); 65
66 if ( QApplication::desktop()->width() >= 480 )
67 tfont.setPointSize(tfont.pointSize()+2);
68 tfont.setBold(true);
69 66
70 bool isRTL = KOGlobals::self()->reverseLayout(); 67 bool isRTL = KOGlobals::self()->reverseLayout();
@@ -121,32 +118,8 @@ NavigatorBar::NavigatorBar( const QDate & date, QWidget *parent, const char *nam
121 mNextWeek->hide(); 118 mNextWeek->hide();
122 } 119 }
123 mSelectMonth->setFont( tfont );
124 // Set minimum width to width of widest month name label
125 int i;
126 int maxwidth = 0;
127 QFontMetrics fm ( mSelectMonth->font() );
128 int width = fm.width("September '00" );
129// for( i = 1; i <= KOGlobals::self()->calendarSystem()->monthsInYear(date);
130// ++i ) {
131// //int width = fm.width( KOGlobals::self()->calendarSystem()->monthName(i,
132// // KOGlobals::self()->calendarSystem()->year(date) ) + " 2000" );
133// int width = fm.width("September 2000" );
134// if ( width > maxwidth ) maxwidth = width;
135// }
136 maxwidth = width+2;
137 int size = fm.height()+2;
138 if ( QApplication::desktop()->width() >= 480 ) {
139 size += 6;
140 maxwidth+= 6;
141 }
142 120
143 mSelectMonth->setFixedWidth( maxwidth ); 121 resetFont( font() );
144 mSelectMonth->setFixedHeight( size ); 122
145 mPrevYear->setFixedHeight( size ); 123
146 mPrevMonth->setFixedHeight( size );
147 mPrevWeek->setFixedHeight( size );
148 mNextMonth->setFixedHeight( size );
149 mNextWeek->setFixedHeight( size );
150 mNextYear->setFixedHeight ( size );
151 // set up control frame layout 124 // set up control frame layout
152 QBoxLayout *ctrlLayout = new QHBoxLayout( mCtrlFrame, 1 ); 125 QBoxLayout *ctrlLayout = new QHBoxLayout( mCtrlFrame, 1 );
@@ -185,4 +158,34 @@ NavigatorBar::~NavigatorBar()
185{ 158{
186} 159}
160void NavigatorBar::resetFont ( QFont fo )
161{
162
163 QFont tfont = fo;
164 if ( QApplication::desktop()->width() >= 480 )
165 tfont.setPointSize(tfont.pointSize()+2);
166 tfont.setBold(true);
167
168 mSelectMonth->setFont( tfont );
169 // Set minimum width to width of widest month name label
170 int i;
171 int maxwidth = 0;
172 QFontMetrics fm ( mSelectMonth->font() );
173 int width = fm.width("September '00" );
174 maxwidth = width+2;
175 int size = fm.height()+2;
176 if ( QApplication::desktop()->width() >= 480 ) {
177 size += 6;
178 maxwidth+= 6;
179 }
180 mSelectMonth->setMinimumWidth( maxwidth );
181 mSelectMonth->setFixedHeight( size );
182 mPrevYear->setFixedHeight( size );
183 mPrevMonth->setFixedHeight( size );
184 mPrevWeek->setFixedHeight( size );
185 mNextMonth->setFixedHeight( size );
186 mNextWeek->setFixedHeight( size );
187 mNextYear->setFixedHeight ( size );
188}
189
187void NavigatorBar::showButtons( bool left, bool right ) 190void NavigatorBar::showButtons( bool left, bool right )
188{ 191{
@@ -203,5 +206,5 @@ void NavigatorBar::showButtons( bool left, bool right )
203 } 206 }
204 if ( !left && !right ) { 207 if ( !left && !right ) {
205 mSelectMonth->setMaximumWidth( 1024 ); 208 //mSelectMonth->setMaximumWidth( 1024 );
206 mSelectMonth->setSizePolicy( QSizePolicy ( QSizePolicy::Expanding ,QSizePolicy::Fixed ) ); 209 mSelectMonth->setSizePolicy( QSizePolicy ( QSizePolicy::Expanding ,QSizePolicy::Fixed ) );
207 } 210 }
diff --git a/korganizer/navigatorbar.h b/korganizer/navigatorbar.h
index 4442caa..0b2f60b 100644
--- a/korganizer/navigatorbar.h
+++ b/korganizer/navigatorbar.h
@@ -40,4 +40,5 @@ class NavigatorBar: public QWidget
40 ~NavigatorBar(); 40 ~NavigatorBar();
41 void showButtons( bool left, bool right ); 41 void showButtons( bool left, bool right );
42 void resetFont ( QFont fo );
42 43
43 public slots: 44 public slots: