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 ®. 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, "<" ); + len += 3; + i += 4; + } else if ( tmp[(int)i] == '"' ) { + tmp.replace( i, 1, """ ); + len += 5; + i += 6; + } else if ( tmp[(int)i] == '&' ) { + tmp.replace( i, 1, "&" ); + len += 4; + i += 5; + } else if ( tmp[(int)i] == '>' ) { + tmp.replace( i, 1, ">" ); + 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!" )); } |