summaryrefslogtreecommitdiff
authoribotty <ibotty>2002-10-13 10:27:40 (UTC)
committer ibotty <ibotty>2002-10-13 10:27:40 (UTC)
commitb8377d9c462d7edbc92c6809503cb53a09f8fd98 (patch) (unidiff)
tree87e592def2ca4838665de93ba0e93125cffec1d8
parent034504c65f8115f6a2fbd4f022082cc867aa2605 (diff)
downloadopie-b8377d9c462d7edbc92c6809503cb53a09f8fd98.zip
opie-b8377d9c462d7edbc92c6809503cb53a09f8fd98.tar.gz
opie-b8377d9c462d7edbc92c6809503cb53a09f8fd98.tar.bz2
added call to calcGeometry in constructor of EmulationWidget.
hopefully fixes the 50x1 size problem
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/opie-console/emulation_widget.cpp3
-rw-r--r--noncore/apps/opie-console/widget_layer.h2
2 files changed, 5 insertions, 0 deletions
diff --git a/noncore/apps/opie-console/emulation_widget.cpp b/noncore/apps/opie-console/emulation_widget.cpp
index 5c3b2d2..318d7bb 100644
--- a/noncore/apps/opie-console/emulation_widget.cpp
+++ b/noncore/apps/opie-console/emulation_widget.cpp
@@ -1,123 +1,126 @@
1// opie-console includes 1// opie-console includes
2#include "emulation_widget.h" 2#include "emulation_widget.h"
3#include "common.h" 3#include "common.h"
4#include "widget_layer.h" 4#include "widget_layer.h"
5#include "profile.h" 5#include "profile.h"
6 6
7// qt includes 7// qt includes
8#include <qwidget.h> 8#include <qwidget.h>
9#include <qarray.h> 9#include <qarray.h>
10#include <qstring.h> 10#include <qstring.h>
11#include <qpainter.h> 11#include <qpainter.h>
12#include <qrect.h> 12#include <qrect.h>
13#include <qscrollbar.h> 13#include <qscrollbar.h>
14 14
15#define rimX 0 // left/right rim width 15#define rimX 0 // left/right rim width
16#define rimY 0 // top/bottom rim high 16#define rimY 0 // top/bottom rim high
17 17
18#define SCRWIDTH 16 // width of scrollbar 18#define SCRWIDTH 16 // width of scrollbar
19 19
20EmulationWidget::EmulationWidget( const Profile& config, QWidget *parent, const char* name ) : WidgetLayer( config, parent, name ) 20EmulationWidget::EmulationWidget( const Profile& config, QWidget *parent, const char* name ) : WidgetLayer( config, parent, name )
21{ 21{
22 22
23 // initialize font attributes 23 // initialize font attributes
24 QFontMetrics fm( font() ); 24 QFontMetrics fm( font() );
25 f_height = fm.height(); 25 f_height = fm.height();
26 f_width = fm.maxWidth(); 26 f_width = fm.maxWidth();
27 f_ascent = fm.ascent(); 27 f_ascent = fm.ascent();
28
29 // give reasonable defaults to m_columns, m_lines
30 calcGeometry();
28 31
29 // initialize scrollbar related vars 32 // initialize scrollbar related vars
30 m_scrollbar = new QScrollBar( this ); 33 m_scrollbar = new QScrollBar( this );
31 m_scrollbar->setCursor( arrowCursor ); 34 m_scrollbar->setCursor( arrowCursor );
32 35
33 // load config 36 // load config
34 reloadConfig( config ); 37 reloadConfig( config );
35 38
36 m_resizing = false; 39 m_resizing = false;
37} 40}
38 41
39void EmulationWidget::reloadConfig( const Profile& config ) 42void EmulationWidget::reloadConfig( const Profile& config )
40{ 43{
41 44
42 // nothing yet 45 // nothing yet
43} 46}
44 47
45EmulationWidget::~EmulationWidget() 48EmulationWidget::~EmulationWidget()
46{ 49{
47 //clean up 50 //clean up
48} 51}
49 52
50static QChar vt100extended(QChar c) 53static QChar vt100extended(QChar c)
51{ 54{
52 switch (c.unicode()) 55 switch (c.unicode())
53 { 56 {
54 case 0x25c6 : return 1; 57 case 0x25c6 : return 1;
55 case 0x2592 : return 2; 58 case 0x2592 : return 2;
56 case 0x2409 : return 3; 59 case 0x2409 : return 3;
57 case 0x240c : return 4; 60 case 0x240c : return 4;
58 case 0x240d : return 5; 61 case 0x240d : return 5;
59 case 0x240a : return 6; 62 case 0x240a : return 6;
60 case 0x00b0 : return 7; 63 case 0x00b0 : return 7;
61 case 0x00b1 : return 8; 64 case 0x00b1 : return 8;
62 case 0x2424 : return 9; 65 case 0x2424 : return 9;
63 case 0x240b : return 10; 66 case 0x240b : return 10;
64 case 0x2518 : return 11; 67 case 0x2518 : return 11;
65 case 0x2510 : return 12; 68 case 0x2510 : return 12;
66 case 0x250c : return 13; 69 case 0x250c : return 13;
67 case 0x2514 : return 14; 70 case 0x2514 : return 14;
68 case 0x253c : return 15; 71 case 0x253c : return 15;
69 case 0xf800 : return 16; 72 case 0xf800 : return 16;
70 case 0xf801 : return 17; 73 case 0xf801 : return 17;
71 case 0x2500 : return 18; 74 case 0x2500 : return 18;
72 case 0xf803 : return 19; 75 case 0xf803 : return 19;
73 case 0xf804 : return 20; 76 case 0xf804 : return 20;
74 case 0x251c : return 21; 77 case 0x251c : return 21;
75 case 0x2524 : return 22; 78 case 0x2524 : return 22;
76 case 0x2534 : return 23; 79 case 0x2534 : return 23;
77 case 0x252c : return 24; 80 case 0x252c : return 24;
78 case 0x2502 : return 25; 81 case 0x2502 : return 25;
79 case 0x2264 : return 26; 82 case 0x2264 : return 26;
80 case 0x2265 : return 27; 83 case 0x2265 : return 27;
81 case 0x03c0 : return 28; 84 case 0x03c0 : return 28;
82 case 0x2260 : return 29; 85 case 0x2260 : return 29;
83 case 0x00a3 : return 30; 86 case 0x00a3 : return 30;
84 case 0x00b7 : return 31; 87 case 0x00b7 : return 31;
85 } 88 }
86 return c; 89 return c;
87} 90}
88 91
89 92
90 93
91void EmulationWidget::setImage( QArray<Character> const newimg, int lines, int columns ) 94void EmulationWidget::setImage( QArray<Character> const newimg, int lines, int columns )
92{ 95{
93 const QPixmap* pm = backgroundPixmap(); 96 const QPixmap* pm = backgroundPixmap();
94 QPainter paint; 97 QPainter paint;
95 98
96 // dont allow updates, while drawing 99 // dont allow updates, while drawing
97 setUpdatesEnabled( false ); 100 setUpdatesEnabled( false );
98 101
99 paint.begin( this ); 102 paint.begin( this );
100 103
101 QPoint tL = contentsRect().topLeft(); 104 QPoint tL = contentsRect().topLeft();
102 int tLx = tL.x(); 105 int tLx = tL.x();
103 int tLy = tL.y(); 106 int tLy = tL.y();
104 //hasBlinker = false; 107 //hasBlinker = false;
105 108
106 int cf = -1; 109 int cf = -1;
107 int cb = -1; 110 int cb = -1;
108 int cr = -1; 111 int cr = -1;
109 112
110 int lins = QMIN( m_lines, QMAX( 0, lines ) ); 113 int lins = QMIN( m_lines, QMAX( 0, lines ) );
111 int cols = QMIN( m_columns, QMAX( 0, columns ) ); 114 int cols = QMIN( m_columns, QMAX( 0, columns ) );
112 QArray<QChar> disstrU = QArray<QChar>( cols ); 115 QArray<QChar> disstrU = QArray<QChar>( cols );
113 116
114 for ( int y = 0; y < lins; ++y ) 117 for ( int y = 0; y < lins; ++y )
115 {int len; 118 {int len;
116 const Character* lcl = &m_image[y * m_columns]; 119 const Character* lcl = &m_image[y * m_columns];
117 const Character* ext = &newimg[y * columns]; 120 const Character* ext = &newimg[y * columns];
118 if ( ! m_resizing ) 121 if ( ! m_resizing )
119 for ( int x = 0; x < cols; ++x ) 122 for ( int x = 0; x < cols; ++x )
120 { 123 {
121 // disable, till widget works, WITHOUT blinking 124 // disable, till widget works, WITHOUT blinking
122 //hasBlinker |= ( ext[x].r & RE_BLINK ); 125 //hasBlinker |= ( ext[x].r & RE_BLINK );
123 126
diff --git a/noncore/apps/opie-console/widget_layer.h b/noncore/apps/opie-console/widget_layer.h
index bc8fe36..067f3da 100644
--- a/noncore/apps/opie-console/widget_layer.h
+++ b/noncore/apps/opie-console/widget_layer.h
@@ -1,124 +1,126 @@
1/* -------------------------------------------------------------------------- */ 1/* -------------------------------------------------------------------------- */
2/* */ 2/* */
3/* [widget_layer.h] Widget Layer */ 3/* [widget_layer.h] Widget Layer */
4/* */ 4/* */
5/* -------------------------------------------------------------------------- */ 5/* -------------------------------------------------------------------------- */
6 6
7// proposal of a widget Layer in opie-console 7// proposal of a widget Layer in opie-console
8// 8//
9// fellow devels: 9// fellow devels:
10// just mail me (ibotty@web.de), what you additionally need from the main widget 10// just mail me (ibotty@web.de), what you additionally need from the main widget
11// (or say in chat) 11// (or say in chat)
12 12
13#ifndef WIDGET_LAYER_H 13#ifndef WIDGET_LAYER_H
14#define WIDGET_LAYER_H 14#define WIDGET_LAYER_H
15 15
16// qt includes 16// qt includes
17#include <qapplication.h> 17#include <qapplication.h>
18#include <qframe.h> 18#include <qframe.h>
19#include <qarray.h> 19#include <qarray.h>
20#include <qtimer.h> 20#include <qtimer.h>
21#include <qkeycode.h> 21#include <qkeycode.h>
22#include <qclipboard.h> 22#include <qclipboard.h>
23 23
24 24
25// opie-console includes 25// opie-console includes
26#include "session.h" 26#include "session.h"
27#include "common.h" 27#include "common.h"
28#include "profile.h" 28#include "profile.h"
29
30
29/* 31/*
30 * given a pseudo location ( column, line ), 32 * given a pseudo location ( column, line ),
31 * returns the actual index, in the QArray<Character> 33 * returns the actual index, in the QArray<Character>
32 */ 34 */
33#define loc(X,Y) ((Y)*m_columns+(X)) 35#define loc(X,Y) ((Y)*m_columns+(X))
34 36
35 37
36 38
37extern unsigned short vt100_graphics[32]; 39extern unsigned short vt100_graphics[32];
38 40
39class WidgetLayer : public QFrame 41class WidgetLayer : public QFrame
40{ Q_OBJECT 42{ Q_OBJECT
41 43
42public: 44public:
43 45
44 /** 46 /**
45 * constructor 47 * constructor
46 * @param const Profile &config, the configuration for this widget 48 * @param const Profile &config, the configuration for this widget
47 * @param QWidget *parent, the parent widget 49 * @param QWidget *parent, the parent widget
48 * @param const char *name, the name of the widget, defaults to "" 50 * @param const char *name, the name of the widget, defaults to ""
49 */ 51 */
50 WidgetLayer( const Profile& config, QWidget *parent=0, const char *name=0 ); 52 WidgetLayer( const Profile& config, QWidget *parent=0, const char *name=0 );
51 53
52 /** 54 /**
53 * destructor 55 * destructor
54 */ 56 */
55 virtual ~WidgetLayer(); 57 virtual ~WidgetLayer();
56 58
57public: 59public:
58 /** 60 /**
59 * sets the image 61 * sets the image
60 * @param QArray<Character> const newimg, the new image 62 * @param QArray<Character> const newimg, the new image
61 * @param int lines, lines count of newimg 63 * @param int lines, lines count of newimg
62 * @param int columns, columns count of newimg 64 * @param int columns, columns count of newimg
63 */ 65 */
64 virtual void setImage( QArray<Character> const newimg, int lines, int colums ) = 0; 66 virtual void setImage( QArray<Character> const newimg, int lines, int colums ) = 0;
65 67
66 /** 68 /**
67 * annoy the user 69 * annoy the user
68 */ 70 */
69 void bell(); 71 void bell();
70 72
71 /** 73 /**
72 * @return int m_lines, the lines count 74 * @return int m_lines, the lines count
73 */ 75 */
74 int lines(){ return m_lines; } 76 int lines(){ return m_lines; }
75 77
76 /** 78 /**
77 * @return int m_columns, the columns count 79 * @return int m_columns, the columns count
78 */ 80 */
79 int columns(){ return m_columns; } 81 int columns(){ return m_columns; }
80 82
81 /** 83 /**
82 * insert current selection (currently this is only the clipboard) 84 * insert current selection (currently this is only the clipboard)
83 */ 85 */
84 void insertSelection(); 86 void insertSelection();
85 87
86 /** 88 /**
87 * insert text 89 * insert text
88 * @param QString text, the text to be inserted 90 * @param QString text, the text to be inserted
89 */ 91 */
90 void insertText( QString text ); 92 void insertText( QString text );
91 93
92 /** 94 /**
93 * set selection (clipboard) to text 95 * set selection (clipboard) to text
94 * @param const QString &text, the text to be selected 96 * @param const QString &text, the text to be selected
95 */ 97 */
96 void setSelection( const QString &text ); 98 void setSelection( const QString &text );
97 99
98 /** 100 /**
99 * paste content of clipboard 101 * paste content of clipboard
100 */ 102 */
101 void pasteClipboard(); 103 void pasteClipboard();
102 104
103 105
104 /** 106 /**
105 * reload configuration 107 * reload configuration
106 * @param const Profile& config, the config to be used (may be the same as in constructor) 108 * @param const Profile& config, the config to be used (may be the same as in constructor)
107 */ 109 */
108 virtual void reloadConfig( const Profile& config ) = 0; 110 virtual void reloadConfig( const Profile& config ) = 0;
109 111
110 112
111 /** 113 /**
112 * sets the scrollbar (if implemented by successor of this class) 114 * sets the scrollbar (if implemented by successor of this class)
113 */ 115 */
114 virtual void setScroll( int cursor, int slines ) = 0; 116 virtual void setScroll( int cursor, int slines ) = 0;
115 117
116 /** 118 /**
117 * scrolls (if implemented, by successor of this class) 119 * scrolls (if implemented, by successor of this class)
118 * @param int value, how much the widget should scroll up (positive value) or down (negative value) 120 * @param int value, how much the widget should scroll up (positive value) or down (negative value)
119 */ 121 */
120 virtual void scroll( int value ) = 0; 122 virtual void scroll( int value ) = 0;
121 123
122signals: 124signals:
123 125
124 /** 126 /**