summaryrefslogtreecommitdiff
path: root/libopie/oticker.cpp
Unidiff
Diffstat (limited to 'libopie/oticker.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--libopie/oticker.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/libopie/oticker.cpp b/libopie/oticker.cpp
index c05c2a8..b41cab6 100644
--- a/libopie/oticker.cpp
+++ b/libopie/oticker.cpp
@@ -1,130 +1,132 @@
1/* 1/*
2                This file is part of the Opie Project 2                This file is part of the Opie Project
3 Copyright (c) 2002 L. Potter <ljp@llornkcor.com> 3 Copyright (c) 2002 L. Potter <ljp@llornkcor.com>
4 Copyright (C) 2000-2002 Trolltech AS. All rights reserved.
5
4 =. 6 =.
5 .=l. 7 .=l.
6           .>+-= 8           .>+-=
7 _;:,     .>    :=|. This program is free software; you can 9 _;:,     .>    :=|. This program is free software; you can
8.> <`_,   >  .   <= redistribute it and/or modify it under 10.> <`_,   >  .   <= redistribute it and/or modify it under
9:`=1 )Y*s>-.--   : the terms of the GNU General Public 11:`=1 )Y*s>-.--   : the terms of the GNU General Public
10.="- .-=="i,     .._ License as published by the Free Software 12.="- .-=="i,     .._ License as published by the Free Software
11 - .   .-<_>     .<> Foundation; either version 2 of the License, 13 - .   .-<_>     .<> Foundation; either version 2 of the License,
12     ._= =}       : or (at your option) any later version. 14     ._= =}       : or (at your option) any later version.
13    .%`+i>       _;_. 15    .%`+i>       _;_.
14    .i_,=:_.      -<s. This program is distributed in the hope that 16    .i_,=:_.      -<s. This program is distributed in the hope that
15     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY; 17     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY;
16    : ..    .:,     . . . without even the implied warranty of 18    : ..    .:,     . . . without even the implied warranty of
17    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A 19    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A
18  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU 20  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU
19..}^=.=       =       ; Library General Public License for more 21..}^=.=       =       ; General Public License for more
20++=   -.     .`     .: details. 22++=   -.     .`     .: details.
21 :     =  ...= . :.=- 23 :     =  ...= . :.=-
22 -.   .:....=;==+<; You should have received a copy of the GNU 24 -.   .:....=;==+<; You should have received a copy of the GNU
23  -_. . .   )=.  = Library General Public License along with 25  -_. . .   )=.  = General Public License along with
24    --        :-=` this library; see the file COPYING.LIB. 26    --        :-=` this; see the file COPYING.LIB.
25 If not, write to the Free Software Foundation, 27 If not, write to the Free Software Foundation,
26 Inc., 59 Temple Place - Suite 330, 28 Inc., 59 Temple Place - Suite 330,
27 Boston, MA 02111-1307, USA. 29 Boston, MA 02111-1307, USA.
28 30
29*/ 31*/
30 32
31#include <qpe/config.h> 33#include <qpe/config.h>
32 34
33#include <stdlib.h> 35#include <stdlib.h>
34#include <stdio.h> 36#include <stdio.h>
35 37
36#include "oticker.h" 38#include "oticker.h"
37 39
38OTicker::OTicker( QWidget* parent ) 40OTicker::OTicker( QWidget* parent )
39 : QLabel( parent ) { 41 : QLabel( parent ) {
40 // : QFrame( parent ) { 42 // : QFrame( parent ) {
41 setTextFormat(Qt::RichText); 43 setTextFormat(Qt::RichText);
42 Config cfg("qpe"); 44 Config cfg("qpe");
43 cfg.setGroup("Appearance"); 45 cfg.setGroup("Appearance");
44 backgroundcolor = QColor( cfg.readEntry( "Background", "#E5E1D5" ) ); 46 backgroundcolor = QColor( cfg.readEntry( "Background", "#E5E1D5" ) );
45 foregroundcolor= Qt::black; 47 foregroundcolor= Qt::black;
46 updateTimerTime = 50; 48 updateTimerTime = 50;
47 scrollLength = 1; 49 scrollLength = 1;
48} 50}
49 51
50OTicker::~OTicker() { 52OTicker::~OTicker() {
51} 53}
52 54
53void OTicker::setBackgroundColor(const QColor& backcolor) { 55void OTicker::setBackgroundColor(const QColor& backcolor) {
54 backgroundcolor = backcolor; 56 backgroundcolor = backcolor;
55 update(); 57 update();
56} 58}
57 59
58void OTicker::setForegroundColor(const QColor& backcolor) { 60void OTicker::setForegroundColor(const QColor& backcolor) {
59 foregroundcolor = backcolor; 61 foregroundcolor = backcolor;
60 update(); 62 update();
61} 63}
62 64
63void OTicker::setFrame(int frameStyle) { 65void OTicker::setFrame(int frameStyle) {
64 setFrameStyle( frameStyle/*WinPanel | Sunken */); 66 setFrameStyle( frameStyle/*WinPanel | Sunken */);
65 update(); 67 update();
66} 68}
67 69
68void OTicker::setText( const QString& text ) { 70void OTicker::setText( const QString& text ) {
69 pos = 0; // reset it everytime the text is changed 71 pos = 0; // reset it everytime the text is changed
70 scrollText = text; 72 scrollText = text;
71qDebug(scrollText); 73qDebug(scrollText);
72 74
73 int pixelLen = 0; 75 int pixelLen = 0;
74 bool bigger = false; 76 bool bigger = false;
75 int contWidth = contentsRect().width(); 77 int contWidth = contentsRect().width();
76 int contHeight = contentsRect().height(); 78 int contHeight = contentsRect().height();
77 int pixelTextLen = fontMetrics().width( text ); 79 int pixelTextLen = fontMetrics().width( text );
78 printf("<<<<<<<height %d, width %d, text width %d %d\n", contHeight, contWidth, pixelTextLen, scrollText.length()); 80 printf("<<<<<<<height %d, width %d, text width %d %d\n", contHeight, contWidth, pixelTextLen, scrollText.length());
79 if( pixelTextLen < contWidth) 81 if( pixelTextLen < contWidth)
80 { 82 {
81 pixelLen = contWidth; 83 pixelLen = contWidth;
82 } 84 }
83 else 85 else
84 { 86 {
85 bigger = true; 87 bigger = true;
86 pixelLen = pixelTextLen; 88 pixelLen = pixelTextLen;
87 } 89 }
88 QPixmap pm( pixelLen, contHeight); 90 QPixmap pm( pixelLen, contHeight);
89// pm.fill( QColor( 167, 212, 167 )); 91// pm.fill( QColor( 167, 212, 167 ));
90 92
91 pm.fill(backgroundcolor); 93 pm.fill(backgroundcolor);
92 QPainter pmp( &pm ); 94 QPainter pmp( &pm );
93 pmp.setPen(foregroundcolor ); 95 pmp.setPen(foregroundcolor );
94 pmp.drawText( 0, 0, pixelTextLen, contHeight, AlignVCenter, scrollText ); 96 pmp.drawText( 0, 0, pixelTextLen, contHeight, AlignVCenter, scrollText );
95 pmp.end(); 97 pmp.end();
96 scrollTextPixmap = pm; 98 scrollTextPixmap = pm;
97 99
98 killTimers(); 100 killTimers();
99 // qDebug("Scrollupdate %d", updateTimerTime); 101 // qDebug("Scrollupdate %d", updateTimerTime);
100 if ( bigger /*pixelTextLen > contWidth*/ ) 102 if ( bigger /*pixelTextLen > contWidth*/ )
101 startTimer( updateTimerTime); 103 startTimer( updateTimerTime);
102 update(); 104 update();
103} 105}
104 106
105 107
106void OTicker::timerEvent( QTimerEvent * ) { 108void OTicker::timerEvent( QTimerEvent * ) {
107 pos = ( pos <= 0 ) ? scrollTextPixmap.width() : pos - scrollLength;//1; 109 pos = ( pos <= 0 ) ? scrollTextPixmap.width() : pos - scrollLength;//1;
108 repaint( FALSE ); 110 repaint( FALSE );
109} 111}
110 112
111void OTicker::drawContents( QPainter *p ) { 113void OTicker::drawContents( QPainter *p ) {
112 int pixelLen = scrollTextPixmap.width(); 114 int pixelLen = scrollTextPixmap.width();
113 p->drawPixmap( pos, contentsRect().y(), scrollTextPixmap ); 115 p->drawPixmap( pos, contentsRect().y(), scrollTextPixmap );
114 if ( pixelLen > contentsRect().width() ) // Scrolling 116 if ( pixelLen > contentsRect().width() ) // Scrolling
115 p->drawPixmap( pos - pixelLen, contentsRect().y(), scrollTextPixmap ); 117 p->drawPixmap( pos - pixelLen, contentsRect().y(), scrollTextPixmap );
116} 118}
117 119
118void OTicker::mouseReleaseEvent( QMouseEvent * ) { 120void OTicker::mouseReleaseEvent( QMouseEvent * ) {
119// qDebug("<<<<<<<>>>>>>>>>"); 121// qDebug("<<<<<<<>>>>>>>>>");
120 emit mousePressed(); 122 emit mousePressed();
121} 123}
122 124
123void OTicker::setUpdateTime(int time) { 125void OTicker::setUpdateTime(int time) {
124 updateTimerTime=time; 126 updateTimerTime=time;
125} 127}
126 128
127void OTicker::setScrollLength(int len) { 129void OTicker::setScrollLength(int len) {
128scrollLength=len; 130scrollLength=len;
129} 131}
130 132