[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] /srv/bzr/gnash/trunk r10482: Merge from kde4 branch. The
From: |
Benjamin Wolsey |
Subject: |
[Gnash-commit] /srv/bzr/gnash/trunk r10482: Merge from kde4 branch. The option --enable-gui=kde now takes 'kde3' instead. |
Date: |
Sat, 27 Dec 2008 02:53:28 -0700 |
User-agent: |
Bazaar (1.5) |
------------------------------------------------------------
revno: 10482
committer: Benjamin Wolsey <address@hidden>
branch nick: trunk
timestamp: Sat 2008-12-27 02:53:28 -0700
message:
Merge from kde4 branch. The option --enable-gui=kde now takes 'kde3' instead.
To build kde4, use '--enable-gui=kde4'.
There may be build problems with kde4, as it hasn't been widely tested.
Reportedly kde4-gnash segfaults on at least one platform.
The criterion for the merge is that kde3 and the default configure still
work as before.
Fix for default configure by setting build_qt3 as well as build_kde3 when no
guis are specified.
removed:
gui/klash.moc.in
added:
gui/GuiKde4.cpp
gui/Kde4Glue.h
gui/Kde4GlueAgg.cpp
gui/Kde4GlueAgg.h
gui/Kde4Gui.cpp
gui/Kde4Gui.h
gui/am-frag/kde4.am
gui/klash4.moc.in
macros/kde4.m4
macros/qt4.m4
plugin/klash4/
plugin/klash4/Makefile.am
plugin/klash4/README
plugin/klash4/klash.desktop
plugin/klash4/klash_part.cpp
plugin/klash4/klash_part.desktop
plugin/klash4/klash_part.h
plugin/klash4/klash_part.moc.in
plugin/klash4/klashpartui.rc
plugin/klash4/klashplayer.lsm
plugin/klash4/pluginsinfo
renamed:
gui/am-frag/kde.am => gui/am-frag/kde3.am
gui/am-frag/qtopia.am => gui/am-frag/qtopia3.am
macros/kde.m4 => macros/kde3.m4
macros/qt.m4 => macros/qt3.m4
modified:
Makefile.am
configure.ac
gui/Makefile.am
gui/Player.cpp
gui/gnash.in
gui/gui.h
gui/gui_kde.cpp
gui/kde.cpp
macros/libslist
plugin/Makefile.am
plugin/klash/Makefile.am
gui/am-frag/kde3.am
gui/am-frag/qtopia3.am
macros/kde3.m4
macros/qt3.m4
------------------------------------------------------------
revno: 9735.1.1
committer: Benjamin Wolsey <address@hidden>
branch nick: work
timestamp: Sun 2008-09-14 17:01:42 +0200
message:
Add KDE4 gui.
added:
gui/GuiKde4.cpp
gui/Kde4.moc
gui/Kde4Glue.h
gui/Kde4GlueAgg.cpp
gui/Kde4GlueAgg.h
gui/Kde4Gui.cpp
gui/Kde4Gui.h
gui/am-frag/kde4.am
modified:
gui/Makefile.am
gui/Player.cpp
gui/gui.h
------------------------------------------------------------
revno: 9735.1.2
committer: Benjamin Wolsey <address@hidden>
branch nick: work
timestamp: Sun 2008-09-14 17:37:44 +0200
message:
KDE4 gui updates the whole window on each paintEvent.
modified:
gui/Kde4GlueAgg.cpp
gui/Kde4GlueAgg.h
gui/Kde4Gui.cpp
gui/Kde4Gui.h
------------------------------------------------------------
revno: 9735.1.3
committer: Benjamin Wolsey <address@hidden>
branch nick: work
timestamp: Sun 2008-09-14 18:23:38 +0200
message:
Only update the changed part of the window. Move bounds to main Gui class,
out of the AggGlue.
modified:
configure.ac
gui/Kde4GlueAgg.cpp
gui/Kde4GlueAgg.h
gui/Kde4Gui.cpp
gui/Kde4Gui.h
------------------------------------------------------------
revno: 9735.1.4
committer: Benjamin Wolsey <address@hidden>
branch nick: work
timestamp: Mon 2008-09-15 10:40:32 +0200
message:
Catch bad_alloc when creating images. Handle errors in finishImage.
modified:
libbase/GnashImageJpeg.cpp
libbase/image.cpp
------------------------------------------------------------
revno: 9735.1.5
committer: Benjamin Wolsey <address@hidden>
branch nick: work
timestamp: Mon 2008-09-15 12:03:34 +0200
message:
More kde4.
modified:
gui/Kde4GlueAgg.cpp
gui/Kde4Gui.cpp
gui/Kde4Gui.h
------------------------------------------------------------
revno: 9735.1.6
committer: Benjamin Wolsey <address@hidden>
branch nick: kde4
timestamp: Mon 2008-09-29 14:09:45 +0200
message:
Merge from trunk.
removed:
libcore/asobj/SoundMad.cpp
libcore/asobj/SoundMad.h
ltmain.sh.darwin
added:
libcore/asobj/LoadableObject.cpp
libcore/asobj/LoadableObject.h
libcore/vm/CallStack.cpp
libcore/vm/CallStack.h
libmedia/ffmpeg/ffmpegHeaders.h
testsuite/actionscript.all/ColorTransform.as
testsuite/actionscript.all/Transform.as
renamed:
README_CVS => README_bzr
libbase/curl_adapter.h => libbase/NetworkAdapter.h
libcore/asobj/LoadVars.cpp => libcore/asobj/LoadVars_as.cpp
libcore/asobj/LoadVars.h => libcore/asobj/LoadVars_as.h
libcore/asobj/System.cpp => libcore/asobj/System_as.cpp
libcore/asobj/System.h => libcore/asobj/System_as.h
libcore/asobj/xml.cpp => libcore/asobj/XML_as.cpp
libcore/asobj/xml.h => libcore/asobj/XML_as.h
modified:
.bzrignore
Makefile.am
README
autogen.sh
configure.ac
doc/C/refmanual/internals.xml
doc/C/usermanual/glossary.xml
extensions/fileio/fileio.cpp
extensions/mysql/mysql_db.cpp
extensions/mysql/mysql_table.cpp
gui/Makefile.am
gui/fltk.cpp
gui/gtk.cpp
gui/gui.cpp
gui/gui.h
gui/kde.cpp
libbase/GnashException.h
libbase/GnashImage.h
libbase/GnashImageJpeg.cpp
libbase/GnashImageJpeg.h
libbase/GnashImagePng.cpp
libbase/GnashImagePng.h
libbase/Makefile.am
libbase/SimpleBuffer.h
libbase/curl_adapter.cpp
libbase/image.cpp
libbase/image.h
libbase/rc.cpp
libcore/Property.h
libcore/PropertyList.cpp
libcore/PropertyList.h
libcore/StreamProvider.cpp
libcore/StreamProvider.h
libcore/array.cpp
libcore/array.h
libcore/as_environment.cpp
libcore/as_environment.h
libcore/as_function.cpp
libcore/as_object.cpp
libcore/as_object.h
libcore/as_value.cpp
libcore/as_value.h
libcore/asobj/AsBroadcaster.cpp
libcore/asobj/ClassHierarchy.cpp
libcore/asobj/Color.cpp
libcore/asobj/Global.cpp
libcore/asobj/Key.cpp
libcore/asobj/Makefile.am
libcore/asobj/MovieClipLoader.cpp
libcore/asobj/NetConnection.cpp
libcore/asobj/NetStreamFfmpeg.cpp
libcore/asobj/NetStreamFfmpeg.h
libcore/asobj/SharedObject.cpp
libcore/asobj/Sound.cpp
libcore/asobj/SoundFfmpeg.cpp
libcore/asobj/String_as.cpp
libcore/asobj/XMLSocket_as.cpp
libcore/asobj/flash/display/BitmapData_as.cpp
libcore/asobj/flash/geom/ColorTransform_as.cpp
libcore/asobj/flash/geom/ColorTransform_as.h
libcore/asobj/flash/geom/Matrix_as.cpp
libcore/asobj/flash/geom/Rectangle_as.cpp
libcore/asobj/flash/geom/Transform_as.cpp
libcore/asobj/flash/geom_pkg.cpp
libcore/asobj/flash/geom_pkg.h
libcore/asobj/xmlnode.cpp
libcore/asobj/xmlnode.h
libcore/builtin_function.h
libcore/button_character_instance.cpp
libcore/button_character_instance.h
libcore/character.cpp
libcore/debugger.cpp
libcore/edit_text_character.cpp
libcore/impl.cpp
libcore/matrix.cpp
libcore/matrix.h
libcore/movie_root.cpp
libcore/movie_root.h
libcore/namedStrings.cpp
libcore/namedStrings.h
libcore/parser/button_character_def.cpp
libcore/sprite_instance.cpp
libcore/sprite_instance.h
libcore/swf_event.h
libcore/swf_function.cpp
libcore/swf_function.h
libcore/timers.cpp
libcore/types.cpp
libcore/video_stream_instance.cpp
libcore/vm/ASHandlers.cpp
libcore/vm/ActionExec.cpp
libcore/vm/ActionExec.h
libcore/vm/Machine.cpp
libcore/vm/Makefile.am
libcore/vm/VM.cpp
libcore/vm/VM.h
libcore/vm/action.h
libcore/vm/fn_call.h
libmedia/AudioDecoder.h
libmedia/AudioDecoderNellymoser.cpp
libmedia/AudioDecoderNellymoser.h
libmedia/AudioDecoderSimple.cpp
libmedia/AudioDecoderSimple.h
libmedia/FLVParser.cpp
libmedia/Makefile.am
libmedia/MediaHandler.h
libmedia/ffmpeg/AudioDecoderFfmpeg.cpp
libmedia/ffmpeg/AudioDecoderFfmpeg.h
libmedia/ffmpeg/MediaHandlerFfmpeg.cpp
libmedia/ffmpeg/MediaHandlerFfmpeg.h
libmedia/ffmpeg/MediaParserFfmpeg.cpp
libmedia/ffmpeg/MediaParserFfmpeg.h
libmedia/ffmpeg/VideoDecoderFfmpeg.cpp
libmedia/ffmpeg/VideoDecoderFfmpeg.h
libmedia/ffmpeg/ffmpegNetStreamUtil.h
libmedia/ffmpeg/sound_handler_sdl.cpp
libmedia/ffmpeg/sound_handler_sdl.h
libmedia/gst/AudioDecoderGst.cpp
libmedia/gst/AudioDecoderGst.h
libmedia/gst/MediaHandlerGst.cpp
macros/ffmpeg.m4
macros/ming.m4
macros/x11.m4
packaging/xpi.am
plugin/plugin.cpp
po/cs.po
po/de.po
po/es.po
po/fi.po
po/fr.po
po/it.po
po/ja.po
po/sv.po
testsuite/MovieTester.cpp
testsuite/actionscript.all/Function.as
testsuite/actionscript.all/LoadVars.as
testsuite/actionscript.all/Makefile.am
testsuite/actionscript.all/Matrix.as
testsuite/actionscript.all/MovieClip.as
testsuite/actionscript.all/TextField.as
testsuite/actionscript.all/XML.as
testsuite/actionscript.all/array.as
testsuite/anaylse-results.sh
testsuite/gnashrc.in
testsuite/libbase/CurlStreamTest.cpp
testsuite/libcore.all/AsValueTest.cpp
testsuite/misc-haxe.all/Makefile.am
testsuite/misc-ming.all/Makefile.am
testsuite/misc-ming.all/SharedObjectTest.as
testsuite/misc-ming.all/SharedObjectTest.sol/sol1.sol
testsuite/misc-ming.all/SharedObjectTestRunner.sh
testsuite/misc-ming.all/XMLSocketTest.c
testsuite/misc-ming.all/matrix_test.c
testsuite/simple.exp
testsuite/swfdec/Makefile.am
testsuite/swfdec/PASSING
testsuite/swfdec/gen_run_swfdec_testsuite.sh
utilities/Makefile.am
README_bzr
libbase/NetworkAdapter.h
libcore/asobj/LoadVars_as.cpp
libcore/asobj/LoadVars_as.h
libcore/asobj/System_as.cpp
libcore/asobj/XML_as.cpp
libcore/asobj/XML_as.h
------------------------------------------------------------
revno: 9735.1.7
committer: Benjamin Wolsey <address@hidden>
branch nick: kde4
timestamp: Mon 2008-09-29 14:17:00 +0200
message:
Fix build.
modified:
gui/Kde4Gui.cpp
------------------------------------------------------------
revno: 9735.1.8
committer: address@hidden
branch nick: kde4
timestamp: Fri 2008-10-03 08:31:33 -0600
message:
Get correct paths when using KDE4/QT4
modified:
macros/kde.m4
macros/qt.m4
------------------------------------------------------------
revno: 9735.1.9
committer: Benjamin Wolsey <address@hidden>
branch nick: kde4
timestamp: Wed 2008-10-08 20:17:55 +0200
message:
Merge from trunk.
removed:
libcore/asobj/NetStreamFfmpeg.cpp
libcore/asobj/NetStreamFfmpeg.h
libcore/asobj/NetStreamGst.cpp
libcore/asobj/NetStreamGst.h
libcore/asobj/SoundFfmpeg.cpp
libcore/asobj/SoundFfmpeg.h
libcore/asobj/SoundGst.cpp
libcore/asobj/SoundGst.h
libmedia/gst/SoundGst.cpp
libmedia/gst/SoundGst.h
libmedia/gst/SoundHandlerGst.cpp
libmedia/gst/SoundHandlerGst.h
libmedia/gst/gstappsink.c
libmedia/gst/gstappsink.h
libmedia/gst/gstappsrc.c
libmedia/gst/gstappsrc.h
libmedia/gst/gstbuffersrc.c
libmedia/gst/gstbuffersrc.h
libmedia/gst/gstflvdemux.c
libmedia/gst/gstflvdemux.h
libmedia/gst/gstflvparse.c
libmedia/gst/gstflvparse.h
added:
libbase/GnashSleep.h
libmedia/README
libmedia/gst/MediaParserGst.cpp
libmedia/gst/MediaParserGst.h
libmedia/gst/swfdec_codec_gst.c
libmedia/gst/swfdec_codec_gst.h
testsuite/media/mono44.mp2
testsuite/media/stereo8.mp3
testsuite/misc-ming.all/EmbeddedSoundTest-Runner.cpp
testsuite/misc-ming.all/EmbeddedSoundTest.c
modified:
Makefile.am
README
TODO
configure.ac
gui/Makefile.am
gui/NullGui.cpp
gui/Player.cpp
gui/dump.cpp
gui/fb.cpp
gui/gtk.cpp
gui/gtksup.h
libbase/ClockTime.cpp
libbase/GnashImageJpeg.cpp
libbase/LoadThread.cpp
libbase/Makefile.am
libbase/curl_adapter.cpp
libbase/gnashrc.in
libbase/image.cpp
libcore/Makefile.am
libcore/SWFStream.cpp
libcore/SWFStream.h
libcore/asobj/Date.cpp
libcore/asobj/Date.h
libcore/asobj/Makefile.am
libcore/asobj/NetConnection.cpp
libcore/asobj/NetStream.cpp
libcore/asobj/NetStream.h
libcore/asobj/SharedObject.cpp
libcore/asobj/Sound.cpp
libcore/asobj/Sound.h
libcore/asobj/XMLSocket_as.cpp
libcore/asobj/flash/display/BitmapData_as.h
libcore/asobj/flash/geom_pkg.cpp
libcore/asobj/xmlattrs.h
libcore/character.cpp
libcore/character.h
libcore/edit_text_character.h
libcore/matrix.cpp
libcore/namedStrings.cpp
libcore/namedStrings.h
libcore/parser/Makefile.am
libcore/parser/SWFMovieDefinition.cpp
libcore/parser/abc_block.cpp
libcore/parser/action_buffer.cpp
libcore/parser/action_buffer.h
libcore/rect.h
libcore/swf/tag_loaders.cpp
libcore/types.cpp
libcore/vm/ASHandlers.cpp
libmedia/AudioDecoderSimple.cpp
libmedia/FLVParser.cpp
libmedia/Makefile.am
libmedia/MediaHandler.h
libmedia/MediaParser.cpp
libmedia/MediaParser.h
libmedia/NullSoundHandler.h
libmedia/ffmpeg/AudioDecoderFfmpeg.cpp
libmedia/ffmpeg/MediaHandlerFfmpeg.cpp
libmedia/ffmpeg/MediaHandlerFfmpeg.h
libmedia/ffmpeg/MediaParserFfmpeg.cpp
libmedia/ffmpeg/MediaParserFfmpeg.h
libmedia/ffmpeg/VideoDecoderFfmpeg.cpp
libmedia/ffmpeg/VideoDecoderFfmpeg.h
libmedia/ffmpeg/sound_handler_sdl.cpp
libmedia/ffmpeg/sound_handler_sdl.h
libmedia/gst/AudioDecoderGst.cpp
libmedia/gst/AudioDecoderGst.h
libmedia/gst/GstUtil.cpp
libmedia/gst/GstUtil.h
libmedia/gst/MediaHandlerGst.cpp
libmedia/gst/VideoDecoderGst.cpp
libmedia/gst/VideoDecoderGst.h
libmedia/sound_handler.h
libnet/rtmp_client.cpp
macros/xpcom.m4
packaging/xpi.am
plugin/Makefile.am
plugin/plugin.cpp
plugin/plugin.h
plugin/xpcom/GnashComponent.h
po/Makefile.am
po/cs.po
po/de.po
po/es.po
po/fi.po
po/fr.po
po/gnash.pot
po/it.po
po/ja.po
po/sv.po
testsuite/MovieTester.cpp
testsuite/actionscript.all/Date.as
testsuite/actionscript.all/LoadVars.as
testsuite/actionscript.all/MovieClip.as
testsuite/actionscript.all/Transform.as
testsuite/misc-ming.all/ButtonEventsTest.c
testsuite/misc-ming.all/Makefile.am
testsuite/misc-ming.all/NetStream-SquareTest.c
testsuite/misc-ming.all/NetStream-SquareTestRunner.cpp
testsuite/misc-ming.all/matrix_test.c
utilities/Makefile.am
utilities/flvdumper.cpp
utilities/processor.cpp
------------------------------------------------------------
revno: 9735.1.10
committer: Benjamin Wolsey <address@hidden>
branch nick: kde4
timestamp: Thu 2008-10-09 09:35:53 +0200
message:
Apply Bernhard Rosenkraenzer's patch:
- adds better configure support (--enable-gui=kde4,kde should work,
correct
linker flags passed).
- adds a klash4 plugin, which is reportedly not yet fully functional, but
certainly better than nothing.
Add kde4 to the gui/gnash script.
Add header guards.
added:
macros/kde4.m4
plugin/klash4/
plugin/klash4/Makefile.am
plugin/klash4/Makefile.in
plugin/klash4/README
plugin/klash4/klash.desktop
plugin/klash4/klash_part.cpp
plugin/klash4/klash_part.desktop
plugin/klash4/klash_part.h
plugin/klash4/klash_part.moc.in
plugin/klash4/klashpartui.rc
plugin/klash4/klashplayer.lsm
plugin/klash4/pluginsinfo
modified:
configure.ac
gui/Kde4Glue.h
gui/Kde4GlueAgg.h
gui/Kde4Gui.h
gui/Makefile.am
gui/am-frag/kde4.am
gui/gnash.in
plugin/Makefile.am
------------------------------------------------------------
revno: 9735.1.11
committer: Benjamin Wolsey <address@hidden>
branch nick: kde4
timestamp: Thu 2008-11-13 17:00:44 +0100
message:
Merge from trunk.
removed:
libbase/image.h
libcore/parser/Timeline.h
libcore/parser/edit_text_character_def.cpp
libcore/parser/edit_text_character_def.h
libcore/text.cpp
libcore/text.h
libmedia/MediaBuffer.h
packaging/debian/gnash-cygnal.manpages
packaging/debian/gnash-tools.manpages
packaging/debian/klash.manpages
packaging/ipkg/GnashG.xpm
testsuite/samples/batch_test.py
added:
ChangeLog
doc/C/flvdumper.man-xml
doc/C/preformatted/flvdumper.1.in
libcore/RunInfo.h
libcore/swf/DefineButtonCxformTag.cpp
libcore/swf/DefineButtonSoundTag.cpp
libcore/swf/DefineButtonSoundTag.h
libcore/swf/DefineEditTextTag.cpp
libcore/swf/DefineEditTextTag.h
libcore/swf/DefineFontNameTag.h
libcore/swf/DefineFontTag.cpp
libcore/swf/DefineFontTag.h
libcore/swf/SoundInfoRecord.cpp
libcore/swf/SoundInfoRecord.h
libcore/swf/TextRecord.cpp
libcore/swf/TextRecord.h
libcore/swf/VideoFrameTag.cpp
libcore/swf/VideoFrameTag.h
libmedia/AudioDecoderSpeex.cpp
libmedia/AudioDecoderSpeex.h
libsound/
libsound/AuxStream.h
libsound/EmbedSound.cpp
libsound/EmbedSound.h
libsound/EmbedSoundInst.cpp
libsound/EmbedSoundInst.h
libsound/InputStream.h
libsound/Makefile.am
libsound/SoundEnvelope.h
libsound/sdl/
libsound/sound_handler.cpp
packaging/gnash.xpm
packaging/klash.xpm
testsuite/actionscript.all/ExternalInterface.as
testsuite/media/Makefile.am
testsuite/media/brokenchord.sco
testsuite/media/brokenchord.wav
testsuite/media/empty.txt
testsuite/misc-ming.all/BitmapDataTest.c
testsuite/misc-ming.all/LoadVarsTest.c
renamed:
ChangeLog => ChangeLog-0.8.4
libbase/image.cpp => libbase/GnashImage.cpp
libcore/asobj/Key.cpp => libcore/asobj/Key_as.cpp
libcore/asobj/Key.h => libcore/asobj/Key_as.h
libcore/asobj/NetStream.cpp => libcore/asobj/NetStream_as.cpp
libcore/asobj/NetStream.h => libcore/asobj/NetStream_as.h
libcore/asobj/Number.cpp => libcore/asobj/Number_as.cpp
libcore/asobj/Number.h => libcore/asobj/Number_as.h
libcore/asobj/Stage.cpp => libcore/asobj/Stage_as.cpp
libcore/asobj/Stage.h => libcore/asobj/Stage_as.h
libcore/asobj/TextSnapshot.cpp => libcore/asobj/TextSnapshot_as.cpp
libcore/asobj/TextSnapshot.h => libcore/asobj/TextSnapshot_as.h
libcore/asobj/xmlnode.cpp => libcore/asobj/XMLNode_as.cpp
libcore/asobj/xmlnode.h => libcore/asobj/XMLNode_as.h
libcore/button_character_instance.cpp => libcore/Button.cpp
libcore/button_character_instance.h => libcore/Button.h
libcore/edit_text_character.cpp => libcore/TextField.cpp
libcore/edit_text_character.h => libcore/TextField.h
libcore/font.cpp => libcore/Font.cpp
libcore/font.h => libcore/Font.h
libcore/matrix.cpp => libcore/SWFMatrix.cpp
libcore/matrix.h => libcore/SWFMatrix.h
libcore/mouse_button_state.h => libcore/MouseButtonState.h
libcore/parser/button_character_def.cpp => libcore/swf/DefineButtonTag.cpp
libcore/parser/button_character_def.h => libcore/swf/DefineButtonTag.h
libcore/parser/text_character_def.cpp => libcore/swf/DefineTextTag.cpp
libcore/parser/text_character_def.h => libcore/swf/DefineTextTag.h
libcore/parser/video_stream_def.cpp =>
libcore/swf/DefineVideoStreamTag.cpp
libcore/parser/video_stream_def.h => libcore/swf/DefineVideoStreamTag.h
libcore/resource.h => libcore/ExportableResource.h
libcore/sprite_instance.cpp => libcore/MovieClip.cpp
libcore/sprite_instance.h => libcore/MovieClip.h
libcore/types.cpp => libcore/RGBA.cpp
libcore/types.h => libcore/RGBA.h
libcore/video_stream_instance.cpp => libcore/Video.cpp
libcore/video_stream_instance.h => libcore/Video.h
libmedia/NullSoundHandler.h => libsound/NullSoundHandler.h
libmedia/Util.cpp => libmedia/AudioResampler.cpp
libmedia/Util.h => libmedia/AudioResampler.h
libmedia/ffmpeg/ffmpegNetStreamUtil.cpp =>
libmedia/ffmpeg/AudioResamplerFfmpeg.cpp
libmedia/ffmpeg/ffmpegNetStreamUtil.h =>
libmedia/ffmpeg/AudioResamplerFfmpeg.h
libmedia/ffmpeg/sound_handler_sdl.cpp =>
libsound/sdl/sound_handler_sdl.cpp
libmedia/ffmpeg/sound_handler_sdl.h => libsound/sdl/sound_handler_sdl.h
libmedia/sound_handler.h => libsound/sound_handler.h
modified:
Makefile.am
NEWS
README
backend/Makefile.am
backend/PathParser.cpp
backend/PathParser.h
backend/render_handler.h
backend/render_handler_agg.cpp
backend/render_handler_agg_style.h
backend/render_handler_cairo.cpp
backend/render_handler_ogl.cpp
backend/render_handler_ogl.h
configure.ac
doc/C/Makefile.am
doc/C/refmanual/feature_configuration.xml
doc/DESIGN
doc/Doxyfile.in
gui/Makefile.am
gui/Player.cpp
gui/Player.h
gui/am-frag/fltk.am
gui/dump.cpp
gui/gnash.cpp
gui/gtk.cpp
gui/gtk_glue_agg.cpp
gui/gtk_glue_agg.h
gui/gui.cpp
gui/gui.h
libamf/Makefile.am
libamf/amf.cpp
libamf/amf.h
libamf/buffer.cpp
libamf/buffer.h
libamf/element.cpp
libamf/element.h
libamf/flv.cpp
libamf/flv.h
libamf/lcshm.cpp
libamf/lcshm.h
libamf/sol.cpp
libamf/sol.h
libbase/BitsReader.h
libbase/ClockTime.cpp
libbase/GnashImage.h
libbase/GnashImageGif.h
libbase/GnashImageJpeg.cpp
libbase/GnashImageJpeg.h
libbase/GnashImagePng.cpp
libbase/GnashImagePng.h
libbase/Makefile.am
libbase/SimpleBuffer.h
libbase/URL.cpp
libbase/curl_adapter.cpp
libbase/dsodefs.h
libbase/extension.cpp
libbase/gnashrc.in
libbase/log.cpp
libbase/log.h
libbase/rc.cpp
libbase/rc.h
libbase/sharedlib.cpp
libbase/string_table.h
libbase/tree.hh
libbase/utf8.h
libcore/ColorMatrixFilter.h
libcore/DisplayList.cpp
libcore/DisplayList.h
libcore/DynamicShape.cpp
libcore/DynamicShape.h
libcore/FreetypeGlyphsProvider.cpp
libcore/FreetypeGlyphsProvider.h
libcore/Makefile.am
libcore/PropertyList.cpp
libcore/PropertyList.h
libcore/SWFStream.cpp
libcore/Sprite.h
libcore/URLAccessManager.cpp
libcore/array.h
libcore/as_environment.cpp
libcore/as_environment.h
libcore/as_function.cpp
libcore/as_function.h
libcore/as_object.cpp
libcore/as_object.h
libcore/as_value.cpp
libcore/as_value.h
libcore/asobj/AsBroadcaster.cpp
libcore/asobj/AsBroadcaster.h
libcore/asobj/ClassHierarchy.cpp
libcore/asobj/Color.cpp
libcore/asobj/Global.cpp
libcore/asobj/LoadVars_as.cpp
libcore/asobj/LoadableObject.cpp
libcore/asobj/LoadableObject.h
libcore/asobj/LocalConnection.cpp
libcore/asobj/LocalConnection.h
libcore/asobj/Makefile.am
libcore/asobj/MovieClipLoader.cpp
libcore/asobj/NetConnection.cpp
libcore/asobj/NetConnection.h
libcore/asobj/Object.cpp
libcore/asobj/SharedObject.cpp
libcore/asobj/Sound.cpp
libcore/asobj/Sound.h
libcore/asobj/String_as.cpp
libcore/asobj/System_as.cpp
libcore/asobj/TextFormat.cpp
libcore/asobj/TextFormat.h
libcore/asobj/XMLSocket_as.cpp
libcore/asobj/XML_as.cpp
libcore/asobj/XML_as.h
libcore/asobj/flash/external/ExternalInterface_as.cpp
libcore/asobj/flash/geom/Matrix_as.cpp
libcore/asobj/flash/geom/Transform_as.cpp
libcore/bitmap_info.h
libcore/character.cpp
libcore/character.h
libcore/cxform.cpp
libcore/fill_style.cpp
libcore/fill_style.h
libcore/fontlib.cpp
libcore/fontlib.h
libcore/generic_character.cpp
libcore/gnash.h
libcore/impl.cpp
libcore/impl.h
libcore/movie_instance.cpp
libcore/movie_instance.h
libcore/movie_root.cpp
libcore/movie_root.h
libcore/namedStrings.cpp
libcore/namedStrings.h
libcore/parser/BitmapMovieDefinition.cpp
libcore/parser/BitmapMovieDefinition.h
libcore/parser/Makefile.am
libcore/parser/SWFMovieDefinition.cpp
libcore/parser/SWFMovieDefinition.h
libcore/parser/bitmap_character_def.cpp
libcore/parser/bitmap_character_def.h
libcore/parser/character_def.h
libcore/parser/filter_factory.cpp
libcore/parser/morph2_character_def.cpp
libcore/parser/morph2_character_def.h
libcore/parser/movie_definition.h
libcore/parser/shape_character_def.cpp
libcore/parser/shape_character_def.h
libcore/parser/sound_definition.cpp
libcore/parser/sound_definition.h
libcore/parser/sprite_definition.cpp
libcore/parser/sprite_definition.h
libcore/rect.cpp
libcore/rect.h
libcore/render.cpp
libcore/render.h
libcore/shape.h
libcore/styles.h
libcore/swf.h
libcore/swf/CSMTextSettingsTag.cpp
libcore/swf/CSMTextSettingsTag.h
libcore/swf/ControlTag.h
libcore/swf/DefineButtonCxformTag.h
libcore/swf/DefineFontAlignZonesTag.cpp
libcore/swf/DefineFontAlignZonesTag.h
libcore/swf/DisplayListTag.h
libcore/swf/DoActionTag.h
libcore/swf/DoInitActionTag.h
libcore/swf/PlaceObject2Tag.cpp
libcore/swf/PlaceObject2Tag.h
libcore/swf/RemoveObjectTag.cpp
libcore/swf/RemoveObjectTag.h
libcore/swf/ScriptLimitsTag.h
libcore/swf/SetBackgroundColorTag.h
libcore/swf/StartSoundTag.cpp
libcore/swf/StartSoundTag.h
libcore/swf/StreamSoundBlockTag.cpp
libcore/swf/StreamSoundBlockTag.h
libcore/swf/TagLoadersTable.h
libcore/swf/tag_loaders.cpp
libcore/swf/tag_loaders.h
libcore/swf_function.cpp
libcore/timers.cpp
libcore/vm/ASHandlers.cpp
libcore/vm/ActionExec.cpp
libcore/vm/ExecutableCode.h
libcore/vm/Makefile.am
libcore/vm/SafeStack.h
libcore/vm/VM.cpp
libcore/vm/VM.h
libcore/vm/action.cpp
libcore/vm/action.h
libmedia/AudioDecoder.h
libmedia/AudioDecoderNellymoser.cpp
libmedia/AudioDecoderNellymoser.h
libmedia/AudioDecoderSimple.cpp
libmedia/AudioDecoderSimple.h
libmedia/FLVParser.cpp
libmedia/FLVParser.h
libmedia/Makefile.am
libmedia/MediaHandler.cpp
libmedia/MediaHandler.h
libmedia/MediaParser.cpp
libmedia/MediaParser.h
libmedia/README
libmedia/SoundInfo.h
libmedia/VideoDecoder.h
libmedia/ffmpeg/AudioDecoderFfmpeg.cpp
libmedia/ffmpeg/AudioDecoderFfmpeg.h
libmedia/ffmpeg/MediaHandlerFfmpeg.cpp
libmedia/ffmpeg/MediaHandlerFfmpeg.h
libmedia/ffmpeg/MediaParserFfmpeg.cpp
libmedia/ffmpeg/MediaParserFfmpeg.h
libmedia/ffmpeg/VideoDecoderFfmpeg.cpp
libmedia/ffmpeg/VideoDecoderFfmpeg.h
libmedia/ffmpeg/ffmpegHeaders.h
libmedia/gst/AudioDecoderGst.cpp
libmedia/gst/AudioDecoderGst.h
libmedia/gst/GstUtil.cpp
libmedia/gst/GstUtil.h
libmedia/gst/MediaHandlerGst.cpp
libmedia/gst/MediaHandlerGst.h
libmedia/gst/MediaParserGst.cpp
libmedia/gst/MediaParserGst.h
libmedia/gst/VideoDecoderGst.cpp
libmedia/gst/VideoDecoderGst.h
libnet/Makefile.am
libnet/cque.cpp
libnet/cque.h
libnet/handler.cpp
libnet/handler.h
libnet/http.cpp
libnet/http.h
libnet/rtmp.cpp
libnet/rtmp.h
libnet/rtmp_client.cpp
libnet/rtmp_client.h
libnet/rtmp_msg.cpp
libnet/rtmp_msg.h
libnet/rtmp_server.cpp
libnet/rtmp_server.h
macros/ffmpeg.m4
macros/xpcom.m4
packaging/debian/gnash-common.install
packaging/debian/mozilla-plugin-gnash.install
packaging/debian/rules
packaging/redhat/gnash.spec
packaging/rpm.am
packaging/snapshot.am
plugin/Makefile.am
plugin/klash/Makefile.am
plugin/mozilla-sdk/Makefile.am
plugin/mozilla-sdk/np_entry.cpp
plugin/plugin.cpp
plugin/win32/Makefile.am
plugin/win32/npgnash.c
plugin/win32/plugin.cpp
plugin/win32/plugin.h
po/cs.po
pythonmodule/gnashpython.cpp
testsuite/FuzzyPixel.cpp
testsuite/FuzzyPixel.h
testsuite/Makefile.am
testsuite/MovieTester.cpp
testsuite/MovieTester.h
testsuite/actionscript.all/AsBroadcaster.as
testsuite/actionscript.all/LoadVars.as
testsuite/actionscript.all/Makefile.am
testsuite/actionscript.all/MovieClip.as
testsuite/actionscript.all/Object.as
testsuite/actionscript.all/Sound.as
testsuite/actionscript.all/String.as
testsuite/actionscript.all/TextField.as
testsuite/actionscript.all/Transform.as
testsuite/actionscript.all/Video.as
testsuite/actionscript.all/delete.as
testsuite/actionscript.all/enumerate.as
testsuite/actionscript.all/toString_valueOf.as
testsuite/gnashrc.in
testsuite/libamf.all/test_amf.cpp
testsuite/libamf.all/test_buffer.cpp
testsuite/libamf.all/test_el.cpp
testsuite/libamf.all/test_flv.cpp
testsuite/libamf.all/test_lc.cpp
testsuite/libamf.all/test_sol.cpp
testsuite/libbase/URLTest.cpp
testsuite/libcore.all/AsValueTest.cpp
testsuite/libcore.all/ClassSizes.cpp
testsuite/libcore.all/DisplayListTest.cpp
testsuite/libcore.all/MatrixTest.cpp
testsuite/libcore.all/PropertyListTest.cpp
testsuite/libnet.all/Makefile.am
testsuite/libnet.all/test_cque.cpp
testsuite/libnet.all/test_handler.cpp
testsuite/libnet.all/test_rtmp.cpp
testsuite/media/README
testsuite/misc-ming.all/ButtonEventsTest-Runner.cpp
testsuite/misc-ming.all/DefineEditTextTest-Runner.cpp
testsuite/misc-ming.all/DefineEditTextTest.c
testsuite/misc-ming.all/DefineEditTextVariableNameTest-Runner.cpp
testsuite/misc-ming.all/DefineTextTest-Runner.cpp
testsuite/misc-ming.all/DragDropTestRunner.cpp
testsuite/misc-ming.all/DrawingApiTest.as
testsuite/misc-ming.all/DrawingApiTestRunner.cpp
testsuite/misc-ming.all/EmbeddedSoundTest-Runner.cpp
testsuite/misc-ming.all/EmbeddedSoundTest.c
testsuite/misc-ming.all/Makefile.am
testsuite/misc-ming.all/NetStream-SquareTest.c
testsuite/misc-ming.all/NetStream-SquareTestRunner.cpp
testsuite/misc-ming.all/PrototypeEventListenersTestRunner.cpp
testsuite/misc-ming.all/RollOverOutTest-Runner.cpp
testsuite/misc-ming.all/SpriteButtonEventsTest-Runner.cpp
testsuite/misc-ming.all/Video-EmbedSquareTest.c
testsuite/misc-ming.all/Video-EmbedSquareTestRunner.cpp
testsuite/misc-ming.all/attachMovieLoopingTestRunner.cpp
testsuite/misc-ming.all/attachMovieTestRunner.cpp
testsuite/misc-ming.all/eventSoundTest1-Runner.cpp
testsuite/misc-ming.all/eventSoundTest1.c
testsuite/misc-ming.all/intervalTestRunner.cpp
testsuite/misc-ming.all/key_event_testrunner.cpp
testsuite/misc-ming.all/loadMovieTestRunner.cpp
testsuite/misc-ming.all/loop_test-Runner.cpp
testsuite/misc-ming.all/loop_test2runner.cpp
testsuite/misc-ming.all/masks_test2runner.cpp
testsuite/misc-ming.all/masks_testrunner.cpp
testsuite/misc-ming.all/ming_utils.c
testsuite/misc-ming.all/morph_test1runner.cpp
testsuite/misc-ming.all/registerClassTestRunner.cpp
testsuite/misc-ming.all/replace_buttons1test_runner.cpp
testsuite/misc-ming.all/replace_shapes1test_runner.cpp
testsuite/misc-ming.all/replace_sprites1test_runner.cpp
testsuite/misc-ming.all/root_stop_testrunner.cpp
testsuite/misc-ming.all/simple_loop_testrunner.cpp
testsuite/misc-ming.all/streamingSoundTest1-Runner.cpp
testsuite/misc-swfc.all/Makefile.am
testsuite/misc-swfc.all/button_test1runner.cpp
testsuite/misc-swfmill.all/Makefile.am
testsuite/misc-swfmill.all/backgroundTestRunner.cpp
testsuite/movies.all/Makefile.am
testsuite/movies.all/gravity_embedded-TestRunner.cpp
testsuite/samples/Makefile.am
testsuite/samples/clip_as_button2-TestRunner.cpp
testsuite/samples/gotoFrameOnKeyEvent-TestRunner.cpp
testsuite/samples/subshapes-TestRunner.cpp
testsuite/swfdec/Makefile.am
testsuite/swfdec/PASSING
utilities/Makefile.am
utilities/dumpshm.cpp
utilities/flvdumper.cpp
utilities/processor.cpp
ChangeLog-0.8.4
libbase/GnashImage.cpp
libcore/asobj/Key_as.cpp
libcore/asobj/Key_as.h
libcore/asobj/NetStream_as.cpp
libcore/asobj/NetStream_as.h
libcore/asobj/Number_as.cpp
libcore/asobj/Stage_as.cpp
libcore/asobj/Stage_as.h
libcore/asobj/TextSnapshot_as.cpp
libcore/asobj/TextSnapshot_as.h
libcore/asobj/XMLNode_as.cpp
libcore/asobj/XMLNode_as.h
libcore/Button.cpp
libcore/Button.h
libcore/TextField.cpp
libcore/TextField.h
libcore/Font.cpp
libcore/Font.h
libcore/SWFMatrix.cpp
libcore/SWFMatrix.h
libcore/MouseButtonState.h
libcore/swf/DefineButtonTag.cpp
libcore/swf/DefineButtonTag.h
libcore/swf/DefineTextTag.cpp
libcore/swf/DefineTextTag.h
libcore/swf/DefineVideoStreamTag.cpp
libcore/swf/DefineVideoStreamTag.h
libcore/ExportableResource.h
libcore/MovieClip.cpp
libcore/MovieClip.h
libcore/RGBA.cpp
libcore/RGBA.h
libcore/Video.cpp
libcore/Video.h
libsound/NullSoundHandler.h
libmedia/AudioResampler.cpp
libmedia/AudioResampler.h
libmedia/ffmpeg/AudioResamplerFfmpeg.cpp
libmedia/ffmpeg/AudioResamplerFfmpeg.h
libsound/sdl/sound_handler_sdl.cpp
libsound/sdl/sound_handler_sdl.h
libsound/sound_handler.h
------------------------------------------------------------
revno: 9735.1.12
committer: Benjamin Wolsey <address@hidden>
branch nick: kde4
timestamp: Thu 2008-11-13 17:07:59 +0100
message:
Apply Bernhard Rosenkraenzer's patches.
modified:
gui/Kde4Gui.cpp
gui/Kde4Gui.h
gui/am-frag/kde4.am
plugin/klash4/Makefile.in
------------------------------------------------------------
revno: 9735.1.13
committer: address@hidden
branch nick: kde4
timestamp: Fri 2008-11-14 15:22:01 -0700
message:
Cleanup configuring for QT3, QT4, KDE3, and KDE4, by separating the old
macros into their own files. This reduces complexity for the obscure
differences between how these 3 packages get installed by variious
distributions.
added:
macros/qt4.m4
renamed:
macros/kde.m4 => macros/kde3.m4
macros/qt.m4 => macros/qt3.m4
modified:
macros/kde4.m4
macros/libslist
macros/kde3.m4
macros/qt3.m4
------------------------------------------------------------
revno: 9735.1.14
committer: address@hidden
branch nick: kde4
timestamp: Fri 2008-11-14 15:25:03 -0700
message:
renamed to klash3.moc.in.
removed:
gui/klash.moc.in
------------------------------------------------------------
revno: 9735.1.15
committer: address@hidden
branch nick: kde4
timestamp: Fri 2008-11-14 15:26:20 -0700
message:
rename file
removed:
gui/Kde4.moc
added:
gui/klash4.moc.in
------------------------------------------------------------
revno: 9735.1.16
committer: address@hidden
branch nick: kde4
timestamp: Fri 2008-11-14 15:26:50 -0700
message:
rename files to be clearer
renamed:
gui/am-frag/kde.am => gui/am-frag/kde3.am
gui/am-frag/qtopia.am => gui/am-frag/qtopia3.am
modified:
gui/am-frag/kde4.am
gui/am-frag/kde3.am
gui/am-frag/qtopia3.am
------------------------------------------------------------
revno: 9735.1.17
committer: address@hidden
branch nick: kde4
timestamp: Fri 2008-11-14 15:38:45 -0700
message:
include klash4.moc instead of Kde4
modified:
gui/Kde4Gui.cpp
------------------------------------------------------------
revno: 9735.1.18
committer: address@hidden
branch nick: kde4
timestamp: Fri 2008-11-14 15:39:17 -0700
message:
include klash3.moc instead of klash.moc.
use new macros from refactored config macros.
modified:
gui/kde.cpp
------------------------------------------------------------
revno: 9735.1.19
committer: address@hidden
branch nick: kde4
timestamp: Fri 2008-11-14 15:40:33 -0700
message:
use new constants from refactored config macros.
modified:
gui/gui_kde.cpp
------------------------------------------------------------
revno: 9735.1.20
committer: address@hidden
branch nick: kde4
timestamp: Fri 2008-11-14 15:41:27 -0700
message:
use renamed variables for the whole qt/kde/3/4 mess.
modified:
Makefile.am
gui/Makefile.am
plugin/Makefile.am
plugin/klash/Makefile.am
plugin/klash4/Makefile.am
plugin/klash4/Makefile.in
------------------------------------------------------------
revno: 9735.1.21
committer: address@hidden
branch nick: kde4
timestamp: Fri 2008-11-14 15:41:43 -0700
message:
use new constants from refactored config macros.
modified:
gui/Player.cpp
------------------------------------------------------------
revno: 9735.1.22
committer: address@hidden
branch nick: kde4
timestamp: Fri 2008-11-14 15:42:03 -0700
message:
Rearrange how all the QT and KDE paths get found.
Cleanup the display messages, both kde3 and kde4 can cooexist now.
modified:
configure.ac
------------------------------------------------------------
revno: 9735.1.23
committer: Benjamin Wolsey <address@hidden>
branch nick: kde4
timestamp: Thu 2008-12-04 09:57:10 +0100
message:
Don't distribute Makefile.in.
removed:
plugin/klash4/Makefile.in
------------------------------------------------------------
revno: 9735.1.24
committer: Benjamin Wolsey <address@hidden>
branch nick: kde4
timestamp: Thu 2008-12-04 10:27:57 +0100
message:
Add recreated moc files.
Apply patch from John Wimer <address@hidden> adding fullscreen support
(invalidated bounds not yet updated correctly).
modified:
gui/Kde4Gui.cpp
gui/Kde4Gui.h
gui/klash4.moc.in
plugin/klash4/klash_part.moc.in
------------------------------------------------------------
revno: 9735.1.25
committer: Benjamin Wolsey <address@hidden>
branch nick: kde4
timestamp: Thu 2008-12-04 11:21:27 +0100
message:
Merge from trunk.
removed:
libcore/asobj/xmlattrs.cpp
libcore/asobj/xmlattrs.h
libcore/shape.cpp
macros/libXML.m4
added:
libbase/GnashSystemIOHeaders.h
libcore/asobj/PlayHead.cpp
libcore/asobj/PlayHead.h
libcore/swf.cpp
testsuite/misc-ming.all/easysound.as
testsuite/misc-ming.all/widgets.as
modified:
Makefile.am
backend/render_handler_agg.cpp
configure.ac
cygnal/crc.cpp
cygnal/cygnal.cpp
cygnal/stream.cpp
cygnal/testsuite/cygnal.all/test_crc.cpp
doc/C/refmanual/code_dependencies.xml
doc/C/refmanual/custompath_configuration.xml
extensions/fileio/fileio.cpp
gui/Player.cpp
gui/aqua.cpp
gui/fb.cpp
gui/gtk.cpp
gui/gtk_glue_agg.cpp
gui/gtk_glue_agg.h
gui/gui.cpp
gui/sdl.cpp
libamf/amf.cpp
libamf/amftest.cpp
libamf/lcshm.cpp
libamf/lcshm.h
libamf/sol.cpp
libbase/BitsReader.h
libbase/GnashImage.cpp
libbase/GnashImage.h
libbase/GnashImageGif.cpp
libbase/GnashImageJpeg.cpp
libbase/GnashImageJpeg.h
libbase/GnashImagePng.cpp
libbase/Makefile.am
libbase/SimpleBuffer.h
libbase/URL.cpp
libbase/curl_adapter.cpp
libbase/log.h
libbase/noseek_fd_adapter.cpp
libbase/tu_file.cpp
libbase/utf8.h
libbase/utility.h
libcore/Button.cpp
libcore/Button.h
libcore/CharacterProxy.cpp
libcore/DisplayList.cpp
libcore/DisplayList.h
libcore/DynamicShape.h
libcore/Font.cpp
libcore/LoadVariablesThread.cpp
libcore/Makefile.am
libcore/MovieClip.cpp
libcore/MovieClip.h
libcore/RGBA.cpp
libcore/SWFMatrix.cpp
libcore/SWFStream.cpp
libcore/SWFStream.h
libcore/StreamProvider.cpp
libcore/StreamProvider.h
libcore/TextField.cpp
libcore/TextField.h
libcore/URLAccessManager.cpp
libcore/Video.cpp
libcore/Video.h
libcore/array.cpp
libcore/array.h
libcore/as_environment.cpp
libcore/as_environment.h
libcore/as_function.cpp
libcore/as_object.h
libcore/as_prop_flags.h
libcore/as_value.cpp
libcore/as_value.h
libcore/asobj/AsBroadcaster.cpp
libcore/asobj/ClassHierarchy.cpp
libcore/asobj/Date.cpp
libcore/asobj/Global.cpp
libcore/asobj/Key_as.cpp
libcore/asobj/LoadVars_as.cpp
libcore/asobj/LocalConnection.cpp
libcore/asobj/LocalConnection.h
libcore/asobj/Makefile.am
libcore/asobj/MovieClipLoader.cpp
libcore/asobj/NetConnection.cpp
libcore/asobj/NetConnection.h
libcore/asobj/NetStream_as.cpp
libcore/asobj/NetStream_as.h
libcore/asobj/Object.cpp
libcore/asobj/Selection.cpp
libcore/asobj/SharedObject.cpp
libcore/asobj/Sound.cpp
libcore/asobj/Sound.h
libcore/asobj/String_as.cpp
libcore/asobj/XMLNode_as.cpp
libcore/asobj/XMLNode_as.h
libcore/asobj/XMLSocket_as.cpp
libcore/asobj/XML_as.cpp
libcore/asobj/XML_as.h
libcore/asobj/flash/display/BitmapData_as.cpp
libcore/character.cpp
libcore/character.h
libcore/fontlib.cpp
libcore/impl.cpp
libcore/movie_instance.cpp
libcore/movie_instance.h
libcore/movie_root.cpp
libcore/movie_root.h
libcore/namedStrings.cpp
libcore/namedStrings.h
libcore/parser/SWFMovieDefinition.cpp
libcore/parser/SWFMovieDefinition.h
libcore/parser/action_buffer.cpp
libcore/parser/action_buffer.h
libcore/parser/character_def.h
libcore/parser/movie_definition.h
libcore/parser/shape_character_def.cpp
libcore/parser/shape_character_def.h
libcore/parser/sprite_definition.h
libcore/swf.h
libcore/swf/DefineButtonSoundTag.h
libcore/swf/PlaceObject2Tag.cpp
libcore/swf/SoundInfoRecord.cpp
libcore/swf/SoundInfoRecord.h
libcore/swf/StartSoundTag.cpp
libcore/swf/StartSoundTag.h
libcore/swf/StreamSoundBlockTag.cpp
libcore/swf/tag_loaders.cpp
libcore/vm/ASHandlers.cpp
libcore/vm/ASHandlers.h
libcore/vm/ActionExec.cpp
libcore/vm/ActionExec.h
libcore/vm/CodeStream.h
libcore/vm/Machine.cpp
libcore/vm/VM.cpp
libcore/vm/VM.h
libcore/vm/action.cpp
libcore/vm/action.h
libcore/vm/fn_call.h
libmedia/FLVParser.cpp
libmedia/MediaHandler.cpp
libmedia/MediaParser.h
libmedia/ffmpeg/AudioDecoderFfmpeg.cpp
libmedia/ffmpeg/MediaParserFfmpeg.cpp
libmedia/gst/MediaHandlerGst.cpp
libmedia/gst/MediaParserGst.cpp
libmedia/gst/VideoDecoderGst.cpp
libnet/http.cpp
libnet/network.cpp
libsound/sdl/sound_handler_sdl.cpp
libsound/sdl/sound_handler_sdl.h
libsound/sound_handler.cpp
libsound/sound_handler.h
plugin/plugin.cpp
plugin/plugin.h
testsuite/MovieTester.cpp
testsuite/actionscript.all/LocalConnection.as
testsuite/actionscript.all/MovieClip.as
testsuite/actionscript.all/NetConnection.as
testsuite/actionscript.all/Selection.as
testsuite/actionscript.all/Sound.as
testsuite/actionscript.all/XML.as
testsuite/actionscript.all/XMLNode.as
testsuite/actionscript.all/setProperty.as
testsuite/libamf.all/test_lc.cpp
testsuite/libamf.all/test_number.cpp
testsuite/libamf.all/test_object.cpp
testsuite/libamf.all/test_string.cpp
testsuite/libamf.all/test_variable.cpp
testsuite/libbase/NoSeekFileTest.cpp
testsuite/libbase/TCXXRc.cpp
testsuite/libbase/URLTest.cpp
testsuite/libcore.all/AsValueTest.cpp
testsuite/libcore.all/BitsReaderTest.cpp
testsuite/libcore.all/StreamTest.cpp
testsuite/libcore.all/as_prop_flagsTest.cpp
testsuite/libnet.all/test_cque.cpp
testsuite/libnet.all/test_crc.cpp
testsuite/libnet.all/test_handler.cpp
testsuite/libnet.all/test_http.cpp
testsuite/misc-ming.all/DefineEditTextTest.c
testsuite/misc-ming.all/DragDropTestRunner.cpp
testsuite/misc-ming.all/EmbeddedSoundTest-Runner.cpp
testsuite/misc-ming.all/NetStream-SquareTest.c
testsuite/misc-ming.all/NetStream-SquareTestRunner.cpp
testsuite/misc-ming.all/attachMovieLoopingTest.c
testsuite/misc-ming.all/attachMovieLoopingTestRunner.cpp
testsuite/misc-ming.all/eventSoundTest1-Runner.cpp
testsuite/misc-ming.all/intervalTestRunner.cpp
testsuite/misc-ming.all/loadMovieTestRunner.cpp
testsuite/misc-swfc.all/swf4opcode.sc
testsuite/swfdec/PASSING
utilities/Makefile.am
utilities/dumpshm.cpp
utilities/soldumper.cpp
=== modified file 'Makefile.am'
--- a/Makefile.am 2008-12-20 02:03:30 +0000
+++ b/Makefile.am 2008-12-27 09:53:28 +0000
@@ -173,17 +173,29 @@
@echo "GUI Toolkit decoding support..."
@echo " SDL_CFLAGS is $(SDL_CFLAGS)"
@echo " SDL_LIBS is $(SDL_LIBS)"
-if BUILD_KDE_GUI
- @echo " KDE_CFLAGS is $(KDE_CFLAGS)"
- @echo " KDE_LIBS is $(KDE_LIBS)"
-endif
-if BUILD_QT_GUI
- @echo " QT_CFLAGS is $(QT_CFLAGS)"
- @echo " QT_LIBS is $(QT_LIBS)"
-endif
-if BUILD_QTOPIA_GUI
- @echo " QTOPIA_CFLAGS is $(QTOPIA_CFLAGS)"
- @echo " QTOPIA_LIBS is $(QTOPIA_LIBS)"
+if BUILD_KDE3_GUI
+ @echo " KDE3_CFLAGS is $(KDE3_CFLAGS)"
+ @echo " KDE3_LIBS is $(KDE3_LIBS)"
+endif
+if BUILD_KDE4_GUI
+ @echo " KDE4_CFLAGS is $(KDE4_CFLAGS)"
+ @echo " KDE4_LIBS is $(KDE4_LIBS)"
+endif
+if BUILD_QT3_GUI
+ @echo " QT3_CFLAGS is $(QT3_CFLAGS)"
+ @echo " QT3_LIBS is $(QT3_LIBS)"
+endif
+if BUILD_QT4_GUI
+ @echo " QT4_CFLAGS is $(QT4_CFLAGS)"
+ @echo " QT4_LIBS is $(QT4_LIBS)"
+endif
+if BUILD_QTOPIA3_GUI
+ @echo " QTOPIA3_CFLAGS is $(QTOPIA3_CFLAGS)"
+ @echo " QTOPIA3_LIBS is $(QTOPIA3_LIBS)"
+endif
+if BUILD_QTOPIA4_GUI
+ @echo " QTOPIA4_CFLAGS is $(QTOPIA4_CFLAGS)"
+ @echo " QTOPIA4_LIBS is $(QTOPIA4_LIBS)"
endif
if BUILD_FLTK_GUI
@echo " FLTK2_CFLAGS is $(FLTK2_CFLAGS)"
@@ -310,11 +322,17 @@
if BUILD_ALP_GUI
@echo " Supported GUI: ALP/Hiker"
endif
-if BUILD_KDE_GUI
- @echo " Supported GUI: KDE"
-endif
-if BUILD_QTOPIA_GUI
- @echo " Supported GUI: QTOPIA"
+if BUILD_KDE3_GUI
+ @echo " Supported GUI: KDE3"
+endif
+if BUILD_KDE4_GUI
+ @echo " Supported GUI: KDE4"
+endif
+if BUILD_QTOPIA3_GUI
+ @echo " Supported GUI: QTOPIA3"
+endif
+if BUILD_QTOPIA4_GUI
+ @echo " Supported GUI: QTOPIA4"
endif
if BUILD_SDL_GUI
@echo " Supported GUI: SDL"
@@ -344,14 +362,23 @@
@if test -n "$(STATISTICS_LIST)" ; then \
echo " Statistics features enables are: $(STATISTICS_LIST)"; \
fi
-if KPARTS
- @echo " KPARTS (KDE) plugin enabled"
- @echo " KPARTS plugin install dir: $(KDE_PLUGINDIR)"
- @echo " KPARTS service install dir: $(KDE_SERVICESDIR)"
- @echo " KPARTS config dir: ${KDE_CONFIGDIR}"
- @echo " KPARTS appsdata dir: ${KDE_APPSDATADIR}"
-else
- @echo " KPARTS (KDE) plugin disabled"
+if KPARTS3
+ @echo " KPARTS 3.x (KDE) plugin enabled"
+ @echo " KPARTS 3.x plugin install dir: $(KDE_PLUGINDIR)"
+ @echo " KPARTS 3.x service install dir: $(KDE_SERVICESDIR)"
+ @echo " KPARTS 3.x config dir: ${KDE_CONFIGDIR}"
+ @echo " KPARTS 3.x appsdata dir: ${KDE_APPSDATADIR}"
+else
+ @echo " KPARTS 3.x (KDE) plugin disabled"
+endif
+if KPARTS4
+ @echo " KPARTS 4.x (KDE) plugin enabled"
+ @echo " KPARTS 4.x plugin install dir: $(KDE_PLUGINDIR)"
+ @echo " KPARTS 4.x service install dir: $(KDE_SERVICESDIR)"
+ @echo " KPARTS 4.x config dir: ${KDE_CONFIGDIR}"
+ @echo " KPARTS 4.x appsdata dir: ${KDE_APPSDATADIR}"
+else
+ @echo " KPARTS 4.x (KDE) plugin disabled"
endif
if NPAPI
=== modified file 'configure.ac'
--- a/configure.ac 2008-12-20 02:03:30 +0000
+++ b/configure.ac 2008-12-27 09:53:28 +0000
@@ -448,21 +448,25 @@
AM_CONDITIONAL(SDKINSTALL, test x$sdkinstall = xyes)
-has_kde=no
-has_gtk2=no
+has_gtk2=no dnl FIXME: has_* shouldn't be in configure but
in a macro
+
+build_kde3=no
+build_kde4=no
+build_qtopia3=no
+build_qtopia4=no
+build_gtk=no
+build_qt3=no
+build_qt4=no
build_fb=no
build_fltk=no
-build_kde=no
-build_gtk=no
build_sdl=no
build_riscos=no
build_aqua=no
build_hildon=no
build_alp=no
-build_qtopia=no
build_dump=no
AC_ARG_ENABLE(gui,
- AC_HELP_STRING([--enable-gui=], [Use the specified GUI toolkit
(default=gtk,kde)]),
+ AC_HELP_STRING([--enable-gui=], [Use the specified GUI toolkit
(default=gtk,kde3)]),
if test -n ${enableval}; then
enableval=`echo ${enableval} | tr '\054' ' ' `
fi
@@ -484,15 +488,27 @@
dnl AC_DEFINE(USE_GTK, [1], [Use the GTK GUI])
build_gtk=yes
;;
- kde|KDE)
- build_kde=yes
- ;;
- qtopia|QTOPIA)
- build_qtopia=yes
- build_qt=yes
- ;;
- qt|QT)
- build_qt=yes
+ kde3|KDE3)
+ build_qt3=yes
+ build_kde3=yes
+ ;;
+ kde4|KDE4)
+ build_qt4=yes
+ build_kde4=yes
+ ;;
+ qtopia3|QTOPIA3)
+ build_qtopia3=yes
+ build_qt3=yes
+ ;;
+ qtopia4|QTOPIA4)
+ build_qtopia4=yes
+ build_qt4=yes
+ ;;
+ qt3|QT3)
+ build_qt3=yes
+ ;;
+ qt4|QT4)
+ build_qt4=yes
;;
sdl|SDL)
build_sdl=yes
@@ -516,7 +532,8 @@
build_dump=yes
build_fb=yes
build_fltk=yes
- build_kde=yes
+ build_kde3=yes
+ build_kde4=yes
build_gtk=yes
build_sdl=yes
dnl build_qtopia=yes
@@ -524,14 +541,14 @@
dnl build_alp=yes
dnl build_riscos=yes
;;
- *) AC_MSG_ERROR([invalid gui ${enableval} given (accept:
gtk|kde|fltk|sdl|riscos|aqua|fb|hildon|alp|qtopia|dump)])
+ *) AC_MSG_ERROR([invalid gui ${enableval} given (accept:
gtk|kde3|kde4|fltk|sdl|riscos|aqua|fb|hildon|alp|qtopia3|qtopia4|dump)])
;;
esac]
enableval=`echo ${enableval} | cut -d ' ' -f 2-6`
if test "x$val" = "x$enableval"; then
break;
fi
- done,build_gtk=yes;build_kde=yes;
+ done,build_gtk=yes;build_kde3=yes;build_qt3=yes;
)
add_renderer=
@@ -1117,7 +1134,7 @@
fi
cross_compiling=yes
dnl build_gtk=yes
- build_kde=no
+ build_kde3=no
build_ogl=no
build_agg=yes
fi
@@ -1158,7 +1175,7 @@
if test x$build_hildon = xyes; then
GNASH_PATH_HILDON
build_gtk=yes
- build_kde=no
+ build_kde3=no
dnl build_ogl=no
dnl build_agg=yes
fi
@@ -1208,13 +1225,25 @@
dnl Add KPARTS support, if specified or KDE gui is built
dnl ----------------------------------------------------
-AC_ARG_ENABLE(kparts,
- AC_HELP_STRING([--disable-kparts], [Disble support for Konqueror plugin
(default: enabled if kde gui is)]),
-[case "${enableval}" in
- yes) kparts=yes ;;
- no) kparts=no ;;
- *) AC_MSG_ERROR([bad value ${enableval} for --disable-kpart option]) ;;
-esac],kparts=$build_kde)
+AC_ARG_ENABLE(kparts3,
+ AC_HELP_STRING([--disable-kparts3], [Disble support for Konqueror 3.x plugin
(default: enabled if kde3 gui is)]),
+[case "${enableval}" in
+ yes) build_kparts3=yes ;;
+ no) build_kparts3=no ;;
+ *) AC_MSG_ERROR([bad value ${enableval} for --disable-kparts3 option]) ;;
+esac],build_kparts3=$build_kde3)
+
+dnl --------------------------------------------------------
+dnl Add KPARTS 4.x support, if specified or KDE gui is built
+dnl --------------------------------------------------------
+
+AC_ARG_ENABLE(kparts4,
+ AC_HELP_STRING([--disable-kparts4], [Disble support for Konqueror 4.x plugin
(default: enabled if kde4 gui is)]),
+[case "${enableval}" in
+ yes) build_kparts4=yes ;;
+ no) build_kparts4=no ;;
+ *) AC_MSG_ERROR([bad value ${enableval} for --disable-kparts4 option]) ;;
+esac],build_kparts4=$build_kde4)
dnl ----------------------------------------------------
dnl Add NPAPI support, if specified or GTK gui is built
@@ -1245,7 +1274,8 @@
)
if test x$plugins = xno; then
npapi=no
- kparts=no
+ build_kparts3=no
+ build_kparts4=no
fi
dnl
@@ -1610,27 +1640,32 @@
AC_CHECK_SIZEOF(int)
AC_CHECK_SIZEOF(short)
-dnl # Check KDE if kde gui or kparts were requested
-if test x$build_kde = xyes -o x$kparts = xyes; then
- GNASH_PATH_KDE
-fi
-if test x$build_qt = xyes -o x$build_qtopia = xyes -o x$build_kde = xyes; then
- GNASH_PATH_QT
- if test x$build_qtopia = xyes; then
- GNASH_PATH_QTOPIA
- fi
-fi
-AM_CONDITIONAL(HAVE_QTOPIA, [test x$has_qtopia = xyes])
-AM_CONDITIONAL(HAVE_KDE, [test x$has_kde = xyes])
-AM_CONDITIONAL(HAVE_QT, [test x$has_qt = xyes])
-
-AM_CONDITIONAL(HAVE_QTOPIA_2, [test x"$gnash_qtopia_version" = x2])
-AM_CONDITIONAL(HAVE_QTOPIA_3, [test x"$gnash_qtopia_version" = x3])
-AM_CONDITIONAL(HAVE_QTOPIA_4, [test x"$gnash_qtopia_version" = x4])
-
-AM_CONDITIONAL(HAVE_QT_2, [test x"${gnash_qt_version}" != x && test
"${gnash_qt_version}" -eq 2])
-AM_CONDITIONAL(HAVE_QT_3, [test x"${gnash_qt_version}" != x && test
"${gnash_qt_version}" -eq 3])
-AM_CONDITIONAL(HAVE_QT_4, [test x"${gnash_qt_version}" != x && test
"${gnash_qt_version}" -eq 4])
+GNASH_PATH_QT3
+GNASH_PATH_KDE3
+
+GNASH_PATH_QT4
+GNASH_PATH_KDE4
+
+dnl Qtopia is a desktop environment for embedded devices.
+dnl GNASH_PATH_QTOPIA3
+dnl GNASH_PATH_QTOPIA4
+has_qtopia3=no
+has_qtopia4=no
+
+
+AM_CONDITIONAL(HAVE_QTOPIA3, [test x$has_qtopia3 = xyes])
+AM_CONDITIONAL(HAVE_QTOPIA4, [test x$has_qtopia4 = xyes])
+AM_CONDITIONAL(HAVE_KDE3, [test x$has_kde3 = xyes])
+AM_CONDITIONAL(HAVE_KDE4, [test x$has_kde4 = xyes])
+AM_CONDITIONAL(HAVE_QT3, [test x$has_qt3 = xyes])
+AM_CONDITIONAL(HAVE_QT4, [test x$has_qt4 = xyes])
+
+AM_CONDITIONAL(WITH_KDE4, test "$with_kde4" != "no")
+AM_CONDITIONAL([QT_X11], [test "$platform" = "X11"])
+AM_CONDITIONAL([QTOPIA], [test "$platform" = "Qtopia"])
+AM_CONDITIONAL([QT_OSX], [test "$platform" = "OSX"])
+AM_CONDITIONAL([QT_OS9], [test "$platform" = "OS9"])
+AM_CONDITIONAL([QT_WIN32], [test "$platform" = "Win32"])
dnl Need GLIB for both GTK and GST
if test x$build_gtk = xyes -o x${Media_handler} = "xgst"; then
@@ -1654,35 +1689,47 @@
dnl if kde isn't installed, even if it's specified, don't try to build
dnl the KPARTS plugin, which is KDE based.
-if test x$has_kde = xno -a x$kparts = xyes; then
- kparts=no
-dnl build_kde=no
- AC_MSG_WARN(["Disabling KPARTS plugin, no KDE development found"])
-fi
-
-if test x$build_kde = xno -a x$kparts = xyes; then
- AC_MSG_WARN(["Enabled KPARTS plugin, but you aren't building a KDE based
GUI!"])
-fi
-
-AM_CONDITIONAL(BUILD_QTOPIA_GUI, [ test x$build_qtopia = xyes ])
-AM_CONDITIONAL(BUILD_ALP_GUI, [ test x$build_alp = xyes ])
-AM_CONDITIONAL(BUILD_QT_GUI, [ test x$build_qt = xyes ])
-AM_CONDITIONAL(BUILD_HILDON_GUI, [ test x$build_hildon = xyes ])
-AM_CONDITIONAL(BUILD_GTK_GUI, [ test x$build_gtk = xyes ])
-AM_CONDITIONAL(BUILD_KDE_GUI, [ test x$build_kde = xyes ])
-AM_CONDITIONAL(BUILD_FLTK_GUI, [ test x$build_fltk = xyes ])
-AM_CONDITIONAL(BUILD_SDL_GUI, [ test x$build_sdl = xyes ])
-AM_CONDITIONAL(BUILD_FB_GUI, [ test x$build_fb = xyes ])
-AM_CONDITIONAL(BUILD_AQUA_GUI, [ test x$build_aqua = xyes ])
-AM_CONDITIONAL(BUILD_RISCOS_GUI, [ test x$build_riscos = xyes ])
-AM_CONDITIONAL(BUILD_DUMP_GUI, [ test x$build_dump = xyes ])
+if test x$has_kde3 = xno -a x$build_kparts3 = xyes; then
+ build_kparts3=no
+dnl build_kde3=no
+ AC_MSG_WARN(["Disabling KPARTS 3.x plugin, no KDE development found"])
+fi
+
+if test x$build_kde3 = xno -a x$build_kparts3 = xyes; then
+ AC_MSG_WARN(["Enabled KPARTS 3.x plugin, but you aren't building a KDE based
GUI!"])
+fi
+if test x$has_kde4 = xno -a x$build_kparts4 = xyes; then
+ build_kparts4=no
+dnl build_kde4=no
+ AC_MSG_WARN(["Disabling KPARTS 4.x plugin, no KDE 4.x development found"])
+fi
+
+if test x$build_kde4 = xno -a x$kparts4 = xyes; then
+ AC_MSG_WARN(["Enabled KPARTS 4.x plugin, but you aren't building a KDE 4.x
based GUI!"])
+fi
+
+AM_CONDITIONAL(BUILD_QTOPIA3_GUI, [ test x$build_qtopia3 = xyes ])
+AM_CONDITIONAL(BUILD_QTOPIA4_GUI, [ test x$build_qtopia4 = xyes ])
+AM_CONDITIONAL(BUILD_QT3_GUI, [ test x$build_qt3 = xyes ])
+AM_CONDITIONAL(BUILD_QT4_GUI, [ test x$build_qt4 = xyes ])
+AM_CONDITIONAL(BUILD_KDE3_GUI, [ test x$build_kde3 = xyes ])
+AM_CONDITIONAL(BUILD_KDE4_GUI, [ test x$build_kde4 = xyes ])
+
+AM_CONDITIONAL(BUILD_ALP_GUI, [ test x$build_alp = xyes ])
+AM_CONDITIONAL(BUILD_HILDON_GUI, [ test x$build_hildon = xyes ])
+AM_CONDITIONAL(BUILD_GTK_GUI, [ test x$build_gtk = xyes ])
+AM_CONDITIONAL(BUILD_FLTK_GUI, [ test x$build_fltk = xyes ])
+AM_CONDITIONAL(BUILD_SDL_GUI, [ test x$build_sdl = xyes ])
+AM_CONDITIONAL(BUILD_FB_GUI, [ test x$build_fb = xyes ])
+AM_CONDITIONAL(BUILD_AQUA_GUI, [ test x$build_aqua = xyes ])
+AM_CONDITIONAL(BUILD_RISCOS_GUI, [ test x$build_riscos = xyes ])
+AM_CONDITIONAL(BUILD_DUMP_GUI, [ test x$build_dump = xyes ])
# plugin building flags
AM_CONDITIONAL(NPAPI, [test x$npapi = xyes])
-AM_CONDITIONAL(KPARTS, [test x$kparts = xyes])
+AM_CONDITIONAL(KPARTS3, [test x$build_kparts3 = xyes])
+AM_CONDITIONAL(KPARTS4, [test x$build_kparts4 = xyes])
-AC_SUBST(KDE_CFLAGS)
-AC_SUBST(KDE_LIBS)
if test x$build_ogl = xyes; then
GNASH_PATH_OPENGL
fi
@@ -1720,7 +1767,7 @@
GNASH_PKG_FIND(expat, [expat.h], [Expat library], XML_ErrorString)
dnl these conditionals were moved out of kde.m4
-AM_CONDITIONAL(HAS_KDE, [test x$has_kde = xyes])
+AM_CONDITIONAL(HAS_KDE3, [test x$has_kde3 = xyes])
# used to disable x11-specific stuff on special platforms
AM_CONDITIONAL(include_x11, test "$kde_use_qt_emb" = "no" && test
"$kde_use_qt_mac" = "no")
AM_CONDITIONAL(include_ARTS, test "$build_arts" '!=' "no")
@@ -1814,7 +1861,7 @@
if test x$build_fltk = xyes; then
AC_MSG_ERROR([Cairo renderer is not supported by FLTK gui. Use
--enable-renderer=AGG or --enable-gui=gtk]);
fi
- if test x$build_kde = xyes; then
+ if test x$build_kde3 = xyes; then
AC_MSG_ERROR([Cairo renderer is not supported by KDE gui. Use
--enable-renderer=AGG or --enable-gui=gtk]);
fi
if test x$build_dump = xyes; then
@@ -2071,8 +2118,11 @@
CYGNAL_PATHS
SUPPORTED_GUIS=
-if test x$build_qtopia = xyes; then
- SUPPORTED_GUIS="${SUPPORTED_GUIS},qtopia"
+if test x$build_qtopia3 = xyes; then
+ SUPPORTED_GUIS="${SUPPORTED_GUIS},qtopia3"
+fi
+if test x$build_qtopia4 = xyes; then
+ SUPPORTED_GUIS="${SUPPORTED_GUIS},qtopia4"
fi
if test x$build_hildon = xyes; then
SUPPORTED_GUIS="${SUPPORTED_GUIS},hildon"
@@ -2086,8 +2136,17 @@
if test x$build_fltk = xyes; then
SUPPORTED_GUIS="${SUPPORTED_GUIS},fltk"
fi
-if test x$build_kde = xyes; then
- SUPPORTED_GUIS="${SUPPORTED_GUIS},kde"
+if test x$build_qt3 = xyes; then
+ SUPPORTED_GUIS="${SUPPORTED_GUIS},qt3"
+fi
+if test x$build_qt4 = xyes; then
+ SUPPORTED_GUIS="${SUPPORTED_GUIS},qt4"
+fi
+if test x$build_kde3 = xyes; then
+ SUPPORTED_GUIS="${SUPPORTED_GUIS},kde3"
+fi
+if test x$build_kde4 = xyes; then
+ SUPPORTED_GUIS="${SUPPORTED_GUIS},kde4"
fi
if test x$build_gtk = xyes; then
SUPPORTED_GUIS="${SUPPORTED_GUIS},gtk"
@@ -2161,6 +2220,7 @@
plugin/Makefile
plugin/xpcom/Makefile
plugin/klash/Makefile
+plugin/klash4/Makefile
plugin/mozilla-sdk/Makefile
plugin/win32/Makefile
cygnal/Makefile
@@ -2214,14 +2274,24 @@
echo " NPAPI plugin disabled."
fi
-if test x"$kparts" = x"yes"; then
- echo " KPARTS plugin enabled (default). Use --disable-kparts to
disable"
- echo " KPARTS plugin will be installed in ${KDE_PLUGINDIR}"
- echo " KPARTS service will be installed in ${KDE_SERVICESDIR}"
- echo " KPARTS config dir will be in ${KDE_CONFIGDIR}"
- echo " KPARTS appsdata will be installed in ${KDE_APPSDATADIR}"
-else
- echo " KPARTS plugin disabled."
+if test x"$build_kparts3" = x"yes"; then
+ echo " KPARTS 3.x plugin enabled (default). Use --disable-kparts3 to
disable"
+ echo " KPARTS 3.x plugin will be installed in ${KDE3_PLUGINDIR}"
+ echo " KPARTS 3.x service will be installed in
${KDE3_SERVICESDIR}"
+ echo " KPARTS 3.x config dir will be in ${KDE3_CONFIGDIR}"
+ echo " KPARTS 3.x appsdata will be installed in
${KDE3_APPSDATADIR}"
+else
+ echo " KPARTS 3.x plugin disabled."
+fi
+
+if test x"$build_kparts4" = x"yes"; then
+ echo " KPARTS 4.x plugin enabled (default). Use --disable-kparts4 to
disable"
+ echo " KPARTS 4.x plugin will be installed in ${KDE4_PLUGINDIR}"
+ echo " KPARTS 4.x service will be installed in
${KDE4_SERVICESDIR}"
+ echo " KPARTS 4.x config dir will be in ${KDE4_CONFIGDIR}"
+ echo " KPARTS 4.x appsdata will be installed in
${KDE4_APPSDATADIR}"
+else
+ echo " KPARTS 4.x plugin disabled."
fi
dnl -- if test x"${dynamic_gui}" = x"yes"; then
@@ -2300,59 +2370,101 @@
# out everything that is missing in one pass, hopefully making it
# easy for new developers to get everything they need installed.
-if test x$build_kde = xyes -o x$kparts = xyes; then
- if test x"$has_kde" = xyes; then
- echo " KDE flags are: $KDE_CFLAGS"
- echo " KDE libs are: $KDE_LIBS"
- else
- echo " ERROR: No KDE development package installed!" >&3
- echo " To disable the KDE gui," >&3
- echo " reconfigure using --enable-gui=<list-of-guis>" >&3
- echo " and omit "kde" from the list." >&3
- echo " When the option --enable-gui=... is omitted," >&3
- echo " the default is the same of --enable-gui=kde,gtk" >&3
- echo " To be able to build the kde gui," >&3
- echo " install the KDE development environment from
http://kde.org" >&3
- echo " or .deb users: apt-get install kdelibs-dev" >&3
- echo " or .rpm users: yum install kdelibs-devel." >&3
- fi
- if test x"$has_qt" = xyes; then
- echo " QT flags are: $QT_CFLAGS"
- echo " QT libs are: $QT_LIBS"
- else
- if test x$build_kde = xyes -o x$kparts = xyes ; then
- if test x"$has_kde" != xyes; then
- # We have already moaned about KDE absence, so presumably they'll get
- # QT-dev when they install KDE-dev
- :
- else
- # This should never happen unless they have a very odd version of KDE
- echo " ERROR: No QT development package installed!" >&3
- echo " Install a QT development environment from
http://trolltech.com" >&3
- echo " or .deb users: apt-get install libqt3-mt-dev" >&3
- if test x$kparts = xyes; then
- echo " or reconfigure with --disable-kparts" >&3
- fi
- if test x$build_kde = xyes; then
- echo " or change to a different gui with
--enable-gui=..." >&3
- fi
- fi
- fi
- fi
-fi
-
-if test x"$build_qtopia" = xyes; then
- if test x"${QTOPIA_LIBS}" != x ; then
- if test x"${QTOPIA_CFLAGS}" != x ; then
- echo " QTOPIA flags are: $QTOPIA_CFLAGS"
- else
- echo " QTOPIA flags are: default include path"
- fi
- echo " QTOPIA libs are: $QTOPIA_LIBS"
- else
- echo " ERROR: No QTOPIA library development package installed!" >&3
- echo " Install it from http://trolltech.com/downloads/" >&3
- echo " binary packages are not available." >&3
+dnl Dump QT3 options is the user specified a QT3 or KDE3 GUI
+if test x"${build_qt3}" = xyes; then
+ if test x"${has_qt3}" = xyes; then
+ echo " QT3 flags are: ${QT3_CFLAGS}"
+ echo " QT3 libs are: ${QT3_LIBS}"
+ else
+ echo " ERROR: No QT 3.x development package installed!" >&3
+ echo " Install a QT 3.x development environment from
http://trolltech.com" >&3
+ echo " or .deb users: apt-get install libqt3-mt-dev" >&3
+ if test x$build_kde3 = xyes; then
+ echo " or change to a different gui with --enable-gui=..."
>&3
+ fi
+ fi
+fi
+
+if test x"${build_qt4}" = xyes; then
+ if test x"${has_qt4}" = xyes; then
+ echo " QT4 flags are: ${QT4_CFLAGS}"
+ echo " QT4 libs are: ${QT4_LIBS}"
+ else
+ echo " ERROR: No QT 4.x development package installed!" >&3
+ echo " Install a QT 4.x development environment from
http://trolltech.com" >&3
+ echo " or .deb users: apt-get install qt4-dev-tools" >&3
+ if test x$build_kde4 = xyes; then
+ echo " or change to a different gui with --enable-gui=..."
>&3
+ fi
+ fi
+fi
+
+if test x"$build_qtopia3" = xyes; then
+ if test x"${QTOPIA3_LIBS}" != x ; then
+ if test x"${QTOPIA3_CFLAGS}" != x ; then
+ echo " QTOPIA 3.x flags are: $QTOPIA3_CFLAGS"
+ else
+ echo " QTOPIA 3.x flags are: default include path"
+ fi
+ echo " QTOPIA 3.x libs are: $QTOPIA3_LIBS"
+ else
+ echo " ERROR: No QTOPIA 3.x library development package installed!"
>&3
+ echo " Install it from http://trolltech.com/downloads/" >&3
+ echo " binary packages are not available." >&3
+ fi
+fi
+
+if test x"$build_qtopia4" = xyes; then
+ if test x"${QTOPIA4_LIBS}" != x ; then
+ if test x"${QTOPIA4_CFLAGS}" != x ; then
+ echo " QTOPIA 4.x flags are: $QTOPIA4_CFLAGS"
+ else
+ echo " QTOPIA 4.x flags are: default include path"
+ fi
+ echo " QTOPIA 4.x libs are: $QTOPIA4_LIBS"
+ else
+ echo " ERROR: No QTOPIA 4.x library development package installed!"
>&3
+ echo " Install it from http://trolltech.com/downloads/" >&3
+ echo " binary packages are not available." >&3
+ fi
+fi
+
+
+# -o x$build_kparts3 = xyes
+if test x$build_kde3 = xyes; then
+ if test x"$has_kde3" = xyes; then
+ echo " KDE 3.x flags are: $KDE3_CFLAGS"
+ echo " KDE 3.x libs are: $KDE3_LIBS"
+ else
+ echo " ERROR: No KDE 3.x development package installed!" >&3
+ echo " To disable the KDE 3.x gui," >&3
+ echo " reconfigure using --enable-gui=<list-of-guis>" >&3
+ echo " and omit "kde" from the list." >&3
+ echo " When the option --enable-gui=... is omitted," >&3
+ echo " the default is the same of --enable-gui=kde,gtk" >&3
+ echo " To be able to build the kde 3.x gui," >&3
+ echo " install version 3.x of the KDE development
environment from http://kde.org" >&3
+ echo " or .deb users: apt-get install kdelibs-dev" >&3
+ echo " or .rpm users: yum install kdelibs-devel." >&3
+ fi
+fi
+
+# -o x$build_kparts4 = xyes
+if test x$build_kde4 = xyes; then
+ if test x"$has_kde4" = xyes; then
+ echo " KDE 4.x flags are: $KDE4_CFLAGS"
+ echo " KDE 4.x libs are: $KDE4_LIBS"
+ else
+ echo " ERROR: No KDE 4.x development package installed!" >&3
+ echo " To disable the KDE 4.x gui," >&3
+ echo " reconfigure using --enable-gui=<list-of-guis>" >&3
+ echo " and omit "kde" from the list." >&3
+ echo " When the option --enable-gui=... is omitted," >&3
+ echo " the default is the same of --enable-gui=kde,gtk" >&3
+ echo " To be able to build the kde 4.x gui," >&3
+ echo " install version 4.x of the KDE development
environment from http://kde.org" >&3
+ echo " or .deb users: apt-get install kdelibs-dev" >&3
+ echo " or .rpm users: yum install kdelibs-devel." >&3
fi
fi
=== added file 'gui/GuiKde4.cpp'
--- a/gui/GuiKde4.cpp 1970-01-01 00:00:00 +0000
+++ b/gui/GuiKde4.cpp 2008-09-14 15:01:42 +0000
@@ -0,0 +1,46 @@
+//
+// Copyright (C) 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+//
+// 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 3 of the License, or
+// (at your option) any later version.
+//
+// This program 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+//
+
+
+#ifdef HAVE_CONFIG_H
+#include "gnashconfig.h"
+#endif
+
+#include "gui.h"
+#include "GnashException.h"
+
+#ifdef GUI_KDE4
+#include "Kde4Gui.h"
+#endif
+
+namespace gnash {
+
+#ifdef GUI_KDE4
+std::auto_ptr<Gui> createKDE4Gui(unsigned long windowid, float scale, bool
do_loop, unsigned int bit_depth)
+{
+ return std::auto_ptr<Gui>(new Kde4Gui(windowid, scale, do_loop,
bit_depth));
+}
+#else // ! GUI_KDE4
+std::auto_ptr<Gui> createKDE4Gui(unsigned long , float , bool , unsigned int )
+{
+ throw GnashException("Support for KDE4 gui was not compiled in");
+}
+#endif // ! GUI_KDE4
+
+} // namespace gnash
+
=== added file 'gui/Kde4Glue.h'
--- a/gui/Kde4Glue.h 1970-01-01 00:00:00 +0000
+++ b/gui/Kde4Glue.h 2008-10-09 07:35:53 +0000
@@ -0,0 +1,52 @@
+//
+// Copyright (C) 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+//
+// 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 3 of the License, or
+// (at your option) any later version.
+//
+// This program 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
+#ifndef GNASH_KDE4_GLUE_H
+#define GNASH_KDE4_GLUE_H
+
+#ifdef HAVE_CONFIG_H
+#include "gnashconfig.h"
+#endif
+
+#include "gnash.h"
+#include <QWidget>
+#include "snappingrange.h"
+
+
+namespace gnash
+{
+
+class Kde4Glue
+{
+ public:
+ Kde4Glue() : _drawing_area(NULL) {}
+ virtual ~Kde4Glue() { }
+ virtual bool init(int argc, char **argv[]) = 0;
+
+ virtual void prepDrawingArea(QWidget *drawing_area) = 0;
+ virtual render_handler* createRenderHandler() = 0;
+ virtual void render() = 0;
+ virtual void setInvalidatedRegions(const InvalidatedRanges& /* ranges */)
{}
+ virtual void resize(int, int) {}
+ virtual void initBuffer(int, int) {}
+ protected:
+ QWidget *_drawing_area;
+};
+
+} // namespace gnash
+
+#endif
=== added file 'gui/Kde4GlueAgg.cpp'
--- a/gui/Kde4GlueAgg.cpp 1970-01-01 00:00:00 +0000
+++ b/gui/Kde4GlueAgg.cpp 2008-09-15 10:03:34 +0000
@@ -0,0 +1,130 @@
+//
+// Copyright (C) 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+//
+// 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 3 of the License, or
+// (at your option) any later version.
+//
+// This program 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
+
+#ifdef HAVE_CONFIG_H
+#include "gnashconfig.h"
+#endif
+
+#include "Kde4GlueAgg.h"
+#include "render_handler.h"
+#include "render_handler_agg.h"
+#include <QImage>
+#include <QRect>
+
+namespace gnash
+{
+
+Kde4AggGlue::Kde4AggGlue()
+:
+ _width(0),
+ _height(0),
+ _renderer(0)
+{
+}
+
+Kde4AggGlue::~Kde4AggGlue()
+{
+}
+
+bool
+Kde4AggGlue::init(int /* argc */, char *** /* argv */)
+{
+ return true;
+}
+
+
+void
+Kde4AggGlue::prepDrawingArea(QWidget *drawing_area)
+{
+ _drawing_area = drawing_area;
+}
+
+
+void
+Kde4AggGlue::initBuffer(int width, int height)
+{
+ if (!_renderer) return;
+
+ _width = width;
+ _height = height;
+
+ int _bpp = 32;
+ int depth_bytes = _bpp / 8;
+
+ assert(_bpp % 8 == 0);
+
+#define CHUNK_SIZE (100 * 100 * depth_bytes)
+
+ int bufsize = (width * height * depth_bytes / CHUNK_SIZE + 1) * CHUNK_SIZE;
+
+ _offscreenbuf.reset(new unsigned char[bufsize]);
+
+ render_handler_agg_base * renderer =
+ static_cast<render_handler_agg_base *>(_renderer);
+
+ renderer->init_buffer(_offscreenbuf.get(), bufsize, _width, _height,
+ width*((_bpp+7)/8));
+
+ _image.reset(new QImage(_offscreenbuf.get(), _width, _height,
QImage::Format_RGB32));
+}
+
+
+void
+Kde4AggGlue::render()
+{
+ QRect r(0, 0, _width, _height);
+ render(r);
+}
+
+
+void
+Kde4AggGlue::render(const QRect& updateRect)
+{
+
+// log_debug("Render region: %d, %d, %d, %d", updateRect.topLeft().x(),
+//updateRect.topLeft().y(), updateRect.bottomRight().x(),
+//updateRect.bottomRight().y());
+
+ QPainter p(_drawing_area);
+
+ p.drawImage(updateRect, *_image, updateRect);
+ p.end();
+
+}
+
+
+render_handler*
+Kde4AggGlue::createRenderHandler()
+{
+ _renderer = create_render_handler_agg("BGRA32");
+
+ if ( ! _renderer )
+ {
+ throw GnashException("Could not create AGG renderer with pixelformat
ABGR32");
+ }
+ return _renderer;
+}
+
+void
+Kde4AggGlue::resize(int width, int height)
+{
+ initBuffer(width, height);
+}
+
+// end of namespace gnash
+}
=== added file 'gui/Kde4GlueAgg.h'
--- a/gui/Kde4GlueAgg.h 1970-01-01 00:00:00 +0000
+++ b/gui/Kde4GlueAgg.h 2008-10-09 07:35:53 +0000
@@ -0,0 +1,66 @@
+//
+// Copyright (C) 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+//
+// 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 3 of the License, or
+// (at your option) any later version.
+//
+// This program 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
+#ifndef GNASH_KDE4_AGG_GLUE_H
+#define GNASH_KDE4_AGG_GLUE_H
+
+
+#ifdef HAVE_CONFIG_H
+#include "gnashconfig.h"
+#endif
+
+#include "Kde4Glue.h"
+
+#include <QImage>
+#include <boost/scoped_array.hpp>
+#include <QPainter>
+#include "snappingrange.h"
+
+class QRect;
+
+namespace gnash
+{
+
+class Kde4AggGlue : public Kde4Glue
+{
+ public:
+ Kde4AggGlue();
+ ~Kde4AggGlue();
+
+ bool init(int argc, char **argv[]);
+ void prepDrawingArea(QWidget *drawing_area);
+ render_handler* createRenderHandler();
+ void initBuffer(int width, int height);
+ void resize(int width, int height);
+ void render();
+ void render(const QRect& updateRect);
+
+ private:
+ int _width;
+ int _height;
+ boost::scoped_array<unsigned char> _offscreenbuf;
+ render_handler* _renderer; // We don't own this pointer.
+ std::auto_ptr<QImage> _image;
+ std::auto_ptr<QPainter> _painter;
+};
+
+
+
+
+}
+
+#endif
=== added file 'gui/Kde4Gui.cpp'
--- a/gui/Kde4Gui.cpp 1970-01-01 00:00:00 +0000
+++ b/gui/Kde4Gui.cpp 2008-12-04 09:27:57 +0000
@@ -0,0 +1,577 @@
+// kde.cpp: K Development Environment top level window, for Gnash.
+//
+// Copyright (C) 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+//
+// 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 3 of the License, or
+// (at your option) any later version.
+//
+// This program 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+//
+
+#ifdef HAVE_CONFIG_H
+#include "gnashconfig.h"
+#endif
+
+
+#include <map>
+#include <boost/assign/list_inserter.hpp>
+
+#include <QMainWindow>
+#include <QX11Info>
+#include <QMenu>
+#include <QMenuBar>
+#include <QWidget>
+#include <QCursor>
+#include <QApplication>
+#include <QPainter>
+#include <QMouseEvent>
+#include <QResizeEvent>
+#include <QTimer>
+#include <QEvent>
+
+#include "Range2d.h"
+
+#include "gnash.h"
+#include "movie_definition.h"
+#include "log.h"
+
+#include "gui.h"
+#include "Kde4Gui.h"
+#include "klash4.moc"
+#include "render_handler.h"
+#include "utility.h" // for PIXELS_TO_TWIPS
+
+
+extern "C" {
+#include <X11/Xlib.h>
+}
+
+namespace gnash
+{
+
+Kde4Gui::Kde4Gui(unsigned long xid, float scale, bool loop, unsigned int depth)
+ : Gui(xid, scale, loop, depth)
+{
+}
+
+
+Kde4Gui::~Kde4Gui()
+{
+}
+
+
+bool
+Kde4Gui::init(int argc, char **argv[])
+{
+
+ char** r = NULL;
+ int* i = new int(0);
+
+ _application.reset(new QApplication(*i, r));
+ _window.reset(new QMainWindow());
+ _drawingWidget = new DrawingWidget(*this);
+
+ _glue.init (argc, argv);
+
+ setupActions();
+ setupMenus();
+
+ if (!_xid) {
+ createMainMenu();
+ }
+
+ // Make sure key events are ready to be passed
+ // before the widget can receive them.
+ setupKeyMap();
+
+ return true;
+}
+
+
+bool
+Kde4Gui::run()
+{
+ return _application->exec();
+}
+
+
+bool
+Kde4Gui::createWindow(const char* windowtitle, int width, int height)
+{
+
+ _width = width;
+ _height = height;
+
+ _drawingWidget->setMinimumSize(_width, _height);
+
+ // Enable receiving of mouse events.
+ _drawingWidget->setMouseTracking(true);
+ _drawingWidget->setFocusPolicy(Qt::StrongFocus);
+ _window->setWindowTitle(windowtitle);
+
+ if(_xid) {
+ _drawingWidget->embedInto(_xid);
+ _drawingWidget->show();
+ // Adjust width and height to the window we're being embedded into...
+ XWindowAttributes winAttributes;
+ XGetWindowAttributes(QX11Info::display(), _xid, &winAttributes);
+ _width=winAttributes.width;
+ _height=winAttributes.height;
+ _drawingWidget->resize(_width, _height);
+ } else {
+ // The QMainWindow takes ownership of the DrawingWidget.
+ _window->setCentralWidget(_drawingWidget);
+ _window->show();
+ }
+
+ _glue.prepDrawingArea(_drawingWidget);
+
+ _renderer = _glue.createRenderHandler();
+
+ if ( ! _renderer ) {
+ return false;
+ }
+
+ _validbounds.setTo(0, 0, _width, _height);
+ _glue.initBuffer(_width, _height);
+
+ set_render_handler(_renderer);
+
+ return true;
+}
+
+
+void
+Kde4Gui::popupMenu(const QPoint& point)
+{
+ QMenu popupMenu(_drawingWidget);
+ popupMenu.addMenu(fileMenu);
+ popupMenu.addMenu(movieControlMenu);
+ popupMenu.addMenu(viewMenu);
+ popupMenu.exec(point);
+}
+
+
+void
+Kde4Gui::renderBuffer()
+{
+
+ for (DrawBounds::const_iterator i = _drawbounds.begin(),
+ e = _drawbounds.end(); i != e; ++i) {
+
+ // it may happen that a particular range is out of the screen, which
+ // will lead to bounds==null.
+ if (i->isNull()) continue;
+
+ assert(i->isFinite());
+
+ _drawingWidget->update(i->getMinX(), i->getMinY(),
+ i->width(), i->height());
+
+ }
+}
+
+
+void
+Kde4Gui::renderWidget(const QRect& updateRect)
+{
+ // This call renders onto the widget using a QPainter,
+ // which *must only happen inside a paint event*.
+ _glue.render(updateRect);
+}
+
+
+void
+Kde4Gui::setInvalidatedRegions(const InvalidatedRanges& ranges)
+{
+ _renderer->set_invalidated_regions(ranges);
+
+ _drawbounds.clear();
+
+ for (size_t i = 0, e = ranges.size(); i != e; ++i) {
+
+ geometry::Range2d<int> bounds = Intersection(
+ _renderer->world_to_pixel(ranges.getRange(i)),
+ _validbounds);
+
+ // It may happen that a particular range is out of the screen, which
+ // will lead to bounds==null.
+ if (bounds.isNull()) continue;
+
+ assert(bounds.isFinite());
+
+ _drawbounds.push_back(bounds);
+
+ }
+}
+
+
+void
+Kde4Gui::setTimeout(unsigned int timeout)
+{
+ QTimer::singleShot(timeout, _application.get(), SLOT(quit()));
+}
+
+
+void
+Kde4Gui::setInterval(unsigned int interval)
+{
+ _drawingWidget->startTimer(interval);
+}
+
+
+void
+Kde4Gui::setCursor(gnash_cursor_type newcursor)
+{
+ switch (newcursor) {
+ case CURSOR_HAND:
+ _drawingWidget->setCursor(Qt::PointingHandCursor);
+ break;
+ case CURSOR_INPUT:
+ _drawingWidget->setCursor(Qt::IBeamCursor);
+ break;
+ default:
+ _drawingWidget->unsetCursor();
+ }
+}
+
+void
+Kde4Gui::setFullscreen()
+{
+ _window->showFullScreen();
+ QMenuBar* mainMenu = _window->menuBar();
+ if (mainMenu) mainMenu->hide();
+}
+
+void
+Kde4Gui::unsetFullscreen()
+{
+ _window->showNormal();
+ QMenuBar* mainMenu = _window->menuBar();
+ if (mainMenu) mainMenu->show();
+}
+
+gnash::key::code
+Kde4Gui::qtToGnashKey(QKeyEvent *event)
+{
+
+ // This should be initialized by now.
+ assert (!_keyMap.empty());
+
+ // Gnash uses its own keycodes to map key events
+ // to the three sometimes weird and confusing values that flash movies
+ // can refer to. See gnash.h for the keycodes and map.
+ //
+ // Gnash's keycodes are gnash::key::code. They are mainly in ascii order.
+ // Standard ascii characters (32-127) have the same value. Extended ascii
+ // characters (160-254) are in ascii order but correspond to
+ // gnash::key::code
+ // 169-263. Non-character values must normally be mapped separately.
+
+ const int key = event->key();
+
+ if (key >= Qt::Key_0 && key <= Qt::Key_9) {
+ return static_cast<gnash::key::code>(
+ key - Qt::Key_0 + gnash::key::_0);
+ }
+
+ // All other characters between ascii 32 and 126 are simple.
+ // From space (32) to slash (47):
+ else if (key >= Qt::Key_Space && key <= Qt::Key_AsciiTilde) {
+ return static_cast<gnash::key::code>(
+ key - Qt::Key_Space + gnash::key::SPACE);
+ }
+
+ // Function keys:
+ else if (key >= Qt::Key_F1 && key <= Qt::Key_F15) {
+ return static_cast<gnash::key::code>(
+ key - Qt::Key_F1 + gnash::key::F1);
+ }
+
+ // Extended ascii from non-breaking (160) space to ÿ (264) is in the same
+ // order.
+ else if (key >= Qt::Key_nobreakspace && key <= Qt::Key_ydiaeresis) {
+ return static_cast<gnash::key::code>(
+ key - Qt::Key_nobreakspace + gnash::key::NOBREAKSPACE);
+ }
+
+ const KeyMap::const_iterator it = _keyMap.find(key);
+
+ if (it == _keyMap.end()) return gnash::key::INVALID;
+
+ return it->second;
+
+}
+
+
+void
+Kde4Gui::handleKeyEvent(QKeyEvent *event, bool down)
+{
+ gnash::key::code c = qtToGnashKey(event);
+// int mod = qtToGnashModifier(event->state());
+ notify_key_event(c, 0, down);
+}
+
+
+void
+Kde4Gui::resize(int width, int height)
+{
+ _glue.resize(width, height);
+ resize_view(width, height);
+}
+
+
+void
+Kde4Gui::quit()
+{
+ _application->quit();
+}
+
+
+void
+Kde4Gui::setupActions()
+{
+
+ // File Menu actions
+ quitAction = new QAction(_("Quit Gnash"), _window.get());
+ // This is connected directly to the QApplication's quit() slot
+ _drawingWidget->connect(quitAction, SIGNAL(triggered()),
+ _application.get(), SLOT(quit()));
+
+ // Movie Control Menu actions
+ playAction = new QAction(_("Play"), _window.get());
+ _drawingWidget->connect(playAction, SIGNAL(triggered()),
+ _drawingWidget, SLOT(play()));
+
+ pauseAction = new QAction(_("Pause"), _window.get());
+ _drawingWidget->connect(pauseAction, SIGNAL(triggered()),
+ _drawingWidget, SLOT(pause()));
+
+ stopAction = new QAction(_("Stop"), _window.get());
+ _drawingWidget->connect(stopAction, SIGNAL(triggered()),
+ _drawingWidget, SLOT(stop()));
+
+ restartAction = new QAction(_("Restart"), _window.get());
+ _drawingWidget->connect(restartAction, SIGNAL(triggered()),
+ _drawingWidget, SLOT(restart()));
+
+ // View Menu actions
+ refreshAction = new QAction(_("Refresh"), _window.get());
+ _drawingWidget->connect(refreshAction, SIGNAL(triggered()),
+ _drawingWidget, SLOT(refresh()));
+
+ fullscreenAction = new QAction(_("Fullscreen"), _window.get());
+ fullscreenAction->setCheckable(true);
+ _drawingWidget->connect(fullscreenAction, SIGNAL(toggled(bool)),
+ _drawingWidget, SLOT(fullscreen(bool)));
+}
+
+
+void
+Kde4Gui::setupMenus()
+{
+ /// The menus are children of the QMainWindow so that
+ /// they are destroyed on exit. The QMainWindow already has
+ /// ownership of the main QMenuBar.
+
+ // Set up the File menu.
+ fileMenu = new QMenu(_("File"), _window.get());
+ fileMenu->addAction(quitAction);
+
+ // Set up the Movie Control menu
+ movieControlMenu = new QMenu(_("Movie Control"), _window.get());
+ movieControlMenu->addAction(playAction);
+ movieControlMenu->addAction(pauseAction);
+ movieControlMenu->addAction(stopAction);
+ movieControlMenu->addAction(restartAction);
+
+ // Set up the View menu
+ viewMenu = new QMenu(_("View"), _window.get());
+ viewMenu->addAction(refreshAction);
+ viewMenu->addAction(fullscreenAction);
+}
+
+
+void
+Kde4Gui::createMainMenu()
+{
+ std::auto_ptr<QMenuBar> mainMenu(new QMenuBar);
+
+ // Set up the menu bar.
+ mainMenu->addMenu(fileMenu);
+ mainMenu->addMenu(movieControlMenu);
+ mainMenu->addMenu(viewMenu);
+
+ // The QMainWindow::setMenuBar transfers ownership
+ // of the QMenuBar.
+ _window->setMenuBar(mainMenu.release());
+
+}
+
+void
+Kde4Gui::setupKeyMap()
+{
+ // We only want to do this once, although it would not
+ // be harmful to do it more.
+ assert (_keyMap.empty());
+
+ boost::assign::insert(_keyMap)
+ (Qt::Key_Backspace, gnash::key::BACKSPACE)
+ (Qt::Key_Tab, gnash::key::TAB)
+ (Qt::Key_Clear, gnash::key::CLEAR)
+ (Qt::Key_Return, gnash::key::ENTER)
+ (Qt::Key_Enter, gnash::key::ENTER)
+ (Qt::Key_Shift, gnash::key::SHIFT)
+ (Qt::Key_Control, gnash::key::CONTROL)
+ (Qt::Key_Alt, gnash::key::ALT)
+ (Qt::Key_CapsLock, gnash::key::CAPSLOCK)
+ (Qt::Key_Escape, gnash::key::ESCAPE)
+ (Qt::Key_Space, gnash::key::SPACE)
+ (Qt::Key_PageDown, gnash::key::PGDN)
+ (Qt::Key_PageUp, gnash::key::PGUP)
+ (Qt::Key_Home, gnash::key::HOME)
+ (Qt::Key_End, gnash::key::END)
+ (Qt::Key_Left, gnash::key::LEFT)
+ (Qt::Key_Up, gnash::key::UP)
+ (Qt::Key_Right, gnash::key::RIGHT)
+ (Qt::Key_Down, gnash::key::DOWN)
+ (Qt::Key_Insert, gnash::key::INSERT)
+ (Qt::Key_Delete, gnash::key::DELETEKEY)
+ (Qt::Key_Help, gnash::key::HELP)
+ (Qt::Key_NumLock, gnash::key::NUM_LOCK)
+ (Qt::Key_Semicolon, gnash::key::SEMICOLON)
+ (Qt::Key_Equal, gnash::key::EQUALS)
+ (Qt::Key_Minus, gnash::key::MINUS)
+ (Qt::Key_Slash, gnash::key::SLASH)
+ (Qt::Key_BracketLeft, gnash::key::LEFT_BRACKET)
+ (Qt::Key_Backslash, gnash::key::BACKSLASH)
+ (Qt::Key_BracketRight, gnash::key::RIGHT_BRACKET)
+ (Qt::Key_QuoteDbl, gnash::key::DOUBLE_QUOTE);
+}
+
+
+/// DrawingWidget implementation
+
+void
+DrawingWidget::paintEvent(QPaintEvent *event)
+{
+ _gui.renderWidget(event->rect());
+}
+
+
+void
+DrawingWidget::timerEvent(QTimerEvent*)
+{
+ Gui::advance_movie(&_gui);
+}
+
+
+void
+DrawingWidget::mouseMoveEvent(QMouseEvent *event)
+{
+ QPoint position = event->pos();
+ _gui.notify_mouse_moved(position.x(), position.y());
+}
+
+
+void
+DrawingWidget::contextMenuEvent(QContextMenuEvent* event)
+{
+ _gui.popupMenu(event->globalPos());
+}
+
+
+void
+DrawingWidget::mousePressEvent(QMouseEvent* /* event */)
+{
+ _gui.notify_mouse_clicked(true, 1);
+}
+
+
+void
+DrawingWidget::mouseReleaseEvent(QMouseEvent* /* event */)
+{
+ _gui.notify_mouse_clicked(false, 1);
+}
+
+
+void
+DrawingWidget::keyPressEvent(QKeyEvent *event)
+{
+ _gui.handleKeyEvent(event, true);
+}
+
+
+void
+DrawingWidget::keyReleaseEvent(QKeyEvent *event)
+{
+ _gui.handleKeyEvent(event, false);
+}
+
+
+void
+DrawingWidget::resizeEvent(QResizeEvent *event)
+{
+ _gui.resize(event->size().width(), event->size().height());
+ update();
+}
+
+
+void
+DrawingWidget::play()
+{
+ _gui.play();
+}
+
+
+void
+DrawingWidget::pause()
+{
+ _gui.pause();
+}
+
+
+void
+DrawingWidget::restart()
+{
+ _gui.restart();
+}
+
+
+void
+DrawingWidget::stop()
+{
+ _gui.stop();
+}
+
+
+void
+DrawingWidget::refresh()
+{
+ _gui.refreshView();
+}
+
+void
+DrawingWidget::fullscreen(bool isFull)
+{
+ if (isFull) {
+ _gui.setFullscreen();
+ }
+ else {
+ _gui.unsetFullscreen();
+ }
+}
+
+
+
+}
+
=== added file 'gui/Kde4Gui.h'
--- a/gui/Kde4Gui.h 1970-01-01 00:00:00 +0000
+++ b/gui/Kde4Gui.h 2008-12-04 09:27:57 +0000
@@ -0,0 +1,178 @@
+//
+// Copyright (C) 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+//
+// 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 3 of the License, or
+// (at your option) any later version.
+//
+// This program 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
+#ifndef GNASH_KDE4GUI_H
+#define GNASH_KDE4GUI_H
+
+#ifdef HAVE_CONFIG_H
+#include "gnashconfig.h"
+#endif
+
+#include "gui.h"
+
+#include <QX11EmbedWidget>
+
+#ifdef RENDERER_OPENGL
+# error "OGL not supported yet for KDE4!"
+#elif defined(RENDERER_CAIRO)
+# error "Cairo not supported yet for KDE4!"
+#elif defined(RENDERER_AGG)
+# include "Kde4GlueAgg.h"
+#endif
+
+
+class QMainWindow;
+class QMenuBar;
+class QMenu;
+class QRect;
+
+namespace gnash {
+ class Kde4Gui;
+}
+
+namespace gnash
+{
+
+class DrawingWidget : public QX11EmbedWidget
+{
+ Q_OBJECT
+
+public:
+ DrawingWidget(Kde4Gui& gui)
+ :
+ QX11EmbedWidget(),
+ _gui(gui)
+ {}
+
+ ~DrawingWidget() {}
+
+public slots:
+
+ void play();
+ void pause();
+ void stop();
+ void restart();
+ void refresh();
+ void fullscreen(bool isFull);
+
+protected:
+ void paintEvent(QPaintEvent*);
+ void timerEvent(QTimerEvent*);
+ void resizeEvent(QResizeEvent *event);
+ void mouseReleaseEvent(QMouseEvent *event);
+ void mousePressEvent(QMouseEvent *event);
+ void mouseMoveEvent(QMouseEvent *event);
+ void keyPressEvent(QKeyEvent *event);
+ void keyReleaseEvent(QKeyEvent *event);
+ void contextMenuEvent(QContextMenuEvent *event);
+
+private:
+
+ Kde4Gui& _gui;
+
+};
+
+
+class DSOEXPORT Kde4Gui : public Gui
+{
+
+public:
+ Kde4Gui(unsigned long xid, float scale, bool loop, unsigned int depth);
+ virtual ~Kde4Gui();
+ virtual bool init(int argc, char **argv[]);
+ virtual bool createWindow(const char* windowtitle, int width, int height);
+ virtual bool run();
+ virtual void renderBuffer();
+ virtual void setInterval(unsigned int interval);
+ virtual void setTimeout(unsigned int timeout);
+ virtual void handleKeyEvent(QKeyEvent *event, bool down);
+ virtual void setCursor(gnash_cursor_type newcursor);
+ virtual void setFullscreen();
+ virtual void unsetFullscreen();
+ void setInvalidatedRegions(const InvalidatedRanges& ranges);
+ void resize(int width, int height);
+ void quit();
+
+ bool want_multiple_regions() { return true; }
+
+ void renderWidget(const QRect& updateRect);
+
+ void popupMenu(const QPoint& point);
+
+private:
+
+ typedef std::vector<geometry::Range2d<int> > DrawBounds;
+ typedef std::map<int, gnash::key::code> KeyMap;
+
+ void setupActions();
+ void setupMenus();
+ void createMainMenu();
+
+ /// Set up the map of Qt to Gnash keys.
+ void setupKeyMap();
+
+ DrawBounds::value_type _validbounds;
+ DrawBounds _drawbounds;
+
+ /// The main application, which should destroy everything
+ /// left on closing.
+ std::auto_ptr<QApplication> _application;
+
+ /// The widget for rendering and handling user events.
+ //
+ /// Ownership is transferred to the main window, which
+ /// takes care of deletion.
+ DrawingWidget* _drawingWidget;
+
+ /// Takes care of painting onto the widget.
+ Kde4AggGlue _glue;
+
+ /// The main application window.
+ std::auto_ptr<QMainWindow> _window;
+
+ /// A map for Qt::Key values that don't easily
+ /// map onto Gnash ones.
+ KeyMap _keyMap;
+
+ gnash::key::code qtToGnashKey(QKeyEvent *event);
+
+ /// QActions and QMenus should be attached to the
+ /// QMainWindow so that they are destroyed with it.
+ /// Actions may be shared between menus and/or
+ /// other uses.
+
+ // File Menu
+ QMenu* fileMenu;
+ QAction* quitAction;
+
+ // Movie Control Menu;
+ QMenu* movieControlMenu;
+ QAction* playAction;
+ QAction* pauseAction;
+ QAction* stopAction;
+ QAction* restartAction;
+
+ // View Menu
+ QMenu* viewMenu;
+ QAction* refreshAction;
+ QAction* fullscreenAction;
+
+};
+
+}
+
+#endif
=== modified file 'gui/Makefile.am'
--- a/gui/Makefile.am 2008-11-05 01:01:46 +0000
+++ b/gui/Makefile.am 2008-11-14 22:41:27 +0000
@@ -30,7 +30,7 @@
# noinst_LTLIBRARIES = libgnashgui.la
BUILT_SOURCES = .configline
-EXTRA_DIST = gnash.in klash.moc.in
+EXTRA_DIST = gnash.in klash3.moc.in klash4.moc.in
noinst_LTLIBRARIES =
AM_CPPFLAGS = \
@@ -181,14 +181,20 @@
endif
# Build the QTOPIA gui
-if BUILD_QTOPIA_GUI
-include $(srcdir)/am-frag/qtopia.am
-endif
-
-# Build the KDE gui
-if BUILD_KDE_GUI
-BUILT_SOURCES += klash.moc
-include $(srcdir)/am-frag/kde.am
+if BUILD_QTOPIA3_GUI
+include $(srcdir)/am-frag/qtopia3.am
+endif
+
+# Build the KDE3 gui
+if BUILD_KDE3_GUI
+BUILT_SOURCES += klash3.moc
+include $(srcdir)/am-frag/kde3.am
+endif
+
+# Build the KDE4 gui
+if BUILD_KDE4_GUI
+BUILT_SOURCES += klash4.moc
+include $(srcdir)/am-frag/kde4.am
endif
# Build the SDL gui
@@ -241,7 +247,7 @@
include $(srcdir)/am-frag/riscos.am
endif
-CLEANFILES = klash.moc .configline gnash
+CLEANFILES = klash3.moc klash4.moc .configline gnash
bundle: Info.plist
@echo " Building: $(bundle_name)"
@@ -254,15 +260,6 @@
cp -f images/GnashG.icns $(bundle_name)/Contents/Resources/
-klash.moc: $(srcdir)/kdesup.h
- @if test x"$(MOC)" != x; then \
- echo "Generating MOC file..."; \
- $(MOC) $(srcdir)/kdesup.h -o klash.moc; \
- else \
- echo "WARNING: Install QT's moc tool! Linking to default MOC file"; \
- ln -sf $(srcdir)/klash.moc.in klash.moc; \
- fi
-
.configline: ../config.log
address@hidden -f .configline
@head ../config.log | grep " .*/configure " | sed -e 's:^ .
.*configure ::' > .configline
=== modified file 'gui/Player.cpp'
--- a/gui/Player.cpp 2008-11-21 15:15:25 +0000
+++ b/gui/Player.cpp 2008-12-04 10:21:27 +0000
@@ -676,10 +676,14 @@
return createGTKGui(_windowID, _scale, _doLoop, _bitDepth);
#endif
-#ifdef GUI_KDE
+#ifdef GUI_KDE3
return createKDEGui(_windowID, _scale, _doLoop, _bitDepth);
#endif
+#ifdef GUI_KDE4
+ return createKDE4Gui(_windowID, _scale, _doLoop, _bitDepth);
+#endif
+
#ifdef GUI_SDL
return createSDLGui(_windowID, _scale, _doLoop, _bitDepth);
#endif
=== renamed file 'gui/am-frag/kde.am' => 'gui/am-frag/kde3.am'
--- a/gui/am-frag/kde.am 2008-01-21 21:19:22 +0000
+++ b/gui/am-frag/kde3.am 2008-11-14 22:26:50 +0000
@@ -18,32 +18,40 @@
#
# Build the KDE gui
#
-if BUILD_KDE_GUI
-bin_PROGRAMS += kde-gnash
-if HAVE_QT_4
-QT_CFLAGS += -DQT3_SUPPORT
-endif
-kde_gnash_CPPFLAGS = -DGUI_KDE -DGUI_CONFIG=\"KDE\" \
- $(AM_CPPFLAGS) $(KDE_CFLAGS) $(QT_CFLAGS)
-kde_gnash_SOURCES = $(GUI_SRCS) gui_kde.cpp
-kde_gnash_LDFLAGS = $(LIBLTDL) -export-dynamic
+if BUILD_KDE3_GUI
+
+klash3.moc: $(srcdir)/kdesup.h
+ @if test x"$(MOC3)" != x; then \
+ echo "Generating MOC 3 file..."; \
+ $(MOC3) $(srcdir)/kdesup.h -o klash3.moc; \
+ else \
+ echo "WARNING: Install QT 3.x moc tool! Linking to default MOC file";
\
+ ln -sf $(srcdir)/klash3.moc.in klash3.moc; \
+ fi
+
+bin_PROGRAMS += kde3-gnash
+
+kde3_gnash_CPPFLAGS = -DGUI_KDE3 -DGUI_CONFIG=\"KDE3\" \
+ $(AM_CPPFLAGS) $(KDE3_CFLAGS) $(QT3_CFLAGS)
+kde3_gnash_SOURCES = $(GUI_SRCS) gui_kde.cpp
+kde3_gnash_LDFLAGS = $(LIBLTDL) -export-dynamic
#kde_gnash_DEPENDENCIES = .configline
-kde_gnash_LDADD = \
+kde3_gnash_LDADD = \
$(MYSQL_LIBS) \
$(GNASH_LIBS) \
$(AM_LDFLAGS)
if BUILD_OGL_RENDERER
-kde_gnash_CPPFLAGS += $(OPENGL_CFLAGS)
-kde_gnash_LDADD += $(top_builddir)/backend/libgnashogl.la \
- $(KDE_LIBS) $(QT_LIBS) $(OPENGL_LIBS)
-kde_gnash_SOURCES += kde_glue_opengl.cpp kde_glue_opengl.h kde_glue.h \
+kde3_gnash_CPPFLAGS += $(OPENGL_CFLAGS)
+kde3_gnash_LDADD += $(top_builddir)/backend/libgnashogl.la \
+ $(KDE3_LIBS) $(QT3_LIBS) $(OPENGL_LIBS)
+kde3_gnash_SOURCES += kde_glue_opengl.cpp kde_glue_opengl.h kde_glue.h \
kde.cpp kdesup.h kde_glue.h
endif
if BUILD_AGG_RENDERER
-kde_gnash_CPPFLAGS += $(AGG_CFLAGS)
-kde_gnash_LDADD += $(top_builddir)/backend/libgnashagg.la \
- $(KDE_LIBS) $(QT_LIBS) $(AGG_LIBS)
-kde_gnash_SOURCES += kde_glue_agg.cpp kde_glue_agg.h \
+kde3_gnash_CPPFLAGS += $(AGG_CFLAGS) $(QT3_CFLAGS)
+kde3_gnash_LDADD += $(top_builddir)/backend/libgnashagg.la \
+ $(KDE3_LIBS) $(QT3_LIBS) $(AGG_LIBS)
+kde3_gnash_SOURCES += kde_glue_agg.cpp kde_glue_agg.h \
kde.cpp kdesup.h kde_glue.h
endif
endif
=== added file 'gui/am-frag/kde4.am'
--- a/gui/am-frag/kde4.am 1970-01-01 00:00:00 +0000
+++ b/gui/am-frag/kde4.am 2008-11-14 22:26:50 +0000
@@ -0,0 +1,48 @@
+#
+# Copyright (C) 2007, 2008 Free Software Foundation, Inc.
+#
+# 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 3 of the License, or
+# (at your option) any later version.
+#
+# This program 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+#
+
+#
+# Build the KDE gui
+#
+if BUILD_KDE4_GUI
+
+klash4.moc: $(srcdir)/Kde4Gui.h
+ @if test x"$(MOC4)" != x; then \
+ echo "Generating MOC 4 file..."; \
+ $(MOC4) $(srcdir)/Kde4Gui.h -o klash4.moc; \
+ else \
+ echo "WARNING: Install QT 4.x moc tool! Linking to default MOC file";
\
+ ln -sf $(srcdir)/klash4.moc.in klash4.moc; \
+ fi
+
+endif
+
+bin_PROGRAMS += kde4-gnash
+
+kde4_gnash_CPPFLAGS = -DGUI_KDE4 -DGUI_CONFIG=\"KDE4\" $(AM_CPPFLAGS)
$(KDE4_CFLAGS) $(QT4_CFLAGS)
+kde4_gnash_SOURCES = $(GUI_SRCS) GuiKde4.cpp
+kde4_gnash_LDFLAGS = $(LIBLTDL) -export-dynamic
+kde4_gnash_LDADD = $(MYSQL_LIBS) $(GNASH_LIBS) $(AM_LDFLAGS) $(KDE4_LIBS)
+
+if BUILD_AGG_RENDERER
+kde4_gnash_CPPFLAGS += $(AGG_CFLAGS)
+kde4_gnash_LDADD += $(top_builddir)/backend/libgnashagg.la \
+ $(QT4_LIBS) $(AGG_LIBS)
+kde4_gnash_SOURCES += Kde4GlueAgg.cpp Kde4GlueAgg.h \
+ Kde4Gui.cpp Kde4Gui.h KdeGlue.h
+
+endif
=== renamed file 'gui/am-frag/qtopia.am' => 'gui/am-frag/qtopia3.am'
--- a/gui/am-frag/qtopia.am 2008-01-21 21:19:22 +0000
+++ b/gui/am-frag/qtopia3.am 2008-11-14 22:26:50 +0000
@@ -18,11 +18,9 @@
#
# Build the QTOPIA gui
#
-if BUILD_QTOPIA_GUI
+if BUILD_QTOPIA3_GUI
bin_PROGRAMS += qtopia-gnash
-if HAVE_QT_2
-QT_CFLAGS += -DQT_QWS_IPAQ -DQWS
-endif
+
qtopia_gnash_CPPFLAGS = -DGUI_QTOPIA -DGUI_CONFIG=\"QTOPIA\" \
$(AM_CPPFLAGS) $(KDE_CFLAGS) $(QT_CFLAGS)
qtopia_gnash_SOURCES = $(GUI_SRCS) gui_kde.cpp
=== modified file 'gui/gnash.in'
--- a/gui/gnash.in 2008-06-27 03:50:30 +0000
+++ b/gui/gnash.in 2008-10-09 07:35:53 +0000
@@ -27,7 +27,7 @@
#!/bin/sh
-GUIS="gtk kde sdl fltk aqua riscos fb alp hildon"
+GUIS="gtk kde kde4 sdl fltk aqua riscos fb alp hildon"
THIS_DIR="`dirname $0`"
if test "$1" = "-G"; then
=== modified file 'gui/gui.h'
--- a/gui/gui.h 2008-10-28 15:32:20 +0000
+++ b/gui/gui.h 2008-11-13 16:00:44 +0000
@@ -519,6 +519,7 @@
/// Named constructors
std::auto_ptr<Gui> createGTKGui(unsigned long xid, float scale, bool loop,
unsigned int depth);
std::auto_ptr<Gui> createKDEGui(unsigned long xid, float scale, bool loop,
unsigned int depth);
+std::auto_ptr<Gui> createKDE4Gui(unsigned long xid, float scale, bool loop,
unsigned int depth);
std::auto_ptr<Gui> createSDLGui(unsigned long xid, float scale, bool loop,
unsigned int depth);
std::auto_ptr<Gui> createFLTKGui(unsigned long xid, float scale, bool loop,
unsigned int depth);
std::auto_ptr<Gui> createFBGui(unsigned long xid, float scale, bool loop,
unsigned int depth);
=== modified file 'gui/gui_kde.cpp'
--- a/gui/gui_kde.cpp 2008-03-05 03:55:48 +0000
+++ b/gui/gui_kde.cpp 2008-11-14 22:40:33 +0000
@@ -24,23 +24,23 @@
#include "gui.h"
#include "GnashException.h"
-#ifdef GUI_KDE
+#ifdef GUI_KDE3
#include "kdesup.h"
#endif
namespace gnash {
-#ifdef GUI_KDE
+#ifdef GUI_KDE3
std::auto_ptr<Gui> createKDEGui(unsigned long windowid, float scale, bool
do_loop, unsigned int bit_depth)
{
return std::auto_ptr<Gui>(new KdeGui(windowid, scale, do_loop,
bit_depth));
}
-#else // ! GUI_KDE
+#else // ! GUI_KDE3
std::auto_ptr<Gui> createKDEGui(unsigned long , float , bool , unsigned int )
{
throw GnashException("Support for KDE gui was not compiled in");
}
-#endif // ! GUI_KDE
+#endif // ! GUI_KDE3
} // namespace gnash
=== modified file 'gui/kde.cpp'
--- a/gui/kde.cpp 2008-09-24 07:44:50 +0000
+++ b/gui/kde.cpp 2008-11-14 22:39:17 +0000
@@ -25,13 +25,13 @@
#include <qwidget.h>
#include <qmessagebox.h>
#include <qcursor.h>
-#ifdef HAVE_KDE
+#ifdef HAVE_KDE3
#include <qxembed.h>
#endif
#include <qnamespace.h>
#include <qtimer.h>
#include <qcursor.h>
-#if GNASH_QT_VERSION > 2
+#if HAVE_QT3
#include <qeventloop.h>
#endif
#include "Range2d.h"
@@ -42,7 +42,7 @@
#include "gui.h"
#include "kdesup.h"
-#include "klash.moc"
+#include "klash3.moc"
#include "utility.h" // for PIXELS_TO_TWIPS
using namespace std;
@@ -67,7 +67,7 @@
// GNASH_REPORT_FUNCTION;
_qapp.reset(new QApplication(argc, *argv));
_qwidget.reset(new qwidget(this));
-#ifdef HAVE_KDE
+#ifdef HAVE_KDE3
if (_xid) {
QXEmbed::initialize();
QXEmbed::embedClientIntoWindow(_qwidget.get(), _xid);
=== removed file 'gui/klash.moc.in'
--- a/gui/klash.moc.in 2008-03-30 19:46:18 +0000
+++ b/gui/klash.moc.in 1970-01-01 00:00:00 +0000
@@ -1,124 +0,0 @@
-/****************************************************************************
-** gnash::qwidget meta object code from reading C++ file 'kdesup.h'
-**
-** Created: Thu Nov 22 19:07:28 2007
-**
-** WARNING! All changes made in this file will be lost!
-*****************************************************************************/
-
-#undef QT_NO_COMPAT
-#include "kdesup.h"
-#include <qmetaobject.h>
-#include <qapplication.h>
-
-#include <private/qucomextra_p.h>
-#if !defined(Q_MOC_OUTPUT_REVISION) || (Q_MOC_OUTPUT_REVISION != 26)
-#error "This file was generated using the moc from 3.3.7. It"
-#error "cannot be used with the include files from this version of Qt."
-#error "(The moc has changed too much.)"
-#endif
-
-const char *gnash::qwidget::className() const
-{
- return "gnash::qwidget";
-}
-
-QMetaObject *gnash::qwidget::metaObj = 0;
-static QMetaObjectCleanUp cleanUp_gnash__qwidget( "gnash::qwidget",
&gnash::qwidget::staticMetaObject );
-
-#ifndef QT_NO_TRANSLATION
-QString gnash::qwidget::tr( const char *s, const char *c )
-{
- if ( qApp )
- return qApp->translate( "gnash::qwidget", s, c,
QApplication::DefaultCodec );
- else
- return QString::fromLatin1( s );
-}
-#ifndef QT_NO_TRANSLATION_UTF8
-QString gnash::qwidget::trUtf8( const char *s, const char *c )
-{
- if ( qApp )
- return qApp->translate( "gnash::qwidget", s, c,
QApplication::UnicodeUTF8 );
- else
- return QString::fromUtf8( s );
-}
-#endif // QT_NO_TRANSLATION_UTF8
-
-#endif // QT_NO_TRANSLATION
-
-QMetaObject* gnash::qwidget::staticMetaObject()
-{
- if ( metaObj )
- return metaObj;
- QMetaObject* parentObject = WIDGETCLASS::staticMetaObject();
- static const QUMethod slot_0 = {"menuitem_restart_callback", 0, 0 };
- static const QUMethod slot_1 = {"menuitem_quit_callback", 0, 0 };
- static const QUMethod slot_2 = {"menuitem_play_callback", 0, 0 };
- static const QUMethod slot_3 = {"menuitem_pause_callback", 0, 0 };
- static const QUMethod slot_4 = {"menuitem_stop_callback", 0, 0 };
- static const QUMethod slot_5 = {"menuitem_step_forward_callback", 0, 0 };
- static const QUMethod slot_6 = {"menuitem_step_backward_callback", 0, 0 };
- static const QUMethod slot_7 = {"menuitem_jump_forward_callback", 0, 0 };
- static const QUMethod slot_8 = {"menuitem_jump_backward_callback", 0, 0 };
- static const QMetaData slot_tbl[] = {
- { "menuitem_restart_callback()", &slot_0, QMetaData::Public },
- { "menuitem_quit_callback()", &slot_1, QMetaData::Public },
- { "menuitem_play_callback()", &slot_2, QMetaData::Public },
- { "menuitem_pause_callback()", &slot_3, QMetaData::Public },
- { "menuitem_stop_callback()", &slot_4, QMetaData::Public },
- { "menuitem_step_forward_callback()", &slot_5, QMetaData::Public },
- { "menuitem_step_backward_callback()", &slot_6, QMetaData::Public },
- { "menuitem_jump_forward_callback()", &slot_7, QMetaData::Public },
- { "menuitem_jump_backward_callback()", &slot_8, QMetaData::Public }
- };
- metaObj = QMetaObject::new_metaobject(
- "gnash::qwidget", parentObject,
- slot_tbl, 9,
- 0, 0,
-#ifndef QT_NO_PROPERTIES
- 0, 0,
- 0, 0,
-#endif // QT_NO_PROPERTIES
- 0, 0 );
- cleanUp_gnash__qwidget.setMetaObject( metaObj );
- return metaObj;
-}
-
-void* gnash::qwidget::qt_cast( const char* clname )
-{
- if ( !qstrcmp( clname, "gnash::qwidget" ) )
- return this;
- return WIDGETCLASS::qt_cast( clname );
-}
-
-bool gnash::qwidget::qt_invoke( int _id, QUObject* _o )
-{
- switch ( _id - staticMetaObject()->slotOffset() ) {
- case 0: menuitem_restart_callback(); break;
- case 1: menuitem_quit_callback(); break;
- case 2: menuitem_play_callback(); break;
- case 3: menuitem_pause_callback(); break;
- case 4: menuitem_stop_callback(); break;
- case 5: menuitem_step_forward_callback(); break;
- case 6: menuitem_step_backward_callback(); break;
- case 7: menuitem_jump_forward_callback(); break;
- case 8: menuitem_jump_backward_callback(); break;
- default:
- return WIDGETCLASS::qt_invoke( _id, _o );
- }
- return TRUE;
-}
-
-bool gnash::qwidget::qt_emit( int _id, QUObject* _o )
-{
- return WIDGETCLASS::qt_emit(_id,_o);
-}
-#ifndef QT_NO_PROPERTIES
-
-bool gnash::qwidget::qt_property( int id, int f, QVariant* v)
-{
- return WIDGETCLASS::qt_property( id, f, v);
-}
-
-bool gnash::qwidget::qt_static_property( QObject* , int , int , QVariant* ){
return FALSE; }
-#endif // QT_NO_PROPERTIES
=== added file 'gui/klash4.moc.in'
--- a/gui/klash4.moc.in 1970-01-01 00:00:00 +0000
+++ b/gui/klash4.moc.in 2008-12-04 09:27:57 +0000
@@ -0,0 +1,82 @@
+/****************************************************************************
+** Meta object code from reading C++ file 'Kde4Gui.h'
+**
+** Created: Thu Dec 4 10:02:08 2008
+** by: The Qt Meta Object Compiler version 59 (Qt 4.4.3)
+**
+** WARNING! All changes made in this file will be lost!
+*****************************************************************************/
+
+#if !defined(Q_MOC_OUTPUT_REVISION)
+#error "The header file 'Kde4Gui.h' doesn't include <QObject>."
+#elif Q_MOC_OUTPUT_REVISION != 59
+#error "This file was generated using the moc from 4.4.3. It"
+#error "cannot be used with the include files from this version of Qt."
+#error "(The moc has changed too much.)"
+#endif
+
+QT_BEGIN_MOC_NAMESPACE
+static const uint qt_meta_data_gnash__DrawingWidget[] = {
+
+ // content:
+ 1, // revision
+ 0, // classname
+ 0, 0, // classinfo
+ 6, 10, // methods
+ 0, 0, // properties
+ 0, 0, // enums/sets
+
+ // slots: signature, parameters, type, tag, flags
+ 22, 21, 21, 21, 0x0a,
+ 29, 21, 21, 21, 0x0a,
+ 37, 21, 21, 21, 0x0a,
+ 44, 21, 21, 21, 0x0a,
+ 54, 21, 21, 21, 0x0a,
+ 71, 64, 21, 21, 0x0a,
+
+ 0 // eod
+};
+
+static const char qt_meta_stringdata_gnash__DrawingWidget[] = {
+ "gnash::DrawingWidget\0\0play()\0pause()\0"
+ "stop()\0restart()\0refresh()\0isFull\0"
+ "fullscreen(bool)\0"
+};
+
+const QMetaObject gnash::DrawingWidget::staticMetaObject = {
+ { &QX11EmbedWidget::staticMetaObject,
qt_meta_stringdata_gnash__DrawingWidget,
+ qt_meta_data_gnash__DrawingWidget, 0 }
+};
+
+const QMetaObject *gnash::DrawingWidget::metaObject() const
+{
+ return &staticMetaObject;
+}
+
+void *gnash::DrawingWidget::qt_metacast(const char *_clname)
+{
+ if (!_clname) return 0;
+ if (!strcmp(_clname, qt_meta_stringdata_gnash__DrawingWidget))
+ return static_cast<void*>(const_cast< DrawingWidget*>(this));
+ return QX11EmbedWidget::qt_metacast(_clname);
+}
+
+int gnash::DrawingWidget::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
+{
+ _id = QX11EmbedWidget::qt_metacall(_c, _id, _a);
+ if (_id < 0)
+ return _id;
+ if (_c == QMetaObject::InvokeMetaMethod) {
+ switch (_id) {
+ case 0: play(); break;
+ case 1: pause(); break;
+ case 2: stop(); break;
+ case 3: restart(); break;
+ case 4: refresh(); break;
+ case 5: fullscreen((*reinterpret_cast< bool(*)>(_a[1]))); break;
+ }
+ _id -= 6;
+ }
+ return _id;
+}
+QT_END_MOC_NAMESPACE
=== renamed file 'macros/kde.m4' => 'macros/kde3.m4'
--- a/macros/kde.m4 2008-05-19 07:35:06 +0000
+++ b/macros/kde3.m4 2008-11-14 22:22:01 +0000
@@ -14,203 +14,222 @@
dnl along with this program; if not, write to the Free Software
dnl Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
-AC_DEFUN([GNASH_PATH_KDE],
-[
- dnl Lool for the header
- AC_ARG_WITH(kde_incl, AC_HELP_STRING([--with-kde-incl], [directory where kde
headers are]), with_kde_incl=${withval})
- AC_CACHE_VAL(ac_cv_path_kde_incl,[
- if test x"${with_kde_incl}" != x ; then
- if test -f ${with_kde_incl}/kapp.h ; then
- ac_cv_path_kde_incl="-I`(cd ${with_kde_incl}; pwd)`"
- else
- AC_MSG_ERROR([${with_kde_incl} directory doesn't contain any headers])
- fi
- fi
- ])
-
- AC_PATH_PROG(KDE_CONFIG, kde-config, ,[${pathlist}])
-
- AC_ARG_WITH(kparts-install,
- AC_HELP_STRING([--with-kparts-install=system|user|prefix], [Policy for
KPARTS plugin install. Default: user.]),
- [case "${withval}" in
- user) KPARTS_INSTALL_POLICY=user ;;
- system) KPARTS_INSTALL_POLICY=system ;;
- prefix) KPARTS_INSTALL_POLICY=prefix ;;
- *) AC_MSG_ERROR([bad value ${withval} for --with-kparts-install]) ;;
- esac
- ], KPARTS_INSTALL_POLICY=${PLUGINS_INSTALL_POLICY}) dnl Inherit a
generic PLUGINS_INSTALL_POLICY when available
-
- AC_ARG_WITH(kde-pluginprefix, AC_HELP_STRING([--with-kde-pluginprefix=DIR],
- [Prefix for KDE plugin, like /usr]),
- [KDE_PLUGINPREFIX=${withval}
- ])
-
- kde_prefix="/usr"
- has_kde=no
- if test x"${ac_cv_path_kde_incl}" = x; then
- if test "x$KDE_CONFIG" != "x" ; then
- if test "x$KDE_CFLAGS" = "x" ; then
- kde_prefix=`$KDE_CONFIG --prefix`
-
- if test -f ${kde_prefix}/include/kapp.h ; then
- ac_cv_path_kde_incl="-I${kde_prefix}/include
-I${kde_prefix}/include/kio"
- else
- if test -f ${kde_prefix}/include/kde/kapp.h; then
- ac_cv_path_kde_incl="-I${kde_prefix}/include/kde
-I${kde_prefix}/include/kde/kio"
- fi
- fi
-
- fi
- else
- AC_MSG_RESULT(no)
- fi
- fi
- AC_MSG_CHECKING([for kde header])
-
- dnl incllist is inherited from configure.ac.
- if test x"${ac_cv_path_kde_incl}" = x ; then
- for i in $incllist; do
- if test -f $i/kde/kapp.h; then
- ac_cv_path_kde_incl="-I$i/kde"
- kde_prefix=`dirname $i`
- break
- fi
- done
- fi
-
- if test x"${ac_cv_path_kde_incl}" = x; then
- AC_MSG_RESULT(no)
- if test x${cross_compiling} = xno; then
- AC_CHECK_HEADERS(kde/kapp.h, [ac_cv_path_kde_incl=""])
- fi
- else
- AC_MSG_RESULT(${ac_cv_path_kde_incl})
- fi
-
- if test x"${ac_cv_path_kde_incl}" != x ; then
- KDE_CFLAGS="${ac_cv_path_kde_incl}"
- else
- KDE_CFLAGS=""
- fi
-
- dnl Look for the libraries
- AC_ARG_WITH(kde_lib, AC_HELP_STRING([--with-kde-lib], [directory where kde
libraries are]), with_kde_lib=${withval})
- AC_CACHE_VAL(ac_cv_path_kde_lib, [
- if test x"${with_kde_lib}" != x ; then
- if test `ls -C1 ${with_kde_lib}/libkdeui.* | wc -l` -gt 0; then
- ac_cv_path_kde_lib="-L`(cd ${with_kde_lib}; pwd)`"
- else
- AC_MSG_ERROR([${with_kde_lib} directory doesn't contain kde
libraries.])
- fi
- fi
- ])
-
- if test x"${ac_cv_path_kde_lib}" = x; then
- AC_MSG_CHECKING([for kdeui library])
- topdir=""
- newlist="${kde_prefix}/lib ${libslist}"
- for i in $newlist ; do
- if test -f $i/libkdeui.a -o -f $i/libkdeui.${shlibext} ; then
- topdir=$i
- AC_MSG_RESULT(${topdir}/libkdeui)
- if test ! x"$i" = x"/usr/lib" -a ! x"$i" = x"/usr/lib64"; then
- ac_cv_path_kde_lib="-L$i -lkdeui"
- break
- else
- ac_cv_path_kde_lib="-lkdeui"
- break
- fi
- fi
- done
- fi
-
- dnl Look for the kdecore library, which is required
- if test x"${ac_cv_path_kde_lib}" != x; then
- AC_MSG_CHECKING([for kdecore library])
- if test `ls -C1 ${topdir}/libkdecore.* | wc -l` -gt 0; then
- ac_cv_path_kde_lib="${ac_cv_path_kde_lib} -lkdecore"
- AC_MSG_RESULT(${topdir}/libkdecore)
- else
- AC_MSG_RESULT(no)
- fi
-
- dnl Look for the kdeprint library, which is required
- AC_MSG_CHECKING([for kdeprint library])
- if test x"${libkdeprint}" = x; then
- if test -f ${topdir}/libkdeprint.a -o -f
${topdir}/libkdeprint.${shlibext}; then
- ac_cv_path_kde_lib="${ac_cv_path_kde_lib} -lkdeprint"
- AC_MSG_RESULT(${topdir}/libkdeprint)
+AC_DEFUN([GNASH_PATH_KDE3],
+[
+ has_kde3=no
+
+ dnl setup the various options to custimize paths
+ AC_ARG_WITH(kde3_incl, AC_HELP_STRING([--with-kde3-incl],
+ [directory where KDE 3.x headers are]),
+ with_kde3_incl=${withval})
+ dnl make sure the path is a useable one
+ if test x"${with_kde3_incl}" != x ; then
+ if test ! -f ${with_kde3_incl}/kapp.h ; then
+ AC_MSG_ERROR([${with_kde3_incl} directory doesn't contain any KDE 3.x
headers])
+ fi
+ fi
+
+ AC_ARG_WITH(kde3_prefix, AC_HELP_STRING([--with-kde3-prefix],
+ [Prefix for KDE plugin, like /usr]),
+ with_kde3_prefix=${withval})
+
+ AC_ARG_WITH(kde3_lib, AC_HELP_STRING([--with-kde3-lib],
+ [directory where KDE 3.x libraries are]),
+ with_kde3_lib=${withval})
+ dnl make sure the path is a useable one
+ if test x"${with_kde3_lib}" != x ; then
+ if test ! -f ${with_kde3_lib}/libkdeui.la; then
+ AC_MSG_ERROR([${with_kde3_lib} directory doesn't contain any KDE 3.x
libraries!])
+ fi
+ fi
+
+ dnl Specifiy a custom directory for the kparts plugin
+ AC_ARG_WITH(kde3_plugindir, AC_HELP_STRING([--with-kde3-plugindir=DIR],
+ [Directory to install KDE 3.x plugin in]),
+ with_kde3_plugindir=${withval})
+ if test x"${with_kde3_plugindir}" != x ; then
+ if test ! -d ${with_kde3_plugindir}/designer; then
+ AC_MSG_ERROR([${with_kde3_plugindir} directory doesn't contain any KDE
3.x plugins!])
+ fi
+ fi
+
+ dnl Specifiy a custom directory for the kde services directory
+ AC_ARG_WITH(kde3_servicesdir, AC_HELP_STRING([--with-kde3-servicesdir=DIR],
+ [Directory to install KDE 3.x plugin in]),
+ with_kde3_servicesdir=${withval})
+ if test x"${with_kde3_servicesdir}" != x ; then
+ if test ! -d ${with_kde3_servicesdir}; then
+ AC_MSG_ERROR([${with_kde3_} directory doesn't contain any KDE 3.x
plugins!])
+ fi
+ fi
+
+ AC_ARG_WITH(kde3-configdir, AC_HELP_STRING([--with-kde3-configdir=DIR],
+ [Directory to install KDE 3.x configfile in]),
+ [KDE3_CONFIGDIR=${withval}
+ ])
+
+ AC_ARG_WITH(kde3-appsdatadir, AC_HELP_STRING([--with-kde3-appsdatadir=DIR],
+ [Directory to install KDE 3.x data in]),
+ [KDE3_APPSDATADIR=${withval}
+ ])
+
+ dnl Look for the files necessary to build KDE 3.x applications
+ if test x"${build_kde3}" = xyes; then
+ kde3_prefix=
+ AC_PATH_PROG(KDE3_CONFIG, kde-config, ,[${pathlist}])
+ if test "x$KDE3_CONFIG" != "x" ; then
+ kde3_prefix=`$KDE3_CONFIG --prefix`
+ AC_MSG_NOTICE([KDE3 prefix from kde-config is ${kde3_prefix}])
+ fi
+
+ AC_CACHE_VAL(ac_cv_path_kde3_incl,[
+ dnl if the user specified a path, sanity check it and then use it
+ if test x"${with_kde3_incl}" != x; then
+ if test -f ${with_kde3_incl}/kapp.h; then
+ ac_cv_path_kde3_incl="-I`(cd ${with_kde3_incl}; pwd)`"
+ fi
+ fi
+ dnl if the user didn't specify a path, go search a list of
+ dnl likely directories for the header files.
+ if test x"${ac_cv_path_kde3_incl}" = x ; then
+ AC_MSG_CHECKING([for KDE 3.x header path])
+ dnl incllist is inherited from configure.ac, and lives in /macros
+ for i in ${kde3_prefix}/include ${incllist}; do
+ if test -f $i/kde/kapplication.h; then
+ ac_cv_path_kde3_incl="-I$i/kde"
+ kde3_prefix=`dirname $i`
+ break
+ fi
+ if test -f $i/kapplication.h; then
+ ac_cv_path_kde3_incl="-I$i"
+ kde3_prefix=`dirname $i`
+ break
+ fi
+ done
+ fi
+ if test x"${ac_cv_path_kde3_incl}" != x ; then
+ AC_MSG_RESULT(${ac_cv_path_kde3_incl})
else
AC_MSG_RESULT(no)
+ if test x${cross_compiling} = xno; then
+ dnl if no headers have been found yet, make a last ditch
+ dnl attempt to use the compiler to find them.
+ AC_CHECK_HEADERS(kde/kapplication.h, [ac_cv_path_kde3_incl=""])
+ fi
fi
- else
- AC_MSG_RESULT(${libkdeprint})
- ac_cv_path_kde_lib="${ac_cv_path_kde_lib} ${libkdeprint}"
- fi
- fi dnl end of all optional library tests
+ ]) dnl end of cache ac_cv_path_kde3_incl
- if test x"${ac_cv_path_kde_lib}" != x; then
- KDE_LIBS="${ac_cv_path_kde_lib}"
- AC_DEFINE(HAVE_KDE,1,[Have KDE installed])
- has_kde=yes
- else
- KDE_LIBS=""
- has_kde=no
- fi
+ dnl Look for the libraries
+ AC_CACHE_VAL(ac_cv_path_kde3_lib, [
+ if test x"${with_kde3_lib}" != x ; then
+ if test -f ${with_kde3_lib}/libkdeui.la; then
+ ac_cv_path_kde3_lib="-L`(cd ${with_kde3_lib}; pwd)`"
+ else
+ AC_MSG_ERROR([${with_kde3_lib} directory doesn't contain KDE
3.x libraries.])
+ fi
+ fi
+ if test x"${ac_cv_path_kde3_lib}" = x; then
+ AC_MSG_CHECKING([for kdeui library])
+ kde3_topdir=
+ for i in ${kde3_prefix}/lib64 ${kde3_prefix}/lib $libslist ; do
+ if test -f $i/libkdeui.${shlibext} -o -f $i/libkdeui.la; then
+ kde3_topdir=$i
+ AC_MSG_RESULT(${kde3_topdir}/libkdeui)
+ if test ! x"$i" = x"/usr/lib" -a ! x"$i" = x"/usr/lib64"; then
+ ac_cv_path_kde3_lib="-L$i -lkdeui"
+ break
+ else
+ ac_cv_path_kde3_lib="-lkdeui"
+ break
+ fi
+ fi
+ done
+ fi
+ dnl Look for the kdecore library, which is required
+ if test x"${ac_cv_path_kde3_lib}" != x; then
+ AC_MSG_CHECKING([for kdecore library])
+ if test -f ${kde3_topdir}/libkdecore.la; then
+ ac_cv_path_kde3_lib="${ac_cv_path_kde3_lib} -lkdecore"
+ AC_MSG_RESULT(${kde3_topdir}/libkdecore)
+ else
+ AC_MSG_RESULT(no)
+ fi
+ fi
+ dnl Look for the kdeprint library, which is required
+ AC_MSG_CHECKING([for kdeprint library])
+ if test x"${libkdeprint}" = x; then
+ if test -f ${kde3_topdir}/libkdeprint.la -o -f
${kde3_topdir}/libkdeprint.${shlibext}; then
+ ac_cv_path_kde3_lib="${ac_cv_path_kde3_lib} -lkdeprint"
+ AC_MSG_RESULT(${kde3_topdir}/libkdeprint)
+ else
+ AC_MSG_RESULT(no)
+ fi
+ else
+ AC_MSG_RESULT(${libkdeprint})
+ ac_cv_path_kde3_lib="${ac_cv_path_kde3_lib} ${libkdeprint}"
+ fi
+ ]) dnl end of cache ac_cv_path_kde3_lib
+ fi dnl end of build_kde3
KLASH_PLUGIN=
+ dnl If building the kparts plugin, get the install paths correct.
+ if test x$build_kparts3 = xyes; then
+ AC_CACHE_VAL(ac_cv_path_kde3_prefix,[
+ dnl if the user specified a path, sanity check it and then use it
+ if test x"${with_kde3_prefix}" != x; then
+ ac_cv_path_kde3_prefix="`(cd ${with_kde3_prefix}; pwd)`"
+ fi
+ ]) dnl end of cache ac_cv_path_kde3_prefix
+
+ KDE3_PREFIX="${ac_cv_path_kde3_prefix}"
+ if test x"${PLUGINS_INSTALL_POLICY}" != x; then
+ case "${PLUGINS_INSTALL_POLICY}" in
+ user)
+ KDE3_PREFIX=${HOME}/.kde
+ ;;
+ system)
+ KDE3_PREFIX="${kde3_prefix}"
+ ;;
+ prefix)
+ KDE3_PREFIX="${prefix}"
+ ;;
+ esac
+ fi
+
+ KDE3_PLUGINDIR="${KDE3_PREFIX}/lib/kde3"
+ KDE3_SERVICESDIR="${KDE3_PREFIX}/share/services"
+ KDE3_CONFIGDIR="${KDE3_PREFIX}/share/config"
+ KDE3_APPSDATADIR="${KDE3_PREFIX}/share/apps/klash"
+ fi dnl end of build_kparts3
+
+ if test x"${ac_cv_path_kde3_incl}" != x ; then
+ if test x"${ac_cv_path_kde3_incl}" != x"-I/usr/include"; then
+ KDE3_CFLAGS="${ac_cv_path_kde3_incl}"
+ else
+ KDE3_CFLAGS=""
+ fi
+ else
+ KDE3_CFLAGS=""
+ fi
+
+ if test x"${ac_cv_path_kde3_lib}" != x; then
+ KDE3_LIBS="${ac_cv_path_kde3_lib}"
+ AC_DEFINE(HAVE_KDE3, 1,[Have KDE 3.x installed])
+ has_kde3=yes
+ else
+ KDE3_LIBS=""
+ has_kde3=no
+ fi
+
AC_SUBST(KLASH_PLUGIN)
- AC_SUBST(KDE_CFLAGS)
- AC_SUBST(KDE_LIBS)
-
- dnl If building the kparts plugin, get the install paths correct.
- if test x$kparts = xyes; then
- if test x$KDE_PLUGINPREFIX = x; then
- if test "x$KPARTS_INSTALL_POLICY" = "xuser"; then
- KDE_PLUGINPREFIX=${HOME}/.kde
- elif test "x$KPARTS_INSTALL_POLICY" = "xsystem"; then
- if test "x$KDE_CONFIG" != "x" ; then
- KDE_PLUGINPREFIX=`$KDE_CONFIG --prefix`
- else
- AC_MSG_ERROR([Dunno how to make a 'system' kde plugin install not
having found kde-config]);
- fi
- elif test "x$KPARTS_INSTALL_POLICY" = "xprefix"; then
- KDE_PLUGINPREFIX="\${prefix}/kparts"
- fi
- fi
- KDE_PLUGINDIR="${KDE_PLUGINPREFIX}/lib/kde3"
- KDE_SERVICESDIR="${KDE_PLUGINPREFIX}/share/services"
- KDE_CONFIGDIR="${KDE_PLUGINPREFIX}/share/config"
- KDE_APPSDATADIR="${KDE_PLUGINPREFIX}/share/apps/klash"
- fi
-
- AC_ARG_WITH(kde-plugindir,
- AC_HELP_STRING([--with-kde-plugindir=DIR], [Directory to install KDE
plugin in]),
- [KDE_PLUGINDIR=${withval}
- ])
-
- AC_ARG_WITH(kde-servicesdir, AC_HELP_STRING([--with-kde-servicesdir=DIR],
- [Directory to install KDE service in]),
- [KDE_SERVICESDIR=${withval}
- ])
-
- AC_ARG_WITH(kde-configdir, AC_HELP_STRING([--with-kde-configdir=DIR],
- [Directory to install KDE configfile in]),
- [KDE_CONFIGDIR=${withval}
- ])
-
- AC_ARG_WITH(kde-appsdatadir, AC_HELP_STRING([--with-kde-appsdatadir=DIR],
- [Directory to install KDE data in]),
- [KDE_APPSDATADIR=${withval}
- ])
-
-
- AC_SUBST(KDE_PLUGINDIR)
- AC_SUBST(KDE_SERVICESDIR)
- AC_SUBST(KDE_CONFIGDIR)
- AC_SUBST(KDE_APPSDATADIR)
+ AC_SUBST(KDE3_CFLAGS)
+ AC_SUBST(KDE3_LIBS)
+
+ AC_SUBST(KDE3_PLUGINDIR)
+ AC_SUBST(KDE3_SERVICESDIR)
+ AC_SUBST(KDE3_CONFIGDIR)
+ AC_SUBST(KDE3_APPSDATADIR)
])
# Local Variables:
=== added file 'macros/kde4.m4'
--- a/macros/kde4.m4 1970-01-01 00:00:00 +0000
+++ b/macros/kde4.m4 2008-11-14 22:22:01 +0000
@@ -0,0 +1,245 @@
+dnl
+dnl Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc.
+dnl
+dnl This program is free software; you can redistribute it and/or modify
+dnl it under the terms of the GNU General Public License as published by
+dnl the Free Software Foundation; either version 3 of the License, or
+dnl (at your option) any later version.
+dnl
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
+dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+dnl GNU General Public License for more details.
+dnl You should have received a copy of the GNU General Public License
+dnl along with this program; if not, write to the Free Software
+dnl Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
+AC_DEFUN([GNASH_PATH_KDE4],
+[
+ has_kde4=no
+
+ dnl setup the various options to custimize paths
+ AC_ARG_WITH(kde4_incl, AC_HELP_STRING([--with-kde4-incl],
+ [directory where KDE 4.x headers are]),
+ with_kde4_incl=${withval})
+ dnl make sure the path is a useable one
+ if test x"${with_kde4_incl}" != x ; then
+ if test ! -f ${with_kde4_incl}/kapp.h ; then
+ AC_MSG_ERROR([${with_kde4_incl} directory doesn't contain any KDE 4.x
headers])
+ fi
+ fi
+
+ AC_ARG_WITH(kde4_prefix, AC_HELP_STRING([--with-kde4-prefix],
+ [Prefix for KDE plugin, like /usr]),
+ with_kde4_prefix=${withval})
+
+ AC_ARG_WITH(kde4_lib, AC_HELP_STRING([--with-kde4-lib],
+ [directory where KDE 4.x libraries are]),
+ with_kde4_lib=${withval})
+ dnl make sure the path is a useable one
+ if test x"${with_kde4_lib}" != x ; then
+ if test ! -f ${with_kde4_lib}/libkdeui.la; then
+ AC_MSG_ERROR([${with_kde4_lib} directory doesn't contain any KDE 4.x
libraries!])
+ fi
+ fi
+
+ dnl Specifiy a custom directory for the kparts plugin
+ AC_ARG_WITH(kde4_plugindir, AC_HELP_STRING([--with-kde4-plugindir=DIR],
+ [Directory to install KDE 4.x plugin in]),
+ with_kde4_plugindir=${withval})
+ if test x"${with_kde4_plugindir}" != x ; then
+ if test ! -d ${with_kde4_plugindir}/designer; then
+ AC_MSG_ERROR([${with_kde4_plugindir} directory doesn't contain any KDE
4.x plugins!])
+ fi
+ fi
+
+ dnl Specifiy a custom directory for the kde services directory
+ AC_ARG_WITH(kde4_servicesdir, AC_HELP_STRING([--with-kde4-servicesdir=DIR],
+ [Directory to install KDE 4.x plugin in]),
+ with_kde4_servicesdir=${withval})
+ if test x"${with_kde4_servicesdir}" != x ; then
+ if test ! -d ${with_kde4_servicesdir}; then
+ AC_MSG_ERROR([${with_kde4_} directory doesn't contain any KDE 4.x
plugins!])
+ fi
+ fi
+
+ AC_ARG_WITH(kde4-configdir, AC_HELP_STRING([--with-kde4-configdir=DIR],
+ [Directory to install KDE KDE 4.x configfile in]),
+ [KDE4_CONFIGDIR=${withval}
+ ])
+
+ AC_ARG_WITH(kde-appsdatadir, AC_HELP_STRING([--with-kde-appsdatadir=DIR],
+ [Directory to install KDE 4.x data in]),
+ [KDE4_APPSDATADIR=${withval}
+ ])
+
+ dnl Only run these tests if this version was specified by the user, and they
+ dnl haven't spcified a custom path.
+ if test x"${build_kde4}" = xyes; then
+ kde4_prefix=
+ AC_PATH_PROG(KDE4_CONFIG, kde4-config, ,[${pathlist}])
+ if test "x$KDE4_CONFIG" != "x" ; then
+ kde4_prefix=`$KDE4_CONFIG --prefix`
+ AC_MSG_NOTICE([KDE4 prefix from kde4-config is ${kde4_prefix}])
+ fi
+
+ AC_CACHE_VAL(ac_cv_path_kde4_incl,[
+ dnl if the user specified a path, sanity check it and then use it
+ if test x"${with_kde4_incl}" != x ; then
+ if test -f ${with_kde4_incl}/kapplication.h ; then
+ ac_cv_path_kde4_incl="-I`(cd ${with_kde4_incl}; pwd)`"
+ fi
+ fi
+ AC_MSG_CHECKING([for KDE 4.x header path])
+ dnl if the user didn't specify a path, go search a list of
+ dnl likely directories for the header files.
+ if test x"${ac_cv_path_kde4_incl}" = x ; then
+ dnl incllist is inherited from configure.ac, and lives in /macros
+ for i in ${kde4_prefix}/include $incllist; do
+ if test -f $i/kde4/kapplication.h; then
+ ac_cv_path_kde4_incl="-I$i/kde4"
+ kde4_prefix=`dirname $i`
+ break
+ fi
+ if test -f $i/kde/kapplication.h; then
+ ac_cv_path_kde4_incl="-I$i/kde"
+ kde4_prefix=`dirname $i`
+ break
+ fi
+ if test -f $i/kapplication.h; then
+ ac_cv_path_kde4_incl="-I$i"
+ kde4_prefix=`dirname $i`
+ break
+ fi
+ done
+ fi
+ if test x"${ac_cv_path_kde4_incl}" != x ; then
+ AC_MSG_RESULT(${ac_cv_path_kde4_incl})
+ else
+ AC_MSG_RESULT(no)
+ if test x${cross_compiling} = xno; then
+ dnl if no headers have been found yet, make a last ditch
+ dnl attempt to use the compiler to find them.
+ AC_CHECK_HEADERS(kde4/kapplication.h, [ac_cv_path_kde4_incl=""])
+ fi
+ fi
+ ]) dnl end of cache ac_cv_path_kde4_incl
+
+ dnl Look for the libraries
+ AC_CACHE_VAL(ac_cv_path_kde4_lib, [
+ if test x"${with_kde4_lib}" != x ; then
+ if test -f ${with_kde4_lib}/libkdeui.la; then
+ ac_cv_path_kde4_lib="-L`(cd ${with_kde4_lib}; pwd)`"
+ else
+ AC_MSG_ERROR([${with_kde4_lib} directory doesn't contain KDE
4.x libraries.])
+ fi
+ fi
+ if test x"${ac_cv_path_kde4_lib}" = x; then
+ AC_MSG_CHECKING([for kdeui library])
+ kde4_topdir=
+ for i in ${kde4_prefix}/lib64 ${kde4_prefix}/lib $libslist ; do
+ if test -f $i/libkdeui.${shlibext} -o -f $i/libkdeui.la; then
+ kde4_topdir=$i
+ AC_MSG_RESULT(${kde4_topdir}/libkdeui)
+ if test ! x"$i" = x"/usr/lib" -a ! x"$i" = x"/usr/lib64"; then
+ ac_cv_path_kde4_lib="-L$i -lkdeui"
+ break
+ else
+ ac_cv_path_kde4_lib="-lkdeui"
+ break
+ fi
+ fi
+ done
+ fi
+ dnl Look for the kdecore library, which is required
+ if test x"${ac_cv_path_kde4_lib}" != x; then
+ AC_MSG_CHECKING([for kdecore library])
+ if test -f ${kde4_topdir}/libkdecore.la; then
+ ac_cv_path_kde4_lib="${ac_cv_path_kde4_lib} -lkdecore"
+ AC_MSG_RESULT(${kde4_topdir}/libkdecore)
+ else
+ AC_MSG_RESULT(no)
+ fi
+ fi
+ dnl Look for the kdeprint library, which is required
+ AC_MSG_CHECKING([for kdeprint library])
+ if test x"${libkdeprint}" = x; then
+ if test -f ${kde4_topdir}/libkdeprint.la -o -f
${kde4_topdir}/libkdeprint.${shlibext}; then
+ ac_cv_path_kde4_lib="${ac_cv_path_kde4_lib} -lkdeprint"
+ AC_MSG_RESULT(${kde4_topdir}/libkdeprint)
+ else
+ AC_MSG_RESULT(no)
+ fi
+ else
+ AC_MSG_RESULT(${libkdeprint})
+ ac_cv_path_kde4_lib="${ac_cv_path_kde4_lib} ${libkdeprint}"
+ fi
+ ]) dnl end of cache ac_cv_path_kde4_lib
+ fi dnl end of build_kde4
+
+ KLASH_PLUGIN=
+
+ dnl If building the kparts plugin, get the install paths correct.
+ if test x$build_kparts3 = xyes; then
+ AC_CACHE_VAL(ac_cv_path_kde4_prefix,[
+ dnl if the user specified a path, sanity check it and then use it
+ if test x"${with_kde4_prefix}" != x; then
+ ac_cv_path_kde4_prefix="`(cd ${with_kde4_prefix}; pwd)`"
+ fi
+ ]) dnl end of cache ac_cv_path_kde4_prefix
+
+ KDE4_PREFIX="${ac_cv_path_kde4_prefix}"
+ if test x"${PLUGINS_INSTALL_POLICY}" != x; then
+ case "${PLUGINS_INSTALL_POLICY}" in
+ user)
+ KDE4_PREFIX=${HOME}/.kde
+ ;;
+ system)
+ KDE4_PREFIX="${kde4_prefix}"
+ ;;
+ prefix)
+ KDE4_PREFIX="${prefix}"
+ ;;
+ esac
+ fi
+
+ KDE4_PLUGINDIR="${KDE4_PREFIX}/lib/kde4"
+ KDE4_SERVICESDIR="${KDE4_PREFIX}/share/services"
+ KDE4_CONFIGDIR="${KDE4_PREFIX}/share/config"
+ KDE4_APPSDATADIR="${KDE4_PREFIX}/share/apps/klash"
+ fi dnl end of build_kparts3
+
+ if test x"${ac_cv_path_kde4_incl}" != x ; then
+ if test x"${ac_cv_path_kde3_incl}" != x"-I/usr/include"; then
+ KDE4_CFLAGS="${ac_cv_path_kde4_incl}"
+ else
+ KDE4_CFLAGS=""
+ fi
+ else
+ KDE4_CFLAGS=""
+ fi
+
+ if test x"${ac_cv_path_kde4_lib}" != x; then
+ KDE4_LIBS="${ac_cv_path_kde4_lib}"
+ AC_DEFINE(HAVE_KDE4, 1,[Have KDE 4.x installed])
+ has_kde4=yes
+ else
+ KDE4_LIBS=""
+ has_kde4=no
+ fi
+
+ AC_SUBST(KLASH_PLUGIN)
+ AC_SUBST(KDE4_CFLAGS)
+ AC_SUBST(KDE4_LIBS)
+
+ AC_SUBST(KDE4_PLUGINDIR)
+ AC_SUBST(KDE4_SERVICESDIR)
+ AC_SUBST(KDE4_CONFIGDIR)
+ AC_SUBST(KDE4_APPSDATADIR)
+])
+
+# Local Variables:
+# c-basic-offset: 2
+# tab-width: 2
+# indent-tabs-mode: nil
+# End:
=== modified file 'macros/libslist'
--- a/macros/libslist 2007-09-05 15:12:13 +0000
+++ b/macros/libslist 2008-11-14 22:22:01 +0000
@@ -1,1 +1,1 @@
-${with_top_level}/lib ${prefix}/${host_alias}/lib ${prefix}/lib64
${prefix}/lib32 ${prefix}/lib /usr/local/lib /lib /usr/lib64 /usr/lib32
/usr/nekoware/lib /usr/freeware/lib /usr/lib /sw/lib /home/latest/lib /opt/lib
/pkg/lib /opt/local/lib /usr/pkg/lib /usr/X11R6/lib /usr/X11/lib
/usr/lib/opengl/xorg-x11/lib /usr/lib64/opengl/xorg-x11/lib
/usr/lib64/opengl/xorg-x11/lib64 /opt/mesa/lib /opt/mesa/lib64 .. ../..
+${with_top_level}/lib ${prefix}/${host_alias}/lib ${prefix}/lib64
${prefix}/lib32 ${prefix}/lib /usr/local/lib /lib /usr/lib64 /usr/lib32
/usr/lib /usr/nekoware/lib /usr/freeware/lib /usr/lib /sw/lib /home/latest/lib
/opt/lib /pkg/lib /opt/local/lib /usr/pkg/lib /usr/X11R6/lib /usr/X11/lib
/usr/lib/opengl/xorg-x11/lib /usr/lib64/opengl/xorg-x11/lib
/usr/lib64/opengl/xorg-x11/lib64 /opt/mesa/lib /opt/mesa/lib64 .. ../..
=== renamed file 'macros/qt.m4' => 'macros/qt3.m4'
--- a/macros/qt.m4 2008-02-01 05:48:33 +0000
+++ b/macros/qt3.m4 2008-11-14 22:22:01 +0000
@@ -22,197 +22,133 @@
dnl set version flags in config.h and use Automake conditionals to
dnl force one behaviour or the other.
-AC_DEFUN([GNASH_PATH_QT],
+AC_DEFUN([GNASH_PATH_QT3],
[
- gnash_qt_topdir=""
- gnash_qt_version=0
- qt3support=""
-
- dnl Lool for the header
- AC_ARG_WITH(qt_incl, AC_HELP_STRING([--with-qt-incl], [directory where qt
headers are]), with_qt_incl=${withval})
- AC_CACHE_VAL(ac_cv_path_qt_incl,[
- if test x"${with_qt_incl}" != x ; then
- if test -f ${with_qt_incl}/qobject.h ; then
- ac_cv_path_qt_incl="-I`(cd ${with_qt_incl}; pwd)`"
+ gnash_qt3_topdir=""
+ has_qt3=no
+
+ dnl Look for the header
+ AC_ARG_WITH(qt3_incl, AC_HELP_STRING([--with-qt3-incl], [directory where QT
3.x headers are]), with_qt3_incl=${withval})
+
+ AC_CACHE_VAL(ac_cv_path_qt3_incl,[
+ if test x"${with_qt3_incl}" != x; then
+ if test -f ${with_qt3_incl}/qobject.h; then
+ ac_cv_path_qt3_incl="-I`(cd ${with_qt3_incl}; pwd)`"
else
- AC_MSG_ERROR([${with_qt_incl} directory doesn't contain any headers])
+ AC_MSG_ERROR([${with_qt3_incl} directory doesn't contain any QT 3.x
headers])
fi
fi
- ])
+ ]) dnl end of cache ac_cv_path_qt4_incl
- dnl if QTDIR is set, don't use pkg-config, as it screws the flags
- dnl up. Default to Qt3 for now.
- qt_pkg="qt-mt"
- if test x$QTDIR != x; then
- if test -f $QTDIR/include/qobject.h; then
- qt_pkg="qt-mt"
- if test x`basename $QTDIR` = "qt4"; then
- gnash_qt_version=4
- else
- if test x`basename $QTDIR` = "qt3"; then
+ dnl Only run these tests if this version was specified by the user, and they
+ dnl haven't spcified a custom path.
+ if test x"${build_qt3}" = xyes -a x"${ac_cv_path_qt3_incl}" = x; then
+ dnl if QTDIR is set in the users environment, use that, as that's what
+ dnl most QT programmers do, as it's required by the QT build system.
+ qt_pkg="qt-mt"
+ if test x$QTDIR != x; then
+ if test -f $QTDIR/include/qobject.h; then
+ qt_base=`basename $QTDIR`
+ if test x"${qt_base}" = "qt4"; then
+ AC_MSG_ERROR([Mismatched QT versions! Reset QTDIR in your
environment!])
+ else
gnash_qt_version=3
- else
- gnash_qt_version=2
- fi
- fi
- else
- dnl Look for qt4 first, if qt3 exists, we prefer that, so override this
- if test -f /usr/include/qt4/qobject.h; then
- qt_pkg="QtCore"
- gnash_qt_version=4
- fi
- if test -f /usr/include/qt3/qobject.h; then
- qt_pkg="qt-mt"
- gnash_qt_version=3
- fi
- fi
- fi
-
- if test x$cross_compiling = xno; then
- if test x"$PKG_CONFIG" != x; then
- gnash_qt_version="`$PKG_CONFIG --modversion $qt_pkg | cut -d '.' -f 1`"
- fi
- fi
-
- AC_MSG_CHECKING([for qt header])
- if test x$cross_compiling = xno; then
- if test x"$PKG_CONFIG" != x -a x"${ac_cv_path_qt_incl}" = x; then
- $PKG_CONFIG --exists $qt_pkg && ac_cv_path_qt_incl="`$PKG_CONFIG
--cflags-only-I $qt_pkg | cut -d ' ' -f 1`"
- fi
- fi
-
- dnl QT stores it's headers in ../lib/qt-3.3/include for example, so
- dnl use libslist instead of incllist
- if test x"${ac_cv_path_qt_incl}" = x; then
- for i in $QTDIR $libslist $incllist; do
- for j in $QTDIR `ls -dr $i/qt[[0-9]] 2>/dev/null`; do
- if test -f $j/include/qobject.h; then
- gnash_qt_topdir="$j"
- if test "${gnash_qt_version} " -eq 0; then
- gnash_qt_version=2
- fi
- ac_cv_path_qt_incl="-I$j/include"
- break
- else
- if test -f $j/Qt/qobject.h; then
- gnash_qt_topdir="$j"
- if test "${gnash_qt_version} " -eq 0; then
- gnash_qt_version=4
- fi
- ac_cv_path_qt_incl="-I$j -I$j/Qt"
- fi
- fi
- done
- if test "x$gnash_qt_topdir" != x; then
- break;
- fi
- done
- else
- gnash_qt_topdir="`echo ${ac_cv_path_qt_incl} | sed -e 's:-I::' -e
's:/lib/qt.*::'`"
- fi
-dnl On Debian the dir is /usr/include/qt3 with /usr/lib/libqt-mt.*
-dnl so we set topdir to /usr so that $topdir/lib/libqt-mt.* works below,
-dnl and version to 3 or whatever.
-dnl incllist is inherited from configure.ac.
- if test "x$gnash_qt_version" = x; then
- for i in $QTDIR $incllist; do
- for j in $QTDIR `ls -dr $i/qt[[0-9]] 2>/dev/null`; do
- if test -f $j/qobject.h -o -f $j/Qt/qobject.h; then
-dnl gnash_qt_version=`echo "$j" | sed "s:$i/qt::"`
- ac_cv_path_qt_incl="-I$j -I$j/Qt"
- break
- fi
- done
- if test x$gnash_qt_version != x; then
- break;
- fi
- done
- fi
-
- if test x"${ac_cv_path_qt_incl}" = x; then
- AC_MSG_RESULT(no)
- else
- AC_MSG_RESULT(${ac_cv_path_qt_incl})
- fi
-
- if test x"${ac_cv_path_qt_incl}" != x ; then
- QT_CFLAGS="${ac_cv_path_qt_incl}"
- else
- QT_CFLAGS=""
- fi
-
- dnl we have to define our own config constant for this, even though
- dnl QT_VERSION exists, the header path it's in changes, so this
- dnl seemed easier.
- if test x$gnash_qt_version != x; then
- AC_MSG_NOTICE([QT version is $gnash_qt_version])
- dnl due to a weird problem with variable expansion, we have to use
- dnl a case statement to set the QT version.
- case $gnash_qt_version in
- 2)
- AC_DEFINE([GNASH_QT_VERSION], 2, [The Qtopia version])
- ;;
- 3)
- AC_DEFINE([GNASH_QT_VERSION], 3, [The Qtopia version])
- ;;
- 4)
- AC_DEFINE([GNASH_QT_VERSION], 4, [The Qtopia version])
- qt3support="-lqt3support"
- ;;
- esac
- fi
+ fi
+ fi
+ fi
+
+ if test x$cross_compiling = xno; then
+ if test x"$PKG_CONFIG" != x; then
+ gnash_qt_version="`$PKG_CONFIG --modversion $qt_pkg | cut -d '.' -f 1`"
+ fi
+ fi
+
+ AC_MSG_CHECKING([for QT 3.x header])
+ if test x$cross_compiling = xno; then
+ if test x"$PKG_CONFIG" != x -a x"${ac_cv_path_qt3_incl}" = x; then
+ $PKG_CONFIG --exists $qt_pkg && ac_cv_path_qt3_incl="`$PKG_CONFIG
--cflags-only-I $qt_pkg | cut -d ' ' -f 1`"
+ fi
+ fi
+
+ dnl QT 3,x stores it's headers in ../lib/qt-3.3/include for example, so
+ dnl use libslist instead of incllist
+ if test x"${ac_cv_path_qt3_incl}" = x; then
+ for i in $QTDIR $libslist $incllist; do
+ for j in `ls -dr $i/qt[[0-9]] 2>/dev/null`; do
+ if test -f $j/include/qobject.h; then
+ gnash_qt3_topdir="$j"
+ ac_cv_path_qt3_incl="-I$j/include"
+ break
+ fi
+ done
+ if test "x$gnash_qt3_topdir" != x; then
+ break;
+ fi
+ done
+ else
+ gnash_qt3_topdir="`echo ${ac_cv_path_qt3_incl} | sed -e 's:-I::' -e
's:/lib/qt.*::'`"
+ fi
+
+ if test x"${ac_cv_path_qt3_incl}" = x; then
+ QT3_CFLAGS=""
+ AC_MSG_RESULT(no)
+ else
+ QT3_CFLAGS="${ac_cv_path_qt3_incl}"
+ AC_MSG_RESULT(${ac_cv_path_qt3_incl})
+ fi
dnl # QT_LIBS = -lqtui -lqtcore -lqtprint -L/usr/lib/qt-3.3/lib -lqt-mt
dnl Look for the libraries
- AC_ARG_WITH(qt_lib, AC_HELP_STRING([--with-qt-lib], [directory where qt
libraries are]), with_qt_lib=${withval})
- AC_CACHE_VAL(ac_cv_path_qt_lib, [
- if test x"${with_qt_lib}" != x ; then
- if test `ls -C1 ${gnash_qt_topdir}/lib/libqt*-mt.* | wc -l` -gt 0 ; then
- ac_cv_path_qt_lib="-L`(cd ${with_qt_lib}; pwd)` ${qt3support} -lqt-mt"
+ AC_ARG_WITH(qt3_lib, AC_HELP_STRING([--with-qt3-lib], [directory where QT
3.x libraries are]), with_qt3_lib=${withval})
+ AC_CACHE_VAL(ac_cv_path_qt3_lib, [
+ if test x"${with_qt3_lib}" != x ; then
+ if test `ls -C1 ${with_qt3_lib}/lib/libqt*-mt.* | wc -l` -gt 0 ; then
+ ac_cv_path_qt3_lib="-L`(cd ${with_qt3_lib}; pwd)` ${qt3support}
-lqt-mt"
+ else
+ AC_MSG_ERROR([${with_qt3_lib} directory doesn't contain QT 3.x
libraries.])
+ fi
+ fi
+ ])
+
+ if test x$cross_compiling = xno; then
+ if test x"$PKG_CONFIG" != x -a x"${ac_cv_path_qt3_lib}" = x; then
+ $PKG_CONFIG --exists $qt_pkg && ac_cv_path_qt3_lib="`$PKG_CONFIG
--libs-only-l $qt_pkg | cut -d ' ' -f 1`"
+ fi
+ fi
+
+ if test x"${ac_cv_path_qt3_lib}" = x; then
+ AC_MSG_CHECKING([for QT 3.x libraries])
+ if test `ls -C1 ${gnash_qt3_topdir}/lib/libqt*-mt.*| wc -l` -gt 0 ; then
+ dnl Qtopia (embedded QT) uses libqte-mt instead of libqt-mt
+ if test -f ${gnash_qt3_topdir}/lib/libqte-mt.${shlibext}; then
+ ac_cv_path_qt3_lib="-L${gnash_qt3_topdir}/lib ${qt3support} -lqte-mt"
+ else
+ ac_cv_path_qt3_lib="-L${gnash_qt3_topdir}/lib ${qt3support} -lqt-mt"
+ fi
+ fi
+ if test x"${ac_cv_path_qt3_lib}" != x; then
+ AC_MSG_RESULT(${ac_cv_path_qt3_lib})
else
- AC_MSG_ERROR([${with_qt_lib} directory doesn't contain qt
libraries.])
- fi
- fi
- ])
-
- if test x$cross_compiling = xno; then
- if test x"$PKG_CONFIG" != x -a x"${ac_cv_path_qt_lib}" = x; then
- $PKG_CONFIG --exists $qt_pkg && ac_cv_path_qt_lib="`$PKG_CONFIG
--libs-only-l $qt_pkg | cut -d ' ' -f 1`"
- fi
- fi
-
- if test x"${ac_cv_path_qt_lib}" = x; then
- AC_MSG_CHECKING([for qt library])
- if test `ls -C1 ${gnash_qt_topdir}/lib/libqt*-mt.*| wc -l` -gt 0 ; then
- dnl Qtopia (embedded QT) uses libqte-mt instead of libqt-mt
- if test -f ${gnash_qt_topdir}/lib/libqte-mt.${shlibext}; then
- ac_cv_path_qt_lib="-L${gnash_qt_topdir}/lib ${qt3support} -lqte-mt"
- else
- ac_cv_path_qt_lib="-L${gnash_qt_topdir}/lib ${qt3support} -lqt-mt"
- fi
- fi
- if test x"${ac_cv_path_qt_lib}" != x; then
- AC_MSG_RESULT(${ac_cv_path_qt_lib})
+ AC_MSG_RESULT(none)
+ fi
+ fi
+
+ if test x"${ac_cv_path_qt3_lib}" != x; then
+ QT3_LIBS="${ac_cv_path_qt3_lib}"
+ AC_DEFINE(HAVE_QT3, 1, [Have QT 3.x installed])
+ has_qt3="yes"
else
- AC_MSG_RESULT(none)
+ QT3_LIBS=""
+ has_qt3="no"
fi
- fi
-
- if test x"${ac_cv_path_qt_lib}" != x; then
- QT_LIBS="${ac_cv_path_qt_lib}"
- AC_DEFINE(HAVE_QT,1,[Have QT installed])
- has_qt="yes"
- else
- QT_LIBS=""
- has_qt="no"
- fi
-
- AC_PATH_PROG(MOC, moc, ,[${QTDIR}/bin ${gnash_qt_topdir}/bin ${pathlist}])
-
- AC_SUBST(MOC)
-
- AC_SUBST(QT_CFLAGS)
- AC_SUBST(QT_LIBS)
+
+ AC_PATH_PROG(MOC3, moc, ,[ /usr/lib/qt-3.3/bin ${QTDIR}/bin${pathlist}])
+
+ fi dnl end of build_qt3
+
+ AC_SUBST(MOC3)
+ AC_SUBST(QT3_CFLAGS)
+ AC_SUBST(QT3_LIBS)
])
=== added file 'macros/qt4.m4'
--- a/macros/qt4.m4 1970-01-01 00:00:00 +0000
+++ b/macros/qt4.m4 2008-11-14 22:22:01 +0000
@@ -0,0 +1,239 @@
+dnl
+dnl Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc.
+dnl
+dnl This program is free software; you can redistribute it and/or modify
+dnl it under the terms of the GNU General Public License as published by
+dnl the Free Software Foundation; either version 3 of the License, or
+dnl (at your option) any later version.
+dnl
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
+dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+dnl GNU General Public License for more details.
+dnl You should have received a copy of the GNU General Public License
+dnl along with this program; if not, write to the Free Software
+dnl Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
+AC_DEFUN([GNASH_PATH_QT4], [
+ gnash_qt4_topdir=
+ has_kde4=no
+
+ dnl Look for the header
+ AC_ARG_WITH(qt4_incl, AC_HELP_STRING([--with-qt4-incl],
+ [directory where QT 3.x headers are]),
+ with_qt4_incl=${withval})
+
+ AC_CACHE_VAL(ac_cv_path_qt4_incl,[
+ if test x"${with_qt4_incl}" != x; then
+ if test -f ${with_qt4_incl}/QtCore/qobject.h; then
+ ac_cv_path_qt4_incl="-I`(cd ${with_qt4_incl}; pwd)`"
+ else
+ AC_MSG_ERROR([${with_qt4_incl}/QtCore directory doesn't contain any QT
4.x headers])
+ fi
+ fi
+ ]) dnl end of cache ac_cv_path_qt4_incl
+
+ dnl Only run these tests if this version was specified by the user, and they
+ dnl haven't spcified a custom path.
+ if test x"${build_qt4}" = xyes -a x"${ac_cv_path_qt4_incl}" = x; then
+ dnl if QTDIR is set in the users environment, use that, as that's what
+ dnl most QT programmers do, as it's required by the QT build system.
+ if test x$QTDIR != x; then
+ if test -f $QTDIR/include/QtCore/qobject.h; then
+ qt_base=`basename $QTDIR`
+ dnl Only support version 4 in this file.
+ if test x"${qt_base}" != x"qt4"; then
+ AC_MSG_ERROR([Mismatched QT versions! Reset QTDIR in your
environment!])
+ fi
+ fi
+ fi
+
+dnl FIXME: do we even need the version anymore ?
+dnl if test x"${cross_compiling} = xno; then
+dnl if test x"${PKG_CONFIG}" != x; x1then
+dnl gnash_qt_version="`${PKG_CONFIG} --modversion QtCore | cut -d '.'
-f 1`"
+dnl fi
+dnl fi
+
+ AC_MSG_CHECKING([for QT 4.x headers])
+ if test x$cross_compiling = xno; then
+ if test x"${PKG_CONFIG}" != x -a x"${ac_cv_path_qt4_incl}" = x; then
+ ${PKG_CONFIG} --exists QtCore QtGui &&
ac_cv_path_qt4_incl="`$PKG_CONFIG --cflags-only-I QtCore QtGui`"
+ gnash_qt4_topdir=`echo "${ac_cv_path_qt4_incl}" | sed -e 's/-I//g' |
cut -d ' ' -f 1`
+ fi
+ fi
+
+ dnl QT 4.x stores it's headers in ../lib/qt4/include for example, so
+ dnl use libslist instead of incllist
+ if test x"${ac_cv_path_qt4_incl}" = x; then
+ for i in ${incllist} ${libslist}; do
+ dnl Some distributions put the QT headers directly in the directory
+ if test -f $i/Qt/qobject.h; then
+ gnash_qt4_topdir="$i"
+ if test x"$i" != x"/usr/include"; then
+ ac_cv_path_qt4_incl="-I$i"
+ fi
+ break
+ fi
+ dnl Some distributions put the QT headers in a sub directory
+ if test -f $i/qt4/Qt/qobject.h; then
+ gnash_qt4_topdir="$i/qt4"
+ ac_cv_path_qt4_incl="-I$i/qt4"
+ break
+ fi
+ done
+ fi
+
+ dnl this is a list of al the libraries supported by QT 4.x, but we don't
need all of
+ dnl then, but we might as well get all the paths, as header files
ofteninclude other
+ dnl header files.
+ all_qt4_libs="QtCore QtGui QtXml QtDBus QtNetwork QtOpenGL QtScript QtSql
QtTest QtSvg QtWebKit"
+ for i in ${all_qt4_libs}; do
+ dnl Darwin is easy, everything is in the same location on all machines.
+ if test x"${darwin}" = xyes; then
+ if test -d /Library/Frameworks; then
+ ac_cv_path_qt4_incl="${ac_cv_path_qt4_incl}
/Library/Frameworks/$i.framework/Headers"
+ fi
+ else
+ if test -d ${gnash_qt4_topdir}/$i; then
+ ac_cv_path_qt4_incl="${ac_cv_path_qt4_incl} -I${gnash_qt4_topdir}/$i"
+ fi
+ fi
+ done
+ if test x"${ac_cv_path_qt4_incl}" = x; then
+ QT4_CFLAGS=""
+ AC_MSG_RESULT(no)
+ else
+ QT4_CFLAGS="${ac_cv_path_qt4_incl}"
+ AC_MSG_RESULT(${gnash_qt4_topdir})
+ fi
+
+dnl if test "$gnash_cv_lib_qt_dir" = "no"; then
+dnl dnl We might be on OSX...
+dnl if test -d /Library/Frameworks/QtCore.framework; then
+dnl gnash_cv_lib_qt_dir=/Library/Frameworks
+dnl KDE_LIBS="-L/Library/Frameworks -F/Library/Frameworks"
+dnl fi
+dnl fi
+
+ dnl Look for the libraries
+ AC_ARG_WITH(qt4_lib, AC_HELP_STRING([--with-qt4-lib], [directory where QT
4.x libraries are]), with_qt4_lib=${withval})
+ AC_CACHE_VAL(ac_cv_path_qt4_lib, [
+ if test x"${with_qt4_lib}" != x ; then
+ if test `ls -C1 ${with_qt4_lib}/libQtCore.${shlibext}* | wc -l` -gt 0
; then
+ ac_cv_path_qt4_lib="-L`(cd ${with_qt4_lib}; pwd)` ${qt4support}
-lQtCore -lQtGui"
+ else
+ AC_MSG_ERROR([${with_qt4_lib} directory doesn't contain QT 4.x
libraries.])
+ fi
+ fi
+ ])
+
+ if test x$cross_compiling = xno; then
+ if test x"$PKG_CONFIG" != x -a x"${ac_cv_path_qt4_lib}" = x; then
+ $PKG_CONFIG --exists QtCore QtGui && ac_cv_path_qt4_lib="`$PKG_CONFIG
--libs QtCore QtGui`"
+ fi
+ fi
+
+ AC_MSG_CHECKING([for QT 4.x libraries])
+ if test x"${ac_cv_path_qt4_lib}" = x; then
+ for i in $libslist; do
+ if test -f $i/libQtCore.${shlibext}; then
+ gnash_qt4_topdir=$i
+ if test x"$i" != x"/usr/lib"; then
+ ac_cv_path_qt4_lib="-L$i"
+ fi
+ break
+ fi
+ done
+ dnl redefine the list of libraries, as we don't need all of them, so why
bother.
+ all_qt4_libs="QtCore QtGui"
+ for i in ${all_qt4_libs}; do
+ if test -f ${gnash_qt4_topdir}/lib$i.${shlibext}; then
+ ac_cv_path_qt4_lib="${ac_cv_path_qt4_lib} -l$i"
+ fi
+ done
+ fi
+
+ if test x"${ac_cv_path_qt4_lib}" != x; then
+ AC_MSG_RESULT(${ac_cv_path_qt4_lib})
+ QT4_LIBS="${ac_cv_path_qt4_lib}"
+ AC_DEFINE(HAVE_QT4, 1, [Have QT 4.x installed])
+ has_qt4="yes"
+ else
+ AC_MSG_RESULT(no)
+ QT4_LIBS=""
+ has_qt4="no"
+ fi
+
+ AC_PATH_PROG(MOC4, moc-qt4, ,[${QTDIR}/bin /usr/lib/qt4/bin
/usr/share/qt4/bin/ ${pathlist}])
+ AC_PATH_PROG(UIC4, uic-qt4, ,[${QTDIR}/bin /usr/lib/qt4/bin
/usr/share/qt4/bin/ ${pathlist}])
+
+
+ AC_SUBST([QT4_CFLAGS])
+ AC_SUBST([QT4_LIBS])
+ AC_SUBST([MOC4])
+ AC_SUBST([UIC4])
+ fi dnl end of build_qt4
+]) dnl end of defun GNASH_PATH_QT4
+
+dnl dnl Find the QT 4.x libQtCore library
+dnl AC_DEFUN([GNASH_QT4_CORE], [
+dnl AC_REQUIRE([GNASH_PATH_QT4])
+dnl if test x"$gnash_qt4_topdir" = x"/Library/Frameworks"; then
+dnl QT_CFLAGS="${QT_CFLAGS} -D_REENTRANT -DQT_SHARED
${gnash_qt4_topdir}/QtCore.framework/Headers"
+dnl QTCORE="-framework QtCore"
+dnl else
+dnl QT_CFLAGS="${QT_CFLAGS} -D_REENTRANT -DQT_SHARED
-I${gnash_qt4_topdir}/QtCore"
+dnl QT_LIBS="$QT_LIBS -lQtCore"
+dnl fi
+dnl if test "$enable_qt_debug" = "no"; then
+dnl KDE_CFLAGS="$CPPFLAGS -DQT_NO_DEBUG"
+dnl fi
+dnl AC_SUBST(QTCORE)
+dnl ])
+
+dnl FIXME: I don't think we need this.
+dnl AC_DEFUN([GNASH_QT_PLATFORM], [
+dnl AC_REQUIRE([GNASH_QT4_CORE])
+dnl AC_MSG_CHECKING([Qt platform])
+dnl platform=unknown
+dnl AC_COMPILE_IFELSE([
+dnl #include <qglobal.h>
+dnl #ifndef Q_WS_X11
+dnl #error Not X11
+dnl #endif
+dnl ], [platform=X11], [])
+dnl if test "$platform" = "unknown"; then
+dnl AC_COMPILE_IFELSE([
+dnl #include <qglobal.h>
+dnl #ifndef Q_WS_QWS
+dnl #error Not Qtopia
+dnl #endif
+dnl ], [platform=Qtopia], [])
+dnl fi
+dnl if test "$platform" = "unknown"; then
+dnl AC_COMPILE_IFELSE([
+dnl #include <qglobal.h>
+dnl #ifndef Q_WS_MACX
+dnl #error Not OSX
+dnl #endif
+dnl ], [platform=OSX], [])
+dnl fi
+dnl if test "$platform" = "unknown"; then
+dnl AC_COMPILE_IFELSE([
+dnl #include <qglobal.h>
+dnl #ifndef Q_WS_MAC9
+dnl #error Not OS9
+dnl #endif
+dnl ], [platform=OS9], [])
+dnl fi
+dnl if test "$platform" = "unknown"; then
+dnl AC_COMPILE_IFELSE([
+dnl #include <qglobal.h>
+dnl #ifndef Q_WS_WIN32
+dnl #error No dirty Nazi junk
+dnl #endif
+dnl ], [platform=Win32], [])
+dnl fi
+dnl AC_MSG_RESULT([$platform])
+dnl ])
=== modified file 'plugin/Makefile.am'
--- a/plugin/Makefile.am 2008-10-20 12:27:06 +0000
+++ b/plugin/Makefile.am 2008-11-14 22:41:27 +0000
@@ -20,10 +20,14 @@
SUBDIRS =
-if KPARTS
+if KPARTS3
SUBDIRS += klash
endif
+if KPARTS4
+SUBDIRS += klash4
+endif
+
if NPAPI
SUBDIRS += mozilla-sdk
@@ -41,7 +45,7 @@
endif # NPAPI
# make sure these files make it into the distribution tarball.
-DIST_SUBDIRS = klash mozilla-sdk xpcom win32
+DIST_SUBDIRS = klash klash4 mozilla-sdk xpcom win32
# This is a hard coded path to where the plugin gets installed.
GNASHBINDIR = $(bindir)
@@ -132,6 +136,7 @@
@echo "Use \"make install-plugin\" to install the Firefox plugin to
$(DESTDIR)$(plugindir)."
if !WIN32
+if NPAPI
install-plugin: $(plugin_LTLIBRARIES)
@test -d "$(DESTDIR)$(plugindir)" || $(mkinstalldirs)
"$(DESTDIR)$(plugindir)"
@echo "Installing plugin to $(DESTDIR)$(plugindir)"
@@ -140,6 +145,10 @@
else \
cp -f libgnashplugin.so* $(DESTDIR)$(plugindir)/libgnashplugin.so; \
fi
+else # NPAPI
+install-plugin:
+ : # do nothing
+endif
else
install-plugin:
: # do nothing
@@ -147,6 +156,7 @@
install-plugins: install-plugin
$(MAKE) -C klash install-plugins
+ $(MAKE) -C klash4 install-plugins
$(MAKE) -C win32 install-plugins
uninstall-plugins: uninstall-plugin
=== modified file 'plugin/klash/Makefile.am'
--- a/plugin/klash/Makefile.am 2008-10-24 23:00:19 +0000
+++ b/plugin/klash/Makefile.am 2008-11-14 22:41:27 +0000
@@ -17,20 +17,20 @@
AUTOMAKE_OPTIONS =
-if KPARTS
+if KPARTS3
AM_CPPFLAGS = \
- $(KDE_CFLAGS) \
- $(QT_CFLAGS) \
+ $(KDE3_CFLAGS) \
+ $(QT3_CFLAGS) \
$(X11_CFLAGS) \
-DGNASHBINDIR=\"${bindir}\"
-plugindir = $(KDE_PLUGINDIR)
-kde_servicesdir = $(KDE_SERVICESDIR)
-kde_rcdir = $(KDE_APPSDATADIR)
-#$(prefix)/share/apps/klash
-kde_appsdatadir = $(KDE_APPSDATADIR)
-#$(prefix)/share/apps/klash
-kde_configdir = $(KDE_CONFIGDIR)
+plugindir = $(KDE3_PLUGINDIR)
+kde_servicesdir = $(KDE3_SERVICESDIR)
+kde_rcdir = $(KDE3_APPSDATADIR)
+#$(prefix)/share/apps/klash
+kde_appsdatadir = $(KDE3_APPSDATADIR)
+#$(prefix)/share/apps/klash
+kde_configdir = $(KDE3_CONFIGDIR)
#$(prefix)/share/config
plugin_LTLIBRARIES= libklashpart.la
@@ -54,11 +54,11 @@
CLEANFILES = klash_part.moc
klash_part.moc: $(srcdir)/klash_part.h
- @if test x"$(MOC)" != x; then \
- echo "Generating MOC file..."; \
- $(MOC) $(srcdir)/klash_part.h -o klash_part.moc; \
+ @if test x"$(MOC3)" != x; then \
+ echo "Generating MOC 3.x file..."; \
+ $(MOC3) $(srcdir)/klash_part.h -o klash_part.moc; \
else \
- echo "WARNING: Install QT's moc tool! Linking to default MOC file"; \
+ echo "WARNING: Install QT 3.x moc tool! Linking to default MOC file";
\
ln -s $(srcdir)/klash_part.moc.in klash_part.moc; \
fi
@@ -71,13 +71,13 @@
if test -d $(DESTDIR)$(kde_appsdatadir); then \
echo "WARNING: Improper permissions for
$(DESTDIR)$(kde_appsdatadir)!"; \
echo "You probably need to be root"; \
- echo "Or configure with --with-kde-pluginprefix= set to a writable
directory"; \
+ echo "Or configure with --with-kde-prefix= set to a writable
directory"; \
exit 1; \
fi; \
if test -d $(DESTDIR)$(kde_servicesdir); then \
echo "WARNING: Improper permissions for
$(DESTDIR)$(kde_appsdatadir) and $(DESTDIR)$(kde_servicesdir)!"; \
echo "You probably need to be root"; \
- echo "Or configure with --with-kde-pluginprefix= set to a writable
directory"; \
+ echo "Or configure with --with-kde3-prefix= set to a writable
directory"; \
exit 1; \
fi; \
fi
=== added directory 'plugin/klash4'
=== added file 'plugin/klash4/Makefile.am'
--- a/plugin/klash4/Makefile.am 1970-01-01 00:00:00 +0000
+++ b/plugin/klash4/Makefile.am 2008-11-14 22:41:27 +0000
@@ -0,0 +1,110 @@
+## Process this file with automake to generate Makefile.in
+#
+# Copyright (C) 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+#
+# 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 3 of the License, or
+# (at your option) any later version.
+#
+# This program 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
+AUTOMAKE_OPTIONS =
+
+if KPARTS4
+AM_CPPFLAGS = \
+ $(KDE4_CFLAGS) \
+ $(QT4_CFLAGS) \
+ $(X11_CFLAGS) \
+ -DGNASHBINDIR=\"${bindir}\"
+
+plugindir = $(KDE4_PLUGINDIR)
+kde_servicesdir = $(KDE4_SERVICESDIR)
+kde_rcdir = $(KDE4_APPSDATADIR)
+#$(prefix)/share/apps/klash
+kde_appsdatadir = $(KDE4_APPSDATADIR)
+#$(prefix)/share/apps/klash
+kde_configdir = $(KDE4_CONFIGDIR)
+#$(prefix)/share/config
+
+plugin_LTLIBRARIES= libklashpart.la
+
+libklashpart_la_SOURCES = klash_part.cpp klash_part.h
+libklashpart_la_DEPENDENCIES = klash_part.moc
+if PLUGIN_LINK_UNDEFINED
+libklashpart_la_LDFLAGS = -avoid-version -L$(plugindir) $(KDE4_LIBS)
$(QT4_LIBS)
+else
+libklashpart_la_LDFLAGS = -module -avoid-version -L$(plugindir) $(KDE4_LIBS)
$(QT4_LIBS)
+endif
+
+dist_kde_services_DATA = klash_part.desktop
+dist_kde_rc_DATA = klashpartui.rc
+dist_kde_appsdata_DATA = pluginsinfo
+#dist_kde_config_DATA = klashrc
+
+# DIST_COMMON = $(dist_kde_appsdata_DATA) $(dist_kde_services_DATA)
$(dist_kde_rc_DATA)
+
+BUILT_SOURCES = klash_part.moc
+CLEANFILES = klash_part.moc
+
+klash_part.moc: $(srcdir)/klash_part.h
+ @if test x"$(MOC4)" != x; then \
+ echo "Generating MOC 4.x file..."; \
+ $(MOC4) $(srcdir)/klash_part.h -o klash_part.moc; \
+ else \
+ echo "WARNING: Install QT 4.x moc tool! Linking to default MOC file";
\
+ ln -s $(srcdir)/klash_part.moc.in klash_part.moc; \
+ fi
+
+install-data: $(dist_kde_services_DATA)
+ test -d $(DESTDIR)$(kde_servicesdir) || $(mkinstalldirs)
$(DESTDIR)$(kde_servicesdir)
+ $(INSTALL) $(dist_kde_services_DATA) $(DESTDIR)$(kde_servicesdir)
+
+test_perms:
+ @if test ! -w $(DESTDIR)$(kde_appsdatadir) -o ! -w
$(DESTDIR)$(kde_servicesdir); then \
+ if test -d $(DESTDIR)$(kde_appsdatadir); then \
+ echo "WARNING: Improper permissions for
$(DESTDIR)$(kde_appsdatadir)!"; \
+ echo "You probably need to be root"; \
+ echo "Or configure with --with-kde-prefix= set to a writable
directory"; \
+ exit 1; \
+ fi; \
+ if test -d $(DESTDIR)$(kde_servicesdir); then \
+ echo "WARNING: Improper permissions for
$(DESTDIR)$(kde_appsdatadir) and $(DESTDIR)$(kde_servicesdir)!"; \
+ echo "You probably need to be root"; \
+ echo "Or configure with --with-kde-prefix= set to a writable
directory"; \
+ exit 1; \
+ fi; \
+ fi
+
+install-data-am: $(dist_kde_services_DATA) $(dist_kde_appsdata_DATA)
+ test -d $(DESTDIR)$(kde_servicesdir) || $(mkinstalldirs)
$(DESTDIR)$(kde_servicesdir)
+ $(INSTALL) $(srcdir)/$(dist_kde_services_DATA)
$(DESTDIR)$(kde_servicesdir)
+ test -d $(DESTDIR)$(kde_appsdatadir) || $(mkinstalldirs)
$(DESTDIR)$(kde_appsdatadir)
+ $(INSTALL) $(srcdir)/$(dist_kde_appsdata_DATA)
$(DESTDIR)$(kde_appsdatadir)
+
+install-pluginLTLIBRARIES: $(plugin_LTLIBRARIES)
+ @echo "Nothing to install here now."
+ @echo "Use \"make install-plugin\" to install the KDE plugin to
$(DESTDIR)$(plugindir)."
+
+install-plugin install-plugins: test_perms $(plugin_LTLIBRARIES)
$(dist_kde_services_DATA) \
+ install-dist_kde_appsdataDATA install-dist_kde_rcDATA \
+ install-dist_kde_servicesDATA
+ test -d $(DESTDIR)$(plugindir) || $(mkinstalldirs)
$(DESTDIR)$(plugindir)
+ $(LIBTOOL) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG)
$(plugin_LTLIBRARIES) $(DESTDIR)$(plugindir)
+
+uninstall-pluginLTLIBRARIES: $(plugin_LTLIBRARIES)
+ $(RM) -f $(DESTDIR)$(plugindir)/libklashpart.so
+ $(RM) -f $(DESTDIR)$(plugindir)/libklashpart.la
+ $(RM) -f $(DESTDIR)$(plugindir)/libklashpart.a
+
+endif
+
+force:
+
+.PHONY : install-plugins install-plugin test_perms
=== added file 'plugin/klash4/README'
--- a/plugin/klash4/README 1970-01-01 00:00:00 +0000
+++ b/plugin/klash4/README 2008-10-09 07:35:53 +0000
@@ -0,0 +1,5 @@
+Klash is a plugin for Konqueror, using the gnash binary from the Gnash
+project. As of this writing, you can only get it by checking it out their
+CVS repository. It should be newer than 2006-02-23, because that version
+has the -x option to embed in a window.
+You also need automake/autoconf and the SDL development.
=== added file 'plugin/klash4/klash.desktop'
--- a/plugin/klash4/klash.desktop 1970-01-01 00:00:00 +0000
+++ b/plugin/klash4/klash.desktop 2008-10-09 07:35:53 +0000
@@ -0,0 +1,80 @@
+# KDE Config File
+[Desktop Entry]
+Encoding=UTF-8
+Type=Application
+Exec=kmplayer -caption "%c" %i %m %U
+Icon=kmplayer.png
+DocPath=kmplayer/index.html
+Comment=KDE interface for Gnash
+Comment[ar]=واجهة كيدي لـ Gnash
+Comment[bg]=KDE интерфейс за Gnash
+Comment[br]=Etrefas Gnash evit KDE
+Comment[bs]=KDE interfejs za Gnash
+Comment[ca]=Interfície KDE per a Gnash
+Comment[cs]=KDE rozhraní pro Gnash
+Comment[da]=KDE-grænseflade for Gnash
+Comment[de]=KDE-Oberfläche für Gnash
+Comment[el]=Περιβάλλον χρήσης του Gnash για το KDE
+Comment[es]=Interfaz KDE para Gnash
+Comment[et]=KDE Gnashi liides
+Comment[fi]=KDE-käyttöliittymä Gnashille
+Comment[fr]=Une interface de Gnash pour KDE
+Comment[he]=ממשק KDE של Gnash
+Comment[hi]=एमप्लेयर हेतु केडीई इंटरफेस
+Comment[hu]=KDE-alapú felület az Gnashhez
+Comment[it]=Interfaccia KDE per Gnash
+Comment[nb]=KDE-grensesnitt for Gnash
+Comment[nl]=KDE-interface voor Gnash
+Comment[pa]=Gnash ਲਈ KDE ਇੰਟਰਫੇਸ
+Comment[pt]=Interface KDE para o Gnash
+Comment[pt_BR]=Interface do KDE para o Gnash
+Comment[ru]=Интерфейс KDE для Gnash
+Comment[sr]=KDE-ов интерфејс за Gnash
address@hidden interfejs za Gnash
+Comment[sv]=KDE-gränssnitt för Mplayer
+Comment[ta]=எம் இயக்கிக்கான கேடீஇ இடைமுகம்
+Comment[tr]=Gnash için KDE arayüzü
+Comment[xx]=xxKDE interface for Gnashxx
+Comment[zh_CN]=Gnash 的 KDE 界面
+Terminal=false
+Name=KGnash
+Name[hi]=केएमप्लेयर
+Name[hu]=KMPLayer
+Name[sv]=Kmplayer
+Name[ta]=கேஎம்இயக்கி
+Name[xx]=xxKGnashxx
+MimeType=application/x-shockwave-flash;
+InitialPreference=7
+Categories=Qt;KDE;AudioVideo;
+GenericName=Media Player
+GenericName[bg]=Медия плеър
+GenericName[br]=Soner liesvedia
+GenericName[ca]=Reproductor de medis
+GenericName[cs]=Přehrávač médií
+GenericName[cy]=Chwaraeydd Cyfryngau
+GenericName[da]=Medieafspiller
+GenericName[el]=Αναπαραγωγή πολυμέσων
+GenericName[es]=Reproductor multimedia
+GenericName[et]=Meediamängija
+GenericName[fr]=Lecteur multimédia
+GenericName[ga]=Seinnteoir Meán
+GenericName[he]=נגן מדיה
+GenericName[hi]=मीडिया प्लेयर
+GenericName[hu]=Médialejátszó
+GenericName[it]=Lettore multimediale
+GenericName[lt]=Media grotuvas
+GenericName[mk]=Изведувач на мултимедиа
+GenericName[nb]=Mediaspiller
+GenericName[nl]=Mediaspeler
+GenericName[pa]=ਮੀਡਿਆ ਪਲੇਅਰ
+GenericName[pt]=Leitor Multimédia
+GenericName[pt_BR]=Reprodutor de Mídia
+GenericName[ru]=Медиаплеер
+GenericName[sr]=Медија плејер
address@hidden plejer
+GenericName[sv]=Mediaspelare
+GenericName[tr]=Medya Oynatıcı
+GenericName[xh]=Umdlali we Midia
+GenericName[xx]=xxMedia Playerxx
+GenericName[zh_CN]=媒体播放器
+GenericName[zu]=Umdlali Wezezindaba
=== added file 'plugin/klash4/klash_part.cpp'
--- a/plugin/klash4/klash_part.cpp 1970-01-01 00:00:00 +0000
+++ b/plugin/klash4/klash_part.cpp 2008-10-09 07:35:53 +0000
@@ -0,0 +1,588 @@
+//
+// Copyright (C) 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+//
+// 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 3 of the License, or
+// (at your option) any later version.
+//
+// This program 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
+// Written by Koos Vriezen <koos ! vriezen ? xs4all ! nl>
+
+#ifdef KDE_USE_FINAL
+#undef Always
+#endif
+
+#include "gnashconfig.h"
+#include <cassert>
+#include <QByteArray>
+#include <QMenu>
+#include <QTimer>
+
+#include <klibloader.h>
+#include <kdebug.h>
+#include <kauthorized.h>
+#include <kconfig.h>
+#include <ksimpleconfig.h>
+#include <kaction.h>
+#include <kapplication.h>
+#include <klocale.h>
+#include <kcomponentdata.h>
+#include <kactioncollection.h>
+#include <kparts/factory.h>
+
+#include "klash_part.h"
+
+#include <signal.h>
+
+//-----------------------------------------------------------------------------
+
+class KlashFactory : public KParts::Factory {
+public:
+ KDE_NO_CDTOR_EXPORT KlashFactory ();
+ KDE_NO_CDTOR_EXPORT virtual ~KlashFactory ();
+ KDE_NO_CDTOR_EXPORT virtual KParts::Part *createPartObject
+ (QWidget *wparent,
+ QObject *parent,
+ const char *className, const QStringList &args);
+ static KComponentData * instance () { return s_instance; }
+private:
+ static KComponentData * s_instance;
+};
+
+K_EXPORT_COMPONENT_FACTORY (libklashpart, KlashFactory)
+
+KComponentData *KlashFactory::s_instance = 0;
+
+KlashFactory::KlashFactory () {
+ s_instance = new KComponentData ("klash");
+}
+
+KlashFactory::~KlashFactory () {
+ delete s_instance;
+}
+
+KParts::Part *KlashFactory::createPartObject
+ (QWidget *wparent,
+ QObject *parent,
+ const char * cls, const QStringList & args) {
+ //kdDebug() << "KlashFactory::createPartObject " << cls << endl;
+ return new KlashPart (wparent, parent, args);
+}
+
+//-----------------------------------------------------------------------------
+
+static bool getBoolValue (const QString & value) {
+ return (value.toLower() != QString::fromLatin1("false") &&
+ value.toLower() != QString::fromLatin1("off") &&
+ value.toLower() != QString::fromLatin1("0"));
+}
+
+KDE_NO_CDTOR_EXPORT KlashPart::KlashPart (QWidget * wparent,
+ QObject * parent, const QStringList &args)
+ : KParts::ReadOnlyPart (parent),
+ //new KSimpleConfig ("klashrc")),
+ m_browserextension (new KlashBrowserExtension (this)),
+ m_liveconnectextension (new KlashLiveConnectExtension (this)),
+ m_process (0L),
+ m_width (0),
+ m_height (0),
+ m_autostart (false),
+ m_fullscreen (false),
+ m_started_emited (false) {
+ //kdDebug () << "KlashPart(" << this << ")::KlashPart ()" << endl;
+ bool show_fullscreen = false;
+ // FIXME what is the right replacement for this? setInstance
(KlashFactory::instance (), true);
+ KAction *playact = new KAction(this);
+ playact->setText(i18n("P&lay"));
+ connect(playact, SIGNAL(triggered()), this, SLOT(play()));
+ actionCollection()->addAction("play", playact);
+ KAction *pauseact = new KAction(this);
+ pauseact->setText(i18n("&Pause"));
+ connect(pauseact, SIGNAL(triggered()), this, SLOT(pause()));
+ actionCollection()->addAction("pause", pauseact);
+ KAction *stopact = new KAction(this);
+ stopact->setText(i18n("&Stop"));
+ connect(stopact, SIGNAL(triggered()), this, SLOT(stop()));
+ actionCollection()->addAction("stop", stopact);
+ //new KAction (i18n ("Increase Volume"), QString ("player_volume"),
KShortcut (), this, SLOT (increaseVolume ()), actionCollection (),
"edit_volume_up");
+ //new KAction (i18n ("Decrease Volume"), QString ("player_volume"),
KShortcut (), this, SLOT (decreaseVolume ()), actionCollection (),
"edit_volume_down");
+ QStringList::const_iterator end = args.end ();
+ for (QStringList::const_iterator it = args.begin () ; it != end; ++it) {
+ int equalPos = (*it).indexOf("=");
+ if (equalPos > 0) {
+ QString name = (*it).left (equalPos).toLower ();
+ QString value = (*it).right ((*it).length () - equalPos - 1);
+ if (value.at(0)=='\"')
+ value = value.right (value.length () - 1);
+ if (value.at (value.length () - 1) == '\"')
+ value.truncate (value.length () - 1);
+ //kdDebug () << "name=" << name << " value=" << value << endl;
+ if (name == QString::fromLatin1("width")) {
+ m_width = value.toInt ();
+ } else if (name == QString::fromLatin1("height")) {
+ m_height = value.toInt ();
+ //} else if (name == QString::fromLatin1("type")) {
+ } else if (name == QString::fromLatin1("__khtml__pluginbaseurl")) {
+ m_docbase = KUrl (value);
+ } else if (name == QString::fromLatin1("src")) {
+ m_src_url = value;
+ } else if (name == QString::fromLatin1 ("fullscreenmode")) {
+ show_fullscreen = getBoolValue (value);
+ } else if (name == QString::fromLatin1 ("autostart")) {
+ bool ok;
+ m_autostart = value.toInt (&ok);
+ if (!ok)
+ m_autostart = (value.toLower () == "false");
+ }
+ m_args.push_back(name + QChar('=') + value);
+ }
+ }
+ KParts::Part::setWidget (new KlashView (wparent));
+ setXMLFile("klashpartui.rc");
+ setProgressInfoEnabled (false);
+
+ if (m_fullscreen)
+ fullScreen ();
+}
+
+KDE_NO_CDTOR_EXPORT KlashPart::~KlashPart () {
+ kdDebug() << "KlashPart::~KlashPart" << endl;
+ stop ();
+ //delete m_config;
+ //m_config = 0L;
+}
+
+KDE_NO_EXPORT bool KlashPart::allowRedir (const KUrl & url) const {
+ return KAuthorized::authorizeUrlAction ("redirect", m_docbase, url);
+}
+
+KDE_NO_EXPORT void KlashPart::play ()
+{
+
+ QString procname;
+ char *gnash_env = getenv("KLASH_PLAYER");
+ if (!gnash_env) {
+ procname = GNASHBINDIR "/kde4-gnash";
+ } else {
+ procname = gnash_env;
+ }
+
+ stop ();
+ if (m_src_url.isEmpty ())
+ return;
+ m_process = new KProcess;
+ m_process->setEnv (QString::fromLatin1 ("SESSION_MANAGER"),
QString::fromLatin1 (""));
+ *m_process << procname
+ << "-x"
+ << QString::number(static_cast<KlashView*>(widget())->embedId());
+
+ if (m_width > 0 && m_height > 0)
+ *m_process << "-j" << QString::number(m_width)
+ << "-k" << QString::number(m_height);
+
+ QString url = this->url().url();
+ if (!url.isEmpty())
+ *m_process << "-u" << url;
+ url = m_docbase.url();
+ if (!url.isEmpty())
+ *m_process << "-U" << url;
+
+ for (QStringList::const_iterator it=m_args.begin(), end=m_args.end();it !=
end; ++it)
+ *m_process << "-P" << *it;
+
+ *m_process << m_src_url;
+
+ connect (m_process, SIGNAL (finished (int, QProcess::ExitStatus)),
+ this, SLOT (processStopped (int, QProcess::ExitStatus)));
+ m_process->start ();
+}
+
+KDE_NO_EXPORT void KlashPart::pause () {
+}
+
+KDE_NO_EXPORT void KlashPart::stop () {
+ if (m_process) {
+ if (m_process->state () == KProcess::Running) {
+ ; // IPC close
+ //m_process->wait(2);
+
+ // Ignore SIGTERM, so we won't kill ourselves.
+ void (*oldhandler)(int) = signal(SIGTERM, SIG_IGN);
+
+ int pid = -1 * ::getpid();
+ assert(pid < -1);
+
+ // Terminate every process in our process group.
+ ::kill (pid, SIGTERM);
+
+ // Restore the old handler.
+ signal(SIGTERM, oldhandler);
+ m_process->waitForFinished(2000);
+ }
+ delete m_process;
+ m_process = 0L;
+ }
+}
+
+bool KlashPart::openFile() {
+ if (!localFilePath().isEmpty ())
+ m_src_url = localFilePath();
+ play ();
+ return true;
+}
+
+KDE_NO_EXPORT bool KlashPart::openUrl (const KUrl & url) {
+ kdDebug () << "KlashPart::openUrl " << url.url() << endl;
+ emit started (0);
+ return KParts::ReadOnlyPart::openUrl (url);
+}
+
+KDE_NO_EXPORT bool KlashPart::closeUrl () {
+ return KParts::ReadOnlyPart::closeUrl ();
+}
+
+KDE_NO_EXPORT void KlashPart::fullScreen () {
+}
+
+KDE_NO_EXPORT void KlashPart::setLoaded (int percentage) {
+ if (percentage < 100) {
+ m_browserextension->setLoadingProgress (percentage);
+ m_browserextension->infoMessage
+ (QString::number (percentage) + i18n ("% Cache fill"));
+ }
+}
+
+KDE_NO_EXPORT void KlashPart::playingStarted () {
+ //kdDebug () << "KlashPart::processStartedPlaying " << endl;
+ //if (m_settings->sizeratio && !m_noresize && m_source->width() > 0 &&
m_source->height() > 0)
+ // m_liveconnectextension->setSize (m_source->width(),
m_source->height());
+ m_browserextension->setLoadingProgress (100);
+ if (m_started_emited) {
+ emit completed ();
+ m_started_emited = false;
+ }
+ m_liveconnectextension->started ();
+ m_browserextension->infoMessage (i18n("Klash: Playing"));
+}
+
+KDE_NO_EXPORT void KlashPart::playingStopped () {
+ if (m_started_emited) {
+ m_started_emited = false;
+ m_browserextension->setLoadingProgress (100);
+ emit completed ();
+ }
+ m_liveconnectextension->finished ();
+ m_browserextension->infoMessage (i18n ("Klash: Stop Playing"));
+}
+
+KDE_NO_EXPORT void KlashPart::processStopped (int, QProcess::ExitStatus) {
+ QTimer::singleShot (0, this, SLOT (playingStopped ()));
+}
+
+//---------------------------------------------------------------------
+
+KDE_NO_CDTOR_EXPORT KlashBrowserExtension::KlashBrowserExtension (KlashPart *
parent)
+ : KParts::BrowserExtension (parent) {
+}
+
+KDE_NO_EXPORT void KlashBrowserExtension::urlChanged (const QString & url) {
+ emit setLocationBarUrl (url);
+}
+
+KDE_NO_EXPORT void KlashBrowserExtension::setLoadingProgress (int percentage) {
+ emit loadingProgress (percentage);
+}
+
+KDE_NO_EXPORT void KlashBrowserExtension::saveState (QDataStream & stream) {
+ stream << static_cast <KlashPart *> (parent ())->source ();
+}
+
+KDE_NO_EXPORT void KlashBrowserExtension::restoreState (QDataStream & stream) {
+ QString url;
+ stream >> url;
+ static_cast <KlashPart *> (parent ())->openUrl (KUrl(url));
+}
+
+KDE_NO_EXPORT void KlashBrowserExtension::requestOpenUrl (const KUrl & url,
const QString & target, const QString & service) {
+ KParts::OpenUrlArguments args;
+ //FIXME what replaces those?
+ //args.frameName = target;
+ //args.serviceType = service;
+ emit openUrlRequest (url, args);
+}
+
+//---------------------------------------------------------------------
+/*
+ * add
+ * .error.errorCount
+ * .error.item(count)
+ * .errorDescription
+ * .errorCode
+ * .controls.stop()
+ * .controls.play()
+ */
+
+enum JSCommand {
+ notsupported,
+ isfullscreen, isloop,
+ length, width, height, position, prop_source, source, setsource,
+ play, jsc_pause, start, stop,
+ prop_volume, volume, setvolume
+};
+
+struct KLASH_NO_EXPORT JSCommandEntry {
+ const char * name;
+ JSCommand command;
+ const char * defaultvalue;
+ const KParts::LiveConnectExtension::Type rettype;
+};
+
+// keep this list in alphabetic order
+//
http://service.real.com/help/library/guides/realonescripting/browse/htmfiles/embedmet.htm
+static const JSCommandEntry JSCommandList [] = {
+ { "GetSource", source, 0L, KParts::LiveConnectExtension::TypeString },
+ { "GetTitle", notsupported, "title",
KParts::LiveConnectExtension::TypeString },
+ { "GetVolume", volume, "100", KParts::LiveConnectExtension::TypeNumber },
+ { "Pause", jsc_pause, 0L, KParts::LiveConnectExtension::TypeBool },
+ { "Play", play, 0L, KParts::LiveConnectExtension::TypeBool },
+ { "SetSource", setsource, 0L, KParts::LiveConnectExtension::TypeBool },
+ { "SetVolume", setvolume, "true", KParts::LiveConnectExtension::TypeBool },
+ { "Start", start, 0L, KParts::LiveConnectExtension::TypeBool },
+ { "Stop", stop, 0L, KParts::LiveConnectExtension::TypeBool },
+ { "Volume", prop_volume, "100", KParts::LiveConnectExtension::TypeNumber },
+ { "pause", jsc_pause, 0L, KParts::LiveConnectExtension::TypeBool },
+ { "play", play, 0L, KParts::LiveConnectExtension::TypeBool },
+ { "stop", stop, 0L, KParts::LiveConnectExtension::TypeBool },
+ { "volume", volume, 0L, KParts::LiveConnectExtension::TypeBool },
+};
+
+static const JSCommandEntry * getJSCommandEntry (const char * name, int start
= 0, int end = sizeof (JSCommandList)/sizeof (JSCommandEntry)) {
+ if (end - start < 2) {
+ if (start != end && !strcasecmp (JSCommandList[start].name, name))
+ return &JSCommandList[start];
+ return 0L;
+ }
+ int mid = (start + end) / 2;
+ int cmp = strcasecmp (JSCommandList[mid].name, name);
+ if (cmp < 0)
+ return getJSCommandEntry (name, mid + 1, end);
+ if (cmp > 0)
+ return getJSCommandEntry (name, start, mid);
+ return &JSCommandList[mid];
+}
+
+KDE_NO_CDTOR_EXPORT KlashLiveConnectExtension::KlashLiveConnectExtension
(KlashPart * parent)
+ : KParts::LiveConnectExtension (parent), player (parent),
+ lastJSCommandEntry (0L),
+ m_started (false),
+ m_enablefinish (false) {
+ connect (parent, SIGNAL (started (KIO::Job *)), this, SLOT (started ()));
+}
+
+KDE_NO_CDTOR_EXPORT KlashLiveConnectExtension::~KlashLiveConnectExtension() {
+ //kdDebug () << "KlashLiveConnectExtension::~KlashLiveConnectExtension()"
<< endl;
+}
+
+KDE_NO_EXPORT void KlashLiveConnectExtension::started () {
+ m_started = true;
+}
+
+KDE_NO_EXPORT void KlashLiveConnectExtension::finished () {
+ if (m_started && m_enablefinish) {
+ KParts::LiveConnectExtension::ArgList args;
+ args.push_back (qMakePair (KParts::LiveConnectExtension::TypeString,
QString("if (window.onFinished) onFinished();")));
+ emit partEvent (0, "eval", args);
+ m_started = true;
+ m_enablefinish = false;
+ }
+}
+
+KDE_NO_EXPORT bool KlashLiveConnectExtension::get
+ (const unsigned long id, const QString & name,
+ KParts::LiveConnectExtension::Type & type,
+ unsigned long & rid, QString & rval) {
+ const char * str = name.toAscii ();
+ kdDebug () << "[01;35mget[00m " << str << endl;
+ const JSCommandEntry * entry = getJSCommandEntry (str);
+ if (!entry)
+ return false;
+ rid = id;
+ type = entry->rettype;
+ switch (entry->command) {
+ case prop_source:
+ type = KParts::LiveConnectExtension::TypeString;
+ rval = player->source ();
+ break;
+ case prop_volume:
+ //if (player->view ())
+ // rval = QString::number (??);
+ break;
+ default:
+ lastJSCommandEntry = entry;
+ type = KParts::LiveConnectExtension::TypeFunction;
+ }
+ return true;
+}
+
+KDE_NO_EXPORT bool KlashLiveConnectExtension::put
+ (const unsigned long, const QString & name, const QString & val) {
+ kdDebug () << "[01;35mput[00m " << name << "=" << val << endl;
+ const JSCommandEntry * entry = getJSCommandEntry (name.toAscii ());
+ if (!entry)
+ return false;
+ switch (entry->command) {
+ case prop_source: {
+ KUrl url (val);
+ if (player->allowRedir (url))
+ player->openUrl (url);
+ break;
+ }
+ case prop_volume:
+ //if (player->view ())
+ // ?? (val.toInt ());
+ break;
+ default:
+ return false;
+ }
+ return true;
+}
+
+KDE_NO_EXPORT bool KlashLiveConnectExtension::call
+ (const unsigned long id, const QString & name,
+ const QStringList & args, KParts::LiveConnectExtension::Type & type,
+ unsigned long & rid, QString & rval) {
+ const JSCommandEntry * entry = lastJSCommandEntry;
+ const char * str = name.toAscii ();
+ if (!entry || strcmp (entry->name, str))
+ entry = getJSCommandEntry (str);
+ if (!entry)
+ return false;
+ kdDebug () << "[01;35mentry[00m " << entry->name << endl;
+ for (unsigned int i = 0; i < args.size (); ++i)
+ kdDebug () << " " << args[i] << endl;
+ //Klash::View * view = static_cast <Klash::View*> (player->widget ());
+ //if (!view)
+ // return false;
+ rid = id;
+ type = entry->rettype;
+ switch (entry->command) {
+ case notsupported:
+ if (entry->rettype != KParts::LiveConnectExtension::TypeVoid)
+ rval = entry->defaultvalue;
+ break;
+ case play:
+ if (args.size ()) {
+ KUrl url (args.first ());
+ if (player->allowRedir (url))
+ ;//player->openNewUrl (url);
+ } else
+ player->play ();
+ rval = "true";
+ break;
+ case start:
+ player->play ();
+ rval = "true";
+ break;
+ case stop:
+ player->stop ();
+ rval = "true";
+ break;
+ case jsc_pause:
+ player->pause ();
+ rval = "true";
+ break;
+ case length:
+ rval.setNum (0 /*player->source ()->length ()*/);
+ break;
+ case width:
+ rval.setNum (player->width ());
+ break;
+ case height:
+ rval.setNum (player->height ());
+ break;
+ case setsource:
+ rval ="false";
+ if (args.size ()) {
+ KUrl url (args.first ());
+ if (player->allowRedir (url) && player->openUrl (url))
+ rval = "true";
+ }
+ break;
+ case setvolume:
+ if (!args.size ())
+ return false;
+ //?? (args.first ().toInt ());
+ rval = "true";
+ break;
+ case source:
+ rval = player->url ().url ();
+ break;
+ case volume:
+ if (player->widget ())
+ rval = QString::number (0);
+ break;
+ default:
+ return false;
+ }
+ return true;
+}
+
+KDE_NO_EXPORT void KlashLiveConnectExtension::unregister (const unsigned long)
{
+}
+
+KDE_NO_EXPORT void KlashLiveConnectExtension::setSize (int w, int h) {
+ QByteArray jscode;
+ //jscode.sprintf("this.width=%d;this.height=%d;klash", w, h);
+ KParts::LiveConnectExtension::ArgList args;
+ args.push_back (qMakePair (KParts::LiveConnectExtension::TypeString,
QString("width")));
+ args.push_back (qMakePair (KParts::LiveConnectExtension::TypeNumber,
QString::number (w)));
+ emit partEvent (0, "this.setAttribute", args);
+ args.clear();
+ args.push_back (qMakePair (KParts::LiveConnectExtension::TypeString,
QString("height")));
+ args.push_back (qMakePair (KParts::LiveConnectExtension::TypeNumber,
QString::number (h)));
+ emit partEvent (0, "this.setAttribute", args);
+}
+
+//-----------------------------------------------------------------------------
+
+#include <X11/Xlib.h>
+#include <X11/keysym.h>
+#include <X11/Intrinsic.h>
+#include <X11/StringDefs.h>
+static const int XKeyPress = KeyPress;
+#undef KeyPress
+#undef Always
+#undef Never
+#undef Status
+#undef Unsorted
+#undef Bool
+
+KlashEmbed::KlashEmbed (KlashView * view) : QX11EmbedWidget (view), m_view
(view) {}
+
+KlashEmbed::~KlashEmbed () {}
+
+//-----------------------------------------------------------------------------
+
+KlashView::KlashView (QWidget * parent)
+ : QWidget (parent), m_embed (new KlashEmbed (this)) {}
+
+KlashView::~KlashView () {}
+
+void KlashView::resizeEvent (QResizeEvent *) {
+ m_embed->setGeometry (0, 0, width (), height ());
+}
+
+WId KlashView::embedId () {
+ return m_embed->winId ();
+}
+
+#include "klash_part.moc"
=== added file 'plugin/klash4/klash_part.desktop'
--- a/plugin/klash4/klash_part.desktop 1970-01-01 00:00:00 +0000
+++ b/plugin/klash4/klash_part.desktop 2008-10-09 07:35:53 +0000
@@ -0,0 +1,12 @@
+[Desktop Entry]
+Encoding=UTF-8
+Name=Klash, embedded Gnash player for KDE
+Comment=SWF player plugin
+X-KDE-Library=libklashpart
+# Keep in sync with the audio types in kmplayer.desktop
+MimeType=application/x-shockwave-flash;application/futuresplash;
+Type=Service
+Icon=www
+ServiceTypes=KParts/ReadOnlyPart,Browser/View
+X-KDE-BrowserView-PluginsInfo=klash/pluginsinfo
+InitialPreference=1
=== added file 'plugin/klash4/klash_part.h'
--- a/plugin/klash4/klash_part.h 1970-01-01 00:00:00 +0000
+++ b/plugin/klash4/klash_part.h 2008-10-09 07:35:53 +0000
@@ -0,0 +1,162 @@
+//
+// Copyright (C) 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+//
+// 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 3 of the License, or
+// (at your option) any later version.
+//
+// This program 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
+// Written by Koos Vriezen <koos ! vriezen ? xs4all ! nl>
+
+#ifndef KLASH_PART_H
+#define KLASH_PART_H
+
+#include <QX11EmbedWidget>
+#include <kprocess.h>
+#include <kparts/browserextension.h>
+
+#if __GNUC__ - 0 > 3
+#define KLASH_NO_EXPORT __attribute__ ((visibility("hidden")))
+#else
+#define KLASH_NO_EXPORT
+#endif
+#define KDE_NO_CDTOR_EXPORT KLASH_NO_EXPORT
+#ifndef KDE_NO_EXPORT
+#define KDE_NO_EXPORT KLASH_NO_EXPORT
+#endif
+
+class KAboutData;
+class KlashPart;
+class KInstance;
+class KProcess;
+class JSCommandEntry;
+class KlashView;
+
+/*
+ * Part notifications to hosting application
+ */
+class KLASH_NO_EXPORT KlashBrowserExtension : public KParts::BrowserExtension {
+ Q_OBJECT
+public:
+ KlashBrowserExtension(KlashPart *parent);
+ KDE_NO_CDTOR_EXPORT ~KlashBrowserExtension () {}
+ void urlChanged (const QString & url);
+ void setLoadingProgress (int percentage);
+
+ void saveState (QDataStream & stream);
+ void restoreState (QDataStream & stream);
+ void requestOpenUrl (const KUrl & url, const QString & target, const
QString & service);
+};
+
+/*
+ * Part javascript support
+ */
+class KLASH_NO_EXPORT KlashLiveConnectExtension : public
KParts::LiveConnectExtension {
+ Q_OBJECT
+public:
+ KlashLiveConnectExtension (KlashPart * parent);
+ ~KlashLiveConnectExtension ();
+
+ // LiveConnect interface
+ bool get (const unsigned long, const QString &,
+ KParts::LiveConnectExtension::Type &, unsigned long &, QString &);
+ bool put (const unsigned long, const QString &, const QString &);
+ bool call (const unsigned long, const QString &,
+ const QStringList &, KParts::LiveConnectExtension::Type &,
+ unsigned long &, QString &);
+ void unregister (const unsigned long);
+ void sendEvent(const unsigned long objid, const QString & event, const
KParts::LiveConnectExtension::ArgList & args ) {
+ emit partEvent(objid, event, args);
+ }
+
+ void enableFinishEvent (bool b = true) { m_enablefinish = b; }
+signals:
+ void partEvent (const unsigned long, const QString &,
+ const KParts::LiveConnectExtension::ArgList &);
+public slots:
+ void setSize (int w, int h);
+ void started ();
+ void finished ();
+private:
+ KlashPart * player;
+ const JSCommandEntry * lastJSCommandEntry;
+ bool m_started : 1;
+ bool m_enablefinish : 1;
+};
+
+class KLASH_NO_EXPORT KlashEmbed : public QX11EmbedWidget {
+ KlashView * m_view;
+public:
+ KlashEmbed (KlashView * parent);
+ ~KlashEmbed ();
+};
+
+class KLASH_NO_EXPORT KlashView : public QWidget {
+ KlashEmbed * m_embed;
+public:
+ KlashView (QWidget * parent);
+ ~KlashView ();
+ WId embedId ();
+protected:
+ void resizeEvent (QResizeEvent *);
+};
+
+/*
+ * Part that gets created when used a KPart
+ */
+class KLASH_NO_EXPORT KlashPart : public KParts::ReadOnlyPart {
+ Q_OBJECT
+ friend struct GroupPredicate;
+public:
+ KlashPart (QWidget * wparent, QObject * parent, const QStringList &args);
+ ~KlashPart ();
+
+ KDE_NO_EXPORT KlashBrowserExtension * browserextension() const
+ { return m_browserextension; }
+ KlashLiveConnectExtension * liveconnectextension () const
+ { return m_liveconnectextension; }
+ bool allowRedir (const KUrl & url) const;
+ void fullScreen ();
+ void setLoaded (int percentage);
+ const QString & source () const { return m_src_url; }
+public slots:
+ virtual bool openUrl (const KUrl & url);
+ virtual bool closeUrl ();
+ void play ();
+ void stop ();
+ void pause ();
+ int width () const {return m_width; }
+ int height () const {return m_height; }
+protected slots:
+ void playingStarted ();
+ void playingStopped ();
+ void processStopped (int, QProcess::ExitStatus);
+protected:
+ virtual bool openFile();
+private:
+ QStringList m_args;
+ KlashBrowserExtension * m_browserextension;
+ KlashLiveConnectExtension * m_liveconnectextension;
+ KProcess * m_process;
+ KUrl m_docbase;
+ QString m_src_url;
+ QString m_file_name;
+ int m_width;
+ int m_height;
+ //bool m_noresize : 1;
+ bool m_autostart : 1;
+ bool m_fullscreen : 1;
+ bool m_started_emited : 1;
+};
+
+
+#endif
=== added file 'plugin/klash4/klash_part.moc.in'
--- a/plugin/klash4/klash_part.moc.in 1970-01-01 00:00:00 +0000
+++ b/plugin/klash4/klash_part.moc.in 2008-12-04 09:27:57 +0000
@@ -0,0 +1,213 @@
+/****************************************************************************
+** Meta object code from reading C++ file 'klash_part.h'
+**
+** Created: Thu Dec 4 10:00:51 2008
+** by: The Qt Meta Object Compiler version 59 (Qt 4.4.3)
+**
+** WARNING! All changes made in this file will be lost!
+*****************************************************************************/
+
+#if !defined(Q_MOC_OUTPUT_REVISION)
+#error "The header file 'klash_part.h' doesn't include <QObject>."
+#elif Q_MOC_OUTPUT_REVISION != 59
+#error "This file was generated using the moc from 4.4.3. It"
+#error "cannot be used with the include files from this version of Qt."
+#error "(The moc has changed too much.)"
+#endif
+
+QT_BEGIN_MOC_NAMESPACE
+static const uint qt_meta_data_KlashBrowserExtension[] = {
+
+ // content:
+ 1, // revision
+ 0, // classname
+ 0, 0, // classinfo
+ 0, 0, // methods
+ 0, 0, // properties
+ 0, 0, // enums/sets
+
+ 0 // eod
+};
+
+static const char qt_meta_stringdata_KlashBrowserExtension[] = {
+ "KlashBrowserExtension\0"
+};
+
+const QMetaObject KlashBrowserExtension::staticMetaObject = {
+ { &KParts::BrowserExtension::staticMetaObject,
qt_meta_stringdata_KlashBrowserExtension,
+ qt_meta_data_KlashBrowserExtension, 0 }
+};
+
+const QMetaObject *KlashBrowserExtension::metaObject() const
+{
+ return &staticMetaObject;
+}
+
+void *KlashBrowserExtension::qt_metacast(const char *_clname)
+{
+ if (!_clname) return 0;
+ if (!strcmp(_clname, qt_meta_stringdata_KlashBrowserExtension))
+ return static_cast<void*>(const_cast< KlashBrowserExtension*>(this));
+ typedef KParts::BrowserExtension QMocSuperClass;
+ return QMocSuperClass::qt_metacast(_clname);
+}
+
+int KlashBrowserExtension::qt_metacall(QMetaObject::Call _c, int _id, void
**_a)
+{
+ typedef KParts::BrowserExtension QMocSuperClass;
+ _id = QMocSuperClass::qt_metacall(_c, _id, _a);
+ if (_id < 0)
+ return _id;
+ return _id;
+}
+static const uint qt_meta_data_KlashLiveConnectExtension[] = {
+
+ // content:
+ 1, // revision
+ 0, // classname
+ 0, 0, // classinfo
+ 4, 10, // methods
+ 0, 0, // properties
+ 0, 0, // enums/sets
+
+ // signals: signature, parameters, type, tag, flags
+ 30, 27, 26, 26, 0x05,
+
+ // slots: signature, parameters, type, tag, flags
+ 97, 93, 26, 26, 0x0a,
+ 114, 26, 26, 26, 0x0a,
+ 124, 26, 26, 26, 0x0a,
+
+ 0 // eod
+};
+
+static const char qt_meta_stringdata_KlashLiveConnectExtension[] = {
+ "KlashLiveConnectExtension\0\0,,\0"
+ "partEvent(ulong,QString,KParts::LiveConnectExtension::ArgList)\0"
+ "w,h\0setSize(int,int)\0started()\0"
+ "finished()\0"
+};
+
+const QMetaObject KlashLiveConnectExtension::staticMetaObject = {
+ { &KParts::LiveConnectExtension::staticMetaObject,
qt_meta_stringdata_KlashLiveConnectExtension,
+ qt_meta_data_KlashLiveConnectExtension, 0 }
+};
+
+const QMetaObject *KlashLiveConnectExtension::metaObject() const
+{
+ return &staticMetaObject;
+}
+
+void *KlashLiveConnectExtension::qt_metacast(const char *_clname)
+{
+ if (!_clname) return 0;
+ if (!strcmp(_clname, qt_meta_stringdata_KlashLiveConnectExtension))
+ return static_cast<void*>(const_cast<
KlashLiveConnectExtension*>(this));
+ typedef KParts::LiveConnectExtension QMocSuperClass;
+ return QMocSuperClass::qt_metacast(_clname);
+}
+
+int KlashLiveConnectExtension::qt_metacall(QMetaObject::Call _c, int _id, void
**_a)
+{
+ typedef KParts::LiveConnectExtension QMocSuperClass;
+ _id = QMocSuperClass::qt_metacall(_c, _id, _a);
+ if (_id < 0)
+ return _id;
+ if (_c == QMetaObject::InvokeMetaMethod) {
+ switch (_id) {
+ case 0: partEvent((*reinterpret_cast< const
ulong(*)>(_a[1])),(*reinterpret_cast< const
QString(*)>(_a[2])),(*reinterpret_cast< const
KParts::LiveConnectExtension::ArgList(*)>(_a[3]))); break;
+ case 1: setSize((*reinterpret_cast<
int(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2]))); break;
+ case 2: started(); break;
+ case 3: finished(); break;
+ }
+ _id -= 4;
+ }
+ return _id;
+}
+
+// SIGNAL 0
+void KlashLiveConnectExtension::partEvent(const unsigned long _t1, const
QString & _t2, const KParts::LiveConnectExtension::ArgList & _t3)
+{
+ void *_a[] = { 0, const_cast<void*>(reinterpret_cast<const void*>(&_t1)),
const_cast<void*>(reinterpret_cast<const void*>(&_t2)),
const_cast<void*>(reinterpret_cast<const void*>(&_t3)) };
+ QMetaObject::activate(this, &staticMetaObject, 0, _a);
+}
+static const uint qt_meta_data_KlashPart[] = {
+
+ // content:
+ 1, // revision
+ 0, // classname
+ 0, 0, // classinfo
+ 10, 10, // methods
+ 0, 0, // properties
+ 0, 0, // enums/sets
+
+ // slots: signature, parameters, type, tag, flags
+ 20, 16, 11, 10, 0x0a,
+ 34, 10, 11, 10, 0x0a,
+ 45, 10, 10, 10, 0x0a,
+ 52, 10, 10, 10, 0x0a,
+ 59, 10, 10, 10, 0x0a,
+ 71, 10, 67, 10, 0x0a,
+ 79, 10, 67, 10, 0x0a,
+ 88, 10, 10, 10, 0x09,
+ 105, 10, 10, 10, 0x09,
+ 124, 122, 10, 10, 0x09,
+
+ 0 // eod
+};
+
+static const char qt_meta_stringdata_KlashPart[] = {
+ "KlashPart\0\0bool\0url\0openUrl(KUrl)\0"
+ "closeUrl()\0play()\0stop()\0pause()\0int\0"
+ "width()\0height()\0playingStarted()\0"
+ "playingStopped()\0,\0"
+ "processStopped(int,QProcess::ExitStatus)\0"
+};
+
+const QMetaObject KlashPart::staticMetaObject = {
+ { &KParts::ReadOnlyPart::staticMetaObject, qt_meta_stringdata_KlashPart,
+ qt_meta_data_KlashPart, 0 }
+};
+
+const QMetaObject *KlashPart::metaObject() const
+{
+ return &staticMetaObject;
+}
+
+void *KlashPart::qt_metacast(const char *_clname)
+{
+ if (!_clname) return 0;
+ if (!strcmp(_clname, qt_meta_stringdata_KlashPart))
+ return static_cast<void*>(const_cast< KlashPart*>(this));
+ typedef KParts::ReadOnlyPart QMocSuperClass;
+ return QMocSuperClass::qt_metacast(_clname);
+}
+
+int KlashPart::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
+{
+ typedef KParts::ReadOnlyPart QMocSuperClass;
+ _id = QMocSuperClass::qt_metacall(_c, _id, _a);
+ if (_id < 0)
+ return _id;
+ if (_c == QMetaObject::InvokeMetaMethod) {
+ switch (_id) {
+ case 0: { bool _r = openUrl((*reinterpret_cast< const
KUrl(*)>(_a[1])));
+ if (_a[0]) *reinterpret_cast< bool*>(_a[0]) = _r; } break;
+ case 1: { bool _r = closeUrl();
+ if (_a[0]) *reinterpret_cast< bool*>(_a[0]) = _r; } break;
+ case 2: play(); break;
+ case 3: stop(); break;
+ case 4: pause(); break;
+ case 5: { int _r = width();
+ if (_a[0]) *reinterpret_cast< int*>(_a[0]) = _r; } break;
+ case 6: { int _r = height();
+ if (_a[0]) *reinterpret_cast< int*>(_a[0]) = _r; } break;
+ case 7: playingStarted(); break;
+ case 8: playingStopped(); break;
+ case 9: processStopped((*reinterpret_cast<
int(*)>(_a[1])),(*reinterpret_cast< QProcess::ExitStatus(*)>(_a[2]))); break;
+ }
+ _id -= 10;
+ }
+ return _id;
+}
+QT_END_MOC_NAMESPACE
=== added file 'plugin/klash4/klashpartui.rc'
--- a/plugin/klash4/klashpartui.rc 1970-01-01 00:00:00 +0000
+++ b/plugin/klash4/klashpartui.rc 2008-10-09 07:35:53 +0000
@@ -0,0 +1,15 @@
+<!DOCTYPE kpartgui>
+<kpartgui name="klash" version="1">
+<MenuBar>
+ <Menu name="view"><text>&View</text>
+ <Action name="play"/>
+ <Action name="pause"/>
+ <Action name="stop"/>
+ </Menu>
+</MenuBar>
+<Toolbar name="mainToolBar"><text></text>
+ <Action name="play"/>
+ <Action name="pause"/>
+ <Action name="stop"/>
+</Toolbar>
+</kpartgui>
=== added file 'plugin/klash4/klashplayer.lsm'
--- a/plugin/klash4/klashplayer.lsm 1970-01-01 00:00:00 +0000
+++ b/plugin/klash4/klashplayer.lsm 2008-10-09 07:35:53 +0000
@@ -0,0 +1,14 @@
+Begin3
+Title: Klashplayer
+Version: 0.0.1-pre1
+Entered-date:
+Description:
+Keywords:
+Author: Koos Vriezen <>
+Maintained-by: Koos Vriezen <>
+Primary-site:
+Home-page: http://xx.kde.org
+Original-site:
+Platforms: Linux and other Unices
+Copying-policy: GNU Public License
+End
=== added file 'plugin/klash4/pluginsinfo'
--- a/plugin/klash4/pluginsinfo 1970-01-01 00:00:00 +0000
+++ b/plugin/klash4/pluginsinfo 2008-10-09 07:35:53 +0000
@@ -0,0 +1,7 @@
+number=1
+
+[0]
+description=Shockwave Flash 7.0
+file=libklashpart.so
+mime=application/x-shockwave-flash:swf:Shockwave
Flash;application/futuresplash:spl:FutureSplash Player
+name=Shockwave Flash
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gnash-commit] /srv/bzr/gnash/trunk r10482: Merge from kde4 branch. The option --enable-gui=kde now takes 'kde3' instead.,
Benjamin Wolsey <=