summaryrefslogtreecommitdiff
authorkergoth <kergoth>2003-08-09 16:24:58 (UTC)
committer kergoth <kergoth>2003-08-09 16:24:58 (UTC)
commite16d333ec2e8509fc665921ca106c25325bae9e0 (patch) (side-by-side diff)
tree9e9068190a15bc9b2a52ab33b40881128f732c0e
parent1c58d1407f9584fedcdae390a04e2b37e5853361 (diff)
downloadopie-e16d333ec2e8509fc665921ca106c25325bae9e0.zip
opie-e16d333ec2e8509fc665921ca106c25325bae9e0.tar.gz
opie-e16d333ec2e8509fc665921ca106c25325bae9e0.tar.bz2
Merge from BRANCH_1_0
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
@@ -6,3 +6,2 @@ Maintainer: Michael 'Mickey' Lauer <mickeyl@handhelds.org>
Architecture: arm
-Version: $QPE_VERSION-$SUB_VERSION
Depends: task-opie-minimal, libopie2 (1.8.1), opie-networksettings
@@ -10 +9,2 @@ Description: Network Applet
A taskbar applet for controlling network interfaces
+Version: $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
@@ -6,5 +6,5 @@ Maintainer: L. J. Potter <ljp@llornkcor.com>
Architecture: arm
-Version: $QPE_VERSION-$SUB_VERSION
Depends: task-opie-minimal
-Description: Screenshot Applet
+Description: Notes Applet
A simple taskbar applet for making quick notes.
+Version: $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
@@ -6,3 +6,2 @@ Maintainer: Michael 'Mickey' Lauer <mickey@tm.informatik.uni-frankfurt.de>
Architecture: arm
-Version: $QPE_VERSION-$SUB_VERSION.1
Depends: task-opie-minimal
@@ -10 +9,2 @@ Description: Wireless Applet
A wireless network card status taskbar applet for the Opie environment
+Version: $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
@@ -31,4 +31,2 @@
-#include <opie/otabwidget.h>
-
ConfigDlg::ConfigDlg(QWidget *parent, const char *name, bool modal) : QDialog(parent, name, modal)
@@ -37,10 +35,3 @@ ConfigDlg::ConfigDlg(QWidget *parent, const char *name, bool modal) : QDialog(pa
QVBoxLayout *vbox_layout = new QVBoxLayout( this );
- tab = new OTabWidget( this, "OTabWidget_tab", OTabWidget::Global, OTabWidget::Bottom );
- vbox_layout->addWidget( tab );
-
- /*general settings*/
- settings_tab = new QWidget( tab , "settings_tab" );
-
- /*searchmethods*/
- search_tab = new QWidget( tab , "search_tab" );
+ search_tab = new QWidget( this , "search_tab" );
QVBoxLayout *vbox_layout_searchtab = new QVBoxLayout( search_tab, 4 , 4 ,"blah" );
@@ -53,5 +44,5 @@ ConfigDlg::ConfigDlg(QWidget *parent, const char *name, bool modal) : QDialog(pa
QVBox *vbox = new QVBox( hbox );
- new_button = new QPushButton( "New" , vbox );
- change_button = new QPushButton( "Change" , vbox );
- delete_button = new QPushButton( "Delete" , vbox );
+ new_button = new QPushButton( tr( "New" ) , vbox );
+ change_button = new QPushButton( tr( "Change" ) , vbox );
+ delete_button = new QPushButton( tr( "Delete" ) , vbox );
connect( new_button, SIGNAL( clicked() ), this, SLOT( slotNewMethod() ) );
@@ -62,5 +53,4 @@ ConfigDlg::ConfigDlg(QWidget *parent, const char *name, bool modal) : QDialog(pa
- /*add the tabs and maximize*/
- tab->addTab( settings_tab, "pass", tr( "General Settings" ) );
- tab->addTab( search_tab, "zoom", tr( "Searchmethods" ) );
+ vbox_layout->addWidget( search_tab );
+
showMaximized();
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
@@ -10,3 +10,2 @@
class QWidget;
-class OTabWidget;
class QListView;
@@ -24,3 +23,2 @@ class ConfigDlg : public QDialog
private:
- OTabWidget *tab;
QWidget *settings_tab, *search_tab;
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
@@ -43,3 +43,3 @@ ODict::ODict() : QMainWindow()
vbox = new QVBox( this );
- setCaption( tr( "OPIE-Dictionary" ) );
+ setCaption( tr( "Opie-Dictionary" ) );
setupMenus();
@@ -78,3 +78,2 @@ void ODict::loadConfig()
casesens = cfg.readEntry( "casesens" ).toInt();
- regexp = cfg.readEntry( "regexp" ).toInt();
@@ -129,3 +128,2 @@ void ODict::saveConfig()
cfg.writeEntry( "casesens" , casesens );
- cfg.writeEntry( "regexp" , regexp );
cfg.writeEntry( "lastdict" , query_co->currentText() );
@@ -187,9 +185,2 @@ void ODict::slotSetParameter( int count )
- if ( count == 1 )
- {
- if ( regexp )
- regexp = false;
- else
- regexp = true;
- }
saveConfig();
@@ -224,3 +215,2 @@ void ODict::setupMenus()
parameter->insertItem( tr( "C&ase sensitive" ), 0 ,0 );
- parameter->insertItem( tr( "Allow &reg. expressions" ), 2 );
parameter->insertSeparator();
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
@@ -51,3 +51,3 @@ class ODict : public QMainWindow
- bool casesens, completewords, regexp;
+ bool casesens, completewords;
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
@@ -6,3 +6,3 @@ HEADERS = odict.h \
configdlg.h \
- dingwidget.h \
+ dingwidget.h
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
@@ -6,3 +6,2 @@ Maintainer: Carsten Niehaus <cniehaus@handhelds.org>
Architecture: arm
-Version: $QPE_VERSION-$SUB_VERSION
Depends: task-opie-minimal
@@ -10 +9,2 @@ Description: Dictionarylookupprogram
Look up words :)
+Version: $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
@@ -23,2 +23,4 @@
#include <qtextstream.h>
+#include "../xmlencodeattr.h"
+
@@ -70,3 +72,3 @@ bool DBXml::saveSource(QIODevice *outDev)
<< "\">";
- outstream << it.current()->name() << "</key>" << endl;
+ outstream << encodeAttr(it.current()->name()) << "</key>" << endl;
}
@@ -96,3 +98,3 @@ bool DBXml::saveSource(QIODevice *outDev)
} else {
- outstream << elem->toQString(i);
+ outstream << encodeAttr(elem->toQString(i));
}
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
@@ -5,2 +5,3 @@ SUBDIRS = db ui
HEADERS = tableviewer.h \
+ xmlencodeattr.h \
ui/commonwidgets.h \
@@ -19,2 +20,3 @@ SOURCES = main.cpp \
tableviewer.cpp \
+ xmlencodeattr.cpp \
ui/commonwidgets.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
@@ -25,2 +25,3 @@
#include <qlayout.h>
+#include "../xmlencodeattr.h"
@@ -104,8 +105,8 @@ void TVBrowseView::setDisplayText(const DataElem *element)
rep += "<A name=\"ckey\"></A><B><FONT COLOR=#FF0000>"
- + it.current()->name()
+ + encodeAttr(it.current()->name())
+ ":</FONT></B> ";
} else {
- rep += "<B>" + it.current()->name() + ":</B> ";
+ rep += "<B>" + encodeAttr(it.current()->name()) + ":</B> ";
}
- rep += element->toQString(it.currentKey()) + "<BR>";
+ rep += encodeAttr(element->toQString(it.currentKey())) + "<BR>";
}
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 @@
+/*
+ * xmlencodeattr.h
+ *
+ * copyright : (c) 2003 by Joseph Wenninger
+ * except for a small modification it's identical to qdom.cpp:encodeAttr
+ * email : jowenn@handhelds.org
+ *
+ */
+/***************************************************************************
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ ***************************************************************************/
+
+#include "xmlencodeattr.h"
+QString encodeAttr( const QString& str )
+{
+ QString tmp( str );
+ uint len = tmp.length();
+ uint i = 0;
+ while ( i < len ) {
+ if ( tmp[(int)i] == '<' ) {
+ tmp.replace( i, 1, "&lt;" );
+ len += 3;
+ i += 4;
+ } else if ( tmp[(int)i] == '"' ) {
+ tmp.replace( i, 1, "&quot;" );
+ len += 5;
+ i += 6;
+ } else if ( tmp[(int)i] == '&' ) {
+ tmp.replace( i, 1, "&amp;" );
+ len += 4;
+ i += 5;
+ } else if ( tmp[(int)i] == '>' ) {
+ tmp.replace( i, 1, "&gt;" );
+ len += 3;
+ i += 4;
+ } else {
+ ++i;
+ }
+ }
+
+ return tmp;
+}
+
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 @@
+/*
+ * xmlencodeattr.h
+ *
+ * copyright : (c) 2003 by Joseph Wenninger
+ * except for a small modification it's identical to qdom.cpp:encodeAttr
+ * email : jowenn@handhelds.org
+ *
+ */
+/***************************************************************************
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ ***************************************************************************/
+
+#ifndef _XML_ENCODE_ATTR_
+#define _XML_ENCODE_ATTR_
+
+#include <qstring.h>
+
+QString encodeAttr( const QString& str );
+
+#endif
+
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
@@ -14,3 +14,2 @@ HEADERS = d3des.h \
kvncbookmarkdlg.h \
- version.h \
vncauth.h
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
@@ -7,3 +7,2 @@ Architecture: arm
Arch: iPAQ
-Version: $QPE_VERSION-$SUB_VERSION
Depends: task-opie-minimal
@@ -11 +10,2 @@ Description: VNC Viewer
Virtual Network Computing (VNC) viewer
+Version: $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
@@ -6,3 +6,2 @@ Maintainer: Bruno Rodrigues <bruno.rodrigues@litux.org>
Architecture: arm
-Version: $QPE_VERSION-$SUB_VERSION
Depends: task-opie-minimal
@@ -10 +9,2 @@ Description: Mobile Messaging
For the Opie environment.
+Version: $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
@@ -6,3 +6,2 @@ Maintainer: Robert Griebl <sandman@handhelds.org>
Architecture: arm
-Version: $QPE_VERSION-$SUB_VERSION.1
Depends: task-opie-minimal
@@ -10 +9,2 @@ Description: OPIE window decoration style
Flat window decoration style for OPIE.
+Version: $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
@@ -6,3 +6,2 @@ Maintainer: Robert Griebl <sandman@handhelds.org>
Architecture: arm
-Version: $QPE_VERSION-$SUB_VERSION.1
Depends: task-opie-minimal
@@ -10 +9,2 @@ Description: OPIE window decoration style
Liquid (KDE3) window decoration style for OPIE.
+Version: $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
@@ -6,3 +6,2 @@ Maintainer: Robert Griebl <sandman@handhelds.org>
Architecture: arm
-Version: $QPE_VERSION-$SUB_VERSION.1
Depends: task-opie-minimal
@@ -10 +9,2 @@ Description: OPIE window decoration style
Blended window decoration style for OPIE.
+Version: $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
@@ -6,3 +6,2 @@ Maintainer: Ralf Waspe <rwaspe@web.de>
Architecture: arm
-Version: $QPE_VERSION-$SUB_VERSION
Depends: task-opie-minimal
@@ -10 +9,2 @@ Description: Backgammon Game
A Backgammon game for the Opie environment.
+Version: $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
@@ -137,4 +137,2 @@ BackGammon::BackGammon(QWidget* parent, const char* name, WFlags fl)
area=new QCanvas(235,235);
- QColor bgColor=palette().color(QPalette::Normal,QColorGroup::Background);
- area->setBackgroundColor(bgColor);
boardview=new BackGammonView(area,mainarea);
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
@@ -20,2 +20,3 @@ class BackGammon : public QMainWindow
private:
+ //GUI
//the "status" bar
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
@@ -115,4 +115,4 @@ void KJezzball::about()
{
- QMessageBox::information( this, "About",
- "Written by: Stefan Schimanski\n"
+ QMessageBox::information( this, tr("About"),
+ tr("Written by: Stefan Schimanski\n"
"Ported by: Martin Imobersteg\n"
@@ -124,3 +124,3 @@ void KJezzball::about()
"This program is distributed under\n"
- "the terms of the GPL v2." );
+ "the terms of the GPL v2.") );
}
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
@@ -104,3 +104,3 @@ void BuzzWord::drawGrid()
grid = new QGrid(gridVal, this);
- grid->setFixedSize(240,240);
+// grid->setFixedSize( 480, 480 );
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
@@ -7,3 +7,2 @@ Architecture: arm
Arch: iPAQ
-Version: $QPE_VERSION-$SUB_VERSION
Depends: task-opie-minimal
@@ -11 +10,2 @@ Description: Fifteen pieces game
A game for the Opie environment.
+Version: $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
@@ -6,3 +6,2 @@ Maintainer: Warwick Allison <warwick@trolltech.com>
Architecture: arm
-Version: $QPE_VERSION-$SUB_VERSION
Depends: task-opie-minimal
@@ -10 +9,2 @@ Description: The game of Go
A game for the Opie environment.
+Version: $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
@@ -36,3 +36,3 @@ Kpacman::Kpacman(QWidget *parent, const char *name)
- setCaption( "KPacman" );
+ setCaption( tr("KPacman") );
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
@@ -6,3 +6,2 @@ Maintainer: Martin Imobersteg <imm@gmx.ch>
Architecture: arm
-Version: $QPE_VERSION-$SUB_VERSION
Depends: task-opie-minimal
@@ -10 +9,2 @@ Description: Game: crack the coloured code
A game for the Opie environment.
+Version: $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
@@ -6,3 +6,2 @@ Maintainer: Martin Imobersteg <imm@gmx.ch>
Architecture: arm
-Version: $QPE_VERSION-$SUB_VERSION
Depends: task-opie-minimal
@@ -10 +9,2 @@ Description: Game: find the mines
A game for the Opie environment.
+Version: $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
@@ -6,3 +6,2 @@ Maintainer: Martin Imobersteg <imm@gmx.ch>
Architecture: arm
-Version: $QPE_VERSION-$SUB_VERSION
Depends: task-opie-minimal
@@ -10 +9,2 @@ Description: Game: shoot the parachutists
A game for the Opie environment.
+Version: $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
@@ -6,3 +6,2 @@ Maintainer: Martin Jones <mjones@trolltech.com>
Architecture: arm
-Version: $QPE_VERSION-$SUB_VERSION
Depends: task-opie-minimal
@@ -10 +9,2 @@ Description: Game: shoot the asteroids
A game for the Opie environment.
+Version: $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
@@ -4,3 +4,2 @@ Priority: optional
Section: Games
-Version: $QPE_VERSION-$SUB_VERSION
Architecture: arm
@@ -10 +9,2 @@ Description: SFCave SDL for the Zaurus. Fly though the cave avoiding the walls.
+Version: $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
@@ -6,4 +6,4 @@ Maintainer: Andy Qua <andy.qua@blueyonder.co.uk>
Architecture: arm
-Version: $QPE_VERSION-$SUB_VERSION
Depends: task-opie-minimal
Description: SFCave for the Zaurus. Fly the dot though the cave avoiding the walls.
+Version: $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
@@ -102,3 +102,3 @@ void SnakeGame::welcomescreen()
instr->show();
- QCanvasText* cont = new QCanvasText(tr("Press Any Key To Start"), &canvas);
+ QCanvasText* cont = new QCanvasText(tr("Press any key to start"), &canvas);
w = cont->boundingRect().width();
@@ -198,3 +198,3 @@ void SnakeGame::wait()
pauseTimer->stop();
- QCanvasText* cont = new QCanvasText(tr("Press Any Key to Begin a New Game."),
+ QCanvasText* cont = new QCanvasText(tr("Press any key to begin a new game."),
&canvas);
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
@@ -6,3 +6,2 @@ Maintainer: Martin Imobersteg <imm@gmx.ch>
Architecture: arm
-Version: $QPE_VERSION-$SUB_VERSION
Depends: task-opie-minimal
@@ -10 +9,2 @@ Description: Game: control the snake
A game for the Opie environment.
+Version: $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
@@ -72,4 +72,4 @@ CanvasCardWindow::CanvasCardWindow(QWidget* parent, const char* name, WFlags f)
settings = new QPopupMenu;
- settings->insertItem(tr("&Change Card Backs"), this, SLOT(changeCardBacks()), Key_F2);
- snap_id = settings->insertItem(tr("&Snap To Position"), this, SLOT(snapToggle()), Key_F3);
+ settings->insertItem(tr("&Change card backs"), this, SLOT(changeCardBacks()), Key_F2);
+ snap_id = settings->insertItem(tr("&Snap to position"), this, SLOT(snapToggle()), Key_F3);
settings->setCheckable(TRUE);
@@ -98,7 +98,7 @@ CanvasCardWindow::CanvasCardWindow(QWidget* parent, const char* name, WFlags f)
settings->setCheckable(TRUE);
- settings->insertItem(tr("Change Card Backs"), this, SLOT(changeCardBacks()));
- snap_id = settings->insertItem(tr("Snap To Position"), this, SLOT(snapToggle()));
+ settings->insertItem(tr("Change card backs"), this, SLOT(changeCardBacks()));
+ snap_id = settings->insertItem(tr("Snap to position"), this, SLOT(snapToggle()));
QString m;
- drawId = settings->insertItem(tr("Turn One Card"), this, SLOT(drawnToggle()));
+ drawId = settings->insertItem(tr("Turn one card"), this, SLOT(drawnToggle()));
menu->insertItem(tr("Settings"),settings);
@@ -285,5 +285,5 @@ void CanvasCardWindow::updateDraw() {
if(cardGame->cardsDrawn() == 3){
- settings->changeItem(drawId, tr("Turn One Card"));
+ settings->changeItem(drawId, tr("Turn one card"));
} else {
- settings->changeItem(drawId, tr("Turn Three Cards"));
+ settings->changeItem(drawId, tr("Turn three cards"));
}
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
@@ -6,3 +6,2 @@ Maintainer: Martin Imobersteg <imm@gmx.ch>
Architecture: arm
-Version: $QPE_VERSION-$SUB_VERSION
Depends: task-opie-minimal
@@ -10 +9,2 @@ Description: Game: solitaire card games
A solitaire game for the Opie environment.
+Version: $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
@@ -7,3 +7,2 @@ Architecture: arm
Arch: iPAQ
-Version: $QPE_VERSION-$SUB_VERSION
Depends: task-opie-minimal
@@ -11 +10,2 @@ Description: Game: control falling blocks
A game for the Opie environment.
+Version: $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
@@ -27,3 +27,3 @@ int main( int argc, char **argv )
a.setMainWidget( &ttt );
- ttt.setCaption("TicTac");
+ ttt.setCaption( QObject::tr("TicTac") );
ttt.show(); // show widget
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
@@ -6,4 +6,4 @@ Maintainer: ljp <ljp@llornkcor.com>
Architecture: arm
-Version: $QPE_VERSION-$SUB_VERSION
Depends: task-opie-minimal
Description: Tic Tac Toe game.
+Version: $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
@@ -6,3 +6,2 @@ Maintainer: Martin Imobersteg <imm@gmx.ch>
Architecture: arm
-Version: $QPE_VERSION-$SUB_VERSION
Depends: task-opie-minimal
@@ -11 +10,2 @@ Description: Crossword game
Play against the computer or human opponents.
+Version: $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
@@ -292,3 +292,3 @@ bool WordGame::loadRules(const QString &name)
title.truncate( title.length() - 6 );
- setCaption( title );
+ //setCaption( title );
@@ -316,3 +316,3 @@ bool WordGame::loadRules(const QString &name)
- QImage shim = Resource::loadImage("wordgame/wordgame_shapes.xpm");
+ QImage shim = Resource::loadImage("wordgame/wordgame_shapes");
shim = shim.smoothScale((re-1)*TileItem::smallWidth(),TileItem::smallHeight());
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
@@ -280,2 +280,7 @@ DrawPad::DrawPad(QWidget* parent, const char* name)
+}
+
+
+void DrawPad::finishStartup()
+{
// init pages
@@ -292,2 +297,3 @@ DrawPad::DrawPad(QWidget* parent, const char* name)
loadConfig();
+
}
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
@@ -42,2 +42,3 @@ public:
bool antiAliasing();
+ void finishStartup();
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
@@ -184,3 +184,5 @@ void DrawPadCanvas::load(QIODevice* ioDevice)
if (m_pages.isEmpty()) {
- m_pages.append(new Page("", contentsRect().size()));
+ m_pages.append(new Page("",
+ clipper()->width()+(verticalScrollBar()->isVisible()?verticalScrollBar()->width():0),
+ clipper()->height()+(horizontalScrollBar()->isVisible()?horizontalScrollBar()->height():0)));
m_pages.current()->pixmap()->fill(Qt::white);
@@ -196,3 +198,7 @@ void DrawPadCanvas::initialPage()
{
- m_pages.append(new Page("", 236, 232));
+ m_pages.append(new Page("",
+ clipper()->width()+(verticalScrollBar()->isVisible()?verticalScrollBar()->width():0),
+ clipper()->height()+(horizontalScrollBar()->isVisible()?horizontalScrollBar()->height():0)));
+ //236, 232)); no more fixed sizes
+
m_pages.current()->pixmap()->fill(Qt::white);
@@ -351,3 +357,6 @@ void DrawPadCanvas::deleteAll()
- m_pages.append(new Page("", contentsRect().size()));
+ m_pages.append(new Page("",
+ clipper()->width()+(verticalScrollBar()->isVisible()?verticalScrollBar()->width():0),
+ clipper()->height()+(horizontalScrollBar()->isVisible()?horizontalScrollBar()->height():0)));
+
m_pages.current()->pixmap()->fill(Qt::white);
@@ -384,3 +393,6 @@ void DrawPadCanvas::deletePage()
if (m_pages.isEmpty()) {
- m_pages.append(new Page("", contentsRect().size()));
+ m_pages.append(new Page("",
+ clipper()->width()+(verticalScrollBar()->isVisible()?verticalScrollBar()->width():0),
+ clipper()->height()+(horizontalScrollBar()->isVisible()?horizontalScrollBar()->height():0)));
+
m_pages.current()->pixmap()->fill(Qt::white);
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
@@ -15,3 +15,3 @@
-#include <qpe/fileselector.h>
+#include <opie/ofileselector.h>
@@ -68,5 +68,8 @@ ExportDialog::ExportDialog(uint pageAt, uint pageCount, QWidget* parent, const c
- FileSelector* fileSelector = new FileSelector("image/*", this, "fileselector");
- fileSelector->setNewVisible(false);
- fileSelector->setCloseVisible(false);
+ MimeTypes types; types.insert( tr("All Images"), "image/*" );
+ OFileSelector* fileSelector = new OFileSelector(this, OFileSelector::FileSelector,
+ OFileSelector::Normal,
+ QString::null, QString::null,
+ types );
+ fileSelector->setNameVisible( false );
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
@@ -16,3 +16,3 @@
#include <qpe/applnk.h>
-#include <qpe/fileselector.h>
+#include <opie/ofileselector.h>
@@ -29,6 +29,10 @@ ImportDialog::ImportDialog(QWidget* parent, const char* name)
- m_pFileSelector = new FileSelector("image/*", this, "fileselector");
+ MimeTypes types; types.insert( tr("All images"),"image/*" );
+ m_pFileSelector = new OFileSelector(this,
+ OFileSelector::FileSelector,
+ OFileSelector::Normal,
+ QString::null,
+ QString::null, types );
+ m_pFileSelector->setNameVisible( false );
connect(m_pFileSelector, SIGNAL(fileSelected(const DocLnk&)), this, SLOT(fileChanged()));
- m_pFileSelector->setNewVisible(false);
- m_pFileSelector->setCloseVisible(false);
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
@@ -19,3 +19,3 @@
class DocLnk;
-class FileSelector;
+class OFileSelector;
@@ -39,3 +39,3 @@ private slots:
private:
- FileSelector* m_pFileSelector;
+ OFileSelector* m_pFileSelector;
QLabel* m_pPreviewLabel;
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
@@ -23,3 +23,3 @@ int main(int argc, char **argv)
a.showMainWidget(&mw );
-
+ mw.finishStartup();
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
@@ -6,3 +6,2 @@ Maintainer: Sébastien Prud'homme <prudhomme@laposte.net>
Architecture: arm
-Version: $QPE_VERSION-$SUB_VERSION
Depends: task-opie-minimal, libopie1
@@ -12 +11,2 @@ Description: A note taking program with basic draw tools
project, an alternative to the standard Zaurus environment.
+Version: $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
@@ -24,2 +24,3 @@ class TextToolDialog : public QDialog
{
+ Q_OBJECT
public:
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
@@ -5,4 +5,4 @@ Section: opie/applications
Maintainer: ljp <llornkcor@handhelds.org>
-Version: $QPE_VERSION-$SUB_VERSION
Description: Opie Mediaplayer's skin.
+Version: $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
@@ -6,4 +6,4 @@ Maintainer: L.J.Potter <ljp@llornkcor.com>
Architecture: arm
-Version: $QPE_VERSION-$SUB_VERSION
Depends: task-opie-minimal
Description: Landscape skin for opie mediaplayer's
+Version: $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
@@ -6,4 +6,4 @@ Maintainer: L.J.Potter <ljp@llornkcor.com>
Architecture: arm
-Version: $QPE_VERSION-$SUB_VERSION
Depends: task-opie-minimal
Description: Default skin for opie mediaplayer's
+Version: $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
@@ -5,4 +5,4 @@ Section: opie/applications
Maintainer: ljp <llornkcor@handhelds.org>
-Version: $QPE_VERSION-$SUB_VERSION
Description: Techno Opie Mediaplayer's skin. Adapted from Qtopia
+Version: $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
@@ -33,16 +33,2 @@
-#include <qpe/qpeapplication.h>
-#include <qpe/resource.h>
-#include <qpe/config.h>
-#include <opie/oticker.h>
-
-#include <qwidget.h>
-#include <qpixmap.h>
-#include <qbutton.h>
-#include <qpainter.h>
-#include <qframe.h>
-#include <qlayout.h>
-#include <qdir.h>
-#include <stdlib.h>
-#include <stdio.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
@@ -36,10 +36,3 @@
-#include <qpainter.h>
-#include <qdrawutil.h>
-#include <qpixmap.h>
-#include <qstring.h>
-#include <qslider.h>
-#include <qframe.h>
#include <qlineedit.h>
-#include <qimage.h>
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
@@ -33,9 +33,5 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <qimage.h>
+
#include <qtextstream.h>
-#include <qpe/resource.h>
-#include <qfile.h>
#include <qdir.h>
@@ -90,2 +86,12 @@ Lib::Lib( InitializationMode initMode, XineVideoWidget* widget )
ts << "misc.memcpy_method:glibc\n";
+ ts << "# uncomment if you experience double speed audio \n #audio.oss_sync_method:softsync\n";
+ ts << "codec.ffmpeg_pp_quality:3\n";
+ ts << "audio.num_buffers:50\n";
+ ts << "audio.size_buffers:4160\n";
+ ts << "video.num_buffers:20\n";
+ ts << "video.size_buffers:4096\n";
+ ts << "audio.out_num_audio_buf:16\n";
+ ts << "audio.out_size_audio_buf:8096\n";
+ ts << "audio.out_size_zero_buf:1024\n";
+ ts << "audio.passthrough_offset:0\n";
f.close();
@@ -193,4 +199,12 @@ int Lib::play( const QString& fileName, int startPos, int start_time ) {
assert( m_initialized );
+ // FIXME actually a hack imho. Should not be needed to dispose the whole stream
+ // but without we get wrong media length reads from libxine for the second media
+ //xine_dispose ( m_stream );
QString str = fileName.stripWhiteSpace();
+
+ //m_stream = xine_stream_new (m_xine, m_audioOutput, m_videoOutput );
+ //m_queue = xine_event_new_queue (m_stream);
+ //xine_event_create_listener_thread (m_queue, xine_event_handler, this);
+
if ( !xine_open( m_stream, QFile::encodeName(str.utf8() ).data() ) ) {
@@ -245,3 +259,7 @@ int Lib::currentTime() const {
xine_get_pos_length( m_stream, &pos, &time, &length );
+ if ( time > 0 ) {
return time/1000;
+ } else {
+ return 0;
+ }
}
@@ -252,5 +270,22 @@ int Lib::length() const {
int pos, time, length;
- xine_get_pos_length( m_stream, &pos, &time, &length );
+/* dilb: patch to solve the wrong stream length reported to the GUI*/
+ int iRetVal=0, iTestLoop=0;
+
+ do
+ {
+ iRetVal = xine_get_pos_length( m_stream, &pos, &time, &length );
+ if (iRetVal)
+ {/* if the function didn't return 0, then pos, time and length are valid.*/
return length/1000;
}
+ /*don't poll too much*/
+ usleep(100000);
+ iTestLoop++;
+ }
+ while ( iTestLoop < 10 ); /* if after 1s, we still don't have any
+valid stream, then return -1 (this value could be used to make the stream
+unseekable, but it should never occur!! Mr. Murphy ? :) ) */
+
+ return -1;
+}
@@ -368,4 +403,2 @@ void Lib::setGamma( int value ) {
- //qDebug( QString( "%1").arg(value) );
- /* int gammaValue = ( 100 + value ); */
::null_set_videoGamma( m_videoOutput, value );
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
@@ -36,8 +36,3 @@
-#include <qcstring.h>
-#include <qstring.h>
-#include <qobject.h>
-
#include <xine.h>
-//#include "xine.h"
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 @@
-#include <qstring.h>
-#include "mediadetect.h"
-
-
-MediaDetect::MediaDetect() {
-}
-
-MediaDetect::~MediaDetect() {
-}
-
-char MediaDetect::videoOrAudio( const QString& fileName ) {
- if( (fileName.lower()).right(4) == ".avi" ||
- (fileName.lower()).right(4) == ".mpg" ||
- (fileName.lower()).right(4) == ".asf" ||
- (fileName.lower()).right(4) == ".mov" ||
- (fileName.lower()).right(5) == ".mpeg" ) {
- qDebug("Video out taken");
- return 'v';
- } else if ( (fileName.lower()).right(4) == "·mp1" ||
- (fileName.lower()).right(4) == ".mp3" ||
- (fileName.lower()).right(4) == ".ogg" ||
- (fileName.lower()).right(4) == ".wav" ) {
- qDebug("AUDIO out taken");
- return 'a';
- } else if ( (fileName.lower()).left(7) == "http://" &&
- (fileName.lower()).right(1) == "/" ) {
- return 'a';
- } else {
- return 'f';
- }
-}
-
-bool MediaDetect::isStreaming( const QString& fileName ) {
- // ugly
- if( (fileName.lower()).left(4) == "http" ) {
- return true;
- } else if ( (fileName.lower()).left(3) == "ftp" ) {
- return true;
- } else {
- return false;
- }
-}
-
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 @@
-
-#ifndef MEDIADETECT_H
-#define MEDIADETECT_H
-
-
-class QString;
-class MediaDetect {
-
-public:
- MediaDetect();
- ~MediaDetect();
-
- /**
- * Look at the filename and decide which gui is to be used
- *
- * @param filename the filename
- * @return the char - a for audio gui, v for video, f for error
- */
- char videoOrAudio( const QString& fileName );
-
- /**
- * Find out if it is a streaming media file
- *
- * @param filename the filename
- * @return if it is a streaming url or not
- */
- bool isStreaming( const QString& fileName );
-
-};
-
-#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,4 +1,2 @@
#include <qpe/qpeapplication.h>
-#include <qpe/qlibrary.h>
-#include <qpe/resource.h>
#include <qpe/config.h>
@@ -7,7 +5,2 @@
-#include <qmainwindow.h>
-#include <qmessagebox.h>
-#include <qwidgetstack.h>
-#include <qfile.h>
-
#include "mediaplayer.h"
@@ -27,4 +20,2 @@
-
-
#define FBIOBLANK 0x4611
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
@@ -36,5 +36,2 @@
-#include <qmainwindow.h>
-#include <qframe.h>
-
#include "xinecontrol.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
@@ -22,2 +22,4 @@
+#include <assert.h>
+
#include "mediawidget.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
@@ -76,11 +76,5 @@ void Om3u::readM3u() {
} else { // is url
- s.replace( QRegExp( "%20" )," " );
QString name;
-// if( name.left( 4 ) == "http" ) {
-// name = s.right( s.length() - 7 );
-// } else {
name = s;
-// }
append(name);
-// qDebug(name);
}
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 @@
+Package: opie-mediaplayer2-codecs
+Files: root/usr/lib/libao.so* root/usr/lib/libogg* root/usr/lib/libvorbisidec.so* root/usr/lib/libxine.so* root/usr/lib/xine/*
+Section: opie/multimedia
+Essential: no
+Priority: optional
+Version: 0.7-$SUB_VERSION.3
+Architecture: arm
+Maintainer: Maximilian Reiss <harlekin@handhelds.org>
+Depends: libc6 (>= 2.1), opie-mediaplayer2
+Description: 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 @@
+#!/bin/sh
+
+[ "$1" = "configure" ] || exit 1
+
+ldconfig \ 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
@@ -6,4 +6,3 @@ Maintainer: L.J.Potter <ljp@llornkcor.com>, Maximilian Reiss <harlekin@handhelds
Architecture: arm
-Version: $QPE_VERSION-$SUB_VERSION
-Depends: task-opie-minimal, libopie1, zlib1g, opie-mediaplayer2-skin-default | opie-mediaplayer2-skin-default-landscape , libxine1 | opie-mediaplayer-codecs
+Depends: task-opie-minimal, libopie1, zlib1g, libstdc++2.10-glibc2.2, opie-mediaplayer2-skin-default | opie-mediaplayer2-skin-default-landscape , libxine1 | opie-mediaplayer2-codecs
Description: The Opie media player
@@ -11 +10,2 @@ Description: The Opie media player
more. Also it is streaming capable.
+Version: $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
@@ -13,3 +13,3 @@ SOURCES = main.cpp \
playlistwidgetgui.cpp\
- alphablend.c yuv2rgb.c yuv2rgb_arm.c yuv2rgb_arm4l.S \
+ alphablend.c yuv2rgb.c yuv2rgb_arm2.c yuv2rgb_arm4l.S \
threadutil.cpp mediawidget.cpp playlistview.cpp playlistfileview.cpp \
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
@@ -33,9 +33,3 @@
-#include <qpe/qpetoolbar.h>
-#include <qpe/qpeapplication.h>
-#include <qpe/storage.h>
-#include <qpe/mimetype.h>
-#include <qpe/global.h>
-#include <qpe/resource.h>
-#include <qpe/config.h>
+#include <qtoolbar.h>
@@ -43,7 +37,3 @@
-#include <qdatetime.h>
-#include <qdir.h>
#include <qmessagebox.h>
-#include <qregexp.h>
-#include <qtextstream.h>
@@ -57,3 +47,2 @@
//only needed for the random play
-#include <stdlib.h>
#include <assert.h>
@@ -669,2 +658,3 @@ void PlayListWidget::openFile() {
audio << "playlist/plain";
+ audio << "application/ogg";
audio << "audio/x-mpegurl";
@@ -683,7 +673,10 @@ void PlayListWidget::openFile() {
types, 0 );
- if(str.left(2) == "//") str=str.right(str.length()-1);
- cfg.writeEntry("LastDirectory" ,QFileInfo(str).dirPath());
+ if(str.left(2) == "//") {
+ str=str.right(str.length()-1);
+ }
+ cfg.writeEntry( "LastDirectory" ,QFileInfo( str ).dirPath() );
if( !str.isEmpty() ) {
+
qDebug( "Selected filename is " + str );
@@ -691,4 +684,2 @@ void PlayListWidget::openFile() {
DocLnk lnk;
- Config cfg( "OpiePlayer" );
- cfg.setGroup("PlayList");
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
@@ -36,6 +36,3 @@
-#include <qmainwindow.h>
-#include <qpe/applnk.h>
-#include <qtabwidget.h>
-#include <qpe/fileselector.h>
+
#include <qpushbutton.h>
@@ -46,4 +43,2 @@
-
-//class PlayListWidgetPrivate;
class Config;
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
@@ -33,17 +33,8 @@
-#include <qpe/qpemenubar.h>
-#include <qpe/qpetoolbar.h>
-#include <qpe/fileselector.h>
+
+#include <qtoolbar.h>
#include <qpe/qpeapplication.h>
-#include <qpe/storage.h>
-#include <qpe/mimetype.h>
-#include <qpe/config.h>
-#include <qpe/global.h>
-#include <qpe/resource.h>
-
-#include <qpopupmenu.h>
-#include <qaction.h>
-#include <qcursor.h>
-#include <qdir.h>
+
#include <qlayout.h>
+#include <qmenubar.h>
@@ -55,5 +46,2 @@
-//only needed for the random play
-#include <stdlib.h>
-
#include "mediaplayerstate.h"
@@ -70,3 +58,3 @@ PlayListWidgetGui::PlayListWidgetGui( MediaPlayerState &_mediaPlayerState, QWidg
// Create Toolbar
- QPEToolBar *toolbar = new QPEToolBar( this );
+ QToolBar *toolbar = new QToolBar( this );
toolbar->setHorizontalStretchable( TRUE );
@@ -74,6 +62,6 @@ PlayListWidgetGui::PlayListWidgetGui( MediaPlayerState &_mediaPlayerState, QWidg
// Create Menubar
- QPEMenuBar *menu = new QPEMenuBar( toolbar );
+ QMenuBar *menu = new QMenuBar( toolbar );
menu->setMargin( 0 );
- bar = new QPEToolBar( this );
+ bar = new QToolBar( this );
bar->setLabel( tr( "Play Operations" ) );
@@ -150,3 +138,3 @@ PlayListWidgetGui::PlayListWidgetGui( MediaPlayerState &_mediaPlayerState, QWidg
// no m3u's here please
- audioView = new PlayListFileView( "audio/mpeg;audio/x-wav;audio/x-ogg", "opieplayer2/musicfile", aTab, "Audioview" );
+ audioView = new PlayListFileView( "audio/mpeg;audio/x-wav;application/ogg", "opieplayer2/musicfile", aTab, "Audioview" );
Alayout->addMultiCellWidget( audioView, 0, 0, 0, 1 );
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
@@ -37,5 +37,3 @@
#include <qmainwindow.h>
-#include <qpe/applnk.h>
#include <qpe/resource.h>
-#include <qpe/qpemenubar.h>
@@ -43,5 +41,4 @@
#include <qpe/fileselector.h>
-#include <qpushbutton.h>
-#include <qpopupmenu.h>
#include <qaction.h>
+#include <qtoolbutton.h>
#include <qslider.h>
@@ -55,3 +52,3 @@ class PlayListFileView;
class Config;
-class QPEToolBar;
+class QToolBar;
class QListViewItem;
@@ -82,3 +79,2 @@ public:
connect( this, t ? SIGNAL( toggled(bool) ) : SIGNAL( clicked() ), handler, slot );
- QPEMenuToolFocusManager::manager()->addWidget( this );
}
@@ -123,3 +119,3 @@ protected:
QVBox *vbox5;
- QPEToolBar *bar;
+ QToolBar *bar;
QWidget *playListTab;
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
@@ -33,12 +33,2 @@
-#include <qpe/qpeapplication.h>
-#include <qpe/resource.h>
-#include <qpe/config.h>
-
-
-#include <qwidget.h>
-#include <qpainter.h>
-#include <qpixmap.h>
-#include <qslider.h>
-#include <qdrawutil.h>
#include "videowidget.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
@@ -36,7 +36,3 @@
-#include <qwidget.h>
-#include <qimage.h>
-#include <qpixmap.h>
#include "xinevideowidget.h"
-
#include "mediawidget.h"
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
@@ -38,2 +38,3 @@
#include <qpe/qpeapplication.h>
+
#include "xinecontrol.h"
@@ -90,2 +91,3 @@ XineControl::~XineControl() {
void XineControl::play( const QString& fileName ) {
+
hasVideoChannel = FALSE;
@@ -105,3 +107,2 @@ void XineControl::play( const QString& fileName ) {
MediaPlayerState::DisplayType displayType;
- // qDebug( QString( "libXine->hasVideo() return : %1 ").arg( libXine->hasVideo() ) );
if ( !libXine->hasVideo() ) {
@@ -199,3 +200,2 @@ long XineControl::position() {
}
- // qDebug("POSITION : %d", m_position);
return m_position;
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
@@ -37,3 +37,2 @@
#include "lib.h"
-#include <qobject.h>
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 @@
+/*
+ * yuv2rgb_arm2.c
+ * Copyright (C) 2002 Frederic 'dilb' Boulay.
+ * All Rights Reserved.
+ *
+ * Author: Frederic Boulay <dilb@handhelds.org>
+ *
+ * you can redistribute this file and/or modify
+ * it under the terms of the GNU General Public License (version 2)
+ * as published by the Free Software Foundation.
+ *
+ * This file is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ *
+ * The function defined in this file, are derived from work done in the xine
+ * project.
+ * In order to improve performance, by strongly reducing memory bandwidth
+ * needed, the scaling functions are merged with the yuv2rgb function.
+ */
+
+#ifdef __arm__
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <inttypes.h>
+
+#include "yuv2rgb.h"
+#include <xine/xineutils.h>
+
+/* Prototypes of the "local" functions available here: */
+/* first prototype, function called when no scaling is needed: */
+static void arm_rgb16_noscale(yuv2rgb_t*, uint8_t*, uint8_t*, uint8_t*, uint8_t*);
+/* second prototype, function called when no horizontal scaling is needed: */
+static void arm_rgb16_step_dx_32768(yuv2rgb_t*, uint8_t*, uint8_t*, uint8_t*, uint8_t*);
+/* third prototype, function called when scaling is needed for zooming in: */
+static void arm_rgb16_step_dx_inf_32768(yuv2rgb_t*, uint8_t*, uint8_t*, uint8_t*, uint8_t*);
+/* fourth prototype, function called when scaling is needed for zooming out (between 1x and 2x): */
+static void arm_rgb16_step_dx_bet_32768_65536(yuv2rgb_t*, uint8_t*, uint8_t*, uint8_t*, uint8_t*);
+/* fifth prototype, function called when scaling is needed for zooming out (greater than 2x): */
+static void arm_rgb16_step_dx_sup_65536(yuv2rgb_t*, uint8_t*, uint8_t*, uint8_t*, uint8_t*);
+/* sixth prototype, function where the decision of the scaling function to use is made.*/
+static void arm_rgb16_2 (yuv2rgb_t*, uint8_t*, uint8_t*, uint8_t*, uint8_t*);
+
+
+
+
+/* extern function: */
+
+/* Function: */
+void yuv2rgb_init_arm (yuv2rgb_factory_t *this)
+/* This function initialise the member yuv2rgb_fun, if everything is right
+the function optimised for the arm target should be used.*/
+ {
+ if (this->swapped)
+ return; /*no swapped pixel output upto now*/
+
+ switch (this->mode)
+ {
+ case MODE_16_RGB:
+ this->yuv2rgb_fun = arm_rgb16_2;
+ break;
+ default:
+ }
+ }
+
+
+
+/* local functions: */
+
+/* Function: */
+static void arm_rgb16_2 (yuv2rgb_t *this, uint8_t * _dst, uint8_t * _py, uint8_t * _pu, uint8_t * _pv)
+/* This function takes care of applying the right scaling conversion
+(yuv2rgb is included in each scaling function!)*/
+ {
+ if (!this->do_scale)
+ {
+ arm_rgb16_noscale(this, _dst, _py, _pu, _pv);
+ return;
+ }
+ if (this->step_dx<32768)
+ {
+ arm_rgb16_step_dx_inf_32768(this, _dst, _py, _pu, _pv);
+ return;
+ }
+ if (this->step_dx==32768)
+ {
+ arm_rgb16_step_dx_32768(this, _dst, _py, _pu, _pv);
+ return;
+ }
+ if (this->step_dx<65536)
+ {
+ arm_rgb16_step_dx_bet_32768_65536(this, _dst, _py, _pu, _pv);
+ return;
+ }
+ arm_rgb16_step_dx_sup_65536(this, _dst, _py, _pu, _pv);
+ return;
+ }
+
+
+/* Function: */
+static void arm_rgb16_noscale(yuv2rgb_t *this, uint8_t * _dst, uint8_t * _py, uint8_t * _pu, uint8_t * _pv)
+/* This function is called when the source and the destination pictures have the same size.
+ In this case, scaling part is not needed.
+ (This code is probably far from being optimised, in particular, the asm
+ generated is not the most efficient, a pure asm version will probably
+ emerge sooner or later). But at least, this version is faster than what
+ was used before.*/
+ {
+ int height;
+
+ height=this->dest_height;
+
+ while (height>0)
+ {
+ uint16_t *r, *g, *b;
+ uint8_t *py, *py2, *pu, *pv;
+ uint16_t *dst, *dst2;
+ int width;
+ register uint8_t p1y, p1u, p1v;
+
+ height-=2;
+ width=this->dest_width;
+ dst = _dst;
+ dst2 = _dst + this->rgb_stride;
+ py = _py;
+ py2 = _py + this->y_stride;
+ pu = _pu;
+ pv = _pv;
+
+ while (width>0)
+ {
+ width-=2;
+ p1y=*py++;
+ p1u=*pu++;
+ p1v=*pv++;
+
+ r = this->table_rV[p1v];
+ g = (void *) (((uint8_t *)this->table_gU[p1u]) + this->table_gV[p1v]);
+ b = this->table_bU[p1u];
+
+ *dst++ = r[p1y] + g[p1y] + b[p1y];
+ p1y=*py++;
+ *dst++ = r[p1y] + g[p1y] + b[p1y];
+
+ p1y=*py2++;
+
+ *dst2++ = r[p1y] + g[p1y] + b[p1y];
+ p1y=*py2++;
+ *dst2++ = r[p1y] + g[p1y] + b[p1y];
+ }
+ _dst += (this->rgb_stride)<<1;
+ _py += (this->y_stride)<<1;
+ _pu += this->uv_stride;
+ _pv += this->uv_stride;
+ }
+ }
+
+
+/* Function: */
+static void arm_rgb16_step_dx_inf_32768(yuv2rgb_t *this, uint8_t * _dst, uint8_t * _py, uint8_t * _pu, uint8_t * _pv)
+/* This function is called when the destination picture is bigger than the size
+ of the source picture.
+*/
+ {
+ int recal_uv, height; /* Note about recal_uv: bit0 is for
+applying scale on u and v, bit1 is for increments of u and v pointers.*/
+ int dy;
+
+ dy = 0;
+ height = this->dest_height;
+ recal_uv=1; // 1 for evaluation of scale_line, needed the first time
+
+ while(1)
+ {
+ register int dxy;
+ register int dxuv;
+ register uint8_t p1y, p2y;
+ uint8_t dest1y, dest2y;
+ register uint8_t p1u, p2u;
+ register uint8_t p1v, p2v;
+ uint8_t dest1u;
+ uint8_t dest1v;
+ int width;
+ uint8_t *u_buffer;
+ uint8_t *v_buffer;
+ uint16_t *r, *g, *b;
+ uint8_t *py, *pu, *pv;
+ uint16_t *dst;
+
+ dxy = 0;
+ dxuv = 0;
+ width = this->dest_width;
+ u_buffer=this->u_buffer;
+ v_buffer=this->v_buffer;
+ dst = (uint16_t*)_dst;
+ py = _py;
+ pu = _pu;
+ pv = _pv;
+
+ //proceed with line scaling/conversion
+ if ((recal_uv&1)!=0)
+ {
+ recal_uv^=1; //reset bit0.
+ // init values:
+ p1u = *pu++;
+ p2u = *pu++;
+ p1v = *pv++;
+ p2v = *pv++;
+ p1y = *py++;
+ p2y = *py++;
+
+ //width loop (compute all data for a line).
+ while (width>0)
+ {
+ // proceed with u and v first (ok, and y too finally :)) [scaling part]:
+ // evaluate 1u, 1v, and 2y
+ //block1_uvy
+ dest1u=p1u + ((dxuv*(p2u-p1u))>>15);
+ dest1v=p1v + ((dxuv*(p2v-p1v))>>15);
+ // as u and v are evaluated, better save them now
+ *u_buffer++ = (uint8_t)dest1u;
+ *v_buffer++ = (uint8_t)dest1v;
+
+ dest1y=p1y + ((dxy*(p2y-p1y))>>15);
+
+ dxuv += this->step_dx;
+ dxy += this->step_dx;
+ if (dxuv > 32768)
+ {
+ dxuv -= 32768;
+ p1u = p2u;
+ p2u = *pu++; //idee pour asm, cf cas then, un merge est possible!!!
+ p1v = p2v;
+ p2v = *pv++;
+ }
+ if (dxy > 32768)
+ {
+ dxy -= 32768;
+ p1y = p2y;
+ p2y = *py++;
+ }
+ //end block1_uvy
+
+ //block2_y
+ dest2y=p1y + ((dxy*(p2y-p1y))>>15);
+
+ dxy += this->step_dx;
+ if (dxy > 32768)
+ {
+ dxy -= 32768;
+ p1y = p2y;
+ p2y = *py++; // idee pour asm, cf cas then, un merge est possible!!!
+ }
+ //end block2_y
+
+ // proceed now with YUV2RGB [conversion part]:
+ // u and v are currently in dest1u and dest1v
+ // the 2 y are in dest1y and dest2y.
+ // RGB(0),DST1(0), RGB(1), DST1(1)
+ r = this->table_rV[dest1v];
+ g = (void *) (((uint8_t *)this->table_gU[dest1u]) + this->table_gV[dest1v]);
+ b = this->table_bU[dest1u];
+
+ *dst++ = r[dest1y] + g[dest1y] + b[dest1y];
+ *dst++ = r[dest2y] + g[dest2y] + b[dest2y];
+
+ width -=2;
+ }
+ }
+ else
+ {
+ // this case is simple, u and v are already evaluated,
+ // Note pour moi: r, g et b pourraient etre reutilises!!
+
+ // init values:
+ p1y = *py++;
+ p2y = *py++;
+
+ //width loop (compute all data for a line).
+ while (width>0)
+ {
+ // proceed with y [scaling part]:
+ // evaluate 2y
+ //block1_y
+ dest1y=p1y + ((dxy*(p2y-p1y))>>15);
+
+ dxy += this->step_dx;
+ if (dxy > 32768)
+ {
+ dxy -= 32768;
+ p1y = p2y;
+ p2y = *py++;
+ }
+ //end block1_uvy
+
+ //block2_y
+ dest2y=p1y + ((dxy*(p2y-p1y))>>15);
+
+ dxy += this->step_dx;
+ if (dxy > 32768)
+ {
+ dxy -= 32768;
+ p1y = p2y;
+ p2y = *py++; // idee pour asm, cf cas then, un merge est possible!!!
+ }
+ //end block2_y
+
+ // proceed now with YUV2RGB [conversion part]:
+ // u and v are currently in dest1u and dest1v
+ // the 2 y are in dest1y and dest2y.
+ // RGB(0),DST1(0)
+ dest1u=*u_buffer++;
+ dest1v=*v_buffer++;
+ r = this->table_rV[dest1v];
+ g = (void *) (((uint8_t *)this->table_gU[dest1u]) + this->table_gV[dest1v]);
+ b = this->table_bU[dest1u];
+
+ *dst++ = r[dest1y] + g[dest1y] + b[dest1y];
+ *dst++ = r[dest2y] + g[dest2y] + b[dest2y];
+
+ width -=2;
+ }
+ }
+ // end of line scaling/conversion
+ dy += this->step_dy;
+ _dst += this->rgb_stride;
+
+ while (--height > 0 && dy < 32768)
+ {
+ xine_fast_memcpy (_dst, (uint8_t*)_dst-this->rgb_stride, this->dest_width*2); // *2 because of int8 cast!
+ dy += this->step_dy;
+ _dst += this->rgb_stride;
+ }
+
+
+ if (height <= 0)
+ break;
+
+ do
+ {
+ dy -= 32768;
+ _py += this->y_stride;
+
+ recal_uv^=2; /*bit 0 for reevaluation of scanline, bit 1 for offset.*/
+
+ if ((recal_uv&2)==0)
+ {
+ _pu += this->uv_stride;
+ _pv += this->uv_stride;
+ recal_uv|=1; // if update, then reevaluate scanline!
+ }
+ }
+ while( dy>=32768);
+ }
+ }
+
+
+
+/* Function: */
+static void arm_rgb16_step_dx_32768(yuv2rgb_t *this, uint8_t * _dst, uint8_t * _py, uint8_t * _pu, uint8_t * _pv)
+/* This function is called when the widht of the destination picture is the
+ same as the size of the source picture.
+*/
+ {
+ int recal_uv, height;
+ int dy;
+
+ dy = 0;
+ height=this->dest_height;
+ recal_uv=0;
+
+ while (1)
+ {
+ uint16_t *r, *g, *b;
+ uint8_t *py, *pu, *pv;
+ uint16_t *dst;
+ int width;
+ register uint8_t p1y, p1u, p1v;
+
+ width=this->dest_width;
+ dst = (uint16_t*)_dst;
+ py = _py;
+ pu = _pu;
+ pv = _pv;
+
+ while (width>0)
+ {
+ width-=2;
+ p1y=*py++;
+ p1u=*pu++;
+ p1v=*pv++;
+
+ r = this->table_rV[p1v];
+ g = (void *) (((uint8_t *)this->table_gU[p1u]) + this->table_gV[p1v]);
+ b = this->table_bU[p1u];
+
+ *dst++ = r[p1y] + g[p1y] + b[p1y];
+ p1y=*py++;
+ *dst++ = r[p1y] + g[p1y] + b[p1y];
+ }
+
+
+
+ // end of line scaling/conversion
+ dy += this->step_dy;
+ _dst += this->rgb_stride;
+
+ while (--height > 0 && dy < 32768)
+ {
+ xine_fast_memcpy (_dst, (uint8_t*)_dst-this->rgb_stride, this->dest_width*2); // *2 because of int8 cast!
+ dy += this->step_dy;
+ _dst += this->rgb_stride;
+ }
+
+
+ if (height <= 0)
+ break;
+
+ do
+ {
+ dy -= 32768;
+ _py += this->y_stride;
+
+ recal_uv^=2; /*bit 0 for reevaluation of scanline, bit 1 for offset.*/
+
+ if ((recal_uv&2)==0)
+ {
+ _pu += this->uv_stride;
+ _pv += this->uv_stride;
+ recal_uv|=1; // if update, then reevaluate scanline!
+ }
+ }
+ while( dy>=32768);
+ }
+ }
+
+
+
+/* Function: */
+static void arm_rgb16_step_dx_bet_32768_65536(yuv2rgb_t *this, uint8_t * _dst, uint8_t * _py, uint8_t * _pu, uint8_t * _pv)
+/* This function is called when the destination picture is between the size
+ of the source picture, and half its size.
+*/
+ {
+ int recal_uv, height; /* Note about recal_uv: bit0 is for
+applying scale on u and v, bit1 is for increments of u and v pointers.*/
+ int dy;
+
+ dy = 0;
+ height = this->dest_height;
+ recal_uv=1; // 1 for evaluation of scale_line, needed the first time
+
+ while(1)
+ {
+ register int dxy;
+ register int dxuv;
+ register uint8_t p1y, p2y;
+ uint8_t dest1y, dest2y;
+ register uint8_t p1u, p2u;
+ register uint8_t p1v, p2v;
+ uint8_t dest1u;
+ uint8_t dest1v;
+ int width;
+ uint8_t *u_buffer;
+ uint8_t *v_buffer;
+ uint16_t *r, *g, *b;
+ uint8_t *py, *pu, *pv;
+ uint16_t *dst;
+
+ dxy = 0;
+ dxuv = 0;
+ width = this->dest_width;
+ u_buffer=this->u_buffer;
+ v_buffer=this->v_buffer;
+ dst = (uint16_t*)_dst;
+ py = _py;
+ pu = _pu;
+ pv = _pv;
+
+ //proceed with line scaling/conversion
+ if ((recal_uv&1)!=0)
+ {
+ recal_uv^=1; //reset bit0.
+ // init values:
+ p1u = *pu++;
+ p2u = *pu++;
+ p1v = *pv++;
+ p2v = *pv++;
+ p1y = *py++;
+ p2y = *py++;
+
+ //width loop (compute all data for a line).
+ while (width>0)
+ {
+ // proceed with u and v first (ok, and y too finally :)) [scaling part]:
+ // evaluate 1u, 1v, and 2y
+ //block1_uvy
+ dest1u=p1u + ((dxuv*(p2u-p1u))>>15);
+ dest1v=p1v + ((dxuv*(p2v-p1v))>>15);
+ // as u and v are evaluated, better save them now
+ *u_buffer++ = (uint8_t)dest1u;
+ *v_buffer++ = (uint8_t)dest1v;
+
+ dest1y=p1y + ((dxy*(p2y-p1y))>>15);
+
+ dxuv += this->step_dx;
+ dxy += this->step_dx;
+ if (dxuv > 65536)
+ {
+ dxuv -= 65536;
+ p1u = *pu++;
+ p2u = *pu++;
+ p1v = *pv++;
+ p2v = *pv++;
+ }
+ else
+ {
+ dxuv -= 32768;
+ p1u = p2u;
+ p2u = *pu++; //idee pour asm, cf cas then, un merge est possible!!!
+ p1v = p2v;
+ p2v = *pv++;
+ }
+ if (dxy > 65536)
+ {
+ dxy -= 65536;
+ p1y = *py++;
+ p2y = *py++;
+ }
+ else
+ {
+ dxy -= 32768;
+ p1y = p2y;
+ p2y = *py++;
+ }
+ //end block1_uvy
+
+ //block2_y
+ dest2y=p1y + ((dxy*(p2y-p1y))>>15);
+
+ dxy += this->step_dx;
+ if (dxy > 65536)
+ {
+ dxy -= 65536;
+ p1y = *py++;
+ p2y = *py++;
+ }
+ else
+ {
+ dxy -= 32768;
+ p1y = p2y;
+ p2y = *py++; // idee pour asm, cf cas then, un merge est possible!!!
+ }
+ //end block2_y
+
+ // proceed now with YUV2RGB [conversion part]:
+ // u and v are currently in dest1u and dest1v
+ // the 2 y are in dest1y and dest2y.
+ // RGB(0),DST1(0), RGB(1), DST1(1)
+ r = this->table_rV[dest1v];
+ g = (void *) (((uint8_t *)this->table_gU[dest1u]) + this->table_gV[dest1v]);
+ b = this->table_bU[dest1u];
+
+ *dst++ = r[dest1y] + g[dest1y] + b[dest1y];
+ *dst++ = r[dest2y] + g[dest2y] + b[dest2y];
+
+ width -=2;
+ }
+ }
+ else
+ {
+ // this case is simple, u and v are already evaluated,
+ // Note pour moi: r, g et b pourraient etre reutilises!!
+
+ // init values:
+ p1y = *py++;
+ p2y = *py++;
+
+ //width loop (compute all data for a line).
+ while (width>0)
+ {
+ // proceed with y [scaling part]:
+ // evaluate 2y
+ //block1_y
+ dest1y=p1y + ((dxy*(p2y-p1y))>>15);
+
+ dxy += this->step_dx;
+ if (dxy > 65536)
+ {
+ dxy -= 65536;
+ p1y = *py++;
+ p2y = *py++;
+ }
+ else
+ {
+ dxy -= 32768;
+ p1y = p2y;
+ p2y = *py++;
+ }
+ //end block1_uvy
+
+ //block2_y
+ dest2y=p1y + ((dxy*(p2y-p1y))>>15);
+
+ dxy += this->step_dx;
+ if (dxy > 65536)
+ {
+ dxy -= 65536;
+ p1y = *py++;
+ p2y = *py++;
+ }
+ else
+ {
+ dxy -= 32768;
+ p1y = p2y;
+ p2y = *py++; // idee pour asm, cf cas then, un merge est possible!!!
+ }
+ //end block2_y
+
+ // proceed now with YUV2RGB [conversion part]:
+ // u and v are currently in dest1u and dest1v
+ // the 2 y are in dest1y and dest2y.
+ // RGB(0),DST1(0)
+ dest1u=*u_buffer++;
+ dest1v=*v_buffer++;
+ r = this->table_rV[dest1v];
+ g = (void *) (((uint8_t *)this->table_gU[dest1u]) + this->table_gV[dest1v]);
+ b = this->table_bU[dest1u];
+
+ *dst++ = r[dest1y] + g[dest1y] + b[dest1y];
+ *dst++ = r[dest2y] + g[dest2y] + b[dest2y];
+
+ width -=2;
+ }
+ }
+ // end of line scaling/conversion
+ dy += this->step_dy;
+ _dst += this->rgb_stride;
+
+ while (--height > 0 && dy < 32768)
+ {
+ xine_fast_memcpy (_dst, (uint8_t*)_dst-this->rgb_stride, this->dest_width*2); // *2 because of int8 cast!
+ dy += this->step_dy;
+ _dst += this->rgb_stride;
+ }
+
+
+ if (height <= 0)
+ break;
+
+ do
+ {
+ dy -= 32768;
+ _py += this->y_stride;
+
+ recal_uv^=2; /*bit 0 for reevaluation of scanline, bit 1 for offset.*/
+
+ if ((recal_uv&2)==0)
+ {
+ _pu += this->uv_stride;
+ _pv += this->uv_stride;
+ recal_uv|=1; // if update, then reevaluate scanline!
+ }
+ }
+ while( dy>=32768);
+ }
+ }
+
+
+
+/* Function: */
+static void arm_rgb16_step_dx_sup_65536(yuv2rgb_t *this, uint8_t * _dst, uint8_t * _py, uint8_t * _pu, uint8_t * _pv)
+/* This function is called when the destination picture is smaller than half
+ the size of the source picture, and half its size.
+*/
+ {
+ int recal_uv, height; /* Note about recal_uv: bit0 is for
+applying scale on u and v, bit1 is for increments of u and v pointers.*/
+ int dy;
+
+ dy = 0;
+ height = this->dest_height;
+ recal_uv=1; // 1 for evaluation of scale_line, needed the first time
+
+ while(1)
+ {
+ register int dxy;
+ register int dxuv;
+ int offdxy, offdxuv;
+ register uint8_t p1y, p2y;
+ uint8_t dest1y, dest2y;
+ register uint8_t p1u, p2u;
+ register uint8_t p1v, p2v;
+ uint8_t dest1u;
+ uint8_t dest1v;
+ int width;
+ uint8_t *u_buffer;
+ uint8_t *v_buffer;
+ uint16_t *r, *g, *b;
+ uint8_t *py, *pu, *pv;
+ uint16_t *dst;
+
+ dxy = 0;
+ dxuv = 0;
+ width = this->dest_width;
+ u_buffer=this->u_buffer;
+ v_buffer=this->v_buffer;
+ dst = (uint16_t*)_dst;
+ py = _py;
+ pu = _pu;
+ pv = _pv;
+
+ //proceed with line scaling/conversion
+ if ((recal_uv&1)!=0)
+ {
+ recal_uv^=1; //reset bit0.
+ // init values:
+ p1u = *pu++;
+ p2u = *pu++;
+ p1v = *pv++;
+ p2v = *pv++;
+ p1y = *py++;
+ p2y = *py++;
+
+ //width loop (compute all data for a line).
+ while (width>0)
+ {
+ // proceed with u and v first (ok, and y too finally :)) [scaling part]:
+ // evaluate 1u, 1v, and 2y
+ //block1_uvy
+ dest1u=p1u + ((dxuv*(p2u-p1u))>>15);
+ dest1v=p1v + ((dxuv*(p2v-p1v))>>15);
+ // as u and v are evaluated, better save them now
+ *u_buffer++ = (uint8_t)dest1u;
+ *v_buffer++ = (uint8_t)dest1v;
+
+ dest1y=p1y + ((dxy*(p2y-p1y))>>15);
+
+ dxuv += this->step_dx;
+ dxy += this->step_dx;
+
+ offdxuv=((dxuv-1)>>15);
+ dxuv-=offdxuv<<15;
+ pu+=offdxuv-2;
+ pv+=offdxuv-2;
+ p1u = *pu++;
+ p2u = *pu++;
+ p1v = *pv++;
+ p2v = *pv++;
+ offdxy=((dxy-1)>>15);
+ dxy-=offdxy<<15;
+ py+=offdxy-2;
+ p1y = *py++;
+ p2y = *py++;
+
+ //block2_y
+ dest2y=p1y + ((dxy*(p2y-p1y))>>15);
+
+ dxy += this->step_dx;
+ offdxy=((dxy-1)>>15);
+ dxy-=offdxy<<15;
+ py+=offdxy-2;
+ p1y = *py++;
+ p2y = *py++;
+
+ // proceed now with YUV2RGB [conversion part]:
+ // u and v are currently in dest1u and dest1v
+ // the 2 y are in dest1y and dest2y.
+ // RGB(0),DST1(0), RGB(1), DST1(1)
+ r = this->table_rV[dest1v];
+ g = (void *) (((uint8_t *)this->table_gU[dest1u]) + this->table_gV[dest1v]);
+ b = this->table_bU[dest1u];
+
+ *dst++ = r[dest1y] + g[dest1y] + b[dest1y];
+ *dst++ = r[dest2y] + g[dest2y] + b[dest2y];
+
+ width -=2;
+ }
+ }
+ else
+ {
+ // this case is simple, u and v are already evaluated,
+ // Note pour moi: r, g et b pourraient etre reutilises!!
+
+ // init values:
+ p1y = *py++;
+ p2y = *py++;
+
+ //width loop (compute all data for a line).
+ while (width>0)
+ {
+ // proceed with y [scaling part]:
+ // evaluate 2y
+ //block1_y
+ dest1y=p1y + ((dxy*(p2y-p1y))>>15);
+
+ dxy += this->step_dx;
+ offdxy=((dxy-1)>>15);
+ dxy-=offdxy<<15;
+ py+=offdxy-2;
+ p1y = *py++;
+ p2y = *py++;
+
+ //end block1_uvy
+
+ //block2_y
+ dest2y=p1y + ((dxy*(p2y-p1y))>>15);
+
+ dxy += this->step_dx;
+ offdxy=((dxy-1)>>15);
+ dxy-=offdxy<<15;
+ py+=offdxy-2;
+ p1y = *py++;
+ p2y = *py++;
+ //end block2_y
+
+ // proceed now with YUV2RGB [conversion part]:
+ // u and v are currently in dest1u and dest1v
+ // the 2 y are in dest1y and dest2y.
+ // RGB(0),DST1(0)
+ dest1u=*u_buffer++;
+ dest1v=*v_buffer++;
+ r = this->table_rV[dest1v];
+ g = (void *) (((uint8_t *)this->table_gU[dest1u]) + this->table_gV[dest1v]);
+ b = this->table_bU[dest1u];
+
+ *dst++ = r[dest1y] + g[dest1y] + b[dest1y];
+ *dst++ = r[dest2y] + g[dest2y] + b[dest2y];
+
+ width -=2;
+ }
+ }
+ // end of line scaling/conversion
+ dy += this->step_dy;
+ _dst += this->rgb_stride;
+
+ while (--height > 0 && dy < 32768)
+ {
+ xine_fast_memcpy (_dst, (uint8_t*)_dst-this->rgb_stride, this->dest_width*2); // *2 because of int8 cast!
+ dy += this->step_dy;
+ _dst += this->rgb_stride;
+ }
+
+
+ if (height <= 0)
+ break;
+
+ do
+ {
+ dy -= 32768;
+ _py += this->y_stride;
+
+ recal_uv^=2; /*bit 0 for reevaluation of scanline, bit 1 for offset.*/
+
+ if ((recal_uv&2)==0)
+ {
+ _pu += this->uv_stride;
+ _pv += this->uv_stride;
+ recal_uv|=1; // if update, then reevaluate scanline!
+ }
+ }
+ while( dy>=32768);
+ }
+ }
+
+
+#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,2 +1,2 @@
-Package: opie-rec
+Package: opierec
Files: bin/opierec pics/opierec apps/Applications/opierec.desktop
@@ -6,5 +6,5 @@ Maintainer: L.J. Potter <ljp@llornkcor.com>
Architecture: arm
-Version: 1.5-2
-Depends: task-opie-minimal
+Depends: opie ($QPE_VERSION)
Description: audio sampling recorder
A simple audio recording/playing application.
+Version: $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
@@ -451,3 +451,3 @@ void QtRec::init() {
playLabel2 = new QLabel(tab, "PlayLabel2" );
- playLabel2->setText("Play");
+ playLabel2->setText(tr("Play") );
playLabel2->setFixedHeight(18);
@@ -472,3 +472,3 @@ void QtRec::init() {
recLabel2 = new QLabel( tab, "recLabel2" );
- recLabel2->setText("Rec");
+ recLabel2->setText(tr("Rec"));
recLabel2->setFixedHeight(18);
@@ -502,5 +502,5 @@ void QtRec::init() {
ListView1->setColumnWidth(1,50);
- ListView1->addColumn( "Location");
+ ListView1->addColumn( tr("Location") );
ListView1->setColumnWidth(2,50);
- ListView1->addColumn( "Date");
+ ListView1->addColumn( tr("Date") );
ListView1->setColumnWidth(3,63);
@@ -596,6 +596,6 @@ void QtRec::init() {
- compressionCheckBox = new QCheckBox ( "Wave Compression (smaller files)", tab_3 );
+ compressionCheckBox = new QCheckBox ( tr("Wave Compression (smaller files)"), tab_3 );
Layout18->addWidget( compressionCheckBox );
- autoMuteCheckBox= new QCheckBox ( "auto Mute", tab_3 );
+ autoMuteCheckBox= new QCheckBox ( tr("auto Mute"), tab_3 );
Layout18->addWidget( autoMuteCheckBox );
@@ -646,6 +646,6 @@ void QtRec::init() {
- outMuteCheckBox = new QCheckBox ( "mute", tab_5 );
+ outMuteCheckBox = new QCheckBox ( tr("mute"), tab_5 );
Layout15->addWidget( outMuteCheckBox );
- inMuteCheckBox = new QCheckBox ( "mute", tab_5 );
+ inMuteCheckBox = new QCheckBox ( tr("mute"), tab_5 );
inMuteCheckBox-> setFocusPolicy ( QWidget::NoFocus );
@@ -693,6 +693,6 @@ void QtRec::init() {
- outMuteCheckBox = new QCheckBox ( "mute", tab_3 );
+ outMuteCheckBox = new QCheckBox ( tr("mute"), tab_3 );
Layout15->addWidget( outMuteCheckBox );
- inMuteCheckBox = new QCheckBox ( "mute", tab_3 );
+ inMuteCheckBox = new QCheckBox ( tr("mute"), tab_3 );
inMuteCheckBox-> setFocusPolicy ( QWidget::NoFocus );
@@ -877,3 +877,3 @@ void QtRec::doPlayBtn() {
if(!stopped) {
- playLabel2->setText("Play");
+ playLabel2->setText(tr("Play"));
stop();
@@ -881,3 +881,3 @@ void QtRec::doPlayBtn() {
if(ListView1->currentItem() == 0) return;
- playLabel2->setText("Stop");
+ playLabel2->setText(tr("Stop"));
currentFile = ListView1->currentItem()->text(0);
@@ -912,3 +912,3 @@ bool QtRec::rec() { //record
secCount=1;
- playLabel2->setText("Stop");
+ playLabel2->setText(tr("Stop"));
monitoring=false;
@@ -2161,3 +2161,3 @@ void QtRec::setRecordButton(bool b) {
Stop_PushButton->setDown(true);
- playLabel2->setText("Stop");
+ playLabel2->setText(tr("Stop") );
@@ -2169,3 +2169,3 @@ void QtRec::setRecordButton(bool b) {
Stop_PushButton->setDown(false);
- playLabel2->setText("Play");
+ playLabel2->setText(tr("Play") );
if(Rec_PushButton->isDown())
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
@@ -6,3 +6,2 @@ Maintainer: Warwick Allison <warwick@trolltech.com>
Architecture: arm
-Version: $QPE_VERSION-$SUB_VERSION
Depends: task-opie-minimal
@@ -11 +10,2 @@ Description: Image Viewer
Whichever formats are compiled into Qt/Embedded (eg. PNG).
+Version: $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
@@ -6,3 +6,2 @@ Maintainer: L.J. Potter <ljp@llornkcor.com>
Architecture: arm
-Version: $QPE_VERSION-$SUB_VERSION
Depends: task-opie-minimal
@@ -10 +9,2 @@ Description: Libftp
The ftp library for the Opie environment.
+Version: $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
@@ -6,3 +6,3 @@ Maintainer: L.J. Potter <llornkcor@handhelds.org>
Architecture: arm
-Version: $OPIE_VERSION-$SUB_VERSION
+Version: $QPE_VERSION$EXTRAVERSION
Description: EMail
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
@@ -6,3 +6,2 @@ Maintainer: L.J. Potter <ljp@llornkcor.com>
Architecture: arm
-Version: $QPE_VERSION-$SUB_VERSION
Depends: task-opie-minimal, ftplib
@@ -11 +10,2 @@ Description: Opie-Ftp
The ftp client for the Opie environment.
+Version: $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
@@ -6,4 +6,4 @@ Maintainer: Wenzel Jakob <root@wazlaf.de>
Architecture: arm
-Version: $QPE_VERSION-$SUB_VERSION
Depends: task-opie-minimal, libopie1
Description: The Opie IRC client lets you chat on your favorite IRC server using your handheld computer
+Version: $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
@@ -6,3 +6,2 @@ Maintainer: Maximilian Reiss <max.reiss@gmx.de>
Architecture: arm
-Version: $QPE_VERSION-$SUB_VERSION.1
Depends: task-opie-minimal, libopietooth1
@@ -10 +9,2 @@ Description: Bluetooth Applet
An bluetooth taskbar applet for the Opie environment
+Version: $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
@@ -6,3 +6,2 @@ Maintainer: Maximilian Reiß <max.reiss@gmx.de>
Architecture: arm
-Version: $QPE_VERSION-$SUB_VERSION
Replaces: libopietooth
@@ -10 +9,2 @@ Depends: libqte2 (>=2.3.4), libopie, task-bluez
Description: Opie bluetooth library
+Version: $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
@@ -9,3 +9,3 @@ TMAKE_CXXFLAGS += -fexceptions
INCLUDEPATH += $(OPIEDIR)/include
-INCLUDEPATH += $(GSMLIBDIR)
+#INCLUDEPATH += $(GSMLIBDIR)
DEPENDPATH += $(OPIEDIR)/include
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
@@ -26,2 +26,3 @@ AddressPicker::AddressPicker(QWidget *parent, const char *name, bool modal,
QTextStream stream(&f);
+ stream.setEncoding( QTextStream::UnicodeUTF8 );
QString 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
@@ -6,4 +6,4 @@ Maintainer: Constantin Bergemann <cbergemann@lisa.de>
Architecture: arm
-Version: 0.0.9-$SUB_VERSION
-Depends: task-opie-minimal libopie1 opie-mail2
+Version: $QPE_VERSION$EXTRAVERSION
+Depends: task-opie-minimal, libopie1, opie-mail2
Description: A Biff-Like mailchecker
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
@@ -6,3 +6,3 @@ Maintainer: Constantin Bergemann <cbergemann@lisa.de>
Architecture: arm
-Version: 0.0.9-$SUB_VERSION
+Version: $QPE_VERSION$EXTRAVERSION
Depends: task-opie-minimal, libopie1
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
@@ -6,3 +6,3 @@ Maintainer: L.J. Potter <llornkcor@handhelds.org>
Architecture: arm
-Version: $OPIE_VERSION-$SUB_VERSION
+Version: $QPE_VERSION$EXTRAVERSION
Description: EMail
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
@@ -121,3 +121,3 @@ QFont QOutputDev::matchFont ( GfxFont *gfxFont, fp_t m11, fp_t m12, fp_t m21, fp
gfxFont-> isCIDFont ( ),
- ( gfxFont-> getEmbeddedFontName ( ) ? gfxFont-> getEmbeddedFontName ( ) : "<n/a>" ),
+ ( gfxFont-> getEmbeddedFontName ( ) ? gfxFont-> getEmbeddedFontName()-> getCString ( ) : "<n/a>" ),
(double) m11, (double) m12, (double) m21, (double) m22 ));
@@ -217,6 +217,13 @@ void QOutputDev::endPage ( )
{
+ QPDFDBG( printf("End page\n") );
m_text-> coalesce ( );
+ /*
+ * I get stupid crashes after endPage is called and then we do clipping
+ * and other stuff.....
+ */
+#if 0
delete m_painter;
m_painter = 0;
+#endif
@@ -246,2 +253,5 @@ void QOutputDev::saveState ( GfxState */*state*/ )
{
+ if ( ! m_painter )
+ return;
+
QPDFDBG( printf ( "SAVE (CLIP=%d/%d)\n", m_painter-> hasClipping ( ), !m_painter-> clipRegion ( ). isEmpty ( )));
@@ -253,2 +263,5 @@ void QOutputDev::restoreState ( GfxState */*state*/ )
{
+ if( ! m_painter )
+ return;
+
m_painter-> restore ( );
@@ -523,3 +536,3 @@ void QOutputDev::doClip ( GfxState *state, bool winding )
- if ( m_painter-> hasClipping ( ))
+ if ( m_painter && m_painter-> hasClipping ( ))
region &= m_painter-> clipRegion ( );
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
@@ -6,4 +6,4 @@ Maintainer: Robert Griebl <sandman@handhelds.org>
Architecture: arm
-Version: $QPE_VERSION-$SUB_VERSION
Depends: task-opie-minimal, gzip
Description: A PDF viewer for OPIE.
+Version: $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