summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore 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.pro3
-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.cpp8
-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.cpp14
-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.cpp16
-rw-r--r--noncore/multimedia/opieplayer2/audiowidget.h7
-rw-r--r--noncore/multimedia/opieplayer2/lib.cpp59
-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.cpp11
-rw-r--r--noncore/multimedia/opieplayer2/mediaplayer.h3
-rw-r--r--noncore/multimedia/opieplayer2/mediawidget.cpp2
-rw-r--r--noncore/multimedia/opieplayer2/om3u.cpp10
-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.cpp31
-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.cpp14
-rw-r--r--noncore/multimedia/opieplayer2/videowidget.h4
-rw-r--r--noncore/multimedia/opieplayer2/xinecontrol.cpp12
-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.cpp367
-rw-r--r--noncore/unsupported/qpdf/opie-qpdf.control2
-rw-r--r--noncore/unsupported/qpdf/qpdf.cpp2
96 files changed, 1386 insertions, 528 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
@@ -5,6 +5,6 @@ Section: opie/system
Maintainer: Michael 'Mickey' Lauer <mickeyl@handhelds.org>
Architecture: arm
-Version: $QPE_VERSION-$SUB_VERSION
Depends: task-opie-minimal, libopie2 (1.8.1), opie-networksettings
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
@@ -5,6 +5,6 @@ Section: opie/system
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
@@ -5,6 +5,6 @@ Section: opie/system
Maintainer: Michael 'Mickey' Lauer <mickey@tm.informatik.uni-frankfurt.de>
Architecture: arm
-Version: $QPE_VERSION-$SUB_VERSION.1
Depends: task-opie-minimal
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
@@ -30,18 +30,9 @@
#include <qstringlist.h>
-#include <opie/otabwidget.h>
-
ConfigDlg::ConfigDlg(QWidget *parent, const char *name, bool modal) : QDialog(parent, name, modal)
{
setCaption( tr( "Options" ) );
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" );
@@ -52,7 +43,7 @@ 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() ) );
connect( change_button, SIGNAL( clicked() ), this, SLOT( slotChangeMethod() ));
@@ -61,7 +52,6 @@ ConfigDlg::ConfigDlg(QWidget *parent, const char *name, bool modal) : QDialog(pa
vbox_layout_searchtab->addWidget( hbox );
- /*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
@@ -9,5 +9,4 @@
class QWidget;
-class OTabWidget;
class QListView;
class QPushButton;
@@ -23,5 +22,4 @@ class ConfigDlg : public QDialog
private:
- OTabWidget *tab;
QWidget *settings_tab, *search_tab;
QListView *list;
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
@@ -42,5 +42,5 @@ ODict::ODict() : QMainWindow()
vbox = new QVBox( this );
- setCaption( tr( "OPIE-Dictionary" ) );
+ setCaption( tr( "Opie-Dictionary" ) );
setupMenus();
@@ -77,5 +77,4 @@ void ODict::loadConfig()
cfg.setGroup( "generalsettings" );
casesens = cfg.readEntry( "casesens" ).toInt();
- regexp = cfg.readEntry( "regexp" ).toInt();
QString lastDict = cfg.readEntry( "lastdict" );
@@ -128,5 +127,4 @@ void ODict::saveConfig()
cfg.setGroup( "generalsettings" );
cfg.writeEntry( "casesens" , casesens );
- cfg.writeEntry( "regexp" , regexp );
cfg.writeEntry( "lastdict" , query_co->currentText() );
}
@@ -186,11 +184,4 @@ void ODict::slotSetParameter( int count )
}
- if ( count == 1 )
- {
- if ( regexp )
- regexp = false;
- else
- regexp = true;
- }
saveConfig();
}
@@ -223,5 +214,4 @@ void ODict::setupMenus()
connect( parameter, SIGNAL( activated( int ) ), this, SLOT( slotSetParameter( int ) ) );
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
@@ -50,5 +50,5 @@ class ODict : public QMainWindow
void setupMenus();
- bool casesens, completewords, regexp;
+ bool casesens, completewords;
void loadConfig();
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
@@ -5,5 +5,5 @@ HEADERS = odict.h \
searchmethoddlg.h \
configdlg.h \
- dingwidget.h \
+ dingwidget.h
SOURCES = main.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
@@ -5,6 +5,6 @@ Section: applications
Maintainer: Carsten Niehaus <cniehaus@handhelds.org>
Architecture: arm
-Version: $QPE_VERSION-$SUB_VERSION
Depends: task-opie-minimal
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
@@ -22,4 +22,6 @@
#include <stdlib.h>
#include <qtextstream.h>
+#include "../xmlencodeattr.h"
+
@@ -69,5 +71,5 @@ bool DBXml::saveSource(QIODevice *outDev)
<< TVVariant::typeToName(it.current()->type())
<< "\">";
- outstream << it.current()->name() << "</key>" << endl;
+ outstream << encodeAttr(it.current()->name()) << "</key>" << endl;
}
++it;
@@ -95,5 +97,5 @@ bool DBXml::saveSource(QIODevice *outDev)
<< date.year();
} else {
- outstream << elem->toQString(i);
+ outstream << encodeAttr(elem->toQString(i));
}
outstream << "</KEYID" << i << ">" << endl;
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
@@ -4,4 +4,5 @@ DESTDIR = $(OPIEDIR)/bin
SUBDIRS = db ui
HEADERS = tableviewer.h \
+ xmlencodeattr.h \
ui/commonwidgets.h \
ui/tvbrowseview.h \
@@ -18,4 +19,5 @@ HEADERS = tableviewer.h \
SOURCES = main.cpp \
tableviewer.cpp \
+ xmlencodeattr.cpp \
ui/commonwidgets.cpp \
ui/tvbrowseview.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
@@ -24,4 +24,5 @@
#include <qtextbrowser.h>
#include <qlayout.h>
+#include "../xmlencodeattr.h"
/*!
@@ -103,10 +104,10 @@ void TVBrowseView::setDisplayText(const DataElem *element)
if(it.currentKey() == ts->current_column) {
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>";
}
++it;
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
@@ -12,6 +12,5 @@ HEADERS = d3des.h \
kvnc.h \
kvncconndlg.h \
- kvncbookmarkdlg.h \
- version.h \
+ kvncbookmarkdlg.h \
vncauth.h
SOURCES = d3des.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
@@ -6,6 +6,6 @@ Maintainer: Martin Imobersteg <imm@gmx.ch>
Architecture: arm
Arch: iPAQ
-Version: $QPE_VERSION-$SUB_VERSION
Depends: task-opie-minimal
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
@@ -5,6 +5,6 @@ Section: opie/comm
Maintainer: Bruno Rodrigues <bruno.rodrigues@litux.org>
Architecture: arm
-Version: $QPE_VERSION-$SUB_VERSION
Depends: task-opie-minimal
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
@@ -5,6 +5,6 @@ Section: opie/decorations
Maintainer: Robert Griebl <sandman@handhelds.org>
Architecture: arm
-Version: $QPE_VERSION-$SUB_VERSION.1
Depends: task-opie-minimal
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
@@ -5,6 +5,6 @@ Section: opie/decorations
Maintainer: Robert Griebl <sandman@handhelds.org>
Architecture: arm
-Version: $QPE_VERSION-$SUB_VERSION.1
Depends: task-opie-minimal
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
@@ -5,6 +5,6 @@ Section: opie/decorations
Maintainer: Robert Griebl <sandman@handhelds.org>
Architecture: arm
-Version: $QPE_VERSION-$SUB_VERSION.1
Depends: task-opie-minimal
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
@@ -5,6 +5,6 @@ Section: opie/games
Maintainer: Ralf Waspe <rwaspe@web.de>
Architecture: arm
-Version: $QPE_VERSION-$SUB_VERSION
Depends: task-opie-minimal
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
@@ -136,6 +136,4 @@ BackGammon::BackGammon(QWidget* parent, const char* name, WFlags fl)
QBoxLayout* layout=new QBoxLayout(mainarea,QBoxLayout::TopToBottom);
area=new QCanvas(235,235);
- QColor bgColor=palette().color(QPalette::Normal,QColorGroup::Background);
- area->setBackgroundColor(bgColor);
boardview=new BackGammonView(area,mainarea);
boardview->setMaximumHeight(240);
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
@@ -19,4 +19,5 @@ class BackGammon : public QMainWindow
Q_OBJECT
private:
+ //GUI
//the "status" bar
QLabel* message;
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
@@ -114,6 +114,6 @@ void KJezzball::newGame()
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"
"\n"
@@ -123,5 +123,5 @@ void KJezzball::about()
"\n"
"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
@@ -1,4 +1,4 @@
/*
- * Copyright (C) 2002 Martin Imobersteg <imm@gmx.ch>
+ * Copyright (C) 2002 Martin Imobersteg <imm@gmx.ch>
*
* This program is free software; you can redistribute it and/or
@@ -103,5 +103,5 @@ void BuzzWord::drawGrid()
grid = new QGrid(gridVal, this);
- grid->setFixedSize(240,240);
+// grid->setFixedSize( 480, 480 );
for( int c = 0 ; c < gridVal ; c++ )
@@ -110,5 +110,5 @@ void BuzzWord::drawGrid()
{
uint pos = rand() % l. count();
-
+
QString word = QStringList::split(" ", l[pos]).join("\n");
BuzzItem* bi = new BuzzItem( c, r, word, grid );
@@ -129,5 +129,5 @@ void BuzzWord::clicked(int row, int column)
map[column][row] = 1;
-
+
for( int c = 0 ; c < gridVal ; c++ )
{
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
@@ -6,6 +6,6 @@ Maintainer: Martin Imobersteg <imm@gmx.ch>
Architecture: arm
Arch: iPAQ
-Version: $QPE_VERSION-$SUB_VERSION
Depends: task-opie-minimal
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
@@ -5,6 +5,6 @@ Section: opie/games
Maintainer: Warwick Allison <warwick@trolltech.com>
Architecture: arm
-Version: $QPE_VERSION-$SUB_VERSION
Depends: task-opie-minimal
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
@@ -35,5 +35,5 @@ Kpacman::Kpacman(QWidget *parent, const char *name)
m_layout->addWidget( view, 0, 0 );
- setCaption( "KPacman" );
+ setCaption( tr("KPacman") );
view->referee->setFocus();
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
@@ -5,6 +5,6 @@ Section: opie/games
Maintainer: Martin Imobersteg <imm@gmx.ch>
Architecture: arm
-Version: $QPE_VERSION-$SUB_VERSION
Depends: task-opie-minimal
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
@@ -5,6 +5,6 @@ Section: opie/games
Maintainer: Martin Imobersteg <imm@gmx.ch>
Architecture: arm
-Version: $QPE_VERSION-$SUB_VERSION
Depends: task-opie-minimal
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
@@ -5,6 +5,6 @@ Section: opie/games
Maintainer: Martin Imobersteg <imm@gmx.ch>
Architecture: arm
-Version: $QPE_VERSION-$SUB_VERSION
Depends: task-opie-minimal
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
@@ -5,6 +5,6 @@ Section: opie/games
Maintainer: Martin Jones <mjones@trolltech.com>
Architecture: arm
-Version: $QPE_VERSION-$SUB_VERSION
Depends: task-opie-minimal
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
@@ -3,5 +3,4 @@ Package: sfcave-sdl
Priority: optional
Section: Games
-Version: $QPE_VERSION-$SUB_VERSION
Architecture: arm
Maintainer: Andy Qua (andy.qua@blueyonder.co.uk)
@@ -9,2 +8,3 @@ Depends: libSDL,libSDL_-mixer,libSDL-image,libSDL-gfx
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
@@ -5,5 +5,5 @@ Section: opie/games
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
@@ -101,5 +101,5 @@ void SnakeGame::welcomescreen()
instr->setColor(white);
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();
cont->move(canvas.width()/2-w/2, canvas.height()-20);
@@ -197,5 +197,5 @@ void SnakeGame::wait()
waitover = true;
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);
cont->setZ(100);
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
@@ -5,6 +5,6 @@ Section: opie/games
Maintainer: Martin Imobersteg <imm@gmx.ch>
Architecture: arm
-Version: $QPE_VERSION-$SUB_VERSION
Depends: task-opie-minimal
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
@@ -71,6 +71,6 @@ 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);
menu->insertItem(tr("&Settings"),settings);
@@ -97,9 +97,9 @@ CanvasCardWindow::CanvasCardWindow(QWidget* parent, const char* name, WFlags f)
settings = new QPopupMenu;
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);
settings->setCheckable(TRUE);
@@ -284,7 +284,7 @@ void CanvasCardWindow::drawnToggle()
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
@@ -5,6 +5,6 @@ Section: opie/games
Maintainer: Martin Imobersteg <imm@gmx.ch>
Architecture: arm
-Version: $QPE_VERSION-$SUB_VERSION
Depends: task-opie-minimal
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
@@ -6,6 +6,6 @@ Maintainer: Martin Imobersteg <imm@gmx.ch>
Architecture: arm
Arch: iPAQ
-Version: $QPE_VERSION-$SUB_VERSION
Depends: task-opie-minimal
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
@@ -26,5 +26,5 @@ int main( int argc, char **argv )
TicTacToe ttt( n ); // create game
a.setMainWidget( &ttt );
- ttt.setCaption("TicTac");
+ ttt.setCaption( QObject::tr("TicTac") );
ttt.show(); // show widget
return a.exec(); // go
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
@@ -5,5 +5,5 @@ Section: opie/games
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
@@ -5,7 +5,7 @@ Section: opie/games
Maintainer: Martin Imobersteg <imm@gmx.ch>
Architecture: arm
-Version: $QPE_VERSION-$SUB_VERSION
Depends: task-opie-minimal
Description: Crossword game
A crossword game for the Opie environment.
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
@@ -291,5 +291,5 @@ bool WordGame::loadRules(const QString &name)
QString title = name;
title.truncate( title.length() - 6 );
- setCaption( title );
+ //setCaption( title );
QString shapepixmap;
@@ -315,5 +315,5 @@ 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());
QPixmap bgshapes;
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
@@ -279,4 +279,9 @@ DrawPad::DrawPad(QWidget* parent, const char* name)
changeBrushColor(Qt::white);
+}
+
+
+void DrawPad::finishStartup()
+{
// init pages
@@ -291,4 +296,5 @@ 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
@@ -41,4 +41,5 @@ public:
bool antiAliasing();
+ void finishStartup();
private slots:
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
@@ -183,5 +183,7 @@ 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);
}
@@ -195,5 +197,9 @@ void DrawPadCanvas::load(QIODevice* ioDevice)
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);
@@ -350,5 +356,8 @@ void DrawPadCanvas::deleteAll()
m_pages.clear();
- 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);
@@ -383,5 +392,8 @@ 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
@@ -14,5 +14,5 @@
#include "exportdialog.h"
-#include <qpe/fileselector.h>
+#include <opie/ofileselector.h>
#include <qbuttongroup.h>
@@ -67,7 +67,10 @@ ExportDialog::ExportDialog(uint pageAt, uint pageCount, QWidget* parent, const c
m_pFormatComboBox->insertStrList(QImageIO::outputFormats());
- 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 );
QVBoxLayout* mainLayout = new QVBoxLayout(this, 4, 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
@@ -15,5 +15,5 @@
#include <qpe/applnk.h>
-#include <qpe/fileselector.h>
+#include <opie/ofileselector.h>
#include <qcheckbox.h>
@@ -28,8 +28,12 @@ ImportDialog::ImportDialog(QWidget* parent, const char* name)
setCaption(tr("DrawPad - Import"));
- 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);
m_pPreviewLabel = new QLabel(this);
@@ -69,5 +73,5 @@ const DocLnk* ImportDialog::selected()
{
// FIXME change from pointer to reference -zecke
- DocLnk *lnk = new DocLnk( m_pFileSelector->selectedDocument() );
+ DocLnk *lnk = new DocLnk( m_pFileSelector->selectedDocument() );
return lnk;
}
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
@@ -18,5 +18,5 @@
class DocLnk;
-class FileSelector;
+class OFileSelector;
class QCheckBox;
@@ -38,5 +38,5 @@ private slots:
private:
- FileSelector* m_pFileSelector;
+ OFileSelector* m_pFileSelector;
QLabel* m_pPreviewLabel;
QCheckBox* m_pAutomaticPreviewCheckBox;
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
@@ -22,5 +22,5 @@ int main(int argc, char **argv)
DrawPad mw; // = new DrawPad();;
a.showMainWidget(&mw );
-
+ mw.finishStartup();
return a.exec();
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
@@ -5,5 +5,4 @@ Section: opie/applications
Maintainer: Sébastien Prud'homme <prudhomme@laposte.net>
Architecture: arm
-Version: $QPE_VERSION-$SUB_VERSION
Depends: task-opie-minimal, libopie1
Description: A note taking program with basic draw tools
@@ -11,2 +10,3 @@ Description: A note taking program with basic draw tools
be used to draw simple images. DrawPad was developed for the Opie
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
@@ -23,4 +23,5 @@ class QLineEdit;
class TextToolDialog : public QDialog
{
+ Q_OBJECT
public:
TextToolDialog(QWidget* parent = 0, const char* name = 0);
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
@@ -4,5 +4,5 @@ Priority: optional
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
@@ -5,5 +5,5 @@ Section: opie/playerskins
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
@@ -5,5 +5,5 @@ Section: opie/playerskins
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
@@ -4,5 +4,5 @@ Priority: optional
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
@@ -32,18 +32,4 @@
*/
-#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>
#include "audiowidget.h"
@@ -191,5 +177,5 @@ void AudioWidget::loadSkin()
time.setFocusPolicy( QWidget::NoFocus );
time.setAlignment( Qt::AlignCenter );
-
+
// time.setFrame(FALSE);
// changeTextColor( &time );
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
@@ -35,12 +35,5 @@
#define AUDIO_WIDGET_H
-#include <qpainter.h>
-#include <qdrawutil.h>
-#include <qpixmap.h>
-#include <qstring.h>
-#include <qslider.h>
-#include <qframe.h>
#include <qlineedit.h>
-#include <qimage.h>
#include <opie/oticker.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
@@ -32,11 +32,7 @@
*/
-#include <stdio.h>
-#include <stdlib.h>
-#include <qimage.h>
+
#include <qtextstream.h>
-#include <qpe/resource.h>
-#include <qfile.h>
#include <qdir.h>
@@ -73,5 +69,5 @@ extern "C" {
using namespace XINE;
-Lib::Lib( InitializationMode initMode, XineVideoWidget* widget )
+Lib::Lib( InitializationMode initMode, XineVideoWidget* widget )
{
m_initialized = false;
@@ -89,4 +85,14 @@ Lib::Lib( InitializationMode initMode, XineVideoWidget* widget )
QTextStream ts( &f );
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();
}
@@ -140,5 +146,5 @@ void Lib::initialize()
xine_event_create_listener_thread (m_queue, xine_event_handler, this);
- ::null_preload_decoders( m_stream );
+ ::null_preload_decoders( m_stream );
m_duringInitialization = false;
@@ -192,6 +198,14 @@ int Lib::subVersion() {
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() ) ) {
return 0;
@@ -244,5 +258,9 @@ int Lib::currentTime() const {
int pos, time, length;
xine_get_pos_length( m_stream, &pos, &time, &length );
- return time/1000;
+ if ( time > 0 ) {
+ return time/1000;
+ } else {
+ return 0;
+ }
}
@@ -251,6 +269,23 @@ int Lib::length() const {
int pos, time, length;
- xine_get_pos_length( m_stream, &pos, &time, &length );
- return length/1000;
+/* 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;
}
@@ -367,7 +402,5 @@ void Lib::setGamma( int value ) {
assert( m_initialized );
- //qDebug( QString( "%1").arg(value) );
- /* int gammaValue = ( 100 + value ); */
- ::null_set_videoGamma( m_videoOutput, 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
@@ -35,10 +35,5 @@
#define ZECKEXINELIB_H
-#include <qcstring.h>
-#include <qstring.h>
-#include <qobject.h>
-
#include <xine.h>
-//#include "xine.h"
#include "threadutil.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,14 +1,7 @@
#include <qpe/qpeapplication.h>
-#include <qpe/qlibrary.h>
-#include <qpe/resource.h>
#include <qpe/config.h>
#include <qpe/qcopenvelope_qws.h>
#include <qfileinfo.h>
-#include <qmainwindow.h>
-#include <qmessagebox.h>
-#include <qwidgetstack.h>
-#include <qfile.h>
-
#include "mediaplayer.h"
#include "playlistwidget.h"
@@ -20,5 +13,5 @@
#include "mediaplayerstate.h"
-// for setBacklight()
+ // for setBacklight()
#include <linux/fb.h>
#include <sys/file.h>
@@ -26,6 +19,4 @@
-
-
#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
@@ -35,7 +35,4 @@
#define MEDIA_PLAYER_H
-#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
@@ -21,4 +21,6 @@
*/
+#include <assert.h>
+
#include "mediawidget.h"
#include "playlistwidget.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
@@ -75,13 +75,7 @@ void Om3u::readM3u() {
// qDebug(s);
} else { // is url
- s.replace( QRegExp( "%20" )," " );
QString name;
-// if( name.left( 4 ) == "http" ) {
-// name = s.right( s.length() - 7 );
-// } else {
- name = s;
-// }
+ name = s;
append(name);
-// qDebug(name);
}
}
@@ -148,5 +142,5 @@ void Om3u::remove(const QString &filePath) { //removes from m3u list
currentFile=*it;
// qDebug(*it);
-
+
if( filePath != currentFile)
list += currentFile+"\n";
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
@@ -5,7 +5,7 @@ Section: opie/applications
Maintainer: L.J.Potter <ljp@llornkcor.com>, Maximilian Reiss <harlekin@handhelds.org>
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
The mediaplayer for Opie. It plays mp3, mpeg, wav, ogg, quicktime, divx and
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
@@ -12,5 +12,5 @@ SOURCES = main.cpp \
frame.cpp lib.cpp nullvideo.c xinevideowidget.cpp volumecontrol.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 \
skin.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
@@ -32,19 +32,9 @@
*/
-#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>
#include <opie/ofiledialog.h>
-#include <qdatetime.h>
-#include <qdir.h>
#include <qmessagebox.h>
-#include <qregexp.h>
-#include <qtextstream.h>
#include "playlistselection.h"
@@ -56,5 +46,4 @@
//only needed for the random play
-#include <stdlib.h>
#include <assert.h>
@@ -668,4 +657,5 @@ void PlayListWidget::openFile() {
audio << "audio/*";
audio << "playlist/plain";
+ audio << "application/ogg";
audio << "audio/x-mpegurl";
@@ -680,16 +670,17 @@ void PlayListWidget::openFile() {
QString str = OFileDialog::getOpenFileName( 1,
- cfg.readEntry("LastDirectory",QPEApplication::documentDir()),"",
- types, 0 );
- if(str.left(2) == "//") str=str.right(str.length()-1);
- cfg.writeEntry("LastDirectory" ,QFileInfo(str).dirPath());
+ cfg.readEntry("LastDirectory",QPEApplication::documentDir()),"",
+ types, 0 );
+ if(str.left(2) == "//") {
+ str=str.right(str.length()-1);
+ }
+ cfg.writeEntry( "LastDirectory" ,QFileInfo( str ).dirPath() );
if( !str.isEmpty() ) {
+
qDebug( "Selected filename is " + str );
filename = str;
DocLnk lnk;
- Config cfg( "OpiePlayer" );
- cfg.setGroup("PlayList");
if( filename.right( 3) == "m3u" || filename.right(3) == "pls" ) {
@@ -698,7 +689,7 @@ void PlayListWidget::openFile() {
lnk.setName( QFileInfo(filename).baseName() ); //sets name
lnk.setFile( filename ); //sets file name
- d->selectedFiles->addToSelection( lnk);
+ d->selectedFiles->addToSelection( lnk );
writeCurrentM3u();
- d->selectedFiles->setSelectedItem( lnk.name());
+ d->selectedFiles->setSelectedItem( lnk.name() );
}
}
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
@@ -35,8 +35,5 @@
#define PLAY_LIST_WIDGET_H
-#include <qmainwindow.h>
-#include <qpe/applnk.h>
-#include <qtabwidget.h>
-#include <qpe/fileselector.h>
+
#include <qpushbutton.h>
#include <qpopupmenu.h>
@@ -45,6 +42,4 @@
#include "playlistwidgetgui.h"
-
-//class PlayListWidgetPrivate;
class Config;
class QListViewItem;
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
@@ -32,19 +32,10 @@
*/
-#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>
#include "playlistselection.h"
@@ -54,7 +45,4 @@
#include "playlistfileview.h"
-//only needed for the random play
-#include <stdlib.h>
-
#include "mediaplayerstate.h"
@@ -69,12 +57,12 @@ PlayListWidgetGui::PlayListWidgetGui( MediaPlayerState &_mediaPlayerState, QWidg
// Create Toolbar
- QPEToolBar *toolbar = new QPEToolBar( this );
+ QToolBar *toolbar = new QToolBar( this );
toolbar->setHorizontalStretchable( TRUE );
// 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" ) );
@@ -149,5 +137,5 @@ PlayListWidgetGui::PlayListWidgetGui( MediaPlayerState &_mediaPlayerState, QWidg
Alayout->setMargin( 2 );
// 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 );
tabWidget->insertTab( aTab, tr( "Audio" ) );
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
@@ -36,13 +36,10 @@
#include <qmainwindow.h>
-#include <qpe/applnk.h>
#include <qpe/resource.h>
-#include <qpe/qpemenubar.h>
#include <qtabwidget.h>
#include <qpe/fileselector.h>
-#include <qpushbutton.h>
-#include <qpopupmenu.h>
#include <qaction.h>
+#include <qtoolbutton.h>
#include <qslider.h>
#include <qlcdnumber.h>
@@ -54,5 +51,5 @@ class PlayListFileView;
class Config;
-class QPEToolBar;
+class QToolBar;
class QListViewItem;
class QListView;
@@ -81,5 +78,4 @@ public:
setToggleButton( t );
connect( this, t ? SIGNAL( toggled(bool) ) : SIGNAL( clicked() ), handler, slot );
- QPEMenuToolFocusManager::manager()->addWidget( this );
}
};
@@ -122,5 +118,5 @@ protected:
QVBox *vbox1;
QVBox *vbox5;
- QPEToolBar *bar;
+ QToolBar *bar;
QWidget *playListTab;
void setActiveWindow(); // need to handle this to show the right view
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
@@ -32,14 +32,4 @@
*/
-#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"
#include "mediaplayerstate.h"
@@ -75,5 +65,5 @@ const uint buttonCount = sizeof( skinInfo ) / sizeof( skinInfo[ 0 ] );
}
-VideoWidget::VideoWidget( PlayListWidget &playList, MediaPlayerState &mediaPlayerState, QWidget* parent, const char* name )
+VideoWidget::VideoWidget( PlayListWidget &playList, MediaPlayerState &mediaPlayerState, QWidget* parent, const char* name )
: MediaWidget( playList, mediaPlayerState, parent, name ), scaledWidth( 0 ), scaledHeight( 0 ), videoSliderBeingMoved( false )
{
@@ -96,5 +86,5 @@ VideoWidget::VideoWidget( PlayListWidget &playList, MediaPlayerState &mediaPlaye
-VideoWidget::~VideoWidget()
+VideoWidget::~VideoWidget()
{
}
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
@@ -35,9 +35,5 @@
#define VIDEO_WIDGET_H
-#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
@@ -37,10 +37,11 @@
#include <qpe/qcopenvelope_qws.h>
#include <qpe/qpeapplication.h>
+
#include "xinecontrol.h"
#include "mediaplayerstate.h"
#include "xinevideowidget.h"
-XineControl::XineControl( XineVideoWidget *xineWidget,
- MediaPlayerState &_mediaPlayerState,
+XineControl::XineControl( XineVideoWidget *xineWidget,
+ MediaPlayerState &_mediaPlayerState,
QObject *parent, const char *name )
: QObject( parent, name ), mediaPlayerState( _mediaPlayerState ), xineVideoWidget( xineWidget )
@@ -51,6 +52,6 @@ XineControl::XineControl( XineVideoWidget *xineWidget,
}
-XineControl::XineControl( XINE::Lib *xine, XineVideoWidget *xineWidget,
- MediaPlayerState &_mediaPlayerState,
+XineControl::XineControl( XINE::Lib *xine, XineVideoWidget *xineWidget,
+ MediaPlayerState &_mediaPlayerState,
QObject *parent, const char *name )
: QObject( parent, name ), libXine( xine ), mediaPlayerState( _mediaPlayerState ), xineVideoWidget( xineWidget )
@@ -89,4 +90,5 @@ XineControl::~XineControl() {
void XineControl::play( const QString& fileName ) {
+
hasVideoChannel = FALSE;
hasAudioChannel = FALSE;
@@ -104,5 +106,4 @@ void XineControl::play( const QString& fileName ) {
MediaPlayerState::DisplayType displayType;
- // qDebug( QString( "libXine->hasVideo() return : %1 ").arg( libXine->hasVideo() ) );
if ( !libXine->hasVideo() ) {
displayType = MediaPlayerState::Audio;
@@ -198,5 +199,4 @@ long XineControl::position() {
QTimer::singleShot( 1000, this, SLOT( 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
@@ -36,5 +36,4 @@
#include "lib.h"
-#include <qobject.h>
#include "mediaplayerstate.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,3 +1,3 @@
-Package: opie-rec
+Package: opierec
Files: bin/opierec pics/opierec apps/Applications/opierec.desktop
Priority: optional
@@ -5,6 +5,6 @@ Section: multimedia/applications
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
@@ -450,5 +450,5 @@ void QtRec::init() {
playLabel2 = new QLabel(tab, "PlayLabel2" );
- playLabel2->setText("Play");
+ playLabel2->setText(tr("Play") );
playLabel2->setFixedHeight(18);
layout1->addMultiCellWidget( playLabel2, 0, 0, 4, 4);
@@ -471,5 +471,5 @@ void QtRec::init() {
QLabel *recLabel2;
recLabel2 = new QLabel( tab, "recLabel2" );
- recLabel2->setText("Rec");
+ recLabel2->setText(tr("Rec"));
recLabel2->setFixedHeight(18);
layout1->addMultiCellWidget( recLabel2, 0, 0, 7, 7);
@@ -501,7 +501,7 @@ void QtRec::init() {
ListView1->addColumn( tr( "Time" ) ); //in seconds
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);
@@ -595,8 +595,8 @@ void QtRec::init() {
Layout18->addWidget( bitGroup );
- 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 );
@@ -645,8 +645,8 @@ void QtRec::init() {
Layout15b->addWidget( OutputSlider );
- 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 );
Layout15b->addWidget( inMuteCheckBox );
@@ -692,8 +692,8 @@ void QtRec::init() {
Layout15b->addWidget( OutputSlider );
- 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 );
Layout15b->addWidget( inMuteCheckBox );
@@ -876,9 +876,9 @@ void QtRec::doPlayBtn() {
if(!stopped) {
- playLabel2->setText("Play");
+ playLabel2->setText(tr("Play"));
stop();
} else {
if(ListView1->currentItem() == 0) return;
- playLabel2->setText("Stop");
+ playLabel2->setText(tr("Stop"));
currentFile = ListView1->currentItem()->text(0);
start();
@@ -911,5 +911,5 @@ bool QtRec::rec() { //record
qDebug("go ahead and record");
secCount=1;
- playLabel2->setText("Stop");
+ playLabel2->setText(tr("Stop"));
monitoring=false;
setRecordButton(true);
@@ -2160,5 +2160,5 @@ void QtRec::setRecordButton(bool b) {
if(Stop_PushButton->isDown())
Stop_PushButton->setDown(true);
- playLabel2->setText("Stop");
+ playLabel2->setText(tr("Stop") );
} else { //about to stop
@@ -2168,5 +2168,5 @@ void QtRec::setRecordButton(bool b) {
if(Stop_PushButton->isDown())
Stop_PushButton->setDown(false);
- playLabel2->setText("Play");
+ playLabel2->setText(tr("Play") );
if(Rec_PushButton->isDown())
Rec_PushButton->setDown( false);
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
@@ -5,7 +5,7 @@ Section: opie/applications
Maintainer: Warwick Allison <warwick@trolltech.com>
Architecture: arm
-Version: $QPE_VERSION-$SUB_VERSION
Depends: task-opie-minimal
Description: Image Viewer
The image viewer for the Opie environment. Supports
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
@@ -5,6 +5,6 @@ Section: Communications
Maintainer: L.J. Potter <ljp@llornkcor.com>
Architecture: arm
-Version: $QPE_VERSION-$SUB_VERSION
Depends: task-opie-minimal
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
@@ -5,5 +5,5 @@ Section: opie
Maintainer: L.J. Potter <llornkcor@handhelds.org>
Architecture: arm
-Version: $OPIE_VERSION-$SUB_VERSION
+Version: $QPE_VERSION$EXTRAVERSION
Description: EMail
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
@@ -5,7 +5,7 @@ Section: Communications
Maintainer: L.J. Potter <ljp@llornkcor.com>
Architecture: arm
-Version: $QPE_VERSION-$SUB_VERSION
Depends: task-opie-minimal, ftplib
Replaces: opieftp
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
@@ -5,5 +5,5 @@ Section: Communications
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
@@ -5,6 +5,6 @@ Section: opie/system
Maintainer: Maximilian Reiss <max.reiss@gmx.de>
Architecture: arm
-Version: $QPE_VERSION-$SUB_VERSION.1
Depends: task-opie-minimal, libopietooth1
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
@@ -5,6 +5,6 @@ Section: opie/system
Maintainer: Maximilian Reiß <max.reiss@gmx.de>
Architecture: arm
-Version: $QPE_VERSION-$SUB_VERSION
Replaces: libopietooth
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
@@ -8,5 +8,5 @@ SOURCES = main.cpp gsmtool.cpp
TMAKE_CXXFLAGS += -fexceptions
INCLUDEPATH += $(OPIEDIR)/include
-INCLUDEPATH += $(GSMLIBDIR)
+#INCLUDEPATH += $(GSMLIBDIR)
DEPENDPATH += $(OPIEDIR)/include
LIBS += -lqpe -L$(GSMLIBDIR)/gsmlib/.libs -lgsmme
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
@@ -25,4 +25,5 @@ AddressPicker::AddressPicker(QWidget *parent, const char *name, bool modal,
if (f.open(IO_ReadOnly)) {
QTextStream stream(&f);
+ stream.setEncoding( QTextStream::UnicodeUTF8 );
QString content;
while (!f.atEnd()) content += stream.readLine() + "\n";
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
@@ -5,6 +5,6 @@ Section: opie/applications
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
License: 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
@@ -5,5 +5,5 @@ Section: opie/applications
Maintainer: Constantin Bergemann <cbergemann@lisa.de>
Architecture: arm
-Version: 0.0.9-$SUB_VERSION
+Version: $QPE_VERSION$EXTRAVERSION
Depends: task-opie-minimal, libopie1
Description: An IMAP mail client
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
@@ -5,5 +5,5 @@ Section: opie
Maintainer: L.J. Potter <llornkcor@handhelds.org>
Architecture: arm
-Version: $OPIE_VERSION-$SUB_VERSION
+Version: $QPE_VERSION$EXTRAVERSION
Description: EMail
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
@@ -87,5 +87,5 @@ static QOutFontSubst qStdFonts [] = {
{ "Symbol", 0, false, false, QFont::AnyStyle },
{ "Zapf-Dingbats", 0, false, false, QFont::AnyStyle },
-
+
{ 0, 0, false, false, QFont::AnyStyle }
};
@@ -97,13 +97,13 @@ static QOutFontSubst qStdFonts [] = {
-QFont QOutputDev::matchFont ( GfxFont *gfxFont, fp_t m11, fp_t m12, fp_t m21, fp_t m22 )
+QFont QOutputDev::matchFont ( GfxFont *gfxFont, fp_t m11, fp_t m12, fp_t m21, fp_t m22 )
{
static QDict<QOutFontSubst> stdfonts;
-
- // build dict for std. fonts on first invocation
+
+ // build dict for std. fonts on first invocation
if ( stdfonts. isEmpty ( )) {
for ( QOutFontSubst *ptr = qStdFonts; ptr-> m_name; ptr++ ) {
stdfonts. insert ( QString ( ptr-> m_name ), ptr );
- }
+ }
}
@@ -120,6 +120,6 @@ QFont QOutputDev::matchFont ( GfxFont *gfxFont, fp_t m11, fp_t m12, fp_t m21, fp
gfxFont-> isSymbolic ( ),
gfxFont-> isCIDFont ( ),
- ( gfxFont-> getEmbeddedFontName ( ) ? gfxFont-> getEmbeddedFontName ( ) : "<n/a>" ),
- (double) m11, (double) m12, (double) m21, (double) m22 ));
+ ( gfxFont-> getEmbeddedFontName ( ) ? gfxFont-> getEmbeddedFontName()-> getCString ( ) : "<n/a>" ),
+ (double) m11, (double) m12, (double) m21, (double) m22 ) );
@@ -131,9 +131,9 @@ QFont QOutputDev::matchFont ( GfxFont *gfxFont, fp_t m11, fp_t m12, fp_t m21, fp
// fast lookup for std. fonts
QOutFontSubst *subst = stdfonts [fname];
-
+
if ( subst ) {
if ( subst-> m_sname )
f. setFamily ( subst-> m_sname );
- f. setStyleHint ( subst-> m_hint, (QFont::StyleStrategy) ( QFont::PreferOutline | QFont::PreferQuality ));
+ f. setStyleHint ( subst-> m_hint, (QFont::StyleStrategy) ( QFont::PreferOutline | QFont::PreferQuality ));
f. setBold ( subst-> m_bold );
f. setItalic ( subst-> m_italic );
@@ -141,5 +141,5 @@ QFont QOutputDev::matchFont ( GfxFont *gfxFont, fp_t m11, fp_t m12, fp_t m21, fp
else {
QFont::StyleHint sty;
-
+
if ( gfxFont-> isSerif ( ))
sty = QFont::Serif;
@@ -148,13 +148,13 @@ QFont QOutputDev::matchFont ( GfxFont *gfxFont, fp_t m11, fp_t m12, fp_t m21, fp
else
sty = QFont::Helvetica;
-
- f. setStyleHint ( sty, (QFont::StyleStrategy) ( QFont::PreferOutline | QFont::PreferQuality ));
+
+ f. setStyleHint ( sty, (QFont::StyleStrategy) ( QFont::PreferOutline | QFont::PreferQuality ));
f. setBold ( gfxFont-> isBold ( ) > 0 );
f. setItalic ( gfxFont-> isItalic ( ) > 0 );
f. setFixedPitch ( gfxFont-> isFixedWidth ( ) > 0 );
-
- // common specifiers in font names
+
+ // common specifiers in font names
if ( fname. contains ( "Oblique" ) || fname. contains ( "Italic" ))
- f. setItalic ( true );
+ f. setItalic ( true );
if ( fname. contains ( "Bold" ))
f. setWeight ( QFont::Bold );
@@ -165,9 +165,9 @@ QFont QOutputDev::matchFont ( GfxFont *gfxFont, fp_t m11, fp_t m12, fp_t m21, fp
if ( fname. contains ( "Black" ))
f. setWeight ( QFont::Black );
- }
+ }
// Treat x-sheared fonts as italic
if (( m12 > -0.1 ) && ( m12 < 0.1 ) && ((( m21 > -5.0 ) && ( m21 < -0.1 )) || (( m21 > 0.1 ) && ( m21 < 5.0 )))) {
- f. setItalic ( true );
- }
+ f. setItalic ( true );
+ }
return f;
}
@@ -183,10 +183,10 @@ QOutputDev::QOutputDev ( QWidget *parent, const char *name, int flags ) : QScrol
m_pixmap = 0;
m_painter = 0;
-
+
// create text object
m_text = new TextPage ( gFalse );
}
-QOutputDev::~QOutputDev ( )
+QOutputDev::~QOutputDev ( )
{
delete m_painter;
@@ -196,44 +196,51 @@ QOutputDev::~QOutputDev ( )
-void QOutputDev::startPage ( int /*pageNum*/, GfxState *state )
+void QOutputDev::startPage ( int /*pageNum*/, GfxState *state )
{
delete m_pixmap;
delete m_painter;
-
+
m_pixmap = new QPixmap ( lrint ( state-> getPageWidth ( )), lrint ( state-> getPageHeight ( )));
m_painter = new QPainter ( m_pixmap );
QPDFDBG( printf ( "NEW PIXMAP (%ld x %ld)\n", lrint ( state-> getPageWidth ( )), lrint ( state-> getPageHeight ( ))));
-
+
resizeContents ( m_pixmap-> width ( ), m_pixmap-> height ( ));
setContentsPos ( 0, 0 );
m_pixmap-> fill ( white ); // clear window
- m_text-> clear ( ); // cleat text object
- viewport ( )-> repaint ( );
+ m_text-> clear ( ); // cleat text object
+ viewport ( )-> repaint ( );
}
-void QOutputDev::endPage ( )
+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
+
updateContents ( 0, 0, contentsWidth ( ), contentsHeight ( ));
}
-void QOutputDev::drawLink ( Link *link, Catalog */*catalog*/ )
+void QOutputDev::drawLink ( Link *link, Catalog */*catalog*/ )
{
fp_t x1, y1, x2, y2, w;
link-> getBorder ( &x1, &y1, &x2, &y2, &w );
-
+
if ( w > 0 ) {
int x, y, dx, dy;
-
+
cvtUserToDev ( x1, y1, &x, &y );
cvtUserToDev ( x2, y2, &dx, &dy );
-
+
QPen oldpen = m_painter-> pen ( );
m_painter-> setPen ( blue );
@@ -243,15 +250,21 @@ void QOutputDev::drawLink ( Link *link, Catalog */*catalog*/ )
}
-void QOutputDev::saveState ( GfxState */*state*/ )
+void QOutputDev::saveState ( GfxState */*state*/ )
{
+ if ( ! m_painter )
+ return;
+
QPDFDBG( printf ( "SAVE (CLIP=%d/%d)\n", m_painter-> hasClipping ( ), !m_painter-> clipRegion ( ). isEmpty ( )));
- m_painter-> save ( );
+ m_painter-> save ( );
}
-void QOutputDev::restoreState ( GfxState */*state*/ )
+void QOutputDev::restoreState ( GfxState */*state*/ )
{
+ if( ! m_painter )
+ return;
+
m_painter-> restore ( );
-
+
// m_painter-> setClipRegion ( QRect ( 0, 0, m_pixmap-> width ( ), m_pixmap-> height ( )));
// m_painter-> setClipping ( false );
@@ -259,5 +272,5 @@ void QOutputDev::restoreState ( GfxState */*state*/ )
}
-void QOutputDev::updateAll ( GfxState *state )
+void QOutputDev::updateAll ( GfxState *state )
{
updateLineAttrs ( state, gTrue );
@@ -269,15 +282,15 @@ void QOutputDev::updateAll ( GfxState *state )
}
-void QOutputDev::updateCTM ( GfxState *state, fp_t /*m11*/, fp_t /*m12*/, fp_t /*m21*/, fp_t /*m22*/, fp_t /*m31*/, fp_t /*m32*/ )
+void QOutputDev::updateCTM ( GfxState *state, fp_t /*m11*/, fp_t /*m12*/, fp_t /*m21*/, fp_t /*m22*/, fp_t /*m31*/, fp_t /*m32*/ )
{
updateLineAttrs ( state, gTrue );
}
-void QOutputDev::updateLineDash ( GfxState *state )
+void QOutputDev::updateLineDash ( GfxState *state )
{
updateLineAttrs ( state, gTrue );
}
-void QOutputDev::updateFlatness ( GfxState */*state*/ )
+void QOutputDev::updateFlatness ( GfxState */*state*/ )
{
// not supported
@@ -285,10 +298,10 @@ void QOutputDev::updateFlatness ( GfxState */*state*/ )
}
-void QOutputDev::updateLineJoin ( GfxState *state )
+void QOutputDev::updateLineJoin ( GfxState *state )
{
updateLineAttrs ( state, gFalse );
}
-void QOutputDev::updateLineCap ( GfxState *state )
+void QOutputDev::updateLineCap ( GfxState *state )
{
updateLineAttrs ( state, gFalse );
@@ -296,15 +309,15 @@ void QOutputDev::updateLineCap ( GfxState *state )
// unimplemented
-void QOutputDev::updateMiterLimit ( GfxState */*state*/ )
+void QOutputDev::updateMiterLimit ( GfxState */*state*/ )
{
QPDFDBG( printf ( "updateMiterLimit not supported !\n" ));
}
-void QOutputDev::updateLineWidth ( GfxState *state )
+void QOutputDev::updateLineWidth ( GfxState *state )
{
updateLineAttrs ( state, gFalse );
}
-void QOutputDev::updateLineAttrs ( GfxState *state, GBool updateDash )
+void QOutputDev::updateLineAttrs ( GfxState *state, GBool updateDash )
{
fp_t *dashPattern;
@@ -317,5 +330,5 @@ void QOutputDev::updateLineAttrs ( GfxState *state, GBool updateDash )
width = lrint ( state-> getTransformedLineWidth ( ));
-
+
switch ( state-> getLineCap ( )) {
case 0: cap = FlatCap; break;
@@ -327,5 +340,5 @@ void QOutputDev::updateLineAttrs ( GfxState *state, GBool updateDash )
break;
}
-
+
switch (state->getLineJoin()) {
case 0: join = MiterJoin; break;
@@ -337,5 +350,5 @@ void QOutputDev::updateLineAttrs ( GfxState *state, GBool updateDash )
break;
}
-
+
state-> getLineDash ( &dashPattern, &dashLength, &dashStart );
@@ -350,5 +363,5 @@ void QOutputDev::updateLineAttrs ( GfxState *state, GBool updateDash )
if ( updateDash && ( dashLength > 0 )) {
// Not supported by QT
-/*
+/*
char dashList[20];
if (dashLength > 20)
@@ -364,5 +377,5 @@ void QOutputDev::updateLineAttrs ( GfxState *state, GBool updateDash )
}
-void QOutputDev::updateFillColor ( GfxState *state )
+void QOutputDev::updateFillColor ( GfxState *state )
{
GfxRGB rgb;
@@ -372,9 +385,9 @@ void QOutputDev::updateFillColor ( GfxState *state )
}
-void QOutputDev::updateStrokeColor ( GfxState *state )
+void QOutputDev::updateStrokeColor ( GfxState *state )
{
GfxRGB rgb;
state-> getStrokeRGB ( &rgb );
-
+
QPen pen = m_painter-> pen ( );
pen. setColor ( q_col ( rgb ));
@@ -382,23 +395,23 @@ void QOutputDev::updateStrokeColor ( GfxState *state )
}
-void QOutputDev::updateFont ( GfxState *state )
+void QOutputDev::updateFont ( GfxState *state )
{
fp_t m11, m12, m21, m22;
GfxFont *gfxFont = state-> getFont ( );
-
+
if ( !gfxFont )
return;
-
+
state-> getFontTransMat ( &m11, &m12, &m21, &m22 );
m11 *= state-> getHorizScaling ( );
m12 *= state-> getHorizScaling ( );
-
+
QFont font = matchFont ( gfxFont, m11, m12, m21, m22 );
-
+
m_painter-> setFont ( font );
m_text-> updateFont ( state );
}
-void QOutputDev::stroke ( GfxState *state )
+void QOutputDev::stroke ( GfxState *state )
{
QPointArray points;
@@ -409,10 +422,10 @@ void QOutputDev::stroke ( GfxState *state )
QPDFDBG( printf ( "DRAWING: %d POLYS\n", n ));
-
+
// draw each subpath
int j = 0;
for ( int i = 0; i < n; i++ ) {
int len = lengths [i];
-
+
if ( len >= 2 ) {
QPDFDBG( printf ( " - POLY %d: ", i ));
@@ -420,7 +433,7 @@ void QOutputDev::stroke ( GfxState *state )
QPDFDBG( printf ( "(%d/%d) ", points [j+ii]. x ( ), points [j+ii]. y ( )));
QPDFDBG( printf ( "\n" ));
-
+
m_painter-> drawPolyline ( points, j, len );
- }
+ }
j += len;
}
@@ -428,10 +441,10 @@ void QOutputDev::stroke ( GfxState *state )
}
-void QOutputDev::fill ( GfxState *state )
+void QOutputDev::fill ( GfxState *state )
{
doFill ( state, true );
}
-void QOutputDev::eoFill ( GfxState *state )
+void QOutputDev::eoFill ( GfxState *state )
{
doFill ( state, false );
@@ -447,5 +460,5 @@ void QOutputDev::eoFill ( GfxState *state )
// compatible with the compound polygon kludge (see convertPath()).
//
-void QOutputDev::doFill ( GfxState *state, bool winding )
+void QOutputDev::doFill ( GfxState *state, bool winding )
{
QPointArray points;
@@ -456,13 +469,13 @@ void QOutputDev::doFill ( GfxState *state, bool winding )
QPDFDBG( printf ( "FILLING: %d POLYS\n", n ));
-
+
QPen oldpen = m_painter-> pen ( );
m_painter-> setPen ( QPen ( NoPen ));
-
+
// draw each subpath
int j = 0;
for ( int i = 0; i < n; i++ ) {
int len = lengths [i];
-
+
if ( len >= 3 ) {
QPDFDBG( printf ( " - POLY %d: ", i ));
@@ -470,7 +483,7 @@ void QOutputDev::doFill ( GfxState *state, bool winding )
QPDFDBG( printf ( "(%d/%d) ", points [j+ii]. x ( ), points [j+ii]. y ( )));
QPDFDBG( printf ( "\n" ));
-
+
m_painter-> drawPolygon ( points, winding, j, len );
- }
+ }
j += len;
}
@@ -480,15 +493,15 @@ void QOutputDev::doFill ( GfxState *state, bool winding )
}
-void QOutputDev::clip ( GfxState *state )
+void QOutputDev::clip ( GfxState *state )
{
doClip ( state, true );
}
-void QOutputDev::eoClip ( GfxState *state )
+void QOutputDev::eoClip ( GfxState *state )
{
doClip ( state, false );
}
-void QOutputDev::doClip ( GfxState *state, bool winding )
+void QOutputDev::doClip ( GfxState *state, bool winding )
{
QPointArray points;
@@ -499,33 +512,33 @@ void QOutputDev::doClip ( GfxState *state, bool winding )
QRegion region;
-
+
QPDFDBG( printf ( "CLIPPING: %d POLYS\n", n ));
-
+
// draw each subpath
int j = 0;
for ( int i = 0; i < n; i++ ) {
int len = lengths [i];
-
- if ( len >= 3 ) {
+
+ if ( len >= 3 ) {
QPointArray dummy;
dummy. setRawData ( points. data ( ) + j, len );
-
+
QPDFDBG( printf ( " - POLY %d: ", i ));
QPDFDBG( for ( int ii = 0; ii < len; ii++ ) printf ( "(%d/%d) ", points [j+ii]. x ( ), points [j+ii]. y ( )));
QPDFDBG( printf ( "\n" ));
-
+
region |= QRegion ( dummy, winding );
-
+
dummy. resetRawData ( points. data ( ) + j, len );
- }
+ }
j += len;
}
-
- if ( m_painter-> hasClipping ( ))
+
+ if ( m_painter && m_painter-> hasClipping ( ))
region &= m_painter-> clipRegion ( );
// m_painter-> setClipRegion ( region );
// m_painter-> setClipping ( true );
-
+
// m_painter-> fillRect ( 0, 0, m_pixmap-> width ( ), m_pixmap-> height ( ), red );
// m_painter-> drawText ( points [0]. x ( ) + 10, points [0]. y ( ) + 10, "Bla bla" );
@@ -542,5 +555,5 @@ void QOutputDev::doClip ( GfxState *state, bool winding )
// point so that X can fill the polygon (sort of).
//
-int QOutputDev::convertPath ( GfxState *state, QPointArray &points, QArray<int> &lengths )
+int QOutputDev::convertPath ( GfxState *state, QPointArray &points, QArray<int> &lengths )
{
GfxPath *path = state-> getPath ( );
@@ -570,5 +583,5 @@ int QOutputDev::convertSubpath ( GfxState *state, GfxSubpath *subpath, QPointArr
int m = subpath-> getNumPoints ( );
int i = 0;
-
+
while ( i < m ) {
if ( i >= 1 && subpath-> getCurve ( i )) {
@@ -577,5 +590,5 @@ int QOutputDev::convertSubpath ( GfxState *state, GfxSubpath *subpath, QPointArr
state-> transform ( subpath-> getX ( i + 1 ), subpath-> getY ( i + 1 ), &x2, &y2 );
state-> transform ( subpath-> getX ( i + 2 ), subpath-> getY ( i + 2 ), &x3, &y3 );
-
+
QPointArray tmp;
tmp. setPoints ( 4, lrint ( x0 ), lrint ( y0 ), lrint ( x1 ), lrint ( y1 ),
@@ -584,5 +597,5 @@ int QOutputDev::convertSubpath ( GfxState *state, GfxSubpath *subpath, QPointArr
#if QT_VERSION < 300
tmp = tmp. quadBezier ( );
-
+
for ( uint loop = 0; loop < tmp. count ( ); loop++ ) {
QPoint p = tmp. point ( loop );
@@ -591,13 +604,13 @@ int QOutputDev::convertSubpath ( GfxState *state, GfxSubpath *subpath, QPointArr
#else
tmp = tmp. cubicBezier ( );
- points. putPoints ( points. count ( ), tmp. count ( ), tmp );
+ points. putPoints ( points. count ( ), tmp. count ( ), tmp );
#endif
i += 3;
- }
+ }
else {
state-> transform ( subpath-> getX ( i ), subpath-> getY ( i ), &x1, &y1 );
-
- points. putPoints ( points. count ( ), 1, lrint ( x1 ), lrint ( y1 ));
+
+ points. putPoints ( points. count ( ), 1, lrint ( x1 ), lrint ( y1 ));
++i;
}
@@ -607,10 +620,10 @@ int QOutputDev::convertSubpath ( GfxState *state, GfxSubpath *subpath, QPointArr
-void QOutputDev::beginString ( GfxState *state, GString */*s*/ )
+void QOutputDev::beginString ( GfxState *state, GString */*s*/ )
{
m_text-> beginString ( state );
}
-void QOutputDev::endString ( GfxState */*state*/ )
+void QOutputDev::endString ( GfxState */*state*/ )
{
m_text-> endString ( );
@@ -619,8 +632,8 @@ void QOutputDev::endString ( GfxState */*state*/ )
void QOutputDev::drawChar ( GfxState *state, fp_t x, fp_t y,
fp_t dx, fp_t dy, fp_t originX, fp_t originY,
- CharCode code, Unicode *u, int uLen )
+ CharCode code, Unicode *u, int uLen )
{
fp_t x1, y1, dx1, dy1;
-
+
if ( uLen > 0 )
m_text-> addChar ( state, x, y, dx, dy, u, uLen );
@@ -640,8 +653,8 @@ void QOutputDev::drawChar ( GfxState *state, fp_t x, fp_t y,
QString str;
QFontMetrics fm = m_painter-> fontMetrics ( );
-
+
for ( int i = 0; i < uLen; i++ ) {
QChar c = QChar ( u [i] );
-
+
if ( fm. inFont ( c )) {
str [i] = QChar ( u [i] );
@@ -652,44 +665,44 @@ void QOutputDev::drawChar ( GfxState *state, fp_t x, fp_t y,
}
}
-
+
if (( uLen == 1 ) && ( str [0] == ' ' ))
return;
-
-
+
+
fp_t m11, m12, m21, m22;
-
+
state-> getFontTransMat ( &m11, &m12, &m21, &m22 );
m11 *= state-> getHorizScaling ( );
m12 *= state-> getHorizScaling ( );
-
+
fp_t fsize = m_painter-> font ( ). pixelSize ( );
#ifndef QT_NO_TRANSFORMATIONS
QWMatrix oldmat;
-
- bool dorot = (( m12 < -0.1 ) || ( m12 > 0.1 )) && (( m21 < -0.1 ) || ( m21 > 0.1 ));
- if ( dorot ) {
+ bool dorot = (( m12 < -0.1 ) || ( m12 > 0.1 )) && (( m21 < -0.1 ) || ( m21 > 0.1 ));
+
+ if ( dorot ) {
oldmat = m_painter-> worldMatrix ( );
std::cerr << std::endl << "ROTATED: " << m11 << ", " << m12 << ", " << m21 << ", " << m22 << " / SIZE: " << fsize << " / TEXT: " << str. local8Bit ( ) << endl << endl;
-
+
QWMatrix mat ( lrint ( m11 / fsize ), lrint ( m12 / fsize ), -lrint ( m21 / fsize ), -lrint ( m22 / fsize ), lrint ( x1 ), lrint ( y1 ));
-
+
m_painter-> setWorldMatrix ( mat );
x1 = 0;
- y1 = 0;
+ y1 = 0;
}
#endif
-
+
QPen oldpen = m_painter-> pen ( );
-
+
if (!( state-> getRender ( ) & 1 )) {
QPen fillpen = oldpen;
-
+
fillpen. setColor ( m_painter-> brush ( ). color ( ));
m_painter-> setPen ( fillpen );
- }
+ }
if ( fsize > 5 )
@@ -697,14 +710,14 @@ void QOutputDev::drawChar ( GfxState *state, fp_t x, fp_t y,
else
m_painter-> fillRect ( lrint ( x1 ), lrint ( y1 ), lrint ( QMAX( fp_t(1), dx1 )), lrint ( QMAX( fsize, dy1 )), m_painter-> pen ( ). color ( ));
-
+
m_painter-> setPen ( oldpen );
-
+
#ifndef QT_NO_TRANSFORMATIONS
if ( dorot )
m_painter-> setWorldMatrix ( oldmat );
-#endif
-
+#endif
+
QPDFDBG( printf ( "DRAW TEXT: \"%s\" at (%ld/%ld)\n", str. local8Bit ( ). data ( ), lrint ( x1 ), lrint ( y1 )));
- }
+ }
else if ( code != 0 ) {
// some PDF files use CID 0, which is .notdef, so just ignore it
@@ -716,12 +729,12 @@ void QOutputDev::drawChar ( GfxState *state, fp_t x, fp_t y,
-void QOutputDev::drawImageMask ( GfxState *state, Object */*ref*/, Stream *str, int width, int height, GBool invert, GBool inlineImg )
+void QOutputDev::drawImageMask ( GfxState *state, Object */*ref*/, Stream *str, int width, int height, GBool invert, GBool inlineImg )
{
// get CTM, check for singular matrix
fp_t *ctm = state-> getCTM ( );
-
+
if ( fabs ( ctm [0] * ctm [3] - ctm [1] * ctm [2] ) < 0.000001 ) {
qWarning ( "Singular CTM in drawImage\n" );
-
+
if ( inlineImg ) {
str-> reset ( );
@@ -734,11 +747,11 @@ void QOutputDev::drawImageMask ( GfxState *state, Object */*ref*/, Stream *str,
return;
}
-
- GfxRGB rgb;
+
+ GfxRGB rgb;
state-> getFillRGB ( &rgb );
uint val = ( lrint ( rgb. r * 255 ) & 0xff ) << 16 | ( lrint ( rgb. g * 255 ) & 0xff ) << 8 | ( lrint ( rgb. b * 255 ) & 0xff );
-
-
- QImage img ( width, height, 32 );
+
+
+ QImage img ( width, height, 32 );
img. setAlphaBuffer ( true );
@@ -750,24 +763,24 @@ void QOutputDev::drawImageMask ( GfxState *state, Object */*ref*/, Stream *str,
uchar **scanlines = img. jumpTable ( );
-
+
if ( ctm [3] > 0 )
scanlines += ( height - 1 );
-
+
for ( int y = 0; y < height; y++ ) {
QRgb *scanline = (QRgb *) *scanlines;
-
+
if ( ctm [0] < 0 )
scanline += ( width - 1 );
-
+
for ( int x = 0; x < width; x++ ) {
Guchar alpha;
-
+
imgStr-> getPixel ( &alpha );
-
+
if ( invert )
alpha ^= 1;
-
+
*scanline = ( alpha == 0 ) ? 0xff000000 | val : val;
-
+
ctm [0] < 0 ? scanline-- : scanline++;
}
@@ -776,11 +789,11 @@ void QOutputDev::drawImageMask ( GfxState *state, Object */*ref*/, Stream *str,
qApp-> processEvents ( );
}
-
-#ifndef QT_NO_TRANSFORMATIONS
+
+#ifndef QT_NO_TRANSFORMATIONS
QWMatrix mat ( ctm [0] / width, ctm [1], ctm [2], ctm [3] / height, ctm [4], ctm [5] );
-
- std::cerr << "MATRIX T=" << mat. dx ( ) << "/" << mat. dy ( ) << std::endl
+
+ std::cerr << "MATRIX T=" << mat. dx ( ) << "/" << mat. dy ( ) << std::endl
<< " - M=" << mat. m11 ( ) << "/" << mat. m12 ( ) << "/" << mat. m21 ( ) << "/" << mat. m22 ( ) << std::endl;
-
+
QWMatrix oldmat = m_painter-> worldMatrix ( );
m_painter-> setWorldMatrix ( mat, true );
@@ -803,8 +816,8 @@ void QOutputDev::drawImageMask ( GfxState *state, Object */*ref*/, Stream *str,
int x = lrint ( ctm [4] );
int y = lrint ( ctm [5] );
-
+
int w = lrint ( ctm [0] );
int h = lrint ( ctm [3] );
-
+
if ( w < 0 ) {
x += w;
@@ -815,23 +828,23 @@ void QOutputDev::drawImageMask ( GfxState *state, Object */*ref*/, Stream *str,
h = -h;
}
-
+
QPDFDBG( printf ( "DRAWING IMAGE MASKED: %d/%d - %dx%d\n", x, y, w, h ));
img = img. smoothScale ( w, h );
- qApp-> processEvents ( );
+ qApp-> processEvents ( );
m_painter-> drawImage ( x, y, img );
}
#endif
-
- delete imgStr;
+
+ delete imgStr;
qApp-> processEvents ( );
}
-void QOutputDev::drawImage(GfxState *state, Object */*ref*/, Stream *str, int width, int height, GfxImageColorMap *colorMap, int *maskColors, GBool inlineImg )
+void QOutputDev::drawImage(GfxState *state, Object */*ref*/, Stream *str, int width, int height, GfxImageColorMap *colorMap, int *maskColors, GBool inlineImg )
{
int nComps, nVals, nBits;
-
+
// image parameters
nComps = colorMap->getNumPixelComps ( );
@@ -841,8 +854,8 @@ void QOutputDev::drawImage(GfxState *state, Object */*ref*/, Stream *str, int wi
// get CTM, check for singular matrix
fp_t *ctm = state-> getCTM ( );
-
+
if ( fabs ( ctm [0] * ctm [3] - ctm [1] * ctm [2] ) < 0.000001 ) {
qWarning ( "Singular CTM in drawImage\n" );
-
+
if ( inlineImg ) {
str-> reset ( );
@@ -857,5 +870,5 @@ void QOutputDev::drawImage(GfxState *state, Object */*ref*/, Stream *str, int wi
QImage img ( width, height, 32 );
-
+
if ( maskColors )
img. setAlphaBuffer ( true );
@@ -869,26 +882,26 @@ void QOutputDev::drawImage(GfxState *state, Object */*ref*/, Stream *str, int wi
Guchar pixBuf [gfxColorMaxComps];
GfxRGB rgb;
-
+
uchar **scanlines = img. jumpTable ( );
-
+
if ( ctm [3] > 0 )
scanlines += ( height - 1 );
-
+
for ( int y = 0; y < height; y++ ) {
QRgb *scanline = (QRgb *) *scanlines;
-
+
if ( ctm [0] < 0 )
scanline += ( width - 1 );
-
+
for ( int x = 0; x < width; x++ ) {
imgStr-> getPixel ( pixBuf );
colorMap-> getRGB ( pixBuf, &rgb );
-
+
uint val = ( lrint ( rgb. r * 255 ) & 0xff ) << 16 | ( lrint ( rgb. g * 255 ) & 0xff ) << 8 | ( lrint ( rgb. b * 255 ) & 0xff );
-
+
if ( maskColors ) {
for ( int k = 0; k < nComps; ++k ) {
- if (( pixBuf [k] < maskColors [2 * k] ) || ( pixBuf [k] > maskColors [2 * k] )) {
+ if (( pixBuf [k] < maskColors [2 * k] ) || ( pixBuf [k] > maskColors [2 * k] )) {
val |= 0xff000000;
break;
@@ -897,17 +910,17 @@ void QOutputDev::drawImage(GfxState *state, Object */*ref*/, Stream *str, int wi
}
*scanline = val;
-
+
ctm [0] < 0 ? scanline-- : scanline++;
}
ctm [3] > 0 ? scanlines-- : scanlines++;
-
+
qApp-> processEvents ( );
}
-#ifndef QT_NO_TRANSFORMATIONS
+#ifndef QT_NO_TRANSFORMATIONS
QWMatrix mat ( ctm [0] / width, ctm [1], ctm [2], ctm [3] / height, ctm [4], ctm [5] );
- std::cerr << "MATRIX T=" << mat. dx ( ) << "/" << mat. dy ( ) << std::endl
+ std::cerr << "MATRIX T=" << mat. dx ( ) << "/" << mat. dy ( ) << std::endl
<< " - M=" << mat. m11 ( ) << "/" << mat. m12 ( ) << "/" << mat. m21 ( ) << "/" << mat. m22 ( ) << std::endl;
@@ -919,6 +932,6 @@ void QOutputDev::drawImage(GfxState *state, Object */*ref*/, Stream *str, int wi
pm. convertFromImage ( img );
m_painter-> drawPixmap ( 0, 0, pm );
-#else
- m_painter-> drawImage ( QPoint ( 0, 0 ), img );
+#else
+ m_painter-> drawImage ( QPoint ( 0, 0 ), img );
#endif
@@ -933,8 +946,8 @@ void QOutputDev::drawImage(GfxState *state, Object */*ref*/, Stream *str, int wi
int x = lrint ( ctm [4] );
int y = lrint ( ctm [5] );
-
+
int w = lrint ( ctm [0] );
int h = lrint ( ctm [3] );
-
+
if ( w < 0 ) {
x += w;
@@ -945,12 +958,12 @@ void QOutputDev::drawImage(GfxState *state, Object */*ref*/, Stream *str, int wi
h = -h;
}
-
+
QPDFDBG( printf ( "DRAWING IMAGE: %d/%d - %dx%d\n", x, y, w, h ));
- img = img. smoothScale ( w, h );
- qApp-> processEvents ( );
+ img = img. smoothScale ( w, h );
+ qApp-> processEvents ( );
m_painter-> drawImage ( x, y, img );
}
-
+
#endif
@@ -978,5 +991,5 @@ bool QOutputDev::findText ( const QString &str, int &l, int &t, int &w, int &h,
uint len = str. length ( );
Unicode *s = new Unicode [len];
-
+
for ( uint i = 0; i < len; i++ )
s [i] = str [i]. unicode ( );
@@ -987,5 +1000,5 @@ bool QOutputDev::findText ( const QString &str, int &l, int &t, int &w, int &h,
fp_t y2 = (fp_t) t + h - 1;
- if ( m_text-> findText ( s, len, top, bottom, &x1, &y1, &x2, &y2 )) {
+ if ( m_text-> findText ( s, len, top, bottom, &x1, &y1, &x2, &y2 )) {
l = lrint ( x1 );
t = lrint ( y1 );
@@ -995,5 +1008,5 @@ bool QOutputDev::findText ( const QString &str, int &l, int &t, int &w, int &h,
}
delete [] s;
-
+
return found;
}
@@ -1006,5 +1019,5 @@ GBool QOutputDev::findText ( Unicode *s, int len, GBool top, GBool bottom, int *
fp_t xMax1 = (double) *xMax;
fp_t yMax1 = (double) *yMax;
-
+
if ( m_text-> findText ( s, len, top, bottom, &xMin1, &yMin1, &xMax1, &yMax1 )) {
*xMin = lrint ( xMin1 );
@@ -1022,8 +1035,8 @@ QString QOutputDev::getText ( int l, int t, int w, int h )
QString str = gstr-> getCString ( );
delete gstr;
- return str;
+ return str;
}
-QString QOutputDev::getText ( const QRect &r )
+QString QOutputDev::getText ( const QRect &r )
{
return getText ( r. left ( ), r. top ( ), r. width ( ), r. height ( ));
@@ -1036,5 +1049,5 @@ void QOutputDev::drawContents ( QPainter *p, int clipx, int clipy, int clipw, in
if ( m_pixmap )
p-> drawPixmap ( clipx, clipy, *m_pixmap, clipx, clipy, clipw, cliph );
- else
+ else
p-> fillRect ( clipx, clipy, clipw, cliph, white );
}
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
@@ -5,5 +5,5 @@ Section: opie/applications
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
@@ -508,5 +508,5 @@ void QPdfDlg::openFile ( const DocLnk &f )
}
else
- QMessageBox::warning ( this, tr( "Error" ), tr( "File does not exist !" ));
+ QMessageBox::warning ( this, tr( "Error" ), tr( "File does not exist!" ));
}