diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..4ddfb4f --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,79 @@ +############################################ +# # +# Improvements and feedbacks are welcome # +# # +# This file is released under GPL >= 3 # +# # +############################################ + + +cmake_minimum_required( VERSION 2.8 ) + + +#### general package setup + +project( codeine ) +set( VERSION R14.1.0 ) + + +#### include essential cmake modules + +include( FindPkgConfig ) +include( CheckFunctionExists ) +include( CheckSymbolExists ) +include( CheckIncludeFile ) +include( CheckLibraryExists ) +include( CheckCSourceCompiles ) +include( CheckCXXSourceCompiles ) + + +#### include our cmake modules + +set( CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/modules" ) +include( TDEMacros ) + + +##### setup install paths + +include( TDESetupPaths ) +tde_setup_paths( ) + + +##### optional stuff + +option( WITH_ALL_OPTIONS "Enable all optional support" OFF ) +option( WITH_GCC_VISIBILITY "Enable fvisibility and fvisibility-inlines-hidden" ${WITH_ALL_OPTIONS} ) + + +##### user requested modules + +option( BUILD_ALL "Build all" ON ) +option( BUILD_DOC "Build documentation" ${BUILD_ALL} ) +option( BUILD_TRANSLATIONS "Build translations" ${BUILD_ALL} ) + + +##### configure checks + +include( ConfigureChecks.cmake ) + + +###### global compiler settings + +add_definitions( -DHAVE_CONFIG_H -UTQT_NO_ASCII_CAST ) + +set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${TQT_CXX_FLAGS}" ) +set( CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined" ) +set( CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -Wl,--no-undefined" ) + + +##### directories + +add_subdirectory( src ) +add_subdirectory( misc ) +tde_conditional_add_subdirectory( BUILD_DOC doc ) +tde_conditional_add_subdirectory( BUILD_TRANSLATIONS translations ) + + +##### write configure files + +configure_file( config.h.cmake config.h @ONLY ) diff --git a/ConfigureChecks.cmake b/ConfigureChecks.cmake new file mode 100644 index 0000000..3a6fd3e --- /dev/null +++ b/ConfigureChecks.cmake @@ -0,0 +1,49 @@ +########################################### +# # +# Improvements and feedback are welcome # +# # +# This file is released under GPL >= 3 # +# # +########################################### + +# required stuff +find_package( TQt ) +find_package( TDE ) + +tde_setup_architecture_flags( ) + +include(TestBigEndian) +test_big_endian(WORDS_BIGENDIAN) + +tde_setup_largefiles( ) + + +##### check for gcc visibility support + +if( WITH_GCC_VISIBILITY ) + tde_setup_gcc_visibility( ) +endif( WITH_GCC_VISIBILITY ) + + +##### look for X11 + +find_package( X11 ) + + +##### look for XTest and xcb-util-keysyms + +pkg_search_module( X11_XTEST xtst ) +pkg_search_module( X11_KEYSIM xcb-keysyms ) + +if( (NOT X11_XTest_FOUND) OR (NOT X11_KEYSIM_FOUND) ) + set( NO_XTEST_EXTENSION 1 ) +endif() + + +#### xine-engine + +pkg_search_module( XINE libxine ) + +if( NOT XINE_FOUND ) + tde_message_fatal( "Xine-lib is required but was not found on your system" ) +endif( NOT XINE_FOUND ) diff --git a/src/FAQ b/FAQ similarity index 100% rename from src/FAQ rename to FAQ diff --git a/INSTALL b/INSTALL new file mode 100644 index 0000000..0a51280 --- /dev/null +++ b/INSTALL @@ -0,0 +1,29 @@ +Basic Installation +================== + +codeine relies on cmake to build. + +Here are suggested default options: + + -DCMAKE_INSTALL_PREFIX="/opt/trinity" \ + -DCONFIG_INSTALL_DIR="/etc/trinity" \ + -DSYSCONF_INSTALL_DIR="/etc/trinity" \ + -DXDG_MENU_INSTALL_DIR="/etc/xdg/menus" \ + -DCMAKE_BUILD_TYPE=RelWithDebInfo \ + -DCMAKE_VERBOSE_MAKEFILE="ON" \ + -DCMAKE_SKIP_RPATH="OFF" \ + -DBUILD_ALL="ON" \ + -DWITH_ALL_OPTIONS="ON" + + +Requirements: +============= + +- xine-lib + + +Optional: +========= + +- XTest +- xcb-util-keysyms diff --git a/PKGBUILD b/PKGBUILD deleted file mode 100644 index 34bc514..0000000 --- a/PKGBUILD +++ /dev/null @@ -1,17 +0,0 @@ -pkgname=codeine -pkgver=1.0.1 -pkgrel=1 -pkgdesc="A simple xine-based video player" -url="http://www.methylblue.com/codeine/" - -build() { - echo -e "\033[0;34m==>\033[0;0;1m Configure \033[0;0m" - cd "$startdir" - ./configure prefix=/opt/kde - - echo -e "\033[0;34m==>\033[0;0;1m Make \033[0;0m" - make || return 1 - - echo -e "\033[0;34m==>\033[0;0;1m Install \033[0;0m" - DESTDIR="$startdir/pkg" make install -} diff --git a/README b/README index 6f5ad6c..4d03b2c 100644 --- a/README +++ b/README @@ -1,48 +1,2 @@ -INTRODUCTION - Codeine is a very simple xine-based media player. - I make the following promises: - - * I will not add any substantial features after version 1.0.0 - * After then, improvements will only be in the realm of usability and bug - fixes - - You can rely on Codeine for now and until xine is obsolete to be a simple - no-frills video(/media) player. - - Visit #codeine on freenode.net! - - Max Howell - - -REQUIREMENTS - You will need at least: - - * Qt 3.3.0 (Qt 3.2.x may work, it is just not tested) - * KDElibs 3.3.0 - * xine-lib 1.0.0-rc4 - - You also need python installed in order to build Codeine. - - -INSTALLATION - I use scons + bksys as the build system. But you can still do the following: - - % ./configure && make && su -c "make install" - - Or if you have scons installed, simply: - - % scons && su -c "scons install" - - Note that scons is a little silly and this kind of thing doesn't work: - - % ./configure --prefix=/foo/bar --debug=full - - Instead do: - - % ./configure prefix=/foo/bar debug=full - - -TRANSLATIONS - I will make the po file available for translation at the 1.0-rc1 stage, if - you want to make a translation I thank you in advance :-) + Codeine - a very simple xine-based media player. diff --git a/SConstruct b/SConstruct deleted file mode 100644 index ef31f1b..0000000 --- a/SConstruct +++ /dev/null @@ -1,168 +0,0 @@ -#!/usr/bin/python - -########################################### -## Common section, for loading the tools - -## Load the builders in config -env = Environment(TARGS=COMMAND_LINE_TARGETS, ARGS=ARGUMENTS, tools=['default', 'generic', 'kde', 'codeine'], toolpath=['./scons/']) - - -## the configuration should be done by now, quit -if 'configure' in COMMAND_LINE_TARGETS: - env.Exit(0) - - - -""" -Overview of the module system : - -Each module (kde.py, generic.py, sound.py..) tries to load a stored -configuration when run. If the stored configuration does not exist -or if 'configure' is given on the command line (scons configure), -the module launches the verifications and detectioins and stores -the results. Modules also call exit when the detection fail. - -For example, kde.py stores its config into kde.cache.py - -This has several advantages for both developers and users : - - Users do not have to run ./configure to compile - - The build is insensitive to environment changes - - The cache maintains the objects so the config can be changed often - - Each module adds its own help via env.Help("message") -""" - -## Use the variables available in the environment - unsafe, but moc, meinproc need it :-/ -import os -env.AppendUnique( ENV = os.environ ) -## If you do not want to copy the whole environment, you can use this instead (HOME is necessary for uic): -#env.AppendUnique( ENV = {'PATH' : os.environ['PATH'], 'HOME' : os.environ['HOME']} ) - -## The target make dist requires the python module shutil which is in 2.3 -env.EnsurePythonVersion(2, 3) - -## Bksys requires scons 0.96 -env.EnsureSConsVersion(0, 96) - -""" -Explanation of the 'env = Environment...' line : -* the command line arguments and targets are stored in env['TARGS'] and env['ARGS'] for use by the tools -* the part 'tools=['default', 'generic ..' detect and load the necessary functions for doing the things -* the part "toolpath=['./']" tells that the tools can be found in the current directory (generic.py, kde.py ..) -""" - -""" -To load more configuration modules one should only have to add the appropriate tool -ie: to detect alsa and add the proper cflags, ldflags .. - a file alsa.py file will be needed, and one should then use : - env = Environment(TARGS=COMMAND_LINE_TARGETS, ARGS=ARGUMENTS, tools=['default', 'generic', 'kde', 'alsa'], toolpath=['./']) - -You can also load environments that are targetted to different platforms -ie: if os.sys.platform = "darwin": - env = Environment(... - elsif os.sys.platform = "linux": - env = Environment(... - -""" - -## Setup the cache directory - this avoids recompiling the same files over and over again -## this is very handy when working with cvs -env.CacheDir('cache') -env.SConsignFile('scons/signatures') - -## If you need more libs and they rely on pkg-config -## ie: add support for GTK (source: the scons wiki on www.scons.org) -# env.ParseConfig('pkg-config --cflags --libs gtk+-2.0') - -""" -This tell scons that there are no rcs or sccs files - this trick -can speed up things a bit when having lots of #include -in the source code and for network file systems -""" -env.SourceCode(".", None) -dirs = [ '.', 'src', 'src/part', 'src/app' ] -for dir in dirs: - env.SourceCode(dir, None) - -## If we had only one program (named kvigor) to build, -## we could add before exporting the env (some kde -## helpers in kde.py need it) : -# env['APPNAME'] = 'kvigor' - -## Use this define if you are using the kde translation scheme (.po files) -env.Append( CPPFLAGS = ['-DQT_NO_TRANSLATION'] ) - -## Uncomment the following if you need threading support threading -#env.Append( CPPFLAGS = ['-DQT_THREAD_SUPPORT', '-D_REENTRANT'] ) -#if os.uname()[0] == "FreeBSD": -# env.Append(LINKFLAGS=["-pthread"]) - -## Important : export the environment so that SConscript files can the -## configuration and builders in it -Export("env") - - -def string_it(target, source, env): - print "Visit #codeine on irc.freenode.net!" - return 0 - -env.AddPostAction( "install", string_it ) - -env.SConscript( "src/SConscript", build_dir='build', duplicate=0 ) - - -if 'dist' in COMMAND_LINE_TARGETS: - - APPNAME = 'codeine' - VERSION = os.popen("cat VERSION").read().rstrip() - FOLDER = APPNAME+'-'+VERSION - ARCHIVE = FOLDER+'.tar.bz2' - - GREEN ="\033[92m" - NORMAL ="\033[0m" - - import shutil - import glob - - ## check if the temporary directory already exists - if os.path.isdir(FOLDER): - shutil.rmtree(FOLDER) - - ## create a temporary directory - startdir = os.getcwd() - # TODO copying the cache takes forever! delete it first - shutil.copytree(startdir, FOLDER) - - ## remove the unnecessary files - os.popen("find "+FOLDER+" -name \"{arch}\" | xargs rm -rf") - os.popen("find "+FOLDER+" -name \".arch-ids\" | xargs rm -rf") - os.popen("find "+FOLDER+" -name \".arch-inventory\" | xargs rm -f") - os.popen("find "+FOLDER+" -name \".scon*\" | xargs rm -rf") - os.popen("find "+FOLDER+" -name \"kdiss*-data\" | xargs rm -rf") - os.popen("find "+FOLDER+" -name \"*.pyc\" | xargs rm -f") - os.popen("find "+FOLDER+" -name \"*.cache.py\" | xargs rm -f") - os.popen("find "+FOLDER+" -name \"*.log\" | xargs rm -f") - os.popen("find "+FOLDER+" -name \"*.tdevelop.*\" | xargs rm -f") - os.popen("find "+FOLDER+" -name \"*~\" | xargs rm -f") - - os.popen("rm -rf "+FOLDER+"/autopackage") - os.popen("rm -rf "+FOLDER+"/build") - os.popen("rm -rf "+FOLDER+"/cache") - os.popen("rm -f " +FOLDER+"/codeine-*.tar.bz2") - os.popen("rm -f " +FOLDER+"/config.py*") - os.popen("rm -f " +FOLDER+"/src/configure.h") - os.popen("rm -f " +FOLDER+"/Doxyfile") - os.popen("rm -f " +FOLDER+"/Makefile") - os.popen("rm -rf "+FOLDER+"/packages") - os.popen("rm -rf "+FOLDER+"/screenshots") - os.popen("rm -f " +FOLDER+"/scons/signatures.dblite") - - ## make the tarball - print GREEN+"Writing archive "+ARCHIVE+NORMAL - os.popen("tar cjf "+ARCHIVE+" "+FOLDER) - - ## remove the temporary directory - if os.path.isdir(FOLDER): - shutil.rmtree(FOLDER) - - env.Default(None) - env.Exit(0) diff --git a/src/TODO b/TODO similarity index 100% rename from src/TODO rename to TODO diff --git a/config.h.cmake b/config.h.cmake new file mode 100644 index 0000000..67860c5 --- /dev/null +++ b/config.h.cmake @@ -0,0 +1,12 @@ +#define VERSION "@VERSION@" + +// Defined if you have fvisibility and fvisibility-inlines-hidden support. +#cmakedefine __KDE_HAVE_GCC_VISIBILITY 1 + +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most + significant byte first (like Motorola and SPARC, unlike Intel). */ +#cmakedefine WORDS_BIGENDIAN @WORDS_BIGENDIAN@ + +/* Defined if you don't have either the XTest headers or + the xcb-util-keysyms headers */ +#cmakedefine NO_XTEST_EXTENSION 1 diff --git a/configure b/configure deleted file mode 100755 index 83b4ab9..0000000 --- a/configure +++ /dev/null @@ -1,87 +0,0 @@ -#! /bin/sh -# TODO parse each passed argument and remove any "--" prefix - -BOLD="\033[1m" -RED="\033[91m" -GREEN="\033[92m" -YELLOW="\033[93m" -CYAN="\033[96m" -NORMAL="\033[0m" - -if command -v scons >/dev/null 2>&1; -then - SCONS=scons -else - if [ ! -e "scons/scons" ]; then - echo "" - echo -ne "Unpacking mini-scons..."$RED - - pushd scons >/dev/null 2>&1 - tar xjvf scons-mini.tar.bz2 > /dev/null 2>&1 - - if [[ "$?" == "0" ]]; then - echo -e $GREEN"done"$NORMAL - else - echo -e $RED"failed!"$NORMAL - exit 2 - fi - - popd > /dev/null - fi - - SCONS=scons/scons -fi - -if [[ "$1" == "--help" ]]; then - $SCONS -Q configure --help - exit -fi - -echo "" -echo "Configuring Codeine "`cat VERSION`"..." -echo "" - -#TODO remove all prefixed "--" - -$SCONS -Q configure $@ || exit 1 - -echo "" -echo -e "Your configure completed "$GREEN"successfully"$NORMAL", now type "$BOLD"make"$NORMAL -echo "" - -cat > Makefile << EOF -## Makefile automatically generated by unpack_local_scons.sh - -SCONS=$SCONS - -# scons : compile -# scons -c : clean -# scons install : install -# scons -c install : uninstall and clean - -# default target : use scons to build the programs -all: - \$(SCONS) -Q - -### There are several possibilities to help debugging : -# scons --debug=explain, scons --debug=tree .. -# -### To optimize the runtime, use -# scons --max-drift=1 --implicit-deps-unchanged -debug: - \$(SCONS) -Q --debug=tree - -clean: - \$(SCONS) -c - -install: - \$(SCONS) install - -uninstall: - \$(SCONS) -c install - -## this target creates a tarball of the project -dist: - \$(SCONS) dist -EOF - diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt new file mode 100644 index 0000000..6d0aa9f --- /dev/null +++ b/doc/CMakeLists.txt @@ -0,0 +1 @@ +tde_auto_add_subdirectories( ) diff --git a/doc/en/CMakeLists.txt b/doc/en/CMakeLists.txt new file mode 100644 index 0000000..ba3ef3e --- /dev/null +++ b/doc/en/CMakeLists.txt @@ -0,0 +1 @@ +tde_create_handbook( DESTINATION ${PROJECT_NAME} ) diff --git a/doc/en/index.docbook b/doc/en/index.docbook new file mode 100644 index 0000000..c056003 --- /dev/null +++ b/doc/en/index.docbook @@ -0,0 +1,437 @@ + + + Codeine"> + + + +]> + + + + + + + + + +The &codeine; Handbook + + + +Mike +Diehl + +
madpenguin8@yahoo.com
+
+
+
+ + + + +2004 +Mike Diehl + + + +&FDLNotice; + + + +10/19/2004 +1 + + + + + +&codeine; is a simple media player for the TRINITY Desktop Environment. &codeine; is a front end to the xine multi-media player. + + + + + + +KDE +Codeine +xine +video +multi-media + + +
+ + + + +Introduction + + +&codeine; Screenshot + + +Screenshot + + + + + +&codeine; is a simple media player using the xine backend. &codeine; is a no frills media player that is especially usefull for short video clips where most other media players would just get in the way. + + + + + + +Configuring &codeine; + + + + + + + +Using &codeine; + + +Starting &codeine; +&codeine; can be started from the K-Menu, or from the command-line + + +From the K-Menu + + +Open the &kde; program menu by clicking on the big K icon on your panel. This will raise the program menu. Move your cursor up the menu to the Multimedia menu item. Choose &codeine;. + + + + + + +From the Command Line + + +You can start &codeine; by typing it's name on the command line. If you include a file name it will play the file. + + + + +%codeine + + + + + + + + + + + + +Menu and Command Reference + + +The Play Menu + + + + +Ctrlo + +Play +Play File.. + +Opens a file dialog to choose a file to play. + + + + +Play +Play Audio-CD + +Plays an Audio-CD that is in your CD-Rom drive. + + + + +Play +Play DVD + +Plays a DVD that is in your DVD drive. + + + + + + +Ctrlq + +Play +Quit + +Quits &codeine;. + + + + + + + +The Settings Menu + + + + + +Settings +Toolbars +Show Main Toolbar + +Enables or disable the main application toolbar. + + + + +Settings +Toolbars +Show DVD Toolbar + +Enables or disable the DVD toolbar. + + + + +Settings +Configure Shortcuts... + +Allows you to configure the &codeine; shortcuts. + + + + +Settings +Configure Toolbars... + +Allows you to configure the &codeine; toolbar options. + + + + +Settings +Configure Video... + +Opens a dialog for configuring the video output settings. The settings include: contrast, brightness, saturation, and hue. + + + + + + +The Help Menu + + + + +Help +&codeine; Handbook + +Opens this help document. + + + + + +ShiftF1 + +Help +What's This? + +Activates the "What's This?" mouse cursor allowing you to click an object to get a "What's this?" tooltip. + + + + +Help +Report Bug... + +Starts the bug report tool dialog window. + + + + +Help +About &codeine; + +Starts the About &codeine; dialog window. + + + + +Help +About KDE + +Starts the About &kde; dialog window. + + + + + + + + + + + + + + + + +Credits and License + + +&codeine; +Program copyright 2004 Max B. Howell max.howell@methylblue.com + +&underGPL; + + + + +Documentation + + +Documentation copyright 2004 Mike Diehl madpenguin8@yahoo.com + + +&underFDL; + + + + + + +Requirements + +&codeine; requires the installation of some software packages. The required packages are listed below. + + + +Required: +tdelibs +xine-lib + + +Optional: +XTest Library +xcb-util-keysyms + + +If you obtain these dependencies via a packaging system, you must +also install the devel versions of these packages! + + + + + +Installation + + +How to obtain &codeine; + + +&codeine; is now part of the TDE project, it can be found at: +http://trinitydesktop.org/. + + + + +Compilation and Installation + + +In order to compile and install &codeine; on your system, type the following in the base directory; distribution: + +% mkdir -p build +% cd build +% cmake ../ +% make +% make install + + + +Since &codeine; uses cmake you should have not trouble compiling it. Default options for cmake build are available in the INSTALL file. + + + + + +&documentation.index; +
+ diff --git a/doc/en/main.png b/doc/en/main.png new file mode 100644 index 0000000..a13586e Binary files /dev/null and b/doc/en/main.png differ diff --git a/doc/man/CMakeLists.txt b/doc/man/CMakeLists.txt new file mode 100644 index 0000000..8512250 --- /dev/null +++ b/doc/man/CMakeLists.txt @@ -0,0 +1,5 @@ +INSTALL( + FILES ${PROJECT_NAME}.1 + DESTINATION ${MAN_INSTALL_DIR}/man1 + COMPONENT doc +) diff --git a/doc/man/codeine.1 b/doc/man/codeine.1 new file mode 100644 index 0000000..dac7494 --- /dev/null +++ b/doc/man/codeine.1 @@ -0,0 +1,94 @@ +'\" -*- coding: us-ascii -*- +.if \n(.g .ds T< \\FC +.if \n(.g .ds T> \\F[\n[.fam]] +.de URL +\\$2 \(la\\$1\(ra\\$3 +.. +.if \n(.g .mso www.tmac +.TH codeine 1 2006-05-12 "" "" +.SH NAME +codeine \- video player for TDE, designed to be as simple as possible +.SH SYNOPSIS +'nh +.fi +.ad l +\fBcodeine\fR \kx +.if (\nx>(\n(.l/2)) .nr x (\n(.l/5) +'in \n(.iu+\nxu +[ +\fB\fIQt-options\fB\fR +] [ +\fB\fTDE-options\fB\fR +] [ +\fB\fIURL|file\fB\fR +] [ +--play-dvd +] +'in \n(.iu-\nxu +.ad b +'hy +.SH DESCRIPTION +Video player with a different philosophy: Simple, uncluttered interface +.PP +Features: +.TP 0.2i +\(bu +Plays DVDs, VCDs, all video formats supported by Xine +.TP 0.2i +\(bu +Bundled with a simple web-page KPart +.TP 0.2i +\(bu +Starts quickly +.SH OPTIONS +All TDE and TQt +programs accept a some common command-line options. codeine has no +application-specific options. +.PP +.TP +\*(T<\fB\-\-help\fR\*(T> +Show help about options +.TP +\*(T<\fB\-\-help\-qt\fR\*(T> +Show TQt specific options +.TP +\*(T<\fB\-\-help\-tde\fR\*(T> +Show TDE specific options +.TP +\*(T<\fB\-\-help\-all\fR\*(T> +Show all options +.TP +\*(T<\fB\-\-author\fR\*(T> +Show author information +.TP +\*(T<\fB\-v\fR\*(T>, \*(T<\fB\-\-version\fR\*(T> +Show version information +.TP +\*(T<\fB\-\-license\fR\*(T> +Show license information +.TP +\*(T<\fB\-\-\fR\*(T> +Indicates end of options +.TP +\*(T<\fBURL|file\fR\*(T> +URL to or filename of a video +.TP +\*(T<\fB\-\-play\-dvd\fR\*(T> +Play DVD Video +.SH AUTHOR +Codeine was written by Max Howell <\*(T> +Homepage: +.URL "" https://mirror.git.trinitydesktop.org/gitea/TDE/codeine/ +.SH COPYRIGHT +This manual page was written by Achim Bohnet <\*(T>, +based on work of Anthony Mercatante +<\*(T>, for the +Debian system (but may be used by others). +Tom Albers <\*(T> documented the play-dvd part. +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU General Public License, +Version 2 or any later version published by the Free Software Foundation. +.PP +On Debian systems, the complete text of the GNU General Public Version 2 +License can be found in +\*(T<\fI/usr/share/common\-licenses/GPL\-2\fR\*(T>. diff --git a/misc/CMakeLists.txt b/misc/CMakeLists.txt new file mode 100644 index 0000000..30786a7 --- /dev/null +++ b/misc/CMakeLists.txt @@ -0,0 +1,31 @@ +##### icons + +tde_install_icons( ${PROJECT_NAME} ) + + +##### other data + +install( + FILES ${PROJECT_NAME}ui.rc + DESTINATION ${DATA_INSTALL_DIR}/${PROJECT_NAME} +) + +install( + FILES ${PROJECT_NAME}rc + DESTINATION ${DATA_INSTALL_DIR}/${PROJECT_NAME} +) + +install( + FILES ${PROJECT_NAME}.desktop + DESTINATION ${XDG_APPS_INSTALL_DIR} +) + +install( + FILES ${PROJECT_NAME}_part.desktop + DESTINATION ${SERVICES_INSTALL_DIR} +) + +install( + FILES ${PROJECT_NAME}_play_dvd.desktop + DESTINATION ${DATA_INSTALL_DIR}/konqueror/servicemenus +) diff --git a/po/messages.sh b/po/messages.sh deleted file mode 100755 index 9c2a2b1..0000000 --- a/po/messages.sh +++ /dev/null @@ -1,60 +0,0 @@ -#!/bin/sh - -# Inspired by Makefile.common from coolo -# this script is used to update the .po files - -# To update the translations, you will need a specific gettext -# patched for kde and a lot of patience, tenacity, luck, time .. - - -# I guess one should only update the .po files when all .cpp files -# are generated (after a make or scons) - -# If you have a better way to do this, do not keep that info -# for yourself and help me to improve this script, thanks -# (tnagyemail-mail tat yahoo d0tt fr) - -SRCDIR=../src # srcdir is the directory containing the source code -TIPSDIR=$SRCDIR # tipsdir is the directory containing the tips - -TDEDIR=`tde-config --prefix` -EXTRACTRC=extractrc -KDEPOT=`tde-config --prefix`/include/kde.pot -XGETTEXT="xgettext -C -ki18n -ktr2i18n -kI18N_NOOP -ktranslate -kaliasLocale -x $KDEPOT " - -## check that kde.pot is available -if ! test -e $KDEPOT; then - echo "$KDEPOT does not exist, there is something wrong with your installation!" - XGETTEXT="xgettext -C -ki18n -ktr2i18n -kI18N_NOOP -ktranslate -kaliasLocale " -fi - -> rc.cpp - -## extract the strings -echo "extracting the strings" - -# process the .ui and .rc files -$EXTRACTRC `find $SRCDIR -iname *.rc` >> rc.cpp -$EXTRACTRC `find $SRCDIR -iname *.ui` >> rc.cpp -echo -e 'i18n("_: NAME OF TRANSLATORS\\n"\n"Your names")\ni18n("_: EMAIL OF TRANSLATORS\\n"\n"Your emails")' > $SRCDIR/_translatorinfo.cpp - -# process the tips - $SRCDIR is supposed to be where the tips are living -pushd $TIPSDIR; preparetips >tips.cpp; popd - -$XGETTEXT `find $SRCDIR -name "*.cpp"` -o codeine.pot - -# remove the intermediate files -rm -f $TIPSDIR/tips.cpp -rm -f rc.cpp -rm -f $SRCDIR/_translatorinfo.cpp - -## now merge the .po files .. -echo "merging the .po files" - -for i in `ls *.po`; do - msgmerge $i kdissert.pot -o $i || exit 1 -done - -## finished -echo "Done" - diff --git a/scons/codeine.py b/scons/codeine.py deleted file mode 100644 index b56f50d..0000000 --- a/scons/codeine.py +++ /dev/null @@ -1,101 +0,0 @@ -## Max Howell, 2005 - -BOLD ="\033[1m" -RED ="\033[91m" -GREEN ="\033[92m" -YELLOW ="\033[93m" -CYAN ="\033[96m" -NORMAL ="\033[0m" - -import os - -def exists( env ): - return true - -def generate( env ): - - if 'configure' in env['TARGS']: - xine_lib_test_source_file = """ - #include - #include - - int main( int argc, char **argv ) - { - if( XINE_MAJOR_VERSION < 1 ) - return 1; - - const QString version( XINE_VERSION ); - - // eg. VERSION 1.0 - if( version[1] == '.' ) - return 0; - - if( version == "1-cvs" ) - return 0; - - if( version.startsWith( "1-rc" ) && QString(version[4]).toInt() > 3 ) - return 0; - - return 2; //too old - }""" - - def CheckKdeLibs( context ): - # ideally should be able to tell bksys what version we need - context.Message( 'Checking for KDElibs 3.3...' ) - kde_version = os.popen("tde-config --version|grep KDE").read().strip().split()[1] - result = int( kde_version[0] ) == 3 and int( kde_version[2] ) >= 3 - context.Result( result ) - return result - - def CheckXineLib( context ): - context.Message('Checking for xine-lib 1.0...') - result = context.TryLink(xine_lib_test_source_file, '.cpp') - context.Result(result) - return result - - - # prolly best to use a fresh env - # this seems to import the user's CXXFLAGS, etc., which may break - confenv = env.Copy() - configure = confenv.Configure(custom_tests = {'CheckXineLib' : CheckXineLib, 'CheckKdeLibs' : CheckKdeLibs}, log_file='configure.log') - confenv.AppendUnique(LIBS = 'tqt-mt') - confenv.AppendUnique(LINKFLAGS = '-L/usr/X11R6/lib') - - if not configure.CheckKdeLibs(): - print # 1 2 3 4 5 6 7 8' - print 'Configure could not detect KDElibs 3.3, which is required for Codeine to ' - print 'compile.' - print - confenv.Exit( 1 ) - - if not configure.CheckLibWithHeader( 'xine', 'xine.h', 'c++' ): - print # 1 2 3 4 5 6 7 8' - print 'Configure could not find either the xine library or header on your system. You ' - print 'should ammend the relevant paths. If you know which ones please email me so I ' - print 'can update this message!' - print - confenv.Exit( 2 ) - - if not configure.CheckXineLib(): - print # 1 2 3 4 5 6 7 8' - print 'Your xine-lib is either too old, or can not be linked against. Sorry for not ' - print 'being more specific..' - print - confenv.Exit( 3 ) - - if not configure.CheckLibWithHeader( 'Xtst', 'X11/extensions/XTest.h', 'c' ): - print # 1 2 3 4 5 6 7 8' - print 'libxtst was not found, this means the screensaver cannot be disabled during ' - print 'playback. YOU CAN STILL BUILD CODEINE! :)' - print - - file = open ( 'src/configure.h', 'w' ) - file.write( "#define NO_XTEST_EXTENSION\n" ) - file.close() - else: - # FIXME - thus only one thing can be in configure.h - lol - file = open ( 'src/configure.h', 'w' ) - file.write( "" ) - file.close() - - env = configure.Finish() diff --git a/scons/generic.py b/scons/generic.py deleted file mode 100644 index 3249df7..0000000 --- a/scons/generic.py +++ /dev/null @@ -1,95 +0,0 @@ -## Thomas Nagy, 2005 - -""" -Detect and store the most common options -* kdecxxflags : debug=1 (-g) or debug=full (-g3, slower) - else use the user CXXFLAGS if any, - or -O2 by default -* prefix : the installation path -* extraincludes : a list of paths separated by ':' -ie: scons configure debug=full prefix=/usr/local extraincludes=/tmp/include:/usr/local -""" - -BOLD ="\033[1m" -RED ="\033[91m" -GREEN ="\033[92m" -YELLOW ="\033[93m" -CYAN ="\033[96m" -NORMAL ="\033[0m" - -import os - -def exists(env): - return true - -def generate(env): - env.Help(""" -"""+BOLD+ -"""*** Generic options *** ------------------------"""+NORMAL+""" -"""+BOLD+"""* debug """+NORMAL+""": debug=1 (-g) or debug=full (-g3, slower) else use environment CXXFLAGS, or -O2 by default -"""+BOLD+"""* prefix """+NORMAL+""": the installation path -"""+BOLD+"""* extraincludes """+NORMAL+""": a list of paths separated by ':' -ie: """+BOLD+"""scons configure debug=full prefix=/usr/local extraincludes=/tmp/include:/usr/local -"""+NORMAL) - - # load the options - from SCons.Options import Options, PathOption - opts = Options('generic.cache.py') - opts.AddOptions( - ( 'KDECXXFLAGS', 'debug level for the project : full or just anything' ), - ( 'PREFIX', 'prefix for installation' ), - ( 'EXTRAINCLUDES', 'extra include paths for the project' ), - ) - opts.Update(env) - - # use this to avoid an error message 'how to make target configure ?' - env.Alias('configure', None) - - # configure the environment if needed - if 'configure' in env['TARGS'] or not env.has_key('KDECXXFLAGS'): - # need debugging ? - if env.has_key('KDECXXFLAGS'): - env.__delitem__('KDECXXFLAGS') - if env['ARGS'].get('debug', None): - debuglevel = env['ARGS'].get('debug', None) - print CYAN+'** Enabling debug for the project **' + NORMAL - if (debuglevel == "full"): - env['KDECXXFLAGS'] = ['-DDEBUG', '-ggdb', '-pipe', '-Wall'] - else: - env['KDECXXFLAGS'] = ['-DDEBUG', '-g'] - else: - if os.environ.has_key('CXXFLAGS'): - # user-defined flags (gentooers will be delighted) - import SCons.Util - env['KDECXXFLAGS'] = SCons.Util.CLVar( os.environ['CXXFLAGS'] ) - env.Append( KDECXXFLAGS = ['-DNDEBUG', '-DNO_DEBUG'] ) - else: - env.Append(KDECXXFLAGS = ['-O2', '-DNDEBUG', '-DNO_DEBUG']) - - # user-specified prefix - if env['ARGS'].get('prefix', None): - env['PREFIX'] = env['ARGS'].get('prefix', None) - print CYAN+'** set the installation prefix for the project : ' + env['PREFIX'] +' **'+ NORMAL - elif env.has_key('PREFIX'): - env.__delitem__('PREFIX') - - # user-specified include paths - env['EXTRAINCLUDES'] = env['ARGS'].get('extraincludes', None) - if env['ARGS'].get('extraincludes', None): - print CYAN+'** set extra include paths for the project : ' + env['EXTRAINCLUDES'] +' **'+ NORMAL - elif env.has_key('EXTRAINCLUDES'): - env.__delitem__('EXTRAINCLUDES') - - # and finally save the options in a cache - opts.Save('generic.cache.py', env) - - if env.has_key('KDECXXFLAGS'): - # load the flags - env.AppendUnique( CPPFLAGS = env['KDECXXFLAGS'] ) - - if env.has_key('EXTRAINCLUDES'): - incpaths = [] - for dir in str(env['EXTRAINCLUDES']).split(':'): - incpaths.append( dir ) - env.Append(CPPPATH = incpaths) - diff --git a/scons/kde.py b/scons/kde.py deleted file mode 100644 index b54057e..0000000 --- a/scons/kde.py +++ /dev/null @@ -1,771 +0,0 @@ -# Copyright (c) 2001, 2002, 2003, 2004 The SCons Foundation -# -# Permission is hereby granted, free of charge, to any person obtaining -# a copy of this software and associated documentation files (the -# "Software"), to deal in the Software without restriction, including -# without limitation the rights to use, copy, modify, merge, publish, -# distribute, sublicense, and/or sell copies of the Software, and to -# permit persons to whom the Software is furnished to do so, subject to -# the following conditions: -# -# The above copyright notice and this permission notice shall be included -# in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -# KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE -# WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -# - -# Shamelessly stolen from qt.py and (heavily) modified into kde.py :) -# Thomas Nagy, 2004, 2005 - -""" -Here follow the basic rules for building kde programs -The detection is done in detect_kde when needed -We wan to use the cached variables as much as possible - -The variables used when configuring are : -* prefix : base install path, eg: /usr/local -* execprefix : install path for binaries, eg: /usr/bin -* datadir : install path for the data, eg: /usr/local/share -* libdir : install path for the libs, eg: /usr/lib - -* libsuffix : for those who need /usr/lib64 and the like .. - -* kdeincludes: path to the kde includes (/usr/include/tde on debian, ...) -* qtincludes : same punishment, for qt includes (/usr/include/qt on debian, ...) - -* tdelibs : path to the kde libs, for linking the programs -* qtlibs : same punishment, for qt libraries - -eg: scons configure libdir=/usr/local/lib qtincludes=/usr/include/qt -""" - -BOLD ="\033[1m" -RED ="\033[91m" -GREEN ="\033[92m" -YELLOW ="\033[93m" -CYAN ="\033[96m" -NORMAL ="\033[0m" - -def exists(env): - return True - -def detect_kde(env): - """ Detect the qt and kde environment using tde-config mostly """ - import os, sys, re - - prefix = env['ARGS'].get('prefix', None) - execprefix = env['ARGS'].get('execprefix', None) - datadir = env['ARGS'].get('datadir', None) - libdir = env['ARGS'].get('libdir', None) - libsuffix = env['ARGS'].get('libsuffix', '') - kdeincludes = env['ARGS'].get('kdeincludes', None) - tdelibs = env['ARGS'].get('tdelibs', None) - qtincludes = env['ARGS'].get('qtincludes', None) - qtlibs = env['ARGS'].get('qtlibs', None) - - if libdir: - libdir = libdir+libsuffix - - ## Detect the kde libraries - print "Checking for tde-config : ", - kde_config = os.popen("which tde-config 2>/dev/null").read().strip() - if len(kde_config): - print GREEN + "tde-config was found" + NORMAL - else: - print RED + "tde-config was NOT found in your PATH"+ NORMAL - print "Make sure kde is installed properly" - print "(missing package tdebase-devel?)" - # TODO : prompt the user for the path of tde-config ? - sys.exit(1) - env['TDEDIR'] = os.popen('tde-config -prefix').read().strip() - - print "Checking for kde version : ", - kde_version = os.popen("tde-config --version|grep KDE").read().strip().split()[1] - if int(kde_version[0]) != 3 or int(kde_version[2]) < 2: - print RED + kde_version - print RED + "Your kde version can be too old" + NORMAL - print RED + "Please make sure kde is at least 3.2" + NORMAL - else: - print GREEN + kde_version + NORMAL - - ## Detect the qt library - print "Checking for the qt library : ", - qtdir = os.getenv("QTDIR") - if qtdir: - print GREEN + "qt is in " + qtdir + NORMAL - else: - m = re.search('(.*)/lib/libqt.*', os.popen('ldd `tde-config --expandvars --install lib`' + '/libtdeui.so.4 | grep libqt').read().strip().split()[2]) - if m: - qtdir = m.group(1) - print YELLOW + "qt was found as " + m.group(1) + NORMAL - else: - print RED + "qt was not found" + NORMAL - print RED + "Please set QTDIR first (/usr/lib/qt3?)" + NORMAL - sys.exit(1) - env['QTDIR'] = qtdir.strip() - - ## Find the necessary programs uic and moc - print "Checking for uic : ", - uic = qtdir + "/bin/uic" - if os.path.isfile(uic): - print GREEN + "uic was found as " + uic + NORMAL - else: - uic = os.popen("which uic 2>/dev/null").read().strip() - if len(uic): - print YELLOW + "uic was found as " + uic + NORMAL - else: - uic = os.popen("which uic 2>/dev/null").read().strip() - if len(uic): - print YELLOW + "uic was found as " + uic + NORMAL - else: - print RED + "uic was not found - set QTDIR put it in your PATH ?" + NORMAL - sys.exit(1) - env['QT_UIC'] = uic - - print "Checking for moc : ", - moc = qtdir + "/bin/moc" - if os.path.isfile(moc): - print GREEN + "moc was found as " + moc + NORMAL - else: - moc = os.popen("which moc 2>/dev/null").read().strip() - if len(moc): - print YELLOW + "moc was found as " + moc + NORMAL - elif os.path.isfile("/usr/share/qt3/bin/moc"): - moc = "/usr/share/qt3/bin/moc" - print YELLOW + "moc was found as " + moc + NORMAL - else: - print RED + "moc was not found - set QTDIR or put it in your PATH ?" + NORMAL - sys.exit(1) - env['QT_MOC'] = moc - - ## check for the qt and kde includes - print "Checking for the qt includes : ", - if qtincludes and os.path.isfile(qtincludes + "/ntqlayout.h"): - # The user told where to look for and it looks valid - print GREEN + "ok " + qtincludes + NORMAL - else: - if os.path.isfile(qtdir + "/include/ntqlayout.h"): - # Automatic detection - print GREEN + "ok " + qtdir + "/include/ " + NORMAL - qtincludes = qtdir + "/include/" - elif os.path.isfile("/usr/include/qt3/ntqlayout.h"): - # Debian probably - print YELLOW + "the qt headers were found in /usr/include/qt3/ " + NORMAL - qtincludes = "/usr/include/qt3" - else: - print RED + "the qt headers were not found" + NORMAL - sys.exit(1) - - print "Checking for the kde includes : ", - kdeprefix = os.popen("tde-config --prefix").read().strip() - if not kdeincludes: - kdeincludes = kdeprefix+"/include/" - if os.path.isfile(kdeincludes + "/klineedit.h"): - print GREEN + "ok " + kdeincludes + NORMAL - else: - if os.path.isfile(kdeprefix+"/include/tde/klineedit.h"): - # Debian, Fedora probably - print YELLOW + "the kde headers were found in " + kdeprefix + "/include/tde/" + NORMAL - kdeincludes = kdeprefix + "/include/tde/" - else: - print RED + "The kde includes were NOT found" + NORMAL - sys.exit(1) - - if prefix: - ## use the user-specified prefix - if not execprefix: - execprefix = prefix - if not datadir: - datadir = prefix + "/share" - if not libdir: - libdir = execprefix + "/lib"+libsuffix - - subst_vars = lambda x: x.replace('${exec_prefix}', execprefix).replace('${datadir}', - datadir).replace('${libdir}', libdir) - debian_fix = lambda x: x.replace('/usr/share', '${datadir}') - env['KDEBIN'] = subst_vars(os.popen('tde-config --install exe').read().strip()) - env['KDEAPPS'] = subst_vars(os.popen('tde-config --install apps').read().strip()) - env['KDEDATA'] = subst_vars(os.popen('tde-config --install data').read().strip()) - env['KDEMODULE']= subst_vars(os.popen('tde-config --install module').read().strip()) - env['KDELOCALE']= subst_vars(os.popen('tde-config --install locale').read().strip()) - env['KDEDOC'] = subst_vars( debian_fix(os.popen('tde-config --install html').read().strip()) ) - env['KDEKCFG'] = subst_vars(os.popen('tde-config --install kcfg').read().strip()) - env['KDEXDG'] = subst_vars(os.popen('tde-config --install xdgdata-apps').read().strip()) - env['KDEMENU'] = subst_vars(os.popen('tde-config --install apps').read().strip()) - env['KDEMIME'] = subst_vars(os.popen('tde-config --install mime').read().strip()) - env['KDEICONS'] = subst_vars(os.popen('tde-config --install icon').read().strip()) - env['KDESERV'] = subst_vars(os.popen('tde-config --install services').read().strip()) - else: - # the user has given no prefix, install as a normal kde app - env['PREFIX'] = os.popen('tde-config --prefix').read().strip() - - env['KDEBIN'] = os.popen('tde-config --expandvars --install exe').read().strip() - env['KDEAPPS'] = os.popen('tde-config --expandvars --install apps').read().strip() - env['KDEDATA'] = os.popen('tde-config --expandvars --install data').read().strip() - env['KDEMODULE']= os.popen('tde-config --expandvars --install module').read().strip() - env['KDELOCALE']= os.popen('tde-config --expandvars --install locale').read().strip() - env['KDEDOC'] = os.popen('tde-config --expandvars --install html').read().strip() - env['KDEKCFG'] = os.popen('tde-config --expandvars --install kcfg').read().strip() - env['KDEXDG'] = os.popen('tde-config --expandvars --install xdgdata-apps').read().strip() - env['KDEMENU'] = os.popen('tde-config --expandvars --install apps').read().strip() - env['KDEMIME'] = os.popen('tde-config --expandvars --install mime').read().strip() - env['KDEICONS'] = os.popen('tde-config --expandvars --install icon').read().strip() - env['KDESERV'] = os.popen('tde-config --expandvars --install services').read().strip() - - env['QTPLUGINS']=os.popen('tde-config --expandvars --install qtplugins').read().strip() - - ## kde libs and includes - env['KDEINCLUDEPATH']= kdeincludes - if not tdelibs: - tdelibs = os.popen('tde-config --expandvars --install lib').read().strip() - env['KDELIBPATH']= tdelibs - - ## qt libs and includes - env['QTINCLUDEPATH']= qtincludes - if not qtlibs: - qtlibs = qtdir+ "/lib" - env['QTLIBPATH']= qtlibs - - -def generate(env): - """"Set up the qt and kde environment and builders - the moc part is difficult to understand """ - - env.Help(""" -"""+BOLD+ -"""*** KDE options *** --------------------""" -+NORMAL+""" -"""+BOLD+"""* prefix """+NORMAL+""": base install path, ie: /usr/local -"""+BOLD+"""* execprefix """+NORMAL+""": install path for binaries, ie: /usr/bin -"""+BOLD+"""* datadir """+NORMAL+""": install path for the data, ie: /usr/local/share -"""+BOLD+"""* libdir """+NORMAL+""": install path for the libs, ie: /usr/lib -"""+BOLD+"""* libsuffix """+NORMAL+""": suffix of libraries on amd64, ie: 64, 32 -"""+BOLD+"""* kdeincludes"""+NORMAL+""": path to the kde includes (/usr/include/tde on debian, ...) -"""+BOLD+"""* qtincludes """+NORMAL+""": same punishment, for qt includes (/usr/include/qt on debian, ...) -"""+BOLD+"""* tdelibs """+NORMAL+""": path to the kde libs, for linking the programs -"""+BOLD+"""* qtlibs """+NORMAL+""": same punishment, for qt libraries -ie: """+BOLD+"""scons configure libdir=/usr/local/lib qtincludes=/usr/include/qt -"""+NORMAL) - - import os.path - import re - - import SCons.Defaults - import SCons.Tool - import SCons.Util - - ui_extensions = [".ui", ".Ui", ".UI"] - header_extensions = [".h", ".hxx", ".hpp", ".hh", ".H", ".HH"] - source_extensions = [".cpp", ".cxx", ".cc", ".CPP", ".CXX", ".CC"] - - def find_file(filename, paths, node_factory): - retval = None - for dir in paths: - node = node_factory(filename, dir) - if node.rexists(): - return node - return None - - class _Metasources: - """ Callable class, which works as an emitter for Programs, SharedLibraries - and StaticLibraries.""" - - def __init__(self, objBuilderName): - self.objBuilderName = objBuilderName - - def __call__(self, target, source, env): - """ Smart autoscan function. Gets the list of objects for the Program - or Lib. Adds objects and builders for the special qt files. """ - try: - if int(env.subst('$QT_AUTOSCAN')) == 0: - return target, source - except ValueError: - pass - - try: - qtdebug = int(env.subst('$QT_DEBUG')) - except ValueError: - qtdebug = 0 - - # some shortcuts used in the scanner - FS = SCons.Node.FS.default_fs - splitext = SCons.Util.splitext - objBuilder = getattr(env, self.objBuilderName) - - # some regular expressions: - # Q_OBJECT detection - q_object_search = re.compile(r'[^A-Za-z0-9]Q_OBJECT[^A-Za-z0-9]') - - # cxx and c comment 'eater' - #comment = re.compile(r'(//.*)|(/\*(([^*])|(\*[^/]))*\*/)') - # CW: something must be wrong with the regexp. See also bug #998222 - # CURRENTLY THERE IS NO TEST CASE FOR THAT - - # The following is kind of hacky to get builders working properly (FIXME) - objBuilderEnv = objBuilder.env - objBuilder.env = env - mocBuilderEnv = env.Moc.env - env.Moc.env = env - - # make a deep copy for the result; MocH objects will be appended - out_sources = source[:] - - for obj in source: - if not obj.has_builder(): - # binary obj file provided - if qtdebug: - print "scons: qt: '%s' seems to be a binary. Discarded." % str(obj) - continue - cpp = obj.sources[0] - if not splitext(str(cpp))[1] in source_extensions: - if qtdebug: - print "scons: qt: '%s' is no cxx file. Discarded." % str(cpp) - # c or fortran source - continue - #cpp_contents = comment.sub('', cpp.get_contents()) - cpp_contents = cpp.get_contents() - - h = None - ui = None - - for ui_ext in ui_extensions: - # try to find the ui file in the corresponding source directory - uiname = splitext(cpp.name)[0] + ui_ext - ui = find_file(uiname, (cpp.get_dir(),), FS.File) - if ui: - if qtdebug: - print "scons: qt: found .ui file of header" #% (str(h), str(cpp)) - #h_contents = comment.sub('', h.get_contents()) - break - - # if we have a .ui file, do not continue, it is automatically handled by Uic - if ui: - continue - - for h_ext in header_extensions: - # try to find the header file in the corresponding source - # directory - hname = splitext(cpp.name)[0] + h_ext - h = find_file(hname, (cpp.get_dir(),), FS.File) - if h: - if qtdebug: - print "scons: qt: Scanning '%s' (header of '%s')" % (str(h), str(cpp)) - #h_contents = comment.sub('', h.get_contents()) - h_contents = h.get_contents() - break - - if not h and qtdebug: - print "scons: qt: no header for '%s'." % (str(cpp)) - if h and q_object_search.search(h_contents): - # h file with the Q_OBJECT macro found -> add .moc or _moc.cpp file - moc_cpp = None - - if env.has_key('NOMOCSCAN'): - moc_cpp = env.Moc(h) - else: - reg = '\n\s*#include\s+"'+splitext(cpp.name)[0]+'.moc"' - meta_object_search = re.compile(reg) - if meta_object_search.search(cpp_contents): - moc_cpp = env.Moc(h) - else: - moc_cpp = env.Moccpp(h) - moc_o = objBuilder(moc_cpp) - out_sources.append(moc_o) - if qtdebug: - print "scons: qt: found Q_OBJECT macro in '%s', moc'ing to '%s'" % (str(h), str(moc_cpp[0])) - - if cpp and q_object_search.search(cpp_contents): - print "error, bksys cannot handle cpp files with Q_OBJECT classes" - print "if you are sure this is a feature worth the effort, " - print "report this to the authors tnagyemail-mail yahoo.fr" - - # restore the original env attributes (FIXME) - objBuilder.env = objBuilderEnv - env.Moc.env = mocBuilderEnv - - return (target, out_sources) - - MetasourcesShared = _Metasources('SharedObject') - MetasourcesStatic = _Metasources('StaticObject') - - CLVar = SCons.Util.CLVar - splitext = SCons.Util.splitext - Builder = SCons.Builder.Builder - - # Detect the environment - replaces ./configure implicitely - # and store the options into a cache - from SCons.Options import Options - opts = Options('kde.cache.py') - opts.AddOptions( - ( 'QTDIR', 'root of qt directory' ), - ( 'QTLIBPATH', 'path to the qt libraries' ), - ( 'QTINCLUDEPATH', 'path to the qt includes' ), - ( 'QT_UIC', 'moc directory'), - ( 'QT_MOC', 'moc executable command'), - ( 'QTPLUGINS', 'uic executable command'), - ( 'TDEDIR', 'root of kde directory' ), - ( 'KDELIBPATH', 'path to the kde libs' ), - ( 'KDEINCLUDEPATH', 'path to the kde includes' ), - - ( 'PREFIX', 'root of the program installation'), - - ( 'KDEBIN', 'installation path of the kde binaries'), - ( 'KDEMODULE', 'installation path of the parts and libs'), - ( 'KDEAPPS', ''), - ( 'KDEDATA', 'installation path of the application data'), - ( 'KDELOCALE', ''), - ( 'KDEDOC', 'installation path of the application documentation'), - ( 'KDEKCFG', 'installation path of the .kcfg files'), - ( 'KDEXDG', 'installation path of the service types'), - ( 'KDEMENU', ''), - ( 'KDEMIME', 'installation path of to the mimetypes'), - ( 'KDEICONS', ''), - ( 'KDESERV', ''), - ) - opts.Update(env) - - # reconfigure when things are missing - if 'configure' in env['TARGS'] or not env.has_key('QTDIR') or not env.has_key('TDEDIR'): - detect_kde(env) - - # finally save the configuration - opts.Save('kde.cache.py', env) - - ## set default variables, one can override them in sconscript files - env.Append(CXXFLAGS = ['-I'+env['KDEINCLUDEPATH'], '-I'+env['QTINCLUDEPATH'] ]) - env.Append(LIBPATH = [env['KDELIBPATH'], env['QTLIBPATH'] ]) - - env['STATIC_AND_SHARED_OBJECTS_ARE_THE_SAME'] = 1 - - env['QT_AUTOSCAN'] = 1 - env['QT_DEBUG'] = 0 - - env['QT_UIC_HFLAGS'] = '-L $QTPLUGINS -nounload' - env['QT_UIC_CFLAGS'] = '$QT_UIC_HFLAGS -tr tr2i18n' - env['QT_LIBS'] = 'tqt-mt' - - env['LIBTOOL_FLAGS'] = '--silent --mode=compile --tag=CXX' - - env['QT_UICIMPLPREFIX'] = '' - env['QT_UICIMPLSUFFIX'] = '.cpp' - env['QT_MOCHPREFIX'] = '' - env['QT_MOCHSUFFIX'] = '.moc' - env['KDE_KCFG_IMPLPREFIX'] = '' - env['KDE_KCFG_IMPL_HSUFFIX'] = '.h' - env['KDE_KCFG_IMPL_CSUFFIX'] = '.cpp' - env['KDE_SKEL_IMPL_SUFFIX'] = '.skel' - env['MEINPROC'] = 'meinproc' - env['MSGFMT'] = 'msgfmt' - - - ###### ui file processing - def uicGenerator(target, source, env, for_signature): - act=[] - act.append('$QT_UIC $QT_UIC_HFLAGS -o '+target[0].path+' '+source[0].path) - act.append('rm -f ' +target[1].path) - act.append('echo \'#include \' >> '+target[1].path) - act.append('echo \'#include \' >> '+target[1].path) - act.append('$QT_UIC $QT_UIC_CFLAGS -impl '+target[0].path+' -o '+target[1].path+'.tmp '+source[0].path) - act.append('cat '+target[1].path+'.tmp >> '+target[1].path) - act.append('rm -f '+target[1].path+'.tmp') - act.append('echo \'#include "' + target[2].name + '"\' >> '+target[1].path) - act.append('$QT_MOC -o '+target[2].path+' '+target[0].path) - return act - - def uicEmitter(target, source, env): - adjustixes = SCons.Util.adjustixes - bs = SCons.Util.splitext(str(source[0].name))[0] - bs = os.path.join(str(target[0].get_dir()),bs) - # first target is automatically added by builder (.h file) - if len(target) < 2: - # second target is .cpp file - target.append(adjustixes(bs, - env.subst('$QT_UICIMPLPREFIX'), - env.subst('$QT_UICIMPLSUFFIX'))) - if len(target) < 3: - # third target is .moc file - target.append(adjustixes(bs, - env.subst('$QT_MOCHPREFIX'), - env.subst('$QT_MOCHSUFFIX'))) - return target, source - - UIC_BUILDER = Builder( - generator = uicGenerator, - emitter = uicEmitter, - suffix = '.h', - src_suffix = '.ui' ) - - ###### moc file processing - env['QT_MOCCOM'] = ('$QT_MOC -o ${TARGETS[0]} $SOURCE') - - MOC_BUILDER = Builder( - action = '$QT_MOCCOM', - suffix = '.moc', - src_suffix = '.h' ) - - MOCCPP_BUILDER = Builder( - action = '$QT_MOCCOM', - suffix = '_moc.cpp', - src_suffix = '.h' ) - - ###### kcfg file processing - def kcfgGenerator(target, source, env, for_signature): - act=[] - act.append('tdeconfig_compiler -d'+str(source[0].get_dir())+' '+source[1].path+' '+source[0].path) - return act - - def kcfgEmitter(target, source, env): - adjustixes = SCons.Util.adjustixes - bs = SCons.Util.splitext(str(source[0].name))[0] - bs = os.path.join(str(target[0].get_dir()),bs) - # first target is automatically added by builder (.h file) - if len(target) < 2: - # second target is .cpp file - target.append(adjustixes(bs, env.subst('$KDE_KCFG_IMPLPREFIX'), env.subst('$KDE_KCFG_IMPL_CSUFFIX'))) - - # find_file(kcfgfile, (source[0].get_dir(),) ,SCons.Node.FS.default_fs) - if len(source) <2: - if not os.path.isfile(str(source[0])): - print RED+'kcfg file given'+str(source[0])+' does not exist !'+NORMAL - return target, source - kfcgfilename = "" - kcfgFileDeclRx = re.compile("^[fF]ile\s*=\s*(.+)\s*$") - for line in file(str(source[0]), "r").readlines(): - match = kcfgFileDeclRx.match(line.strip()) - if match: - kcfgfilename = match.group(1) - break - source.append( str(source[0].get_dir())+'/'+kcfgfilename ) - return target, source - - KCFG_BUILDER = Builder( - generator = kcfgGenerator, - emitter = kcfgEmitter, - suffix = '.h', - src_suffix = '.kcfgc' ) - - ###### dcop processing - def dcopGenerator(target, source, env, for_signature): - act=[] - act.append('dcopidl '+source[0].path+' > '+target[1].path+'|| ( rm -f '+target[1].path+' ; false )') - act.append('dcopidl2cpp --c++-suffix cpp --no-signals --no-stub '+target[1].path) - return act - - def dcopEmitter(target, source, env): - bs = SCons.Util.splitext(str(source[0].name))[0] - bs = os.path.join(str(target[0].get_dir()),bs) - target.append(bs+'.kidl') - #target.append(bs+'_skel.cpp') - return target, source - - DCOP_BUILDER = Builder( - generator = dcopGenerator, - emitter = dcopEmitter, - suffix = '_skel.cpp', - src_suffix = '.h' ) - - ###### documentation (meinproc) processing - MEINPROC_BUILDER = Builder( - action = '$MEINPROC --check --cache $TARGET $SOURCE', - suffix = '.cache.bz2', - src_suffix = '.docbook' ) - - ###### translation files builder - TRANSFILES_BUILDER = Builder( - action = '$MSGFMT $SOURCE -o $TARGET', - suffix = '.gmo', - src_suffix = '.po' ) - - ###### libtool file builder - def laGenerator(target, source, env, for_signature): - act=[] - act.append('echo "dlname=\''+source[0].name+'\'" > '+target[0].path) - act.append('echo "library_names=\''+source[0].name+' '+source[0].name+' '+source[0].name+'\'" >> '+target[0].path) - act.append('echo "old_library=\'\'">> '+target[0].path) - act.append('echo "dependency_libs=\'\'">> '+target[0].path) - act.append('echo "current=0">> '+target[0].path) - act.append('echo "age=0">> '+target[0].path) - act.append('echo "revision=0">> '+target[0].path) - act.append('echo "installed=yes">> '+target[0].path) - act.append('echo "shouldnotlink=no">> '+target[0].path) - act.append('echo "dlopen=\'\'">> '+target[0].path) - act.append('echo "dlpreopen=\'\'">> '+target[0].path) - act.append('echo "libdir=\''+env['KDEMODULE']+'\'" >> '+target[0].path) - return act - - LA_BUILDER = Builder( - generator = laGenerator, - suffix = '.la', - src_suffix = '.so' ) - -####### TODO : real libtool builder (but i hate libtool - ita) -# def libtoolGenerator(target, source, env, for_signature): -# act=[] -# act.append('libtool $LIBTOOL_FLAGS $CXX $CXXFLAGS $CPPFLAGS $_CPPDEFFLAGS $_CPPINCFLAGS -c -o '+target[0].path+' '+source[0].path) -# return act -# LIBTOOL_BUILDER = Builder( -# generator = libtoolGenerator, -# suffix = '.lo', -# src_suffix = '.cpp' ) - - ##### register the builders - env['BUILDERS']['Uic'] = UIC_BUILDER - env['BUILDERS']['Moc'] = MOC_BUILDER - env['BUILDERS']['Moccpp'] = MOCCPP_BUILDER - env['BUILDERS']['Dcop'] = DCOP_BUILDER - env['BUILDERS']['Kcfg'] = KCFG_BUILDER - env['BUILDERS']['LaFile'] = LA_BUILDER - #env['BUILDERS']['Libtool'] = LIBTOOL_BUILDER - env['BUILDERS']['Meinproc'] = MEINPROC_BUILDER - env['BUILDERS']['Transfiles'] = TRANSFILES_BUILDER - - static_obj, shared_obj = SCons.Tool.createObjBuilders(env) - static_obj.src_builder.append('Uic') - shared_obj.src_builder.append('Uic') - static_obj.src_builder.append('Kcfg') - shared_obj.src_builder.append('Kcfg') - static_obj.src_builder.append('LaFile') - shared_obj.src_builder.append('LaFile') - static_obj.src_builder.append('Meinproc') - shared_obj.src_builder.append('Meinproc') - static_obj.src_builder.append('Transfiles') - shared_obj.src_builder.append('Transfiles') - - ## find the files to moc, dcop, and link against kde and qt - env.AppendUnique(PROGEMITTER = [MetasourcesStatic], SHLIBEMITTER=[MetasourcesShared], LIBEMITTER =[MetasourcesStatic]) - - ########################################### - ## Handy helpers for building kde programs - ## You should not have to modify them .. - - import SCons.Util - skel_ext = [".skel", ".SKEL"] - def KDEfiles(target, source, env): - """ - Returns a list of files for scons (handles kde tricks like .skel) - It also makes custom checks against double includes like : ['file.ui', 'file.cpp'] - (file.cpp is already included because of file.ui) - """ - src=[] - ui_files=[] - kcfg_files=[] - skel_files=[] - other_files=[] - - # For each file, check wether it is a dcop file or not, and create the complete list of sources - for file in source: - bs = SCons.Util.splitext(file)[0] - ext = SCons.Util.splitext(file)[1] - if ext in skel_ext: - env.Dcop(bs+'.h') - src.append(bs+'_skel.cpp') - else: - src.append(file) - - if ext == '.ui': - ui_files.append(bs) - elif ext == '.kcfgc': - kcfg_files.append(bs) - elif ext == '.skel': - skel_files.append(bs) - else: - other_files.append(bs) - - # Now check against newbie errors - for file in ui_files: - for ofile in other_files: - if ofile == file: - print RED+"WARNING: You have included "+file+".ui and another file of the same prefix"+NORMAL - print "Files generated by uic (file.h, file.cpp must not be included" - for file in kcfg_files: - for ofile in other_files: - if ofile == file: - print RED+"WARNING: You have included "+file+".kcfg and another file of the same prefix"+NORMAL - print "Files generated by tdeconfig_compiler (settings.h, settings.cpp) must not be included" - #for file in skel_files: - # for ofile in other_files: - # if ofile == file: - # print RED+"WARNING: source contain "+file+".skel and another file of the same prefix"+NORMAL - # print "Files generated automatically from .skel file must not be included (file.h, file.idl)" - - return src - - # Special trick for installing rpms ... - env['DESTDIR']='' - if 'install' in env['TARGS'] and os.environ.has_key('DESTDIR'): - env['DESTDIR']=os.environ['DESTDIR']+'/' - print CYAN+'** Enabling DESTDIR for the project **' + NORMAL + env['DESTDIR'] - - def KDEinstall(path, file, lenv): - """ Quick wrapper """ - if 'install' in lenv['TARGS']: - lenv.Alias('install', lenv.Install( lenv['DESTDIR']+path, file ) ) - - def KDEinstallas(destfile, file, lenv): - """ Quick wrapper """ - if 'install' in lenv['TARGS']: - lenv.Alias('install', lenv.InstallAs( lenv['DESTDIR']+destfile, file ) ) - - def KDEprogram(target, source, lenv): - """ Makes a kde program - The program is installed except if one sets env['NOAUTOINSTALL'] """ - src = KDEfiles(target, source, lenv) - lenv.Program(target, src) - if not lenv.has_key('NOAUTOINSTALL'): - KDEinstall(env['KDEBIN'], target, lenv) - - def KDEshlib(target, source, lenv): - """ Makes a shared library for kde (.la file for klibloader) - The library is installed except if one sets env['NOAUTOINSTALL'] """ - src = KDEfiles(target, source, lenv) - lenv.SharedLibrary( target, src ) - lenv.LaFile( target, target+'.so' ) - if not lenv.has_key('NOAUTOINSTALL'): - KDEinstall(env['KDEMODULE'], target+'.so', lenv) - KDEinstall(env['KDEMODULE'], target+'.la', lenv) - - def KDEstaticlib(target, source, lenv): - """ Makes a static library for kde - in practice you should not use static libraries - 1. they take more memory than shared ones - 2. makefile.am needed it because of stupid limitations - (cannot handle sources in separate folders - takes extra processing) """ - src = KDEfiles(target, source, lenv) - lenv.StaticLibrary( target, src ) -# # do not install static libraries -# if not lenv.has_key('NOAUTOINSTALL'): -# KDEinstall(env['KDEMODULE'], target+'.a', lenv) - - def KDEaddlibs(libs, lenv): - """ Helper function """ - lenv.AppendUnique(LIBS = libs) - - def KDEaddpaths(paths, lenv): - """ Helper function """ - lenv.AppendUnique(CPPPATH = paths) - - def KDElang(transfiles, lenv): - """ Process translations (.po files) in a po/ dir """ - if not lenv['APPNAME']: - print "define lenv['APPNAME'] before using KDElang !!" - return - for lang in transfiles: - lenv.Transfiles( lang+'.po' ) - KDEinstallas( lenv['KDELOCALE']+'/'+lang+'/LC_MESSAGES/'+lenv['APPNAME']+'.mo', - lang+'.gmo', lenv ) - - def KDEdoc(lang, file, lenv): - """ Install the documentation """ - if not lenv['APPNAME']: - print "define lenv['APPNAME'] before using KDEdoc !!" - env.Exit(1) - KDEinstall( lenv['KDEDOC']+'/'+lang+'/'+lenv['APPNAME'], file, lenv ) - - # Export variables so that sconscripts in subdirectories can use them - env.Export("KDEprogram KDEshlib KDEaddpaths KDEaddlibs KDEinstall KDEinstallas KDElang KDEdoc") - diff --git a/scons/scons-mini.tar.bz2 b/scons/scons-mini.tar.bz2 deleted file mode 100644 index 0c1ce52..0000000 Binary files a/scons/scons-mini.tar.bz2 and /dev/null differ diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt new file mode 100644 index 0000000..a4228f6 --- /dev/null +++ b/src/CMakeLists.txt @@ -0,0 +1,2 @@ +add_subdirectory( app ) +add_subdirectory( part ) diff --git a/src/SConscript b/src/SConscript deleted file mode 100644 index 31c1933..0000000 --- a/src/SConscript +++ /dev/null @@ -1,21 +0,0 @@ - -############################ -## load the config - -## Use the environment and the tools set in the top-level -## SConstruct file (set with 'Export') - this is very important - -Import( '*' ) -myenv=env.Copy() - -myenv.SConscript( dirs = Split( "app part") ) - -KDEinstall( env['KDEDATA']+'/codeine', '../misc/codeineui.rc', myenv ) -KDEinstall( env['KDEDATA']+'/konqueror/servicemenus', '../misc/codeine_play_dvd.desktop', myenv ) -KDEinstall( env['KDESERV'], '../misc/codeine_part.desktop', myenv ) -KDEinstall( env['KDEXDG'], '../misc/codeine.desktop', myenv ) - -for size in ['16', '22', '32', '48', '64', '128']: - KDEinstallas( env['KDEICONS']+'/crystalsvg/'+size+'x'+size+'/apps/codeine.png', '../misc/cr'+size+'-app-codeine.png', myenv ) - -#print env['KDECXXFLAGS'] \ No newline at end of file diff --git a/src/app/CMakeLists.txt b/src/app/CMakeLists.txt new file mode 100644 index 0000000..60a21e4 --- /dev/null +++ b/src/app/CMakeLists.txt @@ -0,0 +1,54 @@ +include_directories( + ${CMAKE_BINARY_DIR} + ${CMAKE_CURRENT_BINARY_DIR} + ${CMAKE_CURRENT_SOURCE_DIR} + ${TDE_INCLUDE_DIR} + ${TQT_INCLUDE_DIRS} + ${XINE_INCLUDE_DIRS} + ${X11_INCLUDE_DIR} + ${X11_XTEST_INCLUDE_DIRS} + ${X11_KEYSIM_INCLUDE_DIRS} +) + +link_directories( + ${TQT_LIBRARY_DIRS} + ${TDE_LIB_DIR} +) + + +##### codeine (executable) + +tde_add_executable( ${PROJECT_NAME} AUTOMOC + + SOURCES + xineEngine.cpp + xineConfig.cpp + xineScope.c + theStream.cpp + videoWindow.cpp + videoSettings.cpp + captureFrame.cpp + actions.cpp + stateChange.cpp + slider.cpp + analyzer.cpp + playDialog.cpp + listView.cpp + adjustSizeButton.cpp + fullScreenAction.cpp + insertAspectRatioMenuItems.cpp + playlistFile.cpp + volumeAction.cpp + ../mxcl.library.cpp + main.cpp + mainWindow.cpp + LINK + tdecore-shared + tdeui-shared + tdeio-shared + ${XINE_LIBRARIES} + ${X11_LIBRARIES} + ${X11_XTEST_LIBRARIES} + + DESTINATION ${BIN_INSTALL_DIR} +) diff --git a/src/app/SConscript b/src/app/SConscript deleted file mode 100644 index bb402f3..0000000 --- a/src/app/SConscript +++ /dev/null @@ -1,59 +0,0 @@ - -############################ -## load the config - -## Use the environment and the tools set in the top-level -## SConstruct file (set with 'Export') - this is very important - -Import( '*' ) -myenv=env.Copy() - -############################# -## the programs to build - -# we put the stuff that could fail due to bad xine.h locations, etc. at the beginning -# so if the build fails the user knows quickly -app_sources = Split(""" - xineEngine.cpp - xineConfig.cpp - xineScope.c - theStream.cpp - videoWindow.cpp - videoSettings.cpp - captureFrame.cpp - - actions.cpp - stateChange.cpp - slider.cpp - analyzer.cpp - playDialog.cpp - listView.cpp - adjustSizeButton.cpp - fullScreenAction.cpp - insertAspectRatioMenuItems.cpp - playlistFile.cpp - volumeAction.cpp - - ../mxcl.library.cpp - - main.cpp - mainWindow.cpp""") - -KDEprogram( "codeine", app_sources, myenv ) - - -############################ -## Customization - -## Additional include paths for compiling the source files -## Always add '../' (top-level directory) because moc makes code that needs it -KDEaddpaths( ['./', '../', '../../'], myenv ) - -## Necessary libraries to link against -KDEaddlibs( ['tqt-mt', 'tdeio', 'tdecore', 'tdeui', 'xine', 'Xtst'], myenv ) - -## This shows how to add other link flags to the program -myenv['LINKFLAGS'].append('-L/usr/X11R6/lib') - -## If you are using QThread, add this line -# myenv.AppendUnique( CPPFLAGS = ['-DQT_THREAD_SUPPORT'] ) diff --git a/src/app/actions.cpp b/src/app/actions.cpp index 1612a57..7447320 100644 --- a/src/app/actions.cpp +++ b/src/app/actions.cpp @@ -2,9 +2,9 @@ // See COPYING file for licensing information #include "actions.h" -#include "debug.h" -#include "mxcl.library.h" -#include +#include "../debug.h" +#include "../mxcl.library.h" +#include #include "xineEngine.h" namespace Codeine diff --git a/src/app/adjustSizeButton.cpp b/src/app/adjustSizeButton.cpp index 3a5c1dd..e1bf5b1 100644 --- a/src/app/adjustSizeButton.cpp +++ b/src/app/adjustSizeButton.cpp @@ -4,11 +4,11 @@ #include "adjustSizeButton.h" #include "extern.h" #include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include #include "theStream.h" #include "xineEngine.h" //videoWindow() diff --git a/src/app/adjustSizeButton.h b/src/app/adjustSizeButton.h index 9becd95..0dbe432 100644 --- a/src/app/adjustSizeButton.h +++ b/src/app/adjustSizeButton.h @@ -4,7 +4,7 @@ #ifndef CODEINE_ADJUST_SIZE_BUTTON_H #define CODEINE_ADJUST_SIZE_BUTTON_H -#include +#include namespace Codeine { diff --git a/src/app/analyzer.cpp b/src/app/analyzer.cpp index 593bd16..9d3da06 100644 --- a/src/app/analyzer.cpp +++ b/src/app/analyzer.cpp @@ -2,10 +2,10 @@ // See COPYING file for licensing information #include "analyzer.h" -#include "codeine.h" -#include "debug.h" +#include "../codeine.h" +#include "../debug.h" #include //interpolate() -#include //event() +#include //event() #include "xineEngine.h" #include "fht.cpp" @@ -83,7 +83,7 @@ Analyzer::Base2D::resizeEvent( TQResizeEvent* ) // Author: Max Howell , (C) 2003 // Copyright: See COPYING file that comes with this distribution -#include +#include Analyzer::Block::Block( TQWidget *parent ) : Analyzer::Base2D( parent, 20 ) @@ -108,7 +108,7 @@ Analyzer::Block::transform( Analyzer::Scope &scope ) //pure virtual fht.scale( front, 1.0 / 40 ); } -#include + void Analyzer::Block::analyze( const Analyzer::Scope &s ) { @@ -129,3 +129,5 @@ Analyzer::Block::heightForWidth( int w ) const { return w / 2; } + +#include "analyzer.moc" diff --git a/src/app/analyzer.h b/src/app/analyzer.h index edd526e..9a5af00 100644 --- a/src/app/analyzer.h +++ b/src/app/analyzer.h @@ -8,9 +8,9 @@ #include #endif -#include //stack allocated and convenience -#include //stack allocated -#include //baseclass +#include //stack allocated and convenience +#include //stack allocated +#include //baseclass #include //included for convenience namespace Analyzer diff --git a/src/app/captureFrame.cpp b/src/app/captureFrame.cpp index 6043b76..3be0e9f 100644 --- a/src/app/captureFrame.cpp +++ b/src/app/captureFrame.cpp @@ -1,21 +1,21 @@ // (C) 2005 Max Howell (max.howell@methylblue.com) // See COPYING file for licensing information -#include "debug.h" +#include "../debug.h" #include #include #include #include #include #include "mainWindow.h" -#include "mxcl.library.h" -#include -#include -#include -#include -#include -#include -#include +#include "../mxcl.library.h" +#include +#include +#include +#include +#include +#include +#include #include "theStream.h" #include "xineEngine.h" #include diff --git a/src/app/config.h b/src/app/codeineConfig.h similarity index 100% rename from src/app/config.h rename to src/app/codeineConfig.h diff --git a/src/app/fullScreenAction.cpp b/src/app/fullScreenAction.cpp index 3787a33..006164d 100644 --- a/src/app/fullScreenAction.cpp +++ b/src/app/fullScreenAction.cpp @@ -5,7 +5,7 @@ #include "fullScreenAction.h" #include #include -#include +#include #include "xineEngine.h" //videoWindow() diff --git a/src/app/insertAspectRatioMenuItems.cpp b/src/app/insertAspectRatioMenuItems.cpp index 2e2824c..81ad0b3 100644 --- a/src/app/insertAspectRatioMenuItems.cpp +++ b/src/app/insertAspectRatioMenuItems.cpp @@ -1,7 +1,7 @@ // Copyright 2005 Max Howell (max.howell@methylblue.com) // See COPYING file for licensing information -#include +#include #include TQString i18n( const char *text ); diff --git a/src/app/main.cpp b/src/app/main.cpp index a024d5d..299df88 100644 --- a/src/app/main.cpp +++ b/src/app/main.cpp @@ -1,7 +1,7 @@ // (c) 2004 Max Howell (max.howell@methylblue.com) // See COPYING file for licensing information -#include "codeine.h" +#include "../codeine.h" #include #include #include @@ -13,8 +13,8 @@ static TDEAboutData aboutData( APP_NAME, I18N_NOOP(PRETTY_NAME), APP_VERSION, I18N_NOOP("A video player that has a usability focus"), TDEAboutData::License_GPL_V2, I18N_NOOP("Copyright 2006, Max Howell"), 0, - "http://www.methylblue.com/codeine/", - "codeine@methylblue.com" ); + "https://mirror.git.trinitydesktop.org/gitea/TDE/codeine", + 0 ); static const TDECmdLineOptions options[] = { { "+[URL]", I18N_NOOP( "Play 'URL'" ), 0 }, diff --git a/src/app/mainWindow.cpp b/src/app/mainWindow.cpp index ac054ac..b31806b 100644 --- a/src/app/mainWindow.cpp +++ b/src/app/mainWindow.cpp @@ -1,12 +1,15 @@ // (C) 2005 Max Howell (max.howell@methylblue.com) // See COPYING file for licensing information +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #include "actions.h" #include "analyzer.h" -#include "config.h" -#include "configure.h" +#include "codeineConfig.h" #include -#include "debug.h" +#include "../debug.h" #include "extern.h" //dialog creation function definitions #include "fullScreenAction.h" #include @@ -23,13 +26,13 @@ #include "mainWindow.h" #include "playDialog.h" //::play() #include "playlistFile.h" -#include "mxcl.library.h" -#include -#include -#include //::stateChanged() -#include //ctor -#include //because XMLGUI is poorly designed -#include +#include "../mxcl.library.h" +#include +#include +#include //::stateChanged() +#include //ctor +#include //because XMLGUI is poorly designed +#include #include "slider.h" #include "theStream.h" #include "volumeAction.h" @@ -712,3 +715,5 @@ action( const char *name ) } } //namespace Codeine + +#include "mainWindow.moc" diff --git a/src/app/mainWindow.h b/src/app/mainWindow.h index a6c7d48..0b44d0c 100644 --- a/src/app/mainWindow.h +++ b/src/app/mainWindow.h @@ -4,7 +4,7 @@ #ifndef CODEINEMAINWINDOW_H #define CODEINEMAINWINDOW_H -#include "codeine.h" +#include "../codeine.h" #include class KURL; diff --git a/src/app/playDialog.cpp b/src/app/playDialog.cpp index b6cacaa..ab650b9 100644 --- a/src/app/playDialog.cpp +++ b/src/app/playDialog.cpp @@ -1,7 +1,7 @@ // (C) 2005 Max Howell (max.howell@methylblue.com) // See COPYING file for licensing information -#include "config.h" +#include "codeineConfig.h" #include "listView.cpp" #include #include @@ -10,11 +10,11 @@ #include #include #include "playDialog.h" -#include "mxcl.library.h" -#include -#include -#include -#include +#include "../mxcl.library.h" +#include +#include +#include +#include TQString i18n( const char *text ); @@ -112,3 +112,5 @@ PlayDialog::done( TQListViewItem *item ) } } + +#include "playDialog.moc" diff --git a/src/app/playDialog.h b/src/app/playDialog.h index 2bbc37d..1c84e2d 100644 --- a/src/app/playDialog.h +++ b/src/app/playDialog.h @@ -5,7 +5,7 @@ #define CODEINEPLAYDIALOG_H #include -#include +#include class TDEListView; class TQBoxLayout; diff --git a/src/app/playlistFile.cpp b/src/app/playlistFile.cpp index 83b1f5d..d520fa2 100644 --- a/src/app/playlistFile.cpp +++ b/src/app/playlistFile.cpp @@ -5,13 +5,13 @@ //TODO error messages that vary depending on if the file is remote or not -#include "codeine.h" -#include "debug.h" +#include "../codeine.h" +#include "../debug.h" #include #include "playlistFile.h" -#include -#include -#include +#include +#include +#include "../mxcl.library.h" PlaylistFile::PlaylistFile( const KURL &url ) diff --git a/src/app/slider.cpp b/src/app/slider.cpp index 205a3b8..172c15d 100644 --- a/src/app/slider.cpp +++ b/src/app/slider.cpp @@ -1,14 +1,14 @@ // (c) 2004 Max Howell (max.howell@methylblue.com) // See COPYING file for licensing information -#include "debug.h" +#include "../debug.h" #include "slider.h" -#include -#include -#include -#include +#include +#include +#include +#include -#include +#include #include "xineEngine.h" using Codeine::Slider; @@ -143,3 +143,5 @@ Slider::setValue( int newValue ) else m_prevValue = newValue; } + +#include "slider.moc" diff --git a/src/app/slider.h b/src/app/slider.h index b7cbae0..e739d72 100644 --- a/src/app/slider.h +++ b/src/app/slider.h @@ -4,7 +4,7 @@ #ifndef CODEINESLIDER_H #define CODEINESLIDER_H -#include +#include namespace Codeine { diff --git a/src/app/stateChange.cpp b/src/app/stateChange.cpp index d547ff1..15846f5 100644 --- a/src/app/stateChange.cpp +++ b/src/app/stateChange.cpp @@ -3,16 +3,16 @@ #include "actions.h" #include "adjustSizeButton.h" -#include "debug.h" +#include "../debug.h" #include "mainWindow.h" #include #include -#include "mxcl.library.h" -#include -#include -#include -#include -#include +#include "../mxcl.library.h" +#include +#include +#include +#include +#include #include "theStream.h" #include "videoSettings.h" //FIXME unfortunate #include "xineEngine.h" diff --git a/src/app/theStream.cpp b/src/app/theStream.cpp index 246e84d..fbb35ac 100644 --- a/src/app/theStream.cpp +++ b/src/app/theStream.cpp @@ -2,7 +2,7 @@ // See COPYING file for licensing information #include -#include "mxcl.library.h" +#include "../mxcl.library.h" #include "theStream.h" #include #include "xineEngine.h" diff --git a/src/app/theStream.h b/src/app/theStream.h index c71b5e8..7679a10 100644 --- a/src/app/theStream.h +++ b/src/app/theStream.h @@ -4,10 +4,10 @@ #ifndef CODEINE_THESTREAM_H #define CODEINE_THESTREAM_H -#include "config.h" // needed for inline functions +#include "codeineConfig.h" // needed for inline functions #include // larger :( but no macros at least -#include // small header -#include // small header +#include // small header +#include // small header /// for purely static classes #define CODEINE_NO_EXPORT( T ) \ diff --git a/src/app/videoSettings.cpp b/src/app/videoSettings.cpp index 19323d8..cf759c2 100644 --- a/src/app/videoSettings.cpp +++ b/src/app/videoSettings.cpp @@ -2,10 +2,10 @@ // See COPYING file for licensing information #include -#include "mxcl.library.h" -#include -#include -#include +#include "../mxcl.library.h" +#include +#include +#include #include "videoSettings.h" #include #include "xineEngine.h" diff --git a/src/app/videoSettings.h b/src/app/videoSettings.h index c781169..0568cde 100644 --- a/src/app/videoSettings.h +++ b/src/app/videoSettings.h @@ -4,7 +4,7 @@ #ifndef CODEINE_VIDEO_SETTINGS_H #define CODEINE_VIDEO_SETTINGS_H -#include "codeine.h" +#include "../codeine.h" #include diff --git a/src/app/videoWindow.cpp b/src/app/videoWindow.cpp index 0e7d19f..2ecf65a 100644 --- a/src/app/videoWindow.cpp +++ b/src/app/videoWindow.cpp @@ -6,15 +6,15 @@ #include "actions.h" #include //std::log10 #include -#include "debug.h" +#include "../debug.h" #include //::makeStandardCaption #include #include #include #include -#include "mxcl.library.h" -#include -#include +#include "../mxcl.library.h" +#include +#include #include "slider.h" #include "theStream.h" #include diff --git a/src/app/volumeAction.cpp b/src/app/volumeAction.cpp index f9a1951..0c0b81c 100644 --- a/src/app/volumeAction.cpp +++ b/src/app/volumeAction.cpp @@ -3,14 +3,14 @@ #include #include -#include -#include -#include -#include +#include +#include +#include +#include -#include "debug.h" +#include "../debug.h" #include "volumeAction.h" -#include "volumeAction.moc" + #include "xineEngine.h" @@ -112,3 +112,5 @@ VolumeAction::eventFilter( TQObject *o, TQEvent *e ) return false; } } + +#include "volumeAction.moc" diff --git a/src/app/xineConfig.cpp b/src/app/xineConfig.cpp index 07d402f..7be1c76 100644 --- a/src/app/xineConfig.cpp +++ b/src/app/xineConfig.cpp @@ -1,21 +1,21 @@ // (C) 2005 Max Howell (max.howell@methylblue.com) // See COPYING file for licensing information -#include "debug.h" +#include "../debug.h" #include // XineConfigDialog::ctor -> to get the iconloader #include #include // XineConfigDialog::ctor #include #include #include -#include -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include +#include #include #include "xineConfig.h" @@ -185,7 +185,7 @@ XineConfigDialog::isUnsavedSettings() const return false; } -#include +#include void XineConfigDialog::saveSettings() { diff --git a/src/app/xineConfig.h b/src/app/xineConfig.h index 7eb9ab8..5dc05f2 100644 --- a/src/app/xineConfig.h +++ b/src/app/xineConfig.h @@ -5,7 +5,7 @@ #define XINECONFIG_H #include -#include +#include class KComboBox; class KLineEdit; diff --git a/src/app/xineEngine.cpp b/src/app/xineEngine.cpp index 9a7b709..295d155 100644 --- a/src/app/xineEngine.cpp +++ b/src/app/xineEngine.cpp @@ -5,14 +5,14 @@ #include "actions.h" //::seek() FIXME unfortunate #include //the fade out -#include "config.h" -#include "debug.h" +#include "codeineConfig.h" +#include "../debug.h" #include #include -#include "mxcl.library.h" -#include //::sendEvent() -#include //record() -#include //::exists() +#include "../mxcl.library.h" +#include //::sendEvent() +#include //record() +#include //::exists() #include "slider.h" #include "theStream.h" #include @@ -21,7 +21,6 @@ #include #include - #define XINE_SAFE_MODE 1 extern "C" { void _debug( const char *string ) { debug() << string; } } //FIXME @@ -876,3 +875,5 @@ VideoWindow::fileFilter() const } } //namespace Codeine + +#include "xineEngine.moc" diff --git a/src/app/xineEngine.h b/src/app/xineEngine.h index f1b49c3..57017ce 100644 --- a/src/app/xineEngine.h +++ b/src/app/xineEngine.h @@ -4,9 +4,9 @@ #ifndef CODEINE_VIDEOWINDOW_H #define CODEINE_VIDEOWINDOW_H -#include "codeine.h" -#include -#include +#include "../codeine.h" +#include +#include #include #include #include diff --git a/src/debug.h b/src/debug.h index 436cceb..9214083 100644 --- a/src/debug.h +++ b/src/debug.h @@ -6,8 +6,8 @@ #define CODEINE_DEBUG_H #include -#include -#include +#include +#include #include class TQApplication; ///@see Debug::Indent diff --git a/src/mxcl.library.cpp b/src/mxcl.library.cpp index 45c8ce4..786524a 100644 --- a/src/mxcl.library.cpp +++ b/src/mxcl.library.cpp @@ -2,7 +2,7 @@ // See COPYING file for licensing information #include "mxcl.library.h" -#include +#include #include namespace mxcl diff --git a/src/mxcl.library.h b/src/mxcl.library.h index 57eca2c..78dc9c6 100644 --- a/src/mxcl.library.h +++ b/src/mxcl.library.h @@ -17,7 +17,7 @@ namespace mxcl /// almost always negates the need to #include in implementations -#include +#include TQString i18n( const char *text ); diff --git a/src/part/CMakeLists.txt b/src/part/CMakeLists.txt new file mode 100644 index 0000000..d544001 --- /dev/null +++ b/src/part/CMakeLists.txt @@ -0,0 +1,36 @@ +include_directories( + ${CMAKE_CURRENT_BINARY_DIR} + ${CMAKE_CURRENT_SOURCE_DIR} + ${CMAKE_BINARY_DIR} + ${TDE_INCLUDE_DIR} + ${TQT_INCLUDE_DIRS} + ${XINE_INCLUDE_DIRS} + ${X11_INCLUDE_DIR} +) + +link_directories( + ${TQT_LIBRARY_DIRS} + ${TDE_LIB_DIR} +) + + + +##### codeine (shared) + +tde_add_library( ${PROJECT_NAME} SHARED AUTOMOC + + SOURCES + part.cpp + xineEngine.cpp + videoWindow.cpp + toolbar.cpp + ../mxcl.library.cpp + LINK + tdecore-shared + tdeui-shared + tdeparts-shared + ${XINE_LIBRARIES} + ${X11_LIBRARIES} + + DESTINATION ${LIB_INSTALL_DIR} +) diff --git a/src/part/SConscript b/src/part/SConscript deleted file mode 100644 index ff2d085..0000000 --- a/src/part/SConscript +++ /dev/null @@ -1,12 +0,0 @@ -# Copyright 2005 Max Howell - -Import( "*" ) -myenv=env.Copy() - -## Additional paths for compiling the source files -## Always add '../' (top-level directory) because moc makes code that needs it -KDEaddpaths( ['./', '../', '../../'], myenv ) - -KDEaddlibs( ['tqt-mt', 'tdecore', 'tdeui', 'tdeparts', 'xine'], myenv ) - -KDEshlib( "libcodeine", Split( "part.cpp xineEngine.cpp videoWindow.cpp toolbar.cpp ../mxcl.library.cpp" ), myenv ) diff --git a/src/part/part.cpp b/src/part/part.cpp index f251731..6490e67 100644 --- a/src/part/part.cpp +++ b/src/part/part.cpp @@ -1,17 +1,17 @@ // Author: Max Howell , (C) 2005 // Copyright: See COPYING file that comes with this distribution -#include "codeine.h" -#include "debug.h" +#include "../codeine.h" +#include "../debug.h" #include #include #include "part.h" -#include +#include #include "toolbar.h" #include "videoWindow.h" #include -#include +#include namespace Codeine { diff --git a/src/part/toolbar.cpp b/src/part/toolbar.cpp index 87caa62..cdf85c3 100644 --- a/src/part/toolbar.cpp +++ b/src/part/toolbar.cpp @@ -2,8 +2,8 @@ // See COPYING file for licensing information #include -#include -#include +#include +#include #include "toolbar.h" @@ -41,4 +41,4 @@ MouseOverToolBar::eventFilter( TQObject *o, TQEvent *e ) } return false; -} \ No newline at end of file +} diff --git a/src/part/videoWindow.cpp b/src/part/videoWindow.cpp index 53cd0dd..79d09ae 100644 --- a/src/part/videoWindow.cpp +++ b/src/part/videoWindow.cpp @@ -4,10 +4,10 @@ #define CODEINE_DEBUG_PREFIX "videoWindow" #include -#include "debug.h" -#include //sendEvent() -#include -#include +#include "../debug.h" +#include //sendEvent() +#include +#include #include "videoWindow.h" #include //TODO this breaks compile for lots of people due to excessive macro content #include //x11_visual_t diff --git a/src/part/videoWindow.h b/src/part/videoWindow.h index 0d0e4d5..76d2b6c 100644 --- a/src/part/videoWindow.h +++ b/src/part/videoWindow.h @@ -5,8 +5,8 @@ #define CODEINE_VIDEO_WINDOW_H #include "../codeine.h" -#include -#include +#include +#include #include typedef struct xine_s xine_t; diff --git a/src/part/xineEngine.cpp b/src/part/xineEngine.cpp index 8424f37..5069e40 100644 --- a/src/part/xineEngine.cpp +++ b/src/part/xineEngine.cpp @@ -3,13 +3,13 @@ #define CODEINE_DEBUG_PREFIX "engine" -#include "debug.h" +#include "../debug.h" #include #include -#include "mxcl.library.h" -#include //::sendEvent() -#include //::play() -#include //TQDir::homeDir() +#include "../mxcl.library.h" +#include //::sendEvent() +#include //::play() +#include //TQDir::homeDir() #include #include "videoWindow.h" @@ -343,3 +343,5 @@ VideoWindow::xineEventListener( void *p, const xine_event_t* xineEvent ) } } //namespace Codeine + +#include "videoWindow.moc" diff --git a/translations/CMakeLists.txt b/translations/CMakeLists.txt new file mode 100644 index 0000000..42b186a --- /dev/null +++ b/translations/CMakeLists.txt @@ -0,0 +1 @@ +tde_auto_add_subdirectories() diff --git a/translations/messages/CMakeLists.txt b/translations/messages/CMakeLists.txt new file mode 100644 index 0000000..75c89f8 --- /dev/null +++ b/translations/messages/CMakeLists.txt @@ -0,0 +1,14 @@ +file( GLOB_RECURSE po_files RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.po ) +string( REGEX REPLACE "[ \r\n\t]+" ";" _linguas "$ENV{LINGUAS}" ) + +foreach( _po ${po_files} ) + get_filename_component( _lang ${_po} NAME_WE ) + if( "${_linguas}" MATCHES "^;*$" OR ";${_linguas};" MATCHES ";${_lang};" ) + if( "${_po}" MATCHES "^([^/]*)/.*" ) + string( REGEX REPLACE "^([^/]*)/.*" "\\1" _component "${_po}" ) + else( ) + set( _component "${PROJECT_NAME}" ) + endif( ) + tde_create_translation( FILES ${_po} LANG ${_lang} OUTPUT_NAME ${_component} ) + endif( ) +endforeach( ) diff --git a/po/codeine.pot b/translations/messages/codeine.pot similarity index 100% rename from po/codeine.pot rename to translations/messages/codeine.pot