summaryrefslogtreecommitdiff
path: root/noncore/apps/opie-console/TEWidget.cpp
authorjosef <josef>2002-10-26 14:23:48 (UTC)
committer josef <josef>2002-10-26 14:23:48 (UTC)
commit2bd985c4f5a5c27260e6057a1ca8a2e0e586acbb (patch) (side-by-side diff)
treef31bed6961ee2cea8b0412adc80fc5c60cadaefb /noncore/apps/opie-console/TEWidget.cpp
parent2de7003cd700685e0c3696d51656f54d54c81f43 (diff)
downloadopie-2bd985c4f5a5c27260e6057a1ca8a2e0e586acbb.zip
opie-2bd985c4f5a5c27260e6057a1ca8a2e0e586acbb.tar.gz
opie-2bd985c4f5a5c27260e6057a1ca8a2e0e586acbb.tar.bz2
- reduce number of lines correctly (fixes problems with small fonts)
- when using fullscreen, move corner widget into lower right corner :)
Diffstat (limited to 'noncore/apps/opie-console/TEWidget.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/opie-console/TEWidget.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/noncore/apps/opie-console/TEWidget.cpp b/noncore/apps/opie-console/TEWidget.cpp
index 2db214c..d1ff85e 100644
--- a/noncore/apps/opie-console/TEWidget.cpp
+++ b/noncore/apps/opie-console/TEWidget.cpp
@@ -1137,48 +1137,52 @@ void TEWidget::clearImage()
for (int x = 0; x < columns; x++)
{
image[loc(x,y)].c = 0xff; //' ';
image[loc(x,y)].f = 0xff; //DEFAULT_FORE_COLOR;
image[loc(x,y)].b = 0xff; //DEFAULT_BACK_COLOR;
image[loc(x,y)].r = 0xff; //DEFAULT_RENDITION;
}
}
// Create Image ///////////////////////////////////////////////////////
void TEWidget::calcGeometry()
{
//FIXME: set rimX == rimY == 0 when running in full screen mode.
int showhscrollbar = 1;
int hwidth = 0;
if(vcolumns == 0) showhscrollbar = 0;
if(showhscrollbar == 1) hwidth = QApplication::style().scrollBarExtent().width();
scrollbar->resize(QApplication::style().scrollBarExtent().width(),
contentsRect().height() - hwidth);
+ if(!showhscrollbar) cornerButton()->move(0, 0);
+ else cornerButton()->move(contentsRect().width() - hwidth, contentsRect().height() - hwidth);
+
+
if(showhscrollbar == 1)
{
hscrollbar->resize(contentsRect().width() - hwidth, hwidth);
hscrollbar->setRange(0, 40);
QPoint p = contentsRect().bottomLeft();
hscrollbar->move(QPoint(p.x(), p.y() - hwidth));
hscrollbar->show();
}
else hscrollbar->hide();
switch(scrollLoc)
{
case SCRNONE :
columns = ( contentsRect().width() - 2 * rimX ) / font_w;
if(vcolumns) columns = vcolumns;
blX = (contentsRect().width() - (columns*font_w) ) / 2;
if(showhscrollbar)
blX = -hposition * font_w;
brX = blX;
scrollbar->hide();
break;
case SCRLEFT :
columns = ( contentsRect().width() - 2 * rimX - scrollbar->width()) / font_w;
@@ -1186,50 +1190,50 @@ void TEWidget::calcGeometry()
brX = (contentsRect().width() - (columns*font_w) - scrollbar->width() ) / 2;
if(showhscrollbar)
brX = -hposition * font_w;
blX = brX + scrollbar->width();
scrollbar->move(contentsRect().topLeft());
scrollbar->show();
break;
case SCRRIGHT:
columns = ( contentsRect().width() - 2 * rimX - scrollbar->width()) / font_w;
if(vcolumns) columns = vcolumns;
blX = (contentsRect().width() - (columns*font_w) - scrollbar->width() ) / 2;
if(showhscrollbar)
blX = -hposition * font_w;
brX = blX;
scrollbar->move(contentsRect().topRight() - QPoint(scrollbar->width()-1,0));
scrollbar->show();
break;
}
//FIXME: support 'rounding' styles
lines = ( contentsRect().height() - 2 * rimY ) / font_h;
bY = (contentsRect().height() - (lines *font_h)) / 2;
if(showhscrollbar == 1)
{
- //bY = bY - 10;
- lines = lines - 1;
+ lines = lines - (hwidth / font_h) - 1;
+ if(lines < 1) lines = 1;
}
}
void TEWidget::makeImage()
//FIXME: rename 'calcGeometry?
{
calcGeometry();
image = (ca*) malloc(lines*columns*sizeof(ca));
clearImage();
}
// calculate the needed size
QSize TEWidget::calcSize(int cols, int lins) const
{
int frw = width() - contentsRect().width();
int frh = height() - contentsRect().height();
int scw = (scrollLoc==SCRNONE?0:scrollbar->width());
return QSize( font_w*cols + 2*rimX + frw + scw, font_h*lins + 2*rimY + frh );
}
QSize TEWidget::sizeHint() const
{
return size();
}