-rw-r--r-- | noncore/apps/opie-console/widget_layer.cpp | 2 | ||||
-rw-r--r-- | noncore/apps/opie-console/widget_layer.h | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/noncore/apps/opie-console/widget_layer.cpp b/noncore/apps/opie-console/widget_layer.cpp index 3584d32..c00871f 100644 --- a/noncore/apps/opie-console/widget_layer.cpp +++ b/noncore/apps/opie-console/widget_layer.cpp | |||
@@ -73,96 +73,98 @@ void WidgetLayer::propagateSize() | |||
73 | int lins = QMIN( oldlines, m_lines ); | 73 | int lins = QMIN( oldlines, m_lines ); |
74 | int cols = QMIN( oldcolumns, m_columns ); | 74 | int cols = QMIN( oldcolumns, m_columns ); |
75 | for ( int lin = 0; lin < lins; ++lin ) | 75 | for ( int lin = 0; lin < lins; ++lin ) |
76 | { | 76 | { |
77 | memcpy( (void*) &m_image[m_columns*lin], | 77 | memcpy( (void*) &m_image[m_columns*lin], |
78 | (void*) &oldimage[oldcolumns*lin], | 78 | (void*) &oldimage[oldcolumns*lin], |
79 | cols*sizeof( Character ) ); | 79 | cols*sizeof( Character ) ); |
80 | } | 80 | } |
81 | } | 81 | } |
82 | else | 82 | else |
83 | clearImage(); | 83 | clearImage(); |
84 | 84 | ||
85 | delete oldimage; | 85 | delete oldimage; |
86 | 86 | ||
87 | m_resizing = true; | 87 | m_resizing = true; |
88 | emit imageSizeChanged( m_lines, m_columns ); | 88 | emit imageSizeChanged( m_lines, m_columns ); |
89 | m_resizing = false; | 89 | m_resizing = false; |
90 | } | 90 | } |
91 | 91 | ||
92 | void WidgetLayer::makeImage() | 92 | void WidgetLayer::makeImage() |
93 | { | 93 | { |
94 | calcGeometry(); | 94 | calcGeometry(); |
95 | m_image = QArray<Character>( m_columns * m_lines ); | 95 | m_image = QArray<Character>( m_columns * m_lines ); |
96 | clearImage(); | 96 | clearImage(); |
97 | } | 97 | } |
98 | 98 | ||
99 | void WidgetLayer::clearImage() | 99 | void WidgetLayer::clearImage() |
100 | { | 100 | { |
101 | //should this belong here?? | 101 | //should this belong here?? |
102 | for ( int y = 0; y < m_lines; y++ ) | 102 | for ( int y = 0; y < m_lines; y++ ) |
103 | for ( int x = 0; x < m_columns; x++ ) | 103 | for ( int x = 0; x < m_columns; x++ ) |
104 | { | 104 | { |
105 | m_image[loc(x,y)].c = 0xff; | 105 | m_image[loc(x,y)].c = 0xff; |
106 | m_image[loc(x,y)].f = 0xff; | 106 | m_image[loc(x,y)].f = 0xff; |
107 | m_image[loc(x,y)].b = 0xff; | 107 | m_image[loc(x,y)].b = 0xff; |
108 | m_image[loc(x,y)].r = 0xff; | 108 | m_image[loc(x,y)].r = 0xff; |
109 | } | 109 | } |
110 | } | 110 | } |
111 | 111 | ||
112 | /* --------------------------------- selection ------------------------------ */ | 112 | /* --------------------------------- selection ------------------------------ */ |
113 | 113 | ||
114 | void WidgetLayer::pasteClipboard() | 114 | void WidgetLayer::pasteClipboard() |
115 | { | 115 | { |
116 | insertSelection(); | 116 | insertSelection(); |
117 | } | 117 | } |
118 | 118 | ||
119 | 119 | ||
120 | void WidgetLayer::insertSelection() | 120 | void WidgetLayer::insertSelection() |
121 | { | 121 | { |
122 | QString text = QApplication::clipboard()->text(); | 122 | QString text = QApplication::clipboard()->text(); |
123 | if ( ! text.isNull() ) | 123 | if ( ! text.isNull() ) |
124 | { | 124 | { |
125 | text.replace( QRegExp( "\n" ), "\r" ); | 125 | text.replace( QRegExp( "\n" ), "\r" ); |
126 | insertText( text ); | 126 | insertText( text ); |
127 | // selection should be unselected | 127 | // selection should be unselected |
128 | emit selectionCleared(); | 128 | emit selectionCleared(); |
129 | } | 129 | } |
130 | } | 130 | } |
131 | 131 | ||
132 | void WidgetLayer::insertText( QString text ) | 132 | void WidgetLayer::insertText( QString text ) |
133 | { | 133 | { |
134 | // text is inserted as key event | 134 | // text is inserted as key event |
135 | QKeyEvent e( QEvent::KeyPress, 0, -1, 0, text); | 135 | QKeyEvent e( QEvent::KeyPress, 0, -1, 0, text); |
136 | emit keyPressed( &e ); | 136 | emit keyPressed( &e ); |
137 | } | 137 | } |
138 | 138 | ||
139 | void WidgetLayer::onClearSelection() | 139 | void WidgetLayer::onClearSelection() |
140 | { | 140 | { |
141 | emit selectionCleared(); | 141 | emit selectionCleared(); |
142 | } | 142 | } |
143 | 143 | ||
144 | void WidgetLayer::setSelection( const QString& text ) | 144 | void WidgetLayer::setSelection( const QString& text ) |
145 | { | 145 | { |
146 | // why get the clipboard, we have it as instance var... | 146 | // why get the clipboard, we have it as instance var... |
147 | QObject *m_clipboard = QApplication::clipboard(); | 147 | QObject *m_clipboard = QApplication::clipboard(); |
148 | 148 | ||
149 | // we know, that cliboard changes, when we change clipboard | 149 | // we know, that cliboard changes, when we change clipboard |
150 | QObject::disconnect( (QObject*) m_clipboard, SIGNAL( dataChanged() ), | 150 | QObject::disconnect( (QObject*) m_clipboard, SIGNAL( dataChanged() ), |
151 | (QObject*) this, SLOT( selectionCleared() ) ); | 151 | (QObject*) this, SLOT( selectionCleared() ) ); |
152 | 152 | ||
153 | QApplication::clipboard()->setText( text ); | 153 | QApplication::clipboard()->setText( text ); |
154 | 154 | ||
155 | QObject::connect( (QObject*) m_clipboard, SIGNAL( dataChanged() ), | 155 | QObject::connect( (QObject*) m_clipboard, SIGNAL( dataChanged() ), |
156 | (QObject*) this, SLOT( selectionCleared() ) ); | 156 | (QObject*) this, SLOT( selectionCleared() ) ); |
157 | } | 157 | } |
158 | 158 | ||
159 | 159 | ||
160 | ///////// | 160 | ///////// |
161 | // special font characters | 161 | // special font characters |
162 | ///////// | 162 | ///////// |
163 | unsigned short vt100_graphics[32] = | 163 | unsigned short vt100_graphics[32] = |
164 | { // 0/8 1/9 2/10 3/11 4/12 5/13 6/14 7/15 | 164 | { // 0/8 1/9 2/10 3/11 4/12 5/13 6/14 7/15 |
165 | 0x0020, 0x25C6, 0x2592, 0x2409, 0x240c, 0x240d, 0x240a, 0x00b0, | 165 | 0x0020, 0x25C6, 0x2592, 0x2409, 0x240c, 0x240d, 0x240a, 0x00b0, |
166 | 0x00b1, 0x2424, 0x240b, 0x2518, 0x2510, 0x250c, 0x2514, 0x253c, | 166 | 0x00b1, 0x2424, 0x240b, 0x2518, 0x2510, 0x250c, 0x2514, 0x253c, |
167 | 0xF800, 0xF801, 0x2500, 0xF803, 0xF804, 0x251c, 0x2524, 0x2534, | 167 | 0xF800, 0xF801, 0x2500, 0xF803, 0xF804, 0x251c, 0x2524, 0x2534, |
168 | 0x252c, 0x2502, 0x2264, 0x2265, 0x03C0, 0x2260, 0x00A3, 0x00b7 | 168 | 0x252c, 0x2502, 0x2264, 0x2265, 0x03C0, 0x2260, 0x00A3, 0x00b7 |
169 | }; | ||
170 | |||
diff --git a/noncore/apps/opie-console/widget_layer.h b/noncore/apps/opie-console/widget_layer.h index 2ca0f88..014d507 100644 --- a/noncore/apps/opie-console/widget_layer.h +++ b/noncore/apps/opie-console/widget_layer.h | |||
@@ -1,133 +1,133 @@ | |||
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 | /* | 29 | /* |
30 | * given a pseudo location ( column, line ), | 30 | * given a pseudo location ( column, line ), |
31 | * returns the actual index, in the QArray<Character> | 31 | * returns the actual index, in the QArray<Character> |
32 | */ | 32 | */ |
33 | #define loc(X,Y) ((Y)*m_columns+(X)) | 33 | #define loc(X,Y) ((Y)*m_columns+(X)) |
34 | 34 | ||
35 | 35 | ||
36 | 36 | ||
37 | unsigned short vt100_graphics[32]; | 37 | extern unsigned short vt100_graphics[32]; |
38 | 38 | ||
39 | class WidgetLayer : public QFrame | 39 | class WidgetLayer : public QFrame |
40 | { Q_OBJECT | 40 | { Q_OBJECT |
41 | 41 | ||
42 | public: | 42 | public: |
43 | 43 | ||
44 | /** | 44 | /** |
45 | * constructor | 45 | * constructor |
46 | * @param const Profile &config, the configuration for this widget | 46 | * @param const Profile &config, the configuration for this widget |
47 | * @param QWidget *parent, the parent widget | 47 | * @param QWidget *parent, the parent widget |
48 | * @param const char *name, the name of the widget, defaults to "" | 48 | * @param const char *name, the name of the widget, defaults to "" |
49 | */ | 49 | */ |
50 | WidgetLayer( const Profile& config, QWidget *parent=0, const char *name=0 ); | 50 | WidgetLayer( const Profile& config, QWidget *parent=0, const char *name=0 ); |
51 | 51 | ||
52 | /** | 52 | /** |
53 | * destructor | 53 | * destructor |
54 | */ | 54 | */ |
55 | virtual ~WidgetLayer(); | 55 | virtual ~WidgetLayer(); |
56 | 56 | ||
57 | public: | 57 | public: |
58 | /** | 58 | /** |
59 | * sets the image | 59 | * sets the image |
60 | * @param QArray<Character> const newimg, the new image | 60 | * @param QArray<Character> const newimg, the new image |
61 | * @param int lines, lines count of newimg | 61 | * @param int lines, lines count of newimg |
62 | * @param int columns, columns count of newimg | 62 | * @param int columns, columns count of newimg |
63 | */ | 63 | */ |
64 | virtual void setImage( QArray<Character> const newimg, int lines, int colums ) = 0; | 64 | virtual void setImage( QArray<Character> const newimg, int lines, int colums ) = 0; |
65 | 65 | ||
66 | /** | 66 | /** |
67 | * annoy the user | 67 | * annoy the user |
68 | */ | 68 | */ |
69 | void bell(); | 69 | void bell(); |
70 | 70 | ||
71 | /** | 71 | /** |
72 | * @return int m_lines, the lines count | 72 | * @return int m_lines, the lines count |
73 | */ | 73 | */ |
74 | int lines(){ return m_lines; } | 74 | int lines(){ return m_lines; } |
75 | 75 | ||
76 | /** | 76 | /** |
77 | * @return int m_columns, the columns count | 77 | * @return int m_columns, the columns count |
78 | */ | 78 | */ |
79 | int columns(){ return m_columns; } | 79 | int columns(){ return m_columns; } |
80 | 80 | ||
81 | /** | 81 | /** |
82 | * insert current selection (currently this is only the clipboard) | 82 | * insert current selection (currently this is only the clipboard) |
83 | */ | 83 | */ |
84 | void insertSelection(); | 84 | void insertSelection(); |
85 | 85 | ||
86 | /** | 86 | /** |
87 | * insert text | 87 | * insert text |
88 | * @param QString text, the text to be inserted | 88 | * @param QString text, the text to be inserted |
89 | */ | 89 | */ |
90 | void insertText( QString text ); | 90 | void insertText( QString text ); |
91 | 91 | ||
92 | /** | 92 | /** |
93 | * set selection (clipboard) to text | 93 | * set selection (clipboard) to text |
94 | * @param const QString &text, the text to be selected | 94 | * @param const QString &text, the text to be selected |
95 | */ | 95 | */ |
96 | void setSelection( const QString &text ); | 96 | void setSelection( const QString &text ); |
97 | 97 | ||
98 | /** | 98 | /** |
99 | * paste content of clipboard | 99 | * paste content of clipboard |
100 | */ | 100 | */ |
101 | void pasteClipboard(); | 101 | void pasteClipboard(); |
102 | 102 | ||
103 | 103 | ||
104 | /** | 104 | /** |
105 | * reload configuration | 105 | * reload configuration |
106 | * @param const Profile& config, the config to be used (may be the same as in constructor) | 106 | * @param const Profile& config, the config to be used (may be the same as in constructor) |
107 | */ | 107 | */ |
108 | virtual void reloadConfig( const Profile& config ) = 0; | 108 | virtual void reloadConfig( const Profile& config ) = 0; |
109 | 109 | ||
110 | 110 | ||
111 | /** | 111 | /** |
112 | * sets the scrollbar (if implemented by successor of this class) | 112 | * sets the scrollbar (if implemented by successor of this class) |
113 | */ | 113 | */ |
114 | virtual void setScroll( int cursor, int slines ); | 114 | virtual void setScroll( int cursor, int slines ); |
115 | 115 | ||
116 | /** | 116 | /** |
117 | * scrolls (if implemented, by successor of this class) | 117 | * 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) | 118 | * @param int value, how much the widget should scroll up (positive value) or down (negative value) |
119 | */ | 119 | */ |
120 | virtual void scroll( int value ); | 120 | virtual void scroll( int value ); |
121 | 121 | ||
122 | signals: | 122 | signals: |
123 | 123 | ||
124 | /** | 124 | /** |
125 | * key was pressed | 125 | * key was pressed |
126 | */ | 126 | */ |
127 | void keyPressed( QKeyEvent *e ); | 127 | void keyPressed( QKeyEvent *e ); |
128 | 128 | ||
129 | /** | 129 | /** |
130 | * whenever Mouse selects something | 130 | * whenever Mouse selects something |
131 | * @param int button, the button that us pressed : | 131 | * @param int button, the button that us pressed : |
132 | * 0left Button | 132 | * 0left Button |
133 | * 3Button released | 133 | * 3Button released |