summaryrefslogtreecommitdiff
path: root/noncore/apps/opie-console/TEWidget.cpp
Side-by-side diff
Diffstat (limited to 'noncore/apps/opie-console/TEWidget.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/opie-console/TEWidget.cpp52
1 files changed, 49 insertions, 3 deletions
diff --git a/noncore/apps/opie-console/TEWidget.cpp b/noncore/apps/opie-console/TEWidget.cpp
index e4415dc..bf9a313 100644
--- a/noncore/apps/opie-console/TEWidget.cpp
+++ b/noncore/apps/opie-console/TEWidget.cpp
@@ -92,4 +92,2 @@
-#define SCRWIDTH 16 // width of the scrollbar
-
#define yMouseScroll 1
@@ -321,2 +319,6 @@ TEWidget::TEWidget(QWidget *parent, const char *name) : QFrame(parent,name)
+ hscrollbar = new QScrollBar( Qt::Horizontal, this );
+ hscrollbar->setCursor( arrowCursor );
+ connect(hscrollbar, SIGNAL(valueChanged(int)), this, SLOT(hscrollChanged(int)));
+
m_cornerButton = new QPushButton( this );
@@ -354,2 +356,3 @@ TEWidget::TEWidget(QWidget *parent, const char *name) : QFrame(parent,name)
word_selection_mode = FALSE;
+ vcolumns = 0;
@@ -632,2 +635,9 @@ void TEWidget::scrollChanged(int)
+void TEWidget::hscrollChanged(int loc)
+{
+ hposition = loc;
+ propagateSize();
+ update();
+}
+
void TEWidget::setScroll(int cursor, int slines)
@@ -1141,4 +1151,22 @@ void TEWidget::calcGeometry()
+ 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());
+ 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)
@@ -1147,2 +1175,3 @@ void TEWidget::calcGeometry()
columns = ( contentsRect().width() - 2 * rimX ) / font_w;
+ if(vcolumns) columns = vcolumns;
blX = (contentsRect().width() - (columns*font_w) ) / 2;
@@ -1153,2 +1182,3 @@ void TEWidget::calcGeometry()
columns = ( contentsRect().width() - 2 * rimX - scrollbar->width()) / font_w;
+ if(vcolumns) columns = vcolumns;
brX = (contentsRect().width() - (columns*font_w) - scrollbar->width() ) / 2;
@@ -1160,3 +1190,6 @@ void TEWidget::calcGeometry()
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;
@@ -1169,2 +1202,8 @@ void TEWidget::calcGeometry()
bY = (contentsRect().height() - (lines *font_h)) / 2;
+
+ if(showhscrollbar == 1)
+ {
+ //bY = bY - 10;
+ lines = lines - 1;
+ }
}
@@ -1303 +1342,8 @@ QPushButton* TEWidget::cornerButton() {
}
+
+void TEWidget::setWrapAt(int columns)
+{
+ vcolumns = columns;
+}
+
+