summaryrefslogtreecommitdiffabout
path: root/libkdepim/kdatepicker.cpp
Unidiff
Diffstat (limited to 'libkdepim/kdatepicker.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--libkdepim/kdatepicker.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/libkdepim/kdatepicker.cpp b/libkdepim/kdatepicker.cpp
index 3fe139c..d8bc9f5 100644
--- a/libkdepim/kdatepicker.cpp
+++ b/libkdepim/kdatepicker.cpp
@@ -44,90 +44,93 @@ KDatePicker::KDatePicker(QWidget *parent, QDate dt, const char *name)
44 yearBackward(new QToolButton(this)), 44 yearBackward(new QToolButton(this)),
45 monthForward(new QToolButton(this)), 45 monthForward(new QToolButton(this)),
46 monthBackward(new QToolButton(this)), 46 monthBackward(new QToolButton(this)),
47 selectMonth(new QToolButton(this)), 47 selectMonth(new QToolButton(this)),
48 selectYear(new QToolButton(this)), 48 selectYear(new QToolButton(this)),
49 //line(new QLineEdit(this)), 49 //line(new QLineEdit(this)),
50 val(new KDateValidator(this)) 50 val(new KDateValidator(this))
51 //table(new KDateTable(this)), 51 //table(new KDateTable(this)),
52 //fontsize(1) 52 //fontsize(1)
53{ 53{
54 // ----- 54 // -----
55 int size = 12; 55 int size = 12;
56 if ( QApplication::desktop()->width() >= 480 ) 56 if ( QApplication::desktop()->width() >= 480 )
57 size = 18; 57 size = 18;
58 fontsize = size; 58 fontsize = size;
59 setFont ( QFont("helvetica",size) ); 59 setFont ( QFont("helvetica",size) );
60 table = new KDateTable(this); 60 table = new KDateTable(this);
61 setFontSize(size); 61 setFontSize(size);
62 //line->setValidator(val); 62 //line->setValidator(val);
63 lineDate = new KDateEdit( this, "dateediipicker", true ); 63 lineDate = new KDateEdit( this, "dateediipicker", true );
64 yearForward->setPixmap(SmallIcon("2rightarrowB")); 64 yearForward->setPixmap(SmallIcon("2rightarrowB"));
65 yearBackward->setPixmap(SmallIcon("2leftarrowB")); 65 yearBackward->setPixmap(SmallIcon("2leftarrowB"));
66 monthForward->setPixmap(SmallIcon("1rightarrowB")); 66 monthForward->setPixmap(SmallIcon("1rightarrowB"));
67 monthBackward->setPixmap(SmallIcon("1leftarrowB")); 67 monthBackward->setPixmap(SmallIcon("1leftarrowB"));
68
69 setDate(dt); // set button texts 68 setDate(dt); // set button texts
70 connect(table, SIGNAL(dateChanged(QDate)), SLOT(dateChangedSlot(QDate))); 69 connect(table, SIGNAL(dateChanged(QDate)), SLOT(dateChangedSlot(QDate)));
71 connect(table, SIGNAL(tableClicked()), SLOT(tableClickedSlot())); 70 connect(table, SIGNAL(tableClicked()), SLOT(tableClickedSlot()));
72 connect(monthForward, SIGNAL(clicked()), SLOT(monthForwardClicked())); 71 connect(monthForward, SIGNAL(clicked()), SLOT(monthForwardClicked()));
73 connect(monthBackward, SIGNAL(clicked()), SLOT(monthBackwardClicked())); 72 connect(monthBackward, SIGNAL(clicked()), SLOT(monthBackwardClicked()));
74 connect(yearForward, SIGNAL(clicked()), SLOT(yearForwardClicked())); 73 connect(yearForward, SIGNAL(clicked()), SLOT(yearForwardClicked()));
75 connect(yearBackward, SIGNAL(clicked()), SLOT(yearBackwardClicked())); 74 connect(yearBackward, SIGNAL(clicked()), SLOT(yearBackwardClicked()));
76 connect(selectMonth, SIGNAL(clicked()), SLOT(selectMonthClicked())); 75 connect(selectMonth, SIGNAL(clicked()), SLOT(selectMonthClicked()));
77 connect(selectYear, SIGNAL(clicked()), SLOT(selectYearClicked())); 76 connect(selectYear, SIGNAL(clicked()), SLOT(selectYearClicked()));
78 //connect(line, SIGNAL(returnPressed()), SLOT(lineEnterPressed())); 77 //connect(line, SIGNAL(returnPressed()), SLOT(lineEnterPressed()));
79 connect(lineDate, SIGNAL(dateChanged(QDate)), SLOT(slotSetDate(QDate))); 78 connect(lineDate, SIGNAL(dateChanged(QDate)), SLOT(slotSetDate(QDate)));
80 connect(lineDate, SIGNAL(returnPressed()), SLOT(lineEnterPressed())); 79 connect(lineDate, SIGNAL(returnPressed()), SLOT(lineEnterPressed()));
81 table->setFocus(); 80 table->setFocus();
82 81
83} 82}
84 83
85KDatePicker::~KDatePicker() 84KDatePicker::~KDatePicker()
86{ 85{
87} 86}
88 87
89void 88void
90KDatePicker::resizeEvent(QResizeEvent*) 89KDatePicker::resizeEvent(QResizeEvent*)
91{ 90{
92 QWidget *buttons[] = { 91 QWidget *buttons[] = {
93 yearBackward, 92 yearBackward,
94 monthBackward, 93 monthBackward,
95 selectMonth, 94 selectMonth,
96 selectYear, 95 selectYear,
97 monthForward, 96 monthForward,
98 yearForward }; 97 yearForward };
99 const int NoOfButtons=sizeof(buttons)/sizeof(buttons[0]); 98 const int NoOfButtons=sizeof(buttons)/sizeof(buttons[0]);
100 QSize sizes[NoOfButtons]; 99 QSize sizes[NoOfButtons];
101 int buttonHeight=0; 100 int buttonHeight=0;
102 int count; 101 int count;
103 int w; 102 int w;
104 int x=0; 103 int x=0;
105 // ----- calculate button row height: 104 // ----- calculate button row height:
106 for(count=0; count<NoOfButtons; ++count) { 105 for(count=0; count<NoOfButtons; ++count) {
107 int xS = buttons[count]->sizeHint().width(); 106 int xS = buttons[count]->sizeHint().width();
108 int yS = buttons[count]->sizeHint().height(); 107 int yS = buttons[count]->sizeHint().height();
109 sizes[count]=QSize ( xS+10, yS ); 108 if ( QApplication::desktop()->width() < 320 )
109 sizes[count]=QSize ( xS+4, yS );
110 else
111 sizes[count]=QSize ( xS+10, yS );
112
110 buttonHeight=QMAX(buttonHeight, sizes[count].height()); 113 buttonHeight=QMAX(buttonHeight, sizes[count].height());
111 } 114 }
112 buttonHeight += 10; 115 buttonHeight += 10;
113 // ----- calculate size of the month button: 116 // ----- calculate size of the month button:
114 w=0; 117 w=0;
115 for(count=0; count<NoOfButtons; ++count) { 118 for(count=0; count<NoOfButtons; ++count) {
116 if(buttons[count]!=selectMonth) 119 if(buttons[count]!=selectMonth)
117 { 120 {
118 w+=sizes[count].width(); 121 w+=sizes[count].width();
119 } else { 122 } else {
120 x=count; 123 x=count;
121 } 124 }
122 } 125 }
123 sizes[x].setWidth(width()-w); // stretch the month button 126 sizes[x].setWidth(width()-w); // stretch the month button
124 // ----- place the buttons: 127 // ----- place the buttons:
125 x=0; 128 x=0;
126 for(count=0; count<NoOfButtons; ++count) 129 for(count=0; count<NoOfButtons; ++count)
127 { 130 {
128 w=sizes[count].width(); 131 w=sizes[count].width();
129 buttons[count]->setGeometry(x, 0, w, buttonHeight); 132 buttons[count]->setGeometry(x, 0, w, buttonHeight);
130 x+=w; 133 x+=w;
131 } 134 }
132 // ----- place the line edit for direct input: 135 // ----- place the line edit for direct input:
133 sizes[0]=lineDate->sizeHint(); 136 sizes[0]=lineDate->sizeHint();