summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--noncore/applets/networkapplet/opie-networkapplet.control2
-rw-r--r--noncore/applets/notesapplet/opie-notesapplet.control4
-rw-r--r--noncore/applets/wirelessapplet/opie-wirelessapplet.control2
-rw-r--r--noncore/apps/odict/configdlg.cpp22
-rw-r--r--noncore/apps/odict/configdlg.h2
-rw-r--r--noncore/apps/odict/odict.cpp12
-rw-r--r--noncore/apps/odict/odict.h2
-rw-r--r--noncore/apps/odict/odict.pro2
-rw-r--r--noncore/apps/odict/opie-odict.control2
-rw-r--r--noncore/apps/tableviewer/db/xmlsource.cpp6
-rw-r--r--noncore/apps/tableviewer/tableviewer.pro2
-rw-r--r--noncore/apps/tableviewer/ui/tvbrowseview.cpp7
-rw-r--r--noncore/apps/tableviewer/xmlencodeattr.cpp48
-rw-r--r--noncore/apps/tableviewer/xmlencodeattr.h26
-rw-r--r--noncore/comm/keypebble/keypebble.pro1
-rw-r--r--noncore/comm/keypebble/opie-keypebble.control2
-rw-r--r--noncore/comm/mobilemsg/opie-mobilemsg.control2
-rw-r--r--noncore/decorations/flat/opie-deco-flat.control2
-rw-r--r--noncore/decorations/liquid/opie-deco-liquid.control2
-rw-r--r--noncore/decorations/polished/opie-deco-polished.control2
-rw-r--r--noncore/games/backgammon/backgammon.control2
-rw-r--r--noncore/games/backgammon/backgammon.cpp2
-rw-r--r--noncore/games/backgammon/backgammon.h1
-rw-r--r--noncore/games/bounce/kbounce.cpp6
-rw-r--r--noncore/games/buzzword/buzzword.cpp2
-rw-r--r--noncore/games/fifteen/opie-fifteen.control2
-rw-r--r--noncore/games/go/opie-go.control2
-rw-r--r--noncore/games/kpacman/kpacman.cpp2
-rw-r--r--noncore/games/mindbreaker/opie-mindbreaker.control2
-rw-r--r--noncore/games/minesweep/opie-minesweep.control2
-rw-r--r--noncore/games/parashoot/opie-parashoot.control2
-rw-r--r--noncore/games/qasteroids/opie-qasteroids.control2
-rw-r--r--noncore/games/sfcave-sdl/sfcave-sdl.control2
-rw-r--r--noncore/games/sfcave/opie-sfcave.control2
-rw-r--r--noncore/games/snake/interface.cpp4
-rw-r--r--noncore/games/snake/opie-snake.control2
-rw-r--r--noncore/games/solitaire/canvascardwindow.cpp14
-rw-r--r--noncore/games/solitaire/opie-solitaire.control2
-rw-r--r--noncore/games/tetrix/opie-tetrix.control2
-rw-r--r--noncore/games/tictac/main.cpp2
-rw-r--r--noncore/games/tictac/opie-tictac.control2
-rw-r--r--noncore/games/wordgame/opie-wordgame.control2
-rw-r--r--noncore/games/wordgame/wordgame.cpp4
-rw-r--r--noncore/graphics/drawpad/drawpad.cpp6
-rw-r--r--noncore/graphics/drawpad/drawpad.h1
-rw-r--r--noncore/graphics/drawpad/drawpadcanvas.cpp20
-rw-r--r--noncore/graphics/drawpad/exportdialog.cpp11
-rw-r--r--noncore/graphics/drawpad/importdialog.cpp12
-rw-r--r--noncore/graphics/drawpad/importdialog.h4
-rw-r--r--noncore/graphics/drawpad/main.cpp2
-rw-r--r--noncore/graphics/drawpad/opie-drawpad.control2
-rw-r--r--noncore/graphics/drawpad/texttool.h1
-rw-r--r--noncore/multimedia/mediaplayerskins/opie-mediaplayer2-skin-Pod.control2
-rw-r--r--noncore/multimedia/mediaplayerskins/opie-mediaplayer2-skin-default-landscape.control2
-rw-r--r--noncore/multimedia/mediaplayerskins/opie-mediaplayer2-skin-default.control2
-rw-r--r--noncore/multimedia/mediaplayerskins/opie-mediaplayer2-skin-techno.control2
-rw-r--r--noncore/multimedia/opieplayer2/audiowidget.cpp14
-rw-r--r--noncore/multimedia/opieplayer2/audiowidget.h7
-rw-r--r--noncore/multimedia/opieplayer2/lib.cpp49
-rw-r--r--noncore/multimedia/opieplayer2/lib.h5
-rw-r--r--noncore/multimedia/opieplayer2/mediadetect.cpp43
-rw-r--r--noncore/multimedia/opieplayer2/mediadetect.h31
-rw-r--r--noncore/multimedia/opieplayer2/mediaplayer.cpp9
-rw-r--r--noncore/multimedia/opieplayer2/mediaplayer.h3
-rw-r--r--noncore/multimedia/opieplayer2/mediawidget.cpp2
-rw-r--r--noncore/multimedia/opieplayer2/om3u.cpp6
-rw-r--r--noncore/multimedia/opieplayer2/opie-mediaplayer2-codecs.control10
-rwxr-xr-xnoncore/multimedia/opieplayer2/opie-mediaplayer2-codecs.postinst5
-rw-r--r--noncore/multimedia/opieplayer2/opie-mediaplayer2.control4
-rw-r--r--noncore/multimedia/opieplayer2/opieplayer2.pro2
-rw-r--r--noncore/multimedia/opieplayer2/playlistwidget.cpp23
-rw-r--r--noncore/multimedia/opieplayer2/playlistwidget.h7
-rw-r--r--noncore/multimedia/opieplayer2/playlistwidgetgui.cpp28
-rw-r--r--noncore/multimedia/opieplayer2/playlistwidgetgui.h10
-rw-r--r--noncore/multimedia/opieplayer2/videowidget.cpp10
-rw-r--r--noncore/multimedia/opieplayer2/videowidget.h4
-rw-r--r--noncore/multimedia/opieplayer2/xinecontrol.cpp4
-rw-r--r--noncore/multimedia/opieplayer2/xinecontrol.h1
-rw-r--r--noncore/multimedia/opieplayer2/yuv2rgb_arm2.c875
-rw-r--r--noncore/multimedia/opierec/opierec.control6
-rw-r--r--noncore/multimedia/opierec/qtrec.cpp30
-rw-r--r--noncore/multimedia/showimg/opie-showimg.control2
-rw-r--r--noncore/net/ftplib/ftplib.control2
-rw-r--r--noncore/net/mailit/opie-mailit.control2
-rw-r--r--noncore/net/opieftp/opie-ftp.control2
-rw-r--r--noncore/net/opieirc/opie-irc.control2
-rw-r--r--noncore/net/opietooth/applet/opie-bluetoothapplet.control2
-rw-r--r--noncore/net/opietooth/lib/libopietooth1.control2
-rw-r--r--noncore/unsupported/gsmtool/gsmtool.pro2
-rw-r--r--noncore/unsupported/mail2/addresspicker.cpp1
-rw-r--r--noncore/unsupported/mail2/bend/opie-mailapplet.control4
-rw-r--r--noncore/unsupported/mail2/opie-mail2.control2
-rw-r--r--noncore/unsupported/mailit/opie-mailit.control2
-rw-r--r--noncore/unsupported/qpdf/QOutputDev.cpp17
-rw-r--r--noncore/unsupported/qpdf/opie-qpdf.control2
-rw-r--r--noncore/unsupported/qpdf/qpdf.cpp0
96 files changed, 1186 insertions, 328 deletions
diff --git a/noncore/applets/networkapplet/opie-networkapplet.control b/noncore/applets/networkapplet/opie-networkapplet.control
index ae07eb3..f4ee7be 100644
--- a/noncore/applets/networkapplet/opie-networkapplet.control
+++ b/noncore/applets/networkapplet/opie-networkapplet.control
@@ -4,7 +4,7 @@ Priority: optional
4Section: opie/system 4Section: opie/system
5Maintainer: Michael 'Mickey' Lauer <mickeyl@handhelds.org> 5Maintainer: Michael 'Mickey' Lauer <mickeyl@handhelds.org>
6Architecture: arm 6Architecture: arm
7Version: $QPE_VERSION-$SUB_VERSION
8Depends: task-opie-minimal, libopie2 (1.8.1), opie-networksettings 7Depends: task-opie-minimal, libopie2 (1.8.1), opie-networksettings
9Description: Network Applet 8Description: Network Applet
10 A taskbar applet for controlling network interfaces 9 A taskbar applet for controlling network interfaces
10Version: $QPE_VERSION$EXTRAVERSION
diff --git a/noncore/applets/notesapplet/opie-notesapplet.control b/noncore/applets/notesapplet/opie-notesapplet.control
index da02b44..f19b964 100644
--- a/noncore/applets/notesapplet/opie-notesapplet.control
+++ b/noncore/applets/notesapplet/opie-notesapplet.control
@@ -4,7 +4,7 @@ Priority: optional
4Section: opie/system 4Section: opie/system
5Maintainer: L. J. Potter <ljp@llornkcor.com> 5Maintainer: L. J. Potter <ljp@llornkcor.com>
6Architecture: arm 6Architecture: arm
7Version: $QPE_VERSION-$SUB_VERSION
8Depends: task-opie-minimal 7Depends: task-opie-minimal
9Description: Screenshot Applet 8Description: Notes Applet
10 A simple taskbar applet for making quick notes. 9 A simple taskbar applet for making quick notes.
10Version: $QPE_VERSION$EXTRAVERSION
diff --git a/noncore/applets/wirelessapplet/opie-wirelessapplet.control b/noncore/applets/wirelessapplet/opie-wirelessapplet.control
index ac7fad2..6dfa214 100644
--- a/noncore/applets/wirelessapplet/opie-wirelessapplet.control
+++ b/noncore/applets/wirelessapplet/opie-wirelessapplet.control
@@ -4,7 +4,7 @@ Priority: optional
4Section: opie/system 4Section: opie/system
5Maintainer: Michael 'Mickey' Lauer <mickey@tm.informatik.uni-frankfurt.de> 5Maintainer: Michael 'Mickey' Lauer <mickey@tm.informatik.uni-frankfurt.de>
6Architecture: arm 6Architecture: arm
7Version: $QPE_VERSION-$SUB_VERSION.1
8Depends: task-opie-minimal 7Depends: task-opie-minimal
9Description: Wireless Applet 8Description: Wireless Applet
10 A wireless network card status taskbar applet for the Opie environment 9 A wireless network card status taskbar applet for the Opie environment
10Version: $QPE_VERSION$EXTRAVERSION
diff --git a/noncore/apps/odict/configdlg.cpp b/noncore/apps/odict/configdlg.cpp
index 400298d..2103df9 100644
--- a/noncore/apps/odict/configdlg.cpp
+++ b/noncore/apps/odict/configdlg.cpp
@@ -29,20 +29,11 @@
29#include <qlineedit.h> 29#include <qlineedit.h>
30#include <qstringlist.h> 30#include <qstringlist.h>
31 31
32#include <opie/otabwidget.h>
33
34ConfigDlg::ConfigDlg(QWidget *parent, const char *name, bool modal) : QDialog(parent, name, modal) 32ConfigDlg::ConfigDlg(QWidget *parent, const char *name, bool modal) : QDialog(parent, name, modal)
35{ 33{
36 setCaption( tr( "Options" ) ); 34 setCaption( tr( "Options" ) );
37 QVBoxLayout *vbox_layout = new QVBoxLayout( this ); 35 QVBoxLayout *vbox_layout = new QVBoxLayout( this );
38 tab = new OTabWidget( this, "OTabWidget_tab", OTabWidget::Global, OTabWidget::Bottom ); 36 search_tab = new QWidget( this , "search_tab" );
39 vbox_layout->addWidget( tab );
40
41 /*general settings*/
42 settings_tab = new QWidget( tab , "settings_tab" );
43
44 /*searchmethods*/
45 search_tab = new QWidget( tab , "search_tab" );
46 QVBoxLayout *vbox_layout_searchtab = new QVBoxLayout( search_tab, 4 , 4 ,"blah" ); 37 QVBoxLayout *vbox_layout_searchtab = new QVBoxLayout( search_tab, 4 , 4 ,"blah" );
47 38
48 QHBox *hbox = new QHBox( search_tab ); 39 QHBox *hbox = new QHBox( search_tab );
@@ -51,18 +42,17 @@ ConfigDlg::ConfigDlg(QWidget *parent, const char *name, bool modal) : QDialog(pa
51 loadSearchMethodNames(); 42 loadSearchMethodNames();
52 43
53 QVBox *vbox = new QVBox( hbox ); 44 QVBox *vbox = new QVBox( hbox );
54 new_button = new QPushButton( "New" , vbox ); 45 new_button = new QPushButton( tr( "New" ) , vbox );
55 change_button = new QPushButton( "Change" , vbox ); 46 change_button = new QPushButton( tr( "Change" ) , vbox );
56 delete_button = new QPushButton( "Delete" , vbox ); 47 delete_button = new QPushButton( tr( "Delete" ) , vbox );
57 connect( new_button, SIGNAL( clicked() ), this, SLOT( slotNewMethod() ) ); 48 connect( new_button, SIGNAL( clicked() ), this, SLOT( slotNewMethod() ) );
58 connect( change_button, SIGNAL( clicked() ), this, SLOT( slotChangeMethod() )); 49 connect( change_button, SIGNAL( clicked() ), this, SLOT( slotChangeMethod() ));
59 connect( delete_button, SIGNAL( clicked() ), this, SLOT( slotDeleteMethod() )); 50 connect( delete_button, SIGNAL( clicked() ), this, SLOT( slotDeleteMethod() ));
60 51
61 vbox_layout_searchtab->addWidget( hbox ); 52 vbox_layout_searchtab->addWidget( hbox );
62 53
63 /*add the tabs and maximize*/ 54 vbox_layout->addWidget( search_tab );
64 tab->addTab( settings_tab, "pass", tr( "General Settings" ) ); 55
65 tab->addTab( search_tab, "zoom", tr( "Searchmethods" ) );
66 showMaximized(); 56 showMaximized();
67} 57}
68 58
diff --git a/noncore/apps/odict/configdlg.h b/noncore/apps/odict/configdlg.h
index e3ef3ce..6c85989 100644
--- a/noncore/apps/odict/configdlg.h
+++ b/noncore/apps/odict/configdlg.h
@@ -8,7 +8,6 @@
8 **************************************************************************/ 8 **************************************************************************/
9 9
10class QWidget; 10class QWidget;
11class OTabWidget;
12class QListView; 11class QListView;
13class QPushButton; 12class QPushButton;
14 13
@@ -22,7 +21,6 @@ class ConfigDlg : public QDialog
22 ConfigDlg(QWidget *parent, const char *name, bool modal=FALSE ); 21 ConfigDlg(QWidget *parent, const char *name, bool modal=FALSE );
23 22
24 private: 23 private:
25 OTabWidget *tab;
26 QWidget *settings_tab, *search_tab; 24 QWidget *settings_tab, *search_tab;
27 QListView *list; 25 QListView *list;
28 QPushButton *new_button, *change_button, *delete_button; 26 QPushButton *new_button, *change_button, *delete_button;
diff --git a/noncore/apps/odict/odict.cpp b/noncore/apps/odict/odict.cpp
index 2028701..010545e 100644
--- a/noncore/apps/odict/odict.cpp
+++ b/noncore/apps/odict/odict.cpp
@@ -41,7 +41,7 @@ ODict::ODict() : QMainWindow()
41 activated_name = QString::null; 41 activated_name = QString::null;
42 42
43 vbox = new QVBox( this ); 43 vbox = new QVBox( this );
44 setCaption( tr( "OPIE-Dictionary" ) ); 44 setCaption( tr( "Opie-Dictionary" ) );
45 setupMenus(); 45 setupMenus();
46 46
47 QHBox *hbox = new QHBox( vbox ); 47 QHBox *hbox = new QHBox( vbox );
@@ -76,7 +76,6 @@ void ODict::loadConfig()
76 Config cfg ( "odict" ); 76 Config cfg ( "odict" );
77 cfg.setGroup( "generalsettings" ); 77 cfg.setGroup( "generalsettings" );
78 casesens = cfg.readEntry( "casesens" ).toInt(); 78 casesens = cfg.readEntry( "casesens" ).toInt();
79 regexp = cfg.readEntry( "regexp" ).toInt();
80 79
81 QString lastDict = cfg.readEntry( "lastdict" ); 80 QString lastDict = cfg.readEntry( "lastdict" );
82 int i = 0, e = 0; 81 int i = 0, e = 0;
@@ -127,7 +126,6 @@ void ODict::saveConfig()
127 Config cfg ( "odict" ); 126 Config cfg ( "odict" );
128 cfg.setGroup( "generalsettings" ); 127 cfg.setGroup( "generalsettings" );
129 cfg.writeEntry( "casesens" , casesens ); 128 cfg.writeEntry( "casesens" , casesens );
130 cfg.writeEntry( "regexp" , regexp );
131 cfg.writeEntry( "lastdict" , query_co->currentText() ); 129 cfg.writeEntry( "lastdict" , query_co->currentText() );
132} 130}
133 131
@@ -185,13 +183,6 @@ void ODict::slotSetParameter( int count )
185 casesens = true; 183 casesens = true;
186 } 184 }
187 185
188 if ( count == 1 )
189 {
190 if ( regexp )
191 regexp = false;
192 else
193 regexp = true;
194 }
195 saveConfig(); 186 saveConfig();
196} 187}
197 188
@@ -222,7 +213,6 @@ void ODict::setupMenus()
222 parameter = new QPopupMenu( menu ); 213 parameter = new QPopupMenu( menu );
223 connect( parameter, SIGNAL( activated( int ) ), this, SLOT( slotSetParameter( int ) ) ); 214 connect( parameter, SIGNAL( activated( int ) ), this, SLOT( slotSetParameter( int ) ) );
224 parameter->insertItem( tr( "C&ase sensitive" ), 0 ,0 ); 215 parameter->insertItem( tr( "C&ase sensitive" ), 0 ,0 );
225 parameter->insertItem( tr( "Allow &reg. expressions" ), 2 );
226 parameter->insertSeparator(); 216 parameter->insertSeparator();
227 217
228 menu->insertItem( tr( "Settings" ) , settings ); 218 menu->insertItem( tr( "Settings" ) , settings );
diff --git a/noncore/apps/odict/odict.h b/noncore/apps/odict/odict.h
index 9c037ea..be2a532 100644
--- a/noncore/apps/odict/odict.h
+++ b/noncore/apps/odict/odict.h
@@ -49,7 +49,7 @@ class ODict : public QMainWindow
49 49
50 void setupMenus(); 50 void setupMenus();
51 51
52 bool casesens, completewords, regexp; 52 bool casesens, completewords;
53 53
54 void loadConfig(); 54 void loadConfig();
55 void saveConfig(); 55 void saveConfig();
diff --git a/noncore/apps/odict/odict.pro b/noncore/apps/odict/odict.pro
index 427a5c6..82f6a41 100644
--- a/noncore/apps/odict/odict.pro
+++ b/noncore/apps/odict/odict.pro
@@ -4,7 +4,7 @@ CONFIG = qt warn_on debug
4 HEADERS = odict.h \ 4 HEADERS = odict.h \
5 searchmethoddlg.h \ 5 searchmethoddlg.h \
6 configdlg.h \ 6 configdlg.h \
7 dingwidget.h \ 7 dingwidget.h
8 8
9 SOURCES = main.cpp \ 9 SOURCES = main.cpp \
10 odict.cpp \ 10 odict.cpp \
diff --git a/noncore/apps/odict/opie-odict.control b/noncore/apps/odict/opie-odict.control
index 2fa731f..f684716 100644
--- a/noncore/apps/odict/opie-odict.control
+++ b/noncore/apps/odict/opie-odict.control
@@ -4,7 +4,7 @@ Priority: optional
4Section: applications 4Section: applications
5Maintainer: Carsten Niehaus <cniehaus@handhelds.org> 5Maintainer: Carsten Niehaus <cniehaus@handhelds.org>
6Architecture: arm 6Architecture: arm
7Version: $QPE_VERSION-$SUB_VERSION
8Depends: task-opie-minimal 7Depends: task-opie-minimal
9Description: Dictionarylookupprogram 8Description: Dictionarylookupprogram
10 Look up words :) 9 Look up words :)
10Version: $QPE_VERSION$EXTRAVERSION
diff --git a/noncore/apps/tableviewer/db/xmlsource.cpp b/noncore/apps/tableviewer/db/xmlsource.cpp
index 7418a85..94fec36 100644
--- a/noncore/apps/tableviewer/db/xmlsource.cpp
+++ b/noncore/apps/tableviewer/db/xmlsource.cpp
@@ -21,6 +21,8 @@
21#include <qdict.h> 21#include <qdict.h>
22#include <stdlib.h> 22#include <stdlib.h>
23#include <qtextstream.h> 23#include <qtextstream.h>
24#include "../xmlencodeattr.h"
25
24 26
25 27
26DBXml::DBXml(DBStore *d) 28DBXml::DBXml(DBStore *d)
@@ -68,7 +70,7 @@ bool DBXml::saveSource(QIODevice *outDev)
68 outstream << "type=\"" 70 outstream << "type=\""
69 << TVVariant::typeToName(it.current()->type()) 71 << TVVariant::typeToName(it.current()->type())
70 << "\">"; 72 << "\">";
71 outstream << it.current()->name() << "</key>" << endl; 73 outstream << encodeAttr(it.current()->name()) << "</key>" << endl;
72 } 74 }
73 ++it; 75 ++it;
74 } 76 }
@@ -94,7 +96,7 @@ bool DBXml::saveSource(QIODevice *outDev)
94 << date.month() << "/" 96 << date.month() << "/"
95 << date.year(); 97 << date.year();
96 } else { 98 } else {
97 outstream << elem->toQString(i); 99 outstream << encodeAttr(elem->toQString(i));
98 } 100 }
99 outstream << "</KEYID" << i << ">" << endl; 101 outstream << "</KEYID" << i << ">" << endl;
100 } 102 }
diff --git a/noncore/apps/tableviewer/tableviewer.pro b/noncore/apps/tableviewer/tableviewer.pro
index 6f73400..f047e0b 100644
--- a/noncore/apps/tableviewer/tableviewer.pro
+++ b/noncore/apps/tableviewer/tableviewer.pro
@@ -3,6 +3,7 @@ CONFIG = qt warn_on debug
3 DESTDIR = $(OPIEDIR)/bin 3 DESTDIR = $(OPIEDIR)/bin
4 SUBDIRS = db ui 4 SUBDIRS = db ui
5 HEADERS = tableviewer.h \ 5 HEADERS = tableviewer.h \
6 xmlencodeattr.h \
6 ui/commonwidgets.h \ 7 ui/commonwidgets.h \
7 ui/tvbrowseview.h \ 8 ui/tvbrowseview.h \
8 ui/tvlistview.h \ 9 ui/tvlistview.h \
@@ -17,6 +18,7 @@ HEADERS = tableviewer.h \
17 db/csvsource.h 18 db/csvsource.h
18 SOURCES = main.cpp \ 19 SOURCES = main.cpp \
19 tableviewer.cpp \ 20 tableviewer.cpp \
21 xmlencodeattr.cpp \
20 ui/commonwidgets.cpp \ 22 ui/commonwidgets.cpp \
21 ui/tvbrowseview.cpp \ 23 ui/tvbrowseview.cpp \
22 ui/tvfilterview.cpp \ 24 ui/tvfilterview.cpp \
diff --git a/noncore/apps/tableviewer/ui/tvbrowseview.cpp b/noncore/apps/tableviewer/ui/tvbrowseview.cpp
index f5f2555..22bac55 100644
--- a/noncore/apps/tableviewer/ui/tvbrowseview.cpp
+++ b/noncore/apps/tableviewer/ui/tvbrowseview.cpp
@@ -23,6 +23,7 @@
23#include <qtextview.h> 23#include <qtextview.h>
24#include <qtextbrowser.h> 24#include <qtextbrowser.h>
25#include <qlayout.h> 25#include <qlayout.h>
26#include "../xmlencodeattr.h"
26 27
27/*! 28/*!
28 \class TVBrowseView 29 \class TVBrowseView
@@ -102,12 +103,12 @@ void TVBrowseView::setDisplayText(const DataElem *element)
102 if (element->hasValidValue(it.currentKey())) { 103 if (element->hasValidValue(it.currentKey())) {
103 if(it.currentKey() == ts->current_column) { 104 if(it.currentKey() == ts->current_column) {
104 rep += "<A name=\"ckey\"></A><B><FONT COLOR=#FF0000>" 105 rep += "<A name=\"ckey\"></A><B><FONT COLOR=#FF0000>"
105 + it.current()->name() 106 + encodeAttr(it.current()->name())
106 + ":</FONT></B> "; 107 + ":</FONT></B> ";
107 } else { 108 } else {
108 rep += "<B>" + it.current()->name() + ":</B> "; 109 rep += "<B>" + encodeAttr(it.current()->name()) + ":</B> ";
109 } 110 }
110 rep += element->toQString(it.currentKey()) + "<BR>"; 111 rep += encodeAttr(element->toQString(it.currentKey())) + "<BR>";
111 } 112 }
112 ++it; 113 ++it;
113 } 114 }
diff --git a/noncore/apps/tableviewer/xmlencodeattr.cpp b/noncore/apps/tableviewer/xmlencodeattr.cpp
new file mode 100644
index 0000000..de264f7
--- a/dev/null
+++ b/noncore/apps/tableviewer/xmlencodeattr.cpp
@@ -0,0 +1,48 @@
1/*
2 * xmlencodeattr.h
3 *
4 * copyright : (c) 2003 by Joseph Wenninger
5 * except for a small modification it's identical to qdom.cpp:encodeAttr
6 * email : jowenn@handhelds.org
7 *
8 */
9/***************************************************************************
10 * *
11 * This program is free software; you can redistribute it and/or modify *
12 * it under the terms of the GNU General Public License as published by *
13 * the Free Software Foundation; either version 2 of the License, or *
14 * (at your option) any later version. *
15 * *
16 ***************************************************************************/
17
18#include "xmlencodeattr.h"
19QString encodeAttr( const QString& str )
20{
21 QString tmp( str );
22 uint len = tmp.length();
23 uint i = 0;
24 while ( i < len ) {
25 if ( tmp[(int)i] == '<' ) {
26 tmp.replace( i, 1, "&lt;" );
27 len += 3;
28 i += 4;
29 } else if ( tmp[(int)i] == '"' ) {
30 tmp.replace( i, 1, "&quot;" );
31 len += 5;
32 i += 6;
33 } else if ( tmp[(int)i] == '&' ) {
34 tmp.replace( i, 1, "&amp;" );
35 len += 4;
36 i += 5;
37 } else if ( tmp[(int)i] == '>' ) {
38 tmp.replace( i, 1, "&gt;" );
39 len += 3;
40 i += 4;
41 } else {
42 ++i;
43 }
44 }
45
46 return tmp;
47}
48
diff --git a/noncore/apps/tableviewer/xmlencodeattr.h b/noncore/apps/tableviewer/xmlencodeattr.h
new file mode 100644
index 0000000..5fd3b95
--- a/dev/null
+++ b/noncore/apps/tableviewer/xmlencodeattr.h
@@ -0,0 +1,26 @@
1/*
2 * xmlencodeattr.h
3 *
4 * copyright : (c) 2003 by Joseph Wenninger
5 * except for a small modification it's identical to qdom.cpp:encodeAttr
6 * email : jowenn@handhelds.org
7 *
8 */
9/***************************************************************************
10 * *
11 * This program is free software; you can redistribute it and/or modify *
12 * it under the terms of the GNU General Public License as published by *
13 * the Free Software Foundation; either version 2 of the License, or *
14 * (at your option) any later version. *
15 * *
16 ***************************************************************************/
17
18#ifndef _XML_ENCODE_ATTR_
19#define _XML_ENCODE_ATTR_
20
21#include <qstring.h>
22
23QString encodeAttr( const QString& str );
24
25#endif
26
diff --git a/noncore/comm/keypebble/keypebble.pro b/noncore/comm/keypebble/keypebble.pro
index 04f4b64..7af60f9 100644
--- a/noncore/comm/keypebble/keypebble.pro
+++ b/noncore/comm/keypebble/keypebble.pro
@@ -12,7 +12,6 @@ HEADERS = d3des.h \
12 kvnc.h \ 12 kvnc.h \
13 kvncconndlg.h \ 13 kvncconndlg.h \
14 kvncbookmarkdlg.h \ 14 kvncbookmarkdlg.h \
15 version.h \
16 vncauth.h 15 vncauth.h
17 SOURCES = d3des.c \ 16 SOURCES = d3des.c \
18 vncauth.c \ 17 vncauth.c \
diff --git a/noncore/comm/keypebble/opie-keypebble.control b/noncore/comm/keypebble/opie-keypebble.control
index 123f307..23e4e89 100644
--- a/noncore/comm/keypebble/opie-keypebble.control
+++ b/noncore/comm/keypebble/opie-keypebble.control
@@ -5,7 +5,7 @@ Section: opie/applications
5Maintainer: Martin Imobersteg <imm@gmx.ch> 5Maintainer: Martin Imobersteg <imm@gmx.ch>
6Architecture: arm 6Architecture: arm
7Arch: iPAQ 7Arch: iPAQ
8Version: $QPE_VERSION-$SUB_VERSION
9Depends: task-opie-minimal 8Depends: task-opie-minimal
10Description: VNC Viewer 9Description: VNC Viewer
11 Virtual Network Computing (VNC) viewer 10 Virtual Network Computing (VNC) viewer
11Version: $QPE_VERSION$EXTRAVERSION
diff --git a/noncore/comm/mobilemsg/opie-mobilemsg.control b/noncore/comm/mobilemsg/opie-mobilemsg.control
index 1713af5..c5fbc7f 100644
--- a/noncore/comm/mobilemsg/opie-mobilemsg.control
+++ b/noncore/comm/mobilemsg/opie-mobilemsg.control
@@ -4,7 +4,7 @@ Priority: optional
4Section: opie/comm 4Section: opie/comm
5Maintainer: Bruno Rodrigues <bruno.rodrigues@litux.org> 5Maintainer: Bruno Rodrigues <bruno.rodrigues@litux.org>
6Architecture: arm 6Architecture: arm
7Version: $QPE_VERSION-$SUB_VERSION
8Depends: task-opie-minimal 7Depends: task-opie-minimal
9Description: Mobile Messaging 8Description: Mobile Messaging
10 For the Opie environment. 9 For the Opie environment.
10Version: $QPE_VERSION$EXTRAVERSION
diff --git a/noncore/decorations/flat/opie-deco-flat.control b/noncore/decorations/flat/opie-deco-flat.control
index ae64aae..311f37b 100644
--- a/noncore/decorations/flat/opie-deco-flat.control
+++ b/noncore/decorations/flat/opie-deco-flat.control
@@ -4,7 +4,7 @@ Priority: optional
4Section: opie/decorations 4Section: opie/decorations
5Maintainer: Robert Griebl <sandman@handhelds.org> 5Maintainer: Robert Griebl <sandman@handhelds.org>
6Architecture: arm 6Architecture: arm
7Version: $QPE_VERSION-$SUB_VERSION.1
8Depends: task-opie-minimal 7Depends: task-opie-minimal
9Description: OPIE window decoration style 8Description: OPIE window decoration style
10 Flat window decoration style for OPIE. 9 Flat window decoration style for OPIE.
10Version: $QPE_VERSION$EXTRAVERSION
diff --git a/noncore/decorations/liquid/opie-deco-liquid.control b/noncore/decorations/liquid/opie-deco-liquid.control
index 2f91612..c14b8bf 100644
--- a/noncore/decorations/liquid/opie-deco-liquid.control
+++ b/noncore/decorations/liquid/opie-deco-liquid.control
@@ -4,7 +4,7 @@ Priority: optional
4Section: opie/decorations 4Section: opie/decorations
5Maintainer: Robert Griebl <sandman@handhelds.org> 5Maintainer: Robert Griebl <sandman@handhelds.org>
6Architecture: arm 6Architecture: arm
7Version: $QPE_VERSION-$SUB_VERSION.1
8Depends: task-opie-minimal 7Depends: task-opie-minimal
9Description: OPIE window decoration style 8Description: OPIE window decoration style
10 Liquid (KDE3) window decoration style for OPIE. 9 Liquid (KDE3) window decoration style for OPIE.
10Version: $QPE_VERSION$EXTRAVERSION
diff --git a/noncore/decorations/polished/opie-deco-polished.control b/noncore/decorations/polished/opie-deco-polished.control
index 4d4b4e3..15afa83 100644
--- a/noncore/decorations/polished/opie-deco-polished.control
+++ b/noncore/decorations/polished/opie-deco-polished.control
@@ -4,7 +4,7 @@ Priority: optional
4Section: opie/decorations 4Section: opie/decorations
5Maintainer: Robert Griebl <sandman@handhelds.org> 5Maintainer: Robert Griebl <sandman@handhelds.org>
6Architecture: arm 6Architecture: arm
7Version: $QPE_VERSION-$SUB_VERSION.1
8Depends: task-opie-minimal 7Depends: task-opie-minimal
9Description: OPIE window decoration style 8Description: OPIE window decoration style
10 Blended window decoration style for OPIE. 9 Blended window decoration style for OPIE.
10Version: $QPE_VERSION$EXTRAVERSION
diff --git a/noncore/games/backgammon/backgammon.control b/noncore/games/backgammon/backgammon.control
index b75bc60..6468181 100644
--- a/noncore/games/backgammon/backgammon.control
+++ b/noncore/games/backgammon/backgammon.control
@@ -4,7 +4,7 @@ Priority: optional
4Section: opie/games 4Section: opie/games
5Maintainer: Ralf Waspe <rwaspe@web.de> 5Maintainer: Ralf Waspe <rwaspe@web.de>
6Architecture: arm 6Architecture: arm
7Version: $QPE_VERSION-$SUB_VERSION
8Depends: task-opie-minimal 7Depends: task-opie-minimal
9Description: Backgammon Game 8Description: Backgammon Game
10 A Backgammon game for the Opie environment. 9 A Backgammon game for the Opie environment.
10Version: $QPE_VERSION$EXTRAVERSION
diff --git a/noncore/games/backgammon/backgammon.cpp b/noncore/games/backgammon/backgammon.cpp
index db1a058..06523f1 100644
--- a/noncore/games/backgammon/backgammon.cpp
+++ b/noncore/games/backgammon/backgammon.cpp
@@ -135,8 +135,6 @@ BackGammon::BackGammon(QWidget* parent, const char* name, WFlags fl)
135 //the main area 135 //the main area
136 QBoxLayout* layout=new QBoxLayout(mainarea,QBoxLayout::TopToBottom); 136 QBoxLayout* layout=new QBoxLayout(mainarea,QBoxLayout::TopToBottom);
137 area=new QCanvas(235,235); 137 area=new QCanvas(235,235);
138 QColor bgColor=palette().color(QPalette::Normal,QColorGroup::Background);
139 area->setBackgroundColor(bgColor);
140 boardview=new BackGammonView(area,mainarea); 138 boardview=new BackGammonView(area,mainarea);
141 boardview->setMaximumHeight(240); 139 boardview->setMaximumHeight(240);
142 layout->addWidget(boardview); 140 layout->addWidget(boardview);
diff --git a/noncore/games/backgammon/backgammon.h b/noncore/games/backgammon/backgammon.h
index d803489..e3276f1 100644
--- a/noncore/games/backgammon/backgammon.h
+++ b/noncore/games/backgammon/backgammon.h
@@ -18,6 +18,7 @@ class BackGammon : public QMainWindow
18{ 18{
19 Q_OBJECT 19 Q_OBJECT
20private: 20private:
21 //GUI
21 //the "status" bar 22 //the "status" bar
22 QLabel* message; 23 QLabel* message;
23 //the main drawing area 24 //the main drawing area
diff --git a/noncore/games/bounce/kbounce.cpp b/noncore/games/bounce/kbounce.cpp
index 5d8aba3..50f4ef6 100644
--- a/noncore/games/bounce/kbounce.cpp
+++ b/noncore/games/bounce/kbounce.cpp
@@ -113,8 +113,8 @@ void KJezzball::newGame()
113 113
114void KJezzball::about() 114void KJezzball::about()
115{ 115{
116 QMessageBox::information( this, "About", 116 QMessageBox::information( this, tr("About"),
117 "Written by: Stefan Schimanski\n" 117 tr("Written by: Stefan Schimanski\n"
118 "Ported by: Martin Imobersteg\n" 118 "Ported by: Martin Imobersteg\n"
119 "\n" 119 "\n"
120 "Click to form walls.\n" 120 "Click to form walls.\n"
@@ -122,7 +122,7 @@ void KJezzball::about()
122 "Try to reduce total space by 75%.\n" 122 "Try to reduce total space by 75%.\n"
123 "\n" 123 "\n"
124 "This program is distributed under\n" 124 "This program is distributed under\n"
125 "the terms of the GPL v2." ); 125 "the terms of the GPL v2.") );
126} 126}
127 127
128void KJezzball::closeGame() 128void KJezzball::closeGame()
diff --git a/noncore/games/buzzword/buzzword.cpp b/noncore/games/buzzword/buzzword.cpp
index b870a59..97a17a1 100644
--- a/noncore/games/buzzword/buzzword.cpp
+++ b/noncore/games/buzzword/buzzword.cpp
@@ -102,7 +102,7 @@ void BuzzWord::drawGrid()
102 f.close(); 102 f.close();
103 103
104 grid = new QGrid(gridVal, this); 104 grid = new QGrid(gridVal, this);
105 grid->setFixedSize(240,240); 105 //grid->setFixedSize( 480, 480 );
106 106
107 for( int c = 0 ; c < gridVal ; c++ ) 107 for( int c = 0 ; c < gridVal ; c++ )
108 { 108 {
diff --git a/noncore/games/fifteen/opie-fifteen.control b/noncore/games/fifteen/opie-fifteen.control
index 662fd03..8fa355f 100644
--- a/noncore/games/fifteen/opie-fifteen.control
+++ b/noncore/games/fifteen/opie-fifteen.control
@@ -5,7 +5,7 @@ Section: opie/games
5Maintainer: Martin Imobersteg <imm@gmx.ch> 5Maintainer: Martin Imobersteg <imm@gmx.ch>
6Architecture: arm 6Architecture: arm
7Arch: iPAQ 7Arch: iPAQ
8Version: $QPE_VERSION-$SUB_VERSION
9Depends: task-opie-minimal 8Depends: task-opie-minimal
10Description: Fifteen pieces game 9Description: Fifteen pieces game
11 A game for the Opie environment. 10 A game for the Opie environment.
11Version: $QPE_VERSION$EXTRAVERSION
diff --git a/noncore/games/go/opie-go.control b/noncore/games/go/opie-go.control
index 061c02c..24929de 100644
--- a/noncore/games/go/opie-go.control
+++ b/noncore/games/go/opie-go.control
@@ -4,7 +4,7 @@ Priority: optional
4Section: opie/games 4Section: opie/games
5Maintainer: Warwick Allison <warwick@trolltech.com> 5Maintainer: Warwick Allison <warwick@trolltech.com>
6Architecture: arm 6Architecture: arm
7Version: $QPE_VERSION-$SUB_VERSION
8Depends: task-opie-minimal 7Depends: task-opie-minimal
9Description: The game of Go 8Description: The game of Go
10 A game for the Opie environment. 9 A game for the Opie environment.
10Version: $QPE_VERSION$EXTRAVERSION
diff --git a/noncore/games/kpacman/kpacman.cpp b/noncore/games/kpacman/kpacman.cpp
index 812e9ea..df27c76 100644
--- a/noncore/games/kpacman/kpacman.cpp
+++ b/noncore/games/kpacman/kpacman.cpp
@@ -34,7 +34,7 @@ Kpacman::Kpacman(QWidget *parent, const char *name)
34 view = new KpacmanWidget( this, QString(name)+"widget"); 34 view = new KpacmanWidget( this, QString(name)+"widget");
35 m_layout->addWidget( view, 0, 0 ); 35 m_layout->addWidget( view, 0, 0 );
36 36
37 setCaption( "KPacman" ); 37 setCaption( tr("KPacman") );
38 38
39 view->referee->setFocus(); 39 view->referee->setFocus();
40 40
diff --git a/noncore/games/mindbreaker/opie-mindbreaker.control b/noncore/games/mindbreaker/opie-mindbreaker.control
index 7623d6a..7b5ead6 100644
--- a/noncore/games/mindbreaker/opie-mindbreaker.control
+++ b/noncore/games/mindbreaker/opie-mindbreaker.control
@@ -4,7 +4,7 @@ Priority: optional
4Section: opie/games 4Section: opie/games
5Maintainer: Martin Imobersteg <imm@gmx.ch> 5Maintainer: Martin Imobersteg <imm@gmx.ch>
6Architecture: arm 6Architecture: arm
7Version: $QPE_VERSION-$SUB_VERSION
8Depends: task-opie-minimal 7Depends: task-opie-minimal
9Description: Game: crack the coloured code 8Description: Game: crack the coloured code
10 A game for the Opie environment. 9 A game for the Opie environment.
10Version: $QPE_VERSION$EXTRAVERSION
diff --git a/noncore/games/minesweep/opie-minesweep.control b/noncore/games/minesweep/opie-minesweep.control
index 7236cf8..32f0352 100644
--- a/noncore/games/minesweep/opie-minesweep.control
+++ b/noncore/games/minesweep/opie-minesweep.control
@@ -4,7 +4,7 @@ Priority: optional
4Section: opie/games 4Section: opie/games
5Maintainer: Martin Imobersteg <imm@gmx.ch> 5Maintainer: Martin Imobersteg <imm@gmx.ch>
6Architecture: arm 6Architecture: arm
7Version: $QPE_VERSION-$SUB_VERSION
8Depends: task-opie-minimal 7Depends: task-opie-minimal
9Description: Game: find the mines 8Description: Game: find the mines
10 A game for the Opie environment. 9 A game for the Opie environment.
10Version: $QPE_VERSION$EXTRAVERSION
diff --git a/noncore/games/parashoot/opie-parashoot.control b/noncore/games/parashoot/opie-parashoot.control
index ad955f5..758d24d 100644
--- a/noncore/games/parashoot/opie-parashoot.control
+++ b/noncore/games/parashoot/opie-parashoot.control
@@ -4,7 +4,7 @@ Priority: optional
4Section: opie/games 4Section: opie/games
5Maintainer: Martin Imobersteg <imm@gmx.ch> 5Maintainer: Martin Imobersteg <imm@gmx.ch>
6Architecture: arm 6Architecture: arm
7Version: $QPE_VERSION-$SUB_VERSION
8Depends: task-opie-minimal 7Depends: task-opie-minimal
9Description: Game: shoot the parachutists 8Description: Game: shoot the parachutists
10 A game for the Opie environment. 9 A game for the Opie environment.
10Version: $QPE_VERSION$EXTRAVERSION
diff --git a/noncore/games/qasteroids/opie-qasteroids.control b/noncore/games/qasteroids/opie-qasteroids.control
index 49cc6b2..25a49b4 100644
--- a/noncore/games/qasteroids/opie-qasteroids.control
+++ b/noncore/games/qasteroids/opie-qasteroids.control
@@ -4,7 +4,7 @@ Priority: optional
4Section: opie/games 4Section: opie/games
5Maintainer: Martin Jones <mjones@trolltech.com> 5Maintainer: Martin Jones <mjones@trolltech.com>
6Architecture: arm 6Architecture: arm
7Version: $QPE_VERSION-$SUB_VERSION
8Depends: task-opie-minimal 7Depends: task-opie-minimal
9Description: Game: shoot the asteroids 8Description: Game: shoot the asteroids
10 A game for the Opie environment. 9 A game for the Opie environment.
10Version: $QPE_VERSION$EXTRAVERSION
diff --git a/noncore/games/sfcave-sdl/sfcave-sdl.control b/noncore/games/sfcave-sdl/sfcave-sdl.control
index c017280..9bf43ba 100644
--- a/noncore/games/sfcave-sdl/sfcave-sdl.control
+++ b/noncore/games/sfcave-sdl/sfcave-sdl.control
@@ -2,9 +2,9 @@ Files: bin/sfcave-sdl apps/Games/sfcave-sdl.desktop pics/sfcave-sdl sounds/sfcav
2Package: sfcave-sdl 2Package: sfcave-sdl
3Priority: optional 3Priority: optional
4Section: Games 4Section: Games
5Version: $QPE_VERSION-$SUB_VERSION
6Architecture: arm 5Architecture: arm
7Maintainer: Andy Qua (andy.qua@blueyonder.co.uk) 6Maintainer: Andy Qua (andy.qua@blueyonder.co.uk)
8Depends: libSDL,libSDL_-mixer,libSDL-image,libSDL-gfx 7Depends: libSDL,libSDL_-mixer,libSDL-image,libSDL-gfx
9Description: SFCave SDL for the Zaurus. Fly though the cave avoiding the walls. 8Description: SFCave SDL for the Zaurus. Fly though the cave avoiding the walls.
10 9
10Version: $QPE_VERSION$EXTRAVERSION
diff --git a/noncore/games/sfcave/opie-sfcave.control b/noncore/games/sfcave/opie-sfcave.control
index 1566959..0ff3e2c 100644
--- a/noncore/games/sfcave/opie-sfcave.control
+++ b/noncore/games/sfcave/opie-sfcave.control
@@ -4,6 +4,6 @@ Priority: optional
4Section: opie/games 4Section: opie/games
5Maintainer: Andy Qua <andy.qua@blueyonder.co.uk> 5Maintainer: Andy Qua <andy.qua@blueyonder.co.uk>
6Architecture: arm 6Architecture: arm
7Version: $QPE_VERSION-$SUB_VERSION
8Depends: task-opie-minimal 7Depends: task-opie-minimal
9Description: SFCave for the Zaurus. Fly the dot though the cave avoiding the walls. 8Description: SFCave for the Zaurus. Fly the dot though the cave avoiding the walls.
9Version: $QPE_VERSION$EXTRAVERSION
diff --git a/noncore/games/snake/interface.cpp b/noncore/games/snake/interface.cpp
index 0f312ac..68e0f14 100644
--- a/noncore/games/snake/interface.cpp
+++ b/noncore/games/snake/interface.cpp
@@ -100,7 +100,7 @@ void SnakeGame::welcomescreen()
100 instr->move(canvas.width()/2-w/2, canvas.height()/2-20); 100 instr->move(canvas.width()/2-w/2, canvas.height()/2-20);
101 instr->setColor(white); 101 instr->setColor(white);
102 instr->show(); 102 instr->show();
103 QCanvasText* cont = new QCanvasText(tr("Press Any Key To Start"), &canvas); 103 QCanvasText* cont = new QCanvasText(tr("Press any key to start"), &canvas);
104 w = cont->boundingRect().width(); 104 w = cont->boundingRect().width();
105 cont->move(canvas.width()/2-w/2, canvas.height()-20); 105 cont->move(canvas.width()/2-w/2, canvas.height()-20);
106 cont->setColor(yellow); 106 cont->setColor(yellow);
@@ -196,7 +196,7 @@ void SnakeGame::wait()
196{ 196{
197 waitover = true; 197 waitover = true;
198 pauseTimer->stop(); 198 pauseTimer->stop();
199 QCanvasText* cont = new QCanvasText(tr("Press Any Key to Begin a New Game."), 199 QCanvasText* cont = new QCanvasText(tr("Press any key to begin a new game."),
200 &canvas); 200 &canvas);
201 cont->setZ(100); 201 cont->setZ(100);
202 cont->setColor(white); 202 cont->setColor(white);
diff --git a/noncore/games/snake/opie-snake.control b/noncore/games/snake/opie-snake.control
index 3ab6640..ef4fc61 100644
--- a/noncore/games/snake/opie-snake.control
+++ b/noncore/games/snake/opie-snake.control
@@ -4,7 +4,7 @@ Priority: optional
4Section: opie/games 4Section: opie/games
5Maintainer: Martin Imobersteg <imm@gmx.ch> 5Maintainer: Martin Imobersteg <imm@gmx.ch>
6Architecture: arm 6Architecture: arm
7Version: $QPE_VERSION-$SUB_VERSION
8Depends: task-opie-minimal 7Depends: task-opie-minimal
9Description: Game: control the snake 8Description: Game: control the snake
10 A game for the Opie environment. 9 A game for the Opie environment.
10Version: $QPE_VERSION$EXTRAVERSION
diff --git a/noncore/games/solitaire/canvascardwindow.cpp b/noncore/games/solitaire/canvascardwindow.cpp
index e836eb2..317a02d 100644
--- a/noncore/games/solitaire/canvascardwindow.cpp
+++ b/noncore/games/solitaire/canvascardwindow.cpp
@@ -70,8 +70,8 @@ CanvasCardWindow::CanvasCardWindow(QWidget* parent, const char* name, WFlags f)
70 menu->insertSeparator(); 70 menu->insertSeparator();
71 71
72 settings = new QPopupMenu; 72 settings = new QPopupMenu;
73 settings->insertItem(tr("&Change Card Backs"), this, SLOT(changeCardBacks()), Key_F2); 73 settings->insertItem(tr("&Change card backs"), this, SLOT(changeCardBacks()), Key_F2);
74 snap_id = settings->insertItem(tr("&Snap To Position"), this, SLOT(snapToggle()), Key_F3); 74 snap_id = settings->insertItem(tr("&Snap to position"), this, SLOT(snapToggle()), Key_F3);
75 settings->setCheckable(TRUE); 75 settings->setCheckable(TRUE);
76 menu->insertItem(tr("&Settings"),settings); 76 menu->insertItem(tr("&Settings"),settings);
77 77
@@ -96,11 +96,11 @@ CanvasCardWindow::CanvasCardWindow(QWidget* parent, const char* name, WFlags f)
96 96
97 settings = new QPopupMenu; 97 settings = new QPopupMenu;
98 settings->setCheckable(TRUE); 98 settings->setCheckable(TRUE);
99 settings->insertItem(tr("Change Card Backs"), this, SLOT(changeCardBacks())); 99 settings->insertItem(tr("Change card backs"), this, SLOT(changeCardBacks()));
100 snap_id = settings->insertItem(tr("Snap To Position"), this, SLOT(snapToggle())); 100 snap_id = settings->insertItem(tr("Snap to position"), this, SLOT(snapToggle()));
101 QString m; 101 QString m;
102 102
103 drawId = settings->insertItem(tr("Turn One Card"), this, SLOT(drawnToggle())); 103 drawId = settings->insertItem(tr("Turn one card"), this, SLOT(drawnToggle()));
104 menu->insertItem(tr("Settings"),settings); 104 menu->insertItem(tr("Settings"),settings);
105 settings->setCheckable(TRUE); 105 settings->setCheckable(TRUE);
106 106
@@ -283,9 +283,9 @@ void CanvasCardWindow::drawnToggle()
283 283
284void CanvasCardWindow::updateDraw() { 284void CanvasCardWindow::updateDraw() {
285 if(cardGame->cardsDrawn() == 3){ 285 if(cardGame->cardsDrawn() == 3){
286 settings->changeItem(drawId, tr("Turn One Card")); 286 settings->changeItem(drawId, tr("Turn one card"));
287 } else { 287 } else {
288 settings->changeItem(drawId, tr("Turn Three Cards")); 288 settings->changeItem(drawId, tr("Turn three cards"));
289 } 289 }
290} 290}
291 291
diff --git a/noncore/games/solitaire/opie-solitaire.control b/noncore/games/solitaire/opie-solitaire.control
index 76e7208..5fa521f 100644
--- a/noncore/games/solitaire/opie-solitaire.control
+++ b/noncore/games/solitaire/opie-solitaire.control
@@ -4,7 +4,7 @@ Priority: optional
4Section: opie/games 4Section: opie/games
5Maintainer: Martin Imobersteg <imm@gmx.ch> 5Maintainer: Martin Imobersteg <imm@gmx.ch>
6Architecture: arm 6Architecture: arm
7Version: $QPE_VERSION-$SUB_VERSION
8Depends: task-opie-minimal 7Depends: task-opie-minimal
9Description: Game: solitaire card games 8Description: Game: solitaire card games
10 A solitaire game for the Opie environment. 9 A solitaire game for the Opie environment.
10Version: $QPE_VERSION$EXTRAVERSION
diff --git a/noncore/games/tetrix/opie-tetrix.control b/noncore/games/tetrix/opie-tetrix.control
index e335507..e901dbf 100644
--- a/noncore/games/tetrix/opie-tetrix.control
+++ b/noncore/games/tetrix/opie-tetrix.control
@@ -5,7 +5,7 @@ Section: opie/games
5Maintainer: Martin Imobersteg <imm@gmx.ch> 5Maintainer: Martin Imobersteg <imm@gmx.ch>
6Architecture: arm 6Architecture: arm
7Arch: iPAQ 7Arch: iPAQ
8Version: $QPE_VERSION-$SUB_VERSION
9Depends: task-opie-minimal 8Depends: task-opie-minimal
10Description: Game: control falling blocks 9Description: Game: control falling blocks
11 A game for the Opie environment. 10 A game for the Opie environment.
11Version: $QPE_VERSION$EXTRAVERSION
diff --git a/noncore/games/tictac/main.cpp b/noncore/games/tictac/main.cpp
index f2ab334..78fb3b7 100644
--- a/noncore/games/tictac/main.cpp
+++ b/noncore/games/tictac/main.cpp
@@ -25,7 +25,7 @@ int main( int argc, char **argv )
25 } 25 }
26 TicTacToe ttt( n ); // create game 26 TicTacToe ttt( n ); // create game
27 a.setMainWidget( &ttt ); 27 a.setMainWidget( &ttt );
28 ttt.setCaption("TicTac"); 28 ttt.setCaption( QObject::tr("TicTac") );
29 ttt.show(); // show widget 29 ttt.show(); // show widget
30 return a.exec(); // go 30 return a.exec(); // go
31} 31}
diff --git a/noncore/games/tictac/opie-tictac.control b/noncore/games/tictac/opie-tictac.control
index c4ee36c..0074505 100644
--- a/noncore/games/tictac/opie-tictac.control
+++ b/noncore/games/tictac/opie-tictac.control
@@ -4,6 +4,6 @@ Priority: optional
4Section: opie/games 4Section: opie/games
5Maintainer: ljp <ljp@llornkcor.com> 5Maintainer: ljp <ljp@llornkcor.com>
6Architecture: arm 6Architecture: arm
7Version: $QPE_VERSION-$SUB_VERSION
8Depends: task-opie-minimal 7Depends: task-opie-minimal
9Description: Tic Tac Toe game. 8Description: Tic Tac Toe game.
9Version: $QPE_VERSION$EXTRAVERSION
diff --git a/noncore/games/wordgame/opie-wordgame.control b/noncore/games/wordgame/opie-wordgame.control
index 3be8e8f..c7dc126 100644
--- a/noncore/games/wordgame/opie-wordgame.control
+++ b/noncore/games/wordgame/opie-wordgame.control
@@ -4,8 +4,8 @@ Priority: optional
4Section: opie/games 4Section: opie/games
5Maintainer: Martin Imobersteg <imm@gmx.ch> 5Maintainer: Martin Imobersteg <imm@gmx.ch>
6Architecture: arm 6Architecture: arm
7Version: $QPE_VERSION-$SUB_VERSION
8Depends: task-opie-minimal 7Depends: task-opie-minimal
9Description: Crossword game 8Description: Crossword game
10 A crossword game for the Opie environment. 9 A crossword game for the Opie environment.
11 Play against the computer or human opponents. 10 Play against the computer or human opponents.
11Version: $QPE_VERSION$EXTRAVERSION
diff --git a/noncore/games/wordgame/wordgame.cpp b/noncore/games/wordgame/wordgame.cpp
index d3160f4..d46e824 100644
--- a/noncore/games/wordgame/wordgame.cpp
+++ b/noncore/games/wordgame/wordgame.cpp
@@ -290,7 +290,7 @@ bool WordGame::loadRules(const QString &name)
290 290
291 QString title = name; 291 QString title = name;
292 title.truncate( title.length() - 6 ); 292 title.truncate( title.length() - 6 );
293 setCaption( title ); 293 //setCaption( title );
294 294
295 QString shapepixmap; 295 QString shapepixmap;
296 ts >> shapepixmap; 296 ts >> shapepixmap;
@@ -314,7 +314,7 @@ bool WordGame::loadRules(const QString &name)
314 if ( re++ < 10 ) ts >> e; 314 if ( re++ < 10 ) ts >> e;
315 } 315 }
316 316
317 QImage shim = Resource::loadImage("wordgame/wordgame_shapes.xpm"); 317 QImage shim = Resource::loadImage("wordgame/wordgame_shapes");
318 shim = shim.smoothScale((re-1)*TileItem::smallWidth(),TileItem::smallHeight()); 318 shim = shim.smoothScale((re-1)*TileItem::smallWidth(),TileItem::smallHeight());
319 QPixmap bgshapes; 319 QPixmap bgshapes;
320 bgshapes.convertFromImage(shim); 320 bgshapes.convertFromImage(shim);
diff --git a/noncore/graphics/drawpad/drawpad.cpp b/noncore/graphics/drawpad/drawpad.cpp
index 4db6208..aac6bc1 100644
--- a/noncore/graphics/drawpad/drawpad.cpp
+++ b/noncore/graphics/drawpad/drawpad.cpp
@@ -278,6 +278,11 @@ DrawPad::DrawPad(QWidget* parent, const char* name)
278 278
279 changeBrushColor(Qt::white); 279 changeBrushColor(Qt::white);
280 280
281}
282
283
284void DrawPad::finishStartup()
285{
281 // init pages 286 // init pages
282 287
283 QFile file(Global::applicationFileName("drawpad", "drawpad.xml")); 288 QFile file(Global::applicationFileName("drawpad", "drawpad.xml"));
@@ -290,6 +295,7 @@ DrawPad::DrawPad(QWidget* parent, const char* name)
290 } 295 }
291 296
292 loadConfig(); 297 loadConfig();
298
293} 299}
294 300
295DrawPad::~DrawPad() 301DrawPad::~DrawPad()
diff --git a/noncore/graphics/drawpad/drawpad.h b/noncore/graphics/drawpad/drawpad.h
index 7306228..2cae700 100644
--- a/noncore/graphics/drawpad/drawpad.h
+++ b/noncore/graphics/drawpad/drawpad.h
@@ -40,6 +40,7 @@ public:
40 QBrush brush() { return m_brush; } 40 QBrush brush() { return m_brush; }
41 41
42 bool antiAliasing(); 42 bool antiAliasing();
43 void finishStartup();
43 44
44private slots: 45private slots:
45 void newPage(); 46 void newPage();
diff --git a/noncore/graphics/drawpad/drawpadcanvas.cpp b/noncore/graphics/drawpad/drawpadcanvas.cpp
index 025bebb..dec498b 100644
--- a/noncore/graphics/drawpad/drawpadcanvas.cpp
+++ b/noncore/graphics/drawpad/drawpadcanvas.cpp
@@ -182,7 +182,9 @@ void DrawPadCanvas::load(QIODevice* ioDevice)
182 m_pages = drawPadCanvasXmlHandler.pages(); 182 m_pages = drawPadCanvasXmlHandler.pages();
183 183
184 if (m_pages.isEmpty()) { 184 if (m_pages.isEmpty()) {
185 m_pages.append(new Page("", contentsRect().size())); 185 m_pages.append(new Page("",
186 clipper()->width()+(verticalScrollBar()->isVisible()?verticalScrollBar()->width():0),
187 clipper()->height()+(horizontalScrollBar()->isVisible()?horizontalScrollBar()->height():0)));
186 m_pages.current()->pixmap()->fill(Qt::white); 188 m_pages.current()->pixmap()->fill(Qt::white);
187 } 189 }
188 190
@@ -194,7 +196,11 @@ void DrawPadCanvas::load(QIODevice* ioDevice)
194 196
195void DrawPadCanvas::initialPage() 197void DrawPadCanvas::initialPage()
196{ 198{
197 m_pages.append(new Page("", 236, 232)); 199 m_pages.append(new Page("",
200 clipper()->width()+(verticalScrollBar()->isVisible()?verticalScrollBar()->width():0),
201 clipper()->height()+(horizontalScrollBar()->isVisible()?horizontalScrollBar()->height():0)));
202 //236, 232)); no more fixed sizes
203
198 m_pages.current()->pixmap()->fill(Qt::white); 204 m_pages.current()->pixmap()->fill(Qt::white);
199 205
200 resizeContents(m_pages.current()->pixmap()->width(), m_pages.current()->pixmap()->height()); 206 resizeContents(m_pages.current()->pixmap()->width(), m_pages.current()->pixmap()->height());
@@ -349,7 +355,10 @@ void DrawPadCanvas::deleteAll()
349{ 355{
350 m_pages.clear(); 356 m_pages.clear();
351 357
352 m_pages.append(new Page("", contentsRect().size())); 358 m_pages.append(new Page("",
359 clipper()->width()+(verticalScrollBar()->isVisible()?verticalScrollBar()->width():0),
360 clipper()->height()+(horizontalScrollBar()->isVisible()?horizontalScrollBar()->height():0)));
361
353 m_pages.current()->pixmap()->fill(Qt::white); 362 m_pages.current()->pixmap()->fill(Qt::white);
354 363
355 resizeContents(m_pages.current()->pixmap()->width(), m_pages.current()->pixmap()->height()); 364 resizeContents(m_pages.current()->pixmap()->width(), m_pages.current()->pixmap()->height());
@@ -382,7 +391,10 @@ void DrawPadCanvas::deletePage()
382 m_pages.remove(m_pages.current()); 391 m_pages.remove(m_pages.current());
383 392
384 if (m_pages.isEmpty()) { 393 if (m_pages.isEmpty()) {
385 m_pages.append(new Page("", contentsRect().size())); 394 m_pages.append(new Page("",
395 clipper()->width()+(verticalScrollBar()->isVisible()?verticalScrollBar()->width():0),
396 clipper()->height()+(horizontalScrollBar()->isVisible()?horizontalScrollBar()->height():0)));
397
386 m_pages.current()->pixmap()->fill(Qt::white); 398 m_pages.current()->pixmap()->fill(Qt::white);
387 } 399 }
388 400
diff --git a/noncore/graphics/drawpad/exportdialog.cpp b/noncore/graphics/drawpad/exportdialog.cpp
index 5b11c0e..adbd612 100644
--- a/noncore/graphics/drawpad/exportdialog.cpp
+++ b/noncore/graphics/drawpad/exportdialog.cpp
@@ -13,7 +13,7 @@
13 13
14#include "exportdialog.h" 14#include "exportdialog.h"
15 15
16#include <qpe/fileselector.h> 16#include <opie/ofileselector.h>
17 17
18#include <qbuttongroup.h> 18#include <qbuttongroup.h>
19#include <qcombobox.h> 19#include <qcombobox.h>
@@ -66,9 +66,12 @@ ExportDialog::ExportDialog(uint pageAt, uint pageCount, QWidget* parent, const c
66 m_pFormatComboBox = new QComboBox(exportGroupBox); 66 m_pFormatComboBox = new QComboBox(exportGroupBox);
67 m_pFormatComboBox->insertStrList(QImageIO::outputFormats()); 67 m_pFormatComboBox->insertStrList(QImageIO::outputFormats());
68 68
69 FileSelector* fileSelector = new FileSelector("image/*", this, "fileselector"); 69 MimeTypes types; types.insert( tr("All Images"), "image/*" );
70 fileSelector->setNewVisible(false); 70 OFileSelector* fileSelector = new OFileSelector(this, OFileSelector::FileSelector,
71 fileSelector->setCloseVisible(false); 71 OFileSelector::Normal,
72 QString::null, QString::null,
73 types );
74 fileSelector->setNameVisible( false );
72 75
73 QVBoxLayout* mainLayout = new QVBoxLayout(this, 4, 4); 76 QVBoxLayout* mainLayout = new QVBoxLayout(this, 4, 4);
74 selectionButtonGroup->layout()->setSpacing(4); 77 selectionButtonGroup->layout()->setSpacing(4);
diff --git a/noncore/graphics/drawpad/importdialog.cpp b/noncore/graphics/drawpad/importdialog.cpp
index 1c447cb..9a59a20 100644
--- a/noncore/graphics/drawpad/importdialog.cpp
+++ b/noncore/graphics/drawpad/importdialog.cpp
@@ -14,7 +14,7 @@
14#include "importdialog.h" 14#include "importdialog.h"
15 15
16#include <qpe/applnk.h> 16#include <qpe/applnk.h>
17#include <qpe/fileselector.h> 17#include <opie/ofileselector.h>
18 18
19#include <qcheckbox.h> 19#include <qcheckbox.h>
20#include <qimage.h> 20#include <qimage.h>
@@ -27,10 +27,14 @@ ImportDialog::ImportDialog(QWidget* parent, const char* name)
27{ 27{
28 setCaption(tr("DrawPad - Import")); 28 setCaption(tr("DrawPad - Import"));
29 29
30 m_pFileSelector = new FileSelector("image/*", this, "fileselector"); 30 MimeTypes types; types.insert( tr("All images"),"image/*" );
31 m_pFileSelector = new OFileSelector(this,
32 OFileSelector::FileSelector,
33 OFileSelector::Normal,
34 QString::null,
35 QString::null, types );
36 m_pFileSelector->setNameVisible( false );
31 connect(m_pFileSelector, SIGNAL(fileSelected(const DocLnk&)), this, SLOT(fileChanged())); 37 connect(m_pFileSelector, SIGNAL(fileSelected(const DocLnk&)), this, SLOT(fileChanged()));
32 m_pFileSelector->setNewVisible(false);
33 m_pFileSelector->setCloseVisible(false);
34 38
35 m_pPreviewLabel = new QLabel(this); 39 m_pPreviewLabel = new QLabel(this);
36 m_pPreviewLabel->setFrameStyle(QFrame::Panel | QFrame::Sunken); 40 m_pPreviewLabel->setFrameStyle(QFrame::Panel | QFrame::Sunken);
diff --git a/noncore/graphics/drawpad/importdialog.h b/noncore/graphics/drawpad/importdialog.h
index ef51d7c..ed655a5 100644
--- a/noncore/graphics/drawpad/importdialog.h
+++ b/noncore/graphics/drawpad/importdialog.h
@@ -17,7 +17,7 @@
17#include <qdialog.h> 17#include <qdialog.h>
18 18
19class DocLnk; 19class DocLnk;
20class FileSelector; 20class OFileSelector;
21 21
22class QCheckBox; 22class QCheckBox;
23class QLabel; 23class QLabel;
@@ -37,7 +37,7 @@ private slots:
37 void preview(); 37 void preview();
38 38
39private: 39private:
40 FileSelector* m_pFileSelector; 40 OFileSelector* m_pFileSelector;
41 QLabel* m_pPreviewLabel; 41 QLabel* m_pPreviewLabel;
42 QCheckBox* m_pAutomaticPreviewCheckBox; 42 QCheckBox* m_pAutomaticPreviewCheckBox;
43}; 43};
diff --git a/noncore/graphics/drawpad/main.cpp b/noncore/graphics/drawpad/main.cpp
index ec628cc..12f8084 100644
--- a/noncore/graphics/drawpad/main.cpp
+++ b/noncore/graphics/drawpad/main.cpp
@@ -21,7 +21,7 @@ int main(int argc, char **argv)
21 21
22 DrawPad mw; // = new DrawPad();; 22 DrawPad mw; // = new DrawPad();;
23 a.showMainWidget(&mw ); 23 a.showMainWidget(&mw );
24 24 mw.finishStartup();
25 25
26 return a.exec(); 26 return a.exec();
27} 27}
diff --git a/noncore/graphics/drawpad/opie-drawpad.control b/noncore/graphics/drawpad/opie-drawpad.control
index 1c22186..5095b52 100644
--- a/noncore/graphics/drawpad/opie-drawpad.control
+++ b/noncore/graphics/drawpad/opie-drawpad.control
@@ -4,9 +4,9 @@ Priority: optional
4Section: opie/applications 4Section: opie/applications
5Maintainer: Sébastien Prud'homme <prudhomme@laposte.net> 5Maintainer: Sébastien Prud'homme <prudhomme@laposte.net>
6Architecture: arm 6Architecture: arm
7Version: $QPE_VERSION-$SUB_VERSION
8Depends: task-opie-minimal, libopie1 7Depends: task-opie-minimal, libopie1
9Description: A note taking program with basic draw tools 8Description: A note taking program with basic draw tools
10 DrawPad is an easy note taking program for Zaurus. It can also 9 DrawPad is an easy note taking program for Zaurus. It can also
11 be used to draw simple images. DrawPad was developed for the Opie 10 be used to draw simple images. DrawPad was developed for the Opie
12 project, an alternative to the standard Zaurus environment. 11 project, an alternative to the standard Zaurus environment.
12Version: $QPE_VERSION$EXTRAVERSION
diff --git a/noncore/graphics/drawpad/texttool.h b/noncore/graphics/drawpad/texttool.h
index 3187675..17556a1 100644
--- a/noncore/graphics/drawpad/texttool.h
+++ b/noncore/graphics/drawpad/texttool.h
@@ -22,6 +22,7 @@ class QLineEdit;
22 22
23class TextToolDialog : public QDialog 23class TextToolDialog : public QDialog
24{ 24{
25 Q_OBJECT
25public: 26public:
26 TextToolDialog(QWidget* parent = 0, const char* name = 0); 27 TextToolDialog(QWidget* parent = 0, const char* name = 0);
27 ~TextToolDialog(); 28 ~TextToolDialog();
diff --git a/noncore/multimedia/mediaplayerskins/opie-mediaplayer2-skin-Pod.control b/noncore/multimedia/mediaplayerskins/opie-mediaplayer2-skin-Pod.control
index 2de15e9..faa041b 100644
--- a/noncore/multimedia/mediaplayerskins/opie-mediaplayer2-skin-Pod.control
+++ b/noncore/multimedia/mediaplayerskins/opie-mediaplayer2-skin-Pod.control
@@ -3,6 +3,6 @@ Files: pics/mediaplayer/skins/Pod
3Priority: optional 3Priority: optional
4Section: opie/applications 4Section: opie/applications
5Maintainer: ljp <llornkcor@handhelds.org> 5Maintainer: ljp <llornkcor@handhelds.org>
6Version: $QPE_VERSION-$SUB_VERSION
7Description: Opie Mediaplayer's skin. 6Description: Opie Mediaplayer's skin.
8 7
8Version: $QPE_VERSION$EXTRAVERSION
diff --git a/noncore/multimedia/mediaplayerskins/opie-mediaplayer2-skin-default-landscape.control b/noncore/multimedia/mediaplayerskins/opie-mediaplayer2-skin-default-landscape.control
index 570b25a..4bc3c60 100644
--- a/noncore/multimedia/mediaplayerskins/opie-mediaplayer2-skin-default-landscape.control
+++ b/noncore/multimedia/mediaplayerskins/opie-mediaplayer2-skin-default-landscape.control
@@ -4,6 +4,6 @@ Priority: optional
4Section: opie/playerskins 4Section: opie/playerskins
5Maintainer: L.J.Potter <ljp@llornkcor.com> 5Maintainer: L.J.Potter <ljp@llornkcor.com>
6Architecture: arm 6Architecture: arm
7Version: $QPE_VERSION-$SUB_VERSION
8Depends: task-opie-minimal 7Depends: task-opie-minimal
9Description: Landscape skin for opie mediaplayer's 8Description: Landscape skin for opie mediaplayer's
9Version: $QPE_VERSION$EXTRAVERSION
diff --git a/noncore/multimedia/mediaplayerskins/opie-mediaplayer2-skin-default.control b/noncore/multimedia/mediaplayerskins/opie-mediaplayer2-skin-default.control
index 5cd7509..d076fab 100644
--- a/noncore/multimedia/mediaplayerskins/opie-mediaplayer2-skin-default.control
+++ b/noncore/multimedia/mediaplayerskins/opie-mediaplayer2-skin-default.control
@@ -4,6 +4,6 @@ Priority: optional
4Section: opie/playerskins 4Section: opie/playerskins
5Maintainer: L.J.Potter <ljp@llornkcor.com> 5Maintainer: L.J.Potter <ljp@llornkcor.com>
6Architecture: arm 6Architecture: arm
7Version: $QPE_VERSION-$SUB_VERSION
8Depends: task-opie-minimal 7Depends: task-opie-minimal
9Description: Default skin for opie mediaplayer's 8Description: Default skin for opie mediaplayer's
9Version: $QPE_VERSION$EXTRAVERSION
diff --git a/noncore/multimedia/mediaplayerskins/opie-mediaplayer2-skin-techno.control b/noncore/multimedia/mediaplayerskins/opie-mediaplayer2-skin-techno.control
index 0ff1427..ad8c1f8 100644
--- a/noncore/multimedia/mediaplayerskins/opie-mediaplayer2-skin-techno.control
+++ b/noncore/multimedia/mediaplayerskins/opie-mediaplayer2-skin-techno.control
@@ -3,6 +3,6 @@ Files: pics/mediaplayer/skins/techno
3Priority: optional 3Priority: optional
4Section: opie/applications 4Section: opie/applications
5Maintainer: ljp <llornkcor@handhelds.org> 5Maintainer: ljp <llornkcor@handhelds.org>
6Version: $QPE_VERSION-$SUB_VERSION
7Description: Techno Opie Mediaplayer's skin. Adapted from Qtopia 6Description: Techno Opie Mediaplayer's skin. Adapted from Qtopia
8 7
8Version: $QPE_VERSION$EXTRAVERSION
diff --git a/noncore/multimedia/opieplayer2/audiowidget.cpp b/noncore/multimedia/opieplayer2/audiowidget.cpp
index 5d929cb..2c54ae6 100644
--- a/noncore/multimedia/opieplayer2/audiowidget.cpp
+++ b/noncore/multimedia/opieplayer2/audiowidget.cpp
@@ -31,20 +31,6 @@
31 31
32*/ 32*/
33 33
34#include <qpe/qpeapplication.h>
35#include <qpe/resource.h>
36#include <qpe/config.h>
37#include <opie/oticker.h>
38
39#include <qwidget.h>
40#include <qpixmap.h>
41#include <qbutton.h>
42#include <qpainter.h>
43#include <qframe.h>
44#include <qlayout.h>
45#include <qdir.h>
46#include <stdlib.h>
47#include <stdio.h>
48 34
49#include "audiowidget.h" 35#include "audiowidget.h"
50#include "mediaplayerstate.h" 36#include "mediaplayerstate.h"
diff --git a/noncore/multimedia/opieplayer2/audiowidget.h b/noncore/multimedia/opieplayer2/audiowidget.h
index 53dbb88..b436239 100644
--- a/noncore/multimedia/opieplayer2/audiowidget.h
+++ b/noncore/multimedia/opieplayer2/audiowidget.h
@@ -34,14 +34,7 @@
34#ifndef AUDIO_WIDGET_H 34#ifndef AUDIO_WIDGET_H
35#define AUDIO_WIDGET_H 35#define AUDIO_WIDGET_H
36 36
37#include <qpainter.h>
38#include <qdrawutil.h>
39#include <qpixmap.h>
40#include <qstring.h>
41#include <qslider.h>
42#include <qframe.h>
43#include <qlineedit.h> 37#include <qlineedit.h>
44#include <qimage.h>
45 38
46#include <opie/oticker.h> 39#include <opie/oticker.h>
47 40
diff --git a/noncore/multimedia/opieplayer2/lib.cpp b/noncore/multimedia/opieplayer2/lib.cpp
index d04af08..11ad745 100644
--- a/noncore/multimedia/opieplayer2/lib.cpp
+++ b/noncore/multimedia/opieplayer2/lib.cpp
@@ -31,13 +31,9 @@
31 31
32*/ 32*/
33 33
34#include <stdio.h> 34
35#include <stdlib.h>
36#include <qimage.h>
37#include <qtextstream.h> 35#include <qtextstream.h>
38#include <qpe/resource.h>
39 36
40#include <qfile.h>
41#include <qdir.h> 37#include <qdir.h>
42 38
43#include <qgfx_qws.h> 39#include <qgfx_qws.h>
@@ -88,6 +84,16 @@ Lib::Lib( InitializationMode initMode, XineVideoWidget* widget )
88 f.open(IO_WriteOnly); 84 f.open(IO_WriteOnly);
89 QTextStream ts( &f ); 85 QTextStream ts( &f );
90 ts << "misc.memcpy_method:glibc\n"; 86 ts << "misc.memcpy_method:glibc\n";
87 ts << "# uncomment if you experience double speed audio \n #audio.oss_sync_method:softsync\n";
88 ts << "codec.ffmpeg_pp_quality:3\n";
89 ts << "audio.num_buffers:50\n";
90 ts << "audio.size_buffers:4160\n";
91 ts << "video.num_buffers:20\n";
92 ts << "video.size_buffers:4096\n";
93 ts << "audio.out_num_audio_buf:16\n";
94 ts << "audio.out_size_audio_buf:8096\n";
95 ts << "audio.out_size_zero_buf:1024\n";
96 ts << "audio.passthrough_offset:0\n";
91 f.close(); 97 f.close();
92 } 98 }
93 99
@@ -191,8 +197,16 @@ int Lib::subVersion() {
191 197
192int Lib::play( const QString& fileName, int startPos, int start_time ) { 198int Lib::play( const QString& fileName, int startPos, int start_time ) {
193 assert( m_initialized ); 199 assert( m_initialized );
200 // FIXME actually a hack imho. Should not be needed to dispose the whole stream
201 // but without we get wrong media length reads from libxine for the second media
202 //xine_dispose ( m_stream );
194 203
195 QString str = fileName.stripWhiteSpace(); 204 QString str = fileName.stripWhiteSpace();
205
206 //m_stream = xine_stream_new (m_xine, m_audioOutput, m_videoOutput );
207 //m_queue = xine_event_new_queue (m_stream);
208 //xine_event_create_listener_thread (m_queue, xine_event_handler, this);
209
196 if ( !xine_open( m_stream, QFile::encodeName(str.utf8() ).data() ) ) { 210 if ( !xine_open( m_stream, QFile::encodeName(str.utf8() ).data() ) ) {
197 return 0; 211 return 0;
198 } 212 }
@@ -243,16 +257,37 @@ int Lib::currentTime() const {
243 257
244 int pos, time, length; 258 int pos, time, length;
245 xine_get_pos_length( m_stream, &pos, &time, &length ); 259 xine_get_pos_length( m_stream, &pos, &time, &length );
260 if ( time > 0 ) {
246 return time/1000; 261 return time/1000;
262 } else {
263 return 0;
264 }
247} 265}
248 266
249int Lib::length() const { 267int Lib::length() const {
250 assert( m_initialized ); 268 assert( m_initialized );
251 269
252 int pos, time, length; 270 int pos, time, length;
253 xine_get_pos_length( m_stream, &pos, &time, &length ); 271/* dilb: patch to solve the wrong stream length reported to the GUI*/
272 int iRetVal=0, iTestLoop=0;
273
274 do
275 {
276 iRetVal = xine_get_pos_length( m_stream, &pos, &time, &length );
277 if (iRetVal)
278 {/* if the function didn't return 0, then pos, time and length are valid.*/
254 return length/1000; 279 return length/1000;
255} 280}
281 /*don't poll too much*/
282 usleep(100000);
283 iTestLoop++;
284 }
285 while ( iTestLoop < 10 ); /* if after 1s, we still don't have any
286valid stream, then return -1 (this value could be used to make the stream
287unseekable, but it should never occur!! Mr. Murphy ? :) ) */
288
289 return -1;
290}
256 291
257bool Lib::isSeekable() const { 292bool Lib::isSeekable() const {
258 assert( m_initialized ); 293 assert( m_initialized );
@@ -366,8 +401,6 @@ void Lib::setScaling( bool scale ) {
366void Lib::setGamma( int value ) { 401void Lib::setGamma( int value ) {
367 assert( m_initialized ); 402 assert( m_initialized );
368 403
369 //qDebug( QString( "%1").arg(value) );
370 /* int gammaValue = ( 100 + value ); */
371 ::null_set_videoGamma( m_videoOutput, value ); 404 ::null_set_videoGamma( m_videoOutput, value );
372} 405}
373 406
diff --git a/noncore/multimedia/opieplayer2/lib.h b/noncore/multimedia/opieplayer2/lib.h
index 181735c..0ff14d0 100644
--- a/noncore/multimedia/opieplayer2/lib.h
+++ b/noncore/multimedia/opieplayer2/lib.h
@@ -34,12 +34,7 @@
34#ifndef ZECKEXINELIB_H 34#ifndef ZECKEXINELIB_H
35#define ZECKEXINELIB_H 35#define ZECKEXINELIB_H
36 36
37#include <qcstring.h>
38#include <qstring.h>
39#include <qobject.h>
40
41#include <xine.h> 37#include <xine.h>
42//#include "xine.h"
43 38
44#include "threadutil.h" 39#include "threadutil.h"
45 40
diff --git a/noncore/multimedia/opieplayer2/mediadetect.cpp b/noncore/multimedia/opieplayer2/mediadetect.cpp
deleted file mode 100644
index 91137db..0000000
--- a/noncore/multimedia/opieplayer2/mediadetect.cpp
+++ b/dev/null
@@ -1,43 +0,0 @@
1#include <qstring.h>
2#include "mediadetect.h"
3
4
5MediaDetect::MediaDetect() {
6}
7
8MediaDetect::~MediaDetect() {
9}
10
11char MediaDetect::videoOrAudio( const QString& fileName ) {
12 if( (fileName.lower()).right(4) == ".avi" ||
13 (fileName.lower()).right(4) == ".mpg" ||
14 (fileName.lower()).right(4) == ".asf" ||
15 (fileName.lower()).right(4) == ".mov" ||
16 (fileName.lower()).right(5) == ".mpeg" ) {
17 qDebug("Video out taken");
18 return 'v';
19 } else if ( (fileName.lower()).right(4) == "·mp1" ||
20 (fileName.lower()).right(4) == ".mp3" ||
21 (fileName.lower()).right(4) == ".ogg" ||
22 (fileName.lower()).right(4) == ".wav" ) {
23 qDebug("AUDIO out taken");
24 return 'a';
25 } else if ( (fileName.lower()).left(7) == "http://" &&
26 (fileName.lower()).right(1) == "/" ) {
27 return 'a';
28 } else {
29 return 'f';
30 }
31}
32
33bool MediaDetect::isStreaming( const QString& fileName ) {
34 // ugly
35 if( (fileName.lower()).left(4) == "http" ) {
36 return true;
37 } else if ( (fileName.lower()).left(3) == "ftp" ) {
38 return true;
39 } else {
40 return false;
41 }
42}
43
diff --git a/noncore/multimedia/opieplayer2/mediadetect.h b/noncore/multimedia/opieplayer2/mediadetect.h
deleted file mode 100644
index bd5ea1d..0000000
--- a/noncore/multimedia/opieplayer2/mediadetect.h
+++ b/dev/null
@@ -1,31 +0,0 @@
1
2#ifndef MEDIADETECT_H
3#define MEDIADETECT_H
4
5
6class QString;
7class MediaDetect {
8
9public:
10 MediaDetect();
11 ~MediaDetect();
12
13 /**
14 * Look at the filename and decide which gui is to be used
15 *
16 * @param filename the filename
17 * @return the char - a for audio gui, v for video, f for error
18 */
19 char videoOrAudio( const QString& fileName );
20
21 /**
22 * Find out if it is a streaming media file
23 *
24 * @param filename the filename
25 * @return if it is a streaming url or not
26 */
27 bool isStreaming( const QString& fileName );
28
29};
30
31#endif
diff --git a/noncore/multimedia/opieplayer2/mediaplayer.cpp b/noncore/multimedia/opieplayer2/mediaplayer.cpp
index d4396d2..9f51006 100644
--- a/noncore/multimedia/opieplayer2/mediaplayer.cpp
+++ b/noncore/multimedia/opieplayer2/mediaplayer.cpp
@@ -1,15 +1,8 @@
1#include <qpe/qpeapplication.h> 1#include <qpe/qpeapplication.h>
2#include <qpe/qlibrary.h>
3#include <qpe/resource.h>
4#include <qpe/config.h> 2#include <qpe/config.h>
5#include <qpe/qcopenvelope_qws.h> 3#include <qpe/qcopenvelope_qws.h>
6#include <qfileinfo.h> 4#include <qfileinfo.h>
7 5
8#include <qmainwindow.h>
9#include <qmessagebox.h>
10#include <qwidgetstack.h>
11#include <qfile.h>
12
13#include "mediaplayer.h" 6#include "mediaplayer.h"
14#include "playlistwidget.h" 7#include "playlistwidget.h"
15#include "audiowidget.h" 8#include "audiowidget.h"
@@ -25,8 +18,6 @@
25#include <sys/ioctl.h> 18#include <sys/ioctl.h>
26 19
27 20
28
29
30#define FBIOBLANK 0x4611 21#define FBIOBLANK 0x4611
31 22
32MediaPlayer::MediaPlayer( PlayListWidget &_playList, MediaPlayerState &_mediaPlayerState, QObject *parent, const char *name ) 23MediaPlayer::MediaPlayer( PlayListWidget &_playList, MediaPlayerState &_mediaPlayerState, QObject *parent, const char *name )
diff --git a/noncore/multimedia/opieplayer2/mediaplayer.h b/noncore/multimedia/opieplayer2/mediaplayer.h
index cbe4d86..34ff064 100644
--- a/noncore/multimedia/opieplayer2/mediaplayer.h
+++ b/noncore/multimedia/opieplayer2/mediaplayer.h
@@ -34,9 +34,6 @@
34#ifndef MEDIA_PLAYER_H 34#ifndef MEDIA_PLAYER_H
35#define MEDIA_PLAYER_H 35#define MEDIA_PLAYER_H
36 36
37#include <qmainwindow.h>
38#include <qframe.h>
39
40#include "xinecontrol.h" 37#include "xinecontrol.h"
41 38
42#include "playlistwidget.h" 39#include "playlistwidget.h"
diff --git a/noncore/multimedia/opieplayer2/mediawidget.cpp b/noncore/multimedia/opieplayer2/mediawidget.cpp
index 3953d92..b1f88c9 100644
--- a/noncore/multimedia/opieplayer2/mediawidget.cpp
+++ b/noncore/multimedia/opieplayer2/mediawidget.cpp
@@ -20,6 +20,8 @@
20 Boston, MA 02111-1307, USA. 20 Boston, MA 02111-1307, USA.
21*/ 21*/
22 22
23#include <assert.h>
24
23#include "mediawidget.h" 25#include "mediawidget.h"
24#include "playlistwidget.h" 26#include "playlistwidget.h"
25#include "skin.h" 27#include "skin.h"
diff --git a/noncore/multimedia/opieplayer2/om3u.cpp b/noncore/multimedia/opieplayer2/om3u.cpp
index 841d950..7183fb4 100644
--- a/noncore/multimedia/opieplayer2/om3u.cpp
+++ b/noncore/multimedia/opieplayer2/om3u.cpp
@@ -74,15 +74,9 @@ void Om3u::readM3u() {
74 append(s); 74 append(s);
75// qDebug(s); 75// qDebug(s);
76 } else { // is url 76 } else { // is url
77 s.replace( QRegExp( "%20" )," " );
78 QString name; 77 QString name;
79// if( name.left( 4 ) == "http" ) {
80// name = s.right( s.length() - 7 );
81// } else {
82 name = s; 78 name = s;
83// }
84 append(name); 79 append(name);
85// qDebug(name);
86 } 80 }
87 } 81 }
88 } 82 }
diff --git a/noncore/multimedia/opieplayer2/opie-mediaplayer2-codecs.control b/noncore/multimedia/opieplayer2/opie-mediaplayer2-codecs.control
new file mode 100644
index 0000000..0e71fc5
--- a/dev/null
+++ b/noncore/multimedia/opieplayer2/opie-mediaplayer2-codecs.control
@@ -0,0 +1,10 @@
1Package: opie-mediaplayer2-codecs
2 Files: root/usr/lib/libao.so* root/usr/lib/libogg* root/usr/lib/libvorbisidec.so* root/usr/lib/libxine.so* root/usr/lib/xine/*
3Section: opie/multimedia
4Essential: no
5Priority: optional
6Version: 0.7-$SUB_VERSION.3
7Architecture: arm
8Maintainer: Maximilian Reiss <harlekin@handhelds.org>
9Depends: libc6 (>= 2.1), opie-mediaplayer2
10Description: Codecs for opieplayer 2
diff --git a/noncore/multimedia/opieplayer2/opie-mediaplayer2-codecs.postinst b/noncore/multimedia/opieplayer2/opie-mediaplayer2-codecs.postinst
new file mode 100755
index 0000000..8e60212
--- a/dev/null
+++ b/noncore/multimedia/opieplayer2/opie-mediaplayer2-codecs.postinst
@@ -0,0 +1,5 @@
1#!/bin/sh
2
3[ "$1" = "configure" ] || exit 1
4
5ldconfig \ No newline at end of file
diff --git a/noncore/multimedia/opieplayer2/opie-mediaplayer2.control b/noncore/multimedia/opieplayer2/opie-mediaplayer2.control
index c072308..10c5d19 100644
--- a/noncore/multimedia/opieplayer2/opie-mediaplayer2.control
+++ b/noncore/multimedia/opieplayer2/opie-mediaplayer2.control
@@ -4,8 +4,8 @@ Priority: optional
4Section: opie/applications 4Section: opie/applications
5Maintainer: L.J.Potter <ljp@llornkcor.com>, Maximilian Reiss <harlekin@handhelds.org> 5Maintainer: L.J.Potter <ljp@llornkcor.com>, Maximilian Reiss <harlekin@handhelds.org>
6Architecture: arm 6Architecture: arm
7Version: $QPE_VERSION-$SUB_VERSION 7Depends: task-opie-minimal, libopie1, zlib1g, libstdc++2.10-glibc2.2, opie-mediaplayer2-skin-default | opie-mediaplayer2-skin-default-landscape , libxine1 | opie-mediaplayer2-codecs
8Depends: task-opie-minimal, libopie1, zlib1g, opie-mediaplayer2-skin-default | opie-mediaplayer2-skin-default-landscape , libxine1 | opie-mediaplayer-codecs
9Description: The Opie media player 8Description: The Opie media player
10 The mediaplayer for Opie. It plays mp3, mpeg, wav, ogg, quicktime, divx and 9 The mediaplayer for Opie. It plays mp3, mpeg, wav, ogg, quicktime, divx and
11 more. Also it is streaming capable. 10 more. Also it is streaming capable.
11Version: $QPE_VERSION$EXTRAVERSION
diff --git a/noncore/multimedia/opieplayer2/opieplayer2.pro b/noncore/multimedia/opieplayer2/opieplayer2.pro
index 57cd18f..5dabbab 100644
--- a/noncore/multimedia/opieplayer2/opieplayer2.pro
+++ b/noncore/multimedia/opieplayer2/opieplayer2.pro
@@ -11,7 +11,7 @@ SOURCES = main.cpp \
11 videowidget.cpp audiowidget.cpp playlistwidget.cpp om3u.cpp mediaplayer.cpp inputDialog.cpp \ 11 videowidget.cpp audiowidget.cpp playlistwidget.cpp om3u.cpp mediaplayer.cpp inputDialog.cpp \
12 frame.cpp lib.cpp nullvideo.c xinevideowidget.cpp volumecontrol.cpp \ 12 frame.cpp lib.cpp nullvideo.c xinevideowidget.cpp volumecontrol.cpp \
13 playlistwidgetgui.cpp\ 13 playlistwidgetgui.cpp\
14 alphablend.c yuv2rgb.c yuv2rgb_arm.c yuv2rgb_arm4l.S \ 14 alphablend.c yuv2rgb.c yuv2rgb_arm2.c yuv2rgb_arm4l.S \
15 threadutil.cpp mediawidget.cpp playlistview.cpp playlistfileview.cpp \ 15 threadutil.cpp mediawidget.cpp playlistview.cpp playlistfileview.cpp \
16 skin.cpp 16 skin.cpp
17TARGET = opieplayer2 17TARGET = opieplayer2
diff --git a/noncore/multimedia/opieplayer2/playlistwidget.cpp b/noncore/multimedia/opieplayer2/playlistwidget.cpp
index 5f750ba..a1a1016 100644
--- a/noncore/multimedia/opieplayer2/playlistwidget.cpp
+++ b/noncore/multimedia/opieplayer2/playlistwidget.cpp
@@ -31,21 +31,11 @@
31 31
32*/ 32*/
33 33
34#include <qpe/qpetoolbar.h> 34#include <qtoolbar.h>
35#include <qpe/qpeapplication.h>
36#include <qpe/storage.h>
37#include <qpe/mimetype.h>
38#include <qpe/global.h>
39#include <qpe/resource.h>
40#include <qpe/config.h>
41 35
42#include <opie/ofiledialog.h> 36#include <opie/ofiledialog.h>
43 37
44#include <qdatetime.h>
45#include <qdir.h>
46#include <qmessagebox.h> 38#include <qmessagebox.h>
47#include <qregexp.h>
48#include <qtextstream.h>
49 39
50#include "playlistselection.h" 40#include "playlistselection.h"
51#include "playlistwidget.h" 41#include "playlistwidget.h"
@@ -55,7 +45,6 @@
55#include "playlistfileview.h" 45#include "playlistfileview.h"
56 46
57//only needed for the random play 47//only needed for the random play
58#include <stdlib.h>
59#include <assert.h> 48#include <assert.h>
60 49
61PlayListWidget::PlayListWidget( MediaPlayerState &mediaPlayerState, QWidget* parent, const char* name ) 50PlayListWidget::PlayListWidget( MediaPlayerState &mediaPlayerState, QWidget* parent, const char* name )
@@ -667,6 +656,7 @@ void PlayListWidget::openFile() {
667 QStringList audio, video, all; 656 QStringList audio, video, all;
668 audio << "audio/*"; 657 audio << "audio/*";
669 audio << "playlist/plain"; 658 audio << "playlist/plain";
659 audio << "application/ogg";
670 audio << "audio/x-mpegurl"; 660 audio << "audio/x-mpegurl";
671 661
672 video << "video/*"; 662 video << "video/*";
@@ -681,16 +671,17 @@ void PlayListWidget::openFile() {
681 QString str = OFileDialog::getOpenFileName( 1, 671 QString str = OFileDialog::getOpenFileName( 1,
682 cfg.readEntry("LastDirectory",QPEApplication::documentDir()),"", 672 cfg.readEntry("LastDirectory",QPEApplication::documentDir()),"",
683 types, 0 ); 673 types, 0 );
684 if(str.left(2) == "//") str=str.right(str.length()-1);
685 cfg.writeEntry("LastDirectory" ,QFileInfo(str).dirPath());
686 674
675 if(str.left(2) == "//") {
676 str=str.right(str.length()-1);
677 }
678 cfg.writeEntry( "LastDirectory" ,QFileInfo( str ).dirPath() );
687 679
688 if( !str.isEmpty() ) { 680 if( !str.isEmpty() ) {
681
689 qDebug( "Selected filename is " + str ); 682 qDebug( "Selected filename is " + str );
690 filename = str; 683 filename = str;
691 DocLnk lnk; 684 DocLnk lnk;
692 Config cfg( "OpiePlayer" );
693 cfg.setGroup("PlayList");
694 685
695 if( filename.right( 3) == "m3u" || filename.right(3) == "pls" ) { 686 if( filename.right( 3) == "m3u" || filename.right(3) == "pls" ) {
696 readListFromFile( filename ); 687 readListFromFile( filename );
diff --git a/noncore/multimedia/opieplayer2/playlistwidget.h b/noncore/multimedia/opieplayer2/playlistwidget.h
index 5230b03..fc305cd 100644
--- a/noncore/multimedia/opieplayer2/playlistwidget.h
+++ b/noncore/multimedia/opieplayer2/playlistwidget.h
@@ -34,18 +34,13 @@
34#ifndef PLAY_LIST_WIDGET_H 34#ifndef PLAY_LIST_WIDGET_H
35#define PLAY_LIST_WIDGET_H 35#define PLAY_LIST_WIDGET_H
36 36
37#include <qmainwindow.h> 37
38#include <qpe/applnk.h>
39#include <qtabwidget.h>
40#include <qpe/fileselector.h>
41#include <qpushbutton.h> 38#include <qpushbutton.h>
42#include <qpopupmenu.h> 39#include <qpopupmenu.h>
43#include <qpe/qcopenvelope_qws.h> 40#include <qpe/qcopenvelope_qws.h>
44 41
45#include "playlistwidgetgui.h" 42#include "playlistwidgetgui.h"
46 43
47
48//class PlayListWidgetPrivate;
49class Config; 44class Config;
50class QListViewItem; 45class QListViewItem;
51class QListView; 46class QListView;
diff --git a/noncore/multimedia/opieplayer2/playlistwidgetgui.cpp b/noncore/multimedia/opieplayer2/playlistwidgetgui.cpp
index 5fc0c39..293bf45 100644
--- a/noncore/multimedia/opieplayer2/playlistwidgetgui.cpp
+++ b/noncore/multimedia/opieplayer2/playlistwidgetgui.cpp
@@ -31,21 +31,12 @@
31 31
32*/ 32*/
33 33
34#include <qpe/qpemenubar.h> 34
35#include <qpe/qpetoolbar.h> 35#include <qtoolbar.h>
36#include <qpe/fileselector.h>
37#include <qpe/qpeapplication.h> 36#include <qpe/qpeapplication.h>
38#include <qpe/storage.h> 37
39#include <qpe/mimetype.h>
40#include <qpe/config.h>
41#include <qpe/global.h>
42#include <qpe/resource.h>
43
44#include <qpopupmenu.h>
45#include <qaction.h>
46#include <qcursor.h>
47#include <qdir.h>
48#include <qlayout.h> 38#include <qlayout.h>
39#include <qmenubar.h>
49 40
50#include "playlistselection.h" 41#include "playlistselection.h"
51#include "playlistwidget.h" 42#include "playlistwidget.h"
@@ -53,9 +44,6 @@
53#include "inputDialog.h" 44#include "inputDialog.h"
54#include "playlistfileview.h" 45#include "playlistfileview.h"
55 46
56//only needed for the random play
57#include <stdlib.h>
58
59#include "mediaplayerstate.h" 47#include "mediaplayerstate.h"
60 48
61PlayListWidgetGui::PlayListWidgetGui( MediaPlayerState &_mediaPlayerState, QWidget* parent, const char* name ) 49PlayListWidgetGui::PlayListWidgetGui( MediaPlayerState &_mediaPlayerState, QWidget* parent, const char* name )
@@ -68,14 +56,14 @@ PlayListWidgetGui::PlayListWidgetGui( MediaPlayerState &_mediaPlayerState, QWidg
68 setToolBarsMovable( FALSE ); 56 setToolBarsMovable( FALSE );
69 57
70 // Create Toolbar 58 // Create Toolbar
71 QPEToolBar *toolbar = new QPEToolBar( this ); 59 QToolBar *toolbar = new QToolBar( this );
72 toolbar->setHorizontalStretchable( TRUE ); 60 toolbar->setHorizontalStretchable( TRUE );
73 61
74 // Create Menubar 62 // Create Menubar
75 QPEMenuBar *menu = new QPEMenuBar( toolbar ); 63 QMenuBar *menu = new QMenuBar( toolbar );
76 menu->setMargin( 0 ); 64 menu->setMargin( 0 );
77 65
78 bar = new QPEToolBar( this ); 66 bar = new QToolBar( this );
79 bar->setLabel( tr( "Play Operations" ) ); 67 bar->setLabel( tr( "Play Operations" ) );
80 68
81 tbDeletePlaylist = new QPushButton( Resource::loadIconSet( "trash" ), "", bar, "close" ); 69 tbDeletePlaylist = new QPushButton( Resource::loadIconSet( "trash" ), "", bar, "close" );
@@ -148,7 +136,7 @@ PlayListWidgetGui::PlayListWidgetGui( MediaPlayerState &_mediaPlayerState, QWidg
148 Alayout->setSpacing( 2 ); 136 Alayout->setSpacing( 2 );
149 Alayout->setMargin( 2 ); 137 Alayout->setMargin( 2 );
150 // no m3u's here please 138 // no m3u's here please
151 audioView = new PlayListFileView( "audio/mpeg;audio/x-wav;audio/x-ogg", "opieplayer2/musicfile", aTab, "Audioview" ); 139 audioView = new PlayListFileView( "audio/mpeg;audio/x-wav;application/ogg", "opieplayer2/musicfile", aTab, "Audioview" );
152 Alayout->addMultiCellWidget( audioView, 0, 0, 0, 1 ); 140 Alayout->addMultiCellWidget( audioView, 0, 0, 0, 1 );
153 tabWidget->insertTab( aTab, tr( "Audio" ) ); 141 tabWidget->insertTab( aTab, tr( "Audio" ) );
154 142
diff --git a/noncore/multimedia/opieplayer2/playlistwidgetgui.h b/noncore/multimedia/opieplayer2/playlistwidgetgui.h
index c965b0d..c0cd37a 100644
--- a/noncore/multimedia/opieplayer2/playlistwidgetgui.h
+++ b/noncore/multimedia/opieplayer2/playlistwidgetgui.h
@@ -35,15 +35,12 @@
35#define PLAY_LIST_WIDGET_GUI_H 35#define PLAY_LIST_WIDGET_GUI_H
36 36
37#include <qmainwindow.h> 37#include <qmainwindow.h>
38#include <qpe/applnk.h>
39#include <qpe/resource.h> 38#include <qpe/resource.h>
40#include <qpe/qpemenubar.h>
41 39
42#include <qtabwidget.h> 40#include <qtabwidget.h>
43#include <qpe/fileselector.h> 41#include <qpe/fileselector.h>
44#include <qpushbutton.h>
45#include <qpopupmenu.h>
46#include <qaction.h> 42#include <qaction.h>
43#include <qtoolbutton.h>
47#include <qslider.h> 44#include <qslider.h>
48#include <qlcdnumber.h> 45#include <qlcdnumber.h>
49 46
@@ -53,7 +50,7 @@ class MediaPlayerState;
53class PlayListFileView; 50class PlayListFileView;
54 51
55class Config; 52class Config;
56class QPEToolBar; 53class QToolBar;
57class QListViewItem; 54class QListViewItem;
58class QListView; 55class QListView;
59class QPoint; 56class QPoint;
@@ -80,7 +77,6 @@ public:
80 setFocusPolicy( QWidget::NoFocus ); 77 setFocusPolicy( QWidget::NoFocus );
81 setToggleButton( t ); 78 setToggleButton( t );
82 connect( this, t ? SIGNAL( toggled(bool) ) : SIGNAL( clicked() ), handler, slot ); 79 connect( this, t ? SIGNAL( toggled(bool) ) : SIGNAL( clicked() ), handler, slot );
83 QPEMenuToolFocusManager::manager()->addWidget( this );
84 } 80 }
85}; 81};
86 82
@@ -121,7 +117,7 @@ protected:
121 PlayListWidgetPrivate *d; // Private implementation data 117 PlayListWidgetPrivate *d; // Private implementation data
122 QVBox *vbox1; 118 QVBox *vbox1;
123 QVBox *vbox5; 119 QVBox *vbox5;
124 QPEToolBar *bar; 120 QToolBar *bar;
125 QWidget *playListTab; 121 QWidget *playListTab;
126 void setActiveWindow(); // need to handle this to show the right view 122 void setActiveWindow(); // need to handle this to show the right view
127 void setView( char ); 123 void setView( char );
diff --git a/noncore/multimedia/opieplayer2/videowidget.cpp b/noncore/multimedia/opieplayer2/videowidget.cpp
index 755cd22..c829e03 100644
--- a/noncore/multimedia/opieplayer2/videowidget.cpp
+++ b/noncore/multimedia/opieplayer2/videowidget.cpp
@@ -31,16 +31,6 @@
31 31
32*/ 32*/
33 33
34#include <qpe/qpeapplication.h>
35#include <qpe/resource.h>
36#include <qpe/config.h>
37
38
39#include <qwidget.h>
40#include <qpainter.h>
41#include <qpixmap.h>
42#include <qslider.h>
43#include <qdrawutil.h>
44#include "videowidget.h" 34#include "videowidget.h"
45#include "mediaplayerstate.h" 35#include "mediaplayerstate.h"
46#include "playlistwidget.h" 36#include "playlistwidget.h"
diff --git a/noncore/multimedia/opieplayer2/videowidget.h b/noncore/multimedia/opieplayer2/videowidget.h
index 84bc964..8c6896b 100644
--- a/noncore/multimedia/opieplayer2/videowidget.h
+++ b/noncore/multimedia/opieplayer2/videowidget.h
@@ -34,11 +34,7 @@
34#ifndef VIDEO_WIDGET_H 34#ifndef VIDEO_WIDGET_H
35#define VIDEO_WIDGET_H 35#define VIDEO_WIDGET_H
36 36
37#include <qwidget.h>
38#include <qimage.h>
39#include <qpixmap.h>
40#include "xinevideowidget.h" 37#include "xinevideowidget.h"
41
42#include "mediawidget.h" 38#include "mediawidget.h"
43 39
44class QPixmap; 40class QPixmap;
diff --git a/noncore/multimedia/opieplayer2/xinecontrol.cpp b/noncore/multimedia/opieplayer2/xinecontrol.cpp
index 1c489e3..a392f4a 100644
--- a/noncore/multimedia/opieplayer2/xinecontrol.cpp
+++ b/noncore/multimedia/opieplayer2/xinecontrol.cpp
@@ -36,6 +36,7 @@
36#include <qmessagebox.h> 36#include <qmessagebox.h>
37#include <qpe/qcopenvelope_qws.h> 37#include <qpe/qcopenvelope_qws.h>
38#include <qpe/qpeapplication.h> 38#include <qpe/qpeapplication.h>
39
39#include "xinecontrol.h" 40#include "xinecontrol.h"
40#include "mediaplayerstate.h" 41#include "mediaplayerstate.h"
41#include "xinevideowidget.h" 42#include "xinevideowidget.h"
@@ -88,6 +89,7 @@ XineControl::~XineControl() {
88} 89}
89 90
90void XineControl::play( const QString& fileName ) { 91void XineControl::play( const QString& fileName ) {
92
91 hasVideoChannel = FALSE; 93 hasVideoChannel = FALSE;
92 hasAudioChannel = FALSE; 94 hasAudioChannel = FALSE;
93 m_fileName = fileName; 95 m_fileName = fileName;
@@ -103,7 +105,6 @@ void XineControl::play( const QString& fileName ) {
103 mediaPlayerState.setPlaying( true ); 105 mediaPlayerState.setPlaying( true );
104 106
105 MediaPlayerState::DisplayType displayType; 107 MediaPlayerState::DisplayType displayType;
106 // qDebug( QString( "libXine->hasVideo() return : %1 ").arg( libXine->hasVideo() ) );
107 if ( !libXine->hasVideo() ) { 108 if ( !libXine->hasVideo() ) {
108 displayType = MediaPlayerState::Audio; 109 displayType = MediaPlayerState::Audio;
109 qDebug("HAS AUDIO"); 110 qDebug("HAS AUDIO");
@@ -197,7 +198,6 @@ long XineControl::position() {
197 // needs to be stopped the media is stopped 198 // needs to be stopped the media is stopped
198 QTimer::singleShot( 1000, this, SLOT( position() ) ); 199 QTimer::singleShot( 1000, this, SLOT( position() ) );
199 } 200 }
200 // qDebug("POSITION : %d", m_position);
201 return m_position; 201 return m_position;
202} 202}
203 203
diff --git a/noncore/multimedia/opieplayer2/xinecontrol.h b/noncore/multimedia/opieplayer2/xinecontrol.h
index 0e985d6..3f44f2e 100644
--- a/noncore/multimedia/opieplayer2/xinecontrol.h
+++ b/noncore/multimedia/opieplayer2/xinecontrol.h
@@ -35,7 +35,6 @@
35#define XINECONTROL_H 35#define XINECONTROL_H
36 36
37#include "lib.h" 37#include "lib.h"
38#include <qobject.h>
39 38
40#include "mediaplayerstate.h" 39#include "mediaplayerstate.h"
41 40
diff --git a/noncore/multimedia/opieplayer2/yuv2rgb_arm2.c b/noncore/multimedia/opieplayer2/yuv2rgb_arm2.c
new file mode 100644
index 0000000..cbd32e8
--- a/dev/null
+++ b/noncore/multimedia/opieplayer2/yuv2rgb_arm2.c
@@ -0,0 +1,875 @@
1/*
2 * yuv2rgb_arm2.c
3 * Copyright (C) 2002 Frederic 'dilb' Boulay.
4 * All Rights Reserved.
5 *
6 * Author: Frederic Boulay <dilb@handhelds.org>
7 *
8 * you can redistribute this file and/or modify
9 * it under the terms of the GNU General Public License (version 2)
10 * as published by the Free Software Foundation.
11 *
12 * This file is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with this program; if not, write to the Free Software
19 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 *
21 *
22 * The function defined in this file, are derived from work done in the xine
23 * project.
24 * In order to improve performance, by strongly reducing memory bandwidth
25 * needed, the scaling functions are merged with the yuv2rgb function.
26 */
27
28#ifdef __arm__
29
30#include <stdio.h>
31#include <stdlib.h>
32#include <string.h>
33#include <inttypes.h>
34
35#include "yuv2rgb.h"
36#include <xine/xineutils.h>
37
38/* Prototypes of the "local" functions available here: */
39/* first prototype, function called when no scaling is needed: */
40static void arm_rgb16_noscale(yuv2rgb_t*, uint8_t*, uint8_t*, uint8_t*, uint8_t*);
41/* second prototype, function called when no horizontal scaling is needed: */
42static void arm_rgb16_step_dx_32768(yuv2rgb_t*, uint8_t*, uint8_t*, uint8_t*, uint8_t*);
43/* third prototype, function called when scaling is needed for zooming in: */
44static void arm_rgb16_step_dx_inf_32768(yuv2rgb_t*, uint8_t*, uint8_t*, uint8_t*, uint8_t*);
45/* fourth prototype, function called when scaling is needed for zooming out (between 1x and 2x): */
46static void arm_rgb16_step_dx_bet_32768_65536(yuv2rgb_t*, uint8_t*, uint8_t*, uint8_t*, uint8_t*);
47/* fifth prototype, function called when scaling is needed for zooming out (greater than 2x): */
48static void arm_rgb16_step_dx_sup_65536(yuv2rgb_t*, uint8_t*, uint8_t*, uint8_t*, uint8_t*);
49/* sixth prototype, function where the decision of the scaling function to use is made.*/
50static void arm_rgb16_2 (yuv2rgb_t*, uint8_t*, uint8_t*, uint8_t*, uint8_t*);
51
52
53
54
55/* extern function: */
56
57/* Function: */
58void yuv2rgb_init_arm (yuv2rgb_factory_t *this)
59/* This function initialise the member yuv2rgb_fun, if everything is right
60the function optimised for the arm target should be used.*/
61 {
62 if (this->swapped)
63 return; /*no swapped pixel output upto now*/
64
65 switch (this->mode)
66 {
67 case MODE_16_RGB:
68 this->yuv2rgb_fun = arm_rgb16_2;
69 break;
70 default:
71 }
72 }
73
74
75
76/* local functions: */
77
78/* Function: */
79static void arm_rgb16_2 (yuv2rgb_t *this, uint8_t * _dst, uint8_t * _py, uint8_t * _pu, uint8_t * _pv)
80/* This function takes care of applying the right scaling conversion
81(yuv2rgb is included in each scaling function!)*/
82 {
83 if (!this->do_scale)
84 {
85 arm_rgb16_noscale(this, _dst, _py, _pu, _pv);
86 return;
87 }
88 if (this->step_dx<32768)
89 {
90 arm_rgb16_step_dx_inf_32768(this, _dst, _py, _pu, _pv);
91 return;
92 }
93 if (this->step_dx==32768)
94 {
95 arm_rgb16_step_dx_32768(this, _dst, _py, _pu, _pv);
96 return;
97 }
98 if (this->step_dx<65536)
99 {
100 arm_rgb16_step_dx_bet_32768_65536(this, _dst, _py, _pu, _pv);
101 return;
102 }
103 arm_rgb16_step_dx_sup_65536(this, _dst, _py, _pu, _pv);
104 return;
105 }
106
107
108/* Function: */
109static void arm_rgb16_noscale(yuv2rgb_t *this, uint8_t * _dst, uint8_t * _py, uint8_t * _pu, uint8_t * _pv)
110/* This function is called when the source and the destination pictures have the same size.
111 In this case, scaling part is not needed.
112 (This code is probably far from being optimised, in particular, the asm
113 generated is not the most efficient, a pure asm version will probably
114 emerge sooner or later). But at least, this version is faster than what
115 was used before.*/
116 {
117 int height;
118
119 height=this->dest_height;
120
121 while (height>0)
122 {
123 uint16_t *r, *g, *b;
124 uint8_t *py, *py2, *pu, *pv;
125 uint16_t *dst, *dst2;
126 int width;
127 register uint8_t p1y, p1u, p1v;
128
129 height-=2;
130 width=this->dest_width;
131 dst = _dst;
132 dst2 = _dst + this->rgb_stride;
133 py = _py;
134 py2 = _py + this->y_stride;
135 pu = _pu;
136 pv = _pv;
137
138 while (width>0)
139 {
140 width-=2;
141 p1y=*py++;
142 p1u=*pu++;
143 p1v=*pv++;
144
145 r = this->table_rV[p1v];
146 g = (void *) (((uint8_t *)this->table_gU[p1u]) + this->table_gV[p1v]);
147 b = this->table_bU[p1u];
148
149 *dst++ = r[p1y] + g[p1y] + b[p1y];
150 p1y=*py++;
151 *dst++ = r[p1y] + g[p1y] + b[p1y];
152
153 p1y=*py2++;
154
155 *dst2++ = r[p1y] + g[p1y] + b[p1y];
156 p1y=*py2++;
157 *dst2++ = r[p1y] + g[p1y] + b[p1y];
158 }
159 _dst += (this->rgb_stride)<<1;
160 _py += (this->y_stride)<<1;
161 _pu += this->uv_stride;
162 _pv += this->uv_stride;
163 }
164 }
165
166
167/* Function: */
168static void arm_rgb16_step_dx_inf_32768(yuv2rgb_t *this, uint8_t * _dst, uint8_t * _py, uint8_t * _pu, uint8_t * _pv)
169/* This function is called when the destination picture is bigger than the size
170 of the source picture.
171*/
172 {
173 int recal_uv, height; /* Note about recal_uv: bit0 is for
174applying scale on u and v, bit1 is for increments of u and v pointers.*/
175 int dy;
176
177 dy = 0;
178 height = this->dest_height;
179 recal_uv=1; // 1 for evaluation of scale_line, needed the first time
180
181 while(1)
182 {
183 register int dxy;
184 register int dxuv;
185 register uint8_t p1y, p2y;
186 uint8_t dest1y, dest2y;
187 register uint8_t p1u, p2u;
188 register uint8_t p1v, p2v;
189 uint8_t dest1u;
190 uint8_t dest1v;
191 int width;
192 uint8_t *u_buffer;
193 uint8_t *v_buffer;
194 uint16_t *r, *g, *b;
195 uint8_t *py, *pu, *pv;
196 uint16_t *dst;
197
198 dxy = 0;
199 dxuv = 0;
200 width = this->dest_width;
201 u_buffer=this->u_buffer;
202 v_buffer=this->v_buffer;
203 dst = (uint16_t*)_dst;
204 py = _py;
205 pu = _pu;
206 pv = _pv;
207
208 //proceed with line scaling/conversion
209 if ((recal_uv&1)!=0)
210 {
211 recal_uv^=1; //reset bit0.
212 // init values:
213 p1u = *pu++;
214 p2u = *pu++;
215 p1v = *pv++;
216 p2v = *pv++;
217 p1y = *py++;
218 p2y = *py++;
219
220 //width loop (compute all data for a line).
221 while (width>0)
222 {
223 // proceed with u and v first (ok, and y too finally :)) [scaling part]:
224 // evaluate 1u, 1v, and 2y
225 //block1_uvy
226 dest1u=p1u + ((dxuv*(p2u-p1u))>>15);
227 dest1v=p1v + ((dxuv*(p2v-p1v))>>15);
228 // as u and v are evaluated, better save them now
229 *u_buffer++ = (uint8_t)dest1u;
230 *v_buffer++ = (uint8_t)dest1v;
231
232 dest1y=p1y + ((dxy*(p2y-p1y))>>15);
233
234 dxuv += this->step_dx;
235 dxy += this->step_dx;
236 if (dxuv > 32768)
237 {
238 dxuv -= 32768;
239 p1u = p2u;
240 p2u = *pu++; //idee pour asm, cf cas then, un merge est possible!!!
241 p1v = p2v;
242 p2v = *pv++;
243 }
244 if (dxy > 32768)
245 {
246 dxy -= 32768;
247 p1y = p2y;
248 p2y = *py++;
249 }
250 //end block1_uvy
251
252 //block2_y
253 dest2y=p1y + ((dxy*(p2y-p1y))>>15);
254
255 dxy += this->step_dx;
256 if (dxy > 32768)
257 {
258 dxy -= 32768;
259 p1y = p2y;
260 p2y = *py++; // idee pour asm, cf cas then, un merge est possible!!!
261 }
262 //end block2_y
263
264 // proceed now with YUV2RGB [conversion part]:
265 // u and v are currently in dest1u and dest1v
266 // the 2 y are in dest1y and dest2y.
267 // RGB(0),DST1(0), RGB(1), DST1(1)
268 r = this->table_rV[dest1v];
269 g = (void *) (((uint8_t *)this->table_gU[dest1u]) + this->table_gV[dest1v]);
270 b = this->table_bU[dest1u];
271
272 *dst++ = r[dest1y] + g[dest1y] + b[dest1y];
273 *dst++ = r[dest2y] + g[dest2y] + b[dest2y];
274
275 width -=2;
276 }
277 }
278 else
279 {
280 // this case is simple, u and v are already evaluated,
281 // Note pour moi: r, g et b pourraient etre reutilises!!
282
283 // init values:
284 p1y = *py++;
285 p2y = *py++;
286
287 //width loop (compute all data for a line).
288 while (width>0)
289 {
290 // proceed with y [scaling part]:
291 // evaluate 2y
292 //block1_y
293 dest1y=p1y + ((dxy*(p2y-p1y))>>15);
294
295 dxy += this->step_dx;
296 if (dxy > 32768)
297 {
298 dxy -= 32768;
299 p1y = p2y;
300 p2y = *py++;
301 }
302 //end block1_uvy
303
304 //block2_y
305 dest2y=p1y + ((dxy*(p2y-p1y))>>15);
306
307 dxy += this->step_dx;
308 if (dxy > 32768)
309 {
310 dxy -= 32768;
311 p1y = p2y;
312 p2y = *py++; // idee pour asm, cf cas then, un merge est possible!!!
313 }
314 //end block2_y
315
316 // proceed now with YUV2RGB [conversion part]:
317 // u and v are currently in dest1u and dest1v
318 // the 2 y are in dest1y and dest2y.
319 // RGB(0),DST1(0)
320 dest1u=*u_buffer++;
321 dest1v=*v_buffer++;
322 r = this->table_rV[dest1v];
323 g = (void *) (((uint8_t *)this->table_gU[dest1u]) + this->table_gV[dest1v]);
324 b = this->table_bU[dest1u];
325
326 *dst++ = r[dest1y] + g[dest1y] + b[dest1y];
327 *dst++ = r[dest2y] + g[dest2y] + b[dest2y];
328
329 width -=2;
330 }
331 }
332 // end of line scaling/conversion
333 dy += this->step_dy;
334 _dst += this->rgb_stride;
335
336 while (--height > 0 && dy < 32768)
337 {
338 xine_fast_memcpy (_dst, (uint8_t*)_dst-this->rgb_stride, this->dest_width*2); // *2 because of int8 cast!
339 dy += this->step_dy;
340 _dst += this->rgb_stride;
341 }
342
343
344 if (height <= 0)
345 break;
346
347 do
348 {
349 dy -= 32768;
350 _py += this->y_stride;
351
352 recal_uv^=2; /*bit 0 for reevaluation of scanline, bit 1 for offset.*/
353
354 if ((recal_uv&2)==0)
355 {
356 _pu += this->uv_stride;
357 _pv += this->uv_stride;
358 recal_uv|=1; // if update, then reevaluate scanline!
359 }
360 }
361 while( dy>=32768);
362 }
363 }
364
365
366
367/* Function: */
368static void arm_rgb16_step_dx_32768(yuv2rgb_t *this, uint8_t * _dst, uint8_t * _py, uint8_t * _pu, uint8_t * _pv)
369/* This function is called when the widht of the destination picture is the
370 same as the size of the source picture.
371*/
372 {
373 int recal_uv, height;
374 int dy;
375
376 dy = 0;
377 height=this->dest_height;
378 recal_uv=0;
379
380 while (1)
381 {
382 uint16_t *r, *g, *b;
383 uint8_t *py, *pu, *pv;
384 uint16_t *dst;
385 int width;
386 register uint8_t p1y, p1u, p1v;
387
388 width=this->dest_width;
389 dst = (uint16_t*)_dst;
390 py = _py;
391 pu = _pu;
392 pv = _pv;
393
394 while (width>0)
395 {
396 width-=2;
397 p1y=*py++;
398 p1u=*pu++;
399 p1v=*pv++;
400
401 r = this->table_rV[p1v];
402 g = (void *) (((uint8_t *)this->table_gU[p1u]) + this->table_gV[p1v]);
403 b = this->table_bU[p1u];
404
405 *dst++ = r[p1y] + g[p1y] + b[p1y];
406 p1y=*py++;
407 *dst++ = r[p1y] + g[p1y] + b[p1y];
408 }
409
410
411
412 // end of line scaling/conversion
413 dy += this->step_dy;
414 _dst += this->rgb_stride;
415
416 while (--height > 0 && dy < 32768)
417 {
418 xine_fast_memcpy (_dst, (uint8_t*)_dst-this->rgb_stride, this->dest_width*2); // *2 because of int8 cast!
419 dy += this->step_dy;
420 _dst += this->rgb_stride;
421 }
422
423
424 if (height <= 0)
425 break;
426
427 do
428 {
429 dy -= 32768;
430 _py += this->y_stride;
431
432 recal_uv^=2; /*bit 0 for reevaluation of scanline, bit 1 for offset.*/
433
434 if ((recal_uv&2)==0)
435 {
436 _pu += this->uv_stride;
437 _pv += this->uv_stride;
438 recal_uv|=1; // if update, then reevaluate scanline!
439 }
440 }
441 while( dy>=32768);
442 }
443 }
444
445
446
447/* Function: */
448static void arm_rgb16_step_dx_bet_32768_65536(yuv2rgb_t *this, uint8_t * _dst, uint8_t * _py, uint8_t * _pu, uint8_t * _pv)
449/* This function is called when the destination picture is between the size
450 of the source picture, and half its size.
451*/
452 {
453 int recal_uv, height; /* Note about recal_uv: bit0 is for
454applying scale on u and v, bit1 is for increments of u and v pointers.*/
455 int dy;
456
457 dy = 0;
458 height = this->dest_height;
459 recal_uv=1; // 1 for evaluation of scale_line, needed the first time
460
461 while(1)
462 {
463 register int dxy;
464 register int dxuv;
465 register uint8_t p1y, p2y;
466 uint8_t dest1y, dest2y;
467 register uint8_t p1u, p2u;
468 register uint8_t p1v, p2v;
469 uint8_t dest1u;
470 uint8_t dest1v;
471 int width;
472 uint8_t *u_buffer;
473 uint8_t *v_buffer;
474 uint16_t *r, *g, *b;
475 uint8_t *py, *pu, *pv;
476 uint16_t *dst;
477
478 dxy = 0;
479 dxuv = 0;
480 width = this->dest_width;
481 u_buffer=this->u_buffer;
482 v_buffer=this->v_buffer;
483 dst = (uint16_t*)_dst;
484 py = _py;
485 pu = _pu;
486 pv = _pv;
487
488 //proceed with line scaling/conversion
489 if ((recal_uv&1)!=0)
490 {
491 recal_uv^=1; //reset bit0.
492 // init values:
493 p1u = *pu++;
494 p2u = *pu++;
495 p1v = *pv++;
496 p2v = *pv++;
497 p1y = *py++;
498 p2y = *py++;
499
500 //width loop (compute all data for a line).
501 while (width>0)
502 {
503 // proceed with u and v first (ok, and y too finally :)) [scaling part]:
504 // evaluate 1u, 1v, and 2y
505 //block1_uvy
506 dest1u=p1u + ((dxuv*(p2u-p1u))>>15);
507 dest1v=p1v + ((dxuv*(p2v-p1v))>>15);
508 // as u and v are evaluated, better save them now
509 *u_buffer++ = (uint8_t)dest1u;
510 *v_buffer++ = (uint8_t)dest1v;
511
512 dest1y=p1y + ((dxy*(p2y-p1y))>>15);
513
514 dxuv += this->step_dx;
515 dxy += this->step_dx;
516 if (dxuv > 65536)
517 {
518 dxuv -= 65536;
519 p1u = *pu++;
520 p2u = *pu++;
521 p1v = *pv++;
522 p2v = *pv++;
523 }
524 else
525 {
526 dxuv -= 32768;
527 p1u = p2u;
528 p2u = *pu++; //idee pour asm, cf cas then, un merge est possible!!!
529 p1v = p2v;
530 p2v = *pv++;
531 }
532 if (dxy > 65536)
533 {
534 dxy -= 65536;
535 p1y = *py++;
536 p2y = *py++;
537 }
538 else
539 {
540 dxy -= 32768;
541 p1y = p2y;
542 p2y = *py++;
543 }
544 //end block1_uvy
545
546 //block2_y
547 dest2y=p1y + ((dxy*(p2y-p1y))>>15);
548
549 dxy += this->step_dx;
550 if (dxy > 65536)
551 {
552 dxy -= 65536;
553 p1y = *py++;
554 p2y = *py++;
555 }
556 else
557 {
558 dxy -= 32768;
559 p1y = p2y;
560 p2y = *py++; // idee pour asm, cf cas then, un merge est possible!!!
561 }
562 //end block2_y
563
564 // proceed now with YUV2RGB [conversion part]:
565 // u and v are currently in dest1u and dest1v
566 // the 2 y are in dest1y and dest2y.
567 // RGB(0),DST1(0), RGB(1), DST1(1)
568 r = this->table_rV[dest1v];
569 g = (void *) (((uint8_t *)this->table_gU[dest1u]) + this->table_gV[dest1v]);
570 b = this->table_bU[dest1u];
571
572 *dst++ = r[dest1y] + g[dest1y] + b[dest1y];
573 *dst++ = r[dest2y] + g[dest2y] + b[dest2y];
574
575 width -=2;
576 }
577 }
578 else
579 {
580 // this case is simple, u and v are already evaluated,
581 // Note pour moi: r, g et b pourraient etre reutilises!!
582
583 // init values:
584 p1y = *py++;
585 p2y = *py++;
586
587 //width loop (compute all data for a line).
588 while (width>0)
589 {
590 // proceed with y [scaling part]:
591 // evaluate 2y
592 //block1_y
593 dest1y=p1y + ((dxy*(p2y-p1y))>>15);
594
595 dxy += this->step_dx;
596 if (dxy > 65536)
597 {
598 dxy -= 65536;
599 p1y = *py++;
600 p2y = *py++;
601 }
602 else
603 {
604 dxy -= 32768;
605 p1y = p2y;
606 p2y = *py++;
607 }
608 //end block1_uvy
609
610 //block2_y
611 dest2y=p1y + ((dxy*(p2y-p1y))>>15);
612
613 dxy += this->step_dx;
614 if (dxy > 65536)
615 {
616 dxy -= 65536;
617 p1y = *py++;
618 p2y = *py++;
619 }
620 else
621 {
622 dxy -= 32768;
623 p1y = p2y;
624 p2y = *py++; // idee pour asm, cf cas then, un merge est possible!!!
625 }
626 //end block2_y
627
628 // proceed now with YUV2RGB [conversion part]:
629 // u and v are currently in dest1u and dest1v
630 // the 2 y are in dest1y and dest2y.
631 // RGB(0),DST1(0)
632 dest1u=*u_buffer++;
633 dest1v=*v_buffer++;
634 r = this->table_rV[dest1v];
635 g = (void *) (((uint8_t *)this->table_gU[dest1u]) + this->table_gV[dest1v]);
636 b = this->table_bU[dest1u];
637
638 *dst++ = r[dest1y] + g[dest1y] + b[dest1y];
639 *dst++ = r[dest2y] + g[dest2y] + b[dest2y];
640
641 width -=2;
642 }
643 }
644 // end of line scaling/conversion
645 dy += this->step_dy;
646 _dst += this->rgb_stride;
647
648 while (--height > 0 && dy < 32768)
649 {
650 xine_fast_memcpy (_dst, (uint8_t*)_dst-this->rgb_stride, this->dest_width*2); // *2 because of int8 cast!
651 dy += this->step_dy;
652 _dst += this->rgb_stride;
653 }
654
655
656 if (height <= 0)
657 break;
658
659 do
660 {
661 dy -= 32768;
662 _py += this->y_stride;
663
664 recal_uv^=2; /*bit 0 for reevaluation of scanline, bit 1 for offset.*/
665
666 if ((recal_uv&2)==0)
667 {
668 _pu += this->uv_stride;
669 _pv += this->uv_stride;
670 recal_uv|=1; // if update, then reevaluate scanline!
671 }
672 }
673 while( dy>=32768);
674 }
675 }
676
677
678
679/* Function: */
680static void arm_rgb16_step_dx_sup_65536(yuv2rgb_t *this, uint8_t * _dst, uint8_t * _py, uint8_t * _pu, uint8_t * _pv)
681/* This function is called when the destination picture is smaller than half
682 the size of the source picture, and half its size.
683*/
684 {
685 int recal_uv, height; /* Note about recal_uv: bit0 is for
686applying scale on u and v, bit1 is for increments of u and v pointers.*/
687 int dy;
688
689 dy = 0;
690 height = this->dest_height;
691 recal_uv=1; // 1 for evaluation of scale_line, needed the first time
692
693 while(1)
694 {
695 register int dxy;
696 register int dxuv;
697 int offdxy, offdxuv;
698 register uint8_t p1y, p2y;
699 uint8_t dest1y, dest2y;
700 register uint8_t p1u, p2u;
701 register uint8_t p1v, p2v;
702 uint8_t dest1u;
703 uint8_t dest1v;
704 int width;
705 uint8_t *u_buffer;
706 uint8_t *v_buffer;
707 uint16_t *r, *g, *b;
708 uint8_t *py, *pu, *pv;
709 uint16_t *dst;
710
711 dxy = 0;
712 dxuv = 0;
713 width = this->dest_width;
714 u_buffer=this->u_buffer;
715 v_buffer=this->v_buffer;
716 dst = (uint16_t*)_dst;
717 py = _py;
718 pu = _pu;
719 pv = _pv;
720
721 //proceed with line scaling/conversion
722 if ((recal_uv&1)!=0)
723 {
724 recal_uv^=1; //reset bit0.
725 // init values:
726 p1u = *pu++;
727 p2u = *pu++;
728 p1v = *pv++;
729 p2v = *pv++;
730 p1y = *py++;
731 p2y = *py++;
732
733 //width loop (compute all data for a line).
734 while (width>0)
735 {
736 // proceed with u and v first (ok, and y too finally :)) [scaling part]:
737 // evaluate 1u, 1v, and 2y
738 //block1_uvy
739 dest1u=p1u + ((dxuv*(p2u-p1u))>>15);
740 dest1v=p1v + ((dxuv*(p2v-p1v))>>15);
741 // as u and v are evaluated, better save them now
742 *u_buffer++ = (uint8_t)dest1u;
743 *v_buffer++ = (uint8_t)dest1v;
744
745 dest1y=p1y + ((dxy*(p2y-p1y))>>15);
746
747 dxuv += this->step_dx;
748 dxy += this->step_dx;
749
750 offdxuv=((dxuv-1)>>15);
751 dxuv-=offdxuv<<15;
752 pu+=offdxuv-2;
753 pv+=offdxuv-2;
754 p1u = *pu++;
755 p2u = *pu++;
756 p1v = *pv++;
757 p2v = *pv++;
758 offdxy=((dxy-1)>>15);
759 dxy-=offdxy<<15;
760 py+=offdxy-2;
761 p1y = *py++;
762 p2y = *py++;
763
764 //block2_y
765 dest2y=p1y + ((dxy*(p2y-p1y))>>15);
766
767 dxy += this->step_dx;
768 offdxy=((dxy-1)>>15);
769 dxy-=offdxy<<15;
770 py+=offdxy-2;
771 p1y = *py++;
772 p2y = *py++;
773
774 // proceed now with YUV2RGB [conversion part]:
775 // u and v are currently in dest1u and dest1v
776 // the 2 y are in dest1y and dest2y.
777 // RGB(0),DST1(0), RGB(1), DST1(1)
778 r = this->table_rV[dest1v];
779 g = (void *) (((uint8_t *)this->table_gU[dest1u]) + this->table_gV[dest1v]);
780 b = this->table_bU[dest1u];
781
782 *dst++ = r[dest1y] + g[dest1y] + b[dest1y];
783 *dst++ = r[dest2y] + g[dest2y] + b[dest2y];
784
785 width -=2;
786 }
787 }
788 else
789 {
790 // this case is simple, u and v are already evaluated,
791 // Note pour moi: r, g et b pourraient etre reutilises!!
792
793 // init values:
794 p1y = *py++;
795 p2y = *py++;
796
797 //width loop (compute all data for a line).
798 while (width>0)
799 {
800 // proceed with y [scaling part]:
801 // evaluate 2y
802 //block1_y
803 dest1y=p1y + ((dxy*(p2y-p1y))>>15);
804
805 dxy += this->step_dx;
806 offdxy=((dxy-1)>>15);
807 dxy-=offdxy<<15;
808 py+=offdxy-2;
809 p1y = *py++;
810 p2y = *py++;
811
812 //end block1_uvy
813
814 //block2_y
815 dest2y=p1y + ((dxy*(p2y-p1y))>>15);
816
817 dxy += this->step_dx;
818 offdxy=((dxy-1)>>15);
819 dxy-=offdxy<<15;
820 py+=offdxy-2;
821 p1y = *py++;
822 p2y = *py++;
823 //end block2_y
824
825 // proceed now with YUV2RGB [conversion part]:
826 // u and v are currently in dest1u and dest1v
827 // the 2 y are in dest1y and dest2y.
828 // RGB(0),DST1(0)
829 dest1u=*u_buffer++;
830 dest1v=*v_buffer++;
831 r = this->table_rV[dest1v];
832 g = (void *) (((uint8_t *)this->table_gU[dest1u]) + this->table_gV[dest1v]);
833 b = this->table_bU[dest1u];
834
835 *dst++ = r[dest1y] + g[dest1y] + b[dest1y];
836 *dst++ = r[dest2y] + g[dest2y] + b[dest2y];
837
838 width -=2;
839 }
840 }
841 // end of line scaling/conversion
842 dy += this->step_dy;
843 _dst += this->rgb_stride;
844
845 while (--height > 0 && dy < 32768)
846 {
847 xine_fast_memcpy (_dst, (uint8_t*)_dst-this->rgb_stride, this->dest_width*2); // *2 because of int8 cast!
848 dy += this->step_dy;
849 _dst += this->rgb_stride;
850 }
851
852
853 if (height <= 0)
854 break;
855
856 do
857 {
858 dy -= 32768;
859 _py += this->y_stride;
860
861 recal_uv^=2; /*bit 0 for reevaluation of scanline, bit 1 for offset.*/
862
863 if ((recal_uv&2)==0)
864 {
865 _pu += this->uv_stride;
866 _pv += this->uv_stride;
867 recal_uv|=1; // if update, then reevaluate scanline!
868 }
869 }
870 while( dy>=32768);
871 }
872 }
873
874
875#endif
diff --git a/noncore/multimedia/opierec/opierec.control b/noncore/multimedia/opierec/opierec.control
index 96c1b69..a1a2b7e 100644
--- a/noncore/multimedia/opierec/opierec.control
+++ b/noncore/multimedia/opierec/opierec.control
@@ -1,10 +1,10 @@
1Package: opie-rec 1Package: opierec
2Files: bin/opierec pics/opierec apps/Applications/opierec.desktop 2Files: bin/opierec pics/opierec apps/Applications/opierec.desktop
3Priority: optional 3Priority: optional
4Section: multimedia/applications 4Section: multimedia/applications
5Maintainer: L.J. Potter <ljp@llornkcor.com> 5Maintainer: L.J. Potter <ljp@llornkcor.com>
6Architecture: arm 6Architecture: arm
7Version: 1.5-2 7Depends: opie ($QPE_VERSION)
8Depends: task-opie-minimal
9Description: audio sampling recorder 8Description: audio sampling recorder
10 A simple audio recording/playing application. 9 A simple audio recording/playing application.
10Version: $QPE_VERSION$EXTRAVERSION
diff --git a/noncore/multimedia/opierec/qtrec.cpp b/noncore/multimedia/opierec/qtrec.cpp
index 0307d99..147f63d 100644
--- a/noncore/multimedia/opierec/qtrec.cpp
+++ b/noncore/multimedia/opierec/qtrec.cpp
@@ -449,7 +449,7 @@ void QtRec::init() {
449 layout1->addMultiCellWidget( timeLabel, 0, 0, 0, 3); 449 layout1->addMultiCellWidget( timeLabel, 0, 0, 0, 3);
450 450
451 playLabel2 = new QLabel(tab, "PlayLabel2" ); 451 playLabel2 = new QLabel(tab, "PlayLabel2" );
452 playLabel2->setText("Play"); 452 playLabel2->setText(tr("Play") );
453 playLabel2->setFixedHeight(18); 453 playLabel2->setFixedHeight(18);
454 layout1->addMultiCellWidget( playLabel2, 0, 0, 4, 4); 454 layout1->addMultiCellWidget( playLabel2, 0, 0, 4, 4);
455 455
@@ -470,7 +470,7 @@ void QtRec::init() {
470 470
471 QLabel *recLabel2; 471 QLabel *recLabel2;
472 recLabel2 = new QLabel( tab, "recLabel2" ); 472 recLabel2 = new QLabel( tab, "recLabel2" );
473 recLabel2->setText("Rec"); 473 recLabel2->setText(tr("Rec"));
474 recLabel2->setFixedHeight(18); 474 recLabel2->setFixedHeight(18);
475 layout1->addMultiCellWidget( recLabel2, 0, 0, 7, 7); 475 layout1->addMultiCellWidget( recLabel2, 0, 0, 7, 7);
476 476
@@ -500,9 +500,9 @@ void QtRec::init() {
500 ListView1->setSorting( 1, false); 500 ListView1->setSorting( 1, false);
501 ListView1->addColumn( tr( "Time" ) ); //in seconds 501 ListView1->addColumn( tr( "Time" ) ); //in seconds
502 ListView1->setColumnWidth(1,50); 502 ListView1->setColumnWidth(1,50);
503 ListView1->addColumn( "Location"); 503 ListView1->addColumn( tr("Location") );
504 ListView1->setColumnWidth(2,50); 504 ListView1->setColumnWidth(2,50);
505 ListView1->addColumn( "Date"); 505 ListView1->addColumn( tr("Date") );
506 ListView1->setColumnWidth(3,63); 506 ListView1->setColumnWidth(3,63);
507 507
508 ListView1->setColumnWidthMode(0,QListView::Manual); 508 ListView1->setColumnWidthMode(0,QListView::Manual);
@@ -594,10 +594,10 @@ void QtRec::init() {
594 594
595 Layout18->addWidget( bitGroup ); 595 Layout18->addWidget( bitGroup );
596 596
597 compressionCheckBox = new QCheckBox ( "Wave Compression (smaller files)", tab_3 ); 597 compressionCheckBox = new QCheckBox ( tr("Wave Compression (smaller files)"), tab_3 );
598 Layout18->addWidget( compressionCheckBox ); 598 Layout18->addWidget( compressionCheckBox );
599 599
600 autoMuteCheckBox= new QCheckBox ( "auto Mute", tab_3 ); 600 autoMuteCheckBox= new QCheckBox ( tr("auto Mute"), tab_3 );
601 Layout18->addWidget( autoMuteCheckBox ); 601 Layout18->addWidget( autoMuteCheckBox );
602 602
603 Layout19->addLayout( Layout18 ); 603 Layout19->addLayout( Layout18 );
@@ -644,10 +644,10 @@ void QtRec::init() {
644 644
645 Layout15b->addWidget( OutputSlider ); 645 Layout15b->addWidget( OutputSlider );
646 646
647 outMuteCheckBox = new QCheckBox ( "mute", tab_5 ); 647 outMuteCheckBox = new QCheckBox ( tr("mute"), tab_5 );
648 Layout15->addWidget( outMuteCheckBox ); 648 Layout15->addWidget( outMuteCheckBox );
649 649
650 inMuteCheckBox = new QCheckBox ( "mute", tab_5 ); 650 inMuteCheckBox = new QCheckBox ( tr("mute"), tab_5 );
651 inMuteCheckBox-> setFocusPolicy ( QWidget::NoFocus ); 651 inMuteCheckBox-> setFocusPolicy ( QWidget::NoFocus );
652 Layout15b->addWidget( inMuteCheckBox ); 652 Layout15b->addWidget( inMuteCheckBox );
653 653
@@ -691,10 +691,10 @@ void QtRec::init() {
691 691
692 Layout15b->addWidget( OutputSlider ); 692 Layout15b->addWidget( OutputSlider );
693 693
694 outMuteCheckBox = new QCheckBox ( "mute", tab_3 ); 694 outMuteCheckBox = new QCheckBox ( tr("mute"), tab_3 );
695 Layout15->addWidget( outMuteCheckBox ); 695 Layout15->addWidget( outMuteCheckBox );
696 696
697 inMuteCheckBox = new QCheckBox ( "mute", tab_3 ); 697 inMuteCheckBox = new QCheckBox ( tr("mute"), tab_3 );
698 inMuteCheckBox-> setFocusPolicy ( QWidget::NoFocus ); 698 inMuteCheckBox-> setFocusPolicy ( QWidget::NoFocus );
699 Layout15b->addWidget( inMuteCheckBox ); 699 Layout15b->addWidget( inMuteCheckBox );
700 700
@@ -875,11 +875,11 @@ void QtRec::stop() {
875void QtRec::doPlayBtn() { 875void QtRec::doPlayBtn() {
876 876
877 if(!stopped) { 877 if(!stopped) {
878 playLabel2->setText("Play"); 878 playLabel2->setText(tr("Play"));
879 stop(); 879 stop();
880 } else { 880 } else {
881 if(ListView1->currentItem() == 0) return; 881 if(ListView1->currentItem() == 0) return;
882 playLabel2->setText("Stop"); 882 playLabel2->setText(tr("Stop"));
883 currentFile = ListView1->currentItem()->text(0); 883 currentFile = ListView1->currentItem()->text(0);
884 start(); 884 start();
885 } 885 }
@@ -910,7 +910,7 @@ bool QtRec::rec() { //record
910 } else { 910 } else {
911 qDebug("go ahead and record"); 911 qDebug("go ahead and record");
912 secCount=1; 912 secCount=1;
913 playLabel2->setText("Stop"); 913 playLabel2->setText(tr("Stop"));
914 monitoring=false; 914 monitoring=false;
915 setRecordButton(true); 915 setRecordButton(true);
916 stopped=false; 916 stopped=false;
@@ -2159,7 +2159,7 @@ void QtRec::setRecordButton(bool b) {
2159 Stop_PushButton->setPixmap( image3 ); 2159 Stop_PushButton->setPixmap( image3 );
2160 if(Stop_PushButton->isDown()) 2160 if(Stop_PushButton->isDown())
2161 Stop_PushButton->setDown(true); 2161 Stop_PushButton->setDown(true);
2162 playLabel2->setText("Stop"); 2162 playLabel2->setText(tr("Stop") );
2163 2163
2164 } else { //about to stop 2164 } else { //about to stop
2165 2165
@@ -2167,7 +2167,7 @@ void QtRec::setRecordButton(bool b) {
2167 Stop_PushButton->setPixmap( image4); 2167 Stop_PushButton->setPixmap( image4);
2168 if(Stop_PushButton->isDown()) 2168 if(Stop_PushButton->isDown())
2169 Stop_PushButton->setDown(false); 2169 Stop_PushButton->setDown(false);
2170 playLabel2->setText("Play"); 2170 playLabel2->setText(tr("Play") );
2171 if(Rec_PushButton->isDown()) 2171 if(Rec_PushButton->isDown())
2172 Rec_PushButton->setDown( false); 2172 Rec_PushButton->setDown( false);
2173 } 2173 }
diff --git a/noncore/multimedia/showimg/opie-showimg.control b/noncore/multimedia/showimg/opie-showimg.control
index 9dacd94..c543335 100644
--- a/noncore/multimedia/showimg/opie-showimg.control
+++ b/noncore/multimedia/showimg/opie-showimg.control
@@ -4,8 +4,8 @@ Priority: optional
4Section: opie/applications 4Section: opie/applications
5Maintainer: Warwick Allison <warwick@trolltech.com> 5Maintainer: Warwick Allison <warwick@trolltech.com>
6Architecture: arm 6Architecture: arm
7Version: $QPE_VERSION-$SUB_VERSION
8Depends: task-opie-minimal 7Depends: task-opie-minimal
9Description: Image Viewer 8Description: Image Viewer
10 The image viewer for the Opie environment. Supports 9 The image viewer for the Opie environment. Supports
11 Whichever formats are compiled into Qt/Embedded (eg. PNG). 10 Whichever formats are compiled into Qt/Embedded (eg. PNG).
11Version: $QPE_VERSION$EXTRAVERSION
diff --git a/noncore/net/ftplib/ftplib.control b/noncore/net/ftplib/ftplib.control
index 3dcb02a..918bcd2 100644
--- a/noncore/net/ftplib/ftplib.control
+++ b/noncore/net/ftplib/ftplib.control
@@ -4,7 +4,7 @@ Priority: optional
4Section: Communications 4Section: Communications
5Maintainer: L.J. Potter <ljp@llornkcor.com> 5Maintainer: L.J. Potter <ljp@llornkcor.com>
6Architecture: arm 6Architecture: arm
7Version: $QPE_VERSION-$SUB_VERSION
8Depends: task-opie-minimal 7Depends: task-opie-minimal
9Description: Libftp 8Description: Libftp
10 The ftp library for the Opie environment. 9 The ftp library for the Opie environment.
10Version: $QPE_VERSION$EXTRAVERSION
diff --git a/noncore/net/mailit/opie-mailit.control b/noncore/net/mailit/opie-mailit.control
index 65b5b36..77d4102 100644
--- a/noncore/net/mailit/opie-mailit.control
+++ b/noncore/net/mailit/opie-mailit.control
@@ -4,6 +4,6 @@ Priority: optional
4Section: opie 4Section: opie
5Maintainer: L.J. Potter <llornkcor@handhelds.org> 5Maintainer: L.J. Potter <llornkcor@handhelds.org>
6Architecture: arm 6Architecture: arm
7Version: $OPIE_VERSION-$SUB_VERSION 7Version: $QPE_VERSION$EXTRAVERSION
8Description: EMail 8Description: EMail
9 A simple POP3 email client for the Opie environment. 9 A simple POP3 email client for the Opie environment.
diff --git a/noncore/net/opieftp/opie-ftp.control b/noncore/net/opieftp/opie-ftp.control
index 090e9a8..1e82523 100644
--- a/noncore/net/opieftp/opie-ftp.control
+++ b/noncore/net/opieftp/opie-ftp.control
@@ -4,8 +4,8 @@ Priority: optional
4Section: Communications 4Section: Communications
5Maintainer: L.J. Potter <ljp@llornkcor.com> 5Maintainer: L.J. Potter <ljp@llornkcor.com>
6Architecture: arm 6Architecture: arm
7Version: $QPE_VERSION-$SUB_VERSION
8Depends: task-opie-minimal, ftplib 7Depends: task-opie-minimal, ftplib
9Replaces: opieftp 8Replaces: opieftp
10Description: Opie-Ftp 9Description: Opie-Ftp
11 The ftp client for the Opie environment. 10 The ftp client for the Opie environment.
11Version: $QPE_VERSION$EXTRAVERSION
diff --git a/noncore/net/opieirc/opie-irc.control b/noncore/net/opieirc/opie-irc.control
index f1e6ff8..51a8049 100644
--- a/noncore/net/opieirc/opie-irc.control
+++ b/noncore/net/opieirc/opie-irc.control
@@ -4,6 +4,6 @@ Priority: optional
4Section: Communications 4Section: Communications
5Maintainer: Wenzel Jakob <root@wazlaf.de> 5Maintainer: Wenzel Jakob <root@wazlaf.de>
6Architecture: arm 6Architecture: arm
7Version: $QPE_VERSION-$SUB_VERSION
8Depends: task-opie-minimal, libopie1 7Depends: task-opie-minimal, libopie1
9Description: The Opie IRC client lets you chat on your favorite IRC server using your handheld computer 8Description: The Opie IRC client lets you chat on your favorite IRC server using your handheld computer
9Version: $QPE_VERSION$EXTRAVERSION
diff --git a/noncore/net/opietooth/applet/opie-bluetoothapplet.control b/noncore/net/opietooth/applet/opie-bluetoothapplet.control
index b9bd63c..55b9ab0 100644
--- a/noncore/net/opietooth/applet/opie-bluetoothapplet.control
+++ b/noncore/net/opietooth/applet/opie-bluetoothapplet.control
@@ -4,7 +4,7 @@ Priority: optional
4Section: opie/system 4Section: opie/system
5Maintainer: Maximilian Reiss <max.reiss@gmx.de> 5Maintainer: Maximilian Reiss <max.reiss@gmx.de>
6Architecture: arm 6Architecture: arm
7Version: $QPE_VERSION-$SUB_VERSION.1
8Depends: task-opie-minimal, libopietooth1 7Depends: task-opie-minimal, libopietooth1
9Description: Bluetooth Applet 8Description: Bluetooth Applet
10 An bluetooth taskbar applet for the Opie environment 9 An bluetooth taskbar applet for the Opie environment
10Version: $QPE_VERSION$EXTRAVERSION
diff --git a/noncore/net/opietooth/lib/libopietooth1.control b/noncore/net/opietooth/lib/libopietooth1.control
index 041c9d5..850f0dc 100644
--- a/noncore/net/opietooth/lib/libopietooth1.control
+++ b/noncore/net/opietooth/lib/libopietooth1.control
@@ -4,7 +4,7 @@ Priority: optional
4Section: opie/system 4Section: opie/system
5Maintainer: Maximilian Reiß <max.reiss@gmx.de> 5Maintainer: Maximilian Reiß <max.reiss@gmx.de>
6Architecture: arm 6Architecture: arm
7Version: $QPE_VERSION-$SUB_VERSION
8Replaces: libopietooth 7Replaces: libopietooth
9Depends: libqte2 (>=2.3.4), libopie, task-bluez 8Depends: libqte2 (>=2.3.4), libopie, task-bluez
10Description: Opie bluetooth library 9Description: Opie bluetooth library
10Version: $QPE_VERSION$EXTRAVERSION
diff --git a/noncore/unsupported/gsmtool/gsmtool.pro b/noncore/unsupported/gsmtool/gsmtool.pro
index 180195f..40d5942 100644
--- a/noncore/unsupported/gsmtool/gsmtool.pro
+++ b/noncore/unsupported/gsmtool/gsmtool.pro
@@ -7,7 +7,7 @@ SOURCES = main.cpp gsmtool.cpp
7# This doesn't actually work... 7# This doesn't actually work...
8TMAKE_CXXFLAGS += -fexceptions 8TMAKE_CXXFLAGS += -fexceptions
9 INCLUDEPATH+= $(OPIEDIR)/include 9 INCLUDEPATH+= $(OPIEDIR)/include
10 INCLUDEPATH+= $(GSMLIBDIR) 10 #INCLUDEPATH+= $(GSMLIBDIR)
11 DEPENDPATH+= $(OPIEDIR)/include 11 DEPENDPATH+= $(OPIEDIR)/include
12LIBS += -lqpe -L$(GSMLIBDIR)/gsmlib/.libs -lgsmme 12LIBS += -lqpe -L$(GSMLIBDIR)/gsmlib/.libs -lgsmme
13 INTERFACES= gsmtoolbase.ui 13 INTERFACES= gsmtoolbase.ui
diff --git a/noncore/unsupported/mail2/addresspicker.cpp b/noncore/unsupported/mail2/addresspicker.cpp
index 7f32725..a97b33f 100644
--- a/noncore/unsupported/mail2/addresspicker.cpp
+++ b/noncore/unsupported/mail2/addresspicker.cpp
@@ -24,6 +24,7 @@ AddressPicker::AddressPicker(QWidget *parent, const char *name, bool modal,
24 24
25 if (f.open(IO_ReadOnly)) { 25 if (f.open(IO_ReadOnly)) {
26 QTextStream stream(&f); 26 QTextStream stream(&f);
27 stream.setEncoding( QTextStream::UnicodeUTF8 );
27 QString content; 28 QString content;
28 while (!f.atEnd()) content += stream.readLine() + "\n"; 29 while (!f.atEnd()) content += stream.readLine() + "\n";
29 QStringList lines = QStringList::split(QRegExp("\\n"), content); 30 QStringList lines = QStringList::split(QRegExp("\\n"), content);
diff --git a/noncore/unsupported/mail2/bend/opie-mailapplet.control b/noncore/unsupported/mail2/bend/opie-mailapplet.control
index e5d3c6e..d618643 100644
--- a/noncore/unsupported/mail2/bend/opie-mailapplet.control
+++ b/noncore/unsupported/mail2/bend/opie-mailapplet.control
@@ -4,7 +4,7 @@ Priority: optional
4Section: opie/applications 4Section: opie/applications
5Maintainer: Constantin Bergemann <cbergemann@lisa.de> 5Maintainer: Constantin Bergemann <cbergemann@lisa.de>
6Architecture: arm 6Architecture: arm
7Version: 0.0.9-$SUB_VERSION 7Version: $QPE_VERSION$EXTRAVERSION
8Depends: task-opie-minimal libopie1 opie-mail2 8Depends: task-opie-minimal, libopie1, opie-mail2
9Description: A Biff-Like mailchecker 9Description: A Biff-Like mailchecker
10License: LGPL 10License: LGPL
diff --git a/noncore/unsupported/mail2/opie-mail2.control b/noncore/unsupported/mail2/opie-mail2.control
index 7f8aeb6..976dc0b 100644
--- a/noncore/unsupported/mail2/opie-mail2.control
+++ b/noncore/unsupported/mail2/opie-mail2.control
@@ -4,7 +4,7 @@ Priority: optional
4Section: opie/applications 4Section: opie/applications
5Maintainer: Constantin Bergemann <cbergemann@lisa.de> 5Maintainer: Constantin Bergemann <cbergemann@lisa.de>
6Architecture: arm 6Architecture: arm
7Version: 0.0.9-$SUB_VERSION 7Version: $QPE_VERSION$EXTRAVERSION
8Depends: task-opie-minimal, libopie1 8Depends: task-opie-minimal, libopie1
9Description: An IMAP mail client 9Description: An IMAP mail client
10License: LGPL 10License: LGPL
diff --git a/noncore/unsupported/mailit/opie-mailit.control b/noncore/unsupported/mailit/opie-mailit.control
index 65b5b36..77d4102 100644
--- a/noncore/unsupported/mailit/opie-mailit.control
+++ b/noncore/unsupported/mailit/opie-mailit.control
@@ -4,6 +4,6 @@ Priority: optional
4Section: opie 4Section: opie
5Maintainer: L.J. Potter <llornkcor@handhelds.org> 5Maintainer: L.J. Potter <llornkcor@handhelds.org>
6Architecture: arm 6Architecture: arm
7Version: $OPIE_VERSION-$SUB_VERSION 7Version: $QPE_VERSION$EXTRAVERSION
8Description: EMail 8Description: EMail
9 A simple POP3 email client for the Opie environment. 9 A simple POP3 email client for the Opie environment.
diff --git a/noncore/unsupported/qpdf/QOutputDev.cpp b/noncore/unsupported/qpdf/QOutputDev.cpp
index 52237f5..022d938 100644
--- a/noncore/unsupported/qpdf/QOutputDev.cpp
+++ b/noncore/unsupported/qpdf/QOutputDev.cpp
@@ -119,7 +119,7 @@ QFont QOutputDev::matchFont ( GfxFont *gfxFont, fp_t m11, fp_t m12, fp_t m21, fp
119 gfxFont-> isSerif ( ), 119 gfxFont-> isSerif ( ),
120 gfxFont-> isSymbolic ( ), 120 gfxFont-> isSymbolic ( ),
121 gfxFont-> isCIDFont ( ), 121 gfxFont-> isCIDFont ( ),
122 ( gfxFont-> getEmbeddedFontName ( ) ? gfxFont-> getEmbeddedFontName ( ) : "<n/a>" ), 122 ( gfxFont-> getEmbeddedFontName ( ) ? gfxFont-> getEmbeddedFontName()-> getCString ( ) : "<n/a>" ),
123 (double) m11, (double) m12, (double) m21, (double) m22 )); 123 (double) m11, (double) m12, (double) m21, (double) m22 ));
124 124
125 125
@@ -215,10 +215,17 @@ void QOutputDev::startPage ( int /*pageNum*/, GfxState *state )
215 215
216void QOutputDev::endPage ( ) 216void QOutputDev::endPage ( )
217{ 217{
218 QPDFDBG( printf("End page\n") );
218 m_text-> coalesce ( ); 219 m_text-> coalesce ( );
219 220
221 /*
222 * I get stupid crashes after endPage is called and then we do clipping
223 * and other stuff.....
224 */
225#if 0
220 delete m_painter; 226 delete m_painter;
221 m_painter = 0; 227 m_painter = 0;
228#endif
222 229
223 updateContents ( 0, 0, contentsWidth ( ), contentsHeight ( )); 230 updateContents ( 0, 0, contentsWidth ( ), contentsHeight ( ));
224} 231}
@@ -244,6 +251,9 @@ void QOutputDev::drawLink ( Link *link, Catalog */*catalog*/ )
244 251
245void QOutputDev::saveState ( GfxState */*state*/ ) 252void QOutputDev::saveState ( GfxState */*state*/ )
246{ 253{
254 if ( ! m_painter )
255 return;
256
247 QPDFDBG( printf ( "SAVE (CLIP=%d/%d)\n", m_painter-> hasClipping ( ), !m_painter-> clipRegion ( ). isEmpty ( ))); 257 QPDFDBG( printf ( "SAVE (CLIP=%d/%d)\n", m_painter-> hasClipping ( ), !m_painter-> clipRegion ( ). isEmpty ( )));
248 258
249 m_painter-> save ( ); 259 m_painter-> save ( );
@@ -251,6 +261,9 @@ void QOutputDev::saveState ( GfxState */*state*/ )
251 261
252void QOutputDev::restoreState ( GfxState */*state*/ ) 262void QOutputDev::restoreState ( GfxState */*state*/ )
253{ 263{
264 if( ! m_painter )
265 return;
266
254 m_painter-> restore ( ); 267 m_painter-> restore ( );
255 268
256 //m_painter-> setClipRegion ( QRect ( 0, 0, m_pixmap-> width ( ), m_pixmap-> height ( ))); 269 //m_painter-> setClipRegion ( QRect ( 0, 0, m_pixmap-> width ( ), m_pixmap-> height ( )));
@@ -521,7 +534,7 @@ void QOutputDev::doClip ( GfxState *state, bool winding )
521 j += len; 534 j += len;
522 } 535 }
523 536
524 if ( m_painter-> hasClipping ( )) 537 if ( m_painter && m_painter-> hasClipping ( ))
525 region &= m_painter-> clipRegion ( ); 538 region &= m_painter-> clipRegion ( );
526 539
527 //m_painter-> setClipRegion ( region ); 540 //m_painter-> setClipRegion ( region );
diff --git a/noncore/unsupported/qpdf/opie-qpdf.control b/noncore/unsupported/qpdf/opie-qpdf.control
index 33df3e1..208dcb1 100644
--- a/noncore/unsupported/qpdf/opie-qpdf.control
+++ b/noncore/unsupported/qpdf/opie-qpdf.control
@@ -4,6 +4,6 @@ Priority: optional
4Section: opie/applications 4Section: opie/applications
5Maintainer: Robert Griebl <sandman@handhelds.org> 5Maintainer: Robert Griebl <sandman@handhelds.org>
6Architecture: arm 6Architecture: arm
7Version: $QPE_VERSION-$SUB_VERSION
8Depends: task-opie-minimal, gzip 7Depends: task-opie-minimal, gzip
9Description: A PDF viewer for OPIE. 8Description: A PDF viewer for OPIE.
9Version: $QPE_VERSION$EXTRAVERSION
diff --git a/noncore/unsupported/qpdf/qpdf.cpp b/noncore/unsupported/qpdf/qpdf.cpp
index 61f097b..de1dcf3 100644
--- a/noncore/unsupported/qpdf/qpdf.cpp
+++ b/noncore/unsupported/qpdf/qpdf.cpp